CNC-Fraese: Unterschied zwischen den Versionen

Aus LaborWiki
Wechseln zu: Navigation, Suche
(ProjektInfoBox eingebaut.)
(Added link to new CNC page.)
 
(41 dazwischenliegende Versionen von 12 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
== [[CNC-Fraese-2|-> CNC V2 <-]] ==
{{ProjektInfoBox
{{ProjektInfoBox
|name       = CNC-Fräse
|name=CNC-Fräse
|status     = beta
|status=obsolete
|image       = Labor Fraese Keller.jpg
|image=Labor Fraese Keller.jpg
|description = 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.
|description=CNC-Fräse für Alu, Holz, Kunststoff, CFK und Platinen
|author     = [[Benutzer:Andre|André]], Netzpfuscher, Tesla, Tixiv
|author=[[Benutzer:Andre|André]], Netzpfuscher, Tesla, Tixiv, MadEngineer
|username    =
|version=1.0
|version     = 1.0
|update=04.03.2012
|update     = 23.02.2012
|platform=Hardware / Linux-CNC
|platform   = Hardware / Linux-CNC
|license=N/A
|license     = N/A
|tags=Gerätschaften,
|download    =  
}}
}}
=Einleitung=
Wir haben eine kleine CNC-Fräse im Labor stehen und dafür sollte eine neue Steuerung entwickelt werden, weil die alte ganz doll saugt. Das ganze ist uns bisher gut gelungen, so dass wir schon einige Werkstücke gefräst haben.


[[Datei:IMG 1754.jpg|mini|alt=Alternativer Text|Tatsächlich nutzbare Arbeitsfläche.]]


=Einleitung=
Mit dieser Maschine können wir viele verschiedene Werkstücke bearbeiten, wie zum Beispiel:
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.
*Hartschaumplatten: Styrodur(tm)
 
*Holz: MDF und Sperrholz)
=Aktueller Stand=
*Aluminium: bisher sind nur Bleche verarbeitet worden
*30.01.2012
*Kupfer
**Die Kiste wurde ins Labor geschleppt und erstmal gereinigt
*Kunststoff: Hart-PVC, Polystyrol("Bastlerglas"), PMMA ("Plexyglas")
**Reverse engineering der Schrittmotor-Treiber
*Platinenmaterial
**Bau der Interface-Karte zum PC
*Kohlefaserplatten
**Anlegen der Wiki-Seite
* 5mm Messing
**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.--[[Benutzer:MadEngineer|MadEngineer]] 11:49, 31. Jan. 2012 (CET))


*02.02.2012
Die harten Jungs, wie Stahl oder gar Edelstahl haben wir bisher noch nicht ausprobiert. Da hier aber mehr Kraft nötig ist, stellt sich die Frage ob die Maschine das schafft.
**Ich habe einen neuen Spindelantreib im austausch mitgebracht [[Benutzer:Tixiv|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


*06.02.2012
=Wichtig=
**Schrittmotor-Steuerkarten wurden verbessert und das Stromproblem wurde gelöst (falscher Jumper)
Die Fräser sind teuer und bei falscher Bedienung brechen sie sehr schnell ab. Also bitte nicht an der Maschine rumspielen, wenn ihr keine Ahnung habt.  
**Die neue Spindel ist nun komplett transparent angesteuert (Phython Script im HAL)
Wenn du etwas fräsen willst, dann wende dich bitte an
**Erstes Teil in 3D gefräst
* Netzpfuscher
* tesla
* madengineer
* AndréM
* tixiv
* GrafZahl
* blafoo
*[[Benutzer:Bilex|Bilex]]


=Baustellen=
=Baustellen=
*Spindelantrieb fixen oder Ersatz organisieren (Die Bohrmaschiene dreht viel zu lahm und verträgt die hohen Seitenkräfte auf dauer nicht)
*NOT-AUS verkabeln und einbinden
**Done: neuer Motor ist da
**Der Taster für den Notaus war mechanisch nun schon länger vorhanden...
*Rauskrigen wie man mit EMC 2 den Umrichter per Serieller Schnittstelle steuern kann
**Es wurde bereits eine Software-Lösung vorbereitet: Das interne Not-aus-Signal wird auf Pin1 des Parallelports ausgegeben. Gleichzeitg wird der Zustand des Pins 11 abgefragt. Hardwaremäßig sind Pin 1 und Pin 11 verbunden und mit einem Pulldown nach Masse versehen. Der Öffner wird jetzt zwischen Pin 1 und Pin 11 geschaltet und der Pulldown hängt an Pin 11. Die Erweiterung des HAL-Scripts ist schon eingebaut und funktioniert. Die Endgültige Verkabelung scheiterte an einem fehlenden D-Sub9 Stecker.
**Done
**In einer zweiten Version soll die gesamte Not-Aus Logik in Hardware erfolgen. Durch Betätigung des Notaus sollen Motorendstufen und Spindel vom Stromnetz getrennt werden.
*Spulenstrom einstellen
*Weiterentwicklung der Steuerung des Umrichters
**Done: Schrittmotorkarte war auf Stromabsenkung
**Beschränkung der max. Drehzahl auf 20.000U/min, da der Umrichter bei größeren Werten abschaltet. Besonders kritisch ist das, wenn bei einer eingestellten Drehzahl von 20.000U/min die Spindelübersteuerung auf über 100% gestellt wird.
*Schrittmotorkarte fertig reversen
**Drehzahlrückmeldung einbauen (am Umrichter auslesbar)
*Schrittmotorkarten reparieren/verbessern, oder neue aussuchen/designen
**Implementierung des spindle-at-speed-Signals, um Ende des Hochlaufs anzuzeigen. Bisher ist hier nur ein Timeout eingebaut.
**Done: repariert
*Werkzeuglängen-Taster zur automatischen Einmessung nach einem Werkzeugwechsel.
*Einstellungen der Software optimieren
**Alternative: Höheneinstellgerät (ca 80€) Dies ist ein Block mit definierter Höhe von 50mm mit einer Druckplatte auf die der Fräser gefahren wird und den Nullpunkt kann man dann auf einer Messuhr ablesen. [http://www.youtube.com/watch?v=PEwF71bbKA8&feature=player_embedded Siehe hier]
*Mechanik überprüfen (An den Randbereichen ist der Widerstand höher und die Schrittmotor bleibt dort beim Homing mal stehen(besonder X-Achse))
*Bau eines Vakuumtisch zum einfachen Aufspannen. Besonders Platinen und zum Gravieren.
*Minimalmengenkühlung
*G-Code-Erzeugung dokumentieren
*Nutenplatte könnte umgedreht werden, um wieder eine schönere Oberfläche zu haben, die nicht ganz so viele Fräsmale enthält.


=Mechanik=
=Aktueller Stand=
Es handelt sich hier um eine kleine Portalfräse mit 3 Achsen. Die Achsen werden von Schrittmotoren über Kugelumlaufspindeln angetrieben.


Daten der Schrittmotoren:
*09.09.2016
Zweiphasen-Schrittmotor
** Die neuen Endstufen (SMCI33) wurden von Bilex , Tixiv und Max in ein neues Gehäuse aus Plexiglas eingebaut. Die Fräse läuft jetzt wieder und dies tut sie leiser und ruhiger als vorher. Takt/Richtung kommt dabei wie gehabt aus dem Parallelport, die Endabschalter sind jeweils über einen Optokopler mit dem Parallelport verbunden. Prinzipiell hat sich also nichts geändert.
1,8° pro Schritt --> 80Schritte/mm
**ToDo -> Das Gehäuse verfügt über keinen Lüfter, es muss getestet werden wie heiß die Endstufen bei längeren Fräsarbeiten tatsächlich werden. Eventuell muss ein Lüfter eingebaut werden.  Die Endstufen laufen wie die alten Endstufen auch im Halbschritt-Modus, könnten aber eigentlich auch im Viertelschritt-Modus betrieben werden. Dafür muss irgendwas im Linux-CNC Configfile?! geändert werden. Es wurde vergessen ein Eingang für den Notaus anzubringen. Außerdem könnten noch LEDs in die Endstufen eingebaut werden die Fehlfunktionen der Endstufen signalisieren.
Rw= 0,72Ohm
Iw= 1,9A


Der Spindelantrieb ist ein Kress FM6990E und ist im Moment wegen eines bösen Lagerschaden nicht einsatzfähig.
<gallery>
Datei: Steuerung1.JPG|Die neue Steuerung!
  Datei: Steuerung2.JPG
</gallery>


*25.07.2016
**Die Fräse wird aktuell 'renoviert'. Das heisst sie wird gereinigt und es werden neue Schrittmotorendstufen verbaut. Aktuell wird am 26.07.2016 die Fräse wieder zusammengebaut und die Endstufen werden von Robin programmiert. Es wird ebenfalls die Elektronik komplett überholt und es wird ein Notaus montiert, damit die Fräse sicherer wird. Vorraussichtlich ist die Fräse in absehbarer Zeit wieder nutzbar.


=Controller-Einschub=
*20.05.2015
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.
** Der Schrittmotortreiber der Y-Achse ist in immer kürzeren Abständen ausgestiegen und musste ersetzt werden. Die Fehlerquelle ist unklar. Bilex hat eine neue Endstufe (Nanotec SMCP33) mitgebracht und dafür das Takt-Richtungs Signal aus der Motorsteuerung rausgeführt. Die Verdrahtung ist fliegend (Draht) und die Steuerung liegt in einer Butterbrotdose. Das funktioniert zwar aber ist nichts für die Dauer.
Die Baugruppe wird über die Backplane mit ungeregelten 12V aus einer der Schrittmotortreiber Karte versorgt.
**Die Endstufen werden sehr heiß wenn länger gefräst wird. Irgendwann verlieren die Motoren Schritte, vermutlich weil mit steigender Temperatur der innenwiderstand der Motorteiber steigt und damit der Motorstrom abnimmt. Es wurden zwei große Lüfter auf das Gehäuse gelegt. Quick & Dirty aber funktioniert.
**Neue Endstufen an allen Motoren wäre eine feine Sache. Die Nanotec Steuerung verringert spürbar Motorresonanzen, die Motoren laufen leiser. Evtl. kann mal wer bei Nanotec anrufen und freundlich um eine Spende bitten? [in Arbeit durch Robin]
**'''BUG''': Manchmal geht die Frässpindel einfach aus! K.a wann und warum! Fehlerquelle finden ist daher sehr schwierig. Die Spindel lässt sich jedoch über Linux-CNC wieder normal starten.


=Umrichter=
Der Umrichter für den Spindelmotor ist ein Isel FC1200'''-is'''. Für ein ähnliches Modell gibt es eine ausführliche [http://www.ressource.isel.fr/root/Electronique/Convertisseur%20de%20frequence/FC%201200-C%20(CS)%20-%20FC%202200-C%20(CS)/FC%201200C-CS.pdf Anleitung] im Netz.
Es gibt jedoch ein paar Unterschiede:
*RS232-Schnitstelle statt 20mA Current Loop
*Anderes Datenformat: 9600:8N1 statt 9600:7E1
*Keine Jumper und DIP-Switches im Inneren
*Adresse ist 0x30 (48 dezimal) statt 32-63


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.
*19.10.2012
Aufgrund der aktuellen Erfolge mit der Integration in die Steuerung, wird die externe Beschaltung bald zurückgebaut.
** Die Z-Achse hatte zu viel Spiel und wurde in einer Nachtschicht ausgetauscht, justiert und beschmiert.


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.
*30.09.2012
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....
** Nach zig Teilen aus Aluminium musste nun was aus Messing (Legierung unbekannt) zwecks Stoffschluss (Löten) gefräst werden. Messing ist härter als Alu. Ist der Vorschub zu groß verlieren die Motoren Schritte und das Frästeil sieht merkwürdig schief aus. Der Vorschub sollte nicht größer als 300mm/min gewählt werden. Mit folgenden Optionen glänzen sogar die Schnittkanten, das ganze dauert jedoch etwas länger:
***Drehzahl: 6500U/min
***Vorschub: 120mm/min
***Zustellung: 0,4mm
***Fräser: Einschneidig 3mm.


Durch Studium der falschen Dokumentation und Mitsniffen der Kommunikation wurden die ersten Erkenntnisse gewonnen:
Ist die Drehzahl zu hoch wird der Fräser schnell Stumpf und bricht.
Das Telegramm baut sich so auf:<br>
0x04 0x30 0x02 [Befehl in Acii] 0x03 [XOR des Befehls incl. dem EOT 0x03]


Zum Initialisieren:<br>
003=0<br>
010=0 //Drehzahl 0


Starten:<br>
*04.03.2012: Die letzten Schritte wurden nicht mehr eingetragen, hier eine kleine Zusammenfassung:
007=1
**Das Ganze funktioniert schon sehr zuverlässig und es wurden schon viele Teile gefräst:
***Lemming-Häuschen und Gewürzregale aus Holz
***Frontplatten für die Schrittmotor-Einschübe
***Stromschienen aus 3mm Alu
***Nadelbett-Adapter aus PVC
**Viele neue Fräser, siehe [[CNC-Fraese/Werkzeuge|Werkzeuge]]
**Bisher kein weitere Fräser abgebrochen. Toitoitoi...


Drehzahl einstellen:<br>
*02.02.2012
010=n [u/min]
**Ich habe einen neuen Spindelantreib im austausch mitgebracht [[Benutzer:Tixiv|Tixiv]] - das ist ein ordentlicher Motor mit Isel Umrichter, max. Drehzahl 20.0000/min
**Inbetriebnahme des Umrichters mit der Software auf dem alten Windows 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


Stoppen:<br>
*06.02.2012
008=0
**Schrittmotor-Steuerkarten wurden verbessert und das Stromproblem wurde gelöst (falscher Jumper)
**Die neue Spindel ist nun komplett transparent angesteuert (Phython Script im HAL)
**Erstes Teil in 3D gefräst


Diese Erkenntnisse wurden in ein erstes Visual Basic.nez Programm gegossen mit dem man Parameter auslesen und setzen konnte, den Motor starten und stoppen, wie die Drehtzahl vorgeben kann.
*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.--[[Benutzer:MadEngineer|MadEngineer]] 11:49, 31. Jan. 2012 (CET))


Im Laufe des Bastelabends entstand dann ein Python-Script, welches in dem HAL der Steuerung läuft. Dort stellt es eine Komponente zur Steuerung der Spindel bereit. Die Daten des motion-controllers werden an diese Komponente weitergereicht, das sind im Moment Betriebszustand (an/aus) und Soll-Drehzahl. Die Komponente meldet zurück, wenn diese Drehzahl erreicht ist (Im Moment nur ein Timeout von 4s).
=Mechanik=
So wird die Spindel völlig transparent angesteuert und kann entweder über die Bedienoberfläche von EMC2 oder direkt aus dem G-Code gesteuert werden.
Es handelt sich hier um eine kleine Portalfräse mit 3 Achsen, welche über Kugelumlaufspindeln per Schrittmotor angetrieben werden.


=Schrittmotortreiber- Einschub=
Verfahrwege:
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.
:X-Achse: 550mm
Die Schrittmotorsteuerung erfolgt mit dem typischem Chipsatz bestehend aus
:Y-Achse: 450mm
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)].
:Z-Achse: [To Be Measured]
::Im Moment 60mm Abstand zwischen Tisch und Unterkante der Linearführung, diese kann aber noch nach oben verschoben werden, um einen größeren Verfahrweg zu bekommen


Daten der Schrittmotoren:
:Zweiphasen-Schrittmotor
:1,8° pro Schritt --> 80 Schritte/mm entspricht einer Auflösung von 12,5µm
:Rw= 0,72Ohm
:Iw= 1,9A


==Schaltplan==
=Konfiguration=
 
Reverse engineerter Schaltplan:
 
[[Bild:Isel_az0621.png|thumb|400px]]
 
Ich [[Benutzer:Tixiv|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==
Hier die Grundkonfiguration für unsere Fräse falls der emc2-Rechner nochmal neu installiert werden muss:
[[File:Fraese config.tar.gz]]


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
Nach der Installation von emc2 auf dem Rechner kann dieses Archiv in das Homeverzeichnis des Benutzers "emc" extrahiert werden mit dem Befehl "tar xfzv Fraese_config.tar.gz".
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.
Achtung: in dieser Konfiguration Benutzt der Parallelport die Addresse 0x3BC. Das wird in der Datei "Fraese.hal" eingestellt. Dieser Wert muss gegebenenfalls wieder auf die Standardaddresse 0x378 eingestellt werden (falls die Schrittmotoren nix machen). Man kann den passenden Wert sehr leicht mit "dmesg | grep par" finden.


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.
Die serielle Schnittstelle für den Fräsmotor ist "/dev/ttyS0". Diese wird in der Datei "spindel.py" im Verzwichnis "bin" eingestellt.


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.
Die Datei ".xsessionrc" erweitert die PATH-Umgebungsvariable, damit emc "spindel.py" finden kann. Damit das klappt muss man sich nach Einspielen der Konfiguration einmal aus- und wieder ein-loggen.


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.
=Gallerie=
[!-- Dateien bitte mit dem Prefix cnc_gal_ versehen --]
Hier folgen ein paar Eindrücke von bisher gefrästen Werkstücken


==Jumper==
<gallery>
Position JP1 ist oben unter der grünen LED
File:Cnc drill.jpg|CNC-Bohren
{| class="wikitable"
File:Baugruppe.jpg| Baugruppe aus GFK und M1.6 Gewindeschrauben
!Jumper
Datei:Cnc gal 3d Modell styrodur.jpg|3D-Modell aus Styrodur
!Gruppe
Datei:Cnc gal stromschienen tesla.jpg|Stromschienen für Teslaspule aus 3mm Alublech
!Funktion
Datei:Cnc gal kuehlschrankgriff.jpg|Neuer Kühlschrankgriff aus 4mm Alu
|-
Datei:Cnc gal motorhalter.jpg|Motorhalter aus 10mm Alu (nur geschruppt)
|1
Datei:Cnc gal Labortage 2013 Plexi.jpg|Logo der Labortage 2013 in Acrylplatte gefräst
|rowspan=3|Schrittmodus
Datei:schuko.jpg|MDF Schuko-Stecker..
|Halbschritt
Datei:schuko2.jpg|..passt!
|-
Datei:banane.jpg|How a Banana is made.
|2
Datei:banane2.jpg| Kiwi & Banana!
|Vollschritt
Datei:Lagersitz.jpg| Gearbox with bearings...
|-
Datei:Lagersitz2.jpg| and gears.
|3
Datei:Smci33.jpg| Neue Motorendstufe für die Y-Achse
|Externe Auswahl über Pin 10 der Backplane
</gallery>
|-
|4
|rowspan=2|Strom Absenkung
|Strom Absenkung aus (Jumper kann auch weggelassen werden)
|-
|5
|Strom Absenkung über Pullup / Pin5 der Backplane
|-
|6
|rowspan=2|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
|rowspan=2|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
 
{| class="wikitable"
!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
|colspan=2| 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==
{| class="wikitable"
!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
|}
 
=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'''
{| 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
|}


=Medien=
=Medien=
Zeile 401: Zeile 178:
[http://vimeo.com/36835821 Video: Zweiter Teil]
[http://vimeo.com/36835821 Video: Zweiter Teil]
{{Navigationsleiste_CNC}}
{{Navigationsleiste_CNC}}
[[Kategorie:Mechanik]]

Aktuelle Version vom 15. November 2023, 08:43 Uhr

-> CNC V2 <-[Bearbeiten | Quelltext bearbeiten]

         
CNC-Fräse

Release status: obsolete [box doku]

Labor Fraese Keller.jpg
Description CNC-Fräse für Alu, Holz, Kunststoff, CFK und Platinen
Author(s)  André, Netzpfuscher, Tesla, Tixiv, MadEngineer
Last Version  1.0
Platform  Hardware / Linux-CNC
License  N/A



Einleitung[Bearbeiten | Quelltext bearbeiten]

Wir haben eine kleine CNC-Fräse im Labor stehen und dafür sollte eine neue Steuerung entwickelt werden, weil die alte ganz doll saugt. Das ganze ist uns bisher gut gelungen, so dass wir schon einige Werkstücke gefräst haben.

Alternativer Text
Tatsächlich nutzbare Arbeitsfläche.

Mit dieser Maschine können wir viele verschiedene Werkstücke bearbeiten, wie zum Beispiel:

  • Hartschaumplatten: Styrodur(tm)
  • Holz: MDF und Sperrholz)
  • Aluminium: bisher sind nur Bleche verarbeitet worden
  • Kupfer
  • Kunststoff: Hart-PVC, Polystyrol("Bastlerglas"), PMMA ("Plexyglas")
  • Platinenmaterial
  • Kohlefaserplatten
  • 5mm Messing

Die harten Jungs, wie Stahl oder gar Edelstahl haben wir bisher noch nicht ausprobiert. Da hier aber mehr Kraft nötig ist, stellt sich die Frage ob die Maschine das schafft.

Wichtig[Bearbeiten | Quelltext bearbeiten]

Die Fräser sind teuer und bei falscher Bedienung brechen sie sehr schnell ab. Also bitte nicht an der Maschine rumspielen, wenn ihr keine Ahnung habt. Wenn du etwas fräsen willst, dann wende dich bitte an

  • Netzpfuscher
  • tesla
  • madengineer
  • AndréM
  • tixiv
  • GrafZahl
  • blafoo
  • Bilex

Baustellen[Bearbeiten | Quelltext bearbeiten]

  • NOT-AUS verkabeln und einbinden
    • Der Taster für den Notaus war mechanisch nun schon länger vorhanden...
    • Es wurde bereits eine Software-Lösung vorbereitet: Das interne Not-aus-Signal wird auf Pin1 des Parallelports ausgegeben. Gleichzeitg wird der Zustand des Pins 11 abgefragt. Hardwaremäßig sind Pin 1 und Pin 11 verbunden und mit einem Pulldown nach Masse versehen. Der Öffner wird jetzt zwischen Pin 1 und Pin 11 geschaltet und der Pulldown hängt an Pin 11. Die Erweiterung des HAL-Scripts ist schon eingebaut und funktioniert. Die Endgültige Verkabelung scheiterte an einem fehlenden D-Sub9 Stecker.
    • In einer zweiten Version soll die gesamte Not-Aus Logik in Hardware erfolgen. Durch Betätigung des Notaus sollen Motorendstufen und Spindel vom Stromnetz getrennt werden.
  • Weiterentwicklung der Steuerung des Umrichters
    • Beschränkung der max. Drehzahl auf 20.000U/min, da der Umrichter bei größeren Werten abschaltet. Besonders kritisch ist das, wenn bei einer eingestellten Drehzahl von 20.000U/min die Spindelübersteuerung auf über 100% gestellt wird.
    • Drehzahlrückmeldung einbauen (am Umrichter auslesbar)
    • Implementierung des spindle-at-speed-Signals, um Ende des Hochlaufs anzuzeigen. Bisher ist hier nur ein Timeout eingebaut.
  • Werkzeuglängen-Taster zur automatischen Einmessung nach einem Werkzeugwechsel.
    • Alternative: Höheneinstellgerät (ca 80€) Dies ist ein Block mit definierter Höhe von 50mm mit einer Druckplatte auf die der Fräser gefahren wird und den Nullpunkt kann man dann auf einer Messuhr ablesen. Siehe hier
  • Bau eines Vakuumtisch zum einfachen Aufspannen. Besonders Platinen und zum Gravieren.
  • Minimalmengenkühlung
  • G-Code-Erzeugung dokumentieren
  • Nutenplatte könnte umgedreht werden, um wieder eine schönere Oberfläche zu haben, die nicht ganz so viele Fräsmale enthält.

Aktueller Stand[Bearbeiten | Quelltext bearbeiten]

  • 09.09.2016
    • Die neuen Endstufen (SMCI33) wurden von Bilex , Tixiv und Max in ein neues Gehäuse aus Plexiglas eingebaut. Die Fräse läuft jetzt wieder und dies tut sie leiser und ruhiger als vorher. Takt/Richtung kommt dabei wie gehabt aus dem Parallelport, die Endabschalter sind jeweils über einen Optokopler mit dem Parallelport verbunden. Prinzipiell hat sich also nichts geändert.
    • ToDo -> Das Gehäuse verfügt über keinen Lüfter, es muss getestet werden wie heiß die Endstufen bei längeren Fräsarbeiten tatsächlich werden. Eventuell muss ein Lüfter eingebaut werden. Die Endstufen laufen wie die alten Endstufen auch im Halbschritt-Modus, könnten aber eigentlich auch im Viertelschritt-Modus betrieben werden. Dafür muss irgendwas im Linux-CNC Configfile?! geändert werden. Es wurde vergessen ein Eingang für den Notaus anzubringen. Außerdem könnten noch LEDs in die Endstufen eingebaut werden die Fehlfunktionen der Endstufen signalisieren.
  • 25.07.2016
    • Die Fräse wird aktuell 'renoviert'. Das heisst sie wird gereinigt und es werden neue Schrittmotorendstufen verbaut. Aktuell wird am 26.07.2016 die Fräse wieder zusammengebaut und die Endstufen werden von Robin programmiert. Es wird ebenfalls die Elektronik komplett überholt und es wird ein Notaus montiert, damit die Fräse sicherer wird. Vorraussichtlich ist die Fräse in absehbarer Zeit wieder nutzbar.
  • 20.05.2015
    • Der Schrittmotortreiber der Y-Achse ist in immer kürzeren Abständen ausgestiegen und musste ersetzt werden. Die Fehlerquelle ist unklar. Bilex hat eine neue Endstufe (Nanotec SMCP33) mitgebracht und dafür das Takt-Richtungs Signal aus der Motorsteuerung rausgeführt. Die Verdrahtung ist fliegend (Draht) und die Steuerung liegt in einer Butterbrotdose. Das funktioniert zwar aber ist nichts für die Dauer.
    • Die Endstufen werden sehr heiß wenn länger gefräst wird. Irgendwann verlieren die Motoren Schritte, vermutlich weil mit steigender Temperatur der innenwiderstand der Motorteiber steigt und damit der Motorstrom abnimmt. Es wurden zwei große Lüfter auf das Gehäuse gelegt. Quick & Dirty aber funktioniert.
    • Neue Endstufen an allen Motoren wäre eine feine Sache. Die Nanotec Steuerung verringert spürbar Motorresonanzen, die Motoren laufen leiser. Evtl. kann mal wer bei Nanotec anrufen und freundlich um eine Spende bitten? [in Arbeit durch Robin]
    • BUG: Manchmal geht die Frässpindel einfach aus! K.a wann und warum! Fehlerquelle finden ist daher sehr schwierig. Die Spindel lässt sich jedoch über Linux-CNC wieder normal starten.


  • 19.10.2012
    • Die Z-Achse hatte zu viel Spiel und wurde in einer Nachtschicht ausgetauscht, justiert und beschmiert.
  • 30.09.2012
    • Nach zig Teilen aus Aluminium musste nun was aus Messing (Legierung unbekannt) zwecks Stoffschluss (Löten) gefräst werden. Messing ist härter als Alu. Ist der Vorschub zu groß verlieren die Motoren Schritte und das Frästeil sieht merkwürdig schief aus. Der Vorschub sollte nicht größer als 300mm/min gewählt werden. Mit folgenden Optionen glänzen sogar die Schnittkanten, das ganze dauert jedoch etwas länger:
      • Drehzahl: 6500U/min
      • Vorschub: 120mm/min
      • Zustellung: 0,4mm
      • Fräser: Einschneidig 3mm.

Ist die Drehzahl zu hoch wird der Fräser schnell Stumpf und bricht.


  • 04.03.2012: Die letzten Schritte wurden nicht mehr eingetragen, hier eine kleine Zusammenfassung:
    • Das Ganze funktioniert schon sehr zuverlässig und es wurden schon viele Teile gefräst:
      • Lemming-Häuschen und Gewürzregale aus Holz
      • Frontplatten für die Schrittmotor-Einschübe
      • Stromschienen aus 3mm Alu
      • Nadelbett-Adapter aus PVC
    • Viele neue Fräser, siehe Werkzeuge
    • Bisher kein weitere Fräser abgebrochen. Toitoitoi...
  • 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 alten Windows 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
  • 06.02.2012
    • Schrittmotor-Steuerkarten wurden verbessert und das Stromproblem wurde gelöst (falscher Jumper)
    • Die neue Spindel ist nun komplett transparent angesteuert (Phython Script im HAL)
    • Erstes Teil in 3D gefräst
  • 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))

Mechanik[Bearbeiten | Quelltext bearbeiten]

Es handelt sich hier um eine kleine Portalfräse mit 3 Achsen, welche über Kugelumlaufspindeln per Schrittmotor angetrieben werden.

Verfahrwege:

X-Achse: 550mm
Y-Achse: 450mm
Z-Achse: [To Be Measured]
Im Moment 60mm Abstand zwischen Tisch und Unterkante der Linearführung, diese kann aber noch nach oben verschoben werden, um einen größeren Verfahrweg zu bekommen

Daten der Schrittmotoren:

Zweiphasen-Schrittmotor
1,8° pro Schritt --> 80 Schritte/mm entspricht einer Auflösung von 12,5µm
Rw= 0,72Ohm
Iw= 1,9A

Konfiguration[Bearbeiten | Quelltext bearbeiten]

Hier die Grundkonfiguration für unsere Fräse falls der emc2-Rechner nochmal neu installiert werden muss: Datei:Fraese config.tar.gz

Nach der Installation von emc2 auf dem Rechner kann dieses Archiv in das Homeverzeichnis des Benutzers "emc" extrahiert werden mit dem Befehl "tar xfzv Fraese_config.tar.gz".

Achtung: in dieser Konfiguration Benutzt der Parallelport die Addresse 0x3BC. Das wird in der Datei "Fraese.hal" eingestellt. Dieser Wert muss gegebenenfalls wieder auf die Standardaddresse 0x378 eingestellt werden (falls die Schrittmotoren nix machen). Man kann den passenden Wert sehr leicht mit "dmesg | grep par" finden.

Die serielle Schnittstelle für den Fräsmotor ist "/dev/ttyS0". Diese wird in der Datei "spindel.py" im Verzwichnis "bin" eingestellt.

Die Datei ".xsessionrc" erweitert die PATH-Umgebungsvariable, damit emc "spindel.py" finden kann. Damit das klappt muss man sich nach Einspielen der Konfiguration einmal aus- und wieder ein-loggen.

Gallerie[Bearbeiten | Quelltext bearbeiten]

[!-- Dateien bitte mit dem Prefix cnc_gal_ versehen --] Hier folgen ein paar Eindrücke von bisher gefrästen Werkstücken

Medien[Bearbeiten | Quelltext bearbeiten]

Video: Erstes Teil in 3D nach Inventor-Modell gefräst

Video: Zweiter Teil