- kollino.de - https://www.kollino.de -

Schrittmotor 28BYJ-48

Vorab: Ich habe diesen interessanten Artikel auf https://grahamwideman.wikispaces.com/Motors-+28BYJ-48+Stepper+motor+notes [1] gefunden.

Leider gibt wikispaces.com [2] bekannt, dass Sie den Wikidienst 2018/2019 beenden werden. Damit diese Seite möglicherweise nicht vollständig verschwindet, habe ich Sie hier übernommen und so gut ich es konnte übersetzt.
Die Originalseite als PDF in Englisch kann auch am Ende des Artikels heruntergeladen werden.
Vielen Dank an Graham Wideman für seine umfangreichen Informationen zu diesem Schrittmotor.

Überblick

Dieser Artikel enthält einige Anmerkungen zu einem kostengünstigen Schrittmotor mit Untersetzungsgetriebe, der in verschiedenen Formen bei verschiedenen Anbietern erhältlich ist, einschließlich Adafruit, Robotik-Händlern, eBay von US-Verkäufern und aus China usw.
Offensichtlich sind diese bei bei einem Preis von <5 EUR keine Präzisions-, und/oder Hochleistungsmotoren.
Dennoch gibt es sehr viele schöne Einsatzmöglichkeiten für diesen kostengünstigen Schrittmotor.
Da ich keine Spezifikationen zu diesem 28BYJ-48 Motor fand (zumindest Spezifikationen, die ich benötigte), machte ich mich auf die Suche.

 

Identifizierung

Man würde denken, dass die Teilenummer “28BYJ-48” ein bestimmtes Modell identifizieren würde, aber das tut es nicht. Dieser Teilenummer sind verschiedenen Versionen zugeordnet. Ein Teil der Unterscheidung wird durch die mit dem 28BYJ-48 Motor verbundene Nennspannung, entweder “5 V” oder “12 V”, gemacht.
Aber auch für bestimmte Spannungswerte stehen unterschiedliche Modelle mit zum Beispiel unterschiedlichen Wicklungswiderständen zur Verfügung. Es kann auch Modelle mit unterschiedlichem Getriebe geben, wie die Fotos unten zeigen.
Als Hinweis auf die Vielfalt, die es gibt, listet diese Seite [3] sieben andere Modelle mit derselben Teilenummer auf, die sich alle von den Adafruit- und RioRand-Teilen unterscheiden, die ich getestet habe:

28BYJ-48 Tabelle [4]

Zum Vergrößern Bild anklicken

(Typisch für Internet-Spezifikationen: Es ist sehr unwahrscheinlich, dass die verschiedenen 12V-Modelle mit unterschiedlichen Wicklungswiderständen das gleiche Anzugsmoment erzeugen können, daher ist diese Tabelle nicht wirklich Aussagekräftig.)

 

Startpunkt

Ich schaute mir die beiden Modelle von Adafruit und ein Modell, das unter der Marke “RioRand” geführt wird.

Man beachte, dass die Adafruit- und RioRand 5V-Einheiten trotz unterschiedlicher Getriebe- und Drehmomentspezifikationen nicht unterscheidbare Teilenummern haben, wie wir im folgenden Bild sehen können. (Die lange Zahl am unteren Rand des Etiketts scheint eine Seriennummer oder ein Datumscode zu sein, da sie bei jedem 28BYJ-48 Motor anders ist.)

28BYJ-48 [9]

 

Mechanik

Schrittmotor : Der Schrittmotor selbst hat 32 Schritte pro Umdrehung.
Getriebe: Es gibt verschiedene Motormodelle, die wirklich unterschiedliche Übersetzungsverhältnisse haben.
Es gibt verschiedene Behauptungen auf verschiedenen Websites über das Getriebe. Adafruit behauptet entweder 16.032 oder 16.025 pro Umdrehung. In jedem Fall insgesamt 513 Stufen pro Umdrehung der Abtriebswelle.

 

Getriebe

Das Katalogbild von Adafruit (Schrittmotor – [5] 5VDC 32-Step 1/16 Gearing) [5] machte das verwendete Zahnrad Nummer 4 (das zweite von Oben rechts mit 16 Zähnen) ziemlich unwahrscheinlich. Dieses Rätsel wird durch den Vergleich von Adafruits Katalogbild mit meinem Bild vom Inneren des Adafruits Motor erklärt. Es ist offensichtlich, dass das Katalogbild von Adafruit tatsächlich dem Motormodell entspricht, das RioRand (und viele andere Hersteller) verkauft.

Adafruit Online-Katalogfoto (Stand: aktuell) Adafruit Interna RioRand-Motor
28BYJ-48 Innen 1 [10] 28BYJ-48 Innen 2 [11] 28BYJ-48 Innen 3 [12]
Bild des aktuellen Motors Adafruit 858. Der RioRand-Motor sieht aus wie das Katalogbild von Adafruit!

Eine andere Ansicht von jedem Motor

Adafruit RioRand
28BYJ-48 Adafruit [13] 28BYJ-48 RioRand [14]

Tatsächliche Getriebedetails

Adafruit Getriebe [Abbildung korrigiert 2015-01-28] RioRand Getriebe

28BYJ-48 Adafruit Getriebe [15]

28BYJ-48 RioRand-Getriebe [16]

 

Getriebe berechnen und vergleichen

#1 #2 #3 #4 #5 Multiplikation Gesamtverhältnis Erforderliche Schritte pro Ausgabeumdrehung
Adafruit
Eingang 1 Motordrehung 32 22 16 31 349184 513.0343
Ausgang 9 Zähne 11 22 10 1 Wellenumdrehung 21780 1 / 16.032 513 Schritte 0.999933 Umdrehungen
RioRand
Eingang 1 Motordrehung 32 22 26 31 567424 2037.886
Ausgang 9 Zähne 11 9 10 1 Wellenumdrehung 8910 1 / 63.68395 2038 Schritte 1,000056 Umdrehungen
3. Petrs Motor
Eingang 1 Motordrehung 32 22 27 24 456192
Ausgang 9 Zähne 11 9 8 1 Wellenumdrehung 7128 1/64 2048 Schritte 1,0 Umdrehungen

