PWM reiškia impulso pločio moduliaciją. Įjungiate ir išjungiate įtampą fiksuotu dažniu, pakeisdami įjungimo-laiko ir išjungimo-laiko santykį, kad galėtumėte valdyti vidutinį energijos tiekimą. Tai viskas. Likusi dalis yra tik pasekmių pašalinimas.
Pagrindinis mechanizmas
Paimkite 12 V maitinimo šaltinį, varantį šviesos diodą, kuriam reikia 3 V. Paprastai jūs naudojate rezistorių arba linijinį reguliatorių, sudeginkite 9 V kaip šilumą. Kvailas švaistymas. Naudodami PWM pakankamai greitai įjungiate ir išjungiate visą 12 V įtampą, kad šviesos diodo šiluminė masė būtų vidutinė. 25 % darbo ciklas, suteikiantis maždaug 3 V ekvivalentą. Šviesos diodas mato 12V → 0V → 12V → 0V esant gal 1kHz, bet jis negali taip greitai atvėsti ir įkaisti, todėl ryškumas išlieka pastovus.
Svarbus dažnis. Per lėtas (mažiau nei 100 Hz) ir matomas mirgėjimas. Kai kurie žmonės mato mirgėjimą iki 200 Hz. Aš paprastai naudoju šviesos diodų pritemdymą 20 kHz, kad būtų saugu,{6}}taip pat neleidžiu girdėti diapazono, jei yra mechaninis sujungimas. Perjungimo greitis taip pat turi įtakos nuostoliams, bet mes tai padarysime.
Matematika: jei jūsų mėnesinės yra T, o įjungimo laikas yra -t, darbo ciklas D=t/T. Paprasta. Tiekiama galia yra maždaug D × V_supply × I_load, atėmus nuostolius. Dėl tų praradimų viskas tampa įdomi.
Kodėl žmonės jį naudoja - tikrų priežasčių
Pirmoji priežastis: efektyvumas. MOSFET prisotinimas nukrenta gal 0,1-0,2 V esant protingoms srovėms. MOSFET išjungimas naudoja mikroamperus. Taigi jūs arba išsisklaidote (0,1 V × srovė), arba iš esmės nieko. Palyginkite tai su linijiniu reguliatoriumi, nuolat mažėjančiu 9 V visa srove. Baterijos veikimo trukmės skirtumas kai kuriais atvejais yra 40–50 kartų, tai nėra perdėta.
Antra: galite naudoti pigesnius maitinimo šaltinius. Reikia vairuoti 48 V variklį kintamu greičiu? Su analoginiu valdymu jums reikia brangaus kintamo 0–48 V maitinimo. Su PWM naudojate fiksuotą 48 V maitinimą (pigu) ir MOSFET (taip pat pigiai). Atlikta.
Trečia priežastis, apie kurią niekas nekalba: pirkimai. Pabandykite įsigyti gero kintamo analoginio tūrio šaltinio. Tinkamų gamintojų pristatymo laikas yra mažiausiai 26 savaitės. MOSFET? Viskas yra Digikey sandėlyje. Kai gamyba šaukia ant jūsų, tai svarbiau nei MK kaina.

