First time using SO 3 - Positioning path cutting into stock

WillAdams
Posts: 8489
Joined: Mon Apr 09, 2012 6:11 pm
Location: Pennsylvania --- south of the Turnpike, East of US-15
Contact:

Re: First time using SO 3 - Positioning path cutting into st

Post by WillAdams » Tue May 26, 2015 12:45 am

Presumably, your machine is set to

Code: Select all

$3=6 (dir port invert mask:00000110)
which has Y and Z reversed.

To unreverse Z, we want to add or subtract 4, so let's try subtracting first, send $3=2 and see if that sets things to be correct.
Shapeoko 3XL #0006 w/Makita RT0701 Router w/0.125″ and ¼″ Elaire precision collets
Nomad 883 Pro #596 (bamboo)

WillAdams
Posts: 8489
Joined: Mon Apr 09, 2012 6:11 pm
Location: Pennsylvania --- south of the Turnpike, East of US-15
Contact:

Re: First time using SO 3 - Positioning path cutting into st

Post by WillAdams » Tue May 26, 2015 12:53 am

Even working blind, worst case is there are a total of 8 possible combinations, and w/ a bit of judicious testing one should be able to step through all of them and determine what matches how your machine is wired pretty easily.

Regardless of how things work out, please contact support@carbide3d.com and let them know what difficulties you had, and what you did to fix it so that they can figure out why / how it is that this is getting reversed.

Thanks and good luck!
Shapeoko 3XL #0006 w/Makita RT0701 Router w/0.125″ and ¼″ Elaire precision collets
Nomad 883 Pro #596 (bamboo)

faresende
Posts: 10
Joined: Sun May 24, 2015 7:23 am

Re: First time using SO 3 - Positioning path cutting into st

Post by faresende » Tue May 26, 2015 1:00 am

I think pressing "l" did the trick.

Pasting the response here:

Test Waiting...
<Idle,MPos:0.000,0.000,0.000,WPos:0.000,0.000,0.000,Buf:0,RX:0,Ln:0,F:0.>
___________gc_not_motion___________
___________$$ ___________
$0=10 (step pulse, usec)
$1=255 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=6 (dir port invert mask:00000110)
$4=0 (step enable invert, bool)
$5=0 (limit pins invert, bool)
$6=0 (probe pin invert, bool)
$10=255 (status report mask:11111111)
$11=0.020 (junction deviation, mm)
$12=0.010 (arc tolerance, mm)
$13=0 (report inches, bool)
$14=1 (auto start, bool)
$20=0 (soft limits, bool)
$21=0 (hard limits, bool)
$22=0 (homing cycle, bool)
$23=0 (homing dir invert mask:00000000)
$24=100.000 (homing feed, mm/min)
$25=1000.000 (homing seek, mm/min)
$26=25 (homing debounce, msec)
$27=5.000 (homing pull-off, mm)
$100=20.000 (x, step/mm)
$101=20.000 (y, step/mm)
$102=20.000 (z, step/mm)
$110=5000.000 (x max rate, mm/min)
$111=5000.000 (y max rate, mm/min)
$112=5000.000 (z max rate, mm/min)
$120=400.000 (x accel, mm/sec^2)
$121=400.000 (y accel, mm/sec^2)
$122=400.000 (z accel, mm/sec^2)
$130=425.000 (x max travel, mm)
$131=465.000 (y max travel, mm)
$132=80.000 (z max travel, mm)
ok
___________gc_dwell___________
___________G4P0.5000 ___________
<Idle,MPos:0.000,0.000,0.000,WPos:0.000,0.000,0.000,Buf:0,RX:0,Ln:0,F:0.>
ok
___________gc_get_offsets___________
___________$# ___________
<Idle,MPos:0.000,0.000,0.000,WPos:0.000,0.000,0.000,Buf:0,RX:0,Ln:0,F:0.>
[G54:0.000,0.000,0.000]
[G55:0.000,0.000,0.000]
[G56:0.000,0.000,0.000]
[G57:0.000,0.000,0.000]
[G58:0.000,0.000,0.000]
[G59:0.000,0.000,0.000]
[G28:0.000,0.000,0.000]
[G30:0.000,0.000,0.000]
[G92:0.000,0.000,0.000]
[TLO:0.000]
[PRB:0.000,0.000,0.000:0]
ok
___________gc_parser_state___________
___________$G ___________
[G0 G54 G17 G21 G90 G94 M0 M5 M9 T0 F0. S0.]
ok
<Idle,MPos:0.000,0.000,0.000,WPos:0.000,0.000,0.000,Buf:0,RX:0,Ln:0,F:0.>

WillAdams
Posts: 8489
Joined: Mon Apr 09, 2012 6:11 pm
Location: Pennsylvania --- south of the Turnpike, East of US-15
Contact:

Re: First time using SO 3 - Positioning path cutting into st

Post by WillAdams » Tue May 26, 2015 1:04 am

Yep, that's it.

Your default for the inversion of motors is:

Code: Select all

$3=6 (dir port invert mask:00000110)
which is the correct default.

If, when you move the Z-axis up (positive) it instead moves down (should be negative), then you'd want to send the command:

Code: Select all

$3=2
which will subtract the 4 which is inverting the Z-axis.

HTH!

