MOSFET driver

Odpovědět
ledvinap
Příspěvky: 793
Registrován: 8. 11. 2009, 4:40
Bydliště: Plzen

11. 8. 2010, 6:20

Dalsi pokrok - mam PI s anti-windup a sehnal jsem poradny motor na zkouseni.

Problem s kmitamin kolem nuly jsem vyresil okenkem, dokud neni hodnota z PID vetsi nez limit, tak se nastavi nulova PWM ale zachova se polarita. Po odstraneni nekterych problemu s linearitou by to melo fungovat.

Dalsi z problemu je ovlivnovani mustku navzajem. Bohuzel vyslo jen jedno referencni misto pro mereni proudu, takze se mi proud fazemi 1 a 2 ovlivnuje mereni ve fazich 3 a 4. Dost pomohlo pocinovat kriticke misto, ale stale u faze 4 vychazi 'preslech' asi 1%. U faze 3 je chyba zanedbatelna. Bud to vyresim SW kompenzaci (ale to je zas jedno nasobeni navic, cca 25 cyklu ;-) ), nebo zkusim desku predelat tak, aby tam sel pridelat kousek medeneho plechu. Idealni by bylo zmenit tvar spojeni cest tak, aby to vyslo spravne, ale nejak me vubec nenapada jak (pokud to vubec jde).
Chyba trosku mate PID, ale nic zleho, mozna by s tim slo zit.

Druhy (mozna) problem je s back-emf. V soucasne dobe zkousim na motoru Microcon SX34-3080(paralelni zapojeni). Napajeci napeti mam 28V. Pri dost vysokych otackach se mi podle vseho zacne projevovat napeti indukovane otacenim motoru, takze i pres plnou PWM nedovedu dosahnout pozadovaneho proudu.
Od urcitych otacek se navic zacne menit smer proudu v pulce 4-kroku.
Je to videt na pripojenem obrazku, zelene je proud vinutim (proud je 2 counts/mA), fialove je hodnota PWM, pro zaporny smer zvysena o 1000, 768- nulova strida, 0- maximalni proud. Rychlost je asi 860 kroku/s (prubeh ma 215Hz).
Pokud se pokusim zvysit otazky, tak se motor utrhne.
Predpokladam, ze se v tomto momente dostavam na mid-band instability.

Predpokladam, ze toto misto by melo byt mozne prekrocit a dal z motoru dostat nejaky vykon. Ale jak na to ?
Urcite pomuze pouzivat od nejakych otacek full-step misto mikrokrokovani, to se celkem snadne. Ale obavam se, ze to nebude stacit.
Nevite nekdo, jak to resit? Napada me nejaky feed-forward clen k PI regulatoru, ale moc nevim, jak ho realizovat. Nebo mozna delam neco uplne spatne ...
Přílohy
72Hz, 3A sin. reference
72Hz, 3A sin. reference
215Hz, cca 600mApp
215Hz, cca 600mApp
Jenda9999
Příspěvky: 51
Registrován: 23. 1. 2008, 8:37

11. 8. 2010, 10:55

Bez napeti to nepujde.Pokud je proud protlacen rozdilem (Unap-Uind).
Kdyz jsem kdysi delal pokusy s mnohem mensim motorem, tak se daly max. otazky zvysovat asi do nejakych 100V.Vyssi napeti jiz moc nemelo cenu.Na takto velky motor bych si jednocestne usmernil 220V.A dal bych se do pokusu.
ledvinap
Příspěvky: 793
Registrován: 8. 11. 2009, 4:40
Bydliště: Plzen

12. 8. 2010, 4:07

Tak jsem se nastval a udelal kompenzaci preslechu mezi kanalama. Kompenzacni tabulka sice uz ma pres 300 bytu, ale aspon nemusim v interruptu hledat. Zatim to vypada, ze po spravnem zkalibrovani to funguje hodne pekne.
Jeste musim trosku doladit algoritmus zahazovani poskozenych vzorku, pri nekterem pomeru PWM mi do vystupu pronika nejake ruseni (odpovida cca 30mA max).

Na tu mid-band nestabilitu jsem trochu koukal. Podle teorie se jedna o to, ze kdyz driver zacne pracovat v rezimu konstantniho napeti (nejde dosahnout pozadovany proud), tak se casem fazove zpozdeni celeho systemu dostane pres 180 stupnu a motor zacne vibrovat. Reseni je podle vseho v tom na urovni ridiciho signalu pridat neco, co posune fazi zpet do stabilniho rezimu. Podle vseho to znamena vyhodnotit nejak fazi motoru (Asi z mereni proudu) a od toho odvodit feed-forward term do rizeni kroku. Problem se tyka referencniho signalu na krokovani, ne vlastniho rizeni proudu motorem. (asi budu muset nastudovat neco z kybernetiky. Je to pro me dost spanelska vesnice).

Reseni se zvysenim napeti bohuzel neni prilis idealni - s rostoucim napetim rostou ztraty v trafoplechach motoru, od nejakeho napeti prekroci ztraty v medi a pomerne rychle rostou. Podle GeckoDrive faq|: Drive Supply Voltage = 32 * √mH Inductance. Pro muj motor je to 75V. Takze sice muzu pritlacit, ale to problem asi samo o sobe nevyresi.

Pokud se mi povede kriticke pasmo prejet, tak proud vinutim zas naroste a motor dava aspon nejaky kroutak. Takze pak dovedu tocit asi na 2000kr/s, do motoru tece 10W (kolem 0.5Arms na fazi).

Asi mi to dost komplikuje, ze motor lezi volne na stole bez zateze a viskozniho tlumeni, takze je extremne nachylny k rezonanci. Casem zkusim vymyslet nejake jednoduche tlumeni.

Mate nekdo zkusenosti, jak se chovaji komercni drivery v tomto pasmu? A s motorem, ktery jen lezi na stole?
Jenda9999
Příspěvky: 51
Registrován: 23. 1. 2008, 8:37

12. 8. 2010, 5:20

Motory lezici na stole se chovaji vzdy blbe...Nektere firmy prodavaji tlumici cleny ke krokovemu motoru .Kdyz jsem to kdysi studoval. Tak myslim ze slo o to , drzet uhel mg. pole v predstihu oproti rotoru. Takhle dochazi ke kyvani rotoru.A na nejakych otackach se rozkyve natolik, ze se utrhne.Takze jde o to nedrzet motor v synchronismu. Nebude snadne asi urcit z proudu polohu pole vuci rotoru.Takze asi je potreba pracovat se skluzem.Proste tam zavest vektory.
Ale mozna jsem to tenkrat nepochopil dobre.
pavel-gravos
Příspěvky: 318
Registrován: 27. 1. 2008, 4:30

12. 8. 2010, 8:27

2f krok.motory lezici na stole a netocici se, nedelaji nic. Kdyz je spatne navrzeny driver, tak syci, kdyz neni PowDn, tak hreji, ale aby kmitaly, to jsem jeste nevidel. To budes mit neco spatne, pravdepodobne velke dopravni zpozdeni signalu v kombinaci s velkym zesilenim, ale to jen hadam.
U serv je to bezne, tam je to znamka spatne nastaveneho driveru.

2f krok.motory za chodu pri urcitych otackach maji rezonance, a nejlepe se jim vyhnout, neb motor ztraci silu, a nekdy i kroky, na oscilu se dost
pokazi zadany prubeh proudu. U 3f motoru to byva prakticky odstraneno,
tam jsem tyto jevy nepozoroval (nebo mohou byt jen dost male).
Pavel
ledvinap
Příspěvky: 793
Registrován: 8. 11. 2009, 4:40
Bydliště: Plzen

14. 8. 2010, 2:18

