Maslow Home Maslow Community Garden Newsletter

Motor encoder question

Figured it out. Pitch is 22 mm. Gear ratio is 90 (your motor is the ‘shorter’ version with only 4 stages, encoder ppr is 7, which gives a encoder steps of 90 * 7 * 4 = 2520.

Edit. hold on, let me check something

without opening the gearbox to count teeth, it’s not possible to know for sure

but what you can do is put something on the output that lets you know where it
is, make your estimate of PPR, run it through 50-100 complete rotations, and see
if it stops at exactly the same point. If so, you have it right. If it goes too
far, you have the PPR too high, if it doesn’t go far enough, you have it too
low.

you obviously need to do this without the motor connected to the machine.

I would say that the odds of the gear box being eactly 810:1 with 6 steps is
rather low

David Lang

The gear box measures 29mm!

How long is your gear box? 24.5 mm or 29 mm?

Sorry… my spreadsheet was messed up and thought i figured it out… back to drawing board

If you use encoder steps of 22680 ( 7 ppr * 810 gear ratio * 4 counts/per step) then to match what you experience, you need a pitch of 33.333333

I think what might be going on is that @metalmaslow is telling people what value to use for pitch to make the system work using the stock motor encoder’s setting. All that matters is pitch*encoder counts (edit: might be encoder counts / pitch) to come out to the correct number. Try 99 and see if it works.

I did see that post and tried it. A pitch of 100 works within a mm. I now realize that trying to get the motor to work with a 8mm pitch would cause it to turn too slowly. 100mm appears to be the best solution. Thanks all for your help.

Yeah, it really comes down to the spec of the motor. The pitch of the shaft is almost definitely 8mm. The problem is trying to figure out the motor encoder counts per revolution. But its more of an exercise than anything else. That spec sheet I think is missing information, or at least its missing a good explanation. I found one sheet that suggested it had three possible encoder PPRs (3, 7, and 12)… so who knows… :man_shrugging: Just go with what works for you and move on :slight_smile:

I’ll take apart a motor and count the teeth. the PPR is 3ppr for the z motor

1 Like

My guess is that its a 50 gear ratio… 3 ppr * 50 * 4 = 600 counts per revolution. 8 mm pitch yields 75 counts per 1 mm in pitch. Using 7560 counts per revolution with a 100.8 mm pitch yields 75 counts per 1 mm of pitch.

Makes sense. I figure a 100mm pitch was 12.5 times 8mm. 7560/12.5 is 604. I used that as the count and returned to 8mm pitch to see what happened. The Z axis moved the correct distance but the motor wasn’t happy trying to provide enough torque to move the Z… Back to 7560 and 100mm. I’ll try 100.8mm. I’m measuring travel with digital calipers. The accuracy more than meets my needs and I’ve learned a lot.

I think I figured out that gear ratio table. If you assume the motor’s RPM is 6000, then dividing it by the gear ratio gives you and unloaded RPM. So 6000 / 50 = 120 RPM (or 96 RPM loaded). But that would suggest your motor has a 22.5 mm gearbox.

I had a similar problem with my Z motor upgrade, this post may be helpful if you can follow my nonsense on how I figured mine out.

I got a reply from the manufacturer! The gear ratio is 1:50 with a ppr of 7.

The 50 part is seems right, but mathematically, the 7 ppr doesn’t work. @metalmaslow’s order shows its 3ppr, which works out. So for your setup, pitch should be 8 (maybe -8 depending upon how the leadscrew is installed) and Z-Axis Encoder Steps Per Revolution should be 600 (50 * 3 * 4)…

The part number Metal shows is not the same as the one given in an earlier post. I don’t know which one is correct. I tried 600 at an 8 pitch yesterday. The movement is accurate but the motor is turning very slowly. I’ll try 1400 (5074)

Ok, so the issue here is that the controller limits the speed for z-axis move. It’s quasi-hardcoded in as 12.6 RPM. Though it is something that can be set in the firmware, there’s no setting in ground control to allow you to set it. But the controller doesn’t use RPM by itself, it actually sets the maximum z-axis feedrate equal to the max RPM x the Z-axis pitch. Therefore, if you double the Z-axis pitch you can effectively increase the max feed rate. However, you need to then also double the encoder steps to retain accuracy. So 600/8 (encoder steps / pitch) yields a feed rate of 12.6 * 8 = 100.8 mm per minute. Going to 1200/16 yields a feed rate of 12.6 * 16 = 201.6 mm per minute. With a motor rated for 96 RPM (loaded) and a hard-coded RPM of 12.6 in the firmware, you could increase the pitch and encoder steps by 7 and stay under the RPM limit. So 600/8 becomes 4200/56.

Or, if you send:

$18=96

as a manual command in ground control (you have to make it as a macro), that might fix it as well. This command tells the controller to set the setting with a key value of 18 (the z-axis max rpm) to 96. If you are daring, I’d love for you to try that to see if you get the same results as my previous post.

if the distance is accurate, but you are turning slowly, then try changing the
feed rate. changeing the encoder value will make the distance wrong.

David Lang