SC420 mit GRBL (OpenSource)
Hello Thomas,
i don't speak german, but with help of gogle-translate somehow managed to understand how to connect arduino/etc to Stepcraft420 main board. I have only few question about schematic: WZ-LEN(19), NO-AUS(21), ENDL-XYZ(23).
WZ-LEN(19), NO-AUS(21) those lines are used for what?
As i understood from message above, due to the fact that SC420 end switches are connected serially, one can't directly figure out which one touched. But i did't get how you overcome this in Grbl. Also which version of Grbl should be used? Stock build or master branch integrates your changes, or i should use version from Jörg archive?
Actually I have few spare Arduino Nano v3, so i think to use them. Optocouplers are optional or you just would encourage use them for additional safety?
In advance, thank you for answer.
Hallo kpykcb
Perhaps its me You ask to (too many Thomas here) ..
The WZ-LEN ist the digital input to determine if the tool length sensor (a simple switch) is activated. The software can use this to calculate the Z axis offset. With this You will get the Z-Zero at the surface from the workpiece.
In GRBL, this is not supported yet (Its on my list..)
The 'NOT-AUS' is the Input from the Emergency-Stop switch. By now, GRBL software does not recognize it - when you push the button and SC immediately stops (steppers are disabled), GRBL does not know and continues.
This is another issue do be done when I have more time..
ENDL-XYZ are the reference switches.
Due to the fact they are wired together, You will not know which axis is switched.
Thats why, first Z-axis is referenced, then X, then Y. But always one each other, You can not run it together.
In the GRBL source they dont care about this. We (Jörg and me) had to change it.
Here my code-snippet in limits.c, func 'limits_go_home()':
// Home Z-axis
homing_cycle ((1 << Z_AXIS), true, true, settings.homing_seek_rate);// Search Z-axis reference switch
delay_ms (10); // Delay to debounce signal
homing_cycle ((1 << Z_AXIS), false, false, settings.homing_feed_rate);// leave Z-axis reference switch
delay_ms (10);
// Home X-axis
homing_cycle ((1 << X_AXIS), false, true, settings.homing_seek_rate);// Search X-axis reference switch
delay_ms (10);
homing_cycle ((1 << X_AXIS), true, false, settings.homing_feed_rate);// leave X-axis reference switch
delay_ms (10);
// Home Y-axis
homing_cycle ((1 << Y_AXIS), true, true, settings.homing_seek_rate);// Search Y-axis reference switch
delay_ms (10);
homing_cycle ((1 << Y_AXIS), false, false, settings.homing_feed_rate);// leave Y-axis reference switch
delay_ms (10);
Jörg did it in the original arduino software, me in the adapted part of my PCB (with ATmega32). So, when You have an arduino You better use Jörgs version.
The GRBL is based on the master branch (0.8c) - its stable and is working well. the edge branch is in development, I dont advise You to take this.
I hope it was helpful..
Thomas
______________________________________
AutoCAD, FilouNC-12 und EstlCAM, SC420 mit
GRBL Eigenbau-Platine,
Für: Schiffs- und Flugzeugmodellbau sowie allgemeine Basteleien
Perhaps its me You ask to (too many Thomas here) ..
Hello Thomas, yes I addressed this question to you :). Thank you very much for answer! You approaching my first cut on SC420 😉 . I got it just last friday, but i have no PC with Windows, so i just made "Jog" in winpc-nc few times from laptop of mine friend.
The WZ-LEN ist the digital input to determine if the tool length sensor (a simple switch) is activated. The software can use this to calculate the Z axis offset. With this You will get the Z-Zero at the surface from the workpiece.
In GRBL, this is not supported yet (Its on my list..)The 'NOT-AUS' is the Input from the Emergency-Stop switch. By now, GRBL software does not recognize it - when you push the button and SC immediately stops (steppers are disabled), GRBL does not know and continues.
This is another issue do be done when I have more time..ENDL-XYZ are the reference switches.
I got this yesterday late evening while tried to compare Grbl pin assignment for Arduino Uno.
I connected some Arduino pins to SC, but didn't get any movement out of it :(.
SC420* | Arduino Nano V3 (Atmega328p)/Grbl |
3 (DIR-X) | 5 (Direction X-axis) |
7 (DIR-Y) | 6 (Direction X-axis) |
11 (DIR-Z) | 7 (Direction X-axis) |
5 (CLK-X) | 2 (Step Pulse X-axis) |
9 (CLK-Y) | 3 (Step Pulse Y-axis) |
9 (CLK-Z) | 4 (Step Pulse Z-axis) |
22 (GND) | Arduino GND Pin (do i need it?) |
* (pin numbering according to your Eagle schematic) |
Arduino get power form usb, so i didn't connected 5v from SC420.
I didn't connected other pins. Some because i have no 4th axis and tool length sensor.
But maybe I need to connect some other pins, and that's the reason why i can't move tool holder using Grbl?
SC420* | Arduino Nano V3 (Atmega328p)/Grbl |
21 (ENDL-XYZ) | 9,10,11 (Limit X-,Y-,Z-Axis) ? |
23 (NOT-AUS) | 8 (Stepper Enable/Disable) or A0 (Reset/Abort) ? |
I tried to flash Grbl 0.8c (hex release file):
/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328p -carduino -P/dev/tty.usbserial-AH025OWS -b57600 -D -Uflash:w:/Users/kp/Documents/DIY/cnc/stepcraft/grbl_v0_8c_atmega328p_16mhz_9600.hex:i
and hex file from Debug folder of Jörg's GRBL_SC.zip:
-C/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328p -carduino -P/dev/tty.usbserial-AH025OWS -b57600 -D -Uflash:w:/Users/kp/Documents/DIY/cnc/stepcraft/GRBL_SC.avr/GRBL_SC/Debug/GRBL_SC.hex:i
And, I still interested, does it safe enough to run arduino without optocouplers, as you use them in your own board?
Due to the fact they are wired together, You will not know which axis is switched.
Thats why, first Z-axis is referenced, then X, then Y. But always one each other, You can not run it together.
In the GRBL source they dont care about this. We (Jörg and me) had to change it.Here my code-snippet in limits.c, func 'limits_go_home()':
Ok, thanks, i'll try to package this code to my brain line by line. I probably need to get familiar with Grbl code organisation.
Jörg did it in the original arduino software, me in the adapted part of my PCB (with ATmega32). So, when You have an arduino You better use Jörgs version.
The GRBL is based on the master branch (0.8c) - its stable and is working well. the edge branch is in development, I dont advise You to take this.
I hope it was helpful..
Thomas
Yes this was quite helpful, thanks. Sorry for a big amount questions :).
WBR, Alex
Hello,
i mostly solved my problem. Because I finally scrolled down to the end pin_map.h and found actual pin assignment used by Jörg, which by the way quite different from default :).
Now i can communicate with Grbl and move toolholder by all 3 axises. What still do not work for me is returning to home location and endswitches, SC don't try to stop when reach one of them, and sounds produced are scaring me :unsure:, so I'm switching off machine immediately. I configured Grbl with settings for SC420 provided by Jörg. But maybe issues that I'm facing are due to the fact that I'm a new to CNC and missing obvious things.
Hi
Have you checked that the limit switches are operating correctly.The X,Y & Z limit switches are wired in series and are normally closed. When a limit is reached the relevant limit switch opens and this is detected by GRBL.
When the homing signal is given the Z limit is checked first followed by the Y an finally X axis.
If ,for example, the Y limit switch is not functioning correctly then the Z limit will set correctly but as the Y limit is faulty the Y axis stepper motor will continue to run and this is the noise you are hearing.
This was the problem I had when setting up Jorgs version of GRBL-- my Z limit switch had jammed into the closed position.
regards
Gerry
Hello Gerry,
I will check this again today, now with tester, but visually they are ok, undamaged, all are unpressed, you can click them. Wired as per instruction.
kpykcb
I presume that you have set up the limits in software as described in post no. #1898 in this thread..
Gerry
sorry for my bad english i'm a italian user of SC.
I'm Angelo!
i like it, but i will try tu use the machine with a new software.
i need a lpt port for connect the pc with software to the SC.
i had read all the topic and in the first page i had look that if i remove the usb module i can use the lpt port simply in the same connector.
i known, there are a board extension for the lpt port, but i will do only a test, if i don't like the software i will mount again the usb controller!
it's time to my question:
everyone can look the "schematics" that i "produce" for cable the lpt port in the connection soket of usb module?
thanks a lot!
sorry again for my bad english!
Hi Angelo
Pinout as shown on your drawing is correct.
Gerry
good, so if i cable a lpt port with the same order i can use all the software for cmc that need a lpt port?
another questions, if i put anything wrong, i will make a danger on a control board of step craft?
thanks for the answer gerry!
A.
Hi Angelo
Printer cable has 25 pins.
On the Stepcraft pins 18-24 are ground. Pin 25 is for the cable screen which appears not to be connected to ground. Pin 26 is 5V(not required).
Common practice is to place a resistor(usually 100 ohm) on each input and output.This is to prevent excessive current flow and reduce the risk of damage just in case two outputs are connected together in error.Hope this helps.
Gerry
The connection between J1-24(cable screen) and X25(5V ground) is not required.
Gerry
Hi Jörg,
Ich möchte deine mod. Version von grbl für die SC600-1 verwenden, auf was muss ich achten?
Bzw. was muss ich außer dem max. Verfahrweg noch ändern?
In welcher der Dateien muss ich diese Änderungen vornehmen? - config und defaults?
Welche Anschlussart für den Arduino (Pinbelegung) verwendet dein Mod?
- ab grbl 0.9 sind ja Pin 11 und 12 getauscht worden.
Vielen Dank und Grüße.
Fate
- 44 Foren
- 7,396 Themen
- 63.3 K Beiträge
- 5 Online
- 26.5 K Mitglieder