HAL + Encoder mixed mode

The approach to use the HAL sensors as low resolution encoder is great for nom positioning mode applications and for applications with a huge gear reduction, but a functionality that I miss on the firmware is the option to use HAL sensors for the motor control and the encoder for positioning feedback, specially suitable to eliminate the power-on calibration process and necessity to use encoders with index pulse.

Since basically all industrial motors have HAL sensors embedded and a lot of RC motors have too, I would like to know about your thoughts to add this control mode on the roadmap.

This or use an ab encoder and one hall channel as a repeated index, that way the encoder connector on the odrive has sufficient inputs, without needing to use the spare i/o, else where on the board, eitherway, I’m happy to pay for a few hours dev time to make this happen, ASAP preferable next week?

I think for your idea you just need to wire one of the HAL sensors, to the index PIN, I’m not sure how odrive firmware behaves with multiple index pulses by turn, maybe @madcowswe can clarify for us if this method could work out of the box or needs adjustment on firmware.

I don’t know of any industrial motors with hall sensors. As far as I was aware, that’s an RC and vehicle motor thing, not CNC machines. What kind of motor are you referring to?

It might be possible to use one hall effect sensors as an index pulse for the quadrature encoder… but having both is extremely rare, so why would you do that?

@Wetmelon I think I was too much generalist, well industrial micro bldcs usualy have, like maxon motors for example.

I have discussed this option with @madcowswe, He says it currently on looks for the index on start up until it is found, then it is ignored from then on, the only issue is it currently only looks for the signal and it assumes it is a narrow notch, so its happy if it finds it was parked already on the index or if it needs to turn. If we use the hall sensor the width of the notch is to large for accurate positioning, So it would work if it either looked for the second time it comes across it or for the falling edge only after seeing a rising edge etc.

Yes we discussed a “preroll” manouver, that will start rotating the motor, and only after it is rotating in a known direction activate the sensitivity to the index rising edge. This should let you use a hall input as a makeshift index pulse.

I created this feature request to track the development of this feature.

1 Like