Kruh - nekruh

Tomáš Svoboda
Příspěvky: 225
Registrován: 22. 8. 2007, 12:51
Bydliště: Zlín

28. 4. 2016, 5:53

V originálním řízení Digigrafu je pouze proporcionální polohová smyčka .Ale HSM motory jsou trochu zvláštní ,mají dutý rotor a v Digigrafu byla zpětná vazba jenom podle napětí na komutátoru - výstupu zesilovače .
Navíc byl v regulátoru člen který postrkoval motor (přidával třeba půl voltu ) a tím kompenzoval necitlivost motoru. Ve výsledku to dokázalo jet na maximální rychlost s max. odchylkou cca 70 inkrementů .
Uživatelský avatar
CZ_Pascal
Příspěvky: 884
Registrován: 14. 1. 2008, 8:24
Bydliště: Brno

28. 4. 2016, 6:32

robokop píše:Tim padem nelinearita v nizkych rychlostech kolem nuly dela problem ktery nelze polohovou smyckou doregulovat
V tom případě je řešení v LinuxCNC poměrně snadné :)
Nelinearitu si změřím, trochu si pohraju s excelem pro získání vhodné aproximační rovnice (nějaký pěkný polynom, nebo spline, nebo soustavu různých polynomů pro různé části naměřené křivky atd....) a napíšu si "narovnávák na ohejbák" :twisted: (HAL Modul), který vložím mezi výstup regulátoru a výstupní člen.

Tímto krásně eliminuji "mrtvou zónu" kolem nízkých otáček způsobenou nezanedbatelným třením soustavy a dorovnám i všemožné jiné nelinearity vzniknuvší danou konstrukcí pohonné jednotky.
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22915
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

28. 4. 2016, 8:23

jo ale takhle se to presne nedela (resis to moc slozite)
od toho ma kazde servo rychlostni regulator
protoze do toho matematickeho modelovani muze vniknout vnejsi vliv a jsi tam kde jsi byl
proto mas v halu pro rychlostni regulator encoder.velocity a pro polohovou smycku encoder.position pro zpetne vazby aby jsi vedel na cem skutecne jsi

kdybys to takhle modeloval cele tak teoreticky muzes zanedbat encoder
vzdyt otacky jsou funkci napeti
a poloha je funkci rychlosti v case :twisted: :twisted: :twisted:

bezne maji stara analogove rizena serva tacho ktere meri rychlost otaceni a servo se ridi +-10V a to tacho dela zpetnou vazbu pro nejakej vnitrni regultor driveru
u starejch driveru to je analogove a je tam fazova regulace tyristoru
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
CZ_Pascal
Příspěvky: 884
Registrován: 14. 1. 2008, 8:24
Bydliště: Brno

29. 4. 2016, 5:54

robokop píše:jo ale takhle se to presne nedela (resis to moc slozite)
No a podle tebe je tedy jednodusi zhanet nejaky ten rychlostni regulator misto toho aby si zadarmo jednoduse doprogramovl linearizaci ?

Mnou navrhovany matematicky pristup je velice jednoduchy
(v zadnem pripade nechci modelovat veskere veci co se v motoru deji, na to bych potreboval lepsi zpetnou vazbu nez pouze enkoder)

On prece neni az tak uplne daleko od toho co chce dosahnout. Tou linearizaci by se zadarmo mohl dostat na pouzitelne chovani.
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22915
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

29. 4. 2016, 6:09

sezenes ho jednoduse:
loadrt pid names=rychlost.pid,poloha.pid
addf rychlost.pid servo-thread
...
:twisted: :twisted: :twisted:

pak schematicky:
net poloha.pid.out => rychlost.pid.command
net poloha.pid.feedback <= encoder.position
net rychlost.pid.feedback <= encoder.velocity

dela to tak celej svet tak proc to delat nejak slozite a pritom nedokonale (bez zpetne vazby) a psat na to komponenty
vem si co ten model udela kdyz na stroj nalozis nejakej tezkej material a jeste na gravitacne zatizenou osu, to ti to matematicke modelovani rozhodi a jeste nesymetricky