Realios įgyvendinimo problemos
EMI tave apgaudinės. Pirmą kartą naudojant didelės-srovės PWM plokštę (120 A nuolatinės srovės varikliui), ji užmušė tos pačios transporto priemonės CAN magistralę. Nepažeisti paketai-visiškai negyvi. Paaiškėjo, kad mano vartų pavaros skambėjimas buvo sujungtas per važiuoklės įžeminimą, sukeldamas 40 V spyglius ant CAN diferencialo poros. Pridėta ferito karoliukų, perkelta teritorija, vis tiek buvo problemų. Galų gale reikėjo pridėti pi filtrą prie variklio maitinimo ir atskirti įžeminimo plokštes naudojant vieną -tašką. Paėmė tris lentos apsisukimus.
Vartų pavara yra sunkesnė, nei atrodo. Reikia mažos varžos nuo tvarkyklės iki MOSFET vartų-svarbi pėdsakų induktyvumas esant dideliam di/dt. Mačiau, kad 10nH pėdsakų induktyvumas sukelia 50 V įtampos šuolių perjungimo metu (V=L × di/dt). To pakanka, kad pramuštumėte 60 V vardinį MOSFET. Žmonės ginčijasi dėl matematikos, bet aš mačiau tai apie taikymo sritį: 3A/ns perjungimo srovė į 10nH suteikia 30V smaigalį. Pridėkite maitinimo įtampą ir viršysite absoliutų maksimalų įvertinimą.
Tada yra šaudymas-H-tiltuose. Nuo žemos-pusės FET iki aukštosios-pusės įjungimo (ir atvirkščiai) PRIVALOTE turėti laiko tarpą. Nulinis veikimo laikas reiškia, kad abu FET vienu metu -tiesiogiai veda trumpai nuo maitinimo iki žemės per FET kanalo varžas. 50A iki 0,01 Ω du kartus vis dar yra 1000 A mikrosekundėmis iki sprogimo. Gedimo režimas įspūdingas: mažas krateris silicyje, FET visam laikui sutrinka, išima visa kita grandinėje.
Tačiau per daug mirimo laiko ir kūno diodas laiduoja mirusio periodo metu. Kūno diodai yra baisūs-didelis kritimas į priekį (1-2V), lėtas atsistatymas. Prarandate efektyvumą ir generuojate daugiau šilumos. Kompromisas paprastai yra 100–500 ns, priklausomai nuo jūsų FET perjungimo charakteristikų.
Dažnio pasirinkimas nėra akivaizdus
Visų pirmas instinktas: aukštesnio dažnio=mažesni induktoriai/kondensatoriai=pigiau. Kartais tiesa. Tačiau perjungimo nuostoliai didėja didėjant dažniui,{4}}jūs prarandate energiją kiekvieną kartą, kai pereina FET. ES perjungimas ≈ 0,5 × V tiekimas × įkrovimas × (trise + tfall) × fsw. Dvigubai didesnis dažnis, dvigubai mažesnis perjungimo nuostolis.
Variklinėms pavaroms įprastas 20 kHz dažnis. Virš girdimų, mechaninės laiko konstantos nerūpi. Tačiau nešiojamojo kompiuterio maitinimo šaltinyje matote 300 kHz{13}}1 MHz. Kodėl? Mažesni magnetukai. 1MHz induktorius fiziškai yra 1/50 dydžio už 20 kHz induktorių, kurio induktyvumas yra toks pat. Tai didžiulis nešiojamiesiems įrenginiams. Kompromisas yra tas, kad jums reikia greitesnių FET (žemesnio Qg), geresnio išdėstymo, kruopštesnio tvarkyklės dizaino.
Garsas (D klasės stiprintuvai) veikia 250 kHz-1 MHz dažniu. Žemiau 200 kHz ir nešlio dažnį galite išgirsti kaip aukštą -tokį verkšlenimą. Virš 1MHz ir pradėsite kovoti su AM radijo trukdžiais. Dauguma dizainų nusistovi ties 400-500kHz, žemųjų dažnių filtras gal 50kHz, kad būtų pašalintas nešiklis.
Tikras pavyzdys: vieną kartą padarė 500 kHz buck konverterį, bandė pereiti prie 1MHz, kad sumažintų plokštę. Efektyvumas sumažėjo 4% (88% iki 84%). Tai yra 8 W papildomos šilumos tiekiant 200 W. Reikėjo didesnio radiatoriaus, prarado visas vietos taupymas dėl mažesnio induktoriaus. Išliko 500 kHz.

