Elektronikkverksted

L298N, MOSFET eller PWM-regulator: slik styrer du en DC-motor

DC-motor med generisk H-bro, MOSFET-driver og PWM-regulator på en brukt elektronikkbenk

En børstet DC-motor trenger mer strøm enn en mikrokontroller kan levere, og den lager spenningspulser når strømmen brytes. Derfor sitter det en driver mellom Arduino, ESP32 eller Raspberry Pi Pico og motoren. L298N, en MOSFET-modul og en ferdig PWM-regulator kan alle endre hastigheten, men de løser ikke den samme oppgaven.

Kort forklartVelg en H-bro når motoren skal gå begge veier og kunne bremses elektrisk. L298N er enkel å forstå og robust, men den bipolare utgangen mister rundt 2-3 V ved 1 A og blir varm. En moderne MOSFET-basert H-bro gir langt lavere tap. Velg en enkel N-kanals MOSFET-driver når motoren bare skal gå én vei, og en manuell PWM-regulator når hastigheten skal stilles med et ratt uten programkode.

Start- og blokkeringsstrøm

Motorens datablad kan oppgi strøm uten last, strøm ved nominell last og strøm med blokkert rotor. Driver og strømforsyning må tåle oppstarten og situasjonen der akslingen sitter fast. En liten motor som bruker lite i fri gange, kan trekke mange ganger mer når den starter eller blokkeres. Dimensjonerer du etter tomgangsstrømmen, får du spenningsfall, omstart av mikrokontrolleren eller en overopphetet driver.

Finn motorens spenningsområde og mål eller les av blokkeringsstrømmen i dokumentasjonen. Legg inn margin, og vurder kjøling, kabler, kontakter og sikring. I kategorien DC-motorer finnes motorer med svært ulike spenninger, gir og belastninger; samme driver passer ikke til alle.

Signal og effekt

Mikrokontrolleren leverer bare styresignalet. Driveren kobler strømmen fra motorforsyningen. Jord må vanligvis kobles sammen mellom styring og driver, slik at signalene har samme referanse, men motorstrømmen skal ikke gå gjennom de tynne banene på mikrokontrollerkortet eller USB-kontakten. Kondensatorer nær driveren og korte effektledninger reduserer støy.

L298N, MOSFET eller PWM-regulator?

LøsningRetningStyringBeste bruk
L298N dobbel H-broBegge veier, opptil to motorerLogikkinnganger og PWM på enableLæring, prototyper og moderate motorer der tapet er akseptabelt
Enkel N-kanals MOSFET-driverÉn veiPWM eller av/på fra mikrokontrollerVifte, pumpe, lys eller motor når effektivitet er viktig
Moderne MOSFET H-broBegge veier og bremsingPWM, retning og ofte innebygd vernBatteridrift, mer strøm og lavere tap
Manuell PWM-regulatorSom regel én vei, noen har retningsbryterPotensiometer eller bryterEnkel hastighetsjustering uten kode

En L298N-modul med dobbel H-bro er lett å forstå: to innganger velger retning, og enable-signalet kan PWM-styres. Tallene i produktnavn og datablad er likevel ingen garanti for kontinuerlig strøm i et bestemt kabinett. STs datablad krever vurdering av varme, avkobling og eksterne friløpsdioder i den klassiske koblingen.

Spenningsfall og varme i L298N

L298 bruker bipolare effekttransistorer. Når strømmen går gjennom broen, ligger det et spenningsfall over både øvre og nedre transistor. Ifølge STs datablad er det samlede fallet 1,8-3,2 V ved 1 A og opptil 4,9 V ved 2 A. Resten av forsyningsspenningen havner over motoren, og tapet blir varme i driveren:

Forsyning 12 V, motorstrøm 1 A

L298N:  samlet fall 1,8-3,2 V
        motoren får ca. 8,8-10,2 V
        tap i driveren: 1,8-3,2 W per kanal

MOSFET H-bro med samlet R_DS(on) 0,2 Ω (eksempel):
        fall: 1 A × 0,2 Ω = 0,2 V
        tap:  (1 A)² × 0,2 Ω = 0,2 W

Ved lav forsyningsspenning er tapet ekstra merkbart. En 6 V-motor på et 7,4 V-batteri kan få godt under 6 V gjennom en L298N og miste en del av dreiemomentet. Det betyr ikke at L298N er ubrukelig. Den er pedagogisk, kan styre to små motorer eller én bipolar trinnmotor og tåler motorspenning opp mot 46 V. Men når batteritid, lav spenning eller effektivitet er viktig, er en moderne MOSFET H-bro normalt bedre. Sammenlign RDS(on), strømgrense, termisk motstand og innebygd vern, ikke bare maksimalstrømmen i overskriften.

L298N-modulen i praksis

Hver kanal styres med to retningsinnganger og ett enable-signal. Sannhetstabellen under følger STs datablad:

ENAIN1IN2Motoren
Høy (eller PWM)HøyLavGår én vei
Høy (eller PWM)LavHøyGår motsatt vei
HøyLik IN2Lik IN1Bremser raskt (begge polene på samme nivå)
LavValgfriValgfriFrigang, motoren ruller fritt til stopp

Databladet oppgir et minste høynivå på 2,3 V for logikkinngangene, så 3,3 V-signaler fra ESP32 eller Pico fungerer normalt. Selve L298-kretsen trenger likevel en logikkforsyning på 4,5-7 V. Mange moduler har en innebygd 5 V-regulator med en jumper: med jumperen på lager modulen 5 V fra motorforsyningen, men det er som regel bare beregnet for lav motorspenning, ofte opp til rundt 12 V. Ved høyere motorspenning fjernes jumperen og 5 V kobles til utenfra. Kontroller dokumentasjonen for akkurat din modul, og sjekk at friløpsdiodene faktisk sitter på kortet.

Enkel MOSFET-driver

For en pumpe, vifte eller motor som bare skal gå én vei, kan en logic level N-kanals MOSFET koble lavsiden effektivt. En N-kanals MOSFET-driver samler transistor, kontakter og ofte nødvendige passive komponenter. Sjekk likevel om modulen har friløpsdiode, og om den er spesifisert for full styring fra 3,3 V.

En løs MOSFET må velges etter gatespenningen, ikke bare terskelspenningen VGS(th). Terskelen forteller når transistoren så vidt begynner å lede, ikke når motstanden er lav. Databladet må oppgi RDS(on) ved den gatespenningen mikrokontrolleren faktisk leverer. Mange billige moduler bruker IRF520, som er spesifisert ved 10 V gate og leder dårlig fra 3,3 V. Bruk gatemotstand og pull-down slik at motoren er av mens mikrokontrolleren starter. Transistorguiden forklarer logic level og gatekrets nærmere.

PWM og turtall

PWM slår motoren raskt av og på. Pulsforholdet (duty cycle) er andelen av perioden bryteren står på. Motorens induktans og treghet gjør at farten endres jevnt, men strøm, lyd og tap avhenger av PWM-frekvens, last og driver. Arduino Uno bruker som standard rundt 490 eller 980 Hz, noe som ofte gir hørbar piping. Over rundt 20 kHz hører de fleste ikke pipingen, men koblingstapet øker og gatedriveren må være sterk nok. L298 er ikke laget for svært høy PWM-frekvens; hold deg innenfor databladets grense.

En ferdig hastighetsregulator med ratt passer når du bare vil stille farten for hånd. Skal programmet regulere farten etter en sensor eller encoder, trenger du en elektronisk driver som tar imot PWM fra kontrolleren. Uten tilbakekobling holder ikke motoren nødvendigvis samme turtall når lasten endres; stabilt turtall krever måling og regulering.

