Motor mit dem Arduino steuern: Der Motortreiber L293D (Dual H-Bridge)

preview_player
Показать описание
DEVLOG#15

In diesem Video zeige Ich euch, wie ihr mit dem Arduino einen Motor steuern könnt. Den Motortreiber den ich dazu verwende ist der L293D. Er enthält eine Dual H-Bridge. Alternativ lässt sich auch der SN754410NE mit dem exakt gleichen Pinout verwenden.

Verwendete Bauteile(Affiliate Links):
Рекомендации по теме
Комментарии
Автор

Programmcode:
int enablePin = 6;
int in1Pin = 7;
int in2Pin = 8;
int fasterPin=5;
int slowerPin=4;
int speed = 155;
bool fasterPress=false;
bool slowerPress=false;

void setup()
{
Serial.begin(9600);
pinMode(in1Pin, OUTPUT);
pinMode(in2Pin, OUTPUT);
pinMode(enablePin, OUTPUT);
pinMode(fasterPin, INPUT_PULLUP);
pinMode(slowerPin, INPUT_PULLUP);
}

void loop()
{
speed+=getSpeedChange();
setMotor(speed);
Serial.println(speed);
}

int getSpeedChange()
{

{
fasterPress=true;
if(speed<=245)
{
return 10;
}
}
else
{
fasterPress=false;
}
else
{
slowerPress=true;
if(speed>=-245)
{
return -10;
}
}
else
{
slowerPress=false;
}
return 0;
}

void setMotor(int speed)
{
analogWrite(enablePin, abs(speed));
if(speed<=0)
{
digitalWrite(in1Pin, true);
digitalWrite(in2Pin, false);
}
else if(speed>0)
{
digitalWrite(in2Pin, true);
digitalWrite(in1Pin, false);
}

}

developandplay
Автор

Einfach, logisch, nachvollziehbar, alles in allem super erklärt! Danke für das tolle Video

juergenschultz
Автор

Hi! Danke für dein Video! Das was du gemacht hast, ist genau, dass was unsere Aufgabe ist. Unser Lehrer hat verlangt, dass wir selbst darauf kommen, aber wenn ich jz die Lösung sehe, frage ich mich, wie 9. Klässler darauf kommen sollten... du hast teilweise Befehle verwendet, die wir nicht einmal kennen.

LG aus der Corona Quarantäne xD

twithouttea
Автор

Hi
Hab da mal ne Frage.
Ich habe einen Motor der gerne mal 10A frisst.
Wie steuere ich den an?

hsimpson
Автор

Erstmal ein wirklich informatives Video. Allerdings habe ich ein kleines Problem, undzwar kann ich bei mir den Motor nicht langsamer stellen, evtl ne Idee was ich falsch gemacht haben kann ?? Würde mich über eine Antwort sehr freuen, danke im voraus.

ehrmantraut
Автор

Ersteinmal danke für das hilfreiche Video!
Aber bei dem Schaltplan ist GND beim Arduino mit + auf dem Breadboard verbunden und 5V beim Arduino mit - auf dem Breadboard. Muss das nicht verkehrt rum?!

julietsierra
Автор

Deine Schaltung bei der Zeichnung hat einen Fehler. Die schalter sind auf der Gleichen Linie. Ich bin super noob :-) Mein allererstes Projekt. Aber ich sah erst später da sich bei mir die Buttons nicht benutzen liesen, dass du im REAL, die anschlüsse versetzt hast. Leider bekomme ich den motor nicht GANZ runtergedreht, so dass er umkehrt, sondern nur 155 - 254 in speed geändert. Geht nach umstellung der Buttonanschlüsse zumindest schon mal. Hast du evtl. eine idee was der fehler sein könnte? Eine Frage hätte ich noch. Wie könnte ich das denn dann so bauen, dass ich das breadboard ersetze und das ganze irgendwo einbauen könnte?

tamgaming
Автор

Du bist der Beste! ich Danke dir viel Mals)

zafarismailov
Автор

Hallo ich bin ein kompletter Anfänger in solchem zeugs deshalb diese Frage:
Ich habe auch einen solchen Chip auch mit 16 Anschlüssen funktionieren da alle gleich oder wie ist das

jakobendres
Автор

Sehr schönes Video, ich habe es endlich geschafft, meinen motor für mein Faller Car System Car anzusteuern per arudino

dfmdlp
Автор

Hallo @developandplay ich habe interessiert dein Video angeschaut, ich versuche gerade eine Schaltung zu Bauen wo ich ein Motor Vorwärts laufen lasse für ein paar Secunden, dann soll er stoppen verweilen und dann wieder in die andere Richtung laufen und das Programm beende, bis ich quasi einen Schalter betätige und dann das ganze von vorne.


Kannst du mir da Helfen?

svenmunder
Автор

Du hast die vom Arduino bereitgestellten 5V als Versorgungspannug des Motors genommen. Da ist di Stromstärke schon auf 50 mA begrenzt. Der L293D verstärkert diese bis 600 mA . Das ist nämlich der Strom, was ja eigentlich der Motor braucht. Gut, bis jetzt ist alles klar. Wie sieht es aber aus, wenn wir eine externe Spannungsquelle verwenden ( 9V Batterie zum Beispiel ). Da ist der Strom ursprünglich hoch . Und durch die Verstärkung des L293D erhöht sich das erheblich . Ist das soweit nicht gefährlich für den Motor ? oder habe ich hier das Prinzip falsch nachvollgezogen ? Danke dir im Voraus !

anasserrabbah
Автор

Variablenwerte die nicht verändert werden, sollte man besser mit define deklarieren. Das verbraucht weniger Speicherplatz im Arduino.
#define ENABLE_PIN 6
#define IN1_PIN 7
#define IN2_PIN 8
#define FASTER_PIN 5
#define SLOWER_PIN 4

feingeist
Автор

SOS.
Hallo! ich brauche dringend helfe!
Ich soll in Projekt 2 Motoren (1DC motor und 1 Schriet Motot) mit 2 Potenziometer Geschwindigkeit steuern mit( Arduino Uno und Adafruit), DC Motor muss nur vorwärts laufen, Schriet Motor soll ca 1000 schriet vorwärts 1000 schriet rückwärts laufen aber wie schnell soll man mit Potenziometer steuern. kannst du mir bitte helfen, ich kann dich mit Dogecoin belohnen)

zafarismailov
Автор

Sehr gutes Erklär-Video; genau das, wonach ich gesucht habe. Allerdings habe ich mich gefragt, wieso Du alles auf Deutsch erklärst, aber bei PWM hast Du dann statt einfach "Pulsweitenmodulation" zu sagen, es nach "pulse width modulation" übersetzt ;-)

MhLiMz