samozrejme vymodelovat tu reakci motoru a zavest ji jako feedforward rychlostni smycky soucasne se zpetnovazebnim regulatorem by byl uplne jinej level a asi by to systemu dost prospelo
tomuhle pojeti bych pak uz rozumel
ale to uz asi nikdo nedela
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
CZ_Pascal
Příspěvky: 884
Registrován: 14. 1. 2008, 8:24
Bydliště: Brno

29. 4. 2016, 6:22

To doslo asi k nedorozumeni.

Ja jsem se v zadnem pripade nechtel zbavovat regulatoru (a zpetne vazby) v LinuxCNC.

Myslenkou bylo pouze tomuto regulatoru trochu usnadnit zivot linearizací reakce motoru na ridici napeti (aliaz "střídu PWM").

Tento "rovnák na obejbák" bych vlozi prave mezi vystup regulatoru a vstup řízení PWMka.

Žádnnej regulátor nemá rád nespojitosti a nelinearitu v systému. Tímto by se mu trochu usnadnila práce a zlepšil výsledek právě kolem těch nulových otáček.

Bez zpetne vazby to vživote zadnej matematickej model neureguluje, protoze by potreboval mit krome toho enkoderu jeste informaci o zátěži, která je z principu docela promenliva.
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22915
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

29. 4. 2016, 6:28

jj presne tak jak pises (v tom pripade slo o nepochopeni)

ale ten beznej regulator naloudujes v halu jako dalsi vnitrni pidku to je v pohode
teoreticky bys mohl modifikovat komponentu PID a pridat k ni jeste matematicky model jako dalsi bypas stejne jako je to u FF
nebo ji obejit dat za ni nejaky souctovy clen a v nem to pricitat z vlastniho modulu co to bude pocitat


jestli mas zajem psat nejakej modul urcite by to byl zajimavy pocin
vystrachal bych nejake komponenty
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22915
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

29. 4. 2016, 7:31

Jeste me napada ze by nebylo od veci napsat neco co by se pokouselo kompenzovat vule v masine uz na urovni regulacnich smycek
Napr. Rychlostni z encoderu motoru
Pak prevodovka s vuli a sroub s vuli a pak pravitko na stole pro polohovou vazbu
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
CZ_Pascal
Příspěvky: 884
Registrován: 14. 1. 2008, 8:24
Bydliště: Brno

29. 4. 2016, 5:13

Zcela narovinu a bez mučení přiznávám že nemám časově prostor psát modul který sám nikdy nijak neuplatním/nevyužiju :roll:
(třeba už jen proto že bych ho neměl jak v reálu vyzkoušet a taky proto že je podstatně jednodušší napsat modul namíru danému problému, než psát nějaký univerzálně fungující)

Má reakce byla spíše snahou pomoci vyřešit stav ve kterém jsi popisoval že vám nelinearita reakce motoru na PWM neumožní dostatečně přesně vyladit regulační smyčku.

Problém s vyřešením vůlí je opět kapitola sama pro sebe. Určitě by bylo přínosné řešit vůli "s předstihem" už v regulační smyčce (tedy její vhodnou specifickou vlastností), než se snažit tu vúli dodatečně vykompenzovat reakcí regulátoru na chybu polohy.

To by ovšem vyžadovalo už trochu laborování a pohrání si s takovým systémem. Z placu bez možnosti vyzkoušení to nikdo jen tak nedá.

Problém je přinejmenším ten, že v takovém systému dochází k rázům (přechod z pohybu naprázdo v rámci vůle do pohybu v zátěži po jednostranném vymezení vůle) které mechanice stroje nijak neprospívají.
Čím rychlejší je reakce a snaha vůli eliminovat, tím větší ráz nastane. Řešením je pouze akcelerace + decelerace při pohybu na prázdno (tedy v prostoru o velikosti dané vůle) tak aby k rázům nedocházelo, což ale nezbytně nutně vede k snížené dynamice takového systému.
Pokud s tímto nepočítá přímo plánovač dráhy (tedy vstup do polohového regulátoru), tak to polohový regulátor nemá nikdy šanci zvládnout bez nějakého negativního efektu a to bez ohledu jaké kompenzace zvládnou jeho podřízené smyčky (rychostní, popř. proudová atd).
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22915
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

29. 4. 2016, 8:19

jo v tom mas pravdu
je treba to resit komplexne
Vsechna prava na chyby vyhrazena (E)
Odpovědět

Zpět na „LinuxCNC - drive pod nazvem EMC2“