Encoder error ERROR_ILLEGAL_HALL_STATE

Should I consider 50 or 100 volt capacitors since I have the 56 volt board version.
Which one do u think is best of those?
https://www.elfa.se/en/ceramic-capacitor-22nf-50v-20-kemet-c317c223m5u5ta7301/p/16572598?q=22nf+ceramic+capacitor&pos=10&origPos=10&origPageSize=50&track=true

https://www.elfa.se/en/ceramic-capacitor-22nf-50vdc-0805-rnd-components-rnd-1500805b223j500nt/p/30086666?q=22nf+ceramic+capacitor&pos=1&origPos=1&origPageSize=50&track=true

https://www.elfa.se/en/ceramic-capacitor-22nf-50v-10-kemet-ck05bx223k7301/p/16573588?q=22nf+ceramic+capacitor&pos=27&origPos=27&origPageSize=50&track=true

Hi and tx for your great engineering work.

I run into ERROR_ILLEGAL_HALL_STATE as well. It is a skateboard sensed bldc. The hall states encode like this when checking on arduno. You say all 0 or all 1 are illegal states. With this sensor setting it seems i cannot avoid it. Tx and best

0 0 0 =0
1 0 0 =1
1 1 0 =3
1 1 1 =7
0 1 1 =6
0 0 1 =4
0 0 0 =0
1 0 0 =1
1 1 0 =3
1 1 1 =7
0 1 1 =6
0 0 1 =4
0 0 0 =0
1 0 0 =1
1 1 0 =3

Want to +1 this solution for others.

I was using 3d printed parts and everything was fine. Once I switched to metal the motors would stop with ERROR_ILLEGAL_HALL_STATE after a few seconds. I used 100nF caps (didnā€™t have 22nF) as per the photo in this thread. Problem fixed.

2 Likes

Hi all,
I am not an bldc motorcontroller expert but could it possible to filter out some hall state errors by the software
For example ingore the error if it is just for a short period of time (noise) or count the errors to an defined limit ?

Hi all,
i also encounter the same issue.

It was solved by separating the HALL sensor signal cable from the motor coil cable.
the signal is affected by the control signal.

hope it helps!

Hi, Iā€™m also trying to add 22nF caps to oDriveā€™s hall connections, how do you use those protoboards please? OSH Park ~

Do you motors have a hollow axle that acts as conduit for the three power leads and the five hall wires? How did you keep them separate in the axle-stub?

After I did a firmware update on my ODrive, I had this same exact issue. I only had 10nF and that worked for me.

hey @madcowswe , i have this same problem i was to control ODrive with two of hoverboard motor with HE and a have calibred the motor in both of axis and after i use odrive_ros2_control when i send the velocity to the axis 1 and axis 0 it turn and after while axis1 quite the control and when i use dump_errors(odrv0) i got this error : ENCODER_ERROR_ILLEGAL_HALL_STATEerror 0x0010 (int)
so iā€™m asking if the solution of soldering 22nF capacitors for M1 axis 1 is also suit to ODrive V3.6-56v
(also iā€™m wondering if i use 22nF or 47nF and if i do it just for M1 or also to M0)
UPDATE AFTER 8h
after 8h i buy th 47nF capacitor and i soldere for M1 the problem is FIXED :facepunch: but when i run the two motor for long time the M0 got the error again ENCODER_ERROR_ILLEGAL_HALL_STATE !!
@madcowswe do u think i have to solder the 47nF capacitor for the M0 too ??

Is soldering in some filtering caps still the suggested solution for the odrive S1?

ā€¦unfortunately much harder to find a mechanically solid solution for soldering in the caps on the small breakout-connectorā€¦

No, there should be no need to solder / modify the S1 in any way.
If you are experiencing an issue with S1+Hall Encoders please start a new Topic and we can dig in!

2 Likes