Rezoliucijos ribos
8-bitų PWM (256 žingsniai) skamba puikiai, kol nemėginate tolygiai pritemdyti šviesos diodo nuo 100 % iki 0 %. Jei darbo ciklas mažesnis nei 10 %, matomi ryškumo laipsniai. Žmogaus akis yra logaritminė – daug jautresnė pokyčiams esant silpnam apšvietimui. Norint sklandžiai pritemdyti visame diapazone, reikia mažiausiai 12 bitų (4096 žingsnių).
Bet čia yra klaida: 12 bitų esant 20 kHz reiškia, kad jums reikia 20 kHz × 4096=81.92MHz laikmačio. Ne visi mikroskopai gali tai padaryti. Ir jei jums reikia kelių nepriklausomų 12 bitų PWM kanalų, ieškote tam skirtų laikmačio periferinių įrenginių arba FPGA.
Sprendimas: naudokite 8-bitų PWM, bet dinamiškai reguliuokite dažnį. Esant dideliam ryškumui, paleiskite 20 kHz, esant mažam ryškumui, sumažinkite iki 100 Hz. Pateikia tikslesnius veiksmus ten, kur jų reikia. Bet dabar jūs turite susidoroti su kintamo dažnio EMI. Nieko nėra nemokamai.
Kai reikalai tampa dideli
Pramoniniai VFD (kintamo dažnio pavaros) perjungia šimtus amperų esant 480 VAC. Valdymo strategija yra sudėtingesnė-erdvės vektorių moduliacija, į lauką-orientuotas valdymas, nesvarbu,-bet po juo vis tiek yra PWM perjungimas šešių IGBT trijų-fazių tiltu.
Šio masto skirtumai:
Vartų vairuotojams reikia izoliuotų 15 V maitinimo šaltinių. Tai yra 6 izoliuoti maitinimo šaltiniai, plūduriuojantys skirtingais potencialais iki 680 VDC (rektifikuota 480 VAC). Kiekvienam vairuotojui reikia savo galios, savo vartų rezistoriaus (tipiška 0,5-2Ω), savos apsaugos nuo viršsrovių.
Mirties laikas padidėja iki 2–5 µs, nes IGBT yra lėtesni nei MOSFET
dv/dt filtrai išvestyje, nes variklio kabelio talpa ir greito perjungimo briaunos sukelia didžiules įprastas -režimo sroves. Išmatavau 20 A bendrojo režimo srovę 5 AG variklio kabelyje, visiškai atskirai nuo variklio srovės. Štai kodėl jums reikia ekranuotų kabelių ir tinkamo įžeminimo.
Šiluminis: net 2% nuostoliai prie 50kW yra 1kW šilumos. Vandens aušinimas su srauto jungikliais ir temperatūros blokatoriais. Jei aušinimo skysčio srautas nukrenta žemiau slenksčio, valdiklis nedelsdamas išjungia išėjimus. Matytos sistemos perdega, nes kažkas pamiršo patikrinti aušinimo skysčio lygį.
Komponentų pasirinkimas tampa keistas. IGBT, skirtas 100 A nepertraukiamai, gali apdoroti tik 80 A esant 50 laipsnių aplinkos temperatūrai, 60 A - 70 laipsnių. Tačiau užvedus didelį variklį, kelias sekundes ištraukiama 6x nominali srovė. Taigi jūs pasirenkate didžiausią, o ne pastovią-būseną, o tada sumažinate temperatūrą. Galų gale su 300A IGBT „100A“ programai. Dėl MK sąnaudų pirkimas labai nepatenkintas.
Mikrovaldiklio specifika
STM32 laikmačiai: dauguma turi 16 bitų PWM, kai kurie modeliai naudoja 32 bitų, bet jums jo retai reikia. Dar svarbiau yra palyginamų kanalų ir papildomų išėjimų skaičius. F4 serijos TIM1 ir TIM8 turi keturis lyginamuosius kanalus su papildomais išėjimais ir programuojamu termino įterpimu. Puikiai tinka variklio valdymui.
Problema: visi vieno laikmačio PWM kanalai yra sinchronizuojami su tuo pačiu skaitikliu. Jei jums reikia nepriklausomų dažnių, jums reikia atskirų laikmačių. Ir tik tiek daug laikmačių su pažangiomis funkcijomis. STM32F4 gausite TIM1, TIM8 pažangiam valdymui. TIM2-5 pagrindiniam PWM. TIM9-14 yra 16 bitų, negeneruojant termino. Jei programai reikia kelių izoliuotų PWM signalų, greitai išeikvojate.
Matyti dizainai, kuriuose jie įkando{0}}PWM programinėje įrangoje, nes baigėsi laikmačio kanalai. Siaubinga mintis. Virpėjimas, procesoriaus našta, prioriteto inversija, kai kiti nutraukia gaisrą. Tiesiog sumokėkite papildomus 2 USD už mikro su daugiau laikmačių arba naudokite išorinį PWM IC (pvz., PCA9685). Jūsų būsimas aš jums padėkos.
ESP32 turi 16 PWM kanalų naudojant LED PWM periferinį įrenginį. Skamba puikiai, išskyrus tai, kad jie visi yra gauti iš vieno 80 MHz APB laikrodžio ir dalijasi dalikliais grupėse. Norite skirtingų dažnių? Tikimės, kad tai sveikieji skaičiai. Be to, skiriamoji geba mažėja didėjant dažniui, nes naudojamas tas pats pagrindinis laikrodis. Esant 20 kHz dažniui gaunate 12 bitų, o esant 40 kHz – iki 11 bitų ir tt Duomenų lape tai neparodo akivaizdu.
Daugiau egzotiškų dalykų
PWM išplitimo-spektras: vietoj fiksuoto dažnio jį keičiate ±10 % atsitiktinai. Paskirsto EMI platesniame dažnių diapazone, sumažina didžiausią emisiją. Padeda išlaikyti FCC/CE testus be tiek daug filtravimo įrangos. Daugumoje šiuolaikinių SMPS lustų tai yra įmontuota. „Cypress PSoC“ netgi leidžia valdyti -pjūklo, trikampio, pseudo-atsitiktinio pjovimo modelį.
Interleaved PWM: paleiskite kelis keitiklius iš fazės. Du keitikliai, esant 180 laipsnių fazės poslinkiui, reiškia, kad įvesties kondensatorius mato pusę pulsacijos srovės. Keturi keitikliai, esant 90 laipsnių fazės poslinkiui,{4}}ketvirtinę pulsaciją. Bet dabar jums reikia tikslaus fazių sinchronizavimo tarp kanalų ir apkrovos balansavimo, kad jie vienodai dalytųsi srovę. Paprastai reikalingas specialus valdiklio IC, nebent jūsų mikro turi pakankamai išteklių.
GaN FET gali įsijungti mažiau nei 10 n. Atveria 10MHz+ PWM dažnių{4}}induktoriai tampa maži, beveik tik PCB pėdsakai. Tačiau: plokštės išdėstymas yra labai svarbus, vartų pavarai reikia rimto dėmesio, bet koks induktyvumas sukelia didžiulį viršijimą. Ne pradedantiesiems. Mačiau GaN dizaino žiedą prie 2x VDD, nes kažkas naudojo standartinę vartų pavarą su 5 cm ilgio pėdsaku. FET neišgyveno.

Ką aš iš tikrųjų darau
Daugumai dalykų: 20 kHz, aparatinės įrangos laikmatis PWM, 10-bitų skiriamoji geba. Daug varikliui valdyti ir LED pritemdymui. Pridėkite vartų tvarkyklės IC (minimali 2A didžiausia srovė), mažo ESR keraminius dangtelius tiesiai prie FET nutekėjimo, riebalų įžeminimo plokštę. Patikrinkite perjungimo bangų formas naudodami pirmojo prototipo taikymo sritį, tikėkitės, kad kartosis vieną kartą.
Viskam, kas viršija 10A, nenutrūkstamas terminis modeliavimas prieš išdėstymą. Aš naudoju ANSYS, bet net ir pagrindinė FEA sugauna daugumą problemų. Eksportuokite vario sluoksnius su nuostoliais kaip šilumos šaltinius, nustatykite ribines sąlygas, patikrinkite, ar kas nors pasiekia 125 laipsnių sankryžos temperatūrą esant maksimaliai aplinkos temperatūrai. Paprastai reikia radiatorių arba priverstinio oro, jei perjungiate daugiau nei 50 W.
Ir išbandykite jį temperatūroje. Kambario temperatūros bandymai užfiksuoja gal 60% problemų. Įkaitusi-dėžė 70 laipsnių aplinkos temperatūroje 8 valandas nustato likusį-šilumą, vartų slenksčio poslinkį, kondensatoriaus ESR padidėjimą. Man kainavo savaitė vieną kartą, kai dizainas puikiai veikė esant 25 laipsniams, bet FET užsifiksavo ties 65 laipsniais, nes neatsižvelgiau į slenkstinės įtampos temperatūros koeficientą.
Tai PWM. Paprasta koncepcija, begalė detalių.
Tai PWM. Paprasta koncepcija, begalė detalių.
Paskutinis dalykas: jei dirbate su baterijomis{0}}maitinamu PWM, nebranginkite elementų. Vieną kartą išbandyti kai kurie be -pavadinimo ličio paketai-neatlaikė pulsuojančios srovės, įtampa nukrito veikiant apkrovai, visa sistema apdegė. Perjungta į tinkamąjoninė ličio baterijamoduliai, turintys tinkamą C{0}}vertinimą, problema išnyko. Papildomi 15 USD už pakuotę sutaupė mane nuo trijų pagalbos skambučių per savaitę.

