I need to sense if a small 6 VDC motor (rated at 200 mA ... the thing is practically a toy) is actually rotating or not, and I'd like to avoid the use of an extra sensor in the assembly. My first thought was to simply measure the motor's natural back EMF. But then I realized this was going to be more complicated than I thought, since the motor's rotation is reversible.
My first attempt at a concept is show below. I've connected a resistor across the motor (represented by L1), which will be activated through an nFet (M5). A differential amplifier would then sample the voltage across R1, reporting it to one of my MCU's pins. Measuring the speed of the motor is not important, so no fancy ADC is needed here. All I want is to know if the motor is rotating or not.

The above circuit is rather clumsy, because I realize the the voltage that needs to be applied to M5's gate has to be done in relation to its source. And said source's polarity changes with the motor's direction. Also, I'd very much like to avoid the use of an additional source of negative voltage, if that's possible.
Question, is there a better (and I'm sure of it) approach to this problem? What would be the simplest solution?
Many thanks in advance to those who'll try to help me out.
My first attempt at a concept is show below. I've connected a resistor across the motor (represented by L1), which will be activated through an nFet (M5). A differential amplifier would then sample the voltage across R1, reporting it to one of my MCU's pins. Measuring the speed of the motor is not important, so no fancy ADC is needed here. All I want is to know if the motor is rotating or not.

The above circuit is rather clumsy, because I realize the the voltage that needs to be applied to M5's gate has to be done in relation to its source. And said source's polarity changes with the motor's direction. Also, I'd very much like to avoid the use of an additional source of negative voltage, if that's possible.
Question, is there a better (and I'm sure of it) approach to this problem? What would be the simplest solution?
Many thanks in advance to those who'll try to help me out.
Attachments
-
1.4 KB Views: 5