PDA

View Full Version : Measuring brushless RPM with microcontroller


sesat
Mar 09, 2005, 08:03 AM
Hi everyone for my hobby microcontroller project I would like to add the functionality of RPM measurement.

An optical tach pointing at the prop or hall sensor on a steel gear sounds more complicated than I would like.

I was thinking I could measure RPM by the commutation rate on the motor, tapping into one of three motor phase wires. The power switches on and off, so I was thiking I could measure the voltage on this wire through an op amp network and run it through a counter/timer. Or I could measure the frequency of the voltage change in a hall sensor places next to this wire.

What do you guys think, and are there any homebrew projects you could direct me to?

Thanks,
Ram.

william541
Mar 13, 2005, 02:38 PM
Ram,

I have not done this, but it certainly is possible. You would have to do a bit of research first though. The brushless motors are 3-phase AC motors and the ESC generates pulses to simulate a 3-phase AC sine wave.

To do this, you could sample the voltage of one leg and low pass filter it to attenuate the PWM switching frequency. This would give you the "distorted" sinewave equivelent of the motor drive frequency. If you AC couple this signal into a comparator, then your micro should be able to measure the frequency. Then by knowing the number of poles of the motor, you could calculate the motor RPM.

Then too, if you knew more about the ESC, you may be able to tap into it to get a signal that is already related to RPM and then use this along with the number of motor poles to calculate RPM.

The Hall effect sensor would work too, but may add weight to your project. The nice thing about monitoring the current in this way is that the current wave form may be more sinusoidal to begin with, making it easier to filter.

Just some thoughts, Bill

pic man
Mar 13, 2005, 02:53 PM
ultra simple, put a fly wheel of some sort, doestnt need to be heavy, put a magnet on it permantly, hook up an electromagnetic sensor to some thing simple with serout, use pulsin comand to read how many revoulutions, set it up to serout that var,

u could use a pc, but were sposed to have gadjets right,,, why not then hook it up to a palm pilot for portability, and digital readout, saw info here on it i think


not sure if you want a pit version, but you could store tha var periodically, beter pics with serout to palm capability should have a bunch of mem for running it and reading later, could even document races, times , batery packs, crashes, heat with a simple heat diode or heat fuse,