Řízení otáček SS motoru pomocí ATMEL

Problémy s návrhem, konstrukcí, zapojením, realizací elektronických zařízení

Moderátor: Moderátoři

Zpráva
Autor
Návštěvník

#16 Příspěvek od Návštěvník »

Tak jsem udělal nelineární řízení. Jede to podle vzorce: +pulsu=((pozadovana_rychlost-aktualni_rychlost)/pozadovana_rychlost)^3. Takhle se to chova o hodne lip, ale neni to jeste ono. Po nastaveni hodnoty to prebehne a potom zas moc zpomali, ale potom se to ustali. To je tim, ze to nestaci tak rychle reagovat na zjistenou rychlost+tim, ze namerena rychlost je pokazde s nejakou jinou chybou. Neni to ono, pocitat od pulzu k pulzu.
Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 00:00

#17 Příspěvek od Andrea »

Anonym píše:Tak jsem udělal nelineární řízení. Jede to podle vzorce: +pulsu=((pozadovana_rychlost-aktualni_rychlost)/pozadovana_rychlost)^3. Takhle se to chova o hodne lip, ale neni to jeste ono. Po nastaveni hodnoty to prebehne a potom zas moc zpomali, ale potom se to ustali. To je tim, ze to nestaci tak rychle reagovat na zjistenou rychlost+tim, ze namerena rychlost je pokazde s nejakou jinou chybou. Neni to ono, pocitat od pulzu k pulzu.

Máš moc velké zesílení proporcionální složky a hlavně tam nemáš tu integrační složku, jak ti radil mtajovsky.
remmir

#18 Příspěvek od remmir »

No na mě se musí trochu víc česky. Vysoká je teprv přede mnou. Tohle se snažím tak trošku řešit s vaší pomocí tak říkaje selským rozumem. Díky této diskusi jsem se dostal tak daleko, že po určité době dostanu naprosto stabilní otáčky. Problémy dělají rozjezdy. Tu integrační konstantu jsem pochopil takto: měřím akceleraci za určitý čas a podle vzorce, který jsem sám vymyslel(což taky není to pravý vořechový) určuju čas mezi přičítáním rychlosti. Ten vzorec je takovýto: ((aktualni_rychlost/pozadovana_rychlost)*akcelerace)^2 - diky tomuto se to nekonec ustabilizuje, ale ten kmit dva tam nazacatku jsou a jsou dost velky.
Uživatelský avatar
mtajovsky
Příspěvky: 3728
Registrován: 19 zář 2007, 00:00
Bydliště: Praha

#19 Příspěvek od mtajovsky »

Chce to nějaký systém. V prvé řadě si řekněme, jaké řízení děláte. Asi to nebude pravé číslicové řízení, kde se počítá s periodou vzorkování a na jejím základě se pak syntetizuje algoritmus. Předpokládejme, že vaše perioda vzorkování je podstatně kratší, než mechanická časová konstanta motoru a vůbec než všechny setrvačnosti, které se v řízené soustavě vyskytují. Potom můžete s dostatečnou přesností říci, že váš digitální regulátor dobře emuluje spojitý regulátor a může se použít klasická teorie regulace.

Začněme měřením otáček. Čidlo otáček je fotoelektrické inkrementální. Správně byste měl zařídit, aby se dal rozlišit i směr otáčení, protože úvahy a případné výpočty předpokládají lineární systém v celém rozsahu. Zde je první problém, který se musí rozhodnout. Jaká bude perioda vzorkování? Řekli jsme, že musí být podstatně kratší, než jsou setrvačnosti systému. Ale nemůže být libovolně malá. Mezi okamžiky vzorkování se totiž v nějakém counteru sčítají impulsy z čidla rychlosti a v okamžiku vzorkování se tato hodnota přečte jako výstup ze snímače rychlosti. A tu musíme dostat hodnoty s dostatečnou přesností, tudíž čísla jisté velikosti. Při příliš rychlém vzorkování budou hodnoty malé a malá rozlišovací schopnost. Zde také hraje roli počet impulsů čidla na otáčku a pozor - čím více je těch impulsů, tím přesněji můžeme měřit, ovšem tím je také větší zesílení čidla otáček a tím i zesílení v otevřené smyčce. To může vést ke kmitání. Následné snížování zesílení v regulátoru počítané celočíselně potom naráží na problém vzniku chyby v důsledku odřezávání binárních řádů menších než 1. Takže je potřeba počítat ve floating point, což je zase dosti pomalé a vyžaduje prodloužit dobu vzorkování, což může přinést další problémy atd.

Jak to pracuje dále - v okamžiku vzorkování se tedy přečte změřená rychlost a spočítá se okamžitá regulační odchylka, označovaná obvykle e.

e = w - x

w ... žádaná hodnota
x ... změřená výstupní hodnota zprostředkovaná čidlem

Hodnota e je výchozí hodnota pro další výpočet v regulátoru. Pokud tedy uvažuje klasický spojitý regulátor, tak ten z regulační odchylky tvoří akční veličinu y (to znamená veličinu, která ovládá řízenou soustavu - náš motor) ve 3 paralelních větvích:

- proporcionální složka P - je určena jako násobek/podíl e. Je to základní součást y a pro mnohá použití to stačí. Pro regulaci ss motoru, což je v podstatě jeden z nejjednodušších případů, by to mělo stačit.

- integrační složka I - je určena jako časový integrál z e, opět násobený/dělený svou vlastní konstantou. Rychlost integrace se určuje podle dynamických vlastností řízené soustavy. Tato složka se používá v případě, že pro požadovanou přesnost regulace vychází proporcionální složka tak velká, že systém přestal být stabilní. I složce se také říká astatismus a má tu vlastnost, že je v principu schopna vyregulovat e na 0. Digitálně se časová integrace nahrazuje časovou sumarizací e.

- derivační složka D - je určena jako určitý násobek/podíl časové derivace e. Zařazuje se v případě, že je potřeba urychlit regulační pochod. Ovšem přináší některé negativní jevy, jako překmity výstupní hodnoty a neklid v systému jako odezvu na vnější rušení.

Na výstupu regulátoru se uvedené 3 kanály sečtou. Celý výpočet včetně sečtení kanálů a vytvoření akční veličiny y se uvažuje podstatně kratší, než je doba vzorkování. Podle zastoupení kanálů v y jsou pak možné varianty regulátoru: P, PI, PD a PID. V nastavení konstant jednotlivých kanálů P, I, D je celé kouzlo PID regulátoru. Snažíte se dostat potřebnou přesnost regulace s požadovanou zásobou stability. Nestabilní se systém stává v tom případě, že zesílení otevřené smyčky je >= 1 na kmitočtu, na kterém je fázový posuv procházejícího signálu 180 stupňů. V tom případě se totiž záporná zpětná vazba stává ve skutečnosti kladnou a vyrobíte oscilátor. Pro dobrou regulaci se obvykle požaduje zásoba stability vetší než 45 stupňů, to znamená, že na kmitočtu, kde je zesílení otevřené smyčky 1 smí být fázový posuv v ní maximálně 135 stupňů. K tomu existují pak různé grafiké a početní metody návrhu takového regulátoru a dále početní kritéria stability, kterými lze stabilitu ověřit na papíře.

Tak to jsou důvody, proč jsem psal cosi o identifikaci a měření soustavy. Jestliže vám P regulátor k ss motoru kmitá, máte v soustavě kdesi zakopány nějaké další setrvačnosti nabo zpoždění a je potřeba je odhalit a eliminovat dobře navrženým regulátorem. Bez toho se vaše snaha bude podobat člověku, který bastlí zesilovač a náhodně, bez výpočtu zkouší různé hodnoty součástek.

Pokud budete mít zařazenu I složku, existuje jednoduchý a dobrý test její funkce. Při žádané hodnotě otáček 0:

1) se motor nesmí "ploužit" - musí skutečně stát. Zabrzděte jej a sledujte jeho proud - nesmí se zvětšovat.

2) motor se musí držet polohy, ve které se zastavil, "jako na gumě". Musí mít snahu se vrátit do původní polohy a to tím větší silou, čím více jej odchýlíme. Příčinou je právě integrovaná - sumarizovaná odchylka e, která vyvozuje příslušnou akční veličinu v kanále I.

Edit: překlepy.
Naposledy upravil(a) mtajovsky dne 23 bře 2009, 09:53, celkem upraveno 1 x.
remmir

#20 Příspěvek od remmir »

Děkuju za podrobný výklad. Nastuduju a vyzkouším.
Odpovědět

Zpět na „Řešení problémů s různými konstrukcemi“