Elektuur
11/99
Vor dem Einsetzen der ICs und vor
einem Zusammenbau mit dem
80C166-Board wird zuerst der Step-
Down-Wandler in Betrieb genommen.
Bei Anschluß einer Versorgungsspan-
nung von etwa 10 V sollte der Wand-
ler eine Ausgangsspannung zwischen
4,6 V und 5,4 V liefern, die mit dem
Poti P5 auf 5,0 V bis 5,1 V einzustellen
ist. Bei Erhöhung der Versorgungs-
spannung bis auf 40 V müssen die 5 V
stabil bleiben. Die beiden grünen
LEDs zur Betriebsanzeige (LEDs D11
und D12) leuchten bei eingeschalteter
Spannung. Nach einwandfreier Funk-
tion des Step-Down-Wandlers wird
die Platine auf das 80C166-Board mit
der SMOST-Software aufgesteckt. IC13
und IC14 (74xx123) müssen zur
Anzeige der Takt-Signale und für
einen späteren Standby-Betrieb einge-
setzt sein. Zusätzlich kann ein PC an
die serielle Schnittstelle angeschlossen
und ein Terminal-Programm im
ASCII-Modus gestartet werden (9600
Baud, 8 bit, 1 Stoppbit, keine Parität).
Nach Einschalten der Versorgungs-
Spannung erscheinen bei funktionie-
rendem 80C166-Board auf dem PC-
Bildschirm einige Versions- und Initia-
lisierungs-Texte. Nach einem
abschließenden OK ist die Schrittmo-
tor-Software betriebsbereit. Als näch-
stes muß überprüft werden, ob die
SMOST-Software auf Tastendrücke
reagiert und alle Takt- und Richtungs-
signale liefert. Nach abwechselndem
Betätigen eines Links- und Rechts-
Tasters sollten die Leuchtdioden der
Richtungsanzeige entsprechend an
oder aus bleiben. Für die Dauer eines
Tastendrucks muß die zugehörige
Takt-Leuchtdiode aufleuchten. Ist auch
dieser Funktionstest bestanden, kön-
nen die GALs und Endstufen-ICs
(nach Abschalten der Betriebsspan-
nung natürlich) eingesetzt sowie
Schrittmotoren angeschlossen werden,
am besten jede Endstufe für sich. Nach
Anpassung der Jumper für Schritt-
folge, Strom und Standby-Betrieb
beziehungsweise nach analoger Strom-
Einstellung über die Potentiometer
müßten sich die Schrittmotoren bei
Betätigen der zugehörigen Taster in
beiden Richtungen drehen. Wenn die
Drehbewegungen per Taster funktio-
nieren, sollte auch eine Ansteuerung
vom PC aus möglich sein. Bei Schritt-
motoren mit aktivierter Nullpunktsu-
che muß die Drehrichtung des Schritt-
motors überprüft und gegebenenfalls
geändert werden. Zum Ändern der
Drehrichtung werden einfach zwei
Anschlußleitungen einer Phase umge-
kehrt angeschlossen. Abschließend
können noch die Sensor-Eingänge
durch Einsetzen der Optokoppler in
Betrieb genommen und getestet wer-
den. Immer, wenn eine Spannung an
einen Sensor-Eingang (IN5...IN10, IC17
und IC18) angelegt wird, erscheint auf
dem PC-Bildschirm die zugehörige
Meldung s1 bis s6. Der gleiche Effekt
ist auch durch Kurzschließen der
Optokoppler-Ausgänge zu erreichen.
Die Nullpunkt-Eingänge 1 bis 4 (IC16)
können wie die Sensor-Eingänge über-
prüft werden. Für den jeweiligen
Motor muß allerdings vorher der
Befehl zur Nullpunktsuche gegeben
werden. Hierbei erscheinen dann auf
dem Bildschirm die zugehörigen Mel-
dungen n1 bis n4.
Nach dem Aufbau der Schrittmotorsteuerung
und der Befestigung an der 42 TE breiten
Frontplatte mit professionellem Design steht
der schrittweisen Inbetriebnahme vom Step-
down-Wandler bis zum PC-Terminalprogramm
nichts mehr im Wege. Und sollte nicht alles wie
gewünscht funktionieren, gibt das Kapitel Feh-
lerursachen Hilfestellung.
70
Von Karl-Heinz Domnick
C166-Schrittmotor-
Steuerung
Teil 2: Einschalten und Loslegen
MIKROPROZESSOREN
F
E H L E R
-
U R S A C H E N
Grundsätzlich sollten
alle Lötstellen überprüft werden. Glei-
ches gilt für die Bestückung. Mögliche
Fehlerursachen sind unter anderem:
Wenn sich überhaupt nichts bewegt:
➘ Step-Down-Wandler liefert
keine 5 V.
➘ 80C166 Controller-Board nicht
angeschlossen.
➘ SMOST-Programm in EPROMs
fehlt oder Low und High ist ver-
tauscht.
➘ Takt-Signal fehlt;
Unterbrechung zum
80C166-Board (Pfo-
sten-Pin verbogen).
Endstu-
fen-ICs (IC1...IC8) fehlen.
➘ GAL (IC9...IC11) fehlt oder ist
nicht beziehungsweise falsch pro-
grammiert.
Wenn ein Piepsen zu hören ist, der
Schrittmotor aber nicht dreht oder
wenn nur ruckelt:
➘ Takt-Frequenz oder Untere Fre-
quenz zu hoch gewählt.
➘ An den Jumpern JP9...JP20 zu
geringen Strom gewählt.
➘ Bei analoger Stromeinstellung ist
das Potentiometer P1...P4 nicht
richtig eingestellt oder an den
Jumpern JP9...JP20 nicht auf 100%
Strom gesetzt.
➘ Zu niedrige Versorgungsspan-
nung für den Schrittmotor.
Wenn der Schrittmotor kurz anläuft
und dann stehen bleibt:
➘ Obere Frequenz zu hoch gewählt.
Beschleunigung zu hoch gewählt.
Wenn der Motor nur in eine Richtung
71
Elektuur
11/99
990044 - 16
31,5
64,0
71,0
168,0
186,5
23,5
28,5
33,5
51,5
64,5
69,5
87,5
112,5
53,5
68,8
84,0
99,3
114,5
129,8
145,0
160,3
175,5
196,0
40,0
46,0
66,0
92,5
114,0
= 3
= 9
Bild 1. Maßzeichnung
der 42-TE-Frontplatte.
SMOST
Schritt-MOtor-STeuerung
N
ullpunkt suchen
T
akt-Frequenz
U
ntere Frequenz
O
bere Frequenz
B
eschleunigung
A
ktuelle-Position
E
nd-Position
D
auerlauf-Modus
P
ositionier-Modus
H
alt (alle Motoren)
0, M
1, M,
00050-05000
2, M,
00050-05000
3, M,
00050-20000
4, M,
00005-01000
5, M,
00000-50000
6, M,
00000-50000
7, M
8, M
9
Richtung
Takt
S-Motor 2
Ein
Strg
Reset
Richtung
Takt
Ein
S-Motor 1
Richtung
Takt
S-Motor 3
Richtung
Takt
S-Motor 4
9
0
1
2
3
4
5
6
7
8
H
G
H
G
H
G
H
G
1
2
3
4
990044 - F
1
dreht:
➘ Richtungs-Signal fehlt; Unterbre-
chung zum 80C166-Board (Pfo-
sten-Pin verbogen).
Wenn der Schrittmotor seinen Null-
punkt nicht findet:
➘ Falsche Drehrichtung am Schritt-
motor.
➘ Nullpunkt-Schalter beziehungs-
weise -Sensor hat falsche Polarität
(Öffner statt Schließer)
➘ Optokoppler (IC16) fehlt.
Wenn keine Verbindung zum PC
besteht:
➘ Falsche COM-Schnittstelle am PC.
➘ Serielle Leitungen RxD und TxD
zum PC vertauscht.
➘ Jumper für die Signale CTS und
RTS fehlen oder sind falsch
gesteckt.
➘ SIO-Baustein oder zur Funktion
erforderliche (Tantal-) Elkos fehlen.
Läuft einfach nicht ......?
Weitere Fehlerursachen können nur
noch im Aufbau der SMOST-Platine
oder an einem defekten Bauteil liegen.
Eine genauere Überprüfung ist ratsam.
B
E D I E N U N G
Über die vorhandenen 10 Taster ist
eine einfache Bedienung der Schritt-
motoren sowie die Eingabe von Para-
metern möglich. Komplexe Abläufe
können über die Taster nicht realisiert
werden; dazu ist ein zusätzlicher Rech-
ner oder PC erforderlich.
72
Elektuur
11/99
Tabelle 2. Befehle und Meldungen des Terminals
?
Hilfe
-
Hilfe abfragen
A
* Aktuelle Position
±2.147.483.648
Aktuelle Position setzen/abfragen
B
* Beschleunigung
5 – 1.000
Motor-Beschleunigung setzen/abfragen (Takte pro ms)
C
Copy Data
-
Daten von Speicher in EEPROM kopieren
D
Dauerlauf Modus
0/1 – 4/9
Dauerlauf-Modus ein (Positionier-Modus aus)
E
* End-Position
±2.147.483.648
End-Position setzen/abfragen
E
Meldung
1 – 4
Meldung “End-Position erreicht”
F
Fahrt slow
0/1 – 4/9
Fahrt mit Taktfrequenz (slow) in angewählter Richtung
G
Go
0/1 – 4/9
Motor starten/End-Position anfahren
H
Halt
0/1 – 4/9
Motor anhalten
I
Info
-
Informationen abfragen (Status mit vorangestelltem Semikolon)
J
Ja, mit Nullpunkt
0/1 – 4/9
Nullpunkt-Sensor anfahren und aktuelle Position auf 0 setzen
K
Kein Nullpunkt
0/1 – 4/9
Kein Nullpunkt-Sensor, aktuelle Position direkt auf Null setzen
L
Linkslauf
0/1 – 4/9
Linkslauf bei Fahrten mit Taktfrequenz (slow)
M
Motor aktuell *
1 - 4
Motor-Nr. für folgende Befehle setzen/abfragen
N
Nullpunkt suchen
0 / 1 - 4 / 9
Nullpunkt suchen mit Takt-Frequenz
n
Meldung
1 - 4
Meldung “Nullpunkt erreicht”
O
* Obere Frequenz
50 - 20.000 Hz
Obere Frequenz (Fast) setzen/abfragen
P
Positionier-Modus
0 / 1 - 4 / 9
Positionier-Modus ein (Dauerlauf-Modus aus)
q
Meldung
0 - 9
Quittierung (q0) und Fehlermeldungen (q1-q9)
R
Rechtslauf
0 / 1 - 4 / 9
Rechtslauf bei Fahrt mit Takt-Frequenz (Slow)
S
Status
- / 0 / 1 - 4 / 9
Status abfragen: M1,T500,U1000,O10000,B500,....
s
Meldung
1 - 8
Meldung “Sensor erreicht”
T
* Takt-Frequenz
50 - 5.000 Hz
Takt-Frequenz (Slow) setzen/abfragen
U
* Untere Frequenz
50 - 5.000 Hz
Untere Frequenz (Start/Stop) setzen/abfragen
V
Versions-Nr.
-
Versions-Nummer des Programms abfragen
v
Meldung
1 - 4
Meldung “Verlassen des Nullpunkts”
W
Wiederholen
0 / 1 - 4 / 9
Wiederholen letzte Schrittzahl in letzter Richtung
X
Wiederh. umgekehrt
0 / 1 - 4 / 9
Wiederholen letzte Schrittzahl in umgekehrter Richtung
Z
* Zwischen-Position
±2.147.483.648
Zwischen-Position setzen/abfragen
z
Meldung
1 - 4
Meldung “Zwischen-Position erreicht”
Zulässige Werte:
0
= aktueller Motor (mit M1 - M4 vorher gesetzt)
1 – 4
= angegebener Motor
9
= alle Motoren
Umsch/0
0...9
Strg/9
H
G
...
0
9
Funktion
Taster
Motor
Wert = Tasterfolge
Seriell
Takt-Frequenz
1
M 1 - 4
00.050 - 05.000
T 50 - 5.000
Untere Frequenz
2
M 1 - 4
00.050 - 05.000
U 50 - 5.000
Obere Frequenz
3
M 1 - 4
00.050 - 20.000
O 50 - 20.000
Beschleunigung
4
M 1 - 4
00.005 - 01.000
B 5 - 1.000
Aktuelle Position
5
M 1 - 4
00.000 - 50.000
A -2.147.483.648 - +2.147.483.648
End-Position
6
M 1 - 4
00.000 - 50.000
E -2.147.483.648 - +2.147.483.648
Dauerlauf-Modus
7
M 1 - 4
-
D 1 - 4
Positionier-Modus
8
M 1 - 4
-
P 1 - 4
Halt (alle Motoren)
9
-
-
H 9
Nullpunkt suchen
0
M 1 - 4
-
N 1 – 4
Tabelle 1. Im Programmiermodus haben die Taster
unterschiedliche Funktionen. Bei der Eingabe von Wer-
ten sind führende Nullen mit anzugeben, damit immer
die gleiche Ziffernanzahl erreicht wird.
Tabelle 1. Programmiermodus
ACHTUNG!
Punkte nicht mit eingeben!
Normalbetrieb
SMOST unterscheidet zwischen Nor-
malbetrieb und Programmiermodus.
Bei Betätigen der Taster 1...4 links oder
1...4 rechts dreht sich der Schrittmotor
mit der eingestellten Taktfrequenz in
die angewählte Richtung, bis der Taster
losgelassen wird.
Bei Betätigen der Taster 1...4 links fährt
der Schrittmotor die letzte Schrittzahl
in umgekehrter Richtung (= Befehl “X
- Wiederholen umgekehrt”. Bei Betäti-
gen der Taster 1...4 rechts fährt der
Schrittmotor die letzte Schrittzahl in
der letzten Richtung (= Befehl “Wie-
derholen”). Die Wirkungsweise von
Normalbetrieb mit Umsch-Taster und
Normalbetrieb ohne Umsch-Taster
kann über den Dipschalter 2 ver-
tauscht werden.
Mit Taster 1...4 links wird ein Schritt-
motor angehalten (= Befehl “Halt”).
Mit Taster 1...4 rechts wird ein Schritt-
motor gestartet (= Befehl “Go”). Vor-
aussetzung zum Starten des Schritt-
Bild 4. Normalbetrieb
mit Strg-Taster.
Halt
Go
Strg
Strg
1...4
H
G
1...4
990044 - 3 - 13
Bild 3. Normalbetrieb
mit Umsch-Taster.
Umsch
Umsch
1...4
Wiederh. umgekehrt
H
G
1...4
Wiederholen
990044 - 3 - 12
Bild 2. Normalbetrieb
ohne Umsch-Taster.
H
G
1...4
Fahrt Slow
990044 - 3 - 11
motors ist, daß die Werte für Aktuelle
Position und End-Position unter-
schiedlich sind.
Programmiermodus
Um in den Programmiermodus zu
wechseln, den Umsch-Taster gedrückt
halten und den Strg-Taster betätigen;
die gelbe LED beginnt zu blinken.
Zum Ausschalten oder Abbrechen des
Programmier-Modus diese Tasterfolge
wiederholen; die gelbe LED erlischt.
Nach einer kompletten oder falschen
Eingabe wird der Programmier-Modus
automatisch beendet. Bei einer Ziffern-
eingabe hat der Umsch-Taster die Zif-
fer 0 und der Strg-Taster die Ziffer 9. Im
Programmier-Modus haben die Taster
unterschiedliche Funktionen. Bei der
Eingabe von Werten sind führende
Nullen mit einzugeben, damit immer
die gleiche Ziffernanzahl erreicht wird.
S
O F T W A R E I N T E R N
Alle Takte und Richtungs-Signale wer-
den auf dem 80C166-Board per Soft-
ware erzeugt. Jeder Takt wird mit 32 Bit
registriert und kann als Aktuelle Position
abgefragt oder verändert werden.
Nach erfolgreicher Nullpunktsuche
wird dieser Wert auf Null gesetzt. Bei
dem Befehl Go errechnet der Control-
ler aus den Parametern Untere Frequenz,
Obere Frequenz und Beschleunigung eine
Rampentabelle.
Die Takte werden mit diesen Werten
für die steigende Rampe bis zur Hoch-
geschwindigkeitsphase ausgegeben. Ist
der Dauerlaufmodus eingeschaltet,
erfolgt die weitere Taktausgabe mit
dem Wert Obere Frequenz. Bei einem
Halt wird die Rampentabelle in umge-
kehrter Reihenfolge für die fallende
Rampe bis zum Stillstand abgearbeitet.
Ist der Positionier-Modus eingeschaltet,
wird in der Tabelle zusätzlich die Dif-
ferenz zwischen Aktueller Position und
End-Position berücksichtigt sowie die
Schrittzahl für die Hochgeschwindig-
keitsphase ermittelt. Werden für beide
Rampen mehr Schritte benötigt, als für
die Differenz von Aktueller Position und
End-Position erforderlich wären, kann
die Hochgeschwindigkeitsphase nicht
erreicht werden.
Da nach dem Start alle erforderlichen
Takte und Schritte berechnet sind, dür-
fen alle Parameter (ausgenommen der
Dauerlauf- oder Positionier-Modus)
verändert werden. Ein laufender
Bild 5. Programmier-
modus ein- und aus-
schalten.
Programmiermodus
Umsch/0
Strg/9
990044 - 3 - 14
Schrittmotor kann nur mit dem Befehl
Halt vorzeitig angehalten werden.
Nach einem Go darf unmittelbar der
Befehl Nullpunkt suchen gegeben wer-
den; nach Erreichen der End-Position
sucht der Schrittmotor dann sofort sei-
nen Nullpunkt. Interessant ist noch
der Parameter Zwischen-Position. Immer
wenn die Aktuelle Position diesem Wert
gleicht, sendet das Programm eine
Meldung (z1...z4) über die serielle
Schnittstelle. Dieser Parameter kann zu
jeder Zeit und beliebig oft geändert
werden. Eine Meldung wird auch
gesendet, wenn Endposition (e1...e4)
oder Nullpunkt (n1...n4) erreicht sind,
bei Verlassen des Nullpunkts (v1...v4)
oder bei Aktivieren der acht Sensor-
Eingänge (s1...s8).
Der Befehl Nullpunkt suchen führt nur
dann zu einer Suche, wenn ein Null-
punkt-Sensor vorhanden ist und der
Parameter Ja, mit Nullpunktsensor
gesetzt ist. Bei Kein Nullpunktsensor
wird nur die Aktuelle Position auf Null
gesetzt und die Meldung (n1...n4) aus-
gegeben.
P C - K
O M M U N I K A T I O N
Die Kommunikation zwischen PC und
SMOST erfolgt über die serielle
Schnittstelle mit 9600 Baud / 8 Bit / 1
Stopbit / No Parity. Mit einem PC-Ter-
minal-Programm (ASCII-Übertragung)
ist eine Steuerung und Abfrage von
SMOST möglich. Für komplexe Schritt-
motor-Abläufe ist jedoch ein Pro-
gramm erforderlich, der Befehle
erzeugt und Meldungen auswertet.
SMOST empfängt alle Befehle als
Buchstabe oder als ganzes Wort ohne
Ziffern und Sonderzeichen. Zwischen
Groß- und Kleinschreibung wird nicht
unterschieden:
M1 / m2 / M 3 / m 4 / Motor 2
Mehrere Befehle in einer Zeile sind
zulässig; sie müssen durch Komma
oder Doppelpunkt getrennt sein:
m1, t500 / M1, T500 /
M1:T500:M2:T800 / Motor 1,
Taktfrequenz 500
Nach einem Semikolon dürfen bis zum
Zeilen-Ende Kommentare angefügt
werden:
M1,T500 ; Taktfrequenz 500 Hz
für Motor 1 <ret>
Status-Meldungen werden in Groß-
buchstaben, Positions-Meldungen als
Kleinbuchstabe gesendet. Informatio-
nen und Kommentare beginnen mit
einem Semikolon. Jede Zeile endet mit
einem Return und Line Feed.
Alle Befehle und Meldungen sind in
Tabelle 2 aufgelistet.
(990044-III)rg
73
Elektuur
11/99
Tabelle 3. Fehlermeldungen
Q0
OK
Q1
Falscher Befehl
Q2
Falsche Motor-Nummer
Q3
Falscher Wert
Q6
RAM Checksummen-Fehler
Q7
EEPROM Checksummen-Fehler
Q8
EEPROM-Schreib-Fehler