DC Motor mit Arduino über L298N steuern
Um DC Motoren in Drehrichtung und Drehgeschwindigkeit an zu steuern kann analog der Ansteuerung eines Servomotors ein RC Fahrtenregler verwendet werden.
Problematisch ist hierbei, daß beim Einschalten des RC Fahrtenreglers zuerst der Nullpunkt eingelernt werden muss.
Eine technisch einfachere und preiswertere Alternative ist die Ansteuerung über einen L298N. Fertige Treiberplatinen gibt es bei den gängigen Onlinwarenhäusern.
Umsetzung in der Arduino IDE
Der L298 N besitzt neben dem Spannungseingang vier Eingänge, die zur Steuerung von bis zu zwei Motoren verwendet werden können. Zwei Eingänge steuern jeweils Motor A bzw. B in die eine Drehrichtung. Die zwei weiteren Eingänge steuern Motor A und B in die jeweils andere Drehrichtung. Die beiden Spannungsausgänge für Motor A und B könnnen parallel geschaltet werden um Motoren mit höherer Leistung zu betreiben. Hierbei unbedingt beachten die beiden Ausgänge nicht gegeneinander zu betreiben.
Für eine testweise Umsetzung kann das PWM-Beispiel aus der Arduino IDE verwendet werden :
int L298Pin = 9; // L298 connected to digital pin 9
void setup() {
// nothing happens in setup
}
void loop()
{
// fade in from min to max in increments of 5 points:
for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5)
{
// sets the value (range from 0 to 255):
analogWrite(L298Pin, fadeValue);
// wait for 30 milliseconds to see the dimming effect
delay(30);
}
// fade out from max to min in increments of 5 points:
for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5)
{
// sets the value (range from 0 to 255):
analogWrite(L298Pin, fadeValue);
// wait for 30 milliseconds to see the dimming effect
delay(30);
}
}