Arduino UNO R4 - MOSFET-module
In deze gids leren we hoe u een MOSFET-module als vermogensschakelaar gebruikt met de Arduino UNO R4. In detail leren we:
- Wat er in de AOD4184-, LR7843- en FR120N-MOSFET-modules zit, en hoe u de juiste kiest.
- Hoe u de MOSFET-module, een 12V voedingsadapter en een 12V LED-strip aansluit op de Arduino UNO R4.
- Hoe u een programma schrijft voor de Arduino UNO R4 om de belasting aan en uit te zetten, en om het vermogen stap voor stap te veranderen met PWM.

Benodigde Hardware
Of u kunt de volgende kits kopen:
| 1 | × | DIYables STEM V4 IoT Starterskit (Arduino inbegrepen) | |
| 1 | × | DIYables STEM V4B IoT Starterskit (Arduino inbegrepen) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over de MOSFET-module
Een pin van de Arduino UNO R4 geeft maar 5V en een zeer kleine stroom. Dat is prima voor een kleine LED, maar niet voor een 12V LED-strip, een ventilator of een pomp. Een MOSFET-module zit hier tussenin: de Arduino UNO R4 stuurt een zwak signaal, en de module opent of sluit een sterk 12V-pad voor de belasting.
Er zijn drie populaire modules: AOD4184 (soms verkocht als D4184), LR7843 en FR120N. De printplaten zien er hetzelfde uit. Ze hebben dezelfde afmetingen, dezelfde pinnen en dezelfde bedrading, en ze gebruiken dezelfde code. Het enige verschil is de MOSFET-chip bovenop.
Waarom een MOSFET-module gebruiken en geen relais?
- Hij is stil. Er beweegt niets en er klikt niets.
- Hij schakelt zeer snel, dus hij kan PWM doen. Dit betekent dat u een lamp kunt dimmen of een ventilator kunt vertragen. Een relais kan alleen volledig AAN of volledig UIT.
- Hij heeft geen contacten die slijten, dus hij gaat lang mee.
- De beperking: hij werkt alleen met DC-belastingen. Gebruik hem nooit met AC-netspanning. Voor AC-apparaten, zie de tutorial Arduino UNO R4 - Relais.
| AOD4184 | LR7843 | FR120N | |
|---|---|---|---|
| MOSFET-chip | AOD4184A (N-kanaal) | IRLR7843 (N-kanaal) | IRFR120N (N-kanaal) |
| Max. belastingsspanning (chipwaarde) | 40V DC | 30V DC | 100V DC |
| Max. stroom (chipwaarde) | 50A | 161A | 9.4A |
| Aan-weerstand RDS(on) | ongeveer 7 mΩ | ongeveer 3.3 mΩ | ongeveer 210 mΩ |
| Echte stroom zonder koelelement | ongeveer 10–15A | ongeveer 15A | ongeveer 2A |
| Stuursignaal | 3.3V / 5V, actief HIGH | 3.3V / 5V, actief HIGH | 3.3V / 5V, actief HIGH |
| Isolatie | PC817 optocoupler | PC817 optocoupler | PC817 optocoupler |
| PWM | ja, tot ongeveer 1 kHz | ja, tot ongeveer 1 kHz | ja, tot ongeveer 1 kHz |
| Type belasting | alleen DC | alleen DC | alleen DC |
Hoe kiest u er een:
- LR7843: hij heeft de laagste weerstand, dus hij blijft het koelst als er een grote stroom vloeit. Kies hem voor sterke 12V- of 24V-belastingen, zoals een lange LED-strip of een grote motor. De limiet is 30V.
- AOD4184: een goede keuze voor de meeste projecten. Hij kan tot 40V en een sterke stroom aan, dus belastingen van 12V, 24V en 36V zijn allemaal prima.
- FR120N: hij accepteert de hoogste spanning (tot 100V), maar zijn weerstand is hoog. Houd de stroom klein, ongeveer 2A zonder koelelement. Hij is geschikt voor kleine 24V- of 48V-belastingen.
※ Notiz:
De grote getallen zoals 50A of 161A zijn de limieten van alleen de chip. De kleine module kan zoveel niet aan, omdat warmte de echte beperking is. Raak na een paar minuten gebruik de MOSFET aan. Is hij te heet om aan te raken, verlaag dan de stroom of voeg een koelelement toe.
Hoe Het Werkt
Het signaal van de Arduino UNO R4 raakt de MOSFET niet rechtstreeks aan. Het gaat eerst door een PC817 optocoupler: pin 9 → PWM-pin → kleine weerstand → LED in de PC817 → licht → fototransistor in de PC817 → MOSFET-gate. De MOSFET is van het N-kanaaltype en zit tussen de LOAD- en −-aansluitingen (een low-side-schakelaar). Uw apparaat zit tussen + en LOAD.
Wat gebeurt er dus bij elk signaal op pin 9? Laten we de drie gevallen bekijken.
Pin 9 Is LOW (0V): Het Apparaat Is Uit
- Er gaat geen stroom in de LED in de optocoupler. Hij blijft donker.
- De fototransistor blijft uit, dus een weerstand op de gate houdt de MOSFET-gate op 0V.
- De MOSFET is UIT. Hij werkt als een open schakelaar tussen LOAD en −.
- De −-draad van het apparaat heeft geen pad naar massa. Er vloeit geen stroom, en het apparaat krijgt 0V.
In code: digitalWrite(MOSFET_PIN, LOW) of analogWrite(MOSFET_PIN, 0).
Pin 9 Is HIGH (5V): Het Apparaat Krijgt Vol Vermogen
- Enkele mA vloeien in de LED in de optocoupler, en hij gaat branden. Hij zit in de chip, dus u kunt hem niet zien.
- De fototransistor gaat aan. Nu krijgt de MOSFET-gate ongeveer de helft van de voedingsspanning van de belasting, ongeveer 6V bij een 12V-adapter.
- De MOSFET gaat volledig AAN. Hij werkt als een gesloten schakelaar met een zeer lage weerstand: enkele mΩ voor de AOD4184 of LR7843, ongeveer 0.2Ω voor de FR120N.
- De stroom vloeit in een lus: adapter + → +-aansluiting → apparaat → LOAD-aansluiting → MOSFET → −-aansluiting → adapter −.
- Het apparaat krijgt bijna de volle 12V en draait op vol vermogen.
In code: digitalWrite(MOSFET_PIN, HIGH) of analogWrite(MOSFET_PIN, 255). Een 3.3V-board kan hetzelfde doen, omdat de LED van de optocoupler maar een kleine stroom nodig heeft.
Pin 9 Stuurt PWM: Het Apparaat Krijgt Een Deel van het Vermogen
- Pin 9 wisselt zeer snel tussen LOW en HIGH, ongeveer 500 tot 1000 keer per seconde (500 Hz tot 1 kHz).
- De MOSFET volgt dit: AAN tijdens elk HIGH-deel, UIT tijdens elk LOW-deel.
- Het apparaat krijgt korte 12V-pulsen. De duty cycle (inschakelduur) is het deel van de tijd dat het signaal HIGH is. Gemiddelde spanning en gemiddeld vermogen = duty cycle × volle waarde.
Met analogWrite(MOSFET_PIN, value) loopt de waarde van 0 tot 255, en is de duty cycle value / 255. Enkele voorbeelden met een 12V-adapter:
- analogWrite(MOSFET_PIN, 0): 0%, altijd uit, gemiddeld 0V.
- analogWrite(MOSFET_PIN, 64): ongeveer 25%, een kwart van de tijd aan, gemiddeld ongeveer 3V, ongeveer een kwart van het vermogen.
- analogWrite(MOSFET_PIN, 128): ongeveer 50%, de helft van de tijd aan, gemiddeld ongeveer 6V, ongeveer de helft van het vermogen.
- analogWrite(MOSFET_PIN, 191): ongeveer 75%, drie kwart van de tijd aan, gemiddeld ongeveer 9V.
- analogWrite(MOSFET_PIN, 255): 100%, altijd aan, 12V, vol vermogen.
Wat u ziet: een LED-strip wordt zwakker (hij flikkert, maar te snel voor uw ogen). Een ventilator, motor of pomp draait langzamer, omdat het draaiende deel de pulsen afvlakt.
Waarom de frequentie belangrijk is: de PC817 is een traag onderdeel. Als de PWM te snel is, kan de MOSFET niet volledig schakelen. Het apparaat krijgt dan geen schone pulsen, en de MOSFET wordt heet. De standaardfrequentie van analogWrite() op de Arduino UNO R4 ligt al in het veilige bereik, dus u hoeft niets te veranderen.
Andere Punten
- De optocoupler isoleert de Arduino UNO R4-kant van de 12V-kant. De signaal-GND en de belastings-GND zijn op de module niet met elkaar verbonden.
- De gatespanning komt van de voeding van de belasting, dus die voeding moet ongeveer 6V of hoger zijn. Een 5V-voeding voor de belasting werkt niet goed. Als de belasting meer dan een paar ampère vraagt, gebruik dan 9V of meer.
- Het board heeft geen vrijloopdiode (flyback-diode). Motoren, pompen, solenoïden en relaisspoelen hebben er een nodig. Voeg een diode zoals de 1N5819 of 1N4007 toe over de belasting: de kant met de streep (kathode) gaat naar de + van de belasting, en de andere kant (anode) gaat naar de − van de belasting.
Pinout

