Is there anything like a combined sensorless + hall sensor position estimator mode available?
Halls would be used below the speed where sensorless would converge. Sensorless would take over at higher speed. Halls could bound the sensorless observer to help detect that it was no longer converged or too noisy from lack of BEMF amplitude.
Thoughts or a pointer to how to set it up if it exists?
I don’t think it exists, but ODrive already has interpolation between Hall states that might be better than this anyway…?
I set it up in the code one time, for a switch from encoder to sensorless. It works ok.
@towen we’re actually having trouble with hall sensors at high eRPM, we’re not sure why.
I’m seeing current waveforms get funky as speed rises. (My application uses Odrive in current control mode.) At low speed, everything looks pretty smoothly sinusoidal. At higher speed (143 Hz elec, 288 Hz elec) things start getting very wobbly.
Could the interpolated Hall states be related to this?
Maybe. You can disable hall interpolation via the config. I forget exactly where, you’ll have to hunt for it a bit. Encoder maybe?
yes I believe it was encoder.config.enable_phase_interpolation=False
However in my case, it only made things worse