´╗┐ Afug-Info.de - Amateurfunk und mehr... ´╗┐ Afug-Info.de - Amateurfunk und mehr... ´╗┐ Afug-Info.de - Amateurfunk und mehr...
Afug-Info.de
Ohne  Java
Ohne  Flash
Ohne  Skripte
Ohne  Werbung
Ohne  Social Plugins

Willkommen bei Afug-Info.de
´╗┐ Afug-Info.de - Amateurfunk und mehr...

Schrittmotor 28BYJ-48 ansteuern / testen

Mit Schaltplan und brennbarer hex-Datei f├╝r PIC16F628A

F├╝r einen unglaublichen Preis von unter 2 Euro bekommt man den Schrittmotor 28BYJ-48 inklusive der ULN2003A-Treiber-Platine aus Fernost. Nachfolgend wird vorgestellt, wie man sie mit einem PIC16F628A ansteuern und testen kann. Neben Schaltplan, Schrittfolge und bebilderter Anleitung gibt es auch wieder eine brennbare hex-Datei zum Download.

Bild: Schrittmotor 28BYJ-48 mit ULN2003-Treiber-Platine
Der Schrittmotor 28BYJ-48 ist als 5V- und 12V-Ausf├╝hrung erh├Ąltlich. Die meist mitgelieferte ULN2003A-Treiber-Platine gibt es ebenfalls in zwei Ausf├╝hrungen.

Schrittmotor-Ausf├╝hrungen

Beschaltet und angesteuert werden die 5V und 12V Ausf├╝hrungen zwar identisch, ihre Leistung ist aber unterschiedlich.

Bei den von Afug-Info.de getesteten Schrittmotoren hat sich die 12V-Variante als deutlich kr├Ąftigere Ausf├╝hrung herausgestellt. Die Achse l├Ąsst sich mit der blo├čen Hand nicht aufhalten. Die Stromaufnahme betr├Ągt ca. 140mA bei maximaler Drehzahl und ca. 210mA bei minimaler Drehzahl. Bei ca. 120Hz arbeitet der 12V-Motor am effektivsten.

Die 5V-Variante hat im Vergleich nicht nur weniger Kraft, sondern auch die h├Âhere Stromaufnahme von ca. 170 bis 300mA. Bei ca. 70 Hz hat die 5V-Ausf├╝hrung die meiste Kraft, jedoch auch die h├Âchste Stromaufnahme.

Beide Varianten sind mit einem Getriebe aus Kunststoff-Zahnr├Ądern mit einer ├ťbersetzung von 1:64 ausgestattet.

Bild: Technische Daten Schrittmotor 28BYJ-48

Die Treiber-Platine

Die zugeh├Ârigen Treiber-Module gibt es ebenfalls in zwei Ausf├╝hrungen. Funktion und Ansteuerung sind identisch, jedoch wurde im Test die SMD-Variante w├Ąrmer, und hat zudem den Nachteil, dass man den fest verl├Âteten SMD-Chip ULN2003A bei Defekt nur schlecht tauschen kann, w├Ąhrend die zweite, nur unwesentlich gr├Â├čere Ausf├╝hrung gesockelt ist.

Die Treiber-Platine fungiert eigentlich nur als Verst├Ąrker und ist deshalb vonn├Âten, weil der PIC nur mit maximal 25mA belastet werden kann, der Schrittmotor aber - je nach Ausf├╝hrung - zwischen ca. 140 und 300mA ben├Âtigt. Man k├Ânnte das Modul auch durch eine Reihe von Transistoren oder Operationsverst├Ąrkern ersetzen. Der Aufwand lohnt sich aber kaum, da die Schrittmotore meist schon zusammen mit dem Treiber-Modul verkauft werden.

Zwischen PIC und Treiber-Platine flie├čen ├╝brigens im Betrieb lediglich 700┬ÁA.

Bitte beachten: Die Treiber-Platine invertiert die Polarit├Ąt. Wird vom PIC her Plus eingespeist, dann liegt am Ausgang des ULN2003-Moduls Minus an.


Die Schaltung

Mit folgender Schaltung k├Ânnen die Motore angesteuert werden. Zum Testen gibt es weiter unten eine fertig brennbare hex-Datei f├╝r den PIC16F628A mit einem einfachen Testprogramm als Download.

Als Bauteile werden ben├Âtigt:

Bild: Schaltplan: Ansteuerung des 28BYJ-48 Schrittmotors mit PIC16F628
Schaltplan zur Ansteuerung des 28BYJ-48 Schrittmotors mit PIC16F628.

Das Ganze ist mit wenigen Bauteilen aufgebaut.

Bild: Ansteuerung des 28BYJ-48 Schrittmotors mit PIC16F628 auf Steckboard
Ansteuerung des 28BYJ-48 Schrittmotors mit PIC16F628A auf dem Steckboard.

Funktionsweise

Der Schrittmotor dreht sich, wenn die 4 Steuerleitungen entsprechend der Schrittfolge mit Spannung versorgt werden. Der 5. Anschluss des Motors (rotes Kabel) ist eine gemeinsame Dauer-Plus-Leitung.

Bild: Schrittmotor 28BYJ-48
So ist der Schrittmotor aufgebaut.

Um den Motor anzusteuern, m├╝ssen also 4 Ausg├Ąnge des PICs die entsprechende Schrittfolge ausgeben - siehe nachfolgende Tabelle. Diese 4 Pins des Microcontrollers werden mit der ULN2003-Treiber-Platine verbunden, an die wiederum der Schrittmotor angeschlossen ist.

Im vorliegenden Programmbeispiel wurden 4 Pins (Ausg├Ąnge) des PortB verwendet. Zwischen den einzelnen Schritten liegt jeweils eine Pause zwischen 1000 und 4000┬ÁS (= 1 bis 4mS), die die Drehgeschwindigkeit/Frequenz festlegt.


Bild: Schrittfolge f├╝r Schrittmotor 28BYJ-48
Mit diesen Schrittfolge kann der 28BYJ-48 angesteuert werden.

Ein Beispiel f├╝r ein simples Ablauf-Schema f├╝r Vollschritte k├Ânnte so aussehen:

PORTB = 12     // oder PortB = %1100 (bin├Ąr 1100 = dezimal 12)
Pause in ┬ÁS
PORTB = 6      // oder PortB = %0110 (bin├Ąr 0110 = dezimal  6)
Pause in ┬ÁS
PORTB = 3      // oder PortB = %0011 (bin├Ąr 0011 = dezimal  6)
Pause in ┬ÁS
PORTB = 9      // oder PortB = %1001 (bin├Ąr 1001 = dezimal  9)
Pause in ┬ÁS


F├╝r die entgegengesetzte Richtung wird einfach die umgekehrte Reihenfolge verwendet.

1 Umdrehung besteht aus 2048 Vollschritten oder 4096 Halbschritten.

F├╝r eine Umdrehung muss der obige Code also 512 Mal wiederholt werden. Dies gilt gleicherma├čen f├╝r Halbschritte (4 x 512 = 2048) und Vollschritte (8 x 512 = 4096).

Das w├Ąre das Grundprinzip zum Ansteuern des 28-BYJ-48-Schrittmotors in der 5V- und 12V-Ausf├╝hrung.

Zus├Ątzlich wurden in diesem Beispiel noch zwei Taster zum Regeln der Geschwindigkeit (langsamer, schneller) und ein weiterer zum Umschalten der Drehrichtung hinzugef├╝gt.

Grunds├Ątzlich kann man den PIC so programmieren, dass er alle gew├╝nschten Funktionen f├╝r Steuerungen umsetzt. Das vorliegende Beispiel ist hier nur zum Testen der Grundfunktionen.


Test-Funktionen

Wenn alle Bauteile entsprechend dem obigen Schaltbild aufgebaut worden sind, stehen verschiedene Funktionen zur Verf├╝gung.

Vollschritte / Halbschritte
Der PIC kann sowohl Vollschritte als auch Halbschritte ausgeben. Beim normalen Einschalten sind standardm├Ą├čig Vollschritte vorgegeben.
Zum Umschalten auf Halbschritte, trennt man den Aufbau zun├Ąchst kurz von der Spannungsversorgung. Dann schaltet man bei gedr├╝cktem Taster f├╝r langsamere Geschwindigkeit (PortA.1 oder PIN18 des PIC16F628A) die Spannung wieder zu. Sobald der Aufbau Spannung hat, kann man die Taste loslassen und dann ganz normal zum Regeln der Geschwindigkeit verwenden. Der PIC gibt dann Halbschritte aus, bis zum Ausschalten. Beim n├Ąchsten normalen Einschalten sind standardm├Ą├čig wieder Vollschritte eingestellt - oder beim Gedr├╝ckt-Halten der Langsamer-Taste wiederum Halbschritte.

Geschwindigkeit ├Ąndern
Wenn die Schaltung - im Halb- oder Vollschritt-Modus - l├Ąuft, kann man durch Dr├╝cken der jeweiligen Taster (schneller, langsamer) die Drehgeschwindigkeit erh├Âhen oder verringern.
Zur besseren Kontrolle bleibt der Motor pro Tastendruck kurz stehen und l├Ąuft erst beim Loslassen der Taste mit der neu eingestellten Geschwindigkeit weiter. Bleibt der Motor beim Dr├╝cken nicht stehen und l├Ąuft stattdessen ohne Unterbrechnung weiter, dann ist die Minimum- oder Maximum-Geschwindigkeit bereits erreicht - dann bitte die jeweils andere Taste zum Regeln der Geschwindigkeit verwenden.

Zum Experimentieren, nachfolgend noch ein paar Messdaten (evtl. geringf├╝gige Abweichungen sind bedingt durch den internen Oszillator des PIC). Damit kann man ausprobieren, welche Leistung der Motor bei welcher Stromaufnahme und in welchem Frequenzbereich bringt, und auf diese Weise die optimale Einstellung f├╝r den jeweiligen Anwendungszweck finden.

Bild: Geschwindigkeit-Frequenz-Korrelation Schrittmotor 28BYJ-48
Geschwindigkeit-Frequenz-Korrelation.

Hinweis zur Benutzung der Tabelle: Es wird immer vom Urzustand beim Einschalten weg gez├Ąhlt.
"3x langsamer" bedeutet also in der Einschaltposition 3x die Taste langsamer dr├╝cken usw.

Drehrichtung
Mit einem Schalter (Pin1 des PIC schaltet 0 oder +5V) l├Ąsst sich dann noch w├Ąhrend des Betriebs die Drehrichtung des Motors ├Ąndern - vor / zur├╝ck bzw. links / rechts (je nach Motorposition).

Zur├╝cksetzen der Einstellungen
Zum Wiederherstellen des Urzustands (Vollschritte, Standard-Drehrichtung/- Frequenz/-Geschwindigkeit) die Schaltung einfach kurz von der Spannungsversorgung trennen.


Hex-Datei

Fertiger, brennbarer hex-Code zum Beschreiben des PIC16F628A, um den Schrittmotor 28BYJ-48 (5V und 12V Ausf├╝hrung) zu testen.

Zum Entpacken:

Download hex-Code      f├╝r PIC16F628A


Bitte beachten: Nicht jede Software f├╝r das Programmierger├Ąt ├╝bernimmt die Konfigurationszeile selbst├Ąndig aus der hex-Datei. Dann bitte manuell folgende Chip-Konfiguration f├╝r den PIC16F628A vornehmen:

Chip: PIC16F628A, 4 Mhz
OSC=INTOSCIO, WDTE=OFF, PWRTE=ON, MCLRE=OFF, BOREN=OFF, LVP=OFF


Der fertig beschriebene PIC kann notfalls auch von Afug-Info.de zum Selbstkostenpreis bezogen werden (gilt f├╝r alle vorgestellten PIC-Schaltungen auf Afug-Info.de).


Viel Spa├č beim Testen und Experimentieren !



Copyright (Text und Bilder): Sabine Saurer, KF5DVW. Jegliche Vervielf├Ąltigung dieses Textes und/oder Bilder bedarf der vorherigen Genehmigung. Nur f├╝r private Nutzung frei. Kommerzielle Nutzung ist nicht gestattet und bedarf der vorherigen Genehmigung von KF5DVW. Kontakt: http://www.afug-info.de/

Seitenanfang

´╗┐ Afug-Info.de - Amateurfunk und mehr...