Solution - Reading hall sensors from BLDC motors




problem:

bldc motors have 3 hall effect sensors place @ particular degrees apart - 60, 120 etc.

hall effect sensors analog in nature in bldc motors.

it difficult read when sensor turned full on/off. interrupt wont work on analog devices properly. big numbers when increment counter in interrupt handler routine.


solution:

step 1: define 3 pins input, 1 each sensor.

step 2: attach interrupt on 1 of sensor on rising state.

step 3: when interrupt handler called, check status of other 2 sensors.

step 4: since 2 of sensors high @ given time, there no way 3 sensors have high output. if have, invalid state. ignore state.

step 5: since pin caused interrupt high, check if 1 of other pin connected other 2 sensors high. if so, increment counter.

step 6: calculate rpm in main loop()





Arduino Forum > Using Arduino > Project Guidance > Solution - Reading hall sensors from BLDC motors


arduino

Comments