I have doubt regarding the Odrive interface with Odrive BLDC motor D6374 150KV. While calibrating the motor type in command prompt, according to the given commands, I have used
odrv0.axis0.motor.config.motor_type = MOTOR_TYPE_HIGH_CURRENT unfortunately when I re-verified the configuration, it showed 0 in the output. Does this mean that the configuration was not done ?
The below executed lines appeared in my case:
In [13]: odrv0.axis0.motor.config.motor_type = MOTOR_TYPE_HIGH_CURRENT
In [14]: odrv0.axis0.motor.config.motor_type
Out[14]: 0
yeah it is and enumeration; MOTOR_TYPE_HIGH_CURRENT is enumerated as 0; so both correct
Thank you for your response.
I have few other doubts, I am new to odrive and calibrating the motor seems tipsy-turvy.
After calibrating the motor, the following steps were executed:
odrv0.axis0.motor.config.pre_calibrated = True
The above code didn’t show any error
After executing the above line, it had to be activated because of which the below command was used:
odrv0.axis0.requested_state = AXIS_STATE_ENCODER_OFFSET_CALIBRATION
Unfortunately, this line showed error. It showed name error and wasn’t executing. I am still unable to figure out what might be the error over here because in the ODrive community webpage (Encoders — ODrive Documentation 0.5.5 documentation), the same statement is mentioned, and many users have incorporated the same set of commands.
Thank you in advance !
Can you check the version? (odrivetool --version
)
AXIS_STATE_ENCODER_OFFSET_CALIBRATION
should be in odrive/enums.py, can you try importing this by running import odrive.enums
from inside odrivetool
?