Hi ODrive community -
First time attempting to use an ODrive (V3.6, 56V), and unfortunately it hasn’t been easy. I’m trying to drive a geared hub motor - Bafang’s G311 (more stats) with 30:1 gearing and hall effect sensors. I’ve changed some of the parameters to suit this motor, and have had no problem running the full calibration sequence (the motor spins forward 1/30th of a turn and then stops). However, when the motor stops and I call dump_errors(odrv0), I receive just one error: ERROR_ENCODER_ILLEGAL_HALL_STATE.
Thereafter, the motor is unresponsive in CONTROL_MODE_CLOSED_LOOP_CONTROL. I am able to calibrate the motor as many times as I want, but never to put it into any other control mode, or do anything else.
I’ve seen the other posts on this forum relating to ERROR_ENCODER_ILLEGAL_HALL_STATE and checked for some common issues that may cause this problem. I first checked with a multimeter to see if any of the hall effect outputs are stuck high or low, but all (A,B,Z) reliably shift from low (~0.01 V) to high (~3.05 V) as the motor spins, and although I can’t really turn it one revolution, because of the gearing, I haven’t been able to find any point at all where either all 3 are high or all are low. Since this seems to be the only (or primary?) condition that results in this error, I’m really struggling to solve this so that the motor can be run. If anyone else has experienced this issue, or has any advice on how to get the board and motor working, it would be greatly appreciated!