
Schrittmotor 28BYJ-48
Kategorien: Arduino, Elektronik, Raspberry Pi
Vorab: Ich habe diesen interessanten Artikel auf https://grahamwideman.wikispaces.com/Motors-+28BYJ-48+Stepper+motor+notes gefunden.
Leider gibt wikispaces.com 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 sieben andere Modelle mit derselben Teilenummer auf, die sich alle von den Adafruit- und RioRand-Teilen unterscheiden, die ich getestet habe:
(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.
- 5V Adafruit Produkt Id 858: Schrittmotor – 5VDC 32-Step 1/16 Getriebe
- 12 V Adafruit Produkt Id 918: Schrittmotor – 12VDC 32-Step 1/16 Getriebe
- 5V RioRandStepper bei Amazon: Motor 5V DC 4-Phasen 5-Leiter mit ULN2003 Treiber Board (5 Stück für $ 17) Bei RioRand.com: http://www.riorand.com/riorand-stepper-motor-28byj-48-5v -dc-4-phase-5-wire-uln2003-treiberplatine.html
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.)
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 – 5VDC 32-Step 1/16 Gearing) 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 |
![]() |
![]() |
![]() |
Bild des aktuellen Motors Adafruit 858. | Der RioRand-Motor sieht aus wie das Katalogbild von Adafruit! |
Eine andere Ansicht von jedem Motor
Adafruit | RioRand |
![]() |
![]() |
Tatsächliche Getriebedetails
Adafruit Getriebe [Abbildung korrigiert 2015-01-28] RioRand Getriebe
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:
- Es gibt zwei Wicklungskreise.
- Als “unipolarer Motor” hat jede Spule einen Mittelabgriff, die beiden Mittenabgriffe sind innerhalb des Motors miteinander verbunden und sollen die gemeinsame (V + Pin 5) Verbindung sein.
- Um eine Wicklung unter Strom zu setzen, schalten Sie den Draht (Stifte 1..4) auf Masse.
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
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
- Bei fehlendem Jumper wird die positive Versorgung an Pin 2 nur zum positiven Versorgungspin UNL2003 (“Common”) geführt.
- Wenn der Jumper installiert ist, wird die gleiche positive Versorgung auch an den gemeinsamen Motor (an der Motorbuchse) und an die LEDs geleitet.
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.
Vier oder acht Phasen
Es gibt einige Diskussionen, 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:
1 2 3 4 5 6 7 8 9 10 |
bool motorPhases [MOTOR_PHASE_QTY] [MOTOR_PIN_QTY] = {// [Phase] [Pin] // -------- Stifte ---------- // Wickeln von ABAB // Motor Pin 1 2 3 4 // Farbe Bl Pi Ye Or {1, 1, 0, 0}, {0, 1, 1, 0}, {0, 0, 1, 1}, {1, 0, 0, 1} }; |
Und für acht Phasen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
bool motorPhases [MOTOR_PHASE_QTY] [MOTOR_PIN_QTY] = {// [Phase] [Pin] // -------- Stifte ---------- // Wickeln von ABAB // Motor Pin 1 2 3 4 // Farbe Bl Pi Ye Or {1, 1, 0, 0}, {0, 1, 0, 0}, {0, 1, 1, 0}, {0, 0, 1, 0}, {0, 0, 1, 1}, {0, 0, 0, 1}, {1, 0, 0, 1}, {1, 0, 0, 0} }; |
PWM-Motorsteuerungen
Es gibt einige gängige Motorcontroller- Boards, wie diese von Pololu (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 Motortreiber.
Wärmeableitung
Beispiel:
- Der 12V-Motor mit 12V PS: 12V * 0,25A = 3W
- Umgebungstemperatur ~ 23 ° C
- Motor stabilisiert bei etwa ~ 43 ° C ~ 23 ° C
- 23C / 3W = ungefähr 7C / W
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:
- Lastabhängige Anfahrkennlinie: Max. Drehmoment, das der Motor ausüben kann, wenn er von einer Position zur nächsten gesteuert wird. Um dies zu testen, legen wir mit dem Arm horizontal eine Last in den Korb und befehlen dem Motor, ihn anzuheben. Wir erhöhen die Belastung, bis der Motor beim Anheben keine Schritte mehr macht.
- Haltemoment: Bei stehendem Motor und horizontalem Arm legen wir so viel Gewicht in den Korb, bis der Motor ihn nicht mehr tragen kann. Dies ist im Allgemeinen ein viel höherer Drehmomentwert als das Anzugsmoment.
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:
- Anmerkung 1: Mein Test für den Auszug erreicht ungefähr 200 g x 10 cm, und an diesem Punkt brachen die Zähne im Getriebe. Siehe Bilder unten.
- Anmerkung 2: Weder Adafruit noch RioRand [zum jetzigen Zeitpunkt] listen eine Pull-In-Spezifikation auf, eine Spezifikation, die für das tatsächliche Bewegen einer Last entscheidend ist.
- Anmerkung 3: Adafruits Spezifikation für das Haltemoment ist um den Faktor sechs zu niedrig! Das heißt, der Motor ist sechsmal stärker (im Halten), als Adafruit es sagt.
- Anmerkung 4: Das Haltemoment des RioRand 5V-Motors war vielleicht nicht überraschend und war etwa das Vierfache des des Adafruit 5V-Motors, was dem 4x größeren Untersetzungsgetriebe entspricht.
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.
![]() |
![]() |
Zahnrad 4 | Zahnrad 5 |
Bewertungseinschränkungen
- Bei der Durchführung dieser rudimentären Drehmomenttests schien es mir, dass einige Phasen des 28BYJ-48 Motors stärker waren als andere. Für jeden Motor schienen bestimmte Phasen oder Positionen konsistent diejenigen zu sein, die das geringste Drehmoment erzeugten. Dies galt sowohl für das Drehmoment als auch für das Haltemoment.
- Es ist ziemlich wahrscheinlich, dass Druck auf die Getriebeausgangswelle, um eine Querkraft auszuüben (nicht nur rotatorisch), etwas Bindungsreibung mit sich bringt. (Eine gewisse Seitenkraft ist unvermeidlich, wenn Zahnräder verwendet werden.) Diese Reibung wirkt wahrscheinlich gegen das Drehmoment und zugunsten des Haltemoments.
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
- Drehneigung in der Position der Abtriebswelle, ca. +/- 3 Grad (insgesamt 6 Grad)
- zusätzlich zu der Steigung, einige Extradrehungen unter Last. Zum Beispiel erzeugte der 12 V Motor, der mit einer 12 V PSU betrieben wurde, eine Last, die etwas kleiner als das Haltemoment war, eine zusätzliche Drehung von ungefähr 9 Grad.
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:
- Lichtobjekte positionen, beispielsweise in einer animierten mechanischen Anzeige wie ein Ziffernblatt,
- Hebel oder Stangen bewegen (wie an einem Servo), die eine konstante Last haben,
- Gewindestange drehen, wo eine genaue Drehposition von geringer Bedeutung ist
Andere Links zum 28BYJ-48
Andere Leute, die 28BYJ-48’s untersuchen:
- Geared Schrittmotor
- Entdeckt das gleiche Getriebe wie oben für den RioRand beschrieben, aber einige Poster behaupten, dass es ein exaktes Zahnradmodell von 1:64 gibt.
- http://42bots.com/tutorials/28byj-48-stepper-motor-with-uln2003-driver-and-arduino-uno/
Download der originalen Seite auf Englisch als PDF-Format
10 Comments
Rudolf
11. Februar 2022 at 3:30 pmHi Michael, danke für die Bereitstellung der Infos. Interessant für diese Zusammenstellung wären noch Skizzen, die elektischen Anschlüsse und die Baumaße beschreiben oder zumindest ein Link eine Seite wie https://components101.com/motors/28byj-48-stepper-motor die einem da weiterhilft.
Norbert Reinhold
23. Januar 2022 at 7:34 amSehr informativ. Danke!
War kurz davor so ein Ding zu vermessen und zu zerlegen.
Erlaube mir doch zum Thema unipolarer / bipolarer Ansteuerung eine Ergänzung.
Man kann die Dinger auf bipolar (4 wire) umbauen, aber nur auf Serienschaltung der Spulen!
Widerstand und Induktivität verdoppeln sich!
Ob das was bringt bei gleicher Betriebsspannung?
Doppelter Widerstand ergibt halben Strom.
Immer bedenken: Drehmoment ist Ampere mal Windungen!
Eine schöne allgemeinverständliche Erklärung der Zusammenhänge findet man hier:
https://blog.orientalmotor.com/wiring-basics-unipolar-vs-bipolar
Franco
17. Juni 2020 at 8:34 pmHi Michael,
mein Kommentar ist irgendwie komisch formatiert worden. Die Frage war wie ich diesen Codeabschnitt benutzen muss.
Danke für die zügige Antwort
Mfg Franco
Ronin
18. Juni 2020 at 10:54 amHi Franco,
Du musst Dir einen Sketch bauen und entsprechend Deiner Funktion eine Schleife bauen, die die einzelnen Motorschritte abläuft.
Hier mal ein Beispielprogramm wie so was aussehen könnte. Statt einem Array “bool motorPhases[……][….]” werden hier mit einem switch-case und mit einem digitalWrite() direkt die Motorphasen abgearbeitet. Das Beispiel ist aber für 8 Phasen gemacht. Du kannst das aber auch auf 4 Phasen abändern.
Download 28BJ-48-Beispiel
Franco
17. Juni 2020 at 11:20 amHi,
muss ich den Codeabschnitt benutzen damit der Motor Läuft? :
C
bool motorPhases [MOTOR_PHASE_QTY] [MOTOR_PIN_QTY] = {// [Phase] [Pin]
// ——– Stifte ———-
// Wickeln von ABAB
// Motor Pin 1 2 3 4
// Farbe Bl Pi Ye Or
{1, 1, 0, 0},
{0, 1, 1, 0},
{0, 0, 1, 1},
{1, 0, 0, 1}
};
1
2
3
4
5
6
7
8
9
10
bool motorPhases [MOTOR_PHASE_QTY] [MOTOR_PIN_QTY] = {// [Phase] [Pin]
// ——– Stifte ———-
// Wickeln von ABAB
// Motor Pin 1 2 3 4
// Farbe Bl Pi Ye Or
{1, 1, 0, 0},
{0, 1, 1, 0},
{0, 0, 1, 1},
{1, 0, 0, 1}
};
ansonsten gute Beschreibung 🙂
Ronin
17. Juni 2020 at 5:07 pmHi Franco,
ja, das ist ein Teil des Sourcecodes. Du musst immer zwei Phasen in der richtigen Reihenfolge bestromen, damit der Motor korrekt läuft. Andernfalls zuckt er unkontrolliert, oder dreht falsch herum.
Viele Grüße,
Michael
Xilli
23. August 2019 at 11:25 pmWarum wird die Bipolare Ansteuerung nicht erklärt?
Schneller,
genaue Einstellung der Stromstärke (schont die Spulen, überhitzen nicht)
mit einem TMC Treiber oder A4988sogar fast lautlos…
Oder einen noch billigeren den Easydriver 4.4
Man muss doch nur das Rote Kabel trennen, und wenn die Blaue Abdeckung abgenommen wurde, auf der Platine die mittige Leiterbahn mit einem Teppichmesser oder ähnlichem trennen.
Phase 1 wäre dann: Blau und Gelb
Phase 2 wäre dann Orange und Pink
Bipolar ist Unipolar IMMER überlegen:
Höheres Drehmoment
Stromstärke je nach Treiber einstellbar
Höher Frequenz = Geschwindigkeit
Grüße Xili
Ronin
24. August 2019 at 8:57 amHallo Xilli,
Tuning war nicht Bestandteil der Originalanleitung. 🙂
Generell hast Du aber natürlich vollkommen Recht, aber der unmodifizierte 28BY-48 ist nunmal ein unipolarer Motor (der auch mit Ansteuerung geliefert wird) und auch wenn unipolare Motoren gerade in der Bastlerszene keine große Rolle mehr spielen auf Grund der günstigen Preise für eine extra Ansteuerung eines bipolaren Motors, so verwendet man sie aber sehr gerne in Produkten, bei denen jeder Cent zählt und die Vorteile eines bipolaren Motors nicht gebraucht werden. Beispielsweise Drucker, oder – ich glaube – für eine Lüfterklappenregelung für die dieser Motor entwickelt wurde.
Und für nen unipolaren Motor reichen auch mal eben vier Transistoren oder Mosfets für eine H-Brücke und ein bißchen Hühnerfutter, um ihn mal eben schnell ansteuern zu können. 🙂
Viele Grüße,
Michael
martin
22. Juli 2019 at 11:32 amsehr sehr gute Zusammenfassung _ vielen Dank!! Viele Grüße
Ronin
22. Juli 2019 at 12:25 pmHallo Martin,
vielen Dank. Das freut mich.
Viele Grüße, Michael