faBoole taal

Wat is PWM?

Nov 11, 2025

Los 'n boodskap

PWM staan ​​vir Pulse Width Modulation. Jy skakel spanning aan en af ​​teen 'n vaste frekwensie, en verander die verhouding van aan-tyd tot af-tyd om gemiddelde kraglewering te beheer. Dit is dit. Die res is net die hantering van die gevolge.

Die basiese meganisme

 

Neem 'n 12V-toevoer wat 'n LED aandryf wat 3V benodig. Normaalweg sal jy 'n weerstand of lineêre reguleerder gebruik, 9V as hitte afbrand. Dom vermorsing. Met PWM skakel jy die volle 12V aan en af ​​vinnig genoeg dat die LED se termiese massa dit gemiddeld . 25% dienssiklus gee vir jou ongeveer 3V ekwivalent. Die LED sien 12V → 0V → 12V → 0V teen miskien 1kHz, maar dit kan nie so vinnig afkoel en verhit nie, so helderheid bly konstant.

Frekwensie maak saak. Te stadig (onder 100Hz) en jy kry sigbare flikkering. Sommige mense sien flikkering tot 200Hz. Ek laat gewoonlik LED-verduistering teen 20kHz doen net om veilig te wees-hou dit ook buite die hoorbare reeks as daar enige meganiese koppeling is. Die omskakeling van spoed beïnvloed ook verliese, maar ons sal daarby uitkom.

Die wiskunde: as jou tydperk T is en aan-tyd is t, dienssiklus D=t/T. Eenvoudig. Krag gelewer is rofweg D × V_toevoer × I_lading, minus verliese. Daardie verliese is waar dinge interessant raak.

 

Hoekom mense dit gebruik - ware redes

 

Eerste rede: doeltreffendheid. MOSFET in versadiging daal miskien 0.1-0.2V teen redelike strome. MOSFET af trek mikroamps. So jy dissipeer óf (0.1V × stroom) óf basies niks. Vergelyk dit met 'n lineêre reguleerder wat voortdurend 9V teen volle stroom laat val. Die verskil in batterylewe is in sommige gevalle 40-50x, nie oordryf nie.

Tweedens: jy kan goedkoper kragbronne gebruik. Moet jy 'n 48V-motor teen veranderlike spoed bestuur? Met analoog beheer benodig jy 'n duur veranderlike 0-48V toevoer. Met PWM gebruik jy 'n vaste 48V toevoer (goedkoop) en 'n MOSFET (ook goedkoop). Klaar.

Derde rede waaroor niemand praat nie: verkryging. Probeer om 'n goeie veranderlike analoogvoorraad in volume te verkry. Leertye is minimum 26 weke vanaf ordentlike vervaardigers. MOSFET's? Alles is in voorraad by Digikey. Wanneer produksie op jou skree, maak dit meer saak as die BOM-koste.

 

PWM

 

Werklike implementeringsprobleme

 

EMI sal jou moer. Die eerste keer dat ek 'n hoë-stroom PWM-bord (120A vir 'n GS-motor) gedoen het, het dit die CAN-bus op dieselfde voertuig doodgemaak. Nie beskadigde pakkies-heeltemal dood nie. Dit het geblyk dat my hekaandrywing deur die onderstelgrond gekoppel is, wat 40V-punte op die CAN-ewenaarpaar veroorsaak het. Ferrietkrale bygevoeg, gronde rondgeskuif, het steeds probleme gehad. Moes uiteindelik 'n pi-filter op die motortoevoer byvoeg en die grondvlakke skei met 'n enkele-puntverbinding. Het drie bordtoere geneem.

Hekaandrywing is moeiliker as wat dit lyk. Jy benodig lae impedansie van jou drywer na die MOSFET-hek-spoor induktansie saak by hoë di/dt. Ek het gesien hoe 10nH spoorinduktansie 50V spanningspieke veroorsaak tydens skakeling (V=L × di/dt). Dit is genoeg om deur 'n 60V-gegradeerde MOSFET te slaan. Mense stry oor die wiskunde, maar ek het dit op die omvang gesien: 3A/ns skakelstroom na 10nH gee jou 30V piek. Voeg die toevoerspanning by en jy is oor die absolute maksimum gradering.

Dan is daar skiet-deur in H-brûe. Jy MOET spertyd hê tussen die afskakel van die lae-kant FET en die draai aan die hoë-kant (en omgekeerd). Geen doodtyd beteken beide VOO's voer gelyktydig-direkte kortsluiting van toevoer na grond deur die VOO-kanaalweerstande. 50A tot 0.01Ω twee keer is steeds 1000A vir die mikrosekondes voordat dinge ontplof. Die mislukkingsmodus is skouspelagtig: klein krater in die silikon, FET gaan permanent kort, haal al die ander in die ketting uit.

Maar te veel dooie tyd en die liggaamsdiode gelei gedurende die dooie tydperk. Liggaamsdiodes is verskriklik-hoë vorentoe val (1-2V), stadige herstel. Jy verloor doeltreffendheid en genereer meer hitte. Uitruiling is gewoonlik 100-500ns se spertyd, afhangende van jou VOO se skakelkenmerke.

 

Frekwensiekeuse is nie voor die hand liggend nie

 

Almal se eerste instink: hoër frekwensie=kleiner induktors/kapasitors=goedkoper. Soms waar. Maar skakelverliese neem toe met frekwensie-jy verloor energie elke keer as die VOO oorgaan. ESwitching ≈ 0.5 × Vtoevoer × Ilading × (trise + tfall) × fsw. Verdubbel die frekwensie, verdubbel die skakelverlies.

Vir motoraandrywings is 20kHz algemeen. Bo hoorbare, meganiese tydkonstantes gee nie om nie. Maar in 'n skootrekenaarkragbron sien jy 300kHz-1MHz. Hoekom? Kleiner magnetika. 'n 1MHz induktor is fisies 1/50ste van die grootte van 'n 20kHz een met dieselfde induktansie. Dit is groot vir draagbare toestelle. Afweging is dat jy vinniger VOO's (laer Qg), beter uitleg, meer versigtige bestuurderontwerp nodig het.

Oudio (Klas D-versterkers) loop 250kHz-1MHz. Onder 200kHz en jy kan die drafrekwensie hoor as 'n hoë-tjank. Bo 1MHz en jy begin baklei met AM-radio-interferensie. Die meeste ontwerpe vestig by 400-500kHz, laagdeurlaatfilter by miskien 50kHz om die draer te verwyder.

Werklike voorbeeld: het een keer 'n 500kHz buck converter gedoen, probeer om na 1MHz te gaan om die bord te krimp. Doeltreffendheid het 4% gedaal (88% tot 84%). Dit is 8W ekstra hitte in 'n 200W toevoer. Het 'n groter heatsink nodig gehad, al die spasiebesparing van die kleiner induktor verloor. Op 500kHz gebly.

 

PWM

 

Resolusie perke

 

8-bis PWM (256 stappe) klink goed totdat jy probeer om 'n LED glad van 100% tot 0% te verdof. Onder 10% dienssiklus kry jy sigbare stappe in helderheid. Menslike oog is logaritmies - baie meer sensitief vir veranderinge by lae ligvlakke. Benodig 12-bis (4096 stappe) minimum vir gladde verduistering oor die volle reeks.

Maar hier is die vangplek: 12-bis by 20kHz beteken dat jy 20kHz × 4096=81.92MHz timerklok nodig het. Nie alle mikro's kan dit doen nie. En as jy verskeie onafhanklike PWM-kanale teen 12-bis benodig, kyk jy na toegewyde timer-randapparatuur of 'n FPGA.

