Jste zde

Synchronizace PWM výstupů pro efektivnější řízení motorů

PWM výstupy se běžně používají k ovládání krokových motorů nebo výkonových MOSFET tranzistorů. U těchto typů zátěží, je důležité, aby PWM průběhy byly přesně synchronizovány. Jen díky přesné synchronizaci lze dosáhnout výkonného a plynulého provozu cílové zátěže.

Pokud PWM výstupy nejsou správně naprogramovány, může dojíti k fázovému zpoždění, které způsobuje ztrátu synchronizace. Jednoduše řečeno, hrany jednotlivých pulzů PWM musí být správně seřazeny ve správný okamžik. Fázové zpoždění způsobuje neefektivní řízení energie, a to může způsobit nadměrné zahřívání zátěže. U bateriově napájených zařízení je nutné jednotlivé PWM výstupy zapínat či vypínat, aby docházelo k úspoře energie. Právě toto zapínání a vypínání jednotlivých PWM kanálů způsobuje zmíněné fázové zpoždění.

Tento článek se bude věnovat mikroprocesorům Maxim Integrated, kde jsou PWM navrženy speciálně tak, aby nedošlo ke ztrátě synchronizace. S tím souvisí správná konfigurace, která umožní efektivní řízení zátěže.

PWM výstupy a jejich zátěže

Většina mikroprocesorů mají v sobě implementovány alespoň jeden PWM výstup. PWM výstup se používá pro ovládání jednoduchých zátěží jako jsou LED diody, ale i složitých zařízení jako jsou motory.

U LED diod se PWM výstup používá pro řízení jasu. Ve srovnání s řízením jasu pomocí změny stejnosměrného proudu, lze pomocí PWM, nastavit jas daleko přesněji a nedochází ke změně barvy. PWM výstup může řídit jednu nebo více LED diod. Pokud jsou LED diody používány jako vizuální indikátory pro provozovatele, fázové rozdíly mezi dvěma nebo více LED diodami nejsou patrné. V případě, že LED diody jsou používány komplexně, kde více LED diod přenáší data na optické receptory, pak synchronizace LED může být důležitým faktorem.

Další možností využití PWM výstupu je řízení DC motoru. Rychlost otáček DC motoru lze regulovat pomocí změny stejnosměrného napětí, ale PWM modulace umožňuje přesnější nastavení rychlosti otáček. Někdy se využívá snímač otáček, který je zapojen do uzavřené zpětné smyčky, a díky němu lze dosáhnout ještě větší přesnosti. Pokud je nutné řídit dva a více DC motorů, které jsou na sobě závislé, je vhodné použít PWM modulaci pro lepší synchronizaci rychlosti otáček jednotlivých motorů.

Řízení krokového motoru

Bipolární krokový motor osahuje dvě vinutí (obrázek 1), kde každé vinutí vyžaduje dva PWM výstupy. takže jsou zapotřebí čtyři PWM výstupy.

Obrázek 1: Bipolární krokový motor obsahuje dvě vinutí (červená a zelená cívka). Řízením fáze a změnou doby trvání proudu ve vinutí je možné snadno měnit rychlost a polohu motoru. (Zdroj obrázku: Digi-Key)

Jak je vidět na obrázku 1, proudové vinutí reprezentované červenou a zelenou cívkou je nutné ovládat pomocí impulsů ve správném pořadí, aby motor pracoval správně.

Obrázek 2: Každá ze dvou cívek bipolárního krokového motoru musí být řízena v souladu s výše uvedeným grafem. Proud v každé cívce teče nejprve v jednom směru a v ten moment je další cívka v klidovém stavu. Pak proud teče v opačném směru. (Zdroj obrázku: Digi-Key)

Každý krok motoru začíná v každém přechodu signálu. Jak je vidět na obrázku 2, změna polarity napětí jednotlivých vinutí znamená jeden krok motoru. Fázové zpoždění některého z PWM signálu vede ke „kousavému“ chodu motoru. To vede ke ztrátě točivého momentu zejména při nízkých rychlostech.

Mikroprocesorem se čtyřmi PWM výstupy lze jednoduše ovládat krokový motor, ale je nutné zajistit správnou synchronizaci jednotlivých výstupů. Složitější situace nastává, pokud je nutné použít více PWM výstupů pro řízení více zátěží. Například jsou použity čtyři PWM výstupy pro řízení krokového motoru a další pro ovládaní jasu LED diod. PWM výstupy mají nakonfigurovány příslušnou frekvenci a střídu. Pouze se řídí jejich zapnutí a vypnutí jednotlivých výstupů pomocí daného registru.

ARM mikroprocesorech se příslušné bity nastavují pomocí metody bit banding. Bit banding provádí čtení/modifikaci/zápis (read/modify/write - RMW) na cílovém registru. Může nastat situace, kdy během čtení/modifikace/zápisu (RMW) dojde k nastavení bitu enable/disable – start/ukončení PWM výstupu, a to může způsobit neočekávané chování.

