Der Arduino kann von sich aus keine ausreichenden Stromstärken liefern, mit denen man einen Motor betreiben könnte. Daher müssen wir einen sogenannten Motortreiber einsetzen.
Der L293d-IC ist ein solcher Motortreiber. Mit ihm lassen sich gleich zwei Motoren ansteuern.
Pin | Typ | Beschreibung | |
---|---|---|---|
Name | Nummer | ||
1,2 EN | 1 | I | Enable Driver-Kanäle 1 und 2 (5V ein 0V aus) |
<1:4>A | 2,7,10,15 | I | Driver inputs |
<1:4>Y | 3,6,11,14 | O | Driver outputs |
3,4 EN | 9 | I | Enable Driver-Kanäle 3 und 4 (5V ein 0V aus) |
Masse | 4,5,12,13 | - | |
VCC1 | 16 | - | 5V für interne Logic |
VCC2 | 8 | - | Motorspannungsversorgung 4,5V bis 36 V |
Wie man aus dem Datenblatt entnehmen kann, muss Pin 16 (interne Logik) mit 5V versorgt werden.
Die Motorstromversorgung geht über Pin 8. Hier sind Spannungen von 4,5V bis 36V möglich.
Um ein gemeinsames Spannungsniveau zu erreichen, müssen alle Massen (Arduino L293d und Batteriepack für den Motor) miteinander verbunden sein.
Die Motoren werden an 1Y und 2Y (3Y und 4Y) angeschlossen.
Mit den Enable-Pins 1 und 9 lässt sich die Steuerung aktivieren (enable) oder deaktivieren. Liegt eine Spannung von 5V am Enable-Pin an, so ist die Steuerung aktiviert. Liegt eine Spannung von 0V am Enable-Pin an, so ist die Steuerung deaktiviert, der Motor wird vom Stromkreis getrennt und der Motor läuft ungebremst aus.
Mit den Pins 2 und 7 (10 und 15) wird die Motorspannung gesteuert:
1,2 EN(3,4 EN) | 1A (3A) | 2A (4A) | Motoraktion |
---|---|---|---|
0V | 0V bis 5V | 0V bis 5V | Motor ist im Leerlauf |
5V | 0V | 0V | Motor wird kurzgeschlossen → Motor bremst |
5V | 5V | 0V | Motor läuft vorwärts |
5V | 5V | 5V | Motor wird kurzgeschlossen → Motor bremstV |
5V | 0V | 5V | Motor läuft rückwärts |
Auf dem Breadboard könnte das so aussehen: