Řízení otáček SS motoru pomocí ATMEL
Moderátor: Moderátoři
-
remmir
Řízení otáček SS motoru pomocí ATMEL
-
remmir
Celý problém je v nezvládnutí PID regulace s ohledem na mechanické vlastnosti motoru - setrvačnost, akcelerace, zesílení, tlumení.
A jak je to s akčním členem regulátoru? Je schopen ten motor aktivně brzdit? Dát mu záporné napětí? Jinak vzniká nelinearita, což může být dalším zdrojem nestability.
Pokud to bude tvrdošíjně kmitat, zmenšete zesílení proporcionální složky v regulátoru a přesnost dotáhněte integrátorem. To znamená kumulovat regulační odchylku v čase a výslednou hodnotu přidávat přes nějakou konstantu na výstup.
Jinak - tohle je samostatný studijní obor
Motor napájaš z DC zdroja (12V) - P
Počítaš čas medzi pulzami - I
Riadiš to PWM - D
Ak chceš, aby to malo výkom musíš zväčšiť napájacie napäti - zväčšiť P - napr na 24V.
Tým ti uletia otáčky, ktoré zmenšíš šírkou PWM impulzu. Ak chceš zväčšiť dynamiku zväčšíš šírku PWM impulzov - zväčšíš D.
Aby to bolo stabilné predĺžiš interval merania -I.
Ak dáš krátke I, bude ti to kmitať. Ak po štarte nabehneš priamo na plný výkon, neustabilizuješ to a uletí ti to z regulácie.
Urob program na štart, kde budeš postupne nabiehať s otáčkami - neviem koľko zvládne ATMEL, resp aký maš náročný (rýchly) program.
V PID regulácii je v podstate jedno či riadiš analogom alebo digitálne, pretože zložka D je nespojitá, takže dobrý program to zvládne.
Môžem hovoriť do vedenia!
-
Stan3
-
remmir
Pokud zesílení zmenšíte tak, aby kmitání ustalo, může se příliš zvětšit vzniklá ustálená chyba. To pak vyřešíte integrační složkou regulátoru. Můžete bastlit a zkoušet, ale správně byste měl identifikovat a změřit dynamické vlastnosti regulované soustavy, to znamená pro tento případ D/A převod, výkonový člen, motor a čidlo včetně vyhodnocení. A pak některou z metod pro zjištěná zesílení a časové konstanty navrhout regulátor.
Tu integrační složku můžete realizovat jednoduše. Někde přece musíte mít regulační odchylku. No, tak tuto ochylku budete neustále přičítat do nějakého akumulátoru. Rychlost přičítání určuje integrační časovou konstantu. A následně určitý díl/násobek toho součtu přidáváte k akční veličině, ovládající výkonový člen, který u vás představuje pp. D/A převod a nějaký výkovoý můstek pro motor. Pro výpočet je třeba vše převést na normalizované hodnoty, myslím zesílení jednotlivých prvků a z toho a z potřebné časové konstanty integrátoru vypočítat rychlost přičítání. Nemohu to zde podrobně vysvětlovat, tohle jsou 2 semestry na technice.
Co je to "změnit toleranci rychlosti" ? Chcete říct, že zavádíte nelinearitu typu tření v převodech, to znamená nějaké pásmo necitlivosti? Taková nelinearita sama o sobě může přinášet kmity, s tím opatrně.
-
remmir
Co je to "změnit toleranci rychlosti" ? Chcete říct, že zavádíte nelinearitu typu tření v převodech, to znamená nějaké pásmo necitlivosti? Taková nelinearita sama o sobě může přinášet kmity, s tím opatrně.
Ano, pásmo necitlivosti je ten správný termín. To je spíš kvůli tomu, aby se to přesně nesnažilo dodržet rychlost třeba 150, když při pwm 300 je 149 a pwm 301 je ta rychlost 151.
Tohle téma je mi docela blízké, kdysi jsem číslicový regulátor ss motoru obhajoval jako svou diplomku. Byl to motor 4 kW pro pohon suportů obráběcích strojů, regulace na polohu s podřízenou rychlostní regulační smyčkou. Ovšem v té době to bylo na TTL, I8008čka nebyla dostatečně rychlá. Řízený tyristorový usměrňovač měl 8 bitový vstup, takže ještě o jeden bit méně, než váš A/D převodník. Ale žádné pasmo necitlivosti jsme nezaváděli a ani z výsledků měření nebo simulace nevyplývala jeho potřeba.
Naopak, zaváděli jsme nelinearitu typu saturace, aby se omezila maximální rychlost přeběhu motoru mezi polohami a tím i překmity.