Mesa 7i90

Odpovědět
Mex
Příspěvky: 10287
Registrován: 6. 2. 2014, 10:29

18. 7. 2018, 4:41

OompaLoompa píše: 18. 7. 2018, 4:21 Mohol by si prosím ešte upresniť, či zámenou kábla za kratší sa teda vytratili všetky problémy (včetne dojazdov a pre-kmytov), či bol tým myslený skôr len ten bordel (jehly) na DIR?
Všechny.
Teď se Mesa chová jako hodná holka s klášterní výchovou. :-)

Ty ne-havarijní překmity a dojíždění os zmizely už přechodem z rychlostního na polohový režim stepgenů. Ale s dlouhým kabelem tam byly ty podivné havarijní podivnosti na konci pohybu. To vše je ale teď pryč.
Uživatelský avatar
OompaLoompa
Příspěvky: 459
Registrován: 28. 6. 2017, 1:45
Bydliště: Západný Slovakistan

18. 7. 2018, 6:43

Mex píše: 18. 7. 2018, 4:41Ty ne-havarijní překmity a dojíždění os zmizely už přechodem z rychlostního na polohový režim stepgenů.
No veď práve..

Mňa by ale skôr zaujímalo, či po tej zámene káblu (a zachovaní rovnakých podmienok/parametrov) tie neduhy zmizely aj v režime defaultnom - teda rýchlostnom.

Lebo na základe údajov od fupe-ho to vyzerá, že tá PID-ka za normálnych okolností vlastne funguje správne. Či sa jedná o ideálne riešenie a neexistuje dáka lepšia alternatíva, tak to je už samozrejme na inú diskusiu..

No jo :roll:
Mex
Příspěvky: 10287
Registrován: 6. 2. 2014, 10:29

18. 7. 2018, 7:17

Ne, jsou to 2 nezávislé věci.
Jehly na signálu DIR a občas podivné chování na konci jízdy byly důsledkem komunikačních chyba na nezabezpečené sběrnici LPT.

Zpožděné dojíždění os, které ale není principálně špatně, je druhá nezávislá věc. Je důsledkem rychlostního režimu a použití PID regulátoru.
Viz obrázek z aktuální konfigurace s krátkých kabelem (tj. nechybující) v rychlostním režimu.
Horní je DIR, spodní je STEP.
Dojizdeni_os.jpg
Dojizdeni_os.jpg (6.15 KiB) Zobrazeno 3800 x
Mex
Příspěvky: 10287
Registrován: 6. 2. 2014, 10:29

19. 7. 2018, 1:08

Ty jehly na 100% signálu PWM jsou opravdu nějaké hazardy. Koukl jsem na ně osciloskopem, jsou to naprosto nelegitimní pulsy, které tam evidentně nepatří.
Velmi by mě potěšilo, kdyby někdo byl ochotný se na stejný výstup podívat u sebe na jiné kartě.
Předem děkuji.
fupe
Příspěvky: 646
Registrován: 27. 5. 2008, 9:10
Bydliště: Praha

19. 7. 2018, 7:34

OompaLoompa píše: 18. 7. 2018, 6:43
Mex píše: 18. 7. 2018, 4:41Ty ne-havarijní překmity a dojíždění os zmizely už přechodem z rychlostního na polohový režim stepgenů.
No veď práve..

Mňa by ale skôr zaujímalo, či po tej zámene káblu (a zachovaní rovnakých podmienok/parametrov) tie neduhy zmizely aj v režime defaultnom - teda rýchlostnom.

Lebo na základe údajov od fupe-ho to vyzerá, že tá PID-ka za normálnych okolností vlastne funguje správne. Či sa jedná o ideálne riešenie a neexistuje dáka lepšia alternatíva, tak to je už samozrejme na inú diskusiu..

No jo :roll:
Ano PID za normálních okolností funguje tak ja PID fungovat má. Ale v krokovy motor v rychlostnim rezimu nelze povazovat za normalni okolnosti. PID potřebuje dve hodnoty, jednu požadovanou a druhou skutečnou a na základě rozdílů těchto hodnot pak může regulovat pomoci proporcionalni (rozdílové), integrační (nasčítané chyby), a derivační (rychlostni) složky. Ale když krokovy motor žádnou skutečnou polohu nemá, tak to cele ztrácí smysl a je lepší pro KM použít polohovy režim. Nebo mě o tom zatím nikdo nepresvědčil.
fupe
Příspěvky: 646
Registrován: 27. 5. 2008, 9:10
Bydliště: Praha