De stuurkant is een 2-pins header (2.54mm steek):
- PWM-pin: verbind met een pin van de Arduino UNO R4. Deze pin ontvangt het AAN/UIT- of PWM-signaal.
- GND-pin: verbind met GND van de Arduino UNO R4.
De vermogenskant heeft drie schroefklemmen:
- +-pin: verbind met de positieve draad van de voeding van de belasting (bijvoorbeeld 12V) en met de positieve draad van de belasting. Beide draden delen deze ene klem.
- LOAD-pin: verbind met de negatieve draad van de belasting. Dit is de kant die de MOSFET schakelt.
- −-pin: verbind met de negatieve draad (massa) van de voeding van de belasting.
De labels kunnen per batch een beetje anders zijn. Lees altijd de tekst die op uw eigen board is gedrukt.
Bedradingsdiagram
De Arduino UNO R4 stuurt alleen de PWM- en GND-pinnen aan, terwijl de 12V-adapter de belasting voedt via de schroefklemmen.

Deze afbeelding is gemaakt met Fritzing. Klik om de afbeelding te vergroten.
| Van | Naar |
|---|---|
| Arduino UNO R4 pin 9 | MOSFET-module PWM |
| Arduino UNO R4 GND | MOSFET-module GND |
| 12V-adapter + (via DC-voedingsaansluiting) | MOSFET-module + |
| 12V-adapter − (via DC-voedingsaansluiting) | MOSFET-module − |
| LED-strip + | MOSFET-module + |
| LED-strip − | MOSFET-module LOAD |
De optocoupler zit al op de module, dus u hoeft geen transistor of weerstand toe te voegen. Dit maakt bedraden of solderen makkelijker. Verbind de 12V-draden nooit met een pin van de Arduino UNO R4.
Meer Apparaten die u Kunt Aansluiten
Wat als u een ventilator, een pomp of een slot wilt bedienen in plaats van de LED-strip? Laat pin 9 en GND zoals ze zijn. Alleen de kant met de schroefklemmen verandert. Hier zijn de regels die voor elk apparaat gelijk blijven:
- Voedingsadapter: + gaat naar de +-klem, − gaat naar de −-klem.
- Apparaat: de +-draad gaat ook naar de +-klem (gedeeld met de + van de adapter), de −-draad gaat naar LOAD.
- Spanning: kies de adapter passend bij het apparaat (12V-apparaat, 12V-adapter). Ga nooit onder 6V.
- Stroom: de FR120N is alleen geschikt voor kleine apparaten (ongeveer 2A zonder koelelement). Kies voor grotere apparaten de AOD4184 of de LR7843.
- Diode: een apparaat met een spoel erin (ventilator, motor, pomp, solenoïde) heeft de 1N5819- of 1N4007-vrijloopdiode (flyback-diode) nodig uit het deel Hoe Het Werkt. De streep naar de + van het apparaat, het andere uiteinde naar de − van het apparaat.
U hebt geen nieuwe code nodig. De code hierboven werkt voor al deze apparaten. De enige uitzondering zijn solenoïden: gebruik vol vermogen of uit (100% / 0%), en sla het langzaam op- en afregelen over.
Bedradingsvoorbeeld: 12V Ventilator

