Eigentlich fing alles ganz harmlos an:
Auf einem Scheunenflohmarkt fand ich einen gebrauchten Bohrständer mit einem X-Y-Tisch darunter.
Die Handkurbeln zum Verstellen des Tisches kann man doch abnehmen, oder?
Und dann kann man doch die Achsen mit Schrittmotoren verstellen, oder?
Dann muss man aber auch noch den oben eingespannten Bohrer / Fräskopf in der Höhe verstellen können, oder?
|
|
|
|
|
In nullkommanix ist aus dem einfachen Bohrständer eine Idee für einen hochkomplexen X-Y-Z-Manipulator geworden.
Auf der Z-Achse soll man eine Kleinbohrmaschine, einen Schneidlaser oder einen 3D-Druckkopf befestigen können.
Damit muss man zusätzlich zu den Motoren auch noch die Drehzahl des Fräskopfs / die Intensität des Lasers /
die Temperatur des 3D-Druckkopfs regulieren können.
Meine vier Freiheitsgrade für die Steuerung sind also:
- 0 = X: Tisch + Werkstück verschiebt sich von links nach rechts
- 1 = Y: Tisch + Werkstück verschiebt sich von hinten nach vorne
- 2 = Z: Werkzeug senkt sich von oben nach unten zum Werkstück
- 3 = Q: Steuerung des Werkzeugs
|
|
Wir brauchen also einen Antrieb für vier verschiedene Motoren oder sonstige Verbraucher.
Er muss flexibel auf verschiedene Typen von Motoren oder Verbrauchern anpassbar sein.
Das Ganze muss von einem leistungsfähigen Controller gesteuert werden, der auch vom PC die Steuerdateien einlesen und weiterverarbeiten kann.
Ja ja, ich weiß — dafür gibt's schon haufenweise fertige Lösungen zu kaufen.
Kaufen ist mir aber zu langweilig.
Controller:
|
|
Zur Steuerung nehme ich einen ARM-Controller, der schon auf einem praktischen Prototypenboard vormontiert ist:
Ein mbed ST Nucleo64-Board mit
STM32F401RE-Controller
(ARM Cortex-M4, 84 MHz, 512 kB Flash, 96 kB RAM).
|
|
|
|
|
|
Dieses Controllerboard kann auch direkt über USB mit einem PC kommunizieren – das ist
einerseits praktisch zum Umprogrammieren, andererseits notwendig für die Datenübertragung
im Betrieb.
|
|
|
|
|
—> mehr Details gibt's auf der Controller-Seite.
|
Displays:
Für eine präzise Positionssteuerung über drei Achsen ist es notwendig,
die genaue Lage jeder Achse anzuzeigen – sowohl die Anzahl der Schritte
als auch die Position relativ zum Nullpunkt in Millimetern.
|
|
|
|
|
Das verlangt nach einem Großaufgebot an Displays.
Ich nehme eine Kombination aus VFD-Anzeigen für Text und Messwerte und LED-Anzeigen
für die Achsbezeichnungen und Richtungssymbole.
Rechts seht ihr einen Testaufbau, der die Lage der einzelnen Teildisplays zueinander ausprobiert.
|
|
|
|
|
—> mehr Details gibt's auf der Display-Seite.
|
Motoren und Motortreiber:
Jeder Freiheitsgrad des XYZ-Tisches bekommt eine eigene Motorsteuerplatine.
Damit alle Arten von Motoren angesteuert werden können, habe ich vier verschiedene
Typen von Motorsteuerplatinen entworfen.
|
|
|
|
|
Die Ansteuerung ist für alle Karten weitgehend gleich, so dass sie in jedem Steckplatz funktionieren sollen.
Falls sie besondere Behandlung erfordern, kann man in einem I2C-EEPROM spezielle Datenstrukturen hinterlegen.
Diese werden dann vom Controller ausgelesen.
|
|
|
|
|
—> mehr Details gibt's auf der Motoren-Seite.
|
Software:
Der Controller hat kein richtiges Betriebssystem. Ich sehe das als Vorteil.
Dadurch ist es leichter, schnelle zeitkritische Aufgaben zu erledigen.
Die Programmierung erfolgt "in der Cloud" – soll heißen:
mit einem Online-Compiler auf der Plattform mbed.com.
Man lädt seinen Quelltext hoch oder bearbeitet ihn im Webbrowser, und dann wird der Code online übersetzt.
Als Ergebnis kann die fertig übersetzte Binärdatei heruntergeladen werden.
Man speichert sie direkt auf dem Controllerboard, das sich am PC wie ein USB-Laufwerk anmeldet.
—> mehr Details gibt's auf der Software-Seite.
Mechanik:
Den Aufwand beim Umbau des XYZ-Tisches soll man nicht unterschätzen.
Ich werde hier nur grobe Anhaltspunkte geben, weil wahrscheinlich keiner meiner Leser genau denselben
Bohrständer im Keller liegen hat und meine Detaillösungen deshalb nur sehr eingeschränkt
auf andere Mechaniken übertragbar sind.
... und sonst noch:
Bei so einem Mammutprojekt kann man gar nicht alle Details in einer schriftlichen Beschreibung erfassen.
Wenn ihr noch Fragen habt, dann kontaktiert mich bitte über die unten stehende eMail-Adresse.
Tschüß, euer Martin S.
|
E-mail:
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!