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
Post a Comment