SOLVED X & Y axis moving too far. gShield microstep jumpers or software step/mm issue?

Hi,

Testing my new X-Carve, X and Y axis are moving too far.
I ran Easel setup config 4 times, always same result.
My setup is: 500 x 500 X-carve, ACME rod, Arduino Uno R2 grlb 0.9i, (tried 0.9j with same results) uploaded with latest Arduino IDE (I’m experienced in programing arduinos ).

In chillipeper, moving 1mm moves 5-6mm.
I guess it’s a steps/mm issue.
My gShield had only one jumper intalled when I received it. They were (and are still) set to
Z=2x
X=8x
Y=8x

Can anyone tell me what sould be the microsteping jumper setting and software steps/mm?

$$ in chillipeper gives:

Grbl 0.9i [’$’ for help]
$$
$0=10 (step pulse, usec)
$1=25 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=3 (dir port invert mask:00000011)
$4=0 (step enable invert, bool)
$5=0 (limit pins invert, bool)
$6=0 (probe pin invert, bool)
$10=3 (status report mask:00000011)
$11=0.010 (junction deviation, mm)
$12=0.002 (arc tolerance, mm)
$13=0 (report inches, bool)
$20=0 (soft limits, bool)
$21=0 (hard limits, bool)
$22=1 (homing cycle, bool)
$23=3 (homing dir invert mask:00000011)
$24=25.000 (homing feed, mm/min)
$25=500.000 (homing seek, mm/min)
$26=250 (homing debounce, msec)
$27=1.000 (homing pull-off, mm)
$100=250.000 (x, step/mm)
$101=250.000 (y, step/mm)
$102=188.976 (z, step/mm)
$110=500.000 (x max rate, mm/min)
$111=500.000 (y max rate, mm/min)
$112=500.000 (z max rate, mm/min)
$120=40.000 (x accel, mm/sec^2)
$121=40.000 (y accel, mm/sec^2)
$122=40.000 (z accel, mm/sec^2)
$130=290.000 (x max travel, mm)
$131=290.000 (y max travel, mm)
$132=200.000 (z max travel, mm)
$X

Thanks.

please note that I changed Z,X,Y accel parameters (120-122) on purpose. It has no impact on my problem. It’s just quicker to jog.

SOLVED!!

The microstepping jumpers are back to factory settings (Z=2x, X & Y = 8x)
Using ChilliPeppr:
I set the whole thing to METRIC, sending GCode G21
I entered the right values one by one in chillipeppr (Easel did not seemed to be able to change step/mm values. NOTE: I’m using an older Arduino UNO R2, that may be the reason).

And then I measured normal values. GREAT!

here are the settings I entered:

$0=10 (step pulse, usec)
$1=255 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=3 (dir port invert mask:00000011)
$4=0 (step enable invert, bool)
$5=0 (limit pins invert, bool)
$6=0 (probe pin invert, bool)
$10=3 (status report mask:00000011)
$11=0.050 (junction deviation, mm)
$12=0.002 (arc tolerance, mm)
$13=0 (report inches, bool)
$20=0 (soft limits, bool)
$21=0 (hard limits, bool)
$22=1 (homing cycle, bool)
$23=3 (homing dir invert mask:00000011)
$24=25.000 (homing feed, mm/min)
$25=750.000 (homing seek, mm/min)
$26=250 (homing debounce, msec)
$27=1.000 (homing pull-off, mm)
$100=40.000 (x, step/mm)
$101=40.000 (y, step/mm)
$102=188.947 (z, step/mm)
$110=8000.000 (x max rate, mm/min)
$111=8000.000 (y max rate, mm/min)
$112=500.000 (z max rate, mm/min)
$120=500.000 (x accel, mm/sec^2)
$121=500.000 (y accel, mm/sec^2)
$122=50.000 (z accel, mm/sec^2)
$130=290.000 (x max travel, mm)
$131=290.000 (y max travel, mm)
$132=100.000 (z max travel, mm)

Hope this can help other!

1 Like

Wow, been hunting the proper settings for UGS all morning until I found this. Easel script for some reason wasn’t fulfilling its setup script and failed to allow me to set the steps/in/mm for my machine. Thanks for posting these, they are spot on and work awesome.

Happy to help.

I’m curious: did you use the arduino that came from Inventables, or did you (like I did) use an arduino you had at hand? Mine is an older, version 2 arduino and I thought maybe that was the reason for the trouble.

I have a few R3’s onhand, so did not order one with my kit. I don’t think it was a fault of the Arduino itself, but rather the settings in GRBL. I am not sure what the Easel machine setup does behind the scenes but it SHOULD configure it you would think, maybe these settings are outside the scope for what easel does, and might be worth including into the configuration script? Just my two cents, but wanted to say thanks, it helped me a ton!

I have updated my Z settings lately. I believe it’s more tight. You may want to try this:

$102=188.976 (z, step/mm)

That’s not much but I often had some very small Z inconsistancies that do not happen anymore. (I’m using it to print PCBs)

Wish you good fun with your X-Carve! - I do have a loooooooot!

sorry for the delay, work got in the way :smile: anyhow, I have the ACME drive rod, and checked my GRBL settings and am already at 188.976 so maybe the configurator on the Easel page did its job that far…
having fun, finally figured out how to get UGS to work properly, aside from it inverting my machine position after homing home is bottom left facing machine, x increments left to right, Y increments bottom to top (moving away) so homing works, limit switches doing their thing, but when finished, UGS says work position x0, y0, z0 and machine position as x - 31.063, y -31.063 and z -0.039 I have a 1000mm xcarve so 32x32 is close, I’ve held back a little at the extents for soft limits. now if I could figure out how to make the machine and work positions agree at the end of a homing cycle I’d be set.

Hi,

I have the same “bug” here. Look like we inverted the wiring of the motors, but I double checked and it’s ok. We’re not alone in this situation. I did not took time to dig into that, as I always do a zeroing after homing, but it’s annoying. if you get that answer, let me know!

I have the same issue.

Super new to this whole experience. Looks like the common issue appears to be using an arduino that was not supplied by Inventables. I had to replace my arduino when my dog decided to help open the arduino box for me and ruined the board. I was able to upload the new grbl to the board, but still have the issue with x&y moving much further than it should.

Stupid question, but how were you able to copy the code? When I try, i don’t have the option to select any of the values, only able to read, not select…

If you are using Universal Gcode Sender, just doubleclick on the value you want to change, make the edit, then be sure to save before closing the settings window.

Which version of UGS are you using? I’m using 1.0.8 and the Machine and Work position are always reported in mm.

$13=0 (report inches, bool)
set this value to 1 or 0 to get mm or inches values.

the -31.063 (inch) or -289.000(mm) issue is not related to the G code software used (I have the same result in chillipeppr and UGCS). I think it is related to the arduino.

Did you use an Arduino provided by Inventables or did you use one you had at hand?

I think on certain arduino versions, the easel software is not able to write values to the arduino’s non-volatile memory. That’s why some of us need to enter step motor values manualy. Unfortunatly, there is no parameter (that I know of) that we, mere mortals, can flip to reset the machine’s coodinates to X and Y values to zeros.

I asked Inventables Help desk, but did not get an aswer that solved the thing. They just told me I can use 92 to offset the coordinates, wich is fine but does not solve the problem.

ABOUT THE -31.063 (inch) or -289.000(mm) issue:

In the grbl technical details, it is stated that the limit switch are meant to be located at the farthest points (NEAR = 0,0 = LOWER LEFT corner).

I even modified my xcarve to move the limit switches to the the farthest points (UPPER RIGHT), inverting grbl values about homing direction ($23), and hoping that the software would recognise the new setup.

No luck: coordinates stays the same: 0,0 is at upper right and lower left is still -289,-289!!

I think I will try again to use those direct memory flashing sorfware to send a compiled memory image to the arduino. But, and this may be related to the same problem, last time I tried, it just jammed forever, leaving the arduino unprogramed. As I happen to be a seasonned arduino programmer, I used the source code and arduino compiler to program my arduino.

:grimacing:

Duh, I had UGS on the brain. Forgot about the grbl setting.

My machine used to report Machine co-ordinates in the negative, but it doesn’t now. Only thing I can remember that changed was that I upgraded from grbl 0.9i to grbl 0.9j

When I tried to use the hex file linked to be the Inventables web site for 0.9j it would not work.

I download the source for version 0.9j, compiled it and flashed it to the Arduino and that worked.

EUREKA!

OK, Maybe I’m too quick on fiesta, but I think I’ve found something that (finally?) resolve the -31.063 (inch) or -289.000(mm) issue!!!

Simply put, run a homming cycle ($H), and run this command in chillippre or UGCS:

G10 L20 P0 X0 Y0 Z0

The machine coordinates will still be -289 BUT, it sets the WORK coordinates to 0,0 AND THEY ARE PERMENANT!!! That’s what we want. So, event after an E-Stop, crash, messing the position by hand etc., the main coordinates in chillipeppre and work in UGCS will be 0,0 after a homing cycle.

That’s what I needed.

FINALLY! :smiley:

I’ll be exploring this new (to me) area of work coordinate systems as the can be many of them. I guess it could be usefull to set other 0,0 (when using semi-permenant guides for holding PCBs…)

Sorry, didn’t know that this is what you were looking for. In UGCS on the Machine Tab press the “Reset Zero” button. That will generate G10 P0 L20 X0 Y0 Z0 which does the same thing as your G code line.

You can do this anywhere you position the machine. So, if you HOME your machine and jog the spindle to X5 Y5 Z-5 then press the “Reset Zero” button your Work Zero is now located at Machine 5,5,-5.

If you HOME your machine after doing this then the Work Position will be -5,-5,5 because you set your Work Zero at 5,5,-5.

Be careful if you try to use the “Return to Zero” button because it doesn’t act like you would expect. The “Return to Zero” button uses the G28 command which works with Machine Position and that location must be set with a G28.1 command.

If you have not set the G28.1 position then it could be pointing anywhere. Once set it doesn’t change unless you enter another G28.1 command.

I might have found the machine/work coordinate setting, I am recompiling now as it is actually in the GRBL code. I’ll try it out shortly and see how it goes and report back…