Given a traditional H-Bot pulley assembly with 2 stepper motors, how would I calculate the RPM's needed to limit diagonal movement speed to that of comparable horizontal/vertical speed? Would I simply scale the RPM's while maintaining the same ratio?

Example: Let's establish that running both steppers at full speed moves us horizontally by 'x' and vertically by zero.

Running only one stepper (say 100% speed) gives 45 degree movement by '0.5x' both horizontally and vertically... which equals the hypotenuse sqrt(2(.5*x)^2)... which is larger than x.

Would I simply squareroot the RPM of the single stepper motor, then divide by 2, then squareroot, then multiply by 2?

Additional questions: What is the relationship between RPM's, pulley diameter, and distance travelled assuming all pulleys are the same diameter? Am I thinking about this correctly, or should I be thinking in terms of steps?

I plan on user control via joystick with arduino (no pre-programming).

Final note: distance/precision is of no concern to me. My only concern is ensuring diagonal movements are comparable to equal intensity horizontal/vertical movement (as stated in the title)

  • $\begingroup$ What is a H-Bot? One of these? Add a diagram into your question (giving credit if it's not yours) and show where the motors are. $\endgroup$
    – Transistor
    Commented May 11 at 9:12
  • $\begingroup$ Work it step by step. Lets say motor angular step is dm, dn. Write out expression for dx = f(dm,dn) and dy = f(dm,dn) .... and then solve for the diagonal case when dx=dy $\endgroup$
    – Pete W
    Commented May 11 at 17:32


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.