Steuer DC und Schrittmotoren mit L298N verdoppeln Motor-Controller-Module und Arduino

3 Schritt:Schritt 1: Das Verständnis der L298-Modul-Verbindungen Schritt 2: Controlling DC-Motoren Schritt 3: Steuern eines Schrittmotors mit Arduino und L298N

Steuer DC und Schrittmotoren mit L298N verdoppeln Motor-Controller-Module und Arduino

Sie müssen nicht viel Geld ausgeben, um Motoren mit einem Arduino kompatibles Board oder zu steuern. Nach einiger Jagd rund um die wir fanden eine ordentliche Motorsteuermodul basierend auf der L298N H-Brücken-IC, die erlaubt können Sie die Geschwindigkeit und die Richtung von zwei DC-Motoren oder der Steuerung eines bipolaren Schrittmotor mit Leichtigkeit steuern.
Die L298N H-Brückenmodul mit mehreren Motoren, die eine Spannung von 5 bis 35 V DC angewendet werden. Mit dem Modul in diesem Tutorial verwendet, gibt es auch eine Onboard-5V-Regler, so dass, wenn Ihre Netzspannung bis zu 12V aus dem Board können Sie auch Quelle 5V.
Also lassen Sie uns beginnen!

Schritt 1: Das Verständnis der L298-Modul-Verbindungen

  1. Steuer DC und Schrittmotoren mit L298N verdoppeln Motor-Controller-Module und Arduino

    Zuerst werden wir durch die Verbindungen laufen, dann erklären, wie DC-Motoren steuern dann einen Schrittmotor. An diesem Punkt, überprüfen Sie die Anschlüsse auf der L298N H-Brückenmodul .
    Betrachten Sie das Bild - bringen Sie die Zahlen mit der Liste unter dem Bild:
      Gleichstrommotor 1 "+" oder Schrittmotor A + DC Motor 1 "-" oder Schrittmotor A-
      12V jumper - entfernen Sie diese Option, wenn mit einer Versorgungsspannung von mehr als 12V DC. Dies ermöglicht die Stromversorgung des Bord 5V-Regler

      Verbinden Sie Ihren Motorversorgungsspannung hier, maximal 35V DC. Entfernen 12V Jumper, wenn> 12 V DC

      GND

      5V Ausgang, wenn 12V Jumper in Ort, ideal für die Stromversorgung Ihres Arduino (etc)

      Gleichstrommotor 1 Freigabebrücke. Bei Verwendung eines Schrittmotors verlassen diese an Ort und Stelle. Eine Verbindung mit PWM-Ausgang für DC-Motor Drehzahlregelung.

      IN1

      IN2

      IN3

      IN4

      Gleichstrommotor 2 Freigabebrücke. Bei Verwendung eines Schrittmotors verlassen diese an Ort und Stelle. Eine Verbindung mit PWM-Ausgang für DC-Motor Drehzahlregelung

      Gleichstrommotor 2 "+" oder Schrittmotor B +

      Gleichstrommotor 2 "-" oder Schrittmotor B-

