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

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.

-
What is the question? –  Telaclavo May 3 '12 at 10:36
It is difficult to tell what is being asked here. –  Olin Lathrop May 3 '12 at 12:58
If you want to understand how stepper motor drives work you need to study electric drives. Ned Mohan has a decent book on the theory and design of motor controllers. –  CyberMen May 3 '12 at 15:18
Why has the profile be trapezoidal, and symmetrical? IIRC you can faster speedup without slipping than with linear acceleration (a guy at college wrote a thesis about it, but it's a long time ago. I don't remember the details). Anyway, you can't model it if you can't quantify the ground's friction. –  stevenvh May 13 '12 at 13:13

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:

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.

-
I don't doubt Kevin knows it's doable, he wants to know how. –  Federico Russo May 9 '12 at 5:37
Kevin said he can..." I can set the acceleration, starting velocity, ending velocity" . . . But it involves knowing the starting torque required vs torque available vs step rate and also the maximum step rate in order to create an optimum velocity profile such as above. Also if high inertia or no inertia, unstable resonance is possible at high step rates where torque is reduced. No simple formula. if you want pdf above , I can upload from New Japan Radio Co. Ltd –  Tony Stewart May 9 '12 at 6:10
Kevin's question concerns unknown traction torque vs torque from rapid acceleration might cause excess slip. Unfortunately he needs to program those ramp profiles for the conditions under the driving wheels. If this is for Robot Wars... Note the torque advantage at low speeds. –  Tony Stewart May 9 '12 at 6:35
Robot wars, ha ha. It's just a student project. I am doing IT, electronics is not my specialty. The stepper motor specification doesn't use standard terminology, it confuses me. I have been struggling to find out how to choose a proper settings. "It all depends" is not the solution I am looking for. I want to know how to determine it. –  Kevin Q May 11 '12 at 9:45