Getting started: motor not moving after calibration and CPR_POLEPAIRS_MISMATCH

Just received the ODESC 3.6 with 2x 6354 BLDC motor package from ODESC3.6 Dual Drive With 2pcs 6354 Brushless Motor Packages – SEQURE

Trying the “Getting started” manual page.

Installed odrivetool and connected to the ODESC via usb.
Didn’t change any settings, because defaults seem okay, except I have no clue what correct CPR value should be. I cannot find it anywhere in Sequre documentation. I did trace the motor type down to Flipsky BLDC Belt Motor Battle Hardened 6354 140KV 190KV 2450W for Ele – FLIPSKY this one, but also there it only says it has a HALL sensor, but no CPR specs that I could find.
So, default setting of 8192 is still there.

The odrv0.axis0.requested_state = AXIS_STATE_FULL_CALIBRATION_SEQUENCE command does result in a beep and a full rotation of the motor.
After this, nothing further works. Motor doesn’t move.

Troubleshooting page suggested to dump_errors() and that gives me this:
In [10]: odrv0.axis1.requested_state = AXIS_STATE_FULL_CALIBRATION_SEQUENCE

In [11]: dump_errors(odrv0)
system: not found
axis0
axis: Error(s):
UNKNOWN ERROR: 0x00000100
motor: no error
sensorless_estimator: no error
encoder: Error(s):
ENCODER_ERROR_CPR_POLEPAIRS_MISMATCH
controller: no error

Axis1 gives no errors initially, but just like axis0, as soon as I run the calibration sequence, it gives the exact same error.

Would love some hints on how to further diagnose + troubleshoot. Thanks!

Unfortunately, ODESC is not ODrive - it’s a 3rd party (chinese) clone which has unknown hardware and software modifications, so it’s impossible for the ODrive team to support it, even if they could get paid for it, which they can’t.
ODrive is sold only from the shop on this site.

You could try asking the vendor whom you bought it from for help, but (as has happened before) they might simply make a fake account on here to post the question… :roll_eyes:

That said, your error is a fairly common one - for Hall sensors the “counts” on the encoder are the rotor magnets themselves, and 3-phase Hall decoding has six states, so the CPR should be the number of pole pairs multiplied by 6, as per the encoder documentation.

1 Like