Arduino Mega2560 und GRBL bitte um Hilfe

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Arduino Mega2560 und GRBL bitte um Hilfe

      Hallo Leute,

      dank euch hier habe ich meine Fräse (bisher immer noch ohne Frässpindel) komplett mit Estlcam ans laufen bekommen so das ich bisher damit wenigstens schon zeichnen konnte. Meine zukünftigen Vorhaben Laser und USB Kamera funktioniert ja leider nicht mit Estlcam, was mich nun zum Umstieg auf GRBL veranlasst. Nun bin ich aber bei der GRBL-Belegung der Pin`s aber erneut an meine Grenzen gestossen, da ich im Netz auf verschiedene Pinout`s gestossen bin und mir nun nicht sicher bin, ich hoffe ihr könnt mir dabei auch erneut wieder helfen.

      Ich wollte nun nach diesem Pinout vom Huy Do anschließen:





      Ja kommen wir nun zu den beiden Fragen (auf dem Bild unten in roter Schrift) ich hoffe das ihr mir da wieder weiter helfen könnt:
      Gruß Dirk

      Wer Rechtschreibfehler findet, darf diese auch gerne behalten :S
    • Hallo.

      Da ich Estlcam nicht kenne, hier meine Sicht auf die Fragen aus der GRBL-Perspektive:

      1. Ja, Pin 13 ist wahrscheinlich das, was Du meinst. Der Pin hat allerdings einen Haken. Wenn Du den Arduino Bootloader auf dem Board hast, dann wird der beim Verbinden des Computers mit dem Arduino drei Mal kurz "geblinkt", da das der ist, der mit der LED verbunden ist. Dadurch können die Microsteps der Motoren verloren gehen, wenn man seine Steuersoftware mal neu starten will. Daher habe ich bei mir einen Kippschalter eingebaut, den ich entweder auf 5V oder GND legen kann und das Ergebnis wird mit dem Stepper Enable-Eingang der Treiber verbunden. Das hat außerdem den Vorteil, dass Du bei den Treibern flexibler bist. Wenn Du welche mit Optokopplern hast, dann darfst Du offiziell nicht drei an eine Arduino Pin legen, da die zuviel Strom ziehen. (Könnte man natürlich auch mit nem Transistor lösen.) Das Ein- und Ausschalten der Motoren geht dann nicht mehr über GRBL, aber das empfinde ich persönlich nicht als Nachteil.

      2. GRBL unterstützt standardmäßig nur drei Achsen. Es gibt Patches, die weitere Achsen auf dem Mega nachrüsten. Z.B. github.com/gnea/grbl-Mega/pull/21. Dort wird z.B. Pin 53 als Limit Switch der A-Achse genommen. Ich meine aber nicht, dass es da einen Standard für die vierte Achse gibt. Ich habe meinen Stop-Schalter allerdings an dem normalen Reset/Abort-Pin (8) angeschlossen. Damit stoppt zumindest GRBL die Maschine abrupt (Beschleunigungswerte werden ignoriert) und der Fräsmotor wird auch sofort ausgeschaltet.

      Viel Erfolg,
      Lars
    • Hallo,

      also was ich schon einmal berichten kann ist das es mit dem PIN13 nicht funktioniert hat. Da waren die Motoren nur ganz kurz am brummen. Nachdem ich es wie bei Estlcam auch auf einen "%V" PIN gemacht habe liefen auch alle Achsen.

      Mein Problem zur Zeit ist nur das meine Endschalter nicht schalten, mein English ist wirklich nicht so gut und wenn ich dann mir das übersetzen lasse kommen manchmal richtig lustige Sätze zusammen. Also wenn mir da noch jemand helfen kann, denn ich glaube das in der config Datei von GRBL dazu bestimmt noch irgendetwas verändert werden muss aber wo und wie?

      Gruß

      Dirk
      Gruß Dirk

      Wer Rechtschreibfehler findet, darf diese auch gerne behalten :S
    • Moin,

      mühsam ernährt sich das Eichhörnchen...

      Ich habe es nun soweit hinbekommen das die Endschalter schalten :D

      Nachdem ich aber das Homing einrichten wollte, sprich ich den Homing Button betätigt habe kamen diese beiden Fehlermeldungen:


      Eventuell kann mir einer von euch dabei helfen...
      Gruß Dirk

      Wer Rechtschreibfehler findet, darf diese auch gerne behalten :S
    • Hallo.

      dickys68 schrieb:


      also was ich schon einmal berichten kann ist das es mit dem PIN13 nicht funktioniert hat. Da waren die Motoren nur ganz kurz am brummen. Nachdem ich es wie bei Estlcam auch auf einen "%V" PIN gemacht habe liefen auch alle Achsen.
      Ich weiß nicht, was ein %V-Pin ist, aber wenn dort 5V anliegt und damit Deine Motoren einschalten, dann sind Deine Treiber anders, als es GRBL erwartet. Es erwartet standardmäßig, dass die Treiber Low-Aktiv sind, d.h. 5V schaltet die Motoren aus und 0V an. Haben die Motoren zufälligerweise gebrummt, als Du die serielle Verbindung mit dem Arduino aufgebaut hast? Dann war das das Blinken der Pin13 LED vom Bootloader. Falls das der Fall ist, musst Du GRBL einfach sagen, dass Dein Stepper Enable-Signal invertiert werden soll. Dazu einfach $4=1 setzen. (Wobei ich es, wie gesagt, unpraktisch finde, wenn das Blinken beim Starten auf dem Enable Pin passiert. Eine feste Verdrahtung zu 5V fände ich aber auch unpraktisch, wenn man doch mal was per Hand an den Achsen machen will. Daher finde ich einen Schalter gut.)

      dickys68 schrieb:

      Nachdem ich aber das Homing einrichten wollte, sprich ich den Homing Button betätigt habe kamen diese beiden Fehlermeldungen:
      Das sind sehr wenig Informationen. Ich kann da nur raten. Ich vermute mal, dass die Z-Achse sich kurz nach oben bewegt und dann die Fehlermeldung kommt?

      Beim Homing sucht GRBL mit der Geschwindigkeit in $25 die Limit Switches. Wenn es sie gefunden hat, dann fährt es $27mm zurück und fährt viel langsamer ($24) noch mal dagegen. Damit dauert die Referenzfahrt nicht ewig und man hat trotzdem einen genauen Wert.

      Wenn GRBL jetzt meint, dass Deine Limit Switches schon geschaltet sind, dann wird das schnelle Suchen übersprungen und er fährt einfach die angegebenen mm in $27 zurück. Wenn die Schalter danach immer noch gedrückt sind, dann schmeißt es einen Fehler.

      GRBL erwartet außerdem standardmäßig, dass die Schalter normally open sind. Falls Du Deine Schalter aber als normally closed geschaltet hast, dann wären sie für GRBL so erst mal dauernd gedrückt und es könnte die Fehlermeldung von Dir erscheinen. Abhilfe hilft es, GRBL zu sagen, dass die Limit Switches invertiert sind: $5=1

      Falls es das nicht ist, bräuchte ich mehr Informationen. Deine GRBL-Einstellungen ($$) und was genau passiert, wenn Du den Home-Knopf drückst und wie Du getestet hast, dass die Schalter jetzt schalten und ob sie NO oder NC sind.

      Viel Erfolg,
      Lars
    • Hallo Chaotix,

      hier nun erst einmal meine Konfiguration:


      Meine Verfahrwege sind:
      Verfahrweg X: 769mm x 1,5 = 1153mm
      Verfahrweg Y: 465mm x 1,5 = 697mm
      Verfahrweg Z: 172mm x 1,5 = 258mm

      dann hatte ich im Netz gefunden das man diesen mit dem Faktor 1,5 multiplizieren sollte.

      Bei "$23" weiß ich auch nicht was ich dort eintragen soll, wenn ich vor der Machine stehe würde ich gerne meine Homeposition oben links haben sprich der Arbeitsbereich wäre dann frei.

      So zumindestens habe ich nun schon einmal geschafft das wenn ich den Homingbutton betätige, die Z-Achse schon einmal losfährtaber leider nicht bis zum Endschalter:
      Bilder
      • Homingfehlermeldung.jpg

        86,08 kB, 903×470, 1 mal angesehen
      Gruß Dirk

      Wer Rechtschreibfehler findet, darf diese auch gerne behalten :S
    • Hallo Dirk.

      Laufen Deine Motoren richtig? D.h. wenn Du sagst, er soll 10mm fahren, fahren sie dann auch 10mm? Deine steps/mm-Werte erscheinen mir unglaubwürdig. 5 Schritte pro mm in der Z-Achse wäre ja extrem grob. Wie weit hat er die Z-Achse denn wirklich bewegt? Die Maschine denkt ja, dass er sie 258mm gefahren hat. Wenn Du sagst, dass Dein Verfahrweg Z 158mm ist, dann ist das ja wahrscheinlich eher nicht richtig. Und dass GRBL aufgibt zu suchen, wenn er meint den angegebenen maximalen Verfahrweg zurückgelegt zu haben, halte ich für einen plausiblen Grund für einen Fehler.

      Ich würde erst mal die Grundfunktion (ohne Limit Switches) in Ordnung bringen, d.h. Homing deaktivieren ($22=0). Wenn das funktioniert, kannst Du immer noch die Schalter einrichten.

      Dazu solltest Du $100-$102 mit sinnvollen Werten bestücken. Die sollte man eigentlich präzise ausrechnen können, da man ja weiß wieviele Schritte die Motoren pro Umdrehung machen und wie weit die Maschine pro Umdrehung fährt. $110-$112 würde ich auch noch mal schauen, wobei mir vor allem $112 recht viel und $110 und $111 recht wenig vorkommen. Aber das hängt natürlich von Deiner Fräse ab und wie sie angetrieben wird. Prinzipiell kann man $110-$112 anfangs auch erstmal sehr konservativ setzen (=niedrig) und später dann schauen, wie schnell man wirklich fahren kann bis Schritte verloren gehen. (Das gleiche gilt für die Beschleunigung in $120-$122, aber die ist noch ne Stufe unwichtiger für den Anfang.)

      Die Verfahrwege der Maschine sollten auch genau in $130-$132 eingetragen werden ohne Faktor 1,5. Beim ausgeschalteten Homing, ist das aber auch erst mal egal. Die werden für die Soft-Limits benutzt, d.h. die Maschine weigert sich mehr als die Länge von der Home-Position zu fahren (wenn $20=1), was ein Sicherheits-Feature ist. Wenn Du das mit 1,5 multiplizierst, hört sie erst auf, wenn sie schon 50% über den maximalen Weg hinausgefahren ist. Das will man nun nicht wirklich.

      Zu den Achsen und Deinem Wunsch, dass der Null-Punkt oben links ist. Prinzipiell werden die Koordinaten nach der rechten Hand-Regel bei CNC-Maschinen vergeben, d.h. Zeigefinger zeigt in X+, Mittelfinger in Y+ und Daumen in Z+-Richtung. Das sollte auf jeden Fall so sein, da auch jedes CAM-Programm bei der G-Code Generierung davon ausgeht. Die Achsen kann man entweder durch die Verkablung umkehren (Stepper-Anschluss um 180° drehen (wenn möglich) invertiert die Laufrichtung des Motors) oder über $3 (Dir Port Invert Mask). 0 bedeutet, dass alles so in die richtige Richtung fährt. Mit 1 invertiert man die X-Achse, mit 2 die Y-Achse und mit 4 die Z-Achse. Das kann auch addiert werden, d.h. 5, wie es bei Dir eingetragen ist, heißt, dass X- und Z-Achse invertieren werden.

      Dann ist es Konvention, dass die Koordinaten Deines Tisches zwischen 0,0,0 und den negativen Verfahrwerten (-769, -465, -171) in der gegenüberliegenden Ecke liegen, was anders als bei einem 3D-Drucker ist, der in postiven Koordinaten rechnet. Dein gewünschter Home-Punkt sollte also wahrscheinlich die Koordinaten (-769, 0, -171) haben. Ich meine, dass man das mit der Homing Dir Invert Mask hinbekommen sollte, habe das aber persönlich noch nie ausprobiert.

      Für den Anfang würde ich auch die Hard Limits deaktivieren ($21=0). Hard Limits sind sehr nett, wenn alles soweit läuft und man sich ganz sicher ist, dass man keine elektrischen Störungen drin hat. Das ist allerdings mit einer laufenden Spindel gar nicht mal so einfach... Ich habe bei mir aufgegeben, obwohl ich die Switches schon mit 24V und über nen Optokoppler leite. Aber alle paar Stunden kommt trotzdem noch eine Störung und damit hat das Werkstück wahrscheinlich ne Macke. Mit Homing und Soft Limits ist man aber eigentlich auch so schon auf ner recht sicheren Seite.

      Wenn Deine Motoren richtig laufen, d.h. die Richtung nach der rechten Hand-Regel und die gefahrenen Entfernungen in GRBL mit den Entfernungen der Maschine übereinstimmen, kannst Du die Verfahrwege richtig setzen und Homing aktivieren. Es sollte dann auf jeden Fall mindestens bis zum Schalter fahren (und optimalerweise anhalten :-)). Falls die Homing-Richtung nicht stimmt, kannst Du mit dem invertieren der Achsen in $23 experimentieren. Die Logik ist die gleiche, wie oben bei der Port Invert Mask beschrieben.

      Hoffe, es klappt jetzt,
      Lars
    • Hallo Lars,

      ich habe einen abgeänderten Nachbau einer CNC14 sprich mit Zahnriemenantrieb auf X und Y-Achse. Die 5mm hatte ich eingetragen wegen der KUS mit Steigung von 5mm. Hatte die Werte so aus Estlcam übernommen wo alles funzte...

      Bei Zahnriementrieb iszt das doch irgendwie anders zu rechnen wegen dem Flaschenzugprinzip oder?

      Gruß

      Dirk
      Gruß Dirk

      Wer Rechtschreibfehler findet, darf diese auch gerne behalten :S
    • Hallo Dirk.

      Ich kann Dir die richtigen Werte natürlich nicht sagen. Ich kenne auch die CNC14 nicht. Aber wenn die Fräse in Estlcam läuft, dann muss das doch die entsprechenden Werte kennen. Die muss man dort doch irgendwie wieder auslesen können.

      Ansonsten ist die erneute Berechnung aber auch nicht so schwierig. Du schaust wieviele Schritte Du pro Umdrehung brauchst und wieviel sich die Achse pro Umdrehung bewegt.

      Wenn Du einen normalen Schrittmotor mit 200 Schritten pro Umdehung (1,8° pro Schritt) hast und Deine KUS eine Steigung von 5mm, heißt das doch, dass die Achse 5mm mit 200 (Voll)Schritten fährt (wenn keine weitere Übersetzung mehr zwischen Motor und KUS vorhanden ist). Das wären dann 200 Schritte / 5mm = 40 Schritte/mm. Wenn Du jetzt noch Microstepping machst, dann musst Du das damit noch multiplizieren. D.h. bei 8-fach Microstepping wären das 320 Schritte/mm.

      Die Berechnung ist bei Zahnriehmen auch einfach analog. Du hast wieder einen normalen Schrittmotor mit 200 Schritten pro Umdrehung. Auf der Welle hast Du dann z.B. ein Zahnrad mit 20 Zähnen sitzen und einen Zahnriehmen mit 2,5mm pro Zahn. D.h. eine Umdrehung macht 2,5mm * 20 = 50mm. Also hast Du 200 Schritte / 50mm = 4 (Voll)Schritte / mm. Auch hier dann noch mit dem Microstepping multiplizieren und gut ist.

      Das sind natürlich nur Beispielberechnungen. Nur Du hast die genauen Werte.

      Tschüss,
      Lars
    • Hallo Lars,

      danke für deine Antworten ich hatte es gestern abend nach deiner Antwort Beitrag Nr.7 schon hinbekommen. Du hattest recht mein Step/mm waren erstens falsch und zweitens die Angabe bei $27 mit 1mm. Nachdem ich nun den Wert dort auf 3mm erhöht hatte klappte es auch direkt mit dem Homing :D

      Heute werde ich mich dann noch um $110-112 mal kümmern und testen.

      Hier dann mal meine Konfiguration noch von Gestern Abend nach dem Homing:
      Bilder
      • Konfiguration.jpg

        69,65 kB, 236×499, 3 mal angesehen
      Gruß Dirk

      Wer Rechtschreibfehler findet, darf diese auch gerne behalten :S
    • Hallo Lars,

      danke mit deiner Hilfe :thumbsup: habe ich es nun soweit an laufen bekommen das ich nun mit Inkscape eine Zeichnung erstellt habe, mit Estlcam dann weiterbearbeitet habe und als Fräsdatei erstellt habe. Anschließend mit BCNC dann die Zeichnung mit einem Stift anschließend auf`s Papier gebracht habe 8o 8o 8o .

      Ich habe ja geschrieben das hier ist ein tolles Forum mit tollen Leuten :thumbsup: :thumbsup: :thumbsup: .

      So nun muss nur noch die Frässpindel und Zubehör ankommen anbauen und dann die erste Jungfernfahrt machen, bei geglückter Jungfernfahrt kommen dann auch endlich mal Bilder dann zu meiner Fräse ;)
      Gruß Dirk

      Wer Rechtschreibfehler findet, darf diese auch gerne behalten :S

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von dickys68 ()

    • Hallo.

      Sind die steps/mm jetzt aus Estlcam übernommen? Bist Du sicher, dass die richtig sind? Falls Du da keine krummen Übersetzungen drin hast und metrische Teile benutzt, sind die steps/mm meiner Erfahrung nach eher "schöne" Werte und nicht irgendwas Ungerades (ich habe allerdings auch nur einen begrenzten CNC-Erfahrungsschatz). Die 317,5 steps/mm für Z sind ja verdächtig nahe an meiner Überschlagsrechnung mit 320 steps/mm. Auch bei den 79,917 steps/mm bin ich eher skeptisch, ob das nicht eigentlich 80 sein sollten.

      Die Fräse funktioniert natürlich auch mit ungenauen Werten, aber die Dimensionen der gefrästen Teile sind dann halt leicht daneben.

      Bei $110-$112 wird in der GRBL-Doku zu schauen, wie schnell Du fahren kannst bis Schritte verloren gehen und dann den Wert auf 80% zu reduzieren.


      Ansonsten würde ich noch die Soft limits als Sicherheitsfunktion einstellen.

      Tschüss,
      Lars

      P.S. Aber schön, dass es jetzt soweit erst mal läuft.