PWM znamená Pulse Width Modulation. Zapínáte a vypínáte napětí s pevnou frekvencí a měníte poměr doby zapnutí-do doby vypnutí-, abyste řídili průměrnou dodávku energie. To je vše. Zbytek je jen řešení důsledků.
Základní mechanismus
Vezměte 12V napájení pro LED, které potřebuje 3V. Normálně byste použili rezistor nebo lineární regulátor, spálili 9V jako teplo. Hloupý odpad. S PWM zapínáte a vypínáte plných 12 V dostatečně rychle, aby to tepelná hmotnost LED zprůměrovala z . 25% pracovního cyklu, což odpovídá zhruba 3V. LED dioda vidí 12V → 0V → 12V → 0V při možná 1kHz, ale nemůže se tak rychle ochladit a zahřát, takže jas zůstává konstantní.
Na frekvenci záleží. Příliš pomalé (pod 100 Hz) a dochází k viditelnému blikání. Někteří lidé vidí blikání až do 200 Hz. Pro jistotu obvykle používám stmívání LED na 20 kHz-také je udržuje mimo slyšitelný rozsah, pokud existuje nějaká mechanická vazba. Rychlost přepínání ovlivňuje i ztráty, ale k tomu se ještě dostaneme.
Matematika: pokud je vaše perioda T a čas-času je t, pracovní cyklus D=t/T. Jednoduchý. Dodávaný výkon je zhruba D × V_supply × I_load, mínus ztráty. Tyto ztráty jsou místa, kde jsou věci zajímavé.
Proč to lidé používají - skutečné důvody
První důvod: účinnost. MOSFET v saturaci klesne možná o 0,1-0,2V při rozumných proudech. MOSFET vypnutý odebírá mikroampéry. Takže buď rozptylujete (0,1V × proud), nebo v podstatě nic. Porovnejte to s lineárním regulátorem, který nepřetržitě klesá 9V při plném proudu. Rozdíl ve výdrži baterie je v některých případech 40-50x, což není přehnané.
Za druhé: můžete použít levnější napájecí zdroje. Potřebujete pohánět 48V motor s proměnnou rychlostí? S analogovým ovládáním potřebujete drahé variabilní napájení 0-48V. S PWM používáte pevné napájení 48V (levné) a MOSFET (také levné). Hotovo.
Třetí důvod, o kterém nikdo nemluví: zadávání zakázek. Zkuste získat dobré proměnlivé analogové napájení v objemu. Dodací lhůty jsou minimálně 26 týdnů od slušných výrobců. MOSFETy? Vše je skladem na Digikey. Když na vás výroba křičí, záleží na tom víc než na nákladech na kusovník.

Skutečné problémy s implementací
EMI vás posere. Když jsem poprvé udělal -proudovou desku PWM (120 A pro stejnosměrný motor), zabilo to sběrnici CAN na stejném vozidle. Nepoškozené pakety-zcela mrtvé. Ukázalo se, že moje zvonění pohonu brány bylo spojeno skrz kostru podvozku a indukovalo 40V špičky na páru diferenciálu CAN. Přidané feritové korálky, přesunutí půdy kolem, stále problémy. Nakonec bylo nutné přidat pí filtr na napájení motoru a oddělit zemní plochy pomocí jednoho-bodového připojení. Vzal tři otáčky desky.
Pohon brány je těžší, než se zdá. Potřebujete nízkou impedanci mezi ovladačem a hradlem MOSFET-při vysoké di/dt záleží na trasovací indukčnosti. Viděl jsem, že 10nH sledovací indukčnosti způsobuje 50V napěťové špičky během přepínání (V=L × di/dt). To stačí k proražení 60V MOSFETu. Lidé se hádají o matematice, ale viděl jsem to na rozsahu: 3A/ns spínací proud do 10nH vám dává 30V špičku. Přidejte napájecí napětí a jste nad absolutním maximálním hodnocením.
Pak je tu prostřel-v H-mostech. Mezi vypnutím nízkého-FET a zapnutím-vysoké strany MUSÍTE mít mrtvou dobu (a naopak). Nulová mrtvý čas znamená, že oba FETy vedou současně-přímý zkrat od napájení k zemi přes odpory kanálu FET. 50A až 0,01Ω dvakrát je stále 1000A po dobu mikrosekund, než věci explodují. Režim selhání je velkolepý: malý kráter v křemíku, FET se trvale zkracuje a odstraňuje vše ostatní v řetězci.
Ale příliš mnoho mrtvého času a dioda těla vede během mrtvého období. Tělesné diody jsou hrozné-vysoký propad (1-2V), pomalé zotavení. Ztrácíte účinnost a vytváříte více tepla. Kompromis je obvykle 100-500 ns mrtvý čas v závislosti na spínacích charakteristikách vašeho FET.
Volba frekvence není jasná
První instinkt každého: vyšší frekvence o=menší tlumivky/kondenzátory=levnější. Někdy pravda. Ale ztráty při přepínání se zvyšují s frekvencí-při každém přechodu FET ztrácíte energii. EPřepínání ≈ 0,5 × V napájení × zatížení × (trise + tfall) × fsw. Dvojnásobná frekvence, dvojnásobná spínací ztráta.
Pro motorové pohony je běžné 20 kHz. Nad slyšitelnými se mechanické časové konstanty nestarají. Ale v napájecím zdroji notebooku vidíte 300 kHz-1 MHz. Proč? Menší magnety. 1MHz induktor je fyzicky 1/50 velikosti 20kHz induktoru se stejnou indukčností. To je u přenosných zařízení obrovské. Kompromisem je, že potřebujete rychlejší FETy (nižší Qg), lepší rozložení, pečlivější design ovladače.
Zvuk (zesilovače třídy D) běží na frekvenci 250 kHz-1 MHz. Pod 200 kHz a nosnou frekvenci uslyšíte jako vysoké-pískání. Nad 1 MHz a začnete bojovat s rušením AM rádia. Většina návrhů se ustálí na 400-500 kHz, low-pass filtr na možná 50 kHz, aby se odstranil nosič.
Skutečný příklad: jednou konvertor 500kHz doláč zkusil přejít na 1MHz, aby se deska zmenšila. Účinnost klesla o 4 % (88 % na 84 %). To je 8W tepla navíc ve 200W zdroji. Potřeboval větší chladič, ztratil jsem všechny úspory místa díky menšímu induktoru. Zůstal na 500 kHz.

Limity rozlišení
8-bitové PWM (256 kroků) zní dobře, dokud se nepokusíte plynule ztlumit LED ze 100 % na 0 %. Pod 10 % pracovního cyklu získáte viditelné kroky jasu. Lidské oko je logaritmické - mnohem citlivější na změny při nízké úrovni osvětlení. Pro plynulé stmívání v celém rozsahu potřebujete minimálně 12 bitů (4096 kroků).
Ale tady je háček: 12bitový na 20kHz znamená, že potřebujete 20kHz × 4096=81.92MHz hodiny časovače. Ne všechny mikroorganismy to umí. A pokud potřebujete více nezávislých PWM kanálů na 12bitové úrovni, hledáte vyhrazené periferie s časovačem nebo FPGA.
Řešení: použijte 8-bitové PWM, ale upravujte frekvenci dynamicky. Při vysokém jasu běžte na 20 kHz, při nízkém jasu klesejte na 100 Hz. Poskytuje jemnější kroky tam, kde je potřebujete. Ale teď se musíte vypořádat s EMI s proměnnou frekvencí. Nic není zadarmo.
Když jsou věci velké
Průmyslové VFD (frekvenční měniče) spínají stovky ampérů při 480VAC. Strategie řízení je složitější-prostorová vektorová modulace, pole-orientované řízení, cokoliv-, ale pod ní je stále PWM spínající šest IGBT ve tří-fázovém můstku.
Rozdíly v tomto měřítku:
Ovladače brány potřebují 15V izolované zdroje. To je 6 izolovaných zdrojů plovoucích na různých potenciálech až do 680 V DC (usměrněno 480 V AC). Každý driver potřebuje vlastní napájení, vlastní hradlový odpor (typicky 0,5-2Ω), vlastní nadproudovou ochranu.
Deadtime se zvyšuje na 2-5 µs, protože IGBT jsou pomalejší než MOSFET
dv/dt filtry na výstupu, protože kapacita kabelu motoru a rychlé spínací hrany způsobují obrovské proudy v běžném{0}}režimu. Naměřil jsem 20A běžného-režimu proudu na 5HP kabelu motoru, zcela odděleně od proudu motoru. Proto potřebujete stíněné kabely a správné uzemnění.
Tepelné: i 2% ztráta při 50kW je 1kW tepla. Vodní chlazení s průtokovými spínači a teplotními zámky. Pokud průtok chladicí kapaliny klesne pod prahovou hodnotu, regulátor okamžitě deaktivuje výstupy. Viděné systémy hoří, protože někdo zapomněl zkontrolovat hladinu chladicí kapaliny.
Výběr komponentů je divný. IGBT dimenzovaný na nepřetržitý proud 100 A může zvládnout pouze 80 A při 50 stupních okolního prostředí, 60 A při 70 stupních. Ale spuštění velkého motoru odebírá 6x jmenovitý proud po dobu několika sekund. Nastavíte tedy velikost pro maximální, nikoli ustálený-stav, a poté snížíte teplotu. Skončete s 300A IGBT pro "100A" aplikaci. Náklady na kusovník činí nákup velmi nešťastným.
Specifika mikrokontroléru
Časovače STM32: většina má 16bitové PWM, některé modely jdou na 32bitové, ale zřídka je potřebujete. Důležitější je počet porovnávacích kanálů a doplňkových výstupů. TIM1 a TIM8 na řadě F4 mají čtyři porovnávací kanály, každý s doplňkovými výstupy a programovatelným vkládáním mrtvého času. Ideální pro ovládání motoru.
Problém: všechny PWM kanály na jednom časovači jsou synchronizovány se stejným čítačem. Pokud potřebujete nezávislé frekvence, potřebujete samostatné časovače. A existuje jen tolik časovačů s pokročilými funkcemi. Na STM32F4 získáte TIM1, TIM8 pro pokročilé ovládání. TIM2-5 pro základní PWM. TIM9-14 jsou 16bitové bez generování deadtime. Pokud aplikace potřebuje více izolovaných PWM signálů, rychle se vyčerpáte.
Viděli jsme návrhy, kde-narušily PWM v softwaru, protože jim došly kanály časovače. Strašná představa. Jitter, režie CPU, inverze priority, když se spustí jiná přerušení. Stačí zaplatit 2 $ navíc za mikroprocesor s více časovači nebo použít externí PWM IC (jako PCA9685). Vaše budoucí já vám poděkuje.
ESP32 má 16 PWM kanálů pomocí LED PWM periferie. Zní to skvěle, až na to, že jsou všechny odvozeny z jednoho 80MHz APB hodin a sdílejí děliče ve skupinách. Chcete různé frekvence? Doufám, že jsou to celočíselné poměry. Rozlišení také klesá s rostoucí frekvencí, protože používá stejné základní hodiny. Při 20 kHz získáte 12 bitů, při 40 kHz se snížíte na 11 bitů atd. Datasheet to neuvádí.
Exotičtější věci
PWM s rozprostřeným{0}}spektrem: místo pevné frekvence ji náhodně rozkolísáte ±10 %. Šíří EMI do širšího frekvenčního rozsahu, snižuje špičkové emise. Pomáhá projít testováním FCC/CE bez velkého množství filtrovacího hardwaru. Většina moderních čipů SMPS to má zabudované. Cypress PSoC vám dokonce umožňuje ovládat vzor rozkladu-pilový, trojúhelníkový, pseudo-náhodný.
Interleaved PWM: provoz více konvertorů mimo fázi. Dva převodníky s fázovým posunem o 180 stupňů znamenají, že vstupní kondenzátor vidí polovinu zvlněného proudu. Čtyři konvertory s 90stupňovým fázovým posunem-čtvrtinu zvlnění. Nyní však potřebujete přesnou fázovou synchronizaci mezi kanály a vyrovnávání zátěže, aby sdílely proud rovnoměrně. Obvykle potřebuje vyhrazený řadič IC, pokud vaše mikro nemá dostatek zdrojů.
GaN FETy se mohou přepínat pod 10ns. Otevírá frekvence 10MHz+ PWM-induktory se stávají malými, téměř jen stopy PCB. Ale: rozložení desky je kritické, pohon brány vyžaduje vážnou pozornost, jakákoli indukčnost způsobuje masivní překmit. Ne pro začátečníky. Viděl jsem designový prsten GaN na 2x VDD, protože někdo použil standardní ovladač brány s délkou stopy 5 cm. FET nepřežil.