Første oppstart

  1. Test uten mekanisk last. Kontroller retning og stopp før motoren kobles til hjul, spindel eller aktuator.
  2. Sett strømgrense. Bruk en passende laboratoriestrømforsyning med CV/CC der det er praktisk, og sett grensen litt over forventet startstrøm.
  3. Start med lavt pulsforhold. Se at strømmen ikke løper løpsk og at driveren reagerer riktig.
  4. Mål motor- og forsyningsspenning. Et multimeter eller oscilloskop avslører spenningsfall og støy.
  5. Belast gradvis. Mål strøm og temperatur i den virkelige arbeidssyklusen, ikke bare i ti sekunder på benken.
  6. Test blokkering. Bestem hvordan systemet skal stoppe ved overstrøm, manglende bevegelse eller overtemperatur.

Beskyttelse

En motor er en induktiv last. Når strømmen brytes, må energien få en kontrollert vei. H-bromoduler kan ha friløpsdioder eller bruke MOSFET-enes innebygde dioder, men dokumentasjonen for kretsen avgjør hva som kreves. Plasser både en elektrolytt- og en keramisk kondensator nær driveren. Tvinn motorledningene og hold dem unna ADC- og radiosignaler.

Dimensjoner sikringen etter kabelen og maksimal feilstrøm, ikke bare etter motorens normale forbruk. En nødstopp skal bryte effekten på en forutsigbar måte. Motorer som flytter porter, kniver eller tunge mekanismer krever mekanisk vern, endebrytere og en risikovurdering som går utover denne hobbyguiden.

Vanlige spørsmål

Kan Arduino eller ESP32 drive en DC-motor direkte?

Nei. GPIO-pinnen gir bare styresignal til en driver. Motoren må forsynes fra en kilde og et effekttrinn som tåler start- og blokkeringsstrømmen.

Hvorfor går motoren saktere gjennom L298N?

De bipolare transistorene i L298 gir et samlet spenningsfall på 1,8-3,2 V ved 1 A. Motoren får derfor mindre spenning enn forsyningen leverer, særlig ved høy strøm.

Kan L298N styres fra 3,3 V?

Ja, logikkinngangene godtar normalt 3,3 V fordi minste høynivå er 2,3 V. Modulen trenger likevel 5 V logikkforsyning, enten fra den innebygde regulatoren eller utenfra.

Trenger jeg H-bro hvis motoren bare går én vei?

Vanligvis ikke. En riktig dimensjonert MOSFET-driver med friløpsdiode er enklere og mer effektiv.

Kan et potensiometer kobles direkte til motoren?

Et vanlig signalpotensiometer tåler ikke motorstrøm. Bruk en PWM-regulator som er dimensjonert for motorens spenning og blokkeringsstrøm.

Hva er forskjellen på PWM og regulert turtall?

PWM bestemmer hvor lenge motoren får strøm i hver periode. Turtallet kan fortsatt endre seg med last og forsyning. Regulert turtall krever en sensor og en reguleringssløyfe.

Kilder og videre lesing

L298-funksjon, spenningsfall, logikknivåer, avkobling og krav til dioder er kontrollert mot STMicroelectronics' offisielle L298-datablad. Prinsippene for moderne H-bro, PWM, strømgrense og måling er kontrollert mot Texas Instruments' DRV8876-applikasjon og deres oversikt over børstede DC-motordrivere.

Oppsummering

L298N er et forståelig utgangspunkt for styring i begge retninger, men en moderne MOSFET-driver utnytter energien langt bedre. En enkel MOSFET passer når motoren går én vei, mens en H-bro gir retning og bremsing. Uansett løsning er blokkeringsstrøm, avkobling, varme og feilhåndtering viktigere enn det markedsførte maksimumstallet. Mål den virkelige lasten før du bygger driveren inn.

Alle guider

Produkter omtalt i denne guiden

Produktene som brukes og sammenlignes i guiden, med pris og lagerstatus.