Good day.
Me and Örvar bought one Odrive for his master´s here at Reykjavik University. We have spent about 2 days trying to get the 6246 DT 700 motor to run and we are lost at the moment. We are trying to run the motor with out an encoder to begin with. Mabey somebody can help us to see what we are doing wrong. Below is our motor setup and error codes the same error codes on both axis0 amd axis1. Thank you in advance.
odrv0.axis1.motor.config.current_lim
Out[1]: 13.0 // max rurrent of the motor DT700 13V 700Kv 13 amp
odrv0.axis1.controller.config.vel_limit
Out[2]: 20.0 // we want the motor to have the maximum speed of 1200 rpm’s
odrv0.config.enable_brake_resistor
Out[3]: False // we are not using the braking resistor
odrv0.axis1.motor.config.pole_pairs
Out[4]: 7 // the pair of the motor
odrv0.axis1.motor.config.torque_constant
Out[7]: 0.01181428600102663 // 8.27/700kv
odrv0.axis1.motor.config.motor_type
Out[8]: 0 // highcurrent motor type = 0 gimbal = 2 acim =3
odrv0.axis1.config.sensorless_ramp
Out[9]:
accel: 8.0 (float)
current: 6.0 (float)
finish_distance: 100.0 (float)
finish_on_distance: False (bool)
finish_on_enc_idx: False (bool)
finish_on_vel: True (bool)
ramp_distance: 3.1415927410125732 (float)
ramp_time: 0.4000000059604645 (float)
vel: 62.79999923706055 (float)
odrv0.axis1.controller.input_vel //
Out[12]: 64.0 // shuld be a litle bit higher or the same as .sensorless_ramp.vel. it looks like this has been changed but this number changes to 0.0 even afer odrv0.save_configuration()
this happens both on axis0 and axis1 mabey this is the problem?
odrv0.axis1.controller.config.vel_gain
Out[15]: 0.009999999776482582 // this number is given in the tutorial mabey this is what is worng
odrv0.axis0.controller.config.vel_integrator_gain
Out[18]: 0.05000000074505806 // this number is given in the tutorial mabey this is what is worng
odrv0.axis1.controller.config.control_mode
Out[21]: 2 // voltage_contol = 0 torque_control = 1 velocity = 2 posittion_control = 3
odrv0.axis1.controller.config.vel_limit
Out[24]: 2.2736423015594482 // 100 / 2*pi * 7 pole pairs the 100 number was picked because it is higher then .sensorless_ramp.vel which is 62.79999923706055
odrv0.axis1.motor.config.current_lim
Out[25]: 13.0 // the maximum current of the motor
odrv0.axis1.sensorless_estimator.config.pm_flux_linkage
Out[28]: 0.0011251609539613128 // 5.5132889542 / 7 pole pair * 700kv
odrv0.axis1.config.enable_sensorless_mode
Out[31]: True
odrv0.save_configuration()
Oh no odrv0 disappeared
Reconnected to ODrive 366438653030 as odrv0
odrv0.axis1.requested_state = AXIS_STATE_CLOSED_LOOP_CONTROL
dump_errors(odrv0)
In [34]: dump_errors(odrv0)
system: Error(s):
ODRIVE_ERROR_DC_BUS_OVER_REGEN_CURRENT
axis0
axis: Error(s):
AXIS_ERROR_INVALID_STATE
motor: Error(s):
MOTOR_ERROR_SYSTEM_LEVEL
sensorless_estimator: no error
encoder: no error
controller: no error
axis1
axis: Error(s):
AXIS_ERROR_INVALID_STATE
motor: Error(s):
MOTOR_ERROR_SYSTEM_LEVEL
sensorless_estimator: no error
encoder: no error
controller: no error
odrv0.clear_errors() // does not clear error maby it is because there are fixed errors I do not know
dump_errors(odrv0)
n [36]: dump_errors(odrv0)
system: Error(s):
ODRIVE_ERROR_DC_BUS_OVER_REGEN_CURRENT
axis0
axis: no error
motor: Error(s):
MOTOR_ERROR_SYSTEM_LEVEL
sensorless_estimator: no error
encoder: no error
controller: no error
axis1
axis: no error
motor: Error(s):
MOTOR_ERROR_SYSTEM_LEVEL
sensorless_estimator: no error
encoder: no error
controller: no error
odrv0.clear_errors() // done again just in case
odrv0.axis1.requested_state = AXIS_STATE_CLOSED_LOOP_CONTROL
dump_errors(odrv0)
In [40]: dump_errors(odrv0)
system: Error(s):
ODRIVE_ERROR_DC_BUS_OVER_REGEN_CURRENT
axis0
axis: no error
motor: Error(s):
MOTOR_ERROR_SYSTEM_LEVEL
sensorless_estimator: no error
encoder: no error
controller: no error
axis1
axis: Error(s):
AXIS_ERROR_INVALID_STATE
motor: Error(s):
MOTOR_ERROR_SYSTEM_LEVEL
sensorless_estimator: no error
encoder: no error
controller: no error