Inhaltsverzeichnis:
- Schritt 1: Teileliste
- Schritt 2: Die Hauptteile
- Schritt 3: Lassen Sie es laufen
- Schritt 4: Geschwindigkeitsregelung
- Schritt 5: Start / Stopp
- Schritt 6: Richtungssteuerung
- Schritt 7: Schlussfolgerungen
Video: Antreiben eines Schrittmotors ohne Mikrocontroller. - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
In diesem Instructable werde ich einen 28-BYJ-48-Schrittmotor mit einer UNL2003-Darlington-Array-Platine, manchmal mit dem Namen x113647, ohne Mikrocontroller fahren.
Es verfügt über Start/Stopp, Vorwärts/Rückwärts und Geschwindigkeitsregelung.
Der Motor ist ein unipolarer Schrittmotor mit 2048 Schritten pro Umdrehung im Vollschrittmodus. Das Datenblatt für den Motor finden Sie unter
Die beiden Geräte können bei mehreren Anbietern zusammen gekauft werden. Ich habe meine von kjell.com
Bing es oder google es, um einen Anbieter in deiner Nähe zu finden.
Ich werde zuerst einige Schritte und Teile durchgehen, die erforderlich sind, um es zum Laufen zu bringen, und dann einige Schritte und Teile für mehr Kontrolle hinzufügen.
Sie sollten gewarnt sein, dass die Teile, die ich verwende, diejenigen sind, die ich zufällig in meiner Schatzkiste habe, und nicht unbedingt die Teile, die für diesen Zweck am besten geeignet sind.
Außerdem sollten Sie gewarnt werden, dass dies mein erstes Instructable ist und dass ich ziemlich neu in der Elektronik bin.
Bitte fügen Sie Kommentare hinzu, wenn Sie der Meinung sind, dass ich etwas getan habe, was ich nicht tun sollte, oder wenn Sie Verbesserungsvorschläge oder Vorschläge für besser geeignete Teile haben.
Schritt 1: Teileliste
Die für dieses Projekt verwendeten Teile sind
- Steckbrett
- Schrittmotor 28byj-48
- Darlington-Transistor-Array-ULN2003-Platine (x113647)
- 74HC595 Schieberegister
- 74HC393 Binär-Ripple-Zähler
- DS1809-100 Dallastat digitales Potentiometer
- 74HC241 Oktalpuffer
- 3 × taktile Tasten
- 3 × 10kΩ Widerstände
- 2 × 0,1µF Keramikkondensatoren
- 1 × 0,01 µF Keramikkondensator
- Anschlussdrähte
- 5V Netzteil
Schritt 2: Die Hauptteile
Das Schieberegister 74HC595
Der Motor wird bewegt, indem den vier Eingangspins der UNL2003-Platine wiederholt diese Reihenfolge gegeben wird:
1100-0110-0011-1001
Dadurch wird der Motor im sogenannten Vollschrittmodus betrieben. Das Muster 1100 wird wiederholt nach rechts verschoben. Dies legt ein Schieberegister nahe. Die Funktionsweise eines Schieberegisters besteht darin, dass die Bits im Register bei jedem Taktzyklus um eine Stelle nach rechts verschoben werden und das Bit ganz links durch den Wert des Eingangspins zu diesem Zeitpunkt ersetzt wird. Daher sollte er mit zwei Taktzyklen von 1 und dann zwei Taktzyklen von 0 gespeist werden, um das Muster zum Tauchen des Motors zu erzeugen.
Um die Taktsignale zu erzeugen, wird ein Oszillator benötigt, der eine stetige Folge von Pulsen, vorzugsweise eine saubere Rechteckwelle, erzeugt. Dies bildet die Basis des Schaltmusters von Signalen an den Motor.
Um die "zwei Zyklen von eins und dann zwei Zyklen von 0" zu erzeugen, werden Flip-Flops verwendet.
Ich habe ein Schieberegister 74HC595. Dies ist ein sehr beliebter Chip, der in zahlreichen Instructables und Youtube-Videos beschrieben wird.
Das Datenblatt finden Sie unter
Ein schönes Instructable ist 74HC595-Shift-Register-Demistified von bweaver6, Das Schieberegister 74HC595 arbeitet so, dass bei jedem Taktzyklus die Daten in seinem 8-Bit-Register nach rechts und der Wert des Eingangspins ganz links verschoben werden. Daher sollte es mit zwei Taktzyklen von 1 und dann zwei Taktzyklen von 0 gespeist werden.
Die Daten werden an der steigenden Flanke des Taktimpulses verschoben. Daher sollte das Flip-Flop bei der fallenden Taktflanke umschalten, damit der 74HC595 bei der steigenden Taktflanke einen stabilen Dateneingang hat.
Der 74HC595 in kann wie folgt verdrahtet werden:
Pin 8 (GND) -> GND
Pin 16 (VCC) -> 5V Pin 14 (SER) -> Dateneingang Pin 12 (RCLK) -> Takteingang Pin 11 (SRCLK) -> Takteingang Pin 13 (OE) -> GND Pin 10 (SRCRL) -> 5V Pins 15 und 1-3 geben das Muster zum Antrieb des Motors aus.
Das Verbinden von RCLK und SRCLK stellt sicher, dass das Chipdatenregister immer synchron mit dem Ausgangsregister ist. Wenn Pin 13 auf Masse gelegt wird, wird der Inhalt des Ausgangsregisters sofort für die Ausgangspins (Q0 - Q7) sichtbar.
Der 555-Timer
Zur Generierung des Taktimpulses kann der 555-Timer-Chip verwendet werden. Dies ist auch ein sehr beliebter Chip und wird noch ausführlicher beschrieben und diskutiert als das Schieberegister. Wikipedia hat einen schönen Artikel unter
Das Datenblatt ist hier:
Dieser Chip kann unter anderem Rechteckwellen-Taktimpulse erzeugen. Externe Widerstände und Kondensatoren werden verwendet, um die Frequenz und das Tastverhältnis (Ein-Fraktion) zu steuern.
Wenn er so eingerichtet ist, dass er wiederholt Impulse erzeugt, soll sich der 555-Chip im astabilen Modus befinden. Dies geschieht durch eine Verdrahtung wie im Bild oben. (Bild von jjbeard [Public domain], über Wikimedia Commons):
Pin 1 -> GND
Pin 2 -> R1 (10kΩ) -> Pin 7 Pin 2 -> Pin 6 Pin 3 ist der Ausgang Pin 4 (Reset) -> 5V Pin 5 -> 0.01µF -> GND Pin 6 -> 0.1µF -> GND Pin 7 -> R2 (10kΩ) -> 5V Pin 8 -> 5V
Der Ausgang von Pin 3 wird mit den Eingangstaktpins (Pin 11 und Pin 12) des Schieberegisters 74HC595 verbunden.
Die Frequenz des Ausgangssignals (und damit die Geschwindigkeit des Schrittmotors) wird durch die Werte der Widerstände R1 und R2 und den Wert des Kondensators C bestimmt.
Die Zykluszeit T beträgt ln(2) C (R1 + 2 R2) oder ungefähr 0,7 C (R1 + 2 R2). Die Frequenz beträgt 1/T.
Der Arbeitszyklus, der Bruchteil der Zykluszeit, in dem das Signal hoch ist, beträgt (R1 + R2) / (R1 + 2R2). Der Arbeitszyklus ist für dieses Projekt nicht sehr wichtig.
Ich verwende 10kΩ sowohl für R1 als auch für R2 und C = 0,1µF.
Dies ergibt eine Frequenz von etwa 480 Hz und liegt nahe der maximalen Frequenz, die der Schrittmotor ohne Abwürgen verarbeiten kann.
Um das um 1100 verschobene, wiederholte Muster vom 74HC595 zu erzeugen, sollte Pin 14 (SER) für zwei Taktzyklen hoch und dann für zwei Taktzyklen wiederholt niedrig gehalten werden. Das heißt, der Pin sollte mit der halben Taktfrequenz schwingen.
Der 74HC393 Dual-Binär-Ripple-Zähler
Der 74HC393 zählt binär, und das bedeutet auch, dass er verwendet werden kann, um Pulsfrequenzen durch Zweierpotenzen zu teilen, Das Datenblatt ist hier:
Der 74HC393 ist dual, er hat auf jeder Seite einen 4-Bit-Zähler.
Bei der fallenden Flanke des Taktimpulses schaltet der erste Ausgangspin ein und aus. Daher schwingt der Ausgangspin eins mit der halben Frequenz des Eingangstakts. An der fallenden Flanke von Ausgangspin eins schaltet Ausgangspin zwei ein und aus. Und so weiter für alle vier Ausgangspins. Immer wenn Pin n ausgeschaltet wird, schaltet Pin n+1 um.
Pin n+1 wechselt halb so oft wie Pin n. Das ist binäres Zählen. Der Zähler kann bis 15 (alle vier Bits 1) zählen, bevor er wieder bei Null beginnt. Wenn der letzte Ausgangspin von Zähler 1 als Taktgeber mit Zähler 2 verbunden ist, kann er bis 255 (8 Bit) zählen.
Um einen Puls mit der halben Frequenz des Eingangstakts zu erzeugen, wird nur der Ausgangspin 1 benötigt. Das heißt, nur von null bis eins zu zählen.
Wenn also das Zählen durch den Taktimpuls des 555 erfolgt, schwingt der Pin des 74HC393-Zählers, der Bit 2 darstellt, mit der halben Taktfrequenz. Daher kann dieser mit dem SER-Pin des 74HC595-Schieberegisters verbunden werden, um das gewünschte Muster zu erzeugen.
Die Verdrahtung des Binärzählers 74HC393 sollte sein:
Pin 1 (1CLK) -> 74HC595 Pin 11, 12 und 555 Pin 3
Pin 2 (1CLR) -> GND Pin 4 (1QB) -> 74HC595 Pin 14 Pin 7 (GND) -> GND Pin 14 (VCC) -> 5V Pin 13 (2CLK) -> GND (nicht verwendet) Pin 12 (2CLR) -> 5V (nicht verwendet)
Schritt 3: Lassen Sie es laufen
Wir können jetzt den Motor zum Laufen bringen, wenn die Pins 0-3 des 74HC595 mit den Pins 1-4 der ULN2003-Platine verbunden sind.
Ersetzen Sie vorerst den 0,1µF-Kondensator an Pin 6 des 555-Timers durch einen 10µF-Kondensator. Dadurch wird der Taktzyklus hundertmal länger und man kann sehen, was vor sich geht.
Dazu können die LEDs auf den ULN2003-Boards verwendet werden. Trennen Sie den Motor von der ULN2003-Platine. Verbinden Sie die Pins 1 bis 4 der Platine mit dem Ausgang QA-QD (Pins 7, 9, 10 und 11) des 74HC595. Verbinden Sie - und + der ULN2003-Platine mit Masse und 5V. Wenn das Gerät eingeschaltet ist, sollten Sie das gewünschte Muster auf den LEDs sehen.
Wenn Sie sehen möchten, was im Binärzähler 74HC393 vor sich geht, schließen Sie ihn stattdessen an die Pins 3-6 dieses Zählers an.
Wenn das Muster richtig erscheint, schalten Sie ab, ersetzen Sie den Kondensator wieder durch den 0,1µF, verbinden Sie die Eingangspins 1 - 4 der ULN2003-Platine mit den Ausgangspins QA - QD des 74HC595 und stecken Sie den Motor wieder ein.
Bei eingeschalteter Stromversorgung sollte der Motor jetzt laufen.
Schritt 4: Geschwindigkeitsregelung
Die Geschwindigkeit des Schrittmotors wird durch die Frequenz der Ausgabe des 555-Timers bestimmt. Dies wiederum wird durch die Werte der Widerstände R1 und R2 und des damit verbundenen Kondensators C1 bestimmt. Durch Anschließen eines 100kΩ Potentiometers in Reihe mit R2 kann die Frequenz zwischen 480Hz und 63Hz liegen. Die Schritte pr. Sekunde des Motors, ist die Hälfte der 555-Timer-Frequenz.
Ich habe ein digitales Potentiometer DS1809-100 verwendet, das für die Verwendung mit Drucktasten ausgelegt ist. Drucktaster, die Pin 2 (UC) und Pin 7 (DC) mit 5 V verbinden, erhöhen/verringern den Widerstand zwischen den Anschlüssen RH (Pin 1) oder RL (Pin 4) und dem Schleifer Pin 6 (RW). Wenn Sie eine Taste länger als eine Sekunde gedrückt halten, wird die Taste automatisch wiederholt.
Das Datenblatt finden Sie hier:
Die Verkabelung ist wie folgt:
Pin 1 (RH) unbenutzt
Pin 2 (UC) -> taktile Taste 1 Pin 3 (STR) -> GND Pin 4 (RL) -> 555 Pin 2 Pin 5 -> GND Pin 6 (RW) -> 10kΩ -> 555 Pin 7 Pin 7 (DC) -> taktile Taste 2 Pin 8 -> 5V
Die Verkabelung für taktile Taste 1:
Pin 1/2 -> DS1809 Pin 2
Pin 3/4 -> 5V
Die Verkabelung für taktile Taste 2:
Pin 1/2 -> DS1809 Pin 7
Pin 3/4 -> 5V
Jetzt kann die Geschwindigkeit reguliert werden.
Schritt 5: Start / Stopp
Zum Starten und Stoppen des Schrittmotors kann Pin 4 (der Reset-Pin) des 555-Timers verwendet werden. Wenn dieser niedrig gezogen wird, gibt es keine Ausgangsimpulse von Pin 3.
Eine taktile Taste wird verwendet, um zwischen Start und Stopp umzuschalten. Einmaliges Drücken der Taste sollte den Motor starten, und erneutes Drücken sollte ihn stoppen. Um dieses Verhalten zu erreichen, wird ein Flip-Flop benötigt. Aber auch der bereits vorhandene 74HC393 kann verwendet werden. Der 74HC393 besteht aus zwei Teilen, von denen nur eine Hälfte als Frequenzteiler für den Takt verwendet wird.
Da der Binärzähler eigentlich nur ein Satz in Reihe geschalteter Flip-Flops ist, kann der erste Flip-Flop des anderen Teils verwendet werden. Durch Anschließen eines taktilen Tasters so, dass Pin 13 (2CLK) beim Drücken des Tasters Low ist und andernfalls High ist, schaltet Pin 12 bei jedem Low um. Das Verbinden von Pin 12 mit Pin 4 des 555 startet und stoppt seinen Ausgang und damit den Motor.
Taktile Tasten sind etwas knifflig, da sie mechanisch sind. Sie können „abprallen“, das heißt, sie können bei jedem Stoß mehrere Signale senden. Das Anschließen eines 0,1 µF-Kondensators über die Taste hilft, dies zu vermeiden.
Also eine taktile Taste (Taste 3 wird hinzugefügt, und die Verbindung zu Pin 4 des 555 wird geändert.
Die Verdrahtung des Tasters:
Pin 1/2 -> 10kΩ -> 5V
Pin 1/2 -> 0.1µF -> Pin Pin 3/4 -> 74HC393 Pin 13 (2CLK)
Am 555 wurden folgende Änderungen vorgenommen:
Pin 4 (Reset) -> 74HC393 Pin 11 (2QA)
Taste 3 sollte jetzt als Start/Stopp-Schalter funktionieren.
Beachten Sie, dass ein auf diese Weise gestoppter Motor immer noch Strom verbraucht.
Schritt 6: Richtungssteuerung
Um die Drehrichtung des Motors zu steuern, wird ein weiterer Druckknopf und dann ein weiteres Flip-Flop benötigt. Ich werde jedoch schummeln, indem ich das nächste Flip-Flop des 74HC393 nach dem Ein/Aus-Flip-Flop und dem Ein/Aus-Knopf verwende.
Wenn der Richtungs-Pin (Pin 2QA) auf Low geht, wird der nächste Pin (Pin 2QB) umgeschaltet. Daher führt ein wiederholtes Drücken der Drucktaste zu AUS - EIN VORWÄRTS - AUS - EIN RÜCKWÄRTS - AUS - EIN VORWÄRTS usw.
Damit der Motor rückwärts läuft, sollte das dem ULN2003 zugeführte Muster umgekehrt werden. Das könnte mit einem bidirektionalen Schieberegister geschehen, aber ich habe keins. Der 74HC595 ist nicht bidirektional.
Ich stellte jedoch fest, dass ich meinen 74HC241-Oktalpuffer verwenden konnte. Dieser Puffer hat zwei 4-Bit-Teile mit separaten OE-Pins (Output Enable). Der erste OE-Pin steuert die vier ersten Ausgangspins und der zweite die letzten vier Ausgangspins. Wenn das OE eingeschaltet ist, haben die Ausgangspins den gleichen Wert wie die entsprechenden Eingangspins, und wenn es ausgeschaltet ist, befinden sich die Ausgangspins in einem hochohmigen Zustand, als wären sie nicht verbunden. Darüber hinaus ist einer der OE-Pins aktiv niedrig und der andere aktiv hoch, sodass beim Zusammenschalten nur die Hälfte des Puffers zu diesem Zeitpunkt aktiv ist.
Bei gleicher Eingabe kann also eine Hälfte des Puffers den Motor vorwärts und die andere Hälfte rückwärts treiben. Welche Hälfte aktiv ist, hängt vom Wert der OE-Pins ab.
Das Datenblatt zum 74HC241 finden Sie unter
Die Verkabelung könnte so aussehen:
Pin 1 (1OE) -> 74HC293 Pin 10 (2QB)
Pin 2 (1A1) -> 74HC595 Pin 15 Pin 3 (1Y4) -> ULN2003 Pin 1 Pin 4 (1A2) -> 74HC595 Pin 1 Pin 5 (1Y3) -> ULN2003 Pin 2 Pin 6 (1A3) -> 74HC595 Pin 2 Pin 7 (1Y2) -> ULN2003 Pin 3 Pin 8 (1A4) -> 74HC595 Pin 3 Pin 9 (1Y1) -> ULN2003 Pin 4 Pin 10 (GND) -> Masse Pin 11 (2A1) -> Pin 2 (1A1) Pin 12 (1Y4) -> Pin 9 (2Y1) Pin 13 (2A2) -> Pin 4 (1A2) Pin 14 (1Y3) -> Pin 7 (2Y2) Pin 15 (2A3) -> Pin 6 (1A3) Pin 16 (1Y2) -> Pin 5 (2Y3) Pin 17 (2A3) -> Pin 8 (1A4) Pin 18 (1Y2) -> Pin 3 (2Y4) Pin 19 (2OE) -> Pin 1 (1OE) Pin 20 (VCC) -> 5V
Jetzt sollte die Verkabelung nur durch Einschalten mit 5 V abgeschlossen werden. Stellen Sie sicher, dass das Netzteil genügend Strom liefern kann, um sowohl den Motor als auch die Schaltungen anzutreiben.
Schritt 7: Schlussfolgerungen
Der Schrittmotor kann ohne Mikrocontroller gesteuert werden.
Die hier verwendeten ICs waren einige, die ich von früher hatte. Die meisten von ihnen sind dafür nicht optimal, und es könnten mehrere Alternativen verwendet werden.
- Um die Impulse zu erzeugen, ist der 555-Timer-Chip ein guter Chice, aber es gibt mehrere Alternativen, z. B. die in diesem Instructable beschriebene.
- Für die Drehzahlregelung kann jedes Potentiometer verwendet werden, nicht nur ein digitales. Wenn Sie ein 10kΩ-Potentiometer anstelle eines 100kΩ-Potentiometers haben, könnten die 10kΩ-Widerstände durch 1kΩ und der 0,1-µF-Kondensator durch einen 1µF-Kondensator ersetzt werden (Teilen Sie alle Widerstände und multiplizieren Sie den Kondensator mit der gleichen Zahl, um das Timing beizubehalten).
- Unter Verwendung eines bidirektionalen Schieberegisters, z. B. der 74HC194 würde die Richtungskontrolle erleichtern.
- Zur Tastensteuerung könnte der 74HC393 durch ein Flip-Flop ersetzt werden, z. B. 74HC73. Der 555 kann auch als Umschalter verdrahtet werden.
Empfohlen:
So verwenden Sie ein Smartphone ohne Akku – wikiHow
So verwenden Sie ein Smartphone ohne Akku: Zuerst müssen Sie die Eingangspins der Zelle identifizieren; das ist das Positive und das Negative, die anderen beiden Pins spielen vorerst keine Rolle. Legen Sie die Batterie in das Mobiltelefon ein und identifizieren Sie, wo jeder Pol verläuft (positiv und negativ), wie in der Abbildung gezeigt
Einführung in den CloudX-Mikrocontroller: 3 Schritte
Einführung in den CloudX-Mikrocontroller: Der CloudX-Mikrocontroller ist ein Open-Source-Hardware- und -Software-Mikrocomputer, mit dem Sie Ihre eigenen interaktiven Projekte erstellen können. CloudX ist eine kleine Chipplatine, die es Benutzern ermöglicht, ihr zu sagen, was zu tun ist, bevor sie etwas unternehmen. Es akzeptiert verschiedene k
Einführung in ADC im AVR-Mikrocontroller - für Anfänger: 14 Schritte
Einführung in ADC im AVR-Mikrocontroller | für Anfänger: In diesem Tutorial erfahren Sie alles über ADC im avr-Mikrocontroller
So wählen Sie einen Mikrocontroller aus: 21 Schritte (mit Bildern)
So wählen Sie einen Mikrocontroller aus: Früher war die Anzahl der verschiedenen Mikrocontroller-Chips, die dem Bastler zur Verfügung standen, ziemlich begrenzt. Man musste alles verwenden, was man beim Chip-Versandhändler kaufen konnte, und das schränkte die Auswahl auf eine kleine Anzahl von Ch
Hacken Sie, um alle Schritte eines Instructable anzuzeigen, ohne sich anzumelden
Hacken Sie, um alle Schritte eines Instructable anzuzeigen, ohne sich anzumelden!: Hier ist ein kleiner Hack, der Ihnen unnötige Minuten beim Anmelden spart. Im Grunde können Sie alle Schritte auf einer Seite eines Instructable anzeigen, ohne sich anzumelden und OHNE zu verwenden jede 'Hacking'-Software! Bitte beachten Sie, dass dies nur ein kleiner Trick ist