(Motor #3 hinzugefügt durch eine E-Mail von Petr in der Tschechischen Republik, der eine “28BYJ-48” von einem lokalen Internet-Händler gekauft hat. Sehr interessant wegen seines genauen Verhältnisses.)
Fazit: Diese 28BYJ-48 Motoren teilen viele der gleichen Gänge, nur variierend in einem oder zwei von ihnen.

 

Elektrisch

Die Hauptspezifikationen, die von Interesse sind, betreffen den Widerstand pro Wicklung, den daraus folgenden Strom pro Wicklung und die Strombegrenzung, über die hinaus der Motor unerwünscht heiß wird.
Diese Spezifikationen sind anfällig für Verwirrung, weil:

Wenn man über den Widerstand einer Wicklung diskutiert, ist es wichtig, ob man über eine ganze Wicklung spricht, oder einfach nur über den Widerstand von der Mittelanzapfung zu einem Endanschluss. In der folgenden Tabelle beziehen sich die Widerstandszahlen auf eine halbe Wicklung; das ist von Stift (1..4) zu gewöhnlichem Stift 5.

Verkäufer Modell Widerstand,
1/2 Wicklung
Adafruit
spec
Bei Netzteil Volt
(Hinweis 1)
Strom pro
Halbwicklung
Gesamtstrom der Stromversorgung
(Anmerkung 2)
Adafruit 5V 26 Ohm 42 Ohm (Anmerkung 3) 5V 165mA 330mA
RioRand 5V 27 Ohm 5V 165mA 330mA
Adafruit 12V 90 Ohm 12V 125mA 250mA
7V 70mA 140mA
5V 50mA 100 mA

Hinweis 1: Mit dem typischen Darlington-Treiber (L293D, ULN2003) absorbiert der Treiber etwa 0,75 V bis 0,85 V der gesamten Versorgungsspannung. Der Betrieb mit einer 5-V-Versorgung ergibt etwa 4,2 V über die Motor- (Halb-) Wicklungen.
Anmerkung 2: Nimmt an, dass immer zwei Halbwindungen angesteuert werden. Das heisst: Vier-Phasen-Schrittmuster.
Anmerkung 3: [Zum jetzigen Zeitpunkt. Hoffentlich wird Adafruit updaten.] Adafruit spec sagt nicht, ob dies für eine halbe Wicklung oder eine ganze Wicklung ist. Adafruit führt keine Widerstandsspezifikation für das 12V-Modell auf.

 

 

Den Motor ansteuern

28BYJ-48 Platine [17]Die übliche Art, diesen 28BYJ-48 Motor anzusteuern, scheint mit einem ULN2003 Quad – Darlington – Treiber zu laufen, für den es viele billig verfügbare Breakout Boards (einige mit LEDs, die sehr bequem zum Programmieren sind) gibt, die oft mit dem Motor verkauft werden, wie beispielsweise beim RioRand.
Dieser Treiber wird über vier Drähte mit einem Controller wie einem Arduino verbunden, und die Ansteuerung der einzelnen Schritte wird durch die Software durchgeführt.
Wenn die Motorspezifikationen “513 Schritte pro Umdrehung der Ausgangswelle” vorschreiben, bezieht sich dies auf die Verwendung der folgenden vierphasigen Sequenz, wobei ein Schritt dem Vorrücken einer Reihe in der Tabelle entspricht. Also 128,25 Zyklen der kompletten Schrittsequenz.

 

ULN2003 Treiber Board Kommentare

Problem: Dieses populäre Treiberboard hat eine Reihe von 4 Eingangspins für die vier Phasen und separat zwei Pins für die Stromversorgung, die von einer anderen Stromquelle als dem Arduino (oder einem anderen Controller) kommen. Es gibt keinen geeigneten Punkt, um eine Masse zwischen dem Arduino und dieser Treiberplatine anzubringen. Andere ähnliche Treiberkarten vermeiden diesen Fehler (Sie stellen einen Erdungsstift neben den Eingangssignalen bereit).
Auf dieser Platine wäre eine Umgehung das Einlöten eines zusätzlichen Header-Pins für Masse an der Stelle “IN5”, und unter der Platine lötest Du ein Kabel von diesem Pin an eine Erdungsleiterbahn (zum Beispiel Pin 8 von ULN2003). Die Erdung eines nicht verwendeten ULN2003-Eingangs hat keine negativen Auswirkungen.

Erklärung der Power Pins und Jumper

28BYJ-48 Ansteuerung [18]

Anbieter, die eine Erklärung für den Jumper liefern, sagen, dass es den Motor bequem deaktivieren soll. (Installieren oder entfernen Sie den Jumper nur bei ausgeschaltetem Strom, um zu vermeiden, dass Transienten von der Motorinduktivität den ULN2003 beschädigen.)
Der Jumper ist beispielsweise keine Möglichkeit, den ULN2003 und den Motor separat zu versorgen. Das wird nicht benötigt und wird nicht richtig funktionieren. Beachten Sie die interne ULN2003-Schaltung, insbesondere die Schutzdiode, die die einzige an der COM-Klemme ULN2003 angeschlossene Funktion ist.

Pin # Funktion Beschr
1 Minus Stromversorgungsmasse
2 Plus Positive Stromversorgung für ULN2003, und auch die LEDs und der Motor, wenn der Jumper installiert ist
3 Plus Zur Verwendung mit Jumper
4 Motorversorgung Verwenden Sie den Jumper, um den Motor und die LEDs zu aktivieren (üblicher Fall).

Hier ist das interne Schema für einen Abschnitt des ULN2003, aus einem TI-Datenblatt: Der einzige Anschluss des ULN2003 an die Plus-Versorgung (hier mit “COM” bezeichnet, wie bei der gemeinsamen positiven Versorgung) erfolgt über die Schutzdiode.

28BYJ-48 Schaltplan Ansteuerung [19]

 

Vier oder acht Phasen

Es gibt einige Diskussionen, [20] dass der Motor besser arbeitet, wenn er mit acht Phasen betrieben wird (abwechselnd 2 Wicklungen an, 1 Wicklung an …), aber ich habe die 8-Phasen-Sequenz nicht als Verbesserung wahrgenommen. Tatsächlich hatte ich den Eindruck, dass die 8-Phasen-Sequenz tatsächlich weniger Drehmoment erzeugt, obwohl ich dies nicht erschöpfend untersucht habe.

Sequenzen vs. Verkabelung

Für vier Phasen funktioniert die folgende Sequenz:

Und für acht Phasen:

PWM-Motorsteuerungen

Es gibt einige gängige Motorcontroller- [21] Boards, wie diese von Pololu [21] (basierend auf A4988 und ähnlichen Chips), die zur Steuerung von bipolaren Schrittmotoren weit verbreitet sind. Diese bieten eine intelligente H-Brücken-PWM-Steuerung des Schrittmotorstroms, die den Einsatz mit einer höheren Versorgungsspannung ermöglicht, was wiederum einen schnelleren Anstieg des Stroms zu Beginn jedes Schritts bewirkt (daher schnelleres Steigen) und auch eine Mikroschrittpositionierung ermöglicht. Diese Steuerungen erfordern jedoch eine getrennte Steuerung der zwei Wicklungen und sind nicht zum Ansteuern von unipolaren Schrittmotoren geeignet, deren Spulen durch ihre Mittelabgriffe verbunden sind. Die Pololu-Steuerungen wären somit nicht in der Lage, den Strom für jede Wicklung getrennt zu steuern.
Wahrscheinlich ist es ist möglich, einen Pololu-Treiber mit einem unipolaren Motor zu verwenden, vorausgesetzt, dass der Treiber keine PWM (das heisst PWM konstant bei 100%) ausführen darf. In dieser Situation würde der Controller die ungekoppelte volle Spannung an jede Wicklung in der einen oder anderen Richtung anlegen, wobei der Mittelabgriff an der Mittelpunktspannung liegt, was keinen (oder minimalen) Strom zwischen den Wicklungen hervorruft.
Um den Treiber bei 100% PWM zu betreiben, muss das Stromeinstellpotentiometer auf max stehen. Dies erfordert auch die Verwendung einer Versorgungsspannung, die Sie dem Motor liefern müssen. So könnte der 5V-Motor mit einer 5V-Versorgung verwendet werden. Der Treiber liefert 5V über jede Wicklung und schaltet die Polarität Schritt für Schritt um. Alle vier “Wicklungshälften” werden polarisiert, verglichen mit der unipolaren vierphasigen Situation, die jeweils nur zwei Wicklungshälften polarisiert. Die bipolare Steuereinheit legt die 5 V über jedes Paar von Reihen von Wicklungshälften an, so dass jede Halbwicklung nur die halbe Spannung (und somit die Hälfte des Stroms) im Vergleich zum unipolaren Fall benötigt. Die Gesamtleistung des Motors ist also gleich.
Der größte Vorteil eines Treibers im Pololu-Stil geht verloren, da kein PWM ein schnelleres Ansteuern bedeutet und kein Mikroschritt. Sie erhalten jedoch immer noch den Vorteil der Kontrolle mit nur zwei Drähten (Richtung und Schritt) anstelle von vier.
Beachten Sie, dass die meisten dieser Controller-Chips (und Breakout-Boards) eine minimale Motorversorgungsspannung von> 8V benötigen. Zur Verwendung mit einer niedrigeren Netzteilspannung siehe die auf DRV8834 basierenden  [22]Motortreiber.

Wärmeableitung

Beispiel:

 

Drehmomentmessungen

Das Drehmoment ist relativ schwierig zu messen, was zu einer Verbreitung von Spezifikationen im Internet führen kann, die unvollständig und sehr unterschiedlich sind. Ich habe einen groben Apparat aufgebaut, um eine Schätzung des Drehmoments von diesen Motoren zu erhalten, die bei verschiedenen Versorgungsspannungen laufen. Die Vorrichtung besteht aus einer Halterung für den Motor, einem Arm, der an der Motorwelle befestigt ist, und am Ende des Arms (bei 10 cm von der Welle) ein Korb, in den Gewichte eingelegt werden können. Ich benutzte die jüngsten US-Ein-Cent-Münzen mit einem Gewicht von 2,5 g und wog die verschiedenen Lasten auf einer digitalen Skala. Damit können wir zwei Messungen machen:

28BYJ-48 Testaufbau [23]Die Drehmomentwerte werden in Einheiten von Gramm-Kraft * cm (gf * cm) angegeben. Da sich der Korb 10 cm von der Motorwelle entfernt auf dem Arm befindet, entspricht ein Gewicht von 15 g einem Drehmoment von 10 * 15 = 150 gf * cm.
Ich wiederholte die Messungen mehrmals in beiden Richtungen (das Gewicht an dem einen oder anderen Ende des Armes). Die unten gezeigten Ergebnisse sind nicht statistisch solide (nur ein 5V und zwei 12V-Mustermotoren), sind aber vielleicht repräsentativ und sind sicherlich interessant, um mit der von Adafruit aufgeführten Spezifikation zu vergleichen.
Beachten Sie, dass dies sehr niedrige Geschwindigkeitsmessungen sind. Bei höheren Drehzahlen verringert sich das Anzugsmoment aufgrund der geringeren Zeit pro Schritt für die Änderung des Stroms, um die Wicklungsinduktivität zu “überwinden” und ihren vollen Wert zu erreichen.

 

Drehmoment Ergebnisse

Alle Drehmomente in Gramm-Kraft * cm.

Verkäufer Modell Netzteil V Pull-In
(Anfahrtmoment)
Pull-Out
(Haltemoment)
Spezifikation
Pull-in
Spezifikation
Pull-Out
Adafruit 5V 5V 170-190 950-1050 150
RioRand 5V 5V 740-820 2000 (Anmerkung 1)
Adafruit 12V 12V 370-400 1450-1550 250
10V 310-340 1350-1450
9V 270-300 1200-1300
7V 190-220 900-1000
5V 120-140 690-800

Anmerkungen:

 

Gebrochene Zähne beim Testen des Haltemoments

28BYJ-48 RioRand-Motor. Da der RioRand-Motor eine größere Getriebeübersetzung hat, kann er mehr Drehmoment aufnehmen, ohne seine Position zu verlieren. Die Anwendung dieses größeren Drehmoments ist jedoch offensichtlich zu viel für die Zähne. Das effektive maximale Drehmoment, dem es standhalten kann, wird also nicht vom Haltemoment des Steppers, sondern von der Zahnstärke bestimmt.

28BYJ-48 Zahnrad [24] 28BYJ-48 Zahnrad [25]
Zahnrad 4 Zahnrad 5

Bewertungseinschränkungen

 

Beobachtungen; Anwendungsvorschläge

5V? oder 12V Motor bei 7V?

Bei Anwendungen, die eine Arduino-Platine oder eine andere kleine Controllerplatine enthalten, ist es wahrscheinlich, dass der Benutzer den Motor nicht von der + 5V-Versorgung der Platine aus betreibt, sondern stattdessen an die vorgeschaltete + 7V- oder höhere Stromquelle anschließen möchte. Es ist erwähnenswert, dass der 12V-Motor, der an der> 7V-Versorgung läuft, ein besseres Drehmoment liefert als die 5V-Versorgung bei 5V und bei niedrigerer Stromaufnahme.

Steigung

Wegen des verwendeten Getriebes gibt es

Obwohl das Reduktionsgetriebe eine Rotationsgeschwindigkeit erzeugt, die viel langsamer ist als die des grundlegenden Schrittmotors, und bei einem höheren Drehmoment, erzeugt es keine proportionale Zunahme der Positionsgenauigkeit. Vergleichen Sie die Steigung und verwenden Sie Zahlen für die Schrittweite eines typischen Schrittmotors mit 200 Schritten pro Umdrehung (1,8 Grad – besser mit einem Mikroschritttreiber).

Trotzdem finden diese 28BYJ-48 Motoren brauchbare Anwendungen. Folgendes wäre beispielsweise möglich:

Andere Links zum 28BYJ-48

Andere Leute, die 28BYJ-48’s untersuchen:

 

 

Download der originalen Seite auf Englisch als PDF-Format

.