Oplossing: gebruik 8-bis PWM maar pas die frekwensie dinamies aan. By hoë helderheid hardloop 20kHz, by lae helderheid daal tot 100Hz. Gee jou fyner treë waar jy dit nodig het. Maar nou het jy veranderlike-frekwensie EMI om te hanteer. Niks is gratis nie.

 

Wanneer dinge groot word

 

Industriële VFD's (veranderlike frekwensie-aandrywers) skakel honderde amps teen 480VAC oor. Die beheerstrategie is meer kompleks-ruimtevektormodulasie, veld-georiënteerde beheer, wat ook al-maar daaronder is dit steeds PWM wat ses IGBT's in 'n drie-fase-brug omskakel.

Verskille op hierdie skaal:

Hekbestuurders benodig 15V geïsoleerde toevoer. Dit is 6 geïsoleerde toevoer wat teen verskillende potensiaal dryf tot 680VDC (reggerigte 480VAC). Elke drywer benodig sy eie krag, sy eie hekweerstand (0.5-2Ω tipies), sy eie oorstroombeskerming.

Sterftetyd neem toe tot 2-5µs omdat IGBT's stadiger is as MOSFET's

dv/dt filters op die uitset omdat motorkabelkapasitansie plus vinnige skakelrande groot algemene-modusstrome veroorsaak. Ek het 20A van gewone-modusstroom op 'n 5HP-motorkabel gemeet, heeltemal apart van die motorstroom. Dit is hoekom jy afgeskermde kabels en behoorlike aarding nodig het.

Termies: selfs 2% verlies by 50kW is 1kW hitte. Waterverkoeling met vloeiskakelaars en temperatuurvergrendelings. As koelmiddelvloei onder die drempel daal, deaktiveer beheerder uitsette onmiddellik. Sien stelsels brand omdat iemand vergeet het om die koelmiddelvlak na te gaan.

Komponentkeuse raak vreemd. 'n IGBT wat vir 100A aaneenlopend gegradeer is, kan dalk net 80A by 50 grade omgewing hanteer, 60A by 70 grade. Maar die aanvang van 'n groot motor trek 6x nominale stroom vir 'n paar sekondes. So jy grootte vir piek, nie bestendige-toestand, verminder dan vir temperatuur. Eindig met 'n 300A IGBT vir 'n "100A" aansoek. Die BOM-koste maak verkryging baie ongelukkig.

 

Mikrobeheerder besonderhede

 

STM32-timers: die meeste het 16-bis PWM, sommige modelle gaan na 32-bis, maar jy het dit selde nodig. Wat meer saak maak, is die aantal vergelykingskanale en komplementêre uitsette. TIM1 en TIM8 op die F4-reeks het vier vergelykingskanale elk met komplementêre uitsette en programmeerbare doodtydinvoeging. Perfek vir motoriese beheer.

Probleem: al die PWM-kanale op een timer is gesinchroniseer met dieselfde teller. As jy onafhanklike frekwensies nodig het, het jy aparte timers nodig. En daar is net soveel timers met gevorderde funksies. Op die STM32F4 kry jy TIM1, TIM8 vir gevorderde beheer. TIM2-5 vir basiese PWM. TIM9-14 is 16-bis sonder doodtydgenerering. Jy raak vinnig op as die toepassing veelvuldige geïsoleerde PWM-seine benodig.

Ontwerpe gesien waar hulle byt-pwm PWM in sagteware omdat hulle nie tydhouerkanale gehad het nie. Verskriklike idee. Jitter, SVE oorhoofse, prioriteit inversie wanneer ander brand onderbreek. Betaal net die ekstra $ 2 vir 'n mikro met meer timers of gebruik 'n eksterne PWM IC (soos PCA9685). Jou toekomstige self sal jou bedank.

