MOSFET driver (IRF520)

De MOSFET driver module is ideaal om apparaten aan te sturen die een hogere spanning en stroom nodig hebben dan wat de Raspberry Pi kan leveren. Kenmerk van de MOSFET is dat deze vaak in combinatie met microcomputers/-controllers gebruikt wordt. Denk hierbij aan de interne aansturing (boordcomputers) van auto’s, vrachtwagens en straatverlichting, maar ook bij de aansturing grote pompen bij waterzuiveringssystemen.

Volgens de datasheet kan de MOSFET, type IRF520 als component maximaal 100V bij zo’n 9A, mits gekoeld verwerken. De IRF520 module die we in dit project gebruiken is prima geschikt voor het veilig aansturen van apparaten tot 24V bij maximaal 5A. Dan moet je denken aan het aansturen van bijvoorbeeld een 12V ventilator of een 24V motor, lamp of led strip. In alle gevallen wordt gebruik gemaakt van een aparte voeding.

Schema module
Je sluit de voedingsbron van het apparaat dat je wilt bedienen aan op de pinnen Vin en GND. Het apparaat dat je wilt besturen sluit je aan op de V+ en V- klemmen van de module. Wanneer het GPIO stuurSIGnaal HOOG is, licht een mini LED op en wordt de GND ‘verbonden’ met de V-. De V+ en V- uitgangen zijn dan met het verbruiksapparaat verbonden. Wanneer het signaal LAAG is, gaat de LED uit en wordt de GND ‘losgekoppeld’ van de V-.

MOSFET IRF-520 module

De Vcc wordt alleen aangesloten indien de Raspberry Pi het apparaat voedt. Indien het apparaat 5V en een kleine stroom (~<250mA) nodig heeft, kun je de voeding van de Raspberry Pi gebruiken. De VCC-aansluiting van de module wordt dan verbonden met de 5V verbinding van je Raspberry Pi en GND-aansluiting met de GND-pin van je Raspberry Pi.

Toepassingen: LED-verlichting, DC-motoren, kleine pompen, ventilatoren.

IRF520 – Technische details
– Input logische voltage (SIG): 3.3V – 5V
– Output load voltage (Vin): 0 – 24V / max. 5A (koelen bij 1A en hoger!)

Python
Het script (mosfet.py) werkt zoals een LED aangestuurd wordt. Je kunt het script hieronder gebruiken om de module en daarmee het apparaat aan te sturen.

import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(18,GPIO.OUT)
print "LED on"
GPIO.output(18,GPIO.HIGH)
time.sleep(5)
print "LED off"
GPIO.output(18,GPIO.LOW)

Aansturen met Puls Wave Modulatie (PWM)
Met het script hierboven wordt de ventilator 5 seconden ingeschakeld. Met PWM kun je motoren, zoals de ventilator met verschillende snelheden laten draaien. Het enige dat je hoeft te doen is de duty-cycle in te stellen.

Matt Hawkins heeft een tijd geleden een mooi script geschreven. Ik heb voor praktisch gebruik hier en daar wat aanpassingen gemaakt.

Raspberry Pi stuurt IRF520 module met PWM aan

Veel succes!