Getting started with an ACIM (induction motor)

Hi all, I’m new with the controller even though i designed something similar years ago with an xmega for an ebike. I was wondering if it’s possible to drive an induction motor while i saw in the changelog of 0.5.0 the entry “AC Induction Motor support”.
I saw also some motor conf. parameters about ACIM, but very few references in the documentation so i would like to ask if somebody is so kind to points out the results obtained up to now.
I’ve been able to perform the motor calibration:

odrv0.axis0.motor.config.current_lim = 8
odrv0.axis0.controller.config.vel_limit = 60000
odrv0.axis0.motor.config.calibration_current = 2
odrv0.config.brake_resistance = 1.968
odrv0.axis0.motor.config.pole_pairs = 1

odrv0.axis0.motor.config.pole_pairs = 1
odrv0.axis0.motor.config.motor_type = 3
odrv0.axis0.motor.config.torque_constant = 0.005625
odrv0.axis0.motor.config.acim_autoflux_enable = True
odrv0.axis0.requested_state = AXIS_STATE_MOTOR_CALIBRATION
odrv0.axis0.motor.config.pre_calibrated = True
odrv0.axis0.controller.config.control_mode = CONTROL_MODE_VELOCITY_CONTROL

but when i set the velocity setpoint nothing happened. What i’m missing?

Thak u in advance! (this project is amazing)

1 Like

Any suggestion? Nobody?

1 Like

A couple of important points:

  • With this ACIM controller you still need an encoder. Make sure you have one connected and configured.
  • You need to know the acim_slip_velocity (in rad/s electrical) which is a parameter of the ACIM. It is 1 / rotor_time_constant, if you have that. If you have neither of these you need to calculate it from some other parameters that are give, or measure it. You also need to know the number of pole pairs.
  • Then to start you need to first do AXIS_STATE_MOTOR_CALIBRATION then AXIS_STATE_ENCODER_DIR_FIND, then you can do closed loop control if both calibrations worked.