Wie kann ich einen Gleichstrommotor mit dem Arduino Steuern?
Hallo,
ich bin gerade am verzweifeln. Ich versuche seit einer Woche einen Gleichstrommotor mit dem Arduino zu steuern.
Ich habe eine Relais und ein L293D Chip.
Ich habe schon alle möglichen Kombinationen und etliche tutorials nach gemacht.
Aber es geht nichts! Ich habe sogar schon einen anderen Motor verwendet aber auch das geht nicht.
Ich habe einen Arduino MEGA und auch einen Nano falls das wichtig ist.
Kann mir jemmand helfen?
Danke
Das ist die Schaltung die ich versuche.
Was ist ein Aduino? Ist das eine Fernsteuerung?
Es ist ein Microcontroller. Der aber nur 5v ausgibt. Das reicht nicht für den Motor. Deswegen versuche ich den L293D chip zu benutzen.
Der Chip kann also die Spannung erhöhen. So dass der Motor laüft? Oder hat der chip eine eigene versorgung?
Er kann die Spannung erhöhen denke ich. Ich schließe ihn an die 5v an. (siehe Bild)
Hast du ein Meßgerät? Damit könnte man vielleicht sehen bis wohin der Strom kommt um die Fehlerquelle auszumachen.
Habe ich auch schon dran gedacht. Leider habe ich keins.
Kannst dir ja morgen eins kaufen :) Das kann man immer gebrauchen. Für alles Mögliche. Ich bin kein Elektrotechniker. Aber ich hab eins. :)
Wofür hast du denn eins? Ich bin auch kein Elektroniker mache das aus hobby.
4 Antworten
Orientiere dich hieran:
https://www.tinkercad.com/things/l6kIFrhFDYe-dc-motor-example-basic
Code:
//Motor 1
const int motor1_Pin1 = 5; // Pin 14 of L293
const int motor1_Pin2 = 6; // Pin 10 of L293
void setup(){
//Set pins as outputs
pinMode(motor1_Pin1, OUTPUT);
pinMode(motor1_Pin2, OUTPUT);
}
void loop(){
//Motor 1 CCW
digitalWrite(motor1_Pin1, LOW);
digitalWrite(motor1_Pin2, HIGH);
delay(2000);
}
-------------------------
In deinem Bild hat der Arduino Mega keinen Strom. Außer er bekommt es vom USB Kabel, was nicht zu sehen ist.
Nachtrag 2. Motor - Schaltbild.