Deze afbeelding is gemaakt met Fritzing. Klik om de afbeelding te vergroten.
- Rode draad naar +, zwarte draad naar LOAD.
- Hebt u een gele derde draad? Dat is het snelheidssignaal. Laat die vrij.
- Voeg de diode toe. Hij kost bijna niets en kan geen kwaad.
- PWM verandert de snelheid. Begin boven ongeveer 30%, omdat veel ventilatoren niet draaien bij een zeer lage duty cycle (inschakelduur).
Bedradingsvoorbeeld: 12V LED-strip

Deze afbeelding is gemaakt met Fritzing. Klik om de afbeelding te vergroten.
- Strip + (vaak gelabeld 12V) naar +, strip − naar LOAD.
- Hier geen diode. Een LED-strip heeft geen spoel.
- PWM verandert de helderheid.
- Lange strips trekken meer stroom. Controleer de stroom van uw strip voordat u de module kiest.
- Gebruik een enkelkleurige strip. RGB- en adresseerbare strips hebben een andere bedrading nodig.
Bedradingsvoorbeeld: 12V Waterpomp

Deze afbeelding is gemaakt met Fritzing. Klik om de afbeelding te vergroten.
- Pomp + naar +, pomp − naar LOAD.
- Plaats de diode over de pomp.
- PWM verandert de doorstroming.
- Laat de pomp niet zonder water draaien.
Bedradingsvoorbeeld: 12V DC Motor

Deze afbeelding is gemaakt met Fritzing. Klik om de afbeelding te vergroten.
- Motor + naar +, motor − naar LOAD.
- Plaats de diode over de motor: de streep aan de + kant van de motor.
- PWM verandert de snelheid.
- De motor draait maar één kant op. Wilt u hem omkeren? Gebruik een motordriver zoals de L298N. Zie de tutorial Arduino UNO R4 - DC Motor.
Bedradingsvoorbeeld: 12V Solenoïdeslot

Deze afbeelding is gemaakt met Fritzing. Klik om de afbeelding te vergroten.
- Slot + naar +, slot − naar LOAD.
- De diode is verplicht.
- Alleen volledig AAN of UIT. Geen PWM.
- Laat hem niet lang AAN staan, anders wordt hij warm. Geef hem een korte AAN-puls om te ontgrendelen.
Bedradingsvoorbeeld: 12V Solenoïdeklep

Deze afbeelding is gemaakt met Fritzing. Klik om de afbeelding te vergroten.
Zie De beste manier om Arduino Uno R4 en andere componenten van stroom te voorzien.
- Klep + naar +, klep − naar LOAD.
- De diode is hier ook verplicht.
- Dit is een normaal gesloten klep: AAN opent hem, UIT sluit hem.
- Schakel hem alleen AAN of UIT. Gebruik geen PWM.
Hoe Te Programmeren Voor de MOSFET-module
Er is geen bibliotheek nodig. De code gebruikt alleen ingebouwde functies.
- Stel de pin op de Arduino UNO R4 in die verbonden is met de PWM-pin van de module:
- Maak van de pin een uitgang:
- Zet de belasting volledig aan of volledig uit:
- Stel een vermogensniveau in procenten in. Reken 0–100% eerst om naar het bereik 0–255:
Als u alleen AAN en UIT nodig hebt, werken digitalWrite(MOSFET_PIN, HIGH) en digitalWrite(MOSFET_PIN, LOW) ook.
Arduino UNO R4 Code - MOSFET-module
De onderstaande code voert steeds één cyclus uit:
- De belasting draait 2 seconden op vol vermogen.
- De belasting is 2 seconden uit.
- Het vermogen gaat omhoog van 10% naar 100%, elke 0.5 seconden 10% meer.
- Het vermogen gaat op dezelfde manier omlaag van 90% naar 0%.
- De code wacht 1 seconde en begint dan opnieuw.
Snelle Stappen
Volg deze instructies stap voor stap:
- Als dit uw eerste keer is met de Arduino Uno R4 WiFi/Minima, raadpleeg dan de tutorial over het instellen van de omgeving voor Arduino Uno R4 WiFi/Minima in de Arduino IDE.
- Verbind de componenten volgens het meegeleverde diagram. Laat de 12V-adapter voorlopig uitgeschakeld (niet aangesloten).
- Verbind het Arduino UNO R4 board met uw computer via een USB-kabel.
- Start de Arduino IDE op uw computer.
- Selecteer het juiste Arduino UNO R4 board (bijv. Arduino UNO R4 WiFi of Arduino UNO R4 Minima) en COM-poort.
- Kopieer de bovenstaande code en plak deze in de Arduino IDE.
- Klik op de Upload knop om de code naar de Arduino UNO R4 te versturen.
- Steek de 12V-voedingsadapter in het stopcontact.
- Open de Serial Monitor en stel de baudrate in op 9600.
- Kijk naar de LED-strip: hij is 2 seconden volledig helder, daarna 2 seconden donker. Daarna wordt hij beetje bij beetje helderder, en dan beetje bij beetje zwakker. Bij een ventilator hoort u de snelheid omhoog en omlaag gaan.
Als de LED-strip helemaal niet oplicht, controleer dan eerst de 12V-voeding. Controleer daarna of de PWM- en GND-draden naar pin 9 en GND van de Arduino UNO R4 gaan.
Voor meer informatie over PWM-dimmen, zie de tutorial Arduino UNO R4 - LED Vervagen.
Video Tutorial
We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.