Jenda9999 píše:Motory lezici na stole se chovaji vzdy blbe...Nektere firmy prodavaji tlumici cleny ke krokovemu motoru .Kdyz jsem to kdysi studoval. Tak myslim ze slo o to , drzet uhel mg. pole v predstihu oproti rotoru. Takhle dochazi ke kyvani rotoru.A na nejakych otackach se rozkyve natolik, ze se utrhne.Takze jde o to nedrzet motor v synchronismu. Nebude snadne asi urcit z proudu polohu pole vuci rotoru.Takze asi je potreba pracovat se skluzem.Proste tam zavest vektory.
Ale mozna jsem to tenkrat nepochopil dobre.
O mechanickem tlumicim clenu vim, v zasade staci kotouc s otvorama a v nich navolno valecky. Treba na CD mechanikach se pouzivaly kulicky v plastovych drahach. Ale ja resim elektroniku a kdyz to nekdo umi elektronicky, tak to dokazu take ;-)

Zkusim odvodit back-emf motoru ze zmereneho proudu vinutim. Teoreticky by derivace proudu mela byt umerna back-emf (nebo spis strmost exponencialy). Mozna by stacilo udelat jen kvadraturni demodulator na frekvenci full-stepu. Uvidim ...

Presnou pozici rotoru snad potrebovat nebudu - melo by stacit jen pridat nejakou silu, ktera bude prusobit proti narustu vibraci. Idealni by sice bylo vytvorit kriticky tlumeny system (tlumeni 0.7), ale podle vseho staci tlumeni jen o neco zvednout (samotny motor ma asi 0.02)
ledvinap
Příspěvky: 793
Registrován: 8. 11. 2009, 4:40
Bydliště: Plzen

14. 8. 2010, 2:34

pavel-gravos píše:2f krok.motory lezici na stole a netocici se, nedelaji nic. Kdyz je spatne navrzeny driver, tak syci, kdyz neni PowDn, tak hreji, ale aby kmitaly, to jsem jeste nevidel. To budes mit neco spatne, pravdepodobne velke dopravni zpozdeni signalu v kombinaci s velkym zesilenim, ale to jen hadam.
U serv je to bezne, tam je to znamka spatne nastaveneho driveru.
Asi jsem to spatne napsal. Asi do 3ot/s motor nijak znatelne nevibruje (trochu je slyset kdyz stul dela ozvucnou desku). Pri nulovych otackach lehce syci, ale musim mit ucho blizko u nej, aby to bylo znatelne. Pravdepodobne se jedna jen o sum PWM jak PID musi o jednicku menit stridu.
Pri nizkych otackach (0.5ot/s) je to vrneni (neco jako zatizene trafo) a lehke piskani. To bych asi dovedl potlacit lepsi kalibraci a trosku filtrovani.
Momentalne mi pri techto otackach vychazi nekde skok v proudu asi 2%. Pravdepodobne spatne kompenzovani poskozenych vzorku.
2f krok.motory za chodu pri urcitych otackach maji rezonance, a nejlepe se jim vyhnout, neb motor ztraci silu, a nekdy i kroky, na oscilu se dost
pokazi zadany prubeh proudu. U 3f motoru to byva prakticky odstraneno,
tam jsem tyto jevy nepozoroval (nebo mohou byt jen dost male).
Pavel
Presne tyhle rezonance se snazim SW potlacit. Az budu mit odladeny 2f motor, tak se pustim do 3f. 2f motory jsou v mem pripade vypocetne o dost slozitejsi, takze 3f pak snad bude pohodicka.

Mimochodem - kdyz jedu motor na 5A/faze (max, ne RMS) tak je driver jen vlazny ...


Tak nejak predpokladam, ze jmenovity proud je max. proud jednim vinutim ...
ledvinap
Příspěvky: 793
Registrován: 8. 11. 2009, 4:40
Bydliště: Plzen

14. 8. 2010, 9:03

Tak jsem dopsal pocitani FFT pres nasnimane vzorky. Kdyz se dostanu do napetoveho rezimu, tak se mi objevi treti harmonicka, to je asi celkem vporadku.
Od nejake rychlosti se mi zacnou objevovat frekvence kolem 2/3 ridici, vykonove jsou v signalu obcas silneji nez buzeni. Nejak moc nevim co s tim ... sice je muzu zkusit chytit nejaky band-pass filtrem a pouzit pro kompenzaci, ale na muj vkus jdou dost vysoko.

