Schrittmotor: Integration mit Arduino

Schrittmotor

Elektromotoren sind zunehmend gefragt, darunter vielleicht solche, die mit Gleichstrom arbeiten, die bei Projekten von Herstellern mit Arduino am beliebtesten sind, da sie Mobilität bieten. Unter ihnen hervorheben Schrittmotoren die für mehrere Anwendungen verwendet werden, insbesondere für die Robotik, wie z. B. Aktuatoren usw.

Elektroautos, kleine autonome Roboter, industrielle Anwendungen für die Automatisierung, Geräte mit sich wiederholenden Bewegungen usw. Der Grund, warum Servomotoren und Schrittmotoren für diese Anwendungen so gut sind, ist, dass sie es können langsame oder schnelle Bewegungen ausführen, aber vor allem kontrolliert. Darüber hinaus sind die Antriebe für Anwendungen, bei denen viele Stopps und Starts mit hoher Präzision erforderlich sind, kontinuierlich.

Arten von Elektromotoren

Innerhalb Elektromotoren Folgende Typen können hervorgehoben werden:

  • Gleichstrom- oder Gleichstrommotor: Gleichstrommotoren arbeiten mit dieser Art von Strom, wie der Name schon sagt. Sie können von einigen mW Leistung bis zu einigen MW bei den leistungsstärksten und größten reichen, die für industrielle Anwendungen, Fahrzeuge, Aufzüge, Förderbänder, Lüfter usw. verwendet werden. Die Drehzahl (U / min) und das aufgebrachte Drehmoment können je nach Vorschub geregelt werden.
  • Wechselstrom- oder Wechselstrommotor (asynchroner und gewickelter Rotor): Sie arbeiten mit Wechselstrom, mit einem sehr spezifischen Rotor, der dank der Phasen arbeitet, die diese Art von Strom dazu beiträgt, die Rotation durch magnetische Abstoßung des Elektromagneten auf ähnliche Weise wie bei Gleichstrom zu erzeugen. Sie sind sehr billig und leisten bis zu mehreren kW. Sie können in der Drehzahl geregelt werden, aber die Regelelemente sind teurer als die von Gleichstrom. Diese werden häufig für Haushaltsgeräte verwendet.
  • Schrittmotor- Auch als Stepper bekannt, ähneln sie in vielerlei Hinsicht DC, haben jedoch niedrige Schleuderdrehzahlen und -leistungen. Hier fällt die Positionierung der Achse auf, dh die Präzision, um sie in eine bestimmte Position zu bringen. Ihr Drehwinkel und ihre Geschwindigkeit können stark gesteuert werden, weshalb sie früher in Diskettenlaufwerken, Festplatten (HDD), Robotern, Prozessautomatisierung usw. verwendet wurden.
  • Servomotor: Man kann sagen, dass es sich um eine Weiterentwicklung des Schrittmotors handelt, der mit kleinen Leistungen und Geschwindigkeiten arbeitet, die in einigen Fällen bis zu 7000 U / min erreichen. Dieser Motor enthält ein Untersetzungsgetriebe und einen Steuerkreis. Sie haben die gleiche Positioniergenauigkeit wie Stepper und sind hinsichtlich des aufgebrachten Drehmoments sehr stabil, was sie ideal für einige Roboter und industrielle Anwendungen macht.

Schrittmotoren und Servomotoren

Rotor und Stator

Sie wissen bereits, was diese beiden Arten von elektronischen Motoren sind, aber ich möchte etwas sagen mehr über Stepper. Die Drehung, die sie machen, erfolgt nicht kontinuierlich, sondern in kleinen Schritten, daher ihr Name. Der Rotor (Teil, der sich dreht) hat die Form eines Zahnrads, während der Stator (Teil, der sich nicht dreht) aus verschachtelten polarisierten Elektromagneten besteht. Auf diese Weise werden, wenn man "aktiviert" wird, diejenigen auf seinen Seiten nicht aktiviert, was den Rotorzahn zu sich hin anzieht und den genauen Vorschub ermöglicht, für den sie charakterisiert sind.

drv8825
Verwandte Artikel:
DRV8825: der Treiber für Schrittmotoren

Abhängig von Rotorzähnewird es möglich sein, in der Runde mehr oder weniger voranzukommen. Wenn Sie mehr Zähne haben, sind mehr Schritte erforderlich, um eine Drehung abzuschließen. Die Schritte sind jedoch kürzer, sodass es sich um einen genaueren Motor handelt. Wenn Sie nur wenige Zähne haben, sind die Schritte abruptere Sprünge ohne so viel Präzision. Daher hängen die Schritte, die ein Schrittmotor ausführen muss, um eine Drehung abzuschließen, von den Winkelschritten ab.

Diese Schritte Winkel sind standardisiert, obwohl Sie einige Motoren finden können, die nicht standardmäßige Steigung haben. Die Winkel sind normalerweise: 1.8º, 5.625º, 7.5º, 11.25º, 18º, 45º und 90º. Um zu berechnen, wie viele Schritte ein Schrittmotor benötigt, um eine volle Umdrehung oder Umdrehung (360º) auszuführen, müssen Sie nur teilen. Wenn Sie beispielsweise einen 45º-Schrittmotor haben, haben Sie 8 Schritte (360/45 = 8).

Spin mit Bias (Phase)

Innerhalb dieser Motoren haben Sie den unipolaren (am beliebtesten) mit 5 oder 6 Kabeln oder den bipolaren mit 4 Kabeln. Demnach wird das eine oder andere durchgeführt Polarisationssequenzen Strom durch seine Spulen leiten:

  • Polarisation für bipolar:
Schritt Terminal A Terminal B Terminal C. Terminal D.
1 +V -V +V -V
2 +V -V -V +V
3 -V +V -V +V
4 -V +V +V -V
  • Für unipolar:
Schritt Spule A. Spule B. Spule C. Spule D.
1 +V +V 0 0
2 0 +V +V 0
3 0 0 +V +V
4 +V 0 0 +V

In beiden Fällen ist der Vorgang der gleiche: Polarisieren Sie die Spulen, um den Rotor an die Stelle zu ziehen, an der die Achse positioniert werden soll. Falls Sie es wollen Halten Sie es in einer Position, Sie müssen die Polarisation beibehalten für diese Position und voila. Und wenn Sie möchten, dass es sich vorwärts bewegt, polarisieren Sie den nächsten Magneten und es wird einen weiteren Schritt machen, und so weiter ...

Wenn Sie einen ServomotorSie wissen bereits, dass es sich im Grunde genommen um einen Schrittmotor handelt, daher funktioniert alles, was gesagt wird, auch für sie. Das einzige, was diese Untersetzungsgetriebe beinhaltet, um viel mehr Schritte pro Umdrehung zu erzielen und somit eine viel höhere Präzision zu haben. Zum Beispiel können Sie einen Motor mit 8 Schritten pro Umdrehung finden, der ein 1:64 Getriebe hätte, da dies bedeutet, dass jeder dieser acht Schritte in 64 kleinere Schritte unterteilt ist, was maximal 512 Schritte pro Umdrehung ergeben würde. Das heißt, jeder Schritt wäre ungefähr 0.7º.

l298n
Verwandte Artikel:
L298N: Modul zur Steuerung von Motoren für Arduino

Fügen Sie auch hinzu, dass Sie einige verwenden sollten Regler mit dem Polarisation, Geschwindigkeit usw. gesteuert werden können, beispielsweise mit H-Bridge. Einige Modelle sind L293, ULN2003, ULQ2003 usw.

Wo zu kaufen

Sie Kaufen Sie es auf verschiedenen Online-Sites oder in spezialisierten Elektronikgeschäften. Wenn Sie ein Anfänger sind, können Sie auch Kits verwenden, die alles enthalten, was Sie brauchen, und sogar die Platte Arduino UNO und Handbuch, um mit dem Experimentieren und Erstellen Ihrer Projekte zu beginnen. In diesen Kits ist alles enthalten, was Sie benötigen, vom Motor selbst über die Steuerungen, Platinen, Steckbretter usw.

Schrittmotor Beispiel mit Arduino

Arduino mit Schrittmotor und Steuerung

Zum Schluss zeigen Sie a praktisches Beispiel mit Arduinomit ULN2003-Controller und 28BYJ-48-Schrittmotor. Es ist sehr einfach, aber es reicht aus, wenn Sie sich mit der Bedienung vertraut machen, damit Sie einige Tests durchführen und sehen können, wie sie sich verhält ...

Wie in ... gesehen den SchaltplanDie Motorspulen A (IN1), B (IN2), C (IN3) und D (IN4) wurden den Anschlüssen 8, 9, 10 bzw. 11 auf der Arduino-Platine zugewiesen. Andererseits muss der Treiber oder die Steuerplatine an ihren 5-12 V-Pins (an GND und 5 V von Arduino) mit der entsprechenden Spannung gespeist werden, damit sie wiederum den Motor speist, der an den weißen Kunststoffstecker mit diesem Treiber oder angeschlossen ist Regler.

diese 28BYJ-48 Motor Es ist ein unipolarer Schrittmotor mit vier Spulen. Um Ihnen eine Vorstellung davon zu geben, wie es funktioniert, können Sie daher für die folgenden Schritte HIGH (1) - oder LOW (0) -Werte von der Arduino-Platine an die Spulen senden:

Schritt Spule A. Spule B. Spule C. Spule D.
1 HOCH HOCH LOW LOW
2 LOW HOCH HOCH LOW
3 LOW LOW HOCH HOCH
4 HOCH LOW LOW HOCH

Um Skizze oder Code zum Programmieren Ihrer Bewegung, wie es die folgende Verwendung wäre Arduino IDE (Ändern Sie es und experimentieren Sie, um zu testen, wie sich die Bewegung ändert):

// Definir pines conectados a las bobinas del driver
#define IN1  8
#define IN2  9
#define IN3  10
#define IN4  11

// Secuencia de pasos a par máximo del motor. Realmente es una matriz que representa la tabla del unipolar que he mostrado antes
int paso [4][4] =
{
  {1, 1, 0, 0},
  {0, 1, 1, 0},
  {0, 0, 1, 1},
  {1, 0, 0, 1}
};

void setup()
{
  // Todos los pines se configuran como salida, ya que el motor no enviará señal a Arduino
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
}

// Bucle para hacerlo girar
void loop()
{ 
    for (int i = 0; i < 4; i++)
    {
      digitalWrite(IN1, paso[i][0]);
      digitalWrite(IN2, paso[i][1]);
      digitalWrite(IN3, paso[i][2]);
      digitalWrite(IN4, paso[i][3]);
      delay(10);
    }
}


Schreiben Sie den ersten Kommentar

Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.