Inhaltsverzeichnis:

Arduino L293D Motor Driver Shield Tutorial - Gunook
Arduino L293D Motor Driver Shield Tutorial - Gunook

Video: Arduino L293D Motor Driver Shield Tutorial - Gunook

Video: Arduino L293D Motor Driver Shield Tutorial - Gunook
Video: Motor driver shield control (L293D IC) 2024, Juli
Anonim
Arduino L293D Motor Driver Shield Tutorial
Arduino L293D Motor Driver Shield Tutorial

Sie können dieses und viele andere erstaunliche Tutorials auf der offiziellen Website von ElectroPeak lesen

Überblick

In diesem Tutorial erfahren Sie, wie Sie Gleichstrom-, Schritt- und Servomotoren mit einem Arduino L293D-Motortreiberschild antreiben.

Was du lernen wirst:

  • Allgemeine Informationen zu Gleichstrommotoren
  • Einführung in das L293D-Motorschild
  • Antreiben von DC-, Servo- und Schrittmotoren

Schritt 1: Motoren & Treiber

Motoren & Treiber
Motoren & Treiber

Motoren sind ein untrennbarer Bestandteil vieler Robotik- und Elektronikprojekte und haben unterschiedliche Typen, die Sie je nach Anwendung verwenden können. Hier einige Informationen zu den verschiedenen Motortypen:

Gleichstrommotoren: Gleichstrommotoren sind die am häufigsten verwendeten Motoren, die für viele Anwendungen verwendet werden können. Wir können es in ferngesteuerten Autos, Robotern usw. sehen. Dieser Motor hat eine einfache Struktur. Es beginnt zu rollen, indem es die richtige Spannung an seine Enden anlegt und seine Richtung ändert, indem es die Spannungspolarität umschaltet. Die Drehzahl der Gleichstrommotoren wird direkt durch die angelegte Spannung gesteuert. Wenn der Spannungspegel unter der maximal tolerierbaren Spannung liegt, würde die Geschwindigkeit sinken.

Schrittmotoren: In einigen Projekten wie 3D-Druckern, Scannern und CNC-Maschinen müssen wir die Motordrehschritte genau kennen. In diesen Fällen verwenden wir Schrittmotoren. Schrittmotor ist ein Elektromotor, der eine volle Umdrehung in mehrere gleiche Schritte aufteilt. Die Anzahl der Umdrehungen pro Schritt wird durch die Motorstruktur bestimmt. Diese Motoren haben eine sehr hohe Genauigkeit.

Servomotoren: Der Servomotor ist ein einfacher Gleichstrommotor mit Positionsregelungsdienst. Durch die Verwendung eines Servos können Sie die Drehung der Wellen steuern und in eine bestimmte Position bewegen. Sie haben normalerweise eine kleine Abmessung und sind die beste Wahl für Roboterarme.

Aber wir können diese Motoren nicht direkt an Mikrocontroller oder Controllerboards wie Arduino anschließen, um sie zu steuern, da sie möglicherweise mehr Strom benötigen, als ein Mikrocontroller antreiben kann, also brauchen wir Treiber. Der Treiber ist eine Schnittstellenschaltung zwischen Motor und Steuergerät, um das Fahren zu erleichtern. Laufwerke gibt es in vielen verschiedenen Ausführungen. In dieser Anleitung lernen Sie die Arbeit am Motorschild L293D.

L293D Shield ist eine auf dem L293 IC basierende Treiberplatine, die gleichzeitig 4 DC-Motoren und 2 Schritt- oder Servomotoren ansteuern kann.

Jeder Kanal dieses Moduls hat den maximalen Strom von 1,2 A und funktioniert nicht, wenn die Spannung mehr als 25 V oder weniger als 4,5 V beträgt. Seien Sie also vorsichtig bei der Auswahl des richtigen Motors entsprechend seiner Nennspannung und -stromstärke. Für weitere Merkmale dieser Abschirmung erwähnen wir die Kompatibilität mit Arduini UNO und MEGA, den elektromagnetischen und thermischen Schutz des Motors und des Trennkreises im Falle eines unkonventionellen Spannungsanstiegs.

Schritt 2: Wie verwende ich das Arduino L293D-Motortreiberschild?

Wie verwende ich das Arduino L293D-Motortreiberschild?
Wie verwende ich das Arduino L293D-Motortreiberschild?

Bei Verwendung dieser Abschirmung 6 analoge Pins (die auch als digitale Pins verwendet werden können), sind Pin 2 und Pin 13 von Arduino frei.

Bei Verwendung eines Servomotors sind die Pins 9, 10, 2 belegt.

Bei Verwendung eines Gleichstrommotors sind Pin11 für #1, Pin3 für #2, Pin5 für #3, Pin6 für #4 und Pins 4, 7, 8 und 12 für alle belegt.

Bei Verwendung eines Schrittmotors sind Pins 11 und 3 für #1, Pins 5 und 6 für #2 und Pins 4, 7, 8 und 12 für alle belegt.

Sie können freie Pins durch kabelgebundene Verbindungen verwenden.

Wenn Sie Arduino und Abschirmung separat mit Strom versorgen, stellen Sie sicher, dass Sie den Jumper auf der Abschirmung abgezogen haben.

