How to determine velocity profile for two stepper motor in robot driving

mechanicalroboticsstepper motortorque

A robot has 2 parallel driving wheel. I don't know the friction of the ground surface. However, I can set the acceleration, starting velocity, ending velocity. The velocity profile has to be symmetrical, which has a trapezoidal shape if there's acceleration. If there's no acceleration, the motor starts with the maximum velocity. Though it's possible starting with maximum velocity proved by experiment, I would like to know some theory to make these decision rather than blind testing.

stepper motor specification
motor controller

Best Answer

Added: For >=Grade X11 Physics level instruction

Test the Robot on desired slippery ground and conduct a pull test to see when traction is broken. ( i.e. it slips ) If you use a spring F=k*x then measure the weight to deflect spring when it slips by the same amount to equate Force for the same deflection. Now convert that traction force to Rotational Torque and then solve for max Acceleration rate to get the Velocity profile below. The static traction force to slip is the approx the same as the internal acceleration force to slip. Variances may be created by number of driving wheels, and road conditions. Monitoring current/expected current profile can possibly be used to indicate a slip condition and thus coast and resume acceleration at a slower rate. Traction slip will cause an slight drop in load current profile. If you want to optimize further, measure the slip force while moving at the same speed and generate a profile with 2 accleration constants. Perhaps a gentle one for start, stops and then a more aggressive one to/from full speed. (HTH or hope that helps)

I remember the 5.25" 6MB and 12MB disk drives from Hitachi/NPL in the early 80's had stepper motor actuators with acceleration and velocity profile to speed up access times. It was done on a small board without a micro using analog parts,h bridge discrete BJT driver with half-step control. and using up/down counters I recall with variable frequency.

So yes it is possible, practical and doable. edit:enter image description here

The reason is simple. The inertia of a heavy load from 0 to maximum velocity may exceed the torque available , so slew rate control is necessary. Intelligent Stepper control chips are avail.

edit: more details Example of advantage to slow step rate torque increases on ramp up. enter image description here