|
Wir programmieren einen Schrittmotor mit
AVISE4.3
|
.Schrittmotor (nach Jones) Tokencodes für AVISE4.1/4.3
.
Der Treiber-Baustein ULN2803 invertiert das Eingangssignal. Er ist nötig, weil die Betriebsspannung des Mikroprozessors und seine Stromabgabe in der Regel nicht ausreichen, um den Schrittmotor zu bedienen. Der Treiberbaustein kann mit höherer Spannung als 5 V betrieben werden. Wenn also einer der Eingänge auf HI-Potenzial gelegt wird, liegt am Ausgang des ULN2803 LO-Potenzial an. Es kann also Strom von + UB zu einem der Ausgänge (a, b) fließen, ein bestimmtes Spulenpaar im Schrittmotor wird magnetisch. Der Mikroprozessor muss geeignete Signale abgeben, damit sich ein drehendes Magnetfeld ergibt, durch das der Rotor zu einer weitgehend gleichmäßigen Rotation oder zu einer bestimmten Zahl von Drehschritten veranlasst wird. |
.
Einzelbilder nach dem Video von Jones (unten) Schema
|
|
Video nach Jones |
So funktioniert's. Vielleicht findet jemand eine bessere Methode.
Ansteuerung eines Schrittmotors ( sog. UNIPOLAR-Motor, erkennbar an 5 oder 6 Anschlussdrähten, typischerweise angesteuert mit dem Bausteine ULN2008; BIPOLAR-Motoren erfordern einen anderen Ansteuerbaustein, z.B. Sie sind erkennbar an den 4 Anschlussleitungen). Anders als in der Animation ist bei diesem Motor eine volle Umdrehung nach 18(16) = 24(10) Zyklen erreicht. Ein Schritt (z.B. 80 AUS) führt also eine Drehung um 3600 / 96= 3,750 durch. |
VAR zt Var i1 $
: AUSC FF C WDDR RET : Alle 8 bits von Port C auf Ausgang schalten ; notwendig vor erstem Aufruf von AUS : ZEIT zt WR RET ( b -- ) : belegt Variable V2 mit der Wartezeit (b > 4); notwendig vor erstem Aufruf von WART : WART zt RD MS WAIT RET : AUS C WPORT WART RET ( b -- ) gebremste Ausgabe vom TOS b auf Port C : LINKS 1 18 FOR i1 80 AUS 40 AUS 20 AUS 10 AUS NEXT RET Volle Linksdrehung : RECHTS 1 18 FOR i1 20 AUS 40 AUS 80 AUS 10 AUS NEXT RET Volle Rechtsdrehung : HINHER REPEAT LINKS WART RECHTS WART KEY? UNTIL DROP RET : WECHS REPEAT 10 ZEIT LINKS WART 5 ZEIT RECHTS WART KEY? UNTIL DROP RET (langsame Linksdrehung, schnelle Rechtsdrehung) |
Hinweis:
80(16) | 1000 0000 | Linksdrehung |
40(16) | 0100 0000 | |
20(16) | 0010 0000 | |
10(16) | 0001 0000 | |
20(16) | 0010 0000 | Rechtsdrehung |
40(16) | 0100 0000 | |
80(16) | 1000 0000 | |
10(16) | 0001 0000 |
Schäden werden bei sachgemäßem Umgang nicht erwartet.
Dennoch wird keinerlei Haftung übernommen, z.B. bzgl. Gefährdung
der Prozessoren, der PCs und vor allem der mit dem System experimentierenden
Personen.
Ein Haftungsausschluss von Herrn Schemmert wird hier einkopiert:
|
(zuletzt aktualisiert 2013)