Steuern eines Schrittmotors mit einem SIRC Sender und Empfänger

Schrittmotor mit Arduino steuern! (Arduino Grundkurs #10) (Juni 2019).

$config[ads_text] not found
Anonim

Steuern eines Schrittmotors mit einem SIRC Sender und Empfänger


Für den zweiten Teil dieses Projekts werden wir die decodierten Infrarotsignaldaten von Teil eins verwenden, um den Schrittmotor zu steuern.

Rückwärts und vorwärts schauen

Teil eins dieses Projekts beschrieb die Prinzipien der IR (Infrarot) -Signalisierung im Allgemeinen und des SIRC (Sony Infrared Remote Code) im Besonderen. Eine Empfängerschaltung wurde vorgestellt, um die in den SIRC-Signalen enthaltene Information unter Verwendung eines PICAXE-Mikrocontrollers zu detektieren, zu decodieren und anzuzeigen.

Der zweite Teil des Projekts wird auf diesem Fundament aufbauen, indem der unipolare Schrittmotor 28BYJ-48, der in einem früheren Artikel vorgestellt wurde, erneut besucht wird. Darüber hinaus wird eine IR-Senderschaltung vorgestellt, die mit dem selbstgebauten Empfänger und einem ULN2003A einfach zu bauen und zu verwenden ist und mit der wir die Drehrichtung des Schrittmotors aus der Ferne starten, stoppen und steuern können. Der entsprechende Code wird sowohl für den SIRC-Sender als auch für den SIRC-Empfänger enthalten sein.

Die Empfänger-Hardware

Im ersten Teil wurde gezeigt, wie man einen SIRC-Empfänger auf einem lötfreien Steckbrett baut, und es wurde empfohlen, das Layout so genau wie möglich zu duplizieren. Wenn Sie diese Schaltung mit der untenstehenden vergleichen, werden Sie sehen, dass nur ein paar Teile hinzugefügt wurden.

klicken um zu vergrößern

Im Vergleich zu der letzten Schaltung in Teil eins gibt es nur zwei neue elektronische Teile (U3 und C2), einen neuen Verbinder (EXM1) und sechs neue Drähte: je einen von schwarz, weiß, blau, gelb, grün und rot. Der schwarze Draht verbindet die gemeinsame Masse mit U3, der rote Draht bringt +5 V an U3 und den Schrittmotor und die weißen, blauen, gelben und grünen Drähte verbinden die Steuersignale von U1 bis U3. Zusätzlich wurde der Schrittmotor 28BYJ-48 angeschlossen. Ein Kabel mit fünf Kabeln verbindet den Ausgang von U3 (über EXM1) mit dem Schrittmotor.

Beachten Sie auf dem obigen Foto, dass sich das Bein 1 von U1 (das PICAXE 08M2) unten links im Steckbrettfoto befindet und das Bein 1 von U3 (das ULN2003A) oben rechts liegt; Diese Anordnung erleichtert die Verbindung der beiden ICs. Bein 1 von U1 und Bein 1 von U3 sind auf dem Foto durch einen weißen Punkt oder Fleck auf dem Körper des Chips gekennzeichnet.

Sie erinnern sich vielleicht an diesen Artikel, dass der 28BYJ-48 Schrittmotor oft mit einer eigenen Treiberplatine geliefert wird, wie auf dem Foto oben gezeigt. Während dies in einigen Anwendungen hilfreich ist, ist der Motor auch ohne die Treiberplatine verfügbar. Das Verbinden der Treiberplatine mit einem lötfreien Steckbrett und dann mit dem Motor erzeugt eine unhandliche mechanische Anordnung. Außerdem sind die vier LEDs und Widerstände auf der Treiberplatine von begrenzter Nützlichkeit.

In diesem Fall ist es einfacher, auf das Treiberboard zu verzichten; stecken Sie den ULN2003A einfach direkt in das lötfreie Steckbrett und verbinden Sie den Motor über EXM1. Stecken Sie das Motorkabel zuerst in den EXM1-Stecker und dann den EXM1-Stecker in das lötfreie Steckbrett. Beachten Sie, dass EXM1 gute elektrische Verbindungen zum Steckbrett herstellt, aber leicht entfernt werden kann.

Liste der Einzelteile

Zusätzlich zu den Empfängerkomponenten, die im ersten Teil dieses Projekts aufgeführt sind, benötigen Sie diese in der folgenden Tabelle.

Teil Ref. Beschreibung Quelle Art.-Nr.
U3IC, Darlington-Paare, 7-Kreis, ULN2003ADigi-Key *497-2344-5-ND
C2Kondensator, Keramik, 0.1μF, 50VDigi-Key399-9797-ND
EXM1Steckverbinder, Leiterplattenmontage, 5-polig, oberer EingangDigi-Key455-2270-ND
N / AMotor, Stepper, 28BNY-48, 5VOnlineN / A

* Das ULN2003A kann auch von einer 28BYJ-48-Treiberplatine geborgen werden.

Die Empfänger-Software

Der folgende Programmcode für den SIRC-Empfänger kann mit der Schaltfläche am Ende dieses Abschnitts heruntergeladen werden.

Beachten Sie, dass der Code aus einem Setup-Abschnitt (Zeilen 9-13), einer Hauptroutine (Zeilen 14-24) und zwei Goto-Optionen besteht. Die Hauptroutine veranlaßt pinC.3, nach einem SIRC-Code zu suchen und den empfangenen Code im Byte-Register b4 zu speichern. Dann, basierend darauf, ob der empfangene Code "51" oder "52" war, verzweigt sich der Code zu einer von zwei Stellen.

Die erste Option goto (Zeilen 25 bis 42) dreht den Schrittmotor im Uhrzeigersinn (von der Wellenseite des Motors aus gesehen). Die zweite Option goto (Zeilen 43 bis 60) dreht den Motor gegen den Uhrzeigersinn. Die im Byte-Register b4 gespeicherte Zahl bestimmt, welche Option ausgewählt ist: "51" erzeugt eine Drehung im Uhrzeigersinn und "52" erzeugt eine Drehung im Gegenuhrzeigersinn. In jedem Fall dreht der Motor in halben Schritten, was eine sanftere Bewegung als Vollschritt erzeugt.

PA-08M2 Empfängercode

Die Sender-Hardware

Im Betrieb wird SW1 gedrückt, um PinC.1 des 08M2 niedrig zu schalten. Software im μC bewirkt, dass ein vorprogrammierter SIRC "52" von pinC.2 ausgegeben wird, der die LEDs 1 und 2 entsprechend dem entsprechenden SIRC-Muster blinkt. LED1 überträgt 940nm IR-Signale, während LED2 dem Benutzer visuell bestätigt, dass der Sender aktiv ist. SW2 arbeitet identisch mit PinC.4, sendet aber ein SIRC "51" -Signal.

Liste der Einzelteile

Die Teile für den Sender sind in der folgenden Tabelle aufgeführt. Darüber hinaus benötigen Sie verschiedene Kabel, Lötmaterial, ein gut geregeltes 5VDC-Netzteil und ein PICAXE-Programmierkabel.

Teil Ref. Beschreibung Quelle Art.-Nr.
J1Jack, 3, 5 mm, 3-LeiterDigi-KeyCP1-3533-ND
R1Widerstand, ¼ W, 22kΩDigi-Key22KQBK-ND
R2, R3Widerstand, ¼ W, 10kΩDigi-Key10KQBK-ND
R4Widerstand, ¼ W, 510 ΩDigi-Key510QBK-ND
R5Widerstand, ¼ W, 33 ΩDigi-Key33QBK-ND
R6Widerstand, ¼ W, 470 ΩDigi-Key470QBK-ND
Q1Transistor, NPN, 2N3904, TO92Digi-Key2N3904FS-ND
U1Mikrocontroller, PICAXE 08M2PHanderson.comPICAXE 08M2 +
LED1Diode, Licht emittierend, IR, 940nm, T1 3/4, LTE-5228ADigi-Key160-1062-ND
LED2Diode, Leuchtdiode, Blau, T1Digi-KeyMV5B640EL-ND
N / ASteckbrett, Lötfrei, 400 KontaktlinsenDigi-Key377-2094-ND
SW1, SW2Schalter, taktil, kurzzeitig, Schließer, SPST, Drucktaste, 2-poligOnline*N / A

* Alle Teile sind bei einer Vielzahl von Lieferanten verfügbar, mit Ausnahme von SW1 und SW2, die möglicherweise über eine Online-Suche lokalisiert werden müssen. Dies sind gewöhnliche taktile, kurzzeitige, normalerweise offene SPST-Druckschalter, jedoch mit nur 2 Stiften an der Unterseite. Da die Pins auf 0, 2 "Zentren liegen, funktionieren sie gut in lötfreien Breadboards. Siehe das folgende Foto.

Die Sender-Software

Der folgende Programmcode ist für den SIRC-Sender und kann mit dem Knopf am unteren Rand dieses Abschnitts heruntergeladen werden.

Der Code ist ziemlich einfach. Wenn der an PinC.1 angeschlossene Drucktaster gedrückt wird, wird PinC.1 auf Low gezogen, wodurch ein SIRC-Code für "52" von PinC.2 dreimal ausgegeben wird. Wenn der Druckknopfschalter, der an PinC.4 angeschlossen ist, gedrückt wird, wird PinC.4 ebenfalls niedrig gezogen, wodurch ein SIRC-Code für "51" von PinC.2 dreimal ausgegeben wird. In beiden Fällen wird nach dem Senden des Codes eine 22-Millisekunden-Pause eingefügt, die es ermöglicht, dass jede Übertragung die definierte Länge von 45 Millisekunden aller SIRC-Codes annähert. Beachten Sie, dass Zeile 12 des Codes Pull-up-Widerstände innerhalb des PICAXE-ICs für die Pins C.1 und C4 aktiviert, wodurch externe Pull-up-Widerstände an diesen Pins überflüssig werden.

PICAXE-08M2 SIRC Sendercode

Senden und Empfangen

Das Video zeigt, wie einfach es ist, SIRC-Codes vom Sender zum Empfänger zu senden. Einfach beide Stromkreise einschalten und entweder SW1 oder SW2 am Sender drücken. Zu diesem Zeitpunkt sollte die blaue LED am Sender blinken, um anzuzeigen, dass Daten über die IR-LED gesendet werden. Gleichzeitig sollte die blaue LED am Empfänger blinken, um anzuzeigen, dass Daten von U2 empfangen werden. Zusätzlich sollte der Schrittmotor, der mit dem Empfänger verbunden ist, beginnen sich zu drehen; SW2 bewirkt eine Drehung im Uhrzeigersinn, während SW1 eine Drehung entgegen dem Uhrzeigersinn bewirkt. Die LEDs sollten weiter flackern und der Motor so lange drehen, wie einer der Schalter gedrückt wird.

In der Videodemonstration ist der Sender nur wenige Zentimeter vom Empfänger entfernt. Der tatsächliche Betriebsbereich sollte jedoch viel größer sein. Mit einer klaren Sichtlinie und der gewölbten Oberseite der IR-LED, die direkt auf den IR-Empfänger gerichtet ist, sollten Entfernungen von mehr als 20 Metern (18, 3 Meter) in Innenräumen erreichbar sein. Der Außenbereich kann je nach Umgebungsbedingungen etwas geringer sein.

Nächster?

Dieses Projekt hat die Grundlagen der IR (Infrarot) Kommunikation erklärt und einige der Besonderheiten von SIRC (Sony Infrared Remote Code) vorgestellt. Es hat gezeigt, wie Schrittmotoren verwendet werden können, um sich in verschiedene Richtungen zu drehen, abhängig davon, welcher von zwei SIRC-Codes empfangen wird.

Einfallsreiche Leser können zusätzliche Informationen darüber suchen, wie komplexere IR-Remote-Systeme funktionieren und wie andere Schrittmotoren eingesetzt werden könnten. Sie könnten Anwendungen für die IR-Fernsteuerung anderer elektrischer und elektromechanischer Geräte visualisieren. Hoffentlich können sie Anwendungen für IR-Signalisierung entwickeln, die nie zuvor in Betracht gezogen wurden, und vielleicht Systeme aufbauen und implementieren, die diese Funktionalität enthalten.

Bist du ein fantasievoller Leser?

Gib diesem Projekt einen Versuch für dich selbst! Holen Sie sich die Stückliste.