Schritt 2: Controlling DC-Motoren

  1. Steuer DC und Schrittmotoren mit L298N verdoppeln Motor-Controller-Module und Arduino

    Um zu steuern, ein oder zwei Gleichstrommotoren ist ganz einfach mit dem L298N H-Brückenmodul . Schließen Sie zunächst jeden Motor zu den A- und B-Anschlüsse auf der L298N Modul.
    Wenn Sie mit zwei Motoren für einen Roboter sind (usw.) sicherzustellen, dass die Polarität der Motoren gleich ist auf beiden Eingängen. Andernfalls müssen Sie sie über, wenn Sie beide Motoren eingestellt, weiterzuleiten und man geht nach hinten zu tauschen!
    Als nächstes schließen Sie Ihr Netzteil - die positive zu Pin 4 auf dem Modul und negative / GND an Pin 5. Wenn Sie liefern bis zu 12V Sie in der 12V-Jumper (Punkt 3 in der Abbildung oben) stehen lassen und 5 V zur Verfügung stehen vom Stift 6 auf dem Modul.
    Dies kann zu Ihrem Arduino 5V Pin zugeführt werden, um sie von der Motoren Netzteil betreiben. Vergessen Sie nicht, Arduino GND zu verbinden, um auf dem Modul Pin 5 als auch, um die Schaltung zu vervollständigen. Jetzt werden Sie sechs digitalen Ausgangspins auf Ihrem Arduino, zwei davon müssen PWM (Pulsweitenmodulation) Stifte sein müssen.
    PWM Pins werden durch die Tilde ("~") neben dem Pin-Nummer, zum Beispiel in dem Bild der Arduino Uno digitalen Stifte bezeichnet.
    Schließlich die Arduino digitale Ausgangsstifte die Verbindung zum Treiber-Modul. In unserem Beispiel haben wir zwei Gleichstrommotoren, so digitalen Pins D9, D8, D7 und D6 werden an Stifte IN1, IN2, IN3 und IN4 verbunden werden. Schließen Sie dann D10 zu Pin 7 (erster entfernen Sie den Jumper) und D5, um den Stift 12 Modul-Modul (wieder, entfernen Sie den Jumper).
    Die Drehrichtung des Motors wird durch das Senden einer hohes oder niedriges Signal an den Antrieb für jeden Motor (oder Kanal) gesteuert. Beispielsweise für die Motor einen, eine hohe bis IN1 und IN2 LOW wird bewirken, daß sie in eine Richtung zu drehen, und ein LOW und HIGH wird bewirken, daß sie in die andere Richtung zu drehen.
    Doch die Motoren lässt sich nicht einschalten, bis ein HOCH an den Enable-Pin (7 zum Motor einer, 12 für Kraft zwei) gesetzt. Und sie können mit einem LOW auf den gleichen Pin (n) eingeschaltet werden. Allerdings, wenn Sie benötigen, um die Geschwindigkeit der Motoren, das PWM-Signal aus dem digitalen Stift auf die Enable-Pin verbunden ist, kann sich darum kümmern zu steuern.
    Das ist, was wir mit dem Gleichstrommotor Demonstration Skizze gemacht. Zwei Gleichstrommotoren und ein Arduino Uno wie oben beschrieben sind, zusammen mit einer externen Stromversorgung verbunden. Geben Sie anschließend und laden Sie die folgende Skizze:
     // Motorsteuerung Stifte anschließen, um digitale Stifte Arduino
     // Motor einem
     int enA = 10;
     int in1 = 9;
     int in2 = 8;
     // Motor zwei
     int ENB = 5;
     int in3 = 7;
     int in4 = 6;
     Leere setup ()
     {
       // Setze alle Motorsteuerstifte auf die Ausgänge
       pinMode (ENA, OUTPUT);
       pinMode (ENB, OUTPUT);
       pinMode (in1, OUTPUT);
       pinMode (in2, OUTPUT);
       pinMode (in3, OUTPUT);
       pinMode (in4, OUTPUT);
     }
     Leere demoOne ()
     {
       // Diese Funktion werden die Motoren in beide Richtungen mit einer festen Geschwindigkeit laufen
       // Am Motor A schalten
       digital (in1, HIGH);
       digital (in2, LOW);
       // Solldrehzahl auf 200 von möglichen Bereich 0 ~ 255
       analogWrite (ENA, 200);
       // Am Motor B drehen
       digital (in3, HIGH);
       digital (in4, LOW);
       // Solldrehzahl auf 200 von möglichen Bereich 0 ~ 255
       analogWrite (ENB, 200);
       Verzögerung (2000);
       // Jetzt Motor Richtungen ändern
       digital (in1, LOW);
       digital (in2, HOCH);  
       digital (in3, LOW);
       digital (in4, HIGH); 
       Verzögerung (2000);
       // Jetzt schalten Sie Motoren
       digital (in1, LOW);
       digital (in2, LOW);  
       digital (in3, LOW);
       digital (in4, LOW);
     }
     nichtig demoTwo ()
     {
       // Diese Funktion werden die Motoren über die Bandbreite der möglichen Geschwindigkeiten
       // Beachten Sie, dass maximale Geschwindigkeit durch den Motor selbst und die Betriebsspannung ermittelt
       // Die PWM-Werte, die durch analogWrite () gesendet werden Fraktionen von maximaler Geschwindigkeit 
       // Von Ihrer Hardware
       // Auf Motoren schalten
       digital (in1, LOW);
       digital (in2, HOCH);  
       digital (in3, LOW);
       digital (in4, HIGH); 
       // Von Null auf Höchstgeschwindigkeit beschleunigen
       for (int i = 0; i <256; i ++)
       {
         analogWrite (ENA, i);
         analogWrite (ENB, i);
         Verzögerung (20);
       } 
       // Abzubremsen von Maximaldrehzahl auf Null
       for (int i = 255; i> = 0; -I)
       {
         analogWrite (ENA, i);
         analogWrite (ENB, i);
         Verzögerung (20);
       } 
       // Jetzt schalten Sie Motoren
       digital (in1, LOW);
       digital (in2, LOW);  
       digital (in3, LOW);
       digital (in4, LOW);  
     }
     Leere Schleife ()
     {
       demoOne ();
       Verzögerung (1000);
       demoTwo ();
       Verzögerung (1000);
     }
    

    Also, was ist in dieser Skizze passiert? In der Funktion demoOne () wenden wir die Motoren auf und führen sie zu einem PWM-Wert von 200. Das ist kein Drehzahlwert, statt Energie für 200/255 einer Zeit gleichzeitig angewendet.

    Dann nach einem Moment die Motoren arbeiten in umgekehrter Richtung (wie wir in thedigitalWrite () Funktionen verändert die Höhen und Tiefen?). Um eine Vorstellung von der Drehzahlbereich möglich Ihre Hardware zu erhalten, führen wir durch die gesamte PWM-Bereich in der Funktion demoTwo (), die die Motoren ein- und sie zieht sich durch PWM-Werte null auf 255 und zurück auf Null mit den beiden for-Schleifen .
    Schließlich ist dies in der Video auf dieser Seite gezeigt - mit unserem gut getragen Tankchassis mit zwei Gleichstrommotoren.