ESP32 het 16 PWM-kanale wat die LED PWM-randtoestel gebruik. Klink wonderlik, behalwe dat hulle almal van een 80MHz APB-klok afgelei is en verdelers in groepe deel. Wil jy verskillende frekwensies hê? Hoop hulle is heelgetalverhoudings. Die resolusie neem ook af namate die frekwensie toeneem omdat dit dieselfde basisklok gebruik. By 20kHz kry jy 12-bis, by 40kHz is jy af na 11-bis, ens. Datablad maak dit nie duidelik nie.

 

Meer eksotiese goed

 

Versprei-spektrum PWM: in plaas van vaste frekwensie, wankel jy dit ±10% ewekansig. Versprei die EMI oor 'n wyer frekwensiereeks, verminder piekvrystellings. Help om FCC/CE-toetse te slaag sonder soveel filterhardeware. Die meeste moderne SMPS-skyfies het dit ingebou. Cypress PSoC laat jou selfs die wankelpatroon-saagtand, driehoekig, pseudo-willekeurig beheer.

Interleaved PWM: voer veelvuldige omsetters uit fase uit. Twee omsetters by 180 grade faseverskuiwing beteken dat die insetkapasitor die helfte van die rimpelstroom sien. Vier omsetters teen 90 grade faseverskuiwing-kwart die rimpeling. Maar nou het jy presiese fasesinchronisasie tussen kanale en lasbalansering nodig sodat hulle stroom gelykop deel. Benodig gewoonlik 'n toegewyde kontroleerder IC, tensy jou mikro genoeg hulpbronne het.

GaN FET's kan onder 10ns inskakel. Maak 10MHz+ PWM-frekwensies oop-induktors word klein, amper net PCB-spore. Maar: borduitleg is krities, hekaandrywing verg ernstige aandag, enige induktansie veroorsaak massiewe oorskiet. Nie vir beginners nie. Het 'n GaN ontwerp ring na 2x VDD gesien omdat iemand 'n standaard hekbestuurder met 5 cm spoorlengte gebruik het. Die VOO het nie oorleef nie.

 

PWM

 

Wat ek eintlik doen

 

Vir die meeste goed: 20kHz, hardeware timer PWM, 10-bis resolusie. Baie vir motorbeheer en LED-verduistering. Voeg 'n hekaandrywer IC (2A piekstroom minimum), lae-ESR keramiek pette reg by die FET drein, vet grondvlak. Gaan die skakelgolfvorms na met 'n omvang op die eerste prototipe, verwag om een ​​keer te herhaal.

Vir enigiets bo 10A deurlopende, termiese simulasie voor uitleg. Ek gebruik ANSYS maar selfs basiese FEA vang die meeste probleme op. Voer die koperlae met verliese uit as hittebronne, stel grensvoorwaardes, kyk of enigiets 125 grade aansluitingstemp by maksimum omgewing bereik. Benodig gewoonlik heatsinks of geforseerde lug as jy meer as 50W oorskakel.

En toets dit by temperatuur. Kamertemperatuurtoetsing vang miskien 60% van die probleme op. Warm-boks by 70 grade omgewing vir 8 uur vind die res-termiese weghol, hekdrumpelverskuiwing, kapasitor ESR-verhoging. Het my een keer 'n week gekos toe 'n ontwerp goed gewerk het teen 25 grade, maar die VOO het op 65 grade vasgemaak omdat ek nie rekening gehou het met die drempelspanningstemperatuurkoëffisiënt nie.

Dit is PWM. Eenvoudige konsep, eindelose besonderhede.

 

Dit is PWM. Eenvoudige konsep, eindelose besonderhede.

Laaste ding: as jy battery-aangedrewe PWM-dinge doen, moenie selle goedkoop kry nie. Het 'n paar geen-naam-litiumpakke een keer probeer-kon nie die rimpelstroom hanteer nie, spanning het gesak onder las, die hele stelsel het verbruin. Oorgeskakel na behoorlikioniese litiumbatterymodules met ordentlike C-gradering, probleem het verdwyn. Die ekstra $15 per pakkie het my van drie ondersteuningsoproepe per week gered.

Stuur Navraag