Inhaltsverzeichnis:

DC-Motorsteuerung Arduino Uno R3 - Gunook
DC-Motorsteuerung Arduino Uno R3 - Gunook

Video: DC-Motorsteuerung Arduino Uno R3 - Gunook

Video: DC-Motorsteuerung Arduino Uno R3 - Gunook
Video: How Brushless Motor and ESC Work and How To Control them using Arduino 2024, Juli
Anonim
DC-Motorsteuerung Arduino Uno R3
DC-Motorsteuerung Arduino Uno R3

In diesem Experiment lernen wir, die Richtung und Geschwindigkeit eines kleinen Gleichstrommotors durch einen Treiberchip L293D zu steuern. Bei einfachen Experimenten lassen wir den Motor einfach nach links und rechts drehen und beschleunigen oder bremsen automatisch.

Schritt 1: Komponenten

- Arduino Uno-Board * 1

- USB-Kabel * 1

-L293D *1

- Kleiner Gleichstrommotor * 1

- Steckbrett * 1

- Überbrückungsdrähte

Schritt 2: Prinzip

Der maximale Strom eines Arduino I/O-Ports beträgt 20 mA, aber der Antriebsstrom eines Motors beträgt mindestens 70 mA. Daher können wir den I/O-Port nicht direkt verwenden, um den Strom zu steuern; stattdessen können wir einen L293D verwenden, um den Motor anzutreiben. L293D L293D wurde entwickelt, um bidirektionale Antriebsströme von bis zu 600 mA bei Spannungen von 4,5 V bis 36 V bereitzustellen. Es wird verwendet, um induktive Lasten wie Relais, Magnetspulen, Gleichstrom- und bipolare Schrittmotoren sowie andere Hochstrom-/Hochspannungslasten in Anwendungen mit positiver Versorgung anzutreiben.

Siehe die Abbildung der Pins unten. L293D hat zwei Pins (Vcc1 und Vcc2) für die Stromversorgung. Vcc2 wird verwendet, um den Motor mit Strom zu versorgen, während Vcc1 für den Chip verwendet wird. Da hier ein kleiner Gleichstrommotor verwendet wird, verbinden Sie beide Pins mit +5V. Wenn Sie einen Motor mit höherer Leistung verwenden, müssen Sie Vcc2 an eine externe Stromversorgung anschließen.

Schritt 3: Das schematische Diagramm

Das schematische Diagramm
Das schematische Diagramm

Schritt 4: Verfahren

Verfahren
Verfahren
Verfahren
Verfahren

Die Enable-Pin 1, 2EN des L293D sind bereits mit 5V verbunden, sodass L293D immer im Arbeitszustand ist. Verbinden Sie Pin 1A und 2A mit Pin 9 bzw. 10 der Steuerplatine. Die beiden Pins des Motors sind mit Pin 1Y bzw. 2Y verbunden. Wenn Pin 10 auf High-Pegel und Pin 9 auf Low eingestellt ist, beginnt der Motor, sich in eine Richtung zu drehen. Wenn Pin 10 Low und Pin 9 High ist, dreht er sich in die entgegengesetzte Richtung.

Schritt 1:

Baue die Schaltung auf.

Schritt 2:

Laden Sie den Code von https://github.com/primerobotics/Arduino. herunter

Schritt 3:

Laden Sie die Skizze auf das Arduino Uno-Board hoch

Klicken Sie auf das Symbol Hochladen, um den Code auf die Steuerplatine hochzuladen.

Wenn unten im Fenster "Hochladen fertig" erscheint, bedeutet dies, dass die Skizze erfolgreich hochgeladen wurde.

Jetzt beginnt sich die Klinge des Gleichstrommotors mit einer entsprechend unterschiedlichen Geschwindigkeit nach links und rechts zu drehen.

Schritt 5: Code

Code
Code

// DC-Motorsteuerung

// Der Gleichstrommotor

beginnt sich nach links und rechts zu drehen, und seine Geschwindigkeit wird entsprechend variieren.

//Website:www.primerobotics.in

/***************************************/

const int motorIn1

= 9; // an einem der Stifte des Motors befestigen

const int motorIn2

= 10; // an einem anderen Stift des Motors befestigen

/***************************************/

Void-Setup ()

{

PinMode (MotorIn1, AUSGANG); // den motorIn1-Pin als Ausgang initialisieren

PinMode (MotorIn2, AUSGANG); // den motorIn2-Pin als Ausgang initialisieren

}

/****************************************/

Leere Schleife ()

{

im Uhrzeigersinn (200); //im Uhrzeiger sinn drehen

Verzögerung (1000);

//warte kurz

gegen den Uhrzeigersinn (200); //gegen den Uhrzeigersinn drehen

Verzögerung (1000);

//warte kurz

}

/****************************************

/Die Funktion zu

Antriebsmotor im Uhrzeigersinn drehen

ungültig im Uhrzeigersinn (int

Geschwindigkeit)

{

analogWrite (MotorIn1, Geschwindigkeit); // Stellen Sie die Geschwindigkeit des Motors ein

analogWrite (MotorIn2, 0); // Stoppen Sie den motorIn2-Pin des Motors

}

//Die zu fahrende Funktion

Motor dreht gegen den Uhrzeigersinn

Leere

gegen den Uhrzeigersinn (int Geschwindigkeit)

{

analogWrite (MotorIn1, 0); // Stoppen Sie den motorIn1-Pin des Motors

analogWrite (MotorIn2, Geschwindigkeit); // Stellen Sie die Geschwindigkeit des Motors ein

}

/****************************************/

Empfohlen: