Peter Hofbauer’s private Homepage
Selbstbauprojekte eigene Entwicklungen
Impressum Letzte Änderung: 08.Juli 2013 Copyright: frei! Impressum Letzte Änderung: 23.August 2020 Copyright: frei!

CNC-Maschine mit 3D- und Laser Zusatz (3 / 3)

H o m e Nach Oben H o m e CNC mit 3D und Laser Seite 1 (3) CNC mit 3D und Laser Seite 2 (3) CNC mit 3D und Laser Seite 3 (3)

Der Schaltplan

Die komplette Schaltung ist ein umfangreiches  KiCAD-Projekt mit 11 Seiten. Im Hauptschaltplan sind die einzelnen Gruppen als Unterschaltungen enthalten. Der Hauptschaltplan soll eine Übersicht über alle Gruppen geben. Das ist bei den Umfang nur zum Teil gelungen. Hier eine Liste der Seiten mit deren Dateiname: 1. CFM9620 Übersicht, Hauptschaltplan 2. CFM9620C Arduinobox, die Verbingung zum PC mit Estlcam 3. CFM9620D Controller, für die manuelle Bedienung der CNC ohne PC 4. CFM96203D der 3D-Druckerteil 5. CFM9620S Steckerprint für die beiden 3D-Netzteile 6. CFM9620H Treiber für die Bettheizung des 3D-Druckers 7. CFM9620ABL Z-Sensor für den 3D-Drucker 8. CFM9620J Bedieneinheit mit Joystick für die CNC 9. XYZ9620 XYZ-Anzeige mit Lasersteuerung 10. XYZ9620L Leistungsteil für den Laser 11. CFM9620LK Bedieneinheit am Laserkopf

Die Steuerung der CNC

Übrigens sind in den Schaltplänen alle Steckverbinder eingezeichnet. Wo “Front” dran steht: die befinden sich auf der großen Frontplatte. Die CNC kann wie bisher auf 2 Arten gesteuert werde: manuell mit der Joystick-Einheit oder vom PC + Estlcam.   Die CNC-Funktionen werden vom Controller (CFM9620D) verwaltet. Im manuellen Betrieb kommen die Kommandos von der Einheit ”Joystick” (CFM9620J). Dort sind die 4 Tasten “START”, “STOPP”, “Nach Hinten”, “REF0,0” und ein Joystick mit 3 Schaltern. Und der Umschalter von Manuell auf AUTO (= Estlcam). Über den 15poligen SubD X13 gehen die Leitungen zum Controller/X11. Die 4 Tasten sind parallel auch auf der Front vorhanden. Über Controller/X10 werden die 4 Schrittmotor-Treiber und das Relais K2 für die Spindel gesteuert. Am Controller/X9 sind die 6 Endschalter angeschlossen. Über den X9.1 > X5.1 wird die Arduinobox eingeschaltet. Der Controller schaltet die Leitung “USB-Stop” (X5.1) zur Arduinobox auf +12V wenn die Steuerung vom PC/Estlcam erfolgen soll. Falls der Umschalter auf AUTO steht und kein Endschalter aktiviert ist. Am 25poligen SubD X5 ist die Arduinobox angeschlossen. Die Signale für die Schrittmotoren sind parallel zu denen vom Controller angeschlossen. Können aber nur aktiv werden wenn über X5.1 die 12V vom Controller kommen. Es gehen 3 wichtige Leitungen zur Arduinobox: START, JSS (=STOP)  und Tiefe (X16, Tastplatte). In der Arduinobox werden über Optokoppler 4 Eingänge Bedient und wie folgt in Estlcam gesetzt: Eingang 1 = Endschalter, geht an die 12V vom Controller, daran erkennt Estlcam einen aktivierten Endschalter Eingang 2 = Sensor, geht zur Tastplatte Eingang 3 = Programm Start, geht zur Taste Eingang 6 = Programm Stopp, geht zur Taste Endschalter An dieser Stelle mal ein Wort über die Endschalter. Nach meiner Ansicht muss das Anfahren eines Endschalter zum normalen Betrieb gehören. Auf keinen Fall sollte das ein Ausnahmefall oder gar Notaus sein. Im manuellen Betrieb fahre ich beim Einrichten oder Reinigen usw meine Maschine immer bedenkenlos bis auf den Endschalter . In meiner Firmware ist speziell dafür eine sehr kurze Bremsrampe enthalten. Damit werden Schrittverluste wegen zu abrupten Bremsen vermieden. Besonders wichtig für die Y-Achse, weil die mit 2 Motoren ohne mechanische Verbindung arbeitet. Als Endschalter verwende ich mechanischen Schalter, oft “Schnappschalter” genannt. Die sind nach meinen Erfahrungen präziser und zuverlässiger als Näherungsschalter. Ich fahre direkt auf den Schalter zu, also nicht seitwärts. Wenn die Achse am Endschalter stehen bleibt, also am Ende der Bremsrampe, bleiben noch 0,6mm bis zum mechanischen Anschlag des Schalters. Für 2 Spindeln vorgesehen Mit S1 wird zwischen der 1,5kW 3-Phasen-Spindel und einer Proxxon am Schukostecker X14 gewählt. Die Drehzahl wird nicht von EstlCAM vorgegeben sondern durch ein Drehknopf am Umrichter oder direkt an der Proxxon. Mit S16 oder S10 kann eine Spindel auch manuell gestartet werden. Das Netzteil für die CNC ist wie vorher nur ein Netztrafo mit Gleichrichter und Elko, also nicht stabilisiert. Wird mit X25 von der übrigen Schaltung trennbar für Servicezwecke. Die Spannung beträgt etwa 28V.
Arduinobox CFM9620C Controller CFM9620D Joystick CFM9620J

Die XYZ-Anzeige und Steuerung für den Laserkopf

Diese Baugruppe besteht aus der Platine XYZ9620 mit drauf gesteckten Display und der Zusatzplatine XYZ9620L für den Laser. Platine XYZ9620 Verwendet wird ein 3,5” TFT mit einer Auflösung von 320x480. Der Treiber ist der ILI9486. Wird mit 8 bit parallel angesteuert. Die Stiftleisten am Display sind für einen Einsatz am Uno vorgesehen. Ich habe stattdessen eine eigene Platine und Firmware mit den dsPIC33EP128GP504 entwickelt. Als Textanzeige mit folgenden Funktionen: Zeichen #1: Fenster 16x26, 30 Char, 12 Zeilen, Rest 0x8, Zeit = 0,77ms Zeichen #2: Fenster 32x52, 15 Char, 6 Zeilen, Rest 0x8, Zeit = 3,1ms Zeichen #3, Fenster 48x78, 10 Char, 4 Zeilen, Rest 0x8, Zeit = 6,9ms Zeichen #4, Fenster 64x104, 7 Char, 3 Zeilen, Rest 32x8, Zeit = 12,3ms Die Zeit gilt für einen einzigen Char. Die Farben sind wählbar und man kann auch pixelweise in X- und Y-Richtung verschieben. Grafiken habe ich nicht vorgesehen. Für die Positionsanzeige verwende ich #3, für die Laser-Anzeigen #1. Die Signale von den Schrittmotor-Treibern werden über Spannungsteiler und eine Z-Diode auf den 3V-Pegel begrenzt. Die X- und Y-Takte lese ich per Interrupt ein Die 3 Tasten S1, S2 und S3 setzen die Positionsanzeige auf 0. U6 ist ein Mäuseklavier, ich verwende hier nur einen Schalter zur Auswahl der Drehrichtungen. Der Prozessor läuft mit 3,3V. Den Stabi U3 (+ C11) musste ich nachträglich aus die Platine löten. Der 3,3V-Stabi auf dem Display geht nicht zu den Stiftleisten obwohl das täuschender weise an den Stifleisten dran steht.
XYZ-Anzeige XYZ9620
Platinen  XYZ9620L und CFM9620LK Ein Laser war zuerst nicht eingeplant. Die nicht benötigten Pins vom Prozessor waren an Stiftleisten vorhanden und konnten für die Steuerung eines Lasers verwendet werden. Dazu ist eine Platine (XYZ9620L) über die Anzeigeplatine angeordnet und mit diese verbunden. Die Anschlüsse X3 und X4 sind mit der Anzeigeplatine verbunden. Der Anschluss X5 ist die Verbindung zur übrigen Maschinen- Verdrahtung. Die Betriebsspannung von 12V wird mit den Stabi U1 aus der Betriebsspannung der CNC erzeugt. Der benötigte Strom beträgt 0,8A. Das ist für den in der CNC bereits vorhandenen 12V-Stabi zu viel. Deshalb ein extra Stabi mit großen Kühlkörper. Eingeschaltet wird die Laserfunktion sobald der Stecker vom Laserkopf an die Front gesteckt wird. Der Widerstand R1 soll den Stromimpuls durch den C2 begrenzen. Zum Schutz der Kontakte im Stecker.   Am Laserkopf befindet sich in ein kleines Gehäuse die Schaltung CFM9620LK. Die Stellung des Wippschalters S1 oder Potis RV1 wird über eine analoge Spannung vom Prozessor erkannt. Zum Laserkopf gehen 3 Leitungen: “12V-LK” Betriebsspannung 12V “PWM” PWM zur Leistungseinstellung “GND-LK” Bezugspotential
Laser-Erweiterung XYZ9620L Laserkopf CFM9620LK

