SC420 mit GRBL (Ope...
 
Benachrichtigungen
Alles löschen

SC420 mit GRBL (OpenSource)

59 Beiträge
13 Benutzer
0 Reactions
43.9 K Ansichten
Jörg Schnitzer
(@joerg)
Beiträge: 175
Estimable Member
Themenstarter
 

Hallo Stepcraftler,

für meine SC420 habe ich den freien CNC Controller GRBL ( http://bengler.no/grbl) modifiziert. Die Idee ist entstanden, weil ich schon etwas kompliziertere Sachen mit der Starter-Version nicht mehr machen konnte (HPGL ist nicht so direkt eine Sprache für Fräsen und von Estlcam 2.5D erstellte GCode Dateien konnte die Version gar nicht erst öffnen) und dann auch noch meine USB-Karte schlapp gemacht hat (erkennt die Referenzschalter nicht mehr). Also große Version kaufen oder DIY.

GRBL ist eine Open-Source-Software, die mit einem Arduino (eigentlich einem AVR ATmega328P Mikrocontroller) eine dreiachsige CNC Maschine steuern kann. GRBL nimmt Befehle über eine serielle Schnittstelle (oder USB-Seriell Adapter) entgegen und versteht direkt GCode Befehle wie z.B. "G0 X100 Y200". Daraus macht GRBL, wenn die Maschinenparameter eingestellt sind, Impulse und Richtungssignale für die Stepper.

Viele Dinge konnten in der Software (GRBL 0.8c) entweder eingestellt (Maschinenparameter) oder im C-Quellcode angepaßt werden, wie z.B. die Pinbelegung. Neu implemtiert habe ich die Routinen für das Homing (die Stepcraft signalisert nur, dass irgendeine Achse auf dem Referenzschalter ist, aber nicht welche) und das manuelle Fahren (Jogging).

Leider kann GRBL in der aktuellen Version nicht eine 4. Achse (3D-Druckkopf!) ansteuern, aber es gibt da schon Alternativen, TinyG (AVR Xmega) oder Smoothie (ARM), die von GRBL abstammen.

Grundsätzlich kann man über jedes Terminalprogramm (z.b. PuTTY) Befehle an GRBL senden, zur Abarbeitung von Fräsjobs und Einstellung des Nullpunkts ist eine Controller-Software aber nicht unpraktisch. Da keiner der (frei) verfügbaren GRBL Controller bei mir so richtig funktioniert hat, habe ich einen eigenen, passend zu den Funktionen des modifizierten GRBL-Controllers, programmiert.

Über den Weihnachtsurlaub werde ich die Software noch etwas geradebiegen und dann, wenn Interesse besteht, gerne weitergeben.

Viele Grüße,

Jörg

 
Veröffentlicht : 01/12/2013 8:29 pm
Thomas Semmler
(@thomasdbg)
Beiträge: 1091
Noble Member
 

My lovely Mr. Singing club, ich habe von diesen Dingen zwar keine Ahnung, aber das schaut gar nicht mal so schlecht aus!

Produktevangelist 🙂

Es grüßt mit der Ihm gegebenen Freundlichkeit...

...der Thomas

 
Veröffentlicht : 01/12/2013 10:19 pm
Andreas
(@magio2)
Beiträge: 2619
Famed Member
 

Hallo Jörg,

sieht so aus, als ob ich am Ende auch in die Richtung gehen werde. Da ich noch null Ahnung von CNC habe macht es sicher Sinn mit der fertigen USB-Lösung etwas zu experimentieren und nach und nach entsprechende Modifikationen vorzunehmen.

Kennst Du auch diese SW zum senden von G-Code an GRPL: https://github.com/winder/Universal-G-Code-Sender

Man muss ja nicht unbedingt das Rad neu erfinden - wenngleich das natürlich mehr Spaß macht und ich eventuell GRPL auch nochmal auf einen anderen uC portieren will.

Auf jeden Fall danke für den Schubser in diese Richtung!

Gruß,
Andreas

SC 420 mit DIY parallel + Proxxon mit Mod + HF500 + SprintLayout + LibreCAD/QCAD + FreeCAD +WinPC starter/USB->EstlCAM + EstlCAM LPTAdapter + EstlCAM Handrad + DIY Vakuumtisch

Gruß, Andreas

 
Veröffentlicht : 02/12/2013 9:42 am
Jörg Schnitzer
(@joerg)
Beiträge: 175
Estimable Member
Themenstarter
 

Hallo Andreas,

vor der 420 war ich CNC-technisch total blank. Während der "Überlegensphase" (Soll ich? Soll ich nicht?) habe ich mich dann reichlich schlau gemacht und mich durchs Internet gelesen. Wie Du fand' ich die out-of-the-box Lösung klasse und ein wichtiger Grund die Stepcraft zu kaufen war USB. Das Pin-gewackel a la Mach 3 oder EMC2 mit einem alten Halb-Schrott-PC finde ich nicht mehr zeitgemäß. Dazu auch immer die Warnungen ("Geht nicht mit einem USB-parallel Adapter!", "Geht nicht mit jedem Mainboard!") danke, nö.

GRBL hat ja den Charme, die Intelligenz, naja, in die Maschine zu verlegen und damit total plattformunabhängig zu sein. Wie gesagt, Terminalprogramm öffnen, verbinden mit Fräse, "G0 X150" eingeben und die Stepcraft macht einen Satz nach rechts. Außerdem kostet das fast nichts, die Teile hatte ich "zufällig" alle da und auch neu kommt man nicht über 15 Kröten.

Zu Deiner Frage mit der Software:

Äh, nee, die habe ich nicht ausprobiert. Sieht aber chique aus! Zwei andere hatte ich ausprobiert, bei einer hat's mit der Kommunikation nicht geklappt, bei der anderen waren die Achsen falsch. Ausserdem gefiel mir das Jogging nicht, da muss man immer die Schrittweite vorher eingegen und die Maschine läuft dann um diesen Betrag. Da ist das "Taste drücken - halten - loslassen" schon angenehmer.

Ausserdem, das sieht man dem Layout vielleicht schon an, soll das Ding mal in Hardware gemacht werden, also fräsen ohne PC.

Grüße,

Jörg

 
Veröffentlicht : 02/12/2013 8:37 pm
 hans
(@garbl)
Beiträge: 3
New Member
 

Hallo Jörg

Ich bin ebenfalls eine SC420 am umbauen auf Arduino/GRBL. Finde hierzu aber leider keine Pinbelegung des 2-Reihigen Stiftleisten Stecker, nur die des 25pol D-Subs. Da ich nur ein USB-Modul habe und kein Parallel-Modul, ist dies schwierig raus zu finden.(Habe nur Pinbelegung des 25pol D-SUB)

Hast du evt diese Pinbelegung?

Besten Dank und Gruäss

Hans

 
Veröffentlicht : 28/12/2013 2:49 pm
Jörg Schnitzer
(@joerg)
Beiträge: 175
Estimable Member
Themenstarter
 

Hallo Hans,

schön, dann sind wir schon mal zwei!

Die Pinbelegung ist recht simpel, und wenn Du die vom D-SUB 25 hast, bist Du schon ganz nah dran!

Wenn Du auf die Pins schaust (Bauteile oben):

1 2 3 4 5 6 7 8 9 10 11 12 13
14 15 16 17 18 19 20 21 22 23 24 25 26

Pin 1 ist der, an dem auf der Haupplatine SV1 steht, landet dann bei den 90° Pfosten "oben vorne"

Pin 26 hat 5V und speist das USB Modul.

Obwohl schon auf der Hauptplatine integriert (RN1-RN7) habe ich noch jeden Pin mit einem 100Ohm Widerstand geschützt.

Bin dann mal gespannt, wie Deine Lösung aussieht! Welche Steuersoftware willst Du benutzen?

Grüße und ggf. schonmal einen guten Rutsch,

Jörg

 
Veröffentlicht : 28/12/2013 4:38 pm
 hans
(@garbl)
Beiträge: 3
New Member
 

Hallo Jörg,

Danke für die schnelle Antwort.
Sehe ich das richtig, dass in dem Fall die Verbindung von DSUB zu 26Pol Stiftleiste 1:1 ist? Also PIN1 DSUB auf PIN1 Stiftleiste?
Ref: ( https://www.stepcraft-systems.com/images/Service/Anschlussplan-v1.pdf)

Vorerst benutzen wir die GCode Sender Software. Haben die Fräse momentan noch über ein GShield mit Arduino angeschlossen. Aber wie du, möchte ich aber eigentlich die vorhandene Motorensteuerung übernehmen.

Werde dazu evt noch ein Layout designen, quasi ein Trägerboard für den Arduino UNO mit 26Pol Anschluss für die Stepcraft Elektronik. Fotos werden Folgen 🙂

Gruss aus der Schweiz

Hans

 
Veröffentlicht : 28/12/2013 5:08 pm
Jörg Schnitzer
(@joerg)
Beiträge: 175
Estimable Member
Themenstarter
 

Hallo Hans,

Sehe ich das richtig, dass in dem Fall die Verbindung von DSUB zu 26Pol Stiftleiste 1:1 ist? Also PIN1 DSUB auf PIN1 Stiftleiste?
Ref: ( https://www.stepcraft-systems.com/images/Service/Anschlussplan-v1.pdf)

Das siehst Du genau richtig! Normalerweise haben Pfostenstecker ein anderes Nummerierungsschema, aber hier liegen die Pins eben nebeneinander, das war's. Zusätzlich ist Pin 26 (unten rechts) +5V, ich benutze die für den Controller, das USB Modul speise ich vom USB-Port am PC.

Meine GBRL Settings habe ich mal angehängt, ist vielleicht als Startpunkt nützlich.

Habe gerade mal einen Uno gegen meine "Platine" gehalten - sind praktisch gleich groß! Eventuell kommst Du aber mit den Befestifgungsbolzen in Konflikt.

Welche Version von GRBL verwendest Du?

Viele Grüße (im Moment aus Berlin),

Jörg

 
Veröffentlicht : 29/12/2013 10:50 am
(@gerrykeely)
Beiträge: 6
Active Member
 

Hi Jorg

I have also connected grbl to my SC420. I would be very interested in a copy of your controller program and your grbl modifications, if you are willing to share.

best regards

Gerry

 
Veröffentlicht : 14/01/2014 12:38 pm
(@thomas)
Beiträge: 184
Estimable Member
 

Hallo zusammen,

Ich verfolge diesen Thread mit wachsendem Interesse und möchte mich gerne einklinken...

Die Idee mit Arduino und Gbrl finde ich super!

Ich habe mal die letzten Tage eine Schaltung samt Board entwickelt, die man anstelle dem LPT-Adapter reinschieben kann. Diese enthält im Prinzip das Arduino plus optisch entkoppelt den FTDI USB-Seriell Wandler.
Den ATmega238 habe ich durch einen ATmega32A ersetzt, einfach weil er ein JTAG hat und ich so das Ding debuggen kann.

Die Leiterplatte ist gerade im PCB-Pool in Arbeit.

Die Gbrl Software (Stand 0.8) bedarf aber glaub ich einer Überarbeitung, da sie nicht auf nur einen Endschalter ausgelegt ist. Man muss Z anfahren - freifahren, dann X - dann Y. Zusammen geht nicht (homing_cycle in limits.c)

Ich bleib auf alle Fälle dran - wenn Interesse an der Schaltung / Board besteht, sagt bescheid..

Grüße aus Calw
Thomas

______________________________________
AutoCAD, FilouNC-12 und EstlCAM, SC420 mit
GRBL Eigenbau-Platine,

Für: Schiffs- und Flugzeugmodellbau sowie allgemeine Basteleien

 
Veröffentlicht : 18/01/2014 12:38 pm
 hans
(@garbl)
Beiträge: 3
New Member
 

Hallo Zusammen

Wir haben unseren Umbau/Fortschritt mal auf unsere Homepage etwas dokumentiert.

Link zur Doku

Ich hab mich für einen Teensy als Kontroller entschieden, da wir diesen schon häufiger einsetzen und er doch sehr handlich ist.
Dazu musste allerdings der GRBL Code etwas angepasst werden.
Schema und Code können wir sonst gerne bereitstellen falls Interesse da ist.

Das ganze funktioniert mit Universal G-Code Sender recht gut.

Gruss Hans

 
Veröffentlicht : 18/01/2014 5:18 pm
Jörg Schnitzer
(@joerg)
Beiträge: 175
Estimable Member
Themenstarter
 

@Gerry

Hi Gerry,

thanks for your interest in my GRBL solution for the SC mills!

Of course I like to share the code, see the attached files. "GRBL_SC" is the modified GRBL 0.8c as AVR Studio 6.1 project, "GRBL Ctrl" is the controller software which is a VB2ß10 project.

The modifications I made to GRBL was primarily the homing cycle, to accomodate the fact, that all reference switches are connected in series.

As GCode differs from WINPC-NC in moving the Z-axis (as I understand in GCode the lowest position is 0 in opposite to WinPC-NC where the highest position is 0), the position of a SC420 is X = 0, Y = 418, and Z = 81 when the homing cycle is completed. To tell GRBL were the absolute coordinates of the machine are after homing (because they are not simply X=0, Y=0, Z=0) I used the G28 position, which is read after homing. The G28 position is permanently saved in the EEPROM of the AVR.

To set it, simply move "virtually" (GRBL WITHOUT the mill connected) to that position by typing

G0 X0 Y418 Z81

for the SC420 in your favourite terminal program (PuTTY), check if the position is reached with some "?" commands, and type

G28.1

to store that position. Done. For the other models change the Y coordinate appropriately.

The second modification I did was to implement jogging in the hit & hold button -> move, realease button -> stop manner. The start command is a move in machine coordinates either to max or minimum position i.e. "G53 G1 F1800 Y0" to move fast to Y0 (to the front). The movement is stopped by sending "*" as a runtime command to GRBL. It works like feed hold ("!") but clears the buffer to cancel the command, wich is of course not completed. After "*" the machine is idle and ready for the next command. G53, which GRBL luckily supports, moves in machine coordinates so that it not depends on the current work-coordinate system. This way jogging is very easy. Another benefit is, that jogging moves do not exceed the physical machine limits, they are "automatically" stopped at the far ends.

Oh, I nearly forgot to mention that I've modified the pinout to accomodate my perfboard layout!

A warning for my GRBL_SC controller: it is far from being finished yet! So all of the parameters are set in the source code, even the com port number. But hey, try it out and of course you are welcome to give a lot of feedback.

Some hints to use it:
- Most of the controls are locked before homing. Homing and having the correct absolute coordinate is essential for my jogging mechanism.
- In the "File" menu there is "Show Log" which is more or less the communication log with GRBL.
- After loading a GCode file it is checked for errors. If there are any, "Play" or "Go" ist blocked.
- Goto "X0", "Y0" and "Z0" are blocked as long as you diddn't have set them.
- There is security feature which moves the Z-axis to the maximum height prior moving to X0 or Y0.

Have fun testing and let me know how it works for you!

@Thomas:

Hallo Thomas,

GRBL und die Fräse passen prima zusammen! Natürlich hätte ich gerne eine Platine, natürlich gegen Unkosten etc.! Die galvanische Trennung über die Optokoppler finde ich super. Geht zwar auch ohne, ist aber ein echtes Sicherheitsfeature.

Ich hoffe, Du bist aus den Erläuterungen für Gerry schlau geworden, genau, mindestens das Homing musste angepaßt werden, ist aber erledigt! 😉

Allerdings werde ich mich wahrscheinlich eher um TinyG kümmern, weil GRBL ja die 4. Achse fehlt. Das ist für den 3D wichtig, an dem ich ja auch dran bin. Vielleicht schaust Du Dir das mal an und machst dafür auch eine Platine?! Da ist ein AT Xmega verbaut.

@Hans:

Hallo Hans,

der Teensy ist ja wirklich süß! Ich hatte die Teile schon rumliegen, so ist es der etwas gröbere Lochrasteraufbau geworden. Aber Thomas hat ja eine Platine gemacht...

@Alle:

Viele Grüße,

Jörg

Sorry, but I can't attach the ZIP files with the aource code, please send a PM!

@Thomas (Dbg):

Kann man keine ZIPs anhängen? Die sind weit unter 1MB!?

 
Veröffentlicht : 18/01/2014 7:39 pm
(@thomas)
Beiträge: 184
Estimable Member
 

@ Jörg,

Die Erläuterungen an Gery sind nun klar, ich hatte mich schon gefragt, wie das mit der Referenzposition (WinPC-NC) beim Grbl funktioniert. Kannst Du bitte Deine Änderungen mal attachen?
Übrigens, das Anfahren der Ref-Schalter ist zumindest bei mir mit PC-NC nicht ohne. Schneller als 5mm/s und die Achse fährt hart auf Anschlag, obwohl der Schalter aktiviert wird (Schrittmotor macht weiter). Wäre es nicht sinnvoll, den Grbl Code so umzustricken, dass die Achse erstmal recht schnell (20mm/s) an den Schalter fährt, dann ca. 2mm freifährt und nochmal gaaanz langsam zurück zum Schalter - das geht schnell und sehr genau.
Was mir an Grbl noch fehlt, ist die Einstellung für Umkehrspiel. Ich weiss nicht - die Paarung Stahl-Spindel auf Plastik scheint mir nicht ganz koscher. Was ist Deine Meinung?
Auf alle Fälle - Dank an Dich für Deine Mühe und den Schubser in die richtige Richtung!

Wenn Du eine Platine willst, ich hab 2 machen lassen (bei PCB-Pool bezahlt man erst ab 1/2 Europaformat mehr). Eine wäre also übrig, ich würde sie Dir schenken.

Die Eagle Files sind angehängt (in der Demo von Eagle auch änderbar), ich hoffe ich habe keine Patzer drin.
Ich hab alles als SMD gewählt, da der FTDI chip nur als solcher verfügbar ist (Reichelt). Das 'Hühnerfutter' und den ATmega sollte man auch schaffen zu löten. Übrigens habe ich einen zusätzlichen IIC Verbinder vorgesehen, mir schwebt noch eine steckbare Platine mit LED-7-Segmentanzeigen für die Position und einem Joystick zum manuellen Fahren vor. Außerdem wäre ein nichtflüchtiger Speicher nicht schlecht, der die Position batteriegepuffert hält.

Zum TinyG Projekt: Ich glaube das Teil hat Suchtfaktor, und wie ich mich kenne, lässt es mich nun nicht mehr los. Aber jetzt ziehe ich erst mal die Gbrl Lösung durch. Rechne auf alle Fälle mal damit, dass es demnächst dafür auch Leiterplatten gibt. Ich habe mir die Schaltung angesehen, sollte man eigentlich hinbekommen.

Da ich aber in Sachen CNC noch Anfänger bin, fange ich einfach klein an, also mit dem Grbl. Und für meine Schiffsmodelle reichts allemal.

@Hans
Die gefräste Platine sieht absolut perfekt aus - Hut ab!
Da verblassen doch all die Unkenrufe derer, die meinen, die Stepcraft sei nur Spielzeug.

Viele Grüße

Thomas

______________________________________
AutoCAD, FilouNC-12 und EstlCAM, SC420 mit
GRBL Eigenbau-Platine,

Für: Schiffs- und Flugzeugmodellbau sowie allgemeine Basteleien

 
Veröffentlicht : 19/01/2014 12:58 am
Jörg Schnitzer
(@joerg)
Beiträge: 175
Estimable Member
Themenstarter
 

Hallo Thomas,

vielen Dank für Dein Angebot mit der Platine, nehme ich gerne an! Aber nur wenn ich Dir mindestens das Porto schicken darf und sie bei Dir funktioniert und Du die zweite nicht als Backup brauchst!

Beim Homing ist, wenn ich es richtig verstanden habe, die Referenz-Position vor den Tastern. Also fahre ich die relativ schnell an und dann ganz langsam wieder frei. Das läßt sich aber über die Parameter $19 (homing feed) und $20 (homning seek) einstellen, derzeit bei mir 900mm/s und 120mm/s. Natürlich kann man das ein paarmal wiederholen, aber der Referenzpunkt (bzw. dessen absolute Genauigkeit) ist eigentlich nicht so maßgebend, man legt ja sowieso einen Werkstücknullpunkt fest.

Zum Umkehrspiel kann ich Dir nicht viel sagen, dazu bin ich nicht Maschinenbauer genug. Aber es ist sicher sinnvoll, das in GRBL zu implementieren, eigentlich komisch, dass das nicht drin ist, es laufen doch soviele Maschinen damit. Für mich fast wichtiger wäre der Werkzeuglängensensor und eine Funktion "$T" um Z0 zu bestimmen.

Jetzt versuche ich nochmal die Dateien anzuhängen! :unsure:

Viele Grüße,

Jörg

P.S.: Es klappt einfach nicht mit den Files, Du kannst mir aber gerne eine PN mit Deiner E-Mail Adresse schicken!

 
Veröffentlicht : 19/01/2014 2:18 am
Andreas
(@magio2)
Beiträge: 2619
Famed Member
 

... derzeit bei mir 900mm/s und 120mm/s. ...

WoW ... fast einen Meter pro Sekunde ... dass das die Stepper hergeben! 😆

SC 420 mit DIY parallel + Proxxon mit Mod + HF500 + SprintLayout + LibreCAD/QCAD + FreeCAD +WinPC starter/USB->EstlCAM + EstlCAM LPTAdapter + EstlCAM Handrad + DIY Vakuumtisch

Gruß, Andreas

 
Veröffentlicht : 19/01/2014 2:31 am
Seite 1 / 4
Teilen: