Nanotec Motor Having Issue And Only Vibrates

Hi everyone.
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
Motor: https://en.nanotec.com/products/1833-db59c024035-a/
Encoder: https://en.nanotec.com/products/1656-nme1-uvw-t06/

Below is my setting
odrv0.axis1.motor.config.current_lim=24
odrv0.axis1.motor.config.calibration_current=12
odrv0.axis1.motor.config.resistance_calib_max_voltage=2.0
odrv0.axis1.motor.config.motor_type=MOTOR_TYPE_HIGH_CURRENT
odrv0.axis1.motor.config.pole_pairs=3

odrv0.axis1.controller.config.vel_limit=59733
odrv0.axis1.controller.config.vel_gain=0.01
odrv0.axis1.controller.config.vel_integrator_gain=0.05
odrv0.axis1.controller.config.control_mode=CTRL_MODE_VELOCITY_CONTROL
odrv0.axis1.motor.config.current_control_bandwidth=1000

odrv0.axis1.encoder.config.cpr=4096
odrv0.axis1.encoder.config.mode=ENCODER_MODE_INCREMENTAL
odrv0.axis1.encoder.config.calib_range=5
odrv0.axis1.encoder.config.pre_calibrated = True

odrv0.config.brake_resistance=2.5

odrv0.axis1.requested_state=AXIS_STATE_FULL_CALIBRATION_SEQUENCE

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.

Kind regards,

Neil.

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
https://en.nanotec.com/products/2928-wd10030-5616-23b-wheel-drive/

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.