Schritt 3: Gleichstrommotor antreiben

Antreiben des Gleichstrommotors
Antreiben des Gleichstrommotors

#enthalten

Die Bibliothek, die Sie benötigen, um den Motor zu steuern:

AF_DCMotormotor (1, MOTOR12_64KHZ)

Definieren des von Ihnen verwendeten Gleichstrommotors.

Das erste Argument steht für die Anzahl der Motoren in der Abschirmung und das zweite für die Frequenz der Motordrehzahlregelung. Das zweite Argument kann MOTOR12_2KHZ, MOTOR12_8KHZ, MOTOR12_8KHZ und MOTOR12_8KHZ für die Motoren Nummer 1 und 2 sein, und es kann MOTOR12_8KHZ, MOTOR12_8KHZ und MOTOR12_8KHZ für die Motoren Nummer 3 und 4 sein.

motor.setSpeed (200);

Definieren der Motordrehzahl. Er kann von 0 bis 255 eingestellt werden.

Leere Schleife () {

motor.run(FORWARD);

Verzögerung (1000);

motor.run (RÜCKWÄRTS);

Verzögerung (1000);

motor.run (FREIGABE);

Verzögerung (1000);

}

Die Funktion motor.run() gibt den Bewegungsstatus des Motors an. Der Status kann VORWÄRTS, RÜCKWÄRTS und FREIGEBEN sein. RELEASE ist dasselbe wie die Bremse, es kann jedoch einige Zeit dauern, bis der Motor vollständig zum Stillstand kommt.

Es wird empfohlen, an jeden Motorpin einen 100nF-Kondensator anzulöten, um das Rauschen zu reduzieren.

Schritt 4: Servomotor fahren

Antriebsservomotor
Antriebsservomotor

Arduino IDE-Bibliothek und Beispiele eignen sich zum Antrieb eines Servomotors.

#enthalten

Die Bibliothek, die Sie zum Antrieb des Servomotors benötigen

Servo-Myservo;

Definieren eines Servomotor-Objekts.

Leere Einrichtung () {

myservo.attach(9);

}

Bestimmen Sie den Pin, der mit dem Servo verbunden ist. (Pin 9 für Sevo Nr. 1 und Pin 10 für Servo Nr. 2)

Leere Schleife () {

myservo.write(val);

Verzögerung(15);

}

Bestimmen Sie die Motordrehzahl. Zwischen 0 bis 360 oder 0 bis 180 je nach Motortyp.

Schritt 5: Schrittmotor antreiben

Schrittmotor antreiben
Schrittmotor antreiben

#include < AFMotor.h>

Bestimmen Sie die Bibliothek, die Sie benötigen

AF_Schrittmotor (48, 2);

Definieren eines Schrittmotorobjekts. Das erste Argument ist die Motorschrittauflösung. (Wenn Ihr Motor beispielsweise eine Genauigkeit von 7,5 Grad/Schritt hat, bedeutet dies, dass die Schrittauflösung des Motors beträgt. Das zweite Argument ist die Nummer des Schrittmotors, der mit der Abschirmung verbunden ist.

Void setup () { motor.setSpeed (10);

motor.onestep (FOWARD, SINGLE);

motor.release();

Verzögerung (1000);

}

Void Schleife () { motor.step (100, FORWARD, SINGLE);

motor.step (100, RÜCKWÄRTS, EINZEL);

motor.step (100, VORWÄRTS, DOPPEL); motor.step (100, RÜCKWÄRTS, DOPPEL);

motor.step (100, FORWARD, INTERLEAVE); motor.step (100, BACKWARD, INTERLEAVE);

motor.step (100, VORWÄRTS, MIKROSTEP); motor.step (100, RÜCKWÄRTS, MIKROSTEP);

}

Bestimmen Sie die Motordrehzahl in U/min.

Das erste Argument ist die Schrittweite, die zum Bewegen benötigt wird, das zweite ist die Richtungsbestimmung (FORWARD oder BACKWARD) und das dritte Argument bestimmt den Schritttyp: SINGLE (Aktiviere eine Spule), DOUBLE (Aktiviere zwei Spulen für mehr Drehmoment), INTERLEAVED (kontinuierliche Änderung der Spulenanzahl von eins auf zwei und umgekehrt auf doppelte Genauigkeit, jedoch wird in diesem Fall die Geschwindigkeit halbiert) und MICROSTEP (Änderung der Schritte erfolgt langsam für mehr Präzision. In diesem Fall das Drehmoment ist niedriger). Standardmäßig behält der Motor seinen Status bei, wenn er sich nicht mehr bewegt.

Um den Motor freizugeben, müssen Sie die Funktion motor.release() verwenden.

Schritt 6: Arduino L293D Motor Driver Shield kaufen

Arduino L293D Shield bei ElectroPeak kaufen

Schritt 7: Verwandte Projekte:

  • L293D: Theorie, Diagramm, Simulation & Pinbelegung
  • Der Anfängerleitfaden zur Steuerung von Motoren von Arduino & L293D

Schritt 8: Like uns auf Facebook

Wenn Sie dieses Tutorial hilfreich und interessant finden, liken Sie uns bitte auf Facebook.

Empfohlen: