shirko20
Member level 2
how to drive a brushless dc (BLCD) Motor with high speed (sensor based driving)?
Hello; recently i started to hack a BLCD from a cd/dvd ROM set ,and i found out it has three linear Hall sensor and three sets of coil ,
each hall sensor has two output and BLCD Motor has three wire,so I use one output of each three Hall sensor and I use ADC to read Hall sensor voltage and compare them together to find out the correct position of rotor and i succeed .but my high speed that i can get from motor is about 2400 RPM that is not a significant speed for a BLCD motor comparing to 8000 RPM and higher that they operate in.I am using avr mcu with 12 MHZ clock speed,each process of reading three hall sensor and getting write position and doing right Commutation takes average 8350 clock cycle's of Fcpu and BLCD motor has to do 36 step to do a physical rotation so:
1/12000khz=0.0000833 ms And 8350* 0.0000833= 0.695ms SO 36*0.695=25.05ms =0.02505 Second SO 60/0.02505=2395rpm
now my question is: If I use Comparator's to get digital output from hall sensors and use PIN Change interrupt instead of using ADC does it gives me higher speed's like 8000 RPM or 6000 RPM? Does ADC's low speed makes motor to rotate in low speed?
Hello; recently i started to hack a BLCD from a cd/dvd ROM set ,and i found out it has three linear Hall sensor and three sets of coil ,
each hall sensor has two output and BLCD Motor has three wire,so I use one output of each three Hall sensor and I use ADC to read Hall sensor voltage and compare them together to find out the correct position of rotor and i succeed .but my high speed that i can get from motor is about 2400 RPM that is not a significant speed for a BLCD motor comparing to 8000 RPM and higher that they operate in.I am using avr mcu with 12 MHZ clock speed,each process of reading three hall sensor and getting write position and doing right Commutation takes average 8350 clock cycle's of Fcpu and BLCD motor has to do 36 step to do a physical rotation so:
1/12000khz=0.0000833 ms And 8350* 0.0000833= 0.695ms SO 36*0.695=25.05ms =0.02505 Second SO 60/0.02505=2395rpm
now my question is: If I use Comparator's to get digital output from hall sensors and use PIN Change interrupt instead of using ADC does it gives me higher speed's like 8000 RPM or 6000 RPM? Does ADC's low speed makes motor to rotate in low speed?
Last edited: