Da mir die mitgelieferten Kühlkörper recht klein erschienen und auch recht heiss wurden, habe ich die DRV8825 Motortreiber mit größeren Kühlkörpern ausgestattet. Dazu mussten zunächst die nach oben rausschauenden Beinchen mit dem Seitenschneider etwas gekürzt werden um Kurzschlüsse durch den größeren Kühlkörper zu vermeiden. Ich habe 14x14x10 schwarz eloxierte Kühlkörper verwendet und diese dann mit Wärmeleitkleber (Nicht im Kit enthalten!) aufgeklebt:
Einer der gekürzten Pins ist mit dem roten Kreis markiert.
Die schwarz eloxierte Oberfläche hat den Vorteil dass IR Temperaturmessungen möglich sind. Eine Messung im Betrieb ergab unkritische 40-45 Grad. Auch mit dem inzwischen wieder auf die empfohlenen 30ms für $1 erhöhten GRBL Parameter.
Zusammen mit dem Lüfter sollte das auch im Sommer passen.
Ich konnte inzwischen ein paar Sachen fräsen:
Die Präzision scheint zu passen
Spindel läuft sehr ruhig und vibriert ohne Last nicht.
Die 3mm Aluplatte als Fräsenhalter ist nicht steif genug
Zum Ruckelproblem:
Beide Achsen ruckeln merklich beim Fahren auch ohne Last (beobachtet unter Easel).
Da ich das GRBL shield nutze und die Y-Achse auf A gedoppelt ist, sollten beide Motoren synchron laufen und nicht verkanten
In Easel sind 700 mm/Minute als Geschwindigkeit eingetragen. Ich frage mich wie das zu den maximal 250mm/Minute aus der Beispielkonfiguration aus dem Wiki passt? Hier werde ich als nächstes etwas rumspielen.
Ich habe als letztes mit 4mm Zustellung und 900 mm/Minute in EASEL (eventuell vom GRBL auf 250 gedrosselt??) in Tischlerplatte gefräst. Das hat zwar ordentlich vibriert aber die Fräsung ist einwandfrei geworden
Zuletzt habe ich die Verlängerung für den Fräsenhalter aus 3mm Alublech ersetzt. Ich habe bei einer Schlosserei in der Nähe ein 3mm Stahlblech auf 125x125mm zuschneiden lassen und dann rechts und links je einen 15mm breiten Streifen auf 90 Grad abkanten lassen. Das erhöht die Steifigkeit ungemein. Ich habe dann Bohrungen zur Montage am Laufwagen sowie Gewinde für die Montage der Fräsenhalterung gebohrt und geschnitten und das ganze lackiert.
Das Ergebnis sieht jetzt so aus:
Das ganze gefällt mir nun deutlich besser.
Ich habe über einen Metallwinkel die Brushless Steuerung meiner Spindel auf dem Arduino Blech montiert und einen Lüfter (per Alu Vierkant höhergelegt) angeklebt:
Der Lüfter bekommt seine Versorgung über einen LM2940-12 Festspannungsregler aus der Versorgung für die Stepper des GRBL Shields (24V) was am Limit der Maximalspannung am Eingang des 2940 ist.
Die Schleppkabel habe ich zur Zugentlastung erstmal per Kabelbinder am Bech fixiert, da kommt vielleicht später mal eine schöne Lösung mit Schleppkette hin. Bisher sieht es zwar nicht schön aus, funktioniert aber.
Die Netzteile für die Spindel und die Stepper habe ich zusammen mit einem Not Aus Schalter und einem Extra Schalter je Netzteil auf einem Holzbrett (25cm breit) montiert:
Das Brett ist mit 3 Winkeln direkt auf die Opferplatte geschraubt.
Für die ER-11 Aufnahme meiner 400W Brushless Spindel habe ich noch eine Spannzange für 8mm Fräser bestellt. Es gab zwar die Befürchtung dass man da nicht sinnvoll Spannen kann, das war allerdings unbegründet:
Zumindest mit der 400W Spindel und der Spannzange kann ich den Fräser beliebig tief und sicher einspannen. Die Kraft der 400W Spindel ist offenbar auch ausreichend um mit dem großen Fräser noch sinnvoll zu arbeiten:
Nachdem mir beim Versuch ihn extern einzustellen ein DRV8825 über den Jordan gegangen ist, habe ich nun die schon bereitstehenden TD6560 Treiberboards eingesetzt. Nachdem die unter dem Kühlkörper die fehlende Wärmeleitpaste appliziert wurde, die miesen Lötstellen nachgelötet wurden und die Vorwiderstände für die ShapeOko Belange geändert wurden (siehe auch http://www.myhobby-cnc.de/forum/thread.p...d=12&page=2) konnte es losgehen:
Zunächst wäre es sehr schlau gewesen, den Arduino mit den empfohlenen 0,47µF Elkos an den Endschaltereingängen zu versorgen, so dass diese störungsfrei betrieben werden können:
Mit 4 Distanzbolzen M3x40 unten lässt sich der erste Treiber über dem Arduino montieren, nachdem passende Löcher ringsherum gebohrt und mit einem M3 Gewinde versehen wurden:
Einer der Bolzen muss seitlich versetzt montiert werden.
So lassen sich alle 4 Treiber dann mit 12 M3x35 Distanzbolzen stapeln:
Die Verkabelung erfolgt über einen Pfostenstecker direkt an den Arduino, das GRBL Shield wird nicht mehr benötigt. Der Lohn der Mühe:
Das nervige Pfeiffen der Stepper ist weg (Stepper pfeiffen bei Versorgung der DRV8825 mit Spannungen unter 35V)
Arduino ist durch Optokoppler galvanisch vom Leistungsteil getrennt
Treiber hat bis 3A/Wicklung Reserven und wird nicht so warm wie der DRV8825 an meinen 2A NEMA23
durch die Kondensatoren gibt es nun keine EMV-bedingten Fehlauslösungen der Endschalter mehr
Neue Konfigurationsmöglichkeiten an den Motortreibern und Stromeinstellung über Schalter statt Poti
Ja! Bin voll zufrieden. Die Treiber bleiben schön kühl, Parameter und vor allem der Strom lässt sich supereinfach über Schalter einstellen,die Treiber arbeiten geräuschlos bei 24V Versorgung und an den Motoren pfeifft nichts. Einziges Problemchen: Beim Einschalten bewegen sich die Motoren kurz, was daran liegen dürfte dass Enable Low Aktiv ist und man bei der Optokoppler Lösung nicht einfach einen Pullup einsetzen kann wie es das GRBL Board macht. Das Thema werde ich mir als nächstes anschauen. Da findet sich sicher eine Lösung.
Aktuell teste ich die Steuerfunktion von Estlcam, das eine eigene Firmware auf den Arduino flasht, bisher macht das einen ganz guten Eindruck. So kann ich den Workflow straffen und die Anzahl der eingesetzten Tools reduzieren.
wäre nicht eine einfache möglichkeit die Spannung für die Motoren zeitverzögert einzuschalten, ich glaube das hatte ich mal gelesen und werde das bei mir auch so realisieren, schon sollten die Probleme nicht mehr auftreten, ausser wenn der Arduino einen Reset macht, aber vielleicht kann man das auch noch zusätzlich abfangen.
Das Problem ist dass der Arduino schon an ist wenn die Motoren angeschaltet werden. Der Arduino enabled die motoren und diese werden dann im eingeschalteten Zustand der transiente beim einschalten ausgesetzt. Man müsste den Arduino nach den Motoren starten und den bootloader abschalten um die Aufstartzeit zu verkürzen da während des Aufstarts enable ebenfalls low=ein ist.