i am having some problem trying to control my motor with nanotec motor. I am able to calibrate and the sequence complete without any error. But when i try to trigger move with velocity then it will vibrate only
Below is the link
Below is my setting
odrv0.axis1.encoder.config.pre_calibrated = True
Hi and welcome,
That looks like a good motor to replace standard stepper motors.
Looking at the encoder link, there are 1024 Counts Per Revolution, where you have 4096 set here: -
Also have you run through the tuning guide HERE.
thanks dev255 i am able to move the motor now after changing the cpr and the pid.
but i still do face overshoot issue where i move the motor incremental 4096*16 (which should be 1 round)
anything that might be causing this?
I’d try reducing the .controller.config.pos_gain value until you get no more overshoot, this is the value I tweaked after installing the motor in a milling machine axis. All was working as expected when it was not under load, where I found running through the tuning guide again after the motor was loaded further increased its performance.
Hope that helps.
thanks dev255 for the reply.
i been testing it from 0 up to 60 still get the same result.
i test it with move incremental / move pos from 409616 and back to 0. when move to 409616 always overshoot by 2000 pulse. But move back to 0 will always get correct position (starting position which match and not overshoot). i am starting to suspect that the wheel drive reduction ratio might be wrong.
Below is the link
Why are you doing cpr * 16? The encoder should be mounted directly to the motor with no reduction.
hi wetmelon, the cpr * 16 is for the pulse to move incremental by how much (to get 1 cycle or full rotate), not the encoder setting.
the reduction ratio / gear ratio is for the wheel.