Forumsregeln
Ihr habt ein technisches Gerät auf Herz und Nieren getestet? Dann lasst uns wissen, ob sich ein Kauf lohnt oder ob das Teil ein Fall für die Tonne ist!
Oder habt habt ihr euch auf einen Anbieter für technische Dienstleistungen eingelassen? Teilt hier eure positiven oder negativen Erfahrungen mit uns!
Links zu den Produkten (Herstellerseite, Distributor, Shop, etc.) oder Dienstleistern sind erlaubt und ausdrücklich erwünscht.
Paul hat geschrieben:Übrigens, wenn man die Drehzahl mithilfe des Potis komplett auf Null dreht, ist der Controller kurzzeitig beleidigt, dann muss man wieder weit aufreissen bzw. mit dem On/Off-Schalter "neustarten".
Ich könnte mir vorstellen, dass da der Gleichspannungszwischenkreis kurzzeitig zu hoch geht.
Wenn Du das Gamze mit einer Batterie versorgst oder das Netzteil mit eine großen Elko pufferst wird das wahrscheinlich nicht mehr passieren.
Den Spindel-Enable vom Arduino habe ich über einen Transistor als Inverter (jaaa, hätte ich auch in Software machen können xD) mit dem Eingang des Spindelcontrollers verbunden, an dem vorher der Kippschalter hing.
Momentan schalte ich die Spindel nur hart ein/aus. Und die Drehzahl ist mit dem Poti immer auf Maximum gestellt.
Ich kann dir gerade garnicht genau sagen, wie man das mit PWM machen würde... Aber ich schätze, das geht auch über diesen Steuereingang, und das Poti legt dann einfach den Maximalwert fest.
Mein Ansatz war, das 5V PWM Signal mit 2 Transistoren auf 10V PWM anzuheben und das dann mit einem Tiefpass zu glätten. Funktioniert auch prinzipiell, aber der Eingang des Controllers ist leider nicht linear - daher passen dann die Werte garnicht... Vermutlich ist das für den Betrieb eh nicht so wichtig.
Alternativ wollte ich einen Regler mit Closed Loop verbauen, also mit einem weiteren µC solange den Analogwert nachregeln, bis die vom Controller gemeldete Geschwindigkeit der gewünschten entspricht.
Ah ok! Dann hab ich deine Idee mit dem Tiefpass jetzt auch verstanden. Jo, klingt gut.
Nen eigenen Closed-Loop-Regler zu bauen wär mir zu kompliziert. Ich würde einfach gucken, bei welchen GRBL-Werten welche reale Drehzahl entsteht, mir ggf. ne kleine Tabelle machen und dann eben diese Werte je nach Bedarf verwenden. Regeln tut der Controller ja schon selbst. Ob man da jetzt noch ne weitere (ggf. instabile) Stufe vorsetzen sollte, weiß ich nicht...
Habe das jetzt gelöst. Natürlich ist man nicht der Erste mit so einem Problem, und die schlauen Menschen die GRBL entwickelt haben, legen doch tatsächlich ein Tool bei, um etwaige Unlinearitäten auszugleichen.
Wenn das noch jemand anpassen möchte, im grbl code ist unter doc/script/ ein Python Skript, wo man seine Messwerte einträgt, daraufhin wird dann eine lineare Interpolation mit 4 Geraden durchgeführt; die Ergebnisse trägt man dann in der config.h des grbl source wieder ein. Das ist auch alles in dem Skript wunderbar erklärt.
Also besteht meine Spindelanpassung jetzt einfach aus einem MCP1407 (nichtinvertierender Treiber) um auf 10V PWM zu kommen und einem nachgeschalteten Tiefpass. Das analoge Signal geht dann direkt in den Spindeltreiber. Die Anpassung wird mit obigem Skript gemacht, funktioniert wunderbar.
Jop, der MCP1407 ist ein wenig overkill, aber mit Transistoren wäre es größer geworden und das war der kleinste Treiber den ich vorrätig hatte
Zu meiner CNC Fräse werde ich einen Thread in "Eigene Projekte" aufmachen, sobald es richtig losgeht, momentan beschäftige ich mich mit so Kleinkram während ich auf die restlichen Pakete warte xD