19. 7. 2018, 7:36

Mex píše: 19. 7. 2018, 1:08 Ty jehly na 100% signálu PWM jsou opravdu nějaké hazardy. Koukl jsem na ně osciloskopem, jsou to naprosto nelegitimní pulsy, které tam evidentně nepatří.
Velmi by mě potěšilo, kdyby někdo byl ochotný se na stejný výstup podívat u sebe na jiné kartě.
Předem děkuji.
Když se k tomu dostanu, tak to odpoledne vyzkouším. mam tu 7i76e, ale ta nemá pwm a pak 5i22, tam by to nemel byt problém aniz bych musel upravovat firmware
M
fupe
Příspěvky: 646
Registrován: 27. 5. 2008, 9:10
Bydliště: Praha

19. 7. 2018, 12:52

Tak u me to je stejny. jednou za čas si to tam prdne špičku do nuly při 100% pwm.
pwm-100proc.jpg
M
Uživatelský avatar
OompaLoompa
Příspěvky: 459
Registrován: 28. 6. 2017, 1:45
Bydliště: Západný Slovakistan

19. 7. 2018, 12:55

fupe píše: 19. 7. 2018, 7:34Ano PID za normálních okolností funguje tak ja PID fungovat má. Ale v krokovy motor v rychlostnim rezimu nelze povazovat za normalni okolnosti. PID potřebuje dve hodnoty, jednu požadovanou a druhou skutečnou a na základě rozdílů těchto hodnot pak může regulovat pomoci proporcionalni (rozdílové), integrační (nasčítané chyby), a derivační (rychlostni) složky.
Uff.. čiže podstate využitia tej PID-ky v tomto konkrétnom prípade si evidentne ani ty nepochopil. Nevadí :)
Si vážne myslíte, že vývojári od Mesy sú až tak natvrdlí, že by použili dačo, čo vlastne podla vašich slov ani nemá ako správne fungovať? :roll:

Samozrejme, že daná PID-ka má na vstupe k dispozícii všetky potrebné hodnoty - ako aj požadovanú, tak aj "skutočnú". No v tomto prípade nie priamo polohu (s tou sa operuje len na vitruálnej úrovni), ale časy :!: resp. diferenciál cyklov PLL-ky, na základe čoho sa dá celkom spolahlivo odvodiť aj diferenciál v počte vygenerovaných pulzov STEPGEN-om, a teda aj diferenciál požadovanej a reálnej pozície krokového motora (za predpokladu, že nestráca kroky, samozrejme - ale od toho tam táto PID-ka nie je, že jo).

PID-ka je len regulačný algoritmus, ktorý vo svojej podstate nie je nijak viazaný na žiaden konkrétny fyzikálny parameter. Môže to byť poloha, napätie, teplota, úroveň hladiny kvapaliny, atď. Alebo ako konkrétne v tomto prípade - rozdiel v časovaní, ktorý sa v konečnom dôsledku za asistencie danej PID-ky premietne do frekvencie generovaných pulzov pre nasledujúci sevro-cyklus.
fupe píše: 19. 7. 2018, 7:34Ale když krokovy motor žádnou skutečnou polohu nemá, tak to cele ztrácí smysl a je lepší pro KM použít polohovy režim. Nebo mě o tom zatím nikdo nepresvědčil.
Tak tú prvú časť hádam ani náhodou nemyslíš vážne. Predpokladám, že to je len veľmi nešťastne naformulované :) Lebo práve krokový motor má tie "polohy" zadefinované celkom presne (a.k.a. kroky).

No keďže v prípade klasického krokového motora sa bavíme len o "jednosmernej" záležitosti (chýba spätná väzba o skutočnej polohe), je v podstate jedno, či ho budeš riadiť v polohovom alebo rýchlostnom režime. STEPGEN-u je bližší režim rýchlostný - čo môže byť aj jeden z dôvodov, prečo sa to vývojári v tomto prípade rozhodli aj tak riešiť. Druhým dôvodom môže byť min. potrebné množstvo posielaných dát po zbernici v jednom či druhom režime - čo by v spojitosti s rýchlosťou prenosu cez LPT mohlo byť limitujúcim faktorom pri prevádzke viacerých os naraz.

