Die Schrittmotorsteuerung SMC1000i verfügt über eine USB-Buchse welche eine
virtuelle serielle Schnittstelle zur Verfügung stellt, sie dient zur 3-Achsensteuerung
von Schrittmotoren.
Die Karte ist für den Anschluss von bipolaren 2-Phasen- oder 4-Phasen
Schrittmotoren geeignet. Zum Betrieb der Steuerkarte wird nur eine
Versorgungsspannung von 24V DC benötigt.
Alle Parameter wie Arbeitsstrom, Haltestrom und Schrittauflösung können über
die mitgelieferte Software eingestellt werden. Des Weiteren besteht die
Möglichkeit die entsprechenden Befehle mit einem Terminalprogramm oder einer
selbst Entwickelten Software an die Steuerung zu senden. Hierzu ist sind in
diesem Handbuch alle Befehle offengelegt.
2. Technische Daten:
Modell / Typ
Versorgungsspannung 12-24V DC
Ausgabefrequenz 100kHz
Eingänge Freigabe /
Ausgänge Motoranschluss X,Y,Z
Eingangspegel 5-24V DC
Bauform 101mm x 60mm
Gewicht 64g
Phasenstrom 1A
Schnittstelle USB
Mikroschrittbetrieb 1/1,1/2,1/4,1/8,1/16,1/32
Ruhestromreduzierung Ja
Referenzschaltertyp Mechanisch, Initiator
Not-Aus-Eingang Ja
Kaskadierbar Nein
Touch-Panel Nein
Stand-Alone-fähig Nein
Motoranschlüsse 3
SMC-1000i-USB
Referenzschalter
-Seite 3-
Die Schrittmotorsteuerung SMC1000i
3. Anschlussbelegung:
Die Motoranschlüsse (X;Y;Z):
Die Schrittmotorsteuerung SMC1000i-USB-v1.0 verfügt über Anschlüsse für 3
Schrittmotoren. Direkt auf der Steuerung befinden sich 3 integrierte Motortreiber,
welche nicht separat erworben werden müssen. So können z.B. eine X-, Y- und ZAchse betrieben werden. Die Anschlusspläne für die Schrittmotoren werden bei
einer Schrittmotorlieferung beigelegt oder können von unserer Homepage
entnommen werden.
Referenzschalter und Not-Aus-Schalter:
Die Referenzschalter für z.B. die X-, Y- und Z-Achsen können jederzeit nach dem
Anschlussplan auf der Platine angeschlossen werden. Des Weiteren kann auf der
Leiterplatte ein Not-Aus-Schalter durch einfaches anklemmen integriert werden.
Die Versorgungsspannung:
Zum Betrieb der Schrittmotorsteuerkarte wird eine externe
Gleichspannungsversorgung von 24 Volt benötigt. Die Restwelligkeit der
Gleichspannung sollte 2 Volt nicht überschreiten.
-Seite 4-
Die Schrittmotorsteuerung SMC1000i
4. Aufbau
Bedeutung der Ein-/Ausgangsbezeichnungen:
Stromversorgung:
24V DC Versorgungsspannung +24V DC
GND Versorgungsspannung 0V
Eingänge:
SW-X Referenzschalter X-Motor
SW-Y Referenzschalter Y-Motor
SW-Z Referenzschalter Z-Motor
NOT-AUS NOT-AUS Schalter (Öffner, nur im NOT-AUS Betrieb verwendbar)
Statusanzeigen:
LED1 Freigabe für Motorendstufen
LED2 Power-ON
-Seite 5-
Die Schrittmotorsteuerung SMC1000i
5. Funktionsweise
Ansteuerung erfolgt mit einfachen Steuerkommandos im ASCII-Format, die über
die virtuelle serielle Schnittstelle ausgegeben werden.
Diese Steuerkommandos können in jedem Betriebssystem, bzw. mit jeder
Entwicklungsumgebung erzeugt werden, so dass hier völlig unabhängig vom
Betriebssystem gearbeitet werden kann.
6. Befehlsübertragung
6.1. Datenübertragung
Die Datenübertragung zur SMC1000i basiert auf einem ASCII- oder Textprotokoll.
Alle Befehle sind aus ASCII-Zeichen aufgebaut.
Ein Handshake-Verfahren ist nicht vorgesehen. Zusätzliche Steuersignale werden
für die Datenübertragung nicht verwendet.
Als Übertragungsparameter sind einzustellen:
Baudrate: 115200
Datenbit: 8
StopBit: 1
Parität: keine
6.2. Befehlsaufbau
Die Befehlssequenzen sind aus ASCII-Zeichen aufgebaut, wobei jeder Befehl in
der Regel mit einem <CR> (carriage return = 13) abgeschlossen wird. Das
Interface quittiert jeden Befehl entweder mit einem <READY> einem <BUSY>
oder einem <ERROR>-Zeichen.
Abfragebefehle werden vom Interface mit einem Datenwert (ebenfalls ASCIIZeichen) quittiert, wobei dieser Wert mit einem <READY> abgeschlossen ist.
Nach jeder Befehlsübertragung muss solange gewartet werden, bis das Interface
den Befehl quittiert hat, erst dann darf ein neuer Befehl gesendet werden. Die
Quittierung erfolgt in der Regel sehr schnell, kann aber je nach Befehl und
Auslastung des Controllers einige Zeit in Anspruch nehmen (max. 25 ms.).
Die Befehle zur Ansteuerung des Interfaces sind in zwei Gruppen unterteilt.
Zum einen gibt es so genannte Masterbefehle, welche vom Interface zu jedem
Zeitpunkt verarbeitet werden können. Diese Befehle sind durch das @-Zeichen
gekennzeichnet.
Beispiele für Masterbefehle sind der „Reset“-Befehl, die „Statusabfrage“ oder der
„Achsen sofort stoppen“-Befehl.
So kann z.B. während einer Vektorfahrt mittels „Achsenposition abfragen“
zwischen durch immer wieder die Position bestimmt werden.
Alle anderen Befehle werden zwar auch gleich abgearbeitet, können aber nicht zu
jedem Zeitpunkt an das Interface geschickt werden. Erst wenn der vorhergehende
Befehl abgearbeitet wurde, kann ein weiterer Befehl dieser Art geschickt werden.
Es empfiehlt sich, die Rückmeldungen zu überwachen. Sobald eine <READY> Rückmeldung gesendet wurde, können neue Befehle an das Interface geschickt
werden.
Für den ersten Einsatz des Interfaces muss dieses nicht konfiguriert werden, da
bereits alle vorhandenen Parameter mit einem Wert voreingestellt sind.
Die aktuelle Position einer Achse wird abgefragt. Als Parameter muss die
jeweilige Achse durch die Buchstaben X, Y, Z angegeben werden.
Als Quittierung liefert das Interface die aktuelle Position in Schritten zurück. Die
Position kann sowohl positiv, als auch negativ sein, je nach Stand der Achse zum
Nullpunkt.
Befehl: @La<CR>
Quittierung: @La bbbb<READY>
Der Buchstabe a steht hier nur als Platzhalter. Im Befehl ist er durch die jeweilige
Achse zu ersetzen, die mit X, Y oder Z bezeichnet werden muss. In der
Quittierung steht der Buchstabe b für die momentane Position, die in Schritten
zurückgeliefert wird.
Beispiel: @LX<CR> Positionsabfrage X-Achse
@LX 1234<READY> Quittierung
Die X-Achse befindet sich 1234 Schritte in
positiver Richtung vom Nullpunkt entfernt.
Beispiel: @LY<CR> Positionsabfrage Y-Achse
@LY -1234<READY> Quittierung
Die Y-Achse steht auf –1234 Schritte zum
Nullpunkt.
-Seite 8-
Die Schrittmotorsteuerung SMC1000i
7.3 Status abfragen (Masterbefehl)
Den aktuellen Zustand des Interfaces abfragen. Als Quittierung liefert das
Interface sechs Zeichen, welche durch die Darstellung einer Null (0) oder einer
Eins (1) den aktuellen Zustand der Steuerung signalisieren.
Befehl: @X<CR>
Quittierung: @X aaaaaa<READY>
Der Buchstabe a steht hier lediglich als Platzhalter für den Status.
Die sechs Zeichen der Quittierung haben folgende Bedeutung:
1. Zeichen: Achsenbewegung
0=Maschine steht / 1=Maschine läuft
2. Zeichen: Wartezeit
0=keine Wartezeit / 1=Wartezeit läuft ab
Im Fehlerfall sollte immer ein Reset und eine Referenzfahrt
ausgeführt werden!
4. Zeichen: aktuelle Position
0=Position bekannt / 1=Position nicht bekannt
Ist die aktuelle Position nicht bekannt, so muss in jedem Falle eine
Referenzfahrt durchgeführt werden, da ansonsten definierte
Bewegungsabläufe nicht mehr möglich sind.
Es wird eine Referenzfahrt durchgeführt (5. Zeichen) und die Maschine
läuft (1. Zeichen). Die aktuelle Position ist nicht bekannt (4. Zeichen), da
diese erst durch die Referenzfahrt definiert wird. Welche der
Motorachsen gerade in Bewegung ist, kann nicht festgestellt werden.
7.4 Startgeschwindigkeit einstellen
Festlegen der Startgeschwindigkeit für die Ansteuerung eines Schrittmotors in
Schritte/sec. (Hz). Die Startgeschwindigkeit ist für alle Achsen gleich, kann also
nicht für jede Achse einzeln definiert werden. Aus der Startgeschwindigkeit und
der Rampenlänge ergibt sich die Startrampe und Bremsrampe.
Befehl: #Saaaa<CR>
Quittierung: <READY>
Der Buchstabe a steht als Platzhalter für die Startgeschwindigkeit.
Beispiel: #S150<CR> Startgeschwindigkeit auf 150 Hz einstellen
<READY> Quittierung
Voreinstellung: 200 Schritte/sec.
7.5 Endgeschwindigkeit einstellen
Konfiguration der Endgeschwindigkeit in Schritte/sec. Diese Einstellung gilt für alle
Achsen. Die Endgeschwindigkeit kann mehrfach für verschiedene
Bewegungsabläufe im Speicher des Interfaces hinterlegt werden. Es stehen max.
9 Tabellenfelder für die Endgeschwindigkeit zur Verfügung, auf die über einen
Index [1-9] zugegriffen werden kann. Die Endgeschwindigkeit für die
Referenzfahrt muss im Index 9 abgelegt werden.
Befehl: #Ea,bbbb<CR>
Quittierung: <READY>
Der Buchstabe a steht als Platzhalter für den Index im Tabellenfeld.
Der Buchstabe b dient als Platzhalter für die Endgeschwindigkeit.
Beispiel: #E1,800<CR> Es wird im Tabellenfeld 1 eine End-
<READY> geschwindigkeit von 800 Hz hinterlegt
-Seite 10-
Die Schrittmotorsteuerung SMC1000i
Voreinstellung: Die Tabellenfelder[1..8] sind mit dem Wert 600 Hz gefüllt,
die Referenzgeschwindigkeit im Tabellenfeld[9] mit 200 Hz.
Hinweis: Bei einer Vektorfahrt wird nicht mehr die Geschwindigkeit definiert,
sondern nur noch der Index auf das Tabellenfeld, aus dem die Endgeschwindigkeit entnommen werden soll.
7.6 Rampenlänge einstellen
Festlegen der Rampenlänge in Millisekunden (ms). Die Rampenlänge gilt für alle
Achsen und alle Bewegungsabläufe, eine Unterscheidung wird hier nicht
getroffen.
Aus der Rampenlänge und der Startgeschwindigkeit errechnet sich die
Startrampe und Bremsrampe, wobei Start- und Bremsrampe identisch sind.
Befehl: #Raaaa<CR>
Quittierung: <READY>
Der Buchstabe a steht als Platzhalter für die Rampenlänge.
Beispiel: #R400<CR> Rampenlänge auf 400 ms einstellen
<READY> Rückmeldung
Voreinstellung: 200 ms
-Seite 11-
Die Schrittmotorsteuerung SMC1000i
7.7 Offset nach Referenzfahrt einstellen
Dieser Parameter gibt die Anzahl der Schritte an, die nach einer Referenzfahrt
vom Schalter weggefahren werden soll. Die Referenzfahrt besteht aus drei
Bewegungsabläufen, der Suchfahrt hin zum Referenzschalter, der Freifahrt vom
Schalter und der anschließenden Offsetfahrt. Für die Offsetfahrt wird hier die
Schrittanzahl festgelegt.
Der Offset kann für jede Achse explizit definiert werden.
Befehl: #Oa,bbbb<CR>
Quittierung: <READY>
Der Buchstabe a steht als Platzhalter für die jeweilige Achse und ist durch X, Y, Z
zu ersetzen. Der Buchstabe b steht für den Offset.
Beispiel: #OX,35<CR> die X-Achse bewegt sich nach dem Erreichen
des Referenzschalters und der nachfolgenden
Freifahrt vom Schalter anschließend noch
35 Schritte vom Schalter weg
Voreinstellung: 10 Schritte
7.8 Referenzfahrt ausführen
Führt eine Referenzfahrt für eine oder mehrere Achsen aus. Der Befehl selektiert
die gewünschten Achsen und legt die Referenzreihenfolge fest. Die
Referenzgeschwindigkeit wird dem Index 9 der Endgeschwindigkeiten
entnommen. Zunächst wird die jeweilige Achse zum Referenzschalter hin bewegt,
danach erfolgen Freifahrt und Offsetfahrt.
Befehl: $Habc<CR>
Quittierung: <BUSY> Referenzfahrt wird ausgeführt
<READY> Referenzfahrt ist beendet
Die Buchstaben a, b und c stehen als Platzhalter für die Achsen, die bewegt
werden sollen und müssen durch X, Y oder Z ersetzt werden. Die Reihenfolge der
Achsenbewegung ergibt sich aus der Reihenfolge der Achsendefinition.
Beispiel: $HZXY<CR> Referenzfahrt aller Achsen, in der
<BUSY> <READY> Reihenfolge Z, dann X und zuletzt Y
$HY<CR> Referenzfahrt der Y-Achse,
<BUSY> <READY> X- und Z-Achse werden nicht bewegt
-Seite 12-
Die Schrittmotorsteuerung SMC1000i
7.9 Vektorfahrt ausführen
Führt eine Vektorfahrt in Schritten linear interpoliert aus. Die Schrittausgabe kann
entweder relativ zur aktuellen Position oder absolut erfolgen. Die jeweilige Achse,
sowie die Richtung werden ebenfalls als Parameter übergeben.
Befehl: Lg,abbbb[,abbbbbb] [,abbbb]<CR>
Quittierung: <BUSY> Vektorfahrt wird ausgeführt
<READY> Vektorfahrt ist abgeschlossen
Der Buchstabe g steht für als Platzhalter für die Geschwindigkeit und muss durch
den Index auf das Tabellenfeld ersetzt werden.
Der Buchstabe a steht für die jeweilige Achse und muss durch X, Y, Z
oder x, y, z ersetzt werden.
Große Buchstaben (X, Y, Z) stehen für eine Bewegung absolut zum Nullpunkt,
kleine Buchstaben (x, y, z) für eine relative Bewegung zur aktuellen Position.
Der Buchstabe b steht für die Anzahl der Schritte. Eine positive Zahl bewegt die
Achse in positive Richtung, eine negative Zahl in negative Richtung.
Beispiel: L1,X200,Y500<CR> Die Maschine fährt zur absoluten
Schrittposition X=200, Y=500, mit der
Geschwindigkeit aus dem Tabellenfeld 1.
Beispiel: L1,x500,y1000<CR> Die Maschine fährt von der aktuellen
Position aus 500 Schritte in X-Richtung
und 1000 Schritte in Y-Richtung (linear
interpoliert), mit der Geschwindigkeit
aus dem Tabellenfeld 1.
Beispiel: L2,x-50,y-100<CR> Die Maschine fährt von der aktuellen
Position aus 50 Schritte auf der X-Achse
und 100 Schritte auf der Y-Achse jeweils
in negativer Richtung (linear interpoliert),
mit der Geschwindigkeit aus dem
Tabellenfeld 2.
Alle Beispiele haben folgende Rückmeldungen
<BUSY> Rückmeldung, die anzeigt, dass die
Verfahrbewegung ausgeführt wird
<READY> Rückmeldung, dass das Ziel erreicht wurde
-Seite 13-
Die Schrittmotorsteuerung SMC1000i
7.10 Achsen anhalten (Masterbefehl)
Mit diesem Befehl werden alle Achsen mit Rampenfahrt angehalten. Der aktuelle
Verfahrbefehl wird beendet. Die Positionsinformationen bleiben erhalten.
Dieser Befehl führt einen Reset aus und setzt das Interface in einen definierten
Zustand. Dabei werden alle Positionen auf Null gesetzt.
Laufende Bewegungsabläufe werden sofort, ohne Rampe, gestoppt.
Die Achsen-Position wird bei einer „Statusabfrage“ als unbekannt signalisiert (4.
Zeichen = „1“). Aus diesem Grunde muss vor einer weiteren Bearbeitung
unbedingt eine Referenzfahrt durchgeführt werden.
Die gültigen Konfigurationseinstellungen werden nicht verändert.
Befehl: @R<CR>
Quittierung: <READY>
oder
Befehl: @S<CR>
Quittierung: <READY>
7.12 Wartezeit einfügen
Dieser Befehl fügt eine vorgegebene Zeitspanne in den aktuellen Arbeitsablauf
ein. Die Zeit wird in Millisekunden angegeben. Die weitere Ausführung wird für
eine gewisse Zeit unterbrochen, um z.B. ein Ventil zu schalten. Nach Ablauf der
Zeit werden die nachfolgenden Befehle bearbeitet.
Die max. mögliche Wartezeit beträgt 3.600.000 ms (=1 Std).
Befehl: Waaaa<CR>
Quittierung: <BUSY>
<READY>
Beispiel: W250<CR> Wartezeit 250 ms
<BUSY> Rückmeldung zeigt an: Wartezeit läuft
<READY> Rückmeldung zeigt an: Wartezeit ist abgelaufen
-Seite 14-
Die Schrittmotorsteuerung SMC1000i
7.13 Eingang abfragen (Masterbefehl)
Befehl: @In<CR>
Quittierung: @In b<READY>
Bitte beachten Sie das Leerzeichen in der Rückmeldung
nach @In.
Der Buchstabe n [1-4] steht als Platzhalter für die verschiedenen Eingänge:
Der Buchstabe b[0,1] steht als Platzhalter den Zustand des Eingangs.
Beispiel: @I1<CR> Abfrage des SW-X-Eingangs.
@I1 0<READY> Quittierung
Der Referenzschalter-X ist nicht betätigt.
-Seite 15-
Die Schrittmotorsteuerung SMC1000i
7.14 Motorstrom einstellen
Befehl: c,addd,eee<CR>
Quittierung: <READY>
Der Buchstabe a steht für die jeweilige Achse und muss durch x, y, z ersetzt
werden.
Der Buchstabe d steht für den Motorstrom in Prozent, dieser kann zwischen 0%
und 100% eingestellt werden.
Der Buchstabe e steht für den Haltestrom in Prozent, dieser kann zwischen 0%
und 100% eingestellt werden.
Beispiel: c,x100,20<CR> Einstellen des Motor-/Haltestromes.
<READY> Quittierung
Motorstrom für die X-Achse beträgt nun 100%,
während im Haltezustand nur 20% anliegen.
7.15 Schrittbetrieb einstellen
Befehl: D,abb<CR>
Quittierung: <READY>
Der Buchstabe a steht für die jeweilige Achse und muss durch x, y, z ersetzt
werden.
Der Buchstabe b steht für den gewählten Schrittbetrieb. Mögliche Werte sind 1, 2,
4, 8, 16 und 32.
Beispiel: D,x4<CR> Einstellen des Schrittbetriebs.
<READY> Quittierung
Die X-Achse fährt nun im Viertelschritt-Betrieb.
-Seite 16-
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.