Co vlastně dělám
Pro většinu věcí: 20 kHz, hardwarový časovač PWM, 10-bitové rozlišení. Dostatek pro ovládání motoru a stmívání LED. Přidejte hradlový ovladač IC (minimální špičkový proud 2A), keramické krytky s nízkým ESR přímo na odtok FET, tučnou zemnicí plochu. Zkontrolujte spínací křivky pomocí osciloskopu na prvním prototypu, počítejte s jednou iterací.
Pro cokoliv nad 10A nepřetržitá tepelná simulace před rozložením. Používám ANSYS, ale i základní FEA zachytí většinu problémů. Exportujte měděné vrstvy se ztrátami jako zdroje tepla, nastavte okrajové podmínky, zkontrolujte, zda něco nedosahuje teploty přechodu 125 stupňů při maximální okolní teplotě. Obvykle potřebujete chladiče nebo nucený vzduch, pokud spínáte více než 50W.
A otestuj to při teplotě. Testování pokojové teploty zachytí možná 60 % problémů. Hot-box při okolní teplotě 70 stupňů po dobu 8 hodin najde zbytek-tepelný únik, posunutí prahu brány, zvýšení ESR kondenzátoru. Jednou mě to stálo týden, když návrh fungoval dobře při 25 stupních, ale FET se zachytil na 65 stupních, protože jsem nezohlednil teplotní koeficient prahového napětí.
To je PWM. Jednoduchý koncept, nekonečné detaily.
To je PWM. Jednoduchý koncept, nekonečné detaily.
Poslední věc: pokud pracujete-na bateriemi PWM, nezlevněte články. Jednou jsme vyzkoušeli některé bez{2}}lithiové baterie-nezvládly zvlněný proud, napětí při zátěži kleslo, celý systém zhnědl. Přepnuto na správnéiontová lithiová bateriemoduly se slušným hodnocením C-, problém zmizel. Těch dalších 15 USD za balíček mi zachránilo tři telefonáty na podporu týdně.

