RoboWheels Motor from Skysedge also failed to run on Odrive

This is another motor from SkysEdge called Robowheel runs perfectly with their controller but failed to calibrate with Odrive. does someone tried it before with these motors.

Reconnected to ODrive 2062356E5748 as odrv0
In [3]: odrv0.axis0.motor.config.pole_pairs = 13
…: odrv0.axis0.encoder.config.cpr = 78
…: odrv0.axis0.motor.config.resistance_calib_max_voltage = 5
…: odrv0.axis0.motor.config.requested_current_range = 30

In [5]: odrv0.save_configuration()
Oh no odrv0 disappeared

Reconnected to ODrive 2062356E5748 as odrv0
In [6]: odrv0.reboot()
Oh no odrv0 disappeared

Reconnected to ODrive 2062356E5748 as odrv0
In [7]: odrv0.axis0.requested_state = AXIS_STATE_FULL_CALIBRATION_SEQUENCE

In [8]: odrv0.axis0.requested_state
Out[8]: 0

In [9]: odrv0.axis0.requested_state = AXIS_STATE_FULL_CALIBRATION_SEQUENCE

Oh no odrv0 disappeared

laptop:~$ odrivetool
ODrive control utility v0.5.3.post0
Website: https://odriverobotics.com/
Docs: https://docs.odriverobotics.com/
Forums: https://discourse.odriverobotics.com/
Discord: ODrive
Github: GitHub - odriverobotics/ODrive: High performance motor control
Please connect your ODrive.
You can also type help() or quit().

Connected to ODrive 2062356E5748 as odrv0
In [1]: odrv0.axis0.requested_state = AXIS_STATE_FULL_CALIBRATION_SEQUENCE

In [2]: dump_errors(odrv0, True)
system: no error
axis0
axis: no error
motor: Error(s):
MOTOR_ERROR_PHASE_RESISTANCE_OUT_OF_RANGE
sensorless_estimator: no error
controller: no error
axis1
axis: no error
motor: no error
sensorless_estimator: no error
encoder: no error
controller: no error

Oh no odrv0 disappeared

MOTOR_ERROR_PHASE_RESISTANCE_OUT_OF_RANGE

Robowheel has 1.7Ω resistance. This is high enough that you should consider using gimbal model, but can still be run in high current mode if you really want.

Use 56V odrive on 48V bus voltage, set resistance_calib_max_voltage = 20 and calibration_current = 4 or so, should work.

1 Like

I change the setup but got the following error.

odrv0.axis0.motor.config.pole_pairs = 13
odrv0.axis0.encoder.config.cpr = 78
odrv0.axis0.motor.config.resistance_calib_max_voltage = 4
odrv0.axis0.motor.config.requested_current_range = 36
odrv0.axis0.motor.config.current_control_bandwidth = 100
odrv0.axis0.motor.config.torque_constant = 8.27 / 10

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

Then I input the following command according to the documentation troubleshooting
n [13]: odrv0.config.enable_brake_resistor = True

In [14]: odrv0.save_configuration()
Oh no odrv0 disappeared

Now got the following error

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

The wheel’s dataset is available here https://www.skysedge.com/robotics/robowheel170/RoboWheel170_Datasheet.pdf

hi expert-bot

I have been away from my deck donkey project for a few months, but I did get it to work.
It has two robowheels. I run it with Dewalt 20 v lithium pack.
Noticed you have 13 pole pairs, I used 27 pole pairs. Seems like I might have done something different with the cpr also?? I will try to dig it out (may take a week or so…lot going on)

Created a program for Jetson Nano and drove it remotely.
Did have some problems and it would stop working (might be do to hall sensors?? )

I like the features of odrive and BLDC motors but there is alot to the setup. I have a bigger donkey with
4 wheel chair DC motors , the drives are simpler but the wheels will turn at different speeds so you would have steering drift ; also going to within a millimeter of a wall is better with BLDC motors

Any how will dig out my deck donkey.

1 Like

Hi expert-bot,

Here is part of my config set up for Skysedge RW170:

odrv0.axis0.motor.config.pole_pairs = 27
odrv0.axis0.motor.config.resistance_calib_max_voltage = 9
odrv0.axis0.motor.config.requested_current_range = 25 #Requires config save and reboot
odrv0.axis0.motor.config.current_control_bandwidth = 100
odrv0.axis0.motor.config.torque_constant = 8.27 / 10

odrv0.axis0.encoder.config.mode = ENCODER_MODE_HALL
odrv0.axis0.encoder.config.cpr = 162
odrv0.axis0.encoder.config.calib_scan_distance = 150

1 Like