Maxim Integrated nabízí mikroprocesor MAX32650 Arm Cortex-M4F, který má vnitřní funkce pro řešení problematiky PWM. Běží na frekvenci 120 MHz a má celou řadu periferií. Tři standardní SPI rozhraní, jeden Quad SPI, tři UART porty a dva I2C porty, Hi-Speed USB 2.0 rozhraní s fyzickou vrstvou (PHY), šest 32bitových časovačů a AES- 256 šifrovací jednotky (obrázek 3).

Obrázek 3: MAX32650 od Maxim Integrated je založen na 120 MHz jádru ARM Cortex-M4F a má celou řadu periferiíí. (Zdroj obrázku: Maxim Integrated)

Flash paměť o velikosti 3 MB a 1 MB SRAM paměť je dostatečná pro koncové body internetu věcí. MAX32650 má také 16 PWM výstupů s nastavitelnou frekvencí a střídou. Navíc je možné impulsy generovat na základě programovatelného bitového vzoru, který může mít délku až 32 bitů (bit pattern).

Fázové zpoždění

Pulsní generátor může jednotlivě aktivovat nebo deaktivovat některé z 16 výstupů PWM pomocí 32bitového PTG_ENABLE registru. K udržení fázové synchronizace mezi jednotlivými výstupy podporuje pulsní generátor v MAX32650 unikátní funkce nazývanou Safe Enable a Safe Disable. Každá využívá svůj 32 bitový registr - PTG_SAFE_EN a PTG_SAFE_DIS. Horních 16 bitů každého z těchto registrů je nevyužita a doporučuje se, aby nevyužité pozice byly vždy zapsány nulami.

Bezpečná aktivace některého z výstupů znamená zapsání logické 1 na odpovídající bitovou pozici v PTG_SAFE_EN. Tím se okamžitě nastaví bitová pozice v PTG_ENABLE a odstartuje PWM výstup. Logická 0 na jakékoliv bitové pozici v PTG_SAFE_EN nemá žádný vliv na výstup.

Chcete-li bezpečně zakázat daný výstup, je nutné zapsat logickou 1 na odpovídající bitovou pozici v PTG_SAFE_DIS. To okamžitě nastaví logickou nulu na bitovou pozici v PTG_ENABLE a vypne výstup PWM. Logická 0 na jakékoliv bitové pozici v PTG_SAFE_DIS nemá žádný vliv na výstup.

Safe Enable / Disable funkce zaručují, že nebudou ovlivněny jiné výstupy. Bit-banding není podporována v registrech PTG_SAFE_EN a PTG_SAFE_DIS. Funkce Safe Enable / Disable zajišťuje, že krokový motor pracuje efektivně a nedochází ke ztátě energie a udržuje maximální točivý moment v každém okamžiku.

Výstupy mikroprocesoru nelze přímo připojit ke krokovému motoru. Je nutné použít driver nebo H-můstek. Duální H-můstek A3909GLYTR-T od Allegro MicroSystems je navržen pro motory, které jsou napájeny od 4 do 18 V a jejich vinutí potřebuje proud až 1 A (obrázek 4).

Obrázek 4: A3909 od Allegro Microsystems je duální H-můstek, který je schopen dodávat až 1 A. (Zdroj obrázku: Allegro Microsystems)

A3909 je vybaven tepelnou a nadproudovou ochranou a také ochranou proti zkratu. Každý vstup (INx) ovládá odpovídající výkonový výstup (OUTx). PWM výstupy 0 a 1 mikroprocesoru MAX32650 lze připojit na vstupy IN1 a IN2 (zelená), které ovládají výkonové výstupy OUT1 a OUT2 připojené k zeleným cívkám motoru. PWM výstupy 2 a 3 jsou připojeny ke vstupům IN3 a IN4 (červená), které ovládají výkonové výstupy OUT3 a OUT4 připojené k červeným cívkám motoru.

A3909 podporuje užitečnou funkci vysoké impedance. To znamená, že jsou-li oba vstupy H-můstku nastaveny na logickou 0 na dobu větší než 1 milisekundu, pak oba výstupy se uvedou do stavu vysoké impedance. Cívku, která je v nečinnosti je vhodné uvést do vysoké impedance, aby nedocházelo ke zbytečnému průchodu proudu, a tím snížení účinnosti. Pokud jsou všechny čtyři vstupy (oba páry) drženy na nízké úrovni po dobu delší než 1 ms oba výstupní páry jdou okamžitě do vysoké impedance. V datasheetu se tento stav nazývá režimem spánku.

Závěr

Běžné PWM výstupy mikroprocesorů se používá k řízení motorů nebo výkonových MOSFET tranzistorů. Správné řízení PWM signálu je zárukou efektivního řízení bez ztráty energie, která by se přeměnila ve zbytečné teplo. Některé typy mikroprocesorů jako je MAX32650 mají vnitřní mechanismy, které nedovolí, aby docházelo k fázovému zpoždění nebo ke ztrátě synchronizace a následného poškození připojené zátěže.

 

Článek vyšel v originále na webu DigiKey.com, autorem je Bill Jovinus

Hodnocení článku: