CNC-Fraese/Schrittmotortreiber: Unterschied zwischen den Versionen
(Abschnitt ausgelagert) |
(Weitere Auslagerung) |
||
Zeile 1: | Zeile 1: | ||
Die Schrittmotor-Ansteuerung der Fräse besteht aus einem kleinen 19-Zoll Gehäuse mit einem Steuerungseinschub und drei Schrittmotortreiber-Einschüben. | |||
=Steuerungseinschub= | |||
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. | |||
=PC-Interface Karte= | |||
'''Diese Karte ersetzt den Steuerungseinschub der Schrittmotorsteuerung.''' | |||
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== | |||
{| class="wikitable" | |||
!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 | |||
| | |||
| | |||
|- | |||
|15 | |||
|Home & Endschalter Z | |||
|Active Low | |||
|- | |||
|16 | |||
| | |||
| | |||
|- | |||
|17 | |||
|Amplifier Enable | |||
| Geht auf Pin3 der Schrittmotorkarten(L297 Enable) | |||
|- | |||
|18 | |||
| rowspan=8|GND | |||
| rowspan=8| | |||
|- | |||
|19 | |||
|- | |||
|20 | |||
|- | |||
|21 | |||
|- | |||
|22 | |||
|- | |||
|23 | |||
|- | |||
|24 | |||
|- | |||
|25 | |||
|} | |||
=Schrittmotortreiber- Einschub= | =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 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 | Die Schrittmotorsteuerung erfolgt mit dem typischem Chipsatz bestehend aus | ||
L297 [http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00000063.pdf (Datenblatt)] und L298 [http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00000240.pdf (Datenblatt)]. | L297 [http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00000063.pdf (Datenblatt)] und L298 [http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00000240.pdf (Datenblatt)]. | ||
==Schaltplan== | ==Schaltplan== | ||
Zeile 187: | Zeile 290: | ||
|Endschalter NC | |Endschalter NC | ||
|interner Pullup 100k auf +5V | |interner Pullup 100k auf +5V | ||
|} | |} |
Version vom 4. März 2012, 23:50 Uhr
Die Schrittmotor-Ansteuerung der Fräse besteht aus einem kleinen 19-Zoll Gehäuse mit einem Steuerungseinschub und drei Schrittmotortreiber-Einschüben.
Steuerungseinschub
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.
PC-Interface Karte
Diese Karte ersetzt den Steuerungseinschub der Schrittmotorsteuerung.
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 | ||
15 | Home & Endschalter Z | Active Low |
16 | ||
17 | Amplifier Enable | Geht auf Pin3 der Schrittmotorkarten(L297 Enable) |
18 | GND | |
19 | ||
20 | ||
21 | ||
22 | ||
23 | ||
24 | ||
25 |
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:
Ich Tixiv habe mal den Schaltplan reversed. Die Überstromsicherung (Q1, Q2, Q3 im Schatplan) sieht mir sehr Zweifelhaft aus. Hier mal eine kurze Erklärung, wie ich die Schaltung verstehe: Normalerweise Leitet Q1 durch Den Basistrom durch R3. Über R2 Fällt eine Spannung proportional zum Motorstrom durch alle Wicklungen ab (man beachte, dass die Rücklaufdioden am Motorausgang vor die Strombegrenzung nach V+ gehen!). Wird dieser Strom zu hoch, so leitet Q2, welcher den Strom durch Q1 begrenzt. Wenn dadurch über Q1 mer als 18V abfallen, so leitet auch Q3, nachdem sich C2 auf 0.7V aufladen konnte. Man beachte, dass dieser falschherum gepolt ist! Das Schaltet dann Q1 für immer aus, da diese Stufe mitkoppelnd arbeitet. C2 dient dazu, dass im Einschaltaugenblick diese Schaltung nochnicht anspricht, und sich am Ausgang erstmal eine Spannung aufbauen kann.
Das Problem mit dieser Schaltung sehe ich darin, das unter gewissen Betreibsumständen die Spannung am Versorgungsanschluss des L298 wesentlich niedriger sein kann als V+. Wenn nun noch welche von den Motorwicklungen gechopped werden, dann werden die Spannungsspitzen nach V+ gekappt. Der IC dürfte aber nur max. 5V über V+ vertragen, da sonst die Basis Emitter Dioden der oberen Transistoren rückwärts gespannt werden. Dadurch dürfte der Sterben, falls die Schaltung jemals arbeitet.
Ich habe an dem Testexemplar hier die Schaltung ein paar mal durch brücken von B-E am BD442 die Schaltung ausgelöst, und beim zweiten mal war der BD442 hin!! Irgendwas ist seehr merkwürdig an der Schaltung...
Die Strombegrenzung scheint außerdem auf 2A dimensioniert zu sein, was ja eigentlich keinen Sinn macht, wenn die Ausgangsmotorströme je 2A betragen dürfen. Sie wird also wahrscheinlich bei hoch eingestelltem Strom schon im Normalbetrieb immer mal ansprechen.
Am L298 slebst ist auch kein ordentlicher Abblock-Elko in der Nähe angebracht. Es sind hässliche Spannungsspitzen zwischen VCC und GND messbar. Der kleine 22µF Pisser, der da ist, hat allerhöchstens homeopathische Wirkung.
Verbesserung
Ich habe hier an einer Platine mal den BD682 rausgeschmissen, und einfach überbrückt. Außerdem habe ich die Rücklaufdioden direkt an den VCC des L298 angeschlossen, und diesem noch einen 220µF/63V Elko direkt am IC spendiert. Ergebnis: Die Karte läuft gefühlt um einiges kälter, und die Spannungen sehen viel sauberer aus.
Ich würde vorschlagen, diese Modifikation bei allen Karten durchzuführen, und in die Frtontblende einfach eine Sicherung für die 30.5V Trafospannung oder die Netzspannung einzubauen, damit im Kurzschlussfall nichts abbrennt.
Wir haben jetzt erstmal auf allen Karten die Schutzschaltungen überbrückt, wodurch der Merkwürdige Fehler, den die Z-Achse manchmal hatte (fiepte und verlor Schritte), schonmal gefixed wurde. Die Karten liefen alle einwandfrei ca. 12 Stunde am Stück durch.
Wir haben nun Einschnitte für die Sicherungshalter in die Frontplatte gefräst (mit der Fräse selbst) und die Sicherung zwischen die Gleichspannung vom Trafo und die versorgung des L298 geschltet. Die Rücklaufdioden sind weiterhin mit dem IC/220µF Elko direkt verbunden. Die rote LED haben wir so verschltet, dass sie leuchtet, wenn die Sicherung durchgebrannt ist.
Nur auf einer der Schrittmotorkarten war der C7 am Schritteingang des L297 bestückt. Diese Karte funktionierte nicht mit den kurzen Schrittpulsen von emc2. Nachdem C7 entfernt wurde lief sie problemlos.
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 | Strom Absenkung | Strom Absenkung aus (Jumper kann auch weggelassen werden) |
5 | Strom Absenkung über Pullup / Pin5 der Backplane | |
6 | D-Sub Pin 8(Endschalter NO) | Ü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, NO=GND setzt flipflop) | |
8 | Pin 9 Backplane(Endschalter out) | an Flipflop: NC Kontakt löscht flipflop, NO Kontakt setzt flipflop |
9 | direkt an NC Kontakt von schalter. 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 | L297 Enable | über Lötbrücke (normalerweise offen, haben wir gebrückt) |
4 | DSUB Pin 7 | geht auch auf Erweiterungsstiftleiste |
5 | Strom Absenkung | High senkt den Motorstrom auf einen geringen Wert wenn Jumper 5 gesetzt. Hat Pullup. |
6 | Eingang Schritttakt 1 | |
7 | Richtung | |
8 | Eingang Schritttakt 2 | Zusammen mit Pin 6 über ein NAND an Takteingang des L297 |
9 | Endschalterausgang | Modus ü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 | geht auch auf Erweiterungsstiftleiste |
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 | Backplane/Erweiterungsstiftleiste | not connected am Motor |
7 | Backplane/Erweiterungsstiftleiste | not connected am Motor |
8 | Endschalter NO | interner Pullup 100k auf +5V, Wahlweise Flipflop Eingang (Jumper 7(Standart))oder über Diode an 5V (Jumper 8). Auf keinen Fall Jumper 8 setzen, dann schließt Endschalter Versorgung kurz. |
9 | Endschalter NC | interner Pullup 100k auf +5V |