Schritt 3: Steuern eines Schrittmotors mit Arduino und L298N

  1. Steuer DC und Schrittmotoren mit L298N verdoppeln Motor-Controller-Module und Arduino

    Schrittmotoren erscheinen mag kompliziert sein, aber nichts könnte weiter sein als die Wahrheit. In diesem Beispiel steuern wir eine typische NEMA-17-Schrittmotor, der vier Drähte aufweist, wie es in dem Bild auf dieser Stufe gezeigt.
    Es hat 200 Schritte pro Umdrehung, und kann bei 60 RPM arbeiten. Wenn Sie nicht bereits über den Schritt und Drehzahlwert für Ihren Motor, um herauszufinden, jetzt und Sie werden es für den Entwurf benötigen.
    Der Schlüssel zum erfolgreichen Schrittmotorsteuerung ist die Identifizierung der Leitungen - das ist, welche welche ist. Sie müssen die A +, A-, B + und B- Leitungen zu bestimmen. Bei unserem Beispiel Motor sind rot, grün, gelb und blau. Nun lasst uns die Verdrahtung durchgeführt.
    Verbinden die A +, A-, B + und B- Leitungen von dem Schrittmotor auf den Klemmen 1, 2, 13 und 14 jeweils. Legen Sie die mit dem L298N Modul über den Paaren enthalten Jumper am Modul Punkte 7 und 12. Verbinden Sie danach das Netzteil je nach Bedarf auf die Punkte 4 (positiv) und 5 (negative / GND).
    Noch einmal, wenn Sie Ihre Stromversorgung Schrittmotor ist kleiner als 12 V ist, passen Sie den Jumper auf dem Modul in Punkt 3, die Ihnen eine saubere 5V Netzteil für Ihren Arduino. Anschließend verbinden L298N Modulstifte IN1, IN2, IN3 und IN4 digitale Stifte D8, D9, D10 und D11, die jeweils mit Arduino.
    Schließlich verbinden Arduino GND auf dem Modul Punkt 5 und Arduino 5 V zu Punkt 6, wenn Sourcing 5V aus dem Modul. Steuerung des Schrittmotors von Ihrem Skizzen ist sehr einfach, dank der Stepper Arduino Bibliothek mit der Arduino IDE zum Standard.
    Um Ihren Motor zu demonstrieren, laden Sie einfach die stepper_oneRevolution Skizze, die mit dem Schrittbibliothek enthalten ist. Um diese zu finden, klicken Sie auf Datei> Beispiele> Schrittmenü in der Arduino IDE.
    Schließlich, überprüfen Sie den Wert für
      const int stepsPerRevolution = 200; 
    in der Skizze und ändern Sie die 200 für die Anzahl der Schritte pro Umdrehung für Ihre Schrittmotor, und auch die Geschwindigkeit, die 60 RPM in der folgenden Zeile voreingestellt ist:
      myStepper.setSpeed ​​(60); 

    Jetzt können Sie speichern und laden Sie die Skizze, die Ihre Schrittmotor um eine Umdrehung wieder zurück schickt, dann. Dies wird mit der Funktion erreicht
      <P> myStepper.step (stepsPerRevolution);  // Für Rechts- </ p> <p> myStepper.step (-stepsPerRevolution);  // Für Links 

    Schließlich wird eine schnelle Demonstration unserer Test-Hardware in dem Video zu diesem Schritt gezeigt.
    So haben Sie es, haben eine einfache eine kostengünstige Möglichkeit, um Motoren mit Ihrem Arduino oder kompatibles Board zu steuern . Wenn Sie diesen Artikel genossen, oder wollen jemanden, der die interessante Welt der Arduino einzuführen - überprüfe mein Buch (jetzt in der vierten Druck!) " Arduino-Workshop ".