DIY CNC - Steuerung


CNC
Als Treiber für die Schrittmotoren verwende ich wie gesagt den L297 mit dem L298
Da die CNC aber 3 Motoren hat, musste ich mir noch 2 Mal die besagten Bausteine mit den nötigen Bauteilen zusammenlöten.
Zusammen mit einem Netzteil, Optokopplern usw. fand ich ein Gehäuse doch recht Praktisch.
Zuerst wollte ich mir eins selbst Bauen, was aber wohl in einem wackeligen instabilen Etwas geendet hätte.


Also dachte ich daran, ein fertiges Gehäuse für meine Zwecke zu missbrauchen.
Und siehe da, ein gebrauchtes Mini-PC Gehäuse bei Ebay fürn Euro (zzgl. 7€ Versand)


Deckel ab, sieht doch ganz gut aus. Ein paar Sachen noch im Weg, aber die werden entweder rausgeschmissen oder zurechtgeflext.


Um die mindestens 6 Platinen irgendwo befestigen zu können kam mir eine 2mm Plexiglasscheibe in den Sinn. Sie kommt in etwa dahin, wo das Mainboard sonst weilte.
Das Stück Alublech soll die ungeeignete Plastik Frontblende ersetzen. Da ich den Restposten wieder einmal nicht widerstehen konnte hat es ein paar Kratzer.
Statt diese rauszupolieren hab ich gleich das ganze Blecht geschliffen, da mir der matte Look eigendlich ganz gut gefällt.


Die Plastik-Frontblende war etwas gerundet und mit ein paar mm Abstand angebracht, also mussten störende Teile weg.


Ein paar Einbuchtungen an den Seiten, damit der Deckel noch draufpasst


Für den Lüfter musste vorne noch ein 80cm Loch rein, was mit sehr viel Aufwand relativ einfach erledigt war.


Das Plexiglas hab ich auf 25cm x 22cm zurecht gesägt und an die vorhandenen Gewinde geschraubt.


Bei der Frage nach der Befestigung des Netzteils kam mir die Idee, den vorhandenen Netzteil-Schlitten zu verweden.
Da er ein wenig zu klein ist hab ich ein paar Holzplatten reingesteckt, sodass die Netzteilplatine oben drauf geschraubt werden kann.


Zwischendurch hab ich schonmal den Parallelport Anschluss zur Verbindung mit dem PC auf der Rückseite an die dafür vorgesehene Stelle eingebaut, da wo das Mainboard seinen Druckeranschluss hat.


Das Netzteil schonmal reingelegt, da ich noch keine passenden Schrauben hatte.
Das Loch auf der Rückseite soll natürlich nicht so bleiben; die Kaltgerätebuchse, sowie der Schalter müssen schließlich auch noch irgendwo hin.


Leider waren da keinerlei Löcher oder sonstetwas um ein Blech oder dergleichen anzuschrauben, also hab ich ein Reststück Holz in L-Form gesägt bis es gerade so reinpasste.


In das Holz dann ein Loch für die Kaltgerätebuchse sowie für den Schalter.
Da das Holz doch etwas optisch stört hab ich einfach etwas Alublech genommen, angeschliffen und zurechtgesägt.


Übereinandergelegt und zusammengeschraubt siehts doch schon viel schöner aus


Die Kabel auf der Rückseite kommen direkt ans Netzteil


Und eingebaut; links und rechts hab ich jeweils ein kleines Loch durch das Gehäuse gebohrt, damit das Teil später beim rausziehen des Steckers nicht mitkommt.


Und weiter gehts, die D-Sub Buchsen für die Motoren: dafür hab ich dem Gehäuse zwei Slotblenden geklaut und mitm Dremel 3 Trapeze rausgeflext.


Gedanklich einen Schritt zurück: Hier insgesamt 24 Kabel (4 Pole Pro Motor * jeder Pol doppelt * 3 Motoren = 24 Kabel)


Mit Schrumpfschläuchen sind die Buchsen dann komplett


Dann von hinten in die Slotbleche geschraubt und wieder im Gehäuse eingebaut


Die Lochrasterplatinen werden über kleine Abstandsschrauben (wenn die so heißen?) auf dem Plexiglas angeschraubt. Für die Schrauben vielen Dank an David.


In das Plexiglas hab ich dann einfach nur ein kleines Loch gebohrt, und die Schrauben mit etwas Kraft reingedreht.


Hier die 3 Platinen mit den L297.


Alle 3 Motortreiber komplett


Damit der Pc keine direkte Verbindung zur Elektronik hat, hab ich eine kleine Optokopplerplatine gelötet. Sie trennt den Parallelport galvanisch von den L297 und entfernt zudem Störungen im Signal.


In die Lochrasterplatinen hab ich jeweils 3 Löcher an die Ecken gebohrt


Hier die Platinen zusammen auf der Plexiplatte


... und von unten


Kommen wir nun zurück zum Netzteil. Endlich hab ich die 20mm M3 Gewindeschrauben beschaffen können.
Diese gehen von unten durch die obere Holzplatte und werden dort direkt durch eine Mutter gehalten.
Darauf ein kurzes Stück einer Kabelisolierung als Abstandshalter, dann die Platine und oben drauf noch ne Mutter.


Da ich keinen passenden Stecker für den Anschluss am Netzteil auftreiben konnte hab ich einfach Flachsteckhülsen genommen, welche jeweils zwei Pins "abdecken". Bei Masse und +24V liegen sowieso immer zwei verbundene Pins nebeneinander, wesswegen die breiten Flachsteckhülsen kein Problem sind.


Links daneben befinden sich 5V , Power-On und 12V. Auf die hab ich dann zurechtgebogene kleinere Flachsteckhülsen gesteckt.
Nach einem kurzen Kabel verteilen sich die Leitungen über eine (bzw. mehrere) Lüsterklemmen.


Hier zu sehen die drei L297 Platinen und die Optokopplerplatine, welche nun alle mit 5V versorgt werden.


Etwas versteckt hier zu Erkennen der braune Elko als Siebelko zwischen GND und +24V mit 680µF und 50V Spannungsfestigkeit.


Alle L298 werden nun auch mit den 24V versorgt. Die 9 Poligen D-Sub Buchsen hab ich dann auch mal angeschlossen.


Um den 5 Poligen Din-Rundstecker für u.a. die Endschalter anzuschließen hab ich die passende Buchse links neben den 25 Pol. D-Sub Stecker eingebaut, an die Stelle, wo sonst der Netzwerkanschluss sein Dasein fristet.


Da die Reichelt-Bestellung mit dem Flachbandkabel da war konnte ich selbiges endlich an den großen D-Sub Stecker anlöten.
Auch die Rundsteckerbuchse hab ich mit einem Solchen versehen.


Unter dem Plexiglas hergeführt und an eine Streifenrasterplatine angelötet kann nun der PC mit der Steuerung verbunden werden.
Die Streifenrasterplatine soll den Vorteil bieten, schnell mal ein Kabel umlöten zu können.


Nun zur Front: Das bereits mit einem Lüfterloch versehene Alublech soll noch mit mehreren Schaltern und bunten Drückeknöppkes dekorativ versehen werden.
Dazu auf der Rückseite schnell die Positionen bestimmt, ausgemessen und angezeichnet und kurz darauf gebohrt.


Hier eine der Schalter und Drucktaster als Beispiel


Diese konnten recht unkompliziert in die Löcher eingesetzt und festgeschraubt werden.
Zur Funktion der Schalter:
Der Große links ist direkt mit Power-on des Netzteils verbunden und aktiviert den 12V und den 24V Ausgang.
Über die beiden Unteren lassen sich "Funktionen", die nur die Steuerbox betreffen umschalten. Der Rechte von beiden Schaltet den Lüfter zwischen Langsam und Schnell um. Die kleineren Schalter besitzen alle jeweils drei Positionen. Bei dem Lüfterschalter kann die Geschwindigkeit mit der Untersten Position mit Enable gekoppelt werden, sodass sobald die Treiber-IC's aktiviert werden das Gehäuse stärker belüftet wird.
Die Oberen Taster und Schalter bedienen Zustände und Funktionen der Steuerung: Z.B. Spindle On/Off/Auto wobei "Auto" ein Schalten über den PC ermöglicht. Ebenso wie Spindle ist auch Enable verkabelt.
Ein hier nocht nicht zu sehender dritter Schalter in der oberen Reihe schaltet zwischen Full- und Halfstepp.
Die 6 Taster sind zum manuellen Bewegen der Motoren; Blau - CW/CCW; Weiß - Schritt


Was der Steuerbox noch fehlte war ein unübersichtliches und buntes Kabelgewirr.
Nach verkabelung der Schalter und Taster war das auch erledigt.


Die vorhandenen LED-Halter und Löcher hab ich auch weiterhin als Solche verwendet. Die Grüne leuchtet sobald Spannung anliegt, die Gelbe wenn die Steuerung "enabled" wird, also die Motoren Strom bekommen.


