CNC-Fraese
Einleitung
Wir haben eine kleine CNC-Fräse im Labor stehen und nun muss dafür eine neue Steuerung entwickelt werden, weil die alte ganz doll saugt.
Aktueller Stand
- 30.01.2012
- Die Kiste wurde ins Labor geschleppt und erstmal gereinigt
- Reverse engineering der Schrittmotor-Treiber
- Bau der Interface-Karte zum PC
- Anlegen der Wiki-Seite
- Erste Versuche mit EMC2
- Alle drei Achsen lassen sich steuern und Endschalter funktionieren
- Problem mit den Achsen im Endbereich, da sie etwas schwergängig sind.
- Erste Erfolge mit der Billig-Bohrmaschine ausm Baumarkt
- Der Schriftzug EMC wurde in einen Pizzakarton gefräst
- Es wurde versucht das Labor-Logo in eine Holzplatte zu fräsen. Dank eines Fehlers im G-Code hat die Holzplatte ein tiefes Loch mehr und der Fräser eine Spitze weniger. (Es ist zwar noch einer da, aber ich kümmer mich um Ersatz.--MadEngineer 11:49, 31. Jan. 2012 (CET))
- 02.02.2012
- Ich habe einen neuen Spindelantreib im austausch mitgebracht Tixiv - das ist ein ordentlicher Motor mit Isel Umrichter, max. Drehzahl 20.0000/min
- Inbetriebnahme des Umrichters mit der Software auf dem altenWidnows 95 Rechner - funktioniert schonmal (serielle Schnittstelle) allerdings lässt Sich das Teil nicht überreden, sich mit dem vorhandenen Poti statt mit der Software zu steuern.
- Noch ein paar Fräsversuche - die Schrittmotortreiber sind etwas tückisch - die Z Achse steigt aus, wenn der Treiber warm wird, und die Y-Achse hat wesentlich weniger Saft als die X-Achse
- Schrittmotorspannungen oszilloskopiert an X- und Y- Achse: Tatsache: Der Strom der Y-Achse ist deutlich kleiner als der der X-Achse, auch bei voll aufgedrehtem Strom-Poti
Baustellen
- Spindelantrieb fixen oder Ersatz organisieren (Die Bohrmaschiene dreht viel zu lahm und verträgt die hohen Seitenkräfte auf dauer nicht)
- Done: neuer Motor ist da
- Rauskrigen wie man mit EMC 2 den Umrichter per Serieller Schnittstelle steuern kann
- Spulenstrom einstellen
- Schrittmotorkarte fertig reversen
- Schrittmotorkarten reparieren/verbessern, oder neue aussuchen/designen
- Einstellungen der Software optimieren
- Mechanik überprüfen (An den Randbereichen ist der Widerstand höher und die Schrittmotor bleibt dort beim Homing mal stehen(besonder X-Achse))
Mechanik
Es handelt sich hier um eine kleine Portalfräse mit 3 Achsen. Die Achsen werden von Schrittmotoren über Kugelumlaufspindeln angetrieben.
Daten der Schrittmotoren: Zweiphasen-Schrittmotor 1,8° pro Schritt --> 80Schritte/mm Rw= 0,72Ohm Iw= 1,9A
Der Spindelantrieb ist ein Kress FM6990E und ist im Moment wegen eines bösen Lagerschaden nicht einsatzfähig.
Controller-Einschub
Das Herz der Steuerbaugruppe ist ein 8051 µC der seine Befehle vom Steuerrechner über die serielle Schnittstelle erhält und daraus dann die Ansteuersignale für die Schrittmotortreiber generiert. Über das Kommunikationsprotokoll gibt es keine Informationen. Es ist jedoch eine funktionierender Steuerrechner mit passender Software vorhanden, so dass reverse-engineering hier möglich wäre. Die Baugruppe wird über die Backplane mit ungeregelten 12V aus einer der Schrittmotortreiber Karte versorgt.
Umirchter
Der Umrichter für den Spindelmotor ist ein Isel FC1200. Dafür gibt es eine ausführliche Anleitung im Netz.
An den Steckern ist noch wildes Gebastel von Freitag Elektronik angeschlossen. Der umrichter braucht anscheinend eine extern Einspeisung von 24V (siehe Anleitung) die hier von einem 12V?!?-Netzgerät erledigt wird. Das muss man einstecken, damit irgendwas geht. Poti und Richtungsumschalter zur Manuellen Steuerung sind richtig angeschlossen(haben wir nach denr Anleitung gecheckt), allerdings haben die keine Funktion: Der Umrichter lässt sich nur über die serielle Schnittstelle steuern. Laut Anleitung lässt sich der Steuermodus per serieller Schnittstelle auch auf analog umschalten, was uns allerdings bisher nicht gelungen ist.
Auf dem Windows 95 PC befinden sich 2 Programme, um den Umrichter zu steuern: "Spindle Windemo" (link auf desktop), und ein dos-programm namens isd.exe unter C:/isd . Über "isd /?" bekommt man hilfe. Über "isd -smod:ZAHL" Lässt sich der Steuermodus umschalten. Allerdings wird das nicht beim Ausschalten gespeichert, und das poti hat bisher noch nichts sinvolles getan.
Workaround bisher um den Motor ein/aus zu schalten: Drehzal in isd.ini setzen. Motor mit Kommando "isd -on" einschalten und über "isd -off" ausschalten. Wenn man vorher "doskey" aufruft kann man die Kommandos wechelweise ausfüren, indem man 2 mal pfeil rauf und enter drückt. Der Bildschirm kann dann an den EMC-Rechner....
Schrittmotortreiber- Einschub
Die Schrittmotortreiber wird mit 230VAC über die Backplane versorgt. Auf der Karte befindet sich Ringkerntrafo (30,5V 2,5A & 9V 1A) und ein 7805 zur Spannungsversorgung. Die Schrittmotorsteuerung erfolgt mit dem typischem Chipsatz bestehend aus L297 (Datenblatt) und L298 (Datenblatt).
Schaltplan
Reverse engineerter Schaltplan:
Jumper
Position JP1 ist oben unter der grünen LED
Jumper | Gruppe | Funktion |
---|---|---|
1 | Schrittmodus | Halbschritt |
2 | Vollschritt | |
3 | Externe Auswahl über Pin 10 der Backplane | |
4 | ??? | schaltet auf Masse |
5 | schaltet auf Pin 5 der Backplane | |
6 | D-Sub Pin 8 | Über Diode an 5V. AUF KEINEN FALL SETZTEN, da die aktuellen Endschalter dann 5V Versorgung kurzschließen würden. |
7 | also Eingang (an NAND Pin 4B) | |
8 | Polarität Endschalter | Backplane Pin 9 High=nicht betätigt oder Kabel ab, Low=betätigt (nicht zu empfehlen, wegen Kabel ab=Schalter nicht betätigt) |
9 | Backplane Pin 9: High=betätigt oder Kabel ab, Low=nicht betätigt |
Pin-Belegung zur Backplane
Draufsicht, Pin 1 liegt links unten
Pin | Signal | Bemerkung |
---|---|---|
1 | Masse | |
2 | Versorungsspannung Ausgang | Wählbar über Jumper neben 9V Gleichrichter, umshaltbar zwischen 5V und 12V |
3 | ? | |
4 | ? | geht auf Jumperfeld |
5 | ? | geht auf Jumperfeld |
6 | Eingang Schritttakt 1 | |
7 | Richtung | |
8 | Eingang Schritttakt 2 | Zusammen mit Pin 6 über ein NAND an Takteingang des L297 |
9 | Endschalterausgang | Polarität über Jumper wählbar (JP8 oder JP9) |
10 | Voll- oder Halbschritt-Modus | Nur nutzbar wenn Jumper auf JP3 und nicht JP1(Halbschritt)&JP2(Vollschritt)! |
11 | D-SUB Pin 6 | |
12 | Synchronisation | Sync-Pin des L297 |
13 | kein Pin | |
14 | 230V Netz | Zusammen mit Pin darüber |
15 | 230V Netz | Zusammen mit Pin darüber |
16 | Schutzleiter | Verbunden mit Kühlkörper und Gehäuse |
Pin-Belegung Ausgang
Pin | Signal | Bemerkung |
---|---|---|
1 | Motor A | |
2 | Motor B | |
3 | Motor C | |
4 | Motor D | |
5 | Endschalter COM / GND | liegt intern an GND |
6 | nc | |
7 | nc | |
8 | Endschalter NO | Wahlweise Eingang (Jumper 7(Standart))oder über Diode an 5V (Jumper 8). Auf keinen Fall beide setzen, dann schließt Endschalter Versorgung kurz und die Diode brennt durch. |
9 | Endschalter NC | interner Pullup 100k auf +5V |
Modifikationen
PC-Interface Karte
Die Schrittmotortreiber benötigen zur Ansteuerung nur ein Takt- und Richtungssignal. Das wir bei dem Lasercutter-Projekt gute Erfahrungen mit der freien CNC-Software EMC2 gemacht haben, soll diese nun auch hier ihre Arbeit verrichten. Also wurde auf die schnelle eine Einsteckkarte zusammengeschustert, die Signale des Parallelport des Steuerrechners auf die Backplane umsetzt.
Parallel-Interface Belegung
Pin | Signal | Bemerkung |
---|---|---|
1 | Not-Aus | Im Momente nicht benutzt |
2 | X- Direction | |
3 | X-Step | |
4 | Y-Dir | |
5 | Y-Step | |
6 | Z-Dir | |
7 | Z-Step | |
8 | ||
9 | ||
10 | ||
11 | ||
12 | Home & Endschalter X | Active Low |
13 | Home & Endschalter Y | Active Low |
14 | Spindle CW | Im Moment nicht benutzt |
15 | Home & Endschalter Z | Active Low |
16 | Spindle PWM | Im Moment nicht benutzt |
17 | Amplifier Enable | Im Moment nicht benutzt |
18 | GND | |
19 | ||
20 | ||
21 | ||
22 | ||
23 | ||
24 | ||
25 |