Setting velocity parameters

I was able to calibrate the encoder and the motor following the instructions provided in the documentation. For the motor to turn a complete rotation, 8192 is given as a set,_positiom parameter. For two revolutions, 8192 2, and so on.
Now, what parameters are necessary to increase the speed of any number of rotations given.?
For example, I want to turn the motor (8192
8) in one second.
Motor right now, has default settings.
One of the speed parameters has encoder_counts/sec as units. Is this the one I need to modify as 65536/60?
Also, do I need to tweak any current para eter?. My power supply is 24v13A.

Thanks in advance

Hi hbtousa

There are three different modes currently available. i) position control, ii) velocity control and ii) current control. When using position control the motor controller will attempt to move the motor to your commanded position as quickly as possible. The higher your gains and current limit, the faster it will move to that position. Under velocity mode it will work to maintain a fixed rotational speed and under current control the motor will have a fixed current draw (and hence fixed torque production) and will operate at any speed until that current is met.

It sounds like what you are after is a trajectory planner. This is something that @Wetmelon has been working on. His code can be found here while a nice description of how this works can be found here.

Alternatively, you can use an external controller to do your trajectory planing for you and then communicate its desired position to the odrive over one of its interfaces while operating in position control. This way you can use one of the many great trajectory planners people have already written to work on arduino for stepper motors. In the past I have used a reprap gen 7 electronics and the step/dir interface to control the odrive and conventional laser cutting software to do the path planning.

1 Like