Die Steuerung des 3D-Druckers

Der 3D-Drucker wird mit der Original-Steuerung vom A8 betrieben. Der Z-Motor der CNC wird auch für den 3D verwendet. Dazu wird die Leitung zum Z-Motor mit Relais K1 (CFM9620) mit der 3D-Platine verbunden. Der 3D-Teil geht in Betrieb wenn die Netzspannung (3DL, 3DN) mit den Schalter S8 (CFM9620) auf “3D” geschaltet wird. Außer das originale Netzteil vom A8 wurde ein zweites 12V-Netzteil dazu in Reihe geschaltet. Weil das vom A8 nicht genug leistet und ich außerdem für das Heizbett 24V benötige. Für das Heizbett ist der Leistungstreiber CFM9620H nötig. Weil die Motoren etwas mehr Strom benötigen sind folgende Änderungen auf der 3D-Platine nötig: X-Treiber: Widerstand R10 = 100k durch 68k ersetzen Y-Treiber: Widerstand R17 = 100k durch 33k ersetzen Z-Treiber: Trimmer auf Maximum stellen E-Treiber: keine Änderung
3D-Steuerung CFM96203D Z-Sensor CFM9620ABL

Downloads

Wie alle meine Berichte ist auch dieser keine Bauanleitung! Also: mach damit was Du willst, aber auf eigene Verantwortung! Die Schaltpläne sind mit KiCAD 5.01 gezeichnet worden. Diese Version ist, soweit ich es probiert habe, die letzte Version die noch mit XP funktioniert. Die Dateien sollte man in ein extra Verzeichnis entpacken. Darin sind 9 Projekte enthalten, die alle in ein Verzeichnis gehören. Dann zuerst das Projekt mit den Hauptschaltplan CFM9620 starten. KiCAD will dann (manchmal?) die Libs zuordnen. Danach funktionieren die Projekte mit den Unterschaltungen ebenfalls. Die 9 Projekte: CFM9620 = Hauptschaltplan, enthält alle Schaltpläne in Hierarchien. Für Schaltungen, die eine Platine brauchen, habe ich Projekte mit der selben Schaltplandatei (= Kopie) angelegt: CFM9620ABL = ABL-Sensor (Auto-Bett-Leveling) CFM9620C = Arduinobox CFM9620D = Controller CFM9620H = Heiztreiber CFM9620R = Relaisprint CFM9620S = Steckerprint XYZ9620 = Anzeige + Laser XYZ9620L = Laser-Erweiterung Download für KiCAD CFM9620.zip (156kB) Download Hex-Datei für den Controller: CPP9620V1.zip (2,2kB) Die Firmware für die XYZ-Anzeige mit Laser-Steuerung ist nur für meine Anwendung entwickelt worden. Falls jemand diese für eigene Anwendungen ändern möchte, zum Beispiel für andere Schritte pro mm, muss die Firmware entsprechend geändert werden. Damit das möglich ist, kann das Projekt komplett mit Quellen herunter geladen werden. Ist  komplett in Assembler geschrieben. Ich hatte das mit folgenden Werkzeug entwickelt: “MPLAB IDE v8.91” und “PICKIT 3”. Download Projekt XYZ9620.zip (208 kB)
Hauptschaltplan CFM9620 Heiztreiber CFM9620H
Die mechanischen Zeichnungen als 3D-Step, 2D-Dxf und Drucker-Stl -Dateien: ABL-Sensor.zip (64kB) Laserkopf.zip (95kB) Plotterstift.zip (105kB) X-Achse.zip (566kB) Y-Achse.zip (671kB)
Korrektur: statt dsPIC33EP128GP504 wurde dsPIC33EP64GP504 verwendet
CNC mit 3D und Laser Seite 3 (3) CNC mit 3D und Laser Seite 3 (3)