Gleichstrom bis 5A und 24V über IRF520 MOSFET mit dem Arduino schalten

In dieser Anleitung wird gezeigt, wie man mit dem IRF520 MOSFET (Metall-Oxid-Halbleiter-Feldeffekttransistor) Modul Gleichstromlasten wie einen DC-Motor betreiben kann.

irf520-mos-fet-driver-treiber-modul

Die Hauptkomponente ist das IRF520 MOSFET Modul. An dessen Ausgang (V- und V+) wird ein DC-Motor mit 12 oder 24V und eine Freilaufdiode angeschlossen. Der Arduino wird mit den Pins GND auf GND und SIG auf den Digitalen IO 6 mit PWM verbunden. Zur Versorgung des Motors wird die korrekt dimensionierte Versorgungseinheit mit den Pins GND und VIN des RF520 MOSFET Moduls verbunden. An den analogen Eingang (A0) wird ein 100k oder 10k Potentiometer angeschlossen. Alle Anschlüsse sind in der folgenden Grafik dargestellt.

 

anschlussplan

Wichtig ist es an das Modul immer nur eine Versorgungseinheit anzuschließen. entweder über VIN oder über VCC. Bei Stömen  über 1A muss ein Kühlkörper an den MOSFET angeschlossen werden.

Für den Betrieb wird noch die Bibliothek HCMotor benötigt, welche über GitHub bezogen werden kann. Wie man eine Library installiert ist in folgender Anleitung erklärt.

#include "HCMotor.h" //Include HCMotor Code Library
#define MOTOR_PIN 6 // Assign to PWM/Digital Pin 6 
#define POT_PIN A0 // Set analog pin at A0 for the potentiometer 
  

HCMotor HCMotor; // Create an instance of our code library
void setup()
{
  HCMotor.Init(); //Initialise our library
  HCMotor.attach(0, DCMOTOR, MOTOR_PIN); // Attach our motor to 0 to digital pin 6 
  HCMotor.DutyCycle(0, 100); //Set duty cycle of the PWM Pulse with Modulation signal in 100uS increment to 100uS = 1mS cycle
}
  
void loop()
{
  int Speed;
  Speed = map(analogRead(POT_PIN), 0, 1024, 0, 100); //Reading the A0 pin to determine the position of the pot. 
  //mapping the motor which could be 0 - 1024 and reduce down to match the cyccle range of 0 to 100 
  HCMotor.OnTime(0, Speed); // Set the duty cycle to match the position
}