Ja den zweiten Motor so anschließen wie in dem Link. Ich habe dir dazu noch das Bild rauskopiert und meiner Hauptantwort hinzugefügt. Du kannst dich auch auf TinkerCAD anmelden und dann dort weiterprogrammieren. Lohnt sich, geht aber natürlich auch so, falls du die Hardware bei dir liegen hast.
ich habe schon lange einen account auf tkinkerCAD. Habe da immer rum experimentiert.
Werde den 2. Motor noch ausprobieren wenn es nicht geht kann ich ja nochmal schreiben.
Noch mal eine Frage. Man kann damit nicht zufällig 12v bekommen oder?
Dann könnte ich 12v geräte steuern. Wäre auch hilfreich.
12 Volt geht auch. Die rote Leitung zum Arduino muss gekappt werden. Stattdessen wird da 12 Volt angeschlossen.
Die Minus Leitung von der 12 Volt Quelle wird an eine beliebige schwarze Leitung an den L293 angeschlossen.
Die Antwort ist jetzt aus dem Kopf und habe ich nicht nachgeprüft. Wenn was raucht, dann..... hafte ich dafür nicht 🤭
Du musst in ein Datenblatt gucken zu dem Chip. Das was ich gerade geschrieben habe war falsch, der Chip wäre zerstört.
Die 12 Volt kommen an den Pin 8 rechts unten. Achte auf den Punkt oder die Einkerbung auf dem Chip, die muss rechts sein oder rechts unten. Siehst du auch auf dem Bild bei Tinkercad.
Hier der Anschluss
https://http2.mlstatic.com/D_NQ_NP_936140-MLB31704627290_082019-O.jpg
ich kenne den L298D zu wenig, um zu sehen, ob der Motor richtig angeschlossen ist. aber auf dem datenblatt ist ein entsprechendes anschlusschema vermerkt.
du brauchst:
- eine stromversorgng für den motor. 5 - 36 Volt, je nach dem was du für einen Motor hast
- eine gemeinsame massen zwischen dem Controller und dem Lastkreis
- ein POSITIVES steuersignal, oder besser gesagt zwei positive Steuersignale aus dem Controller heraus (Links und Rechtslauf)
- ein PWM Signal aus dem Controller heraus, alterinativ musst du auf den eingang enable ein Dauersignal legen.
das relais brauchst du nicht, wenn du den L298D verwendest.
lg, Anna
Ich würde dazu lieber diesen Motortreiber verwenden: https://www.reichelt.de/entwicklerboards-motodriver2-l298n-debo-motodriver2-p202829.html?PROVID=2788&gclid=Cj0KCQjwpv2TBhDoARIsALBnVnlA90mlMI6klLBCKsuz5mCtPlBwR1nX5wZ_6QgtFtRhndGDr6z7BEAaAn5QEALw_wcB
Damit kann man bis zu 2 Motoren ansteuern. Über Steuereingänge kann man z.B. Signale für Rechtslauf, Linkslauf, Stop und auch ein PWM-Signal für die Drehzahl einspeisen. Hier ein Anschlussbeispiel mit Beispielcode für Arduino: https://funduino.de/nr-34-motoren-mit-h-bruecke-l298n-ansteuern
Der Motortreiber ist gegen Kurzschluss und Überlastung geschützt. Er ist für Motoren zwischen 5V und 35V geeignet.
Funktioniert dein Port richtig? Hast du den schon einmal vermessen?
Lg
https://imgur.com/a/foRpvrk hier ist die Schaltung die ich gerade nutze, die aber nicht geht.
Hast du zufällig einen Logic Analyzer oder ähnliches bei der Hand? Rein von der Schaltung ist es jetzt schwer für mich da etwas zu sagen, da muss man sich einmal das Datenblatt von diesem Ansteuerchip anschauen😅. Mit einem Logic Analyzer kann man die Ausgänge überprüfen
Weil es kann natürlich vieles sein. Deshalb würde ich dir raten, dass du einmal diesen Chip vermisst. An den Ausgängen des Chips liegt ja im Ansteuervorgang eine gewisse Spannung an. Ich würde einmal versuchen, diese Spannung gegen GND vom Chip zu messen. Wenn du diese Spannung misst, dann kannst du diesen Fehler ausschließen. 😁
https://imgur.com/a/r4bINyU Also das ist die Pin belegung davon.
Hmm. Ich kann den Link irgendwie nicht öffnen. Ich seh da nur ein schwarzes Bild
Vermessen? Und welchen Port meinst du? Den am arduino? Also alles andere was ich mit dem Arduino mache funktioniert. Aber wenn ich versuche etwas mit dem Motor zu machen geht nichts mehr.
Danke! Du hast mir so geholfen!
Das der Arduino auf dem BIld nicht angeschlossen ist weiß ich. Das ist auch nur ein Schaltplan. Natürlich habe ich ihn angeschlossen. Ich weiß nicht ob ich nur ein Kabel nicht richtig rein gesteckt habe oder so.
Aufjedenfall klappt das! Endlich!
Den 2. Motor kann ich anschließen indem ich ihn an die untere reihe des Chips anschließe und mit arduino pins verbinde oder? Wie in dem Link den du gechickt hast oder. Weil ich brauche wahrscheinlich einen 2. Motor.