Schrittmotorsteuerung

Alles 6-Achs-Schrittmotorsteuerungen:

Zum Betrachten der Schaltpläne benötigen Sie Internet Explorer oder einen externen WMF-Betrachter. Ich favorisiere ACDSee 2.43 (neuere Versionen sind deutlich lahmer).

Mit ATmega8 (SM1 + SM2)

Technische Daten der Motorsteuerung SM2 (SM1 nach Anpassungs-Bastelei) und der zugehörigen Firmware:

Oben: Bedienelemente und LED
Links: Serielle Schnittstelle und Stromversorgung
Rechts: Schrittmotor-Anschlüsse, OWIS-kompatibel

So sieht's aus als eingehaustes Endprodukt

Mit MSP430 (SM3)

Das zugehörige Bedienteil hat die gleichen Eingabe-Elemente wie alle hier vorgestellten Schrittmotor-Steuerkarten, zusätzlich eine Flüssigkristall-Anzeige (LCD) mit 2 Zeilen à 16 Zeichen. Es kommt mit minimalistischen 8 Anschlussleitungen aus. (Eine LCD-Ansteuerung würde bei der ATmega8-basierten Vorgängerversion nie und nimmer in den Flash-Speicher passen! Da müsste man schon ATmega168 bestücken …)

Mit einer Tochterplatine ist via RS485 eine Kopplung untereinander vorgesehen, auf der Leiterplatte „verewigt“ ist es aber erst mit SM4.

Weil der verwendete Mikrocontroller MSP430F2614 im 80-pol. TQFP-Gehäuse genügend Beine für die direkte Ansteuerung der Schrittmotor-Endstufen hat (ohne Port-Expander 74HC595) und außerdem genügend Timer, kann das interne Regime für die Rampengenerierung ganz anders gestaltet werden. Das Interface an der Schnittstelle soll kompatibel bleiben.

Ideen (für später):

Kann zurzeit auch durch ein externes System via serielle Schnittstelle erledigt werden.

Schrittmotor-Anschluss:
MicroMaTch♀SubD9♀Belegung ISELBelegung bei mirPin bei OWIS (STANDA nach Umbau)
11Motorphase 1A1
32Motorphase 1B2
53Motorphase 2A3
74Motorphase 2B4
-5+24V Schalterkein Kontakt-
26+24V Bremse+5V Sensorspeisung8
47Endschalter 215 (motorfern; Öffner bei OWIS, Schließer bei STANDA)
68GND BremseGND für Schalter13
89Endschalter 111 (motornah; Öffner bei OWIS, Schließer bei STANDA)
Der Schrittmotor-Anschluss ist — so gut es geht — kompatibel zu ISEL-Steuerungen. Bei ISEL gehen die Schalter wahrscheinlich zum Pin 5, bei mir zum Pin 8. Ein Widerstand im Stecker (ca. 10 kΩ von Pin 5 nach Pin 8) macht einen (bremsenlosen!) ISEL-Antrieb kompatibel zu SM3. Ärgerlicherweise backen OWIS und STANDA jeweils ihren eigenen Standard, basierend auf SubD15HD-Steckern. Ob ISEL Öffner oder Schließer als Endschalter verwendet bleibt unklar.

Hinweis zum Verständnis: Alle Schrittmotorsteuerungen können mit Adaptern passend zu jedwedem Antrieb gemacht werden. Beim SM3 ist der Adapter am einfachsten konstruiert, weil ein MicroMaTch-Stecker, ein 8-poliges Flachbandkabel und eine SubD-Buchse mit Schneid/Klemm-Anschluss genügt (ohne zu löten), sofern man es mit einem ISEL-kompatiblen Antrieb zu tun hat. Viele Bastler benutzen jene Anschlussbelegung.

Mit ARM7 (SM4) (Fotos siehe Hexapod-Projekt)

Gegenüber SM2 folgende Veränderungen: Alle Steuerungen sind per serieller Schnittstelle fernsteuerbar.

Piezo-Steuerung

6-kanalig für Piezo-Schiebeaktoren (wahrscheinlich von SmarAct) unter Ausnutzung von Gleit- und Haftreibung.

Mit MSP430 (PS1)

Die neue Serie MSP430F55xx ist endlich mit USB verfügbar, so kommt man schließlich von der seriellen Schnittstelle weg und hat eine günstige Option der Selbstversorgung.

Diesmal wird der Weg mit der RS485-Kaskadierung gegangen, um gemeinsam mit den Hexapods nur ein Steuergerät zu benötigen.

Probeweise Inbetriebnahme des MSP430F5525-Bootloaders

Zunächst wurde eine Universalträgerleiterplatte entwickelt und bestückt (siehe Archivdatei unten).

Die erprobte, erforderliche Minimalbeschaltung des 80-poligen Gehäuses sieht so aus:

Alle übrigen Anschlüsse sind offenbar im Schaltkreis genügend niederohmig gebrückt. Als Quarz eignen sich eine Reihe „glatter“ Quarzfrequenzen; diese werden vom Bootloader automatisch detektiert.


Das genügte im Versuchsaufbau (Juli 2010). Keine Kondensatoren!

Der Mikrocontroller meldet sich als HID-Gerät.

Sicherheitshalber wurden die Kondensatoren und Brücken nachher hinzugefügt. Danach geht's ans Testen der Bootloader-Software. Die originale von Texas Instruments erwies sich als nicht allzu nützlich, deshalb habe ich sie kurzerhand noch einmal geschrieben.

Aufbau

Die Steuerung besteht aus sechs Hochvolt-Verstärkern mit OPA454, die an sechs D/A-Wandler-Ausgängen angeschlossen sind. Der Mikrocontroller muss die entsprechenden Rampenformen generieren und per SPI ausgeben.

Die Lageregelung erfolgt mit den Sinus- und Kosinussignalen (Analogspannungen) in den Aktoren, diese werden direkt den 12 A/D-Wandler-Anschlüssen des Mikrocontrollers zugeführt und dort verarbeitet.

Ein mikrocontroller-gesteuerter Hochspannungs-Generator (mit PWM-Ausgang zum Schalttransistor und A/D-Wandler-Eingang zum Messen der Ausgangsspannung) liefert und regelt die benötigte Speisespannung.

Der Rest ist übrige Stromversorgung sowie drei serielle Schnittstellen:

Funktionsprinzip

Der Schaltungskern sind sechs 12-bit-D/A-Wandler mit Ausgangsspannungen von 0 bis 100 V, realisiert mit Hochvolt-Operationsverstärkern OPA454 und nachgeschalteten Komplementärpärchen FZT653 + FZT753 zur Stromverstärkung. Da die Präzision der Ausgangsspannung nicht so wichtig ist, wurden diese Booster nicht in die Gegenkopplung der Operationsverstärker einbezogen, um Schwingneigung zu vermeiden. Damit werden die Piezostellelemente mit Sägezahnkurven angesteuert.

Zur Positionsermittlung werden die Sinus- und Kosinussignale der Inkrementalgeber an insgesamt 12 A/D-Wandler-Eingänge geführt, die sich im Mikrocontroller befinden. Das Mikrocontroller-Programm macht damit eine Lageregelung.

[Diagramm]
Signalverläufe zum Piezo-Aktuator

Der Rest der Schaltung kümmert sich um die Bereitstellung der verschiedenen Betriebsspannungen sowie von Interfaces, insbesondere zu einer „Fernbedienung“ mit Flüssigkristallanzeige und Inkrementalgeber.

Mehrwegebetrieb

Die Steuerungen SM4 und PS1 sind mit RS485-Busschnittstellen auf MicroMaTch-Buchsen ausgestattet, auf der die Rohspannung (7..24 V =) mitgeführt wird. Das ermöglicht Kaskadierung, und es wird nur dieses eine 4-polige Kabel benötigt.

Das Protokoll sieht vor, dass es einen „Master“ gibt, an dem die Lokalbedienung (mit LC-Anzeige) angeschlossen ist. Dieser kann auch mit dem PC verbunden sein. Je nach angewähltem „Slave“ leitet der Master die Lokalbedienungs-Kommandos an den Slave weiter und stellt Informationen vom Slave auf der LC-Anzeige dar. Das gleiche gilt für Kommandos vom PC, wobei hier der „Fokus“ (also mit welchem Slave der PC gerade spricht) getrennt ist.

Eventuell kann später die Lokalbedienung an einem Slave hängen sowie mehrere Bedienteile (mit getrenntem Fokus) erlaubt sein.

Digitale Ein/Ausgabe (mal ohne Mikrocontroller)

Ein Richtungswechsel zu Druckluft und Druckluft-Ventilen machte eine Umstellung auf (ekelhaft umständliche) 24-V-Technik vonnöten. Dazu wurde eine „formfaktor“-kompatible Schaltung mit möglichst vielen Digitalausgängen (also geschaltete 24 V) benötigt. Um das gleiche 12-V-Netzteil wie für die Motorsteuerungen zu verwenden, ist der DC/DC-Wandler gleich mit drauf.

Zur Ansteuerung ein Demo-Programm in LabVIEW.

Icon  Name                    Last modified      Size  Description
[DIR] LabVIEW/ 19-Apr-2011 21:01 - Allgemein nützliche Hilfsprogramme (besonders um Unicode) [IMG] do1.jpg 11-Aug-2010 13:15 52K [   ] Eagle.zip 20-Feb-2012 12:36 1.1M Eagle-Quellen (Einsicht) [   ] Firmware.zip 18-May-2011 15:12 73K Firmware-Quelltexte (Einsicht) [IMG] MSP430V1.jpg 26-Jul-2010 16:14 38K [TXT] Programmierung-OWIS.htm 25-May-2011 11:46 16K Programmierung der Schrittmotorsteuerung „SM1“ [IMG] ps1b.jpg 18-Nov-2010 15:29 165K [IMG] ps1t.jpg 18-Nov-2010 15:28 163K [IMG] sm2all.jpg 08-Apr-2011 17:55 45K [IMG] sm2left.jpg 30-Jun-2011 10:56 44K [IMG] sm2right.jpg 30-Jun-2011 10:57 55K [IMG] sm2top.jpg 30-Jun-2011 10:54 58K [IMG] sm3b.jpg 30-Apr-2010 12:09 102K [IMG] sm3t.jpg 30-Apr-2010 12:08 98K
Zurück: Maschinenbau-Projekte

E-Mail: Henrik Haftmann
Soforthilfe: +493713396018 oder +4917621695671 oder Skype