Je mozne, ze je problem v nizkem napeti menice? Ze se do napetim limitovaneho rezimu dostanu na prilis nizkych otackach a mechanicke rezonancni frekvence motoru jsou tak blizko buzeni, ze je tezke je oddelit?

Take by ciste teoreticky mohlo jit o rezonanci zpusobenou PI regulatorem. Ale kdyz menim parametry PI, tak se vicemene nic nemeni, takze to v tom snad nebude ...

Momentalne by pomohl kazdy napad, mam pocit, ze si prochazim spoustu slepych ulicek ...
pavel-gravos
Příspěvky: 318
Registrován: 27. 1. 2008, 4:30

14. 8. 2010, 10:21

Jak tak koukam na ten pokazeny prubeh (ten druhy obrazek):
tohle je typicke pro slow decay a nezatizeny motor.
V dobe zmensovani sinusovky se proud druhe faze zvetsuje,
indukcni vazbou se prenese do prvni faze, protoze energie nema
kam jit (motor nezatizeny).
To jsou ty osklive spicky, rikali jsme tomu fangle.

Kdyz proud takhle nekontrolovane vzrusta, je potreba cely mustek
vypnout (fast decay), proud se vraci zpet do kondu zdroje pres diody
co jsou na FETech, a rychle se zmensuje. Ma to ale hacek: v dobe vypnuti mustku se proud na sensech objevi v obracene polarite, je potreba ho bud cisti zaporny, nebo vypnuti omezit casove.

Jeste lepsi je umistit sensy seriove s motorem a cist difer. zesilovacem,
to je ale HODNE narocna analogarina, ale pak je info o proudu k dispozici
porad, a mnohem lepe se resi regulace.

Pavel
ledvinap
Příspěvky: 793
Registrován: 8. 11. 2009, 4:40
Bydliště: Plzen

14. 8. 2010, 10:47