V skutočnosti ale vôbec netuším, čo bolo hlavným dôvodom volby tohto riešenia - to je skôr otázkou priamo pre vývojárov. Ja by som to riešil všetko na úrovni riadiacej jednotky, a neťahal to zbytočne s5 relatívne pomalým servo-cyklom po zbernici. Reakčná doba korekčného mechanizmu by bola v takom prípade podstatne kratšia, čo by nepochybne pomohlo redukovať (či úplne odstrániť) Mex-om objavené neduhy pri vyšších akceleráciách..

:)
fupe
Příspěvky: 646
Registrován: 27. 5. 2008, 9:10
Bydliště: Praha

19. 7. 2018, 1:45

"Ale když krokovy motor žádnou skutečnou polohu nemá"
jsem myslel tak, že nemá reálnou informaci o skutečné poloze z zpětné vazby samozřejme.
Dopočítat virtualní polohu a z ni derivaci (rychlost) neni žádný problém. Ale to si prece umi dopicitat i ten planovac, kterej s tim počita už při výpoctu pozadovane další polohy, v nastaveni je prece informace o rychlost a akceleraci, k cemu je dobry tuhle informaci znova nekde pocitat a vracet do systemu.
Proste mi nedává smysl, když systém pomocí planneru a transformací spočítá požadovanou polohu daného jointu, kterou předá stepgenu a ten se podle toho zařídí a dopočítá potřebné kroky, do celého řetězce ještě přidávat PIDku, kde je potřeba jí správně naladit atd. Ale rád si to nechám vysvětlit. Asi to vyvojáři z nejakého důvodu udělali, ale nevím proč, nikde jsem to nenašel.
Podle čeho chceš tu pidku naladit?
Měl sem zato, že PIDka je dobrá právě k tomu, aby dotahovala nejaky rozdil, který vznikl nekde cestou a je jedno, jestli je to teplota a její nejaka setrvačnost, nebo posouvana hmota, dopravní zpoždení atd atd.

Krokový motor, má přesně dené mezipolohy, kde se může nacházet, tak mu přece stačí říct kde ma v daném čase být a on tam bude a nebo nebude ale PID mi s tim moc nepomuze. Krokový motor se neda pretizit jako servo, aby dotahl vznnikly rozdil
Jiná situace je u serva, které tahá třeba nejakou hmotu, jednou malou jednou velkou například podle vahy obrobku, používá pravítka a serva.
Tam mi PID dava smysl, dokáže si líp poradit s danou situací.
Krokový motor tam bud dojede, nebo se nekde cestou utrhne a je v pytli.
"Druhým dôvodom môže byť min. potrebné množstvo posielaných dát po zbernici v jednom či druhom režime,čo by v spojitosti s rýchlosťou prenosu cez LPT mohlo byť limitujúcim faktorom "
Tuhle vetu nejak nechapu.
Jakej je rozdil v množství posilanych dat v jednom ci druhem rezimu? je prece jedno jestli mu reknu rychlost, nebo polohu.
zminku o LPT taky uplne nechapu. Když nepoužiju mesu, ale ciste LPT i pro generovanii pulzu, jsem schopnej dostat se nekam k desitkam kiloherz v zavislosti na pc. když mesu, o které se tu bavime, tak potrebuju "jenom " 1 krat za 1ms poslat pozadovane polohy popřípadě rychlosti a o zbytek se stara stepgen na mese. Proto se mesa pouziva, protze prevezme hromadu práce za systém, který ma pak dost casu delat si svoje věci, místo toho aby jak vsteklej pocital jednotlive kroky pro všechny osy.

Dál mluvíš o rozdilu časovani. Chceš tím říct, že hodiny reálného času, které používá jadro LCNC jsou natolik rozběhnutý, že je potřeba PID aby to korigoval? rozumím tomu dobře?

Martin
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22924
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

19. 7. 2018, 1:55

