Strange Joint Following Error
09 Jan 2014 04:31 - 09 Jan 2014 18:31 #42527
by llrjt100
I've calculated based on 200 full steps per rev, 1/8 microsteps with the Xylotex board and a 90:1 rotary table reduction (It's a low cost SOBA 6" model for testing).
I'll double check the spindle encoder count for a single spindle rev next to make sure it really is 10,000 pulses per rev. I have A, B & Z channels hooked up to the USC board, so it should be counting quadrature (it's a 2,500 line code wheel).
I also checked the rotary table gear ratio in a simple X Y Z configuration - I used a SCALE of 400 in the .ini file, which I got from 200 fullsteps x 8 microsteps per fullstep x 90 = 144,000 microsteps per rotary table rev, and then dividing by 360 to get 400 microsteps per degree. I checked this with an MDI command to move 360 degrees and it was correct, so the rotary table must have 90 teeth.
Other than checking the spindle pulses per rev, I can't for the life of me think what else could be wrong, unless there's some parameters for the Pico-Systems USC board which alter the encoder or step counts in some way I'm not aware of. More likely I've made a mistake in adapting Andy's original HAL code...
Replied by llrjt100 on topic Strange Joint Following Error
1/40TH? That's a very curious number! The worm gear in most rotary tables is 40:1
Have you accounted for this ratio?
I've calculated based on 200 full steps per rev, 1/8 microsteps with the Xylotex board and a 90:1 rotary table reduction (It's a low cost SOBA 6" model for testing).
I'll double check the spindle encoder count for a single spindle rev next to make sure it really is 10,000 pulses per rev. I have A, B & Z channels hooked up to the USC board, so it should be counting quadrature (it's a 2,500 line code wheel).
I also checked the rotary table gear ratio in a simple X Y Z configuration - I used a SCALE of 400 in the .ini file, which I got from 200 fullsteps x 8 microsteps per fullstep x 90 = 144,000 microsteps per rotary table rev, and then dividing by 360 to get 400 microsteps per degree. I checked this with an MDI command to move 360 degrees and it was correct, so the rotary table must have 90 teeth.
Other than checking the spindle pulses per rev, I can't for the life of me think what else could be wrong, unless there's some parameters for the Pico-Systems USC board which alter the encoder or step counts in some way I'm not aware of. More likely I've made a mistake in adapting Andy's original HAL code...
Last edit: 09 Jan 2014 18:31 by llrjt100.
Please Log in or Create an account to join the conversation.
09 Jan 2014 10:43 #42536
by jmelson
reports quadrature counts in a very raw form. There IS, however, a scale factor applied to each
encoder, in the driver.
This would be set with a hal command like :
setp ppmc.0.encoder.xx.scale 10000.0
and would usually be set to 10000.0 in your case, so the output of
ppmc.0.encoder.xx.position would change by 1.00 for a full revolution.
Jon
Replied by jmelson on topic Strange Joint Following Error
No, most of the logic is actually in the driver (ppmc) and not in the hardware. So, the USC board just
1/40TH? That's a very curious number! The worm gear in most rotary tables is 40:1
Have you accounted for this ratio?
Other than checking the spindle pulses per rev, I can't for the life of me think what else could be wrong, unless there's some parameters for the Pico-Systems USC board which alter the encoder or step counts in some way I'm not aware of. More likely I've made a mistake in adapting Andy's original HAL code...
reports quadrature counts in a very raw form. There IS, however, a scale factor applied to each
encoder, in the driver.
This would be set with a hal command like :
setp ppmc.0.encoder.xx.scale 10000.0
and would usually be set to 10000.0 in your case, so the output of
ppmc.0.encoder.xx.position would change by 1.00 for a full revolution.
Jon
The following user(s) said Thank You: llrjt100
Please Log in or Create an account to join the conversation.
09 Jan 2014 17:48 - 09 Jan 2014 18:53 #42542
by llrjt100
Replied by llrjt100 on topic Strange Joint Following Error
I have setp ppmc.0.encoder.03.scale 10000 in the HAL file, so this should be correct.
I checked with the USC diagnostic tool and it confirmed 10,000 pulses per spindle revolution. I also checked ppmc.0.encoder.03.position with the Halscope, and it confirmed 1.0 per spindle revolution
SOLVED! - now I realise that the spindle encoder position is in revs not encoder pulses, and the rotary table position is in degrees, not stepper pulses, I get the correct 1.8 gear ratio, and this measures correctly both physically, and with Halscope
Thanks again for all your help everyone!
so the output of ppmc.0.encoder.xx.position would change by 1.00 for a full revolution
I checked with the USC diagnostic tool and it confirmed 10,000 pulses per spindle revolution. I also checked ppmc.0.encoder.03.position with the Halscope, and it confirmed 1.0 per spindle revolution
SOLVED! - now I realise that the spindle encoder position is in revs not encoder pulses, and the rotary table position is in degrees, not stepper pulses, I get the correct 1.8 gear ratio, and this measures correctly both physically, and with Halscope
Thanks again for all your help everyone!
Last edit: 09 Jan 2014 18:53 by llrjt100.
Please Log in or Create an account to join the conversation.
10 Jan 2014 01:07 #42554
by jmelson
Jon
Replied by jmelson on topic Strange Joint Following Error
Excellent!SOLVED! - now I realise that the spindle encoder position is in revs not encoder pulses, and the rotary table position is in degrees, not stepper pulses, I get the correct 1.8 gear ratio, and this measures correctly both physically, and with Halscope
Jon
Please Log in or Create an account to join the conversation.
Time to create page: 0.099 seconds