pavel-gravos píše:Jak tak koukam na ten pokazeny prubeh (ten druhy obrazek):
tohle je typicke pro slow decay a nezatizeny motor.
V dobe zmensovani sinusovky se proud druhe faze zvetsuje,
indukcni vazbou se prenese do prvni faze, protoze energie nema
kam jit (motor nezatizeny).
To jsou ty osklive spicky, rikali jsme tomu fangle.
Tohle me nenapadlo. Zkusim to zkotrolovat. Ale prilis se mi to nezda. Vazne ma motor takovou vzajemnou indukcnost mezi vinutimi? Ja jsem spis cekal, ze je to zpusobene mechanickymi vlastnostmi motoru. Kdyz se motor 'utrhne', tak se proud tvoren jen dvemi cistymi exponencialami.
Kdyz proud takhle nekontrolovane vzrusta, je potreba cely mustek
vypnout (fast decay), proud se vraci zpet do kondu zdroje pres diody
co jsou na FETech, a rychle se zmensuje.
Myslim, ze zatim pouzivam jen fast-decay a synchroni rekticikaci (misto vedeni diodou zapnu prislusny FET. Ale je fakt, ze tohle musim zkontrolovat. Ale podle strmosti kdyz jsem limitovan dI/dt bych cekal, ze to mam spravne.
Ma to ale hacek: v dobe vypnuti mustku se proud na sensech objevi v obracene polarite, je potreba ho bud cisti zaporny, nebo vypnuti omezit casove.

Jeste lepsi je umistit sensy seriove s motorem a cist difer. zesilovacem,
to je ale HODNE narocna analogarina, ale pak je info o proudu k dispozici
porad, a mnohem lepe se resi regulace.
Tohle resim tak, ze mam snimaci odpor v kazdem pulmustku. A podle polarity vinuti si jako merici vyberu odpor na te strane, ktere je trvale pripojena na zem a tece ji proud trvale. Proud shuntem merim diferencialne, takze to funguje nezavisle na polarite proudu (pro vysokou krokovaci frekvenci prepinam polaritu uz pri maximalnim proudu, dokud neklesne k nule,tak tece opacne). Namereny proud mi vychazi spojity, takze to snad funguje. Jen je trosku problem kalibrace, zatim generuju tabulky rucne, ale to pujde celkem snadno vyresit.
ledvinap
Příspěvky: 793
Registrován: 8. 11. 2009, 4:40
Bydliště: Plzen

15. 8. 2010, 1:35

Tak se plletu. Zatim pouzivam slow-decay. Budu se na to muset podivat, fast-decay bude trosku slozitejsi z hlediska vyhodnocovani proudu. Ale snad to pujde.
Momentalne to vypada tak, ze kdyz jsme v proudovem rezimu, tak se stejne PWM temer nepouziva, takze pro snizovani proudu vinutim se pripoji civky opacnym smerem. Coz by melo odpovidat fast-decay.
Jenda9999
Příspěvky: 51
Registrován: 23. 1. 2008, 8:37

15. 8. 2010, 2:39

No jsem zvedavy o kolik bude 3-fazovy motor jednodussi.To ovlivnovani 1 faze druhou je u 2 krokoveho motoru fakt dost velke.Myslim si ze u 3-f krokoveho motoru se zase budou ovlivnovat 2 PID regulatory.Ale mozna neodhaduji situaci.
ledvinap
Příspěvky: 793
Registrován: 8. 11. 2009, 4:40
Bydliště: Plzen

15. 8. 2010, 2:56

Jenda9999 píše:No jsem zvedavy o kolik bude 3-fazovy motor jednodussi.To ovlivnovani 1 faze druhou je u 2 krokoveho motoru fakt dost velke.Myslim si ze u 3-f krokoveho motoru se zase budou ovlivnovat 2 PID regulatory.Ale mozna neodhaduji situaci.
U 3f mi staci ridit jen jeden proud. Takze polovina starosti ...

Ovlivnovani fazi se na mem motoru asi deje jen mechanicky. Kdyz pustim sinus do jedne faze, tak na druhe namerim jen proud zpusobeny vibracemi rotoru. Pokud se dostanu za mechanickou frekvenci, tak se faze neovlivnuji (nebo nijak znatelne)
Jenda9999
Příspěvky: 51
Registrován: 23. 1. 2008, 8:37

15. 8. 2010, 3:06

Tomu prave moc nerozumim.Potrebujete ze sinusoveho prubehu nastavit treba napr Ir=2A, Is=-3A, It=-2A. Takze je potreba nastavit podle mne jakoby 2 proudy pri Isum=0.Pokud tedy nastavim v PID 1 proud , tak ty druhe se nastavi v pomeru natoceni rotoru.To nepotrebujeme.Myslim si ze je potreba nastavit proudy tak, aby mely jak slouzku tokotvornou, tak momentutvornou.
ledvinap
Příspěvky: 793
Registrován: 8. 11. 2009, 4:40
Bydliště: Plzen

15. 8. 2010, 4:57

Jenda9999 píše:Tomu prave moc nerozumim.Potrebujete ze sinusoveho prubehu nastavit treba napr Ir=2A, Is=-3A, It=-2A. Takze je potreba nastavit podle mne jakoby 2 proudy pri Isum=0.Pokud tedy nastavim v PID 1 proud , tak ty druhe se nastavi v pomeru natoceni rotoru.To nepotrebujeme.Myslim si ze je potreba nastavit proudy tak, aby mely jak slouzku tokotvornou, tak momentutvornou.
Pouziva se zajimava finta. U motoru nejde o napeti na jednotlivych fazich, ale o napeti/proudu mezi fazemi. Takze se da komutace upravit tak, ze je vzdy jedna faze v nule a budi se jen dve. (treba http://www.atmel.com/dyn/resources/prod ... oc8030.pdf)
PID pro rizeni proudu musi byt IMHO jen jeden, mmaximalne musim merit proud dvemi fazemi a nejak se dopocitat. Ale je fakt, ze to budu muset trosku nastudovat ...
Odpovědět

Zpět na „Servomotory“