I believe I have the wiki correct / up-to-date on this. It'd be great if someone would check that. Thanks.
Shapeoko 3XL #0006 w/Makita RT0701 Router w/0.125″ and ¼″ Elaire precision collets
Nomad 883 Pro #596 (bamboo)

faresende
Posts: 10
Joined: Sun May 24, 2015 7:23 am

Re: First time using SO 3 - Positioning path cutting into st

Post by faresende » Tue May 26, 2015 1:05 am

BTW, your command solved it. Than you so much!

WillAdams
Posts: 8489
Joined: Mon Apr 09, 2012 6:11 pm
Location: Pennsylvania --- south of the Turnpike, East of US-15
Contact:

Re: First time using SO 3 - Positioning path cutting into st

Post by WillAdams » Tue May 26, 2015 1:35 am

Glad to hear it. derbytimer worked out the same thing parallel to this --- please let Carbide3D know about this, so that they can either document it, update the documentation or fix the supply problem, or address this in whatever way is good to them.
Shapeoko 3XL #0006 w/Makita RT0701 Router w/0.125″ and ¼″ Elaire precision collets
Nomad 883 Pro #596 (bamboo)

zamp
Posts: 44
Joined: Fri Jan 02, 2015 8:54 pm

Re: First time using SO 3 - Positioning path cutting into st

Post by zamp » Tue May 26, 2015 2:07 am

WillAdams wrote:On the wiki we have a listing for what the defaults ought to be: http://www.shapeoko.com/wiki/index.php/ ... d_settings
Those settings aren't quite factory settings. I believe (from what you wrote some time ago, Will) $100, $101, $102 as delivered from the factory were all set to 20, not to 40.02. A value of 20 is apparently correct for an SO3 that has the microstepping switches on the controller set to 1/4. 40.02 was closer to what is needed if you set those switches to 1/8, like I've done.

I've since changed the values of $100 through $102 from 40.02 to 40. I did that because I'd noticed that if I stepped +40mm on an axis and then -40mm on the same axis, Chilipeppr was showing me to be at a different location than I'd started at. I did a bit of reading and it turns out GRBL may do that with at least some fractional values of $100 through $102. But GBRL should accurately know it's position when whole integer values are used for $100 through $102, assuming you're not losing steps and nothing is slipping, binding, or running into the end of an axis. GRBL accurately tracks position, though it may only be able to report its position within +/- a half step of it's actual position. For a better explanation of this, see what chamnit writes here: http://www.shapeoko.com/forum/viewtopic ... 454#p47454

I'm not certain that 40 is the right value for my machine, but if it isn't the perfect value for me, it's very, very close to perfect. I've been chasing a few noise and power issues and think I've got them all solved using quite a few split ferrite cores and a new dedicated circuit in my house electrical panel. Tomorrow I'll finally be drawing some test patterns with a ballpoint pen and will come up with values for $100 and $101 for my SO3. And I'll also step the Z-axis up and down with a ruler placed next to the spindle mount and come up with the value of $102 for my SO3.

I talk about using Chilipeppr in the above, and it's been working great for me. But I think I'll be switching to bCNC as I don't want to have to worry about my gcode sender changing on me during a project or possibly being temporarily unavailable due to network connectivity problems. I've tried bCNC on my Mac to open some gcode files and I like what I see, though I've not yet actually used it to control my SO3.
Last edited by zamp on Thu May 28, 2015 2:38 am, edited 2 times in total.

faresende
Posts: 10
Joined: Sun May 24, 2015 7:23 am

Re: First time using SO 3 - Positioning path cutting into st

Post by faresende » Tue May 26, 2015 2:09 am

I emailed carbide about this and sent them the link to this thread. Hopefully that helps iron things out.

Again, thank you so much!

faresende
Posts: 10
Joined: Sun May 24, 2015 7:23 am

Re: First time using SO 3 - Positioning path cutting into st

Post by faresende » Tue May 26, 2015 2:43 am

@zamp I have very little idea of what you just described, but I'm excited that I'm jumping in this world.

Let me know if you find better settings for your SO3. I would love to test those as well.

Cheers!

zamp
Posts: 44
Joined: Fri Jan 02, 2015 8:54 pm

Re: First time using SO 3 - Positioning path cutting into st

Post by zamp » Tue May 26, 2015 3:58 am

faresende wrote:@zamp I have very little idea of what you just described, but I'm excited that I'm jumping in this world.
Yeah, I do ramble on sometimes.

Basically:

1) The factory settings are right when the SO3 controller switches are set to 1/4.

2) If you change the controller switches from 1/4 to 1/8 (which makes it use finer microsteps/movements of the stepper motors), then you also need to change settings $100, $101, and $102 in the controller's GRBL configuration to something other than factory-provided values.

3) We should probably avoid using any numbers with decimal points for $100, $101, and $102 as I think that may make GRBL not always know exactly where the spindle is.

4) And I was also letting WillAdams know that he described my old GRL settings in the wiki as if they're factory settings, but those/my old settings he's listed don't have factory-assigned values for $100, $101, and $102.

Update: ignore what I wrote in item 3. GRBL doesn't lose track of position when using non-whole values for $100 through $102, though it might not always exactly report it's real position. chamnit explains it here: http://www.shapeoko.com/forum/viewtopic ... 454#p47454
Last edited by zamp on Thu May 28, 2015 2:30 am, edited 1 time in total.

Post Reply