jak je vlastne napsanej ten polohovej mod stepgenu v mese?
Vsechna prava na chyby vyhrazena (E)
Mex
Příspěvky: 10287
Registrován: 6. 2. 2014, 10:29

19. 7. 2018, 2:23

fupe píše: 19. 7. 2018, 12:52 Tak u me to je stejny. jednou za čas si to tam prdne špičku do nuly při 100% pwm.
M
Velice děkuji. :-)
Takže to v této chvíli řešit nebudu. Kdyby někdy v daleké budoucnosti nebylo do čeho píchnout (což nepředpokládám), tak by to možná za nakouknutí do VHDL stálo. Ale zřejmě k tomu nedojde, je to jen piha na kráse, na funkci to prakticky žádný vliv nemá.
Jinak když jsem se na to díval osciloskopem, tak jsou to takové podivné hazardy, kdy ty pulzy občas nejdou až dolů do nuly, ale běhají třeba jenom mezi 3.3V a 1.5V.

Ještě jedou díky.
Mex
Příspěvky: 10287
Registrován: 6. 2. 2014, 10:29

19. 7. 2018, 3:01

K tomu polohovému versus rychlostnímu režimu úkolování stepgenů:
Myslím, že jsme se stali tak trochu obětí zavedeného názvosloví. Že to až tak úplně polohový nebo rychlostní režim v pravém slova smyslu není.
Že tady jde jen o to, jakým algoritmem driver Mesy počítá novou náplň pro čítače. Jestli nějakým jednoduchým algoritmem a asi nějakým průměrováním pro vyhlazení skokových změn, nebo PID. A ani ta PID zřejmě není skutečně běžná PID, ale asi si to přiohnuli a použili z ní jenom něco. Proto se to taky moc jako PID ladit nedá.

Zatím to z praktických pokusů vypadá, že nevýhody použití PID převažují na výhodami, resp. žádnou výhodu toho "rychlostního režimu" jsem dosud nenašel.
Samozřejmě by nás snadno mohlo přesvědčit to, kdyby se povedlo zrealizovat (nebo najít hotové) nějaké to "kurvítko latence", kterému by se zadaly parametry jak má zhoršit chování systému. Pak by se možná ukázalo, že v nějakých limitních případech třeba může mít to nasazení modifikované PID nějaký smysl.

Jinak znovu připomínám, že pro SW stepgeny se žádná PID nepoužívá. A ty SW stepgeny generují až neočekávaně kvalitní výstupy. Ale je fakt, že se používají jen na stojích s rozumnou latencí. Což by mohlo nahrávat tomu, že nějakou tu PID tam vývojáři zavedli právě kvůli extrémně špatným strojům s vysokou latencí, a protože to všechno testujeme na celkem slušných strojích, tak se nám ty výhody nemají šanci projevit.

PS. Používám označení "driver Mesy", čímž myslím modul hostmot2.ko. Možná to není úplně šťastný termín a puristům se třeba ježí zbytek vlasů. Ale je to krátké a snad z toho je jasné, o co jde. I když může dojít k záměně s "driverem karty Mesa", který už je specifický pro karty s různým typem napojení na PC (v mám případě je to hm2_7i90.ko).
Uživatelský avatar
OompaLoompa
Příspěvky: 459
Registrován: 28. 6. 2017, 1:45
Bydliště: Západný Slovakistan

19. 7. 2018, 3:22

Fupe, aj by som ti to tu všetko vysvetlil, ale to by som v podstate len 1:1 opakoval skoro všetko, čo som už v tomto vlákne stihol popísať..
Skús si prosím tie príspevky teda prečítať ešte raz, a možno sa na 2-3. pokus zadarí z nich aj dačo užitočné "extrahovať" :) (vážne nič v zlom)

Myslím, že som to tam popísal dostatočne zrozumiteľne nato, aby človek ako-tak orientujúci sa v problematike nemal problém to po pár prečítaniach aj pochopiť..

Z toho, čo si popísal, je evidentné, že samotnému účelu/podstate tej PID-ky v tomto konkrétnom prípade (aj napriek mojim snahám) asi moc nerozumieš :(
Jakej je rozdil v množství posilanych dat v jednom ci druhem rezimu?
Napr. taký, že pre riadenie v polohovom režime sa cez zbernicu posiela 8-byte/axis, a v rýchlostnom stačí napr. len 4-byte/axis (hodnoty sú len názorné - ako to je v reále bude záležať len na implementácii od výrobcu). V prípade posielania dát pre viacero osí v jednom servo-cykle sa pri slimáčom tempe LPT môžeš veľmi "rýchlo" (pun intended) dostať k limitom priepustnosti.
zminku o LPT taky uplne nechapu. Když nepoužiju mesu, ale ciste LPT i pro generovanii pulzu, jsem schopnej dostat se nekam k desitkam kiloherz v zavislosti na pc.
Kiež by to bola len ta zmienka o LPT :)
Pomôžem ti teda aspoň trocha s tou matematikou..

Čiže, podľa tvojich vlastných slov "jsem schopnej dostat se nekam k desitkam kiloherz" - tzn. dajme tomu, 20kHz * 8 bits (teda za predpokladu, že využívaš všetkých 8 liniek paralelne) = 160kbit/s = 160bits/ms = 20 bytes / cyklus :!: zdá sa ti to byť dostatočne veľa? :D

A samozrejme nemôžeš celý servo-cyklus čakať len na príjem dát, musíš tam mať časové okno aj na spracovanie údajov, nastavenie stepgenov, prípravu a odoslanie paketu spätnej väzby (vrátane hodnoty časovača, pre použitie v tej PID-ke), a v prípade EC aj dostatočnú rezervu na opakovanie prenosu..

Holt nie je to jak med lízať :wink:
Viem o čom hovorím, nedávno som riešil 8-axis pri 5kHz servo cykle po šifrovanej 50Mbit opto-linke (PCI/33MHz interface). Nakoniec sa tam naštaštie podarilo všetko vtesnať, ale rezervy tam na rozdávanie teda veľa neostalo.. :D
Dál mluvíš o rozdilu časovani. Chceš tím říct, že hodiny reálného času, které používá jadro LCNC jsou natolik rozběhnutý, že je potřeba PID aby to korigoval?
Nie, s jitterom RTC to vážne nemá nič spoločné. Vyzerá ale, že Mex tomu wo-co-go asi chápe docela dobre, tak by bolo možno lepšie, ak by sa ti to pokúsil vysvetliť radšej on - já som už v tomto ohlade asi vážne vyčerpal takmer všetky svoje vysvetlovacie kapacity :roll:
rozumím tomu dobře?
:D
Uživatelský avatar
OompaLoompa
Příspěvky: 459
Registrován: 28. 6. 2017, 1:45
Bydliště: Západný Slovakistan

19. 7. 2018, 3:35

Podle čeho chceš tu pidku naladit?
"Naladili" a odtestovali to vývojári z Mesy. Ty ako uživateľ by si sa toho nemal mať vôbec potrebu chytať. Ak by si účelu tej PID-ky rozumel, bolo by ti to viac-menej jasné..

Samozrejme to ladili len pre dáky reálne použiteľný rozsah parametrov - to ale ešte netušili, že za horami za dolami, v jednej bájnej krajine, sa raz zjaví istý Mex, ktorý im v tej ich PID-ke bude chcieť s tými 100g akceleráciami "nadělat kapánek průvan" :lol:

Tak, a asi tolko ku všetkému mojmu volnému času pre dnešný deň.. :(

:)
Mex
Příspěvky: 10287
Registrován: 6. 2. 2014, 10:29

19. 7. 2018, 4:16

OompaLoompa píše: 19. 7. 2018, 3:35 to ale ešte netušili, že za horami za dolami, v jednej bájnej krajine, sa raz zjaví istý Mex, ktorý im v tej ich PID-ke bude chcieť s tými 100g akceleráciami
Takhle vypadá dojezd osy v "rychlostním" režimu při nastavení extrémně nízkých parametrů frézky. Vzal jsem rychlosti a akcelerace ze své čínské hračky s lenivými krokáči.
Když jsem ty srandovní parametry ukázal Mese, tak se mohla smíchy potrhat, prý jestli jsem se nezbláznil, že je to pod její úroveň (a má pravdu).
Dojezd_osy.jpg
Dojezd_osy.jpg (6.9 KiB) Zobrazeno 3687 x
Odpovědět

Zpět na „Ostatní elektronika“