Can't figure out how to make the offset feature work. So I must not understand. As example I have a pen tool so work height is the table top. This is my work flow: 1. I postion my C-Bean near the edge of the front left corner with the pen at the top of the table and I set this for zero XYZ then disconnect Grbl panel and reconnect to set all to zero. I then raise the z 1". I've previously created a simple 1" square box with 0 thickness in scetchup and used phlatzboyz extension to create the gcode. I've loaded this gcode in Grbl panel. I have 25.4 set in G55 in the x y coordinates. I have G55 as my active offset. What I expect to happen when I run the code is the pen to move 25.4 above and 25.4 to the right and then start running the code. Instead it runs the code from the x,y 0 position. I've attached a picute of my Grbl panel setup Bruce
Hmmm. My question has been here two weeks and no answer at all. Either I put it in the wrong place for people who might know the answer to see, no one knows the answer to my question, which I have a hard time believing, or maybe I didn't ask the question in a manner others understand. Let me try again. I use Sketchup to create a simple one inch square box out of some 1/8th inch light ply, I'm using a 1/16 diameter bit. I create the box in Sketchup at the inset 1/4" from the corner of the red and green pain. I use Sketchucam to create a outside tool path around the square. I have Sketchucam create the gcode. On my C-Beam I move the bit to the left from corner 1/8" above the waste board. I set this position as o, o, o. If I start the gcode I created earlier from this point the bit will move, allowing for bit diameter, 7/32 up and right and start the cut. I want to tell Grbl Panel to move 2" right and 2" up from o, o, o, and start the cut. I can go back to my original drawing in Sketchup and move the box that distance and then regenerate the gcode but that is a lot of trouble. How do I use the offset function of Grbl Panel to do this? How would I use it to cut two boxes next to each other with an offset? I think the software can do that. Thanks Bruce
I left this as I thought it was a repeat of a question I was already answering, sorry. Those answers are here and explain the difference between machine coordinates and work coordinates. Confused about homing, machine position, zeroing, etc What you are trying to do is set the machine co-ordinates for co-ordinate system G55. You can do this in 2 ways: first give the manual command G55 to set that active now jog the pen to the position you want. click the '0' button next to X and Y co-ordinates (or the 'set XYZ zero' button on the Work page). This saves the offsets for G55 so that when G55 is active, 0,0 will be where you put the pen. You can do the same thing for G54 through G59 and have 6 offsets so that you can select each offset in turn and run Gcode there, and have 6 identical items cut out for you in different places. You can even edit your Gcode file to have G54 cut code copy 1 G55 cut code copy 2 G56 cut code copy 3 etc to automatically cut the same shape up to 6 times. second way is to go to the 'offsets' panel type the offset you want into the box you need, say the X box next to G55 now double click the box to save the setting. you need to do this for X and for Y separately. SO if I have the tool at near,left of the cut area, and start GRBL, every value in the offsets table is 0, machine position is 0,0,0 as well. (do not move the tool at this point) now I type 25 in the G55 X box and double click, then the same for Y then click 'retrieve' button, I should see 25.00 in the X and Y boxes next to G55 now if I go back to the 'work' panel and issue 'g55' manual command to activate the G55 co-ordinates, I will see the work offsets change to -25 for both X and Y. The tool does not move! Now the command 'G0 x0 y0' will move the tool 25mm right and away to the G55 0,0 position, so if you started your Gcode file now, the cut would be at that defined 0,0 position. make sense?
good question Joe! In Gcode, some commands are modal, that is, they stay set until changed. For example M03 turns on the spindle in clockwise direction, and the spindle stays on until M05 turns it off. G01 is also modal though most Gcode does not use it as such G01 X5 Y7 X7 Y10 does the same thing as G01 X5 Y7 G01 X7 Y10 In the same way the co-ordinate systems are modal, once active they stay active until changed (and possibly even through power resets, depending on how much state information the controller saves). So, GRBL starts with G54 active and you need never change it if you don't use multiple fixtures etc. But if you issue a G55 command, that system will stay active until changed, and so on. A co-ordinate system that IS NOT MODAL is the machine co-ordinate system. To use it you have to specify G53 on every line: G53 G0 X0 Y0 Z0 will position the tool to the machine home (where it might access the tool changer) G53 G0 Z-20 might then pick up the new tool, but the point is that G53 has to be on every line that wants to use machine co-ordinates in this way.
Yeah, F and S (Feedrate and Spindle speed) are modal, if you do M03 S1000 M05 M03 the spindle comes back on at 1000rpm, same with feedrate, once you set it it will stay set. This means you need to have both spindle speed and feedrate set at least once at the top of every Gcode file so that you get know values. Picture this, you have just run a cut in balsa wood at 300inches a minute at 30000rpm and then change to aluminum. Bit of a shocker when the machine starts ripping though the ali (till the bit breaks) when it should be doing more like 20000rpm at 50IPM (-: Many others too, G81 hole drilling etc. Read all about it at (the unofficial/official reference) http://linuxcnc.org/docs/html/gcode/g-code.html (but do note that GRBL and other microcontroller based systems do not support all the codes listed there, if you need them then look at using LinuxCNC or Mach3), but the reality is that using just the basics that GRBL supports, you can do everything those advanced commands can do.
I truly was thinking about S too. Added to post. Personally, I have a bad habit of proofing a job partial way through, hitting estop, sending a G28, hitting cycle start. Guess where it goes? Right to the next line and at my G0 feedrate(from the G28). At least I still have the habit of keeping my paw on the Estop. It doesn't always save the part, but it usually saves the tool....well..most of the time! I put a post-it on my laptop reminding me to rewind. Seems to help.
David, thank you. I did find the other thread but got lost trying to use and make sense of it. This explanation makes sense to me. One thing I keep forgetting using Grbl Panel is to double click for something to be saved. I find this cumbersome specially when trying to change the basic setup. But that is another story. I did try to learn what was said at the other thread and apply it and see how it worked and learn from it but the darn double click I forgot didn't allow me to be successful. I also and not at the point I know gcode to understand what I'm trying to do. I haven't tried editing gcode or even sending a manual code. After all what code would I send. About the only manual thing I do at this point is jog the machine around and I've learned how to set 0, 0, 0. I've run some gcode created with SketchUcam but just couldn't figure out exactly how to plane where the gcode would cut. Thanks again Bruce
I will see what I can do about the double-click thing. I vaguely recall having trouble using something else for that but that was then. I know that with my arthritis getting slowly worse that double-clicking is becoming more of a challenge on bad days
GerrvitV, Thanks for considering a change to the double clicking thing. I've operated a lot of software over the last 30 years and have never run across double clicking to save something. I don't know how others feel but I dread changing a setting because I just haven't warmed up to exactly how to successfully do it. Maybe it's not the double clicking but the communication timing with the controller board. It took me a frustrating 2 hours to successfully change the initial setup. Bruce
Is there any way to make this controller Act and Function like a Funuc Controller? I need to be able to have multiple tool offsets( height and Diameter) and work offsets. Any help would be appreciated. Thanks!
No, the GRBL firmware is now using up all the spac in the microcontroller, there is just not any space to store tool offsets in the controller. The newest GRBL-HAL version may be working on this, see terjeio/grblHAL but you would need a new controller and drivers to use it. Failing that you will have to look at LinuxCNC or Mach3 as your controller. Yes, there are 6 work offsets available. G55 to G59. You should read the GRBL wiki (GRBL runs in the Blackbox) gnea/grbl Read all of it, knowledge is power! (-: