I am a student EE major working on a control algorithm for a 3 phase sensored BLDC motor. Currently the motor is running well. I'm currently pursuing fault condition safety software for the motor. One possible fault that could occur is an invalid state read in for the hall effect sensors.
If the hall effect sensors read in 000 or 111 that means either one of the hall effect sensor's is shorted (111) or one is disconnected (000). My question derives from how to respond (in my control software) to a condition such as this?
Obviously if a hall effect sensor has gone corrupt (short / disconnected) I need to stop the motor from commutating. However, I'm worried that if this invalid state is caused by a fluke then I would not want to force the motor to stop immediately.
My current thoughts would be to just increment a counter each time an invalid state gets read in, then if 10 invalid reads come in consecutively I would stop the motor for good.
Thoughts? Am I crazy to think that hall effect sensor inputs straight from the motor could randomly be incorrect?
The more I think about this "issue" the more I'm leaning towards trusting the hall effect sensor data absolutely. If a random bit were to flip in the transmission the commutation pattern wouldn't be correct...