Da nur die Datenleitungen D0 bis D7 des Parallelports die vollen 5V liefern musste ich den Ausgang der anderen Optokoppler jeweils über einen nachgeschalteten Transistor verstärken.


Hier noch ein Blick auf die Rückseite mit angesteckten Kabeln


Hier nochmal ein Überblick über die Steuerung. Sieht zumindest schon nach was aus.




Nun wurd es so langsam Zeit, die manuelle Steuerung der Steuerbox zu verbessern.
Über die drei Weißen Taster lassen sich die Schritte der Motoren steuern, allerdings nur ein Schritt pro druck.
Damit beim gedrückt halten ein Taktsignal anliegt hab ich kurzerhand einen NE555 bestückt und das Taktsignal (Pin 3) an die Taster gelegt. Über den Poti stellt man die Geschwindigkeit ein.
Hier den Eagle Schaltplan und das Board.


Um auch mal das PCB Fräsen mit der CNC zu testen hab ich den GCode mit dem Eagle ULP "pcb-gcode" generiert.
Die Platine ist beidseitig gefräst und gebohrt.


Das ist das Ergebnis. Der Strich auf der Vorderseite ist entstanden, da die CNC mittendrin ungewollt stoppte und beim erneuten Start ohne den Fräser hochzuheben richtung 0/0 fuhr.
Auch ist die die eine Bahn auf der Vorderseite nicht ganz durchgängig, auf der Rückseite stimmt aber wirklich alles. Für den ersten Versuch mit einem 90° Gravierstichel garnichtmal so schlecht.


Dann alles verlötet


Und die Platine in Frischhaltefolie eingewickelt, damit sie sich nicht mit den andern herumliegenden Kabeln kurzschließt





Nach einiger Zeit hab ich dann mal wieder an der Steuerung weitergearbeitet.
Aufgrund einiger Probleme mit ungewollten Auslösen der Endschalter wollte ich Logik- (z.B. Enschalter) und Leistungskabel (wie Relaisstrom, Lüfter etc) zwischen Steuerbox und Maschine untereinander trennen.
Dazu hab ich eine 9-Polige D-Sub Buchse am Gehäuse angebracht, und das entsprechende Kabel zur CNC gelegt. Nun kommen insgesamt 5 Stecker von der Maschine zur Steuerung


Um die erwähnten Probleme mit den Endschaltern zu beseitigen wollte ich diese noch mit einem Optokoppler von dem Steuernden Rechner trennen.
Die Platine dazu hab ich mit der CNC gefräst. Professionel wie immer hab ich sie dann in Frischhaltefolie eingepackt um Kurzschlüsse zu vermeiden.
Die Lösung mit den Optokopplern hat den zusätzlichen Vorteil, dass sie dem Rechner nur dann ein OK geben, wenn die Endschalter nicht betätigt sind, aber auch wenn das Kabel zur CNC richtig angeschlossen und die Steuerbox eingeschaltet ist.


Um relativ einfach den Motorstrom anpassen zu können wollte ich noch an der Front drei Potis einbauen, da die Potis auf den Platinen im Betrieb schwer zu erreichen sind.
Da ich die Potis aber nicht einfach von der Platine nach außen verlegen wollte, sondern die internen Potis den maximalen Strom "festlegen" sollen, konnten die neuen Potentiometer einfach in Reihe zwischen dem "onboard" Poti und +5V.
Dadurch wollte ich verhindern, dass ein versehentliches drehen an den Front-Potis einen zu hohen Strom einstellt und so die Motortreiber oder die Motoren frittiert.
Die drei Platinen mit dem L297 ließen sich leicht anpassen (dem Lochraster sei dank). Damit der Alu-Look an der Front erhalten bleibt bekamen die 10K Potis je einen Aluminiumdrehknopf spendiert.
Zudem wollte ich noch ein paar LED´s zur Statusanzeige haben, diese selbstverständlich auch in einem Metallgehäuse. Drei Blaue zur Richtungsanzeige der Achsen, eine für die Spindel und die andere schonmal vorsorglich.


Die etwas weiter oben beschriebene NE555 Taktschaltung sollte dann auch noch ein Poti an der Front bekommen (zu erkennen an dem riesigen Alu-Drehknopf)
Und dann war auch schon alles soweit an seinem Platz. Hauptsache viele Schalter, Drehknöpfe und blinkende Lampen.


Weiter gehts dann mit den Tests und dem weiteren Aufbau.