Motor Sensing


Thread Starter

Gianni Franchi


I'm using a 24Vdc motor, now i need to detect if the motor is running or
not, i just need to check if there is a current flow.
I'm tring to see some comparator (as LM 358 or so...) but i cant figure
out how using it in my board with the intel 8051

Thank you

Peter Forrester

If you are trying to detect current flow only, most companys produce a current switch that will give you a discreet input at an adjustable level. There is also 4-20 mA analog signal type available.

Peter Forrester
Dear Mr.Franchi,
what power for your motor?
Kilowatts for traction or milliwatts?
One piece to modify or many thousands?
Mario Maggi

darcy oldfield

Try using a relay in series or parallel with the motor. Use one of the contacts from the relay to tell if the motor is on or not.

Johan Bengtsson

Let's see if I understand your problem correctly...

You have something (in your case a motor) that in some cases have power and in some cases don't and you want to feed that information to a 8051 based controller, is that right?

You say you want to check current flow to see if the motor is running or not, I am not sure you need that really....

I suppose you want to check if the motor have it's 24V and the motor is running or if there is 0V and the motor isn't, there might be another option: you want to check if the motor is stalled or not. If the motor is stalled (ie not running
when the power is applied) then the current drawn is much higher than the current drawn by a normally running motor, is this what you try to detect? (I will assume it's not)

The simplest way of detecting if the motor have 24Vdc is to have two resistors divide that voltage down to 5V and feed it to a pin on the 8051, there are some things talking against
that such as the risk for spikes and other damage fromt he motor to the chip and grounding problems, but it is the simplest.

Another quite simple solution is to use a 24Vdc relay, feed the coil with the same voltage as you feed the motor and use a contact on that relay to feed the chip. It also possible to use transistors or optocouplers depending on your needs.

If you really need to check the current (and not the voltage) you make the return current (ground connector on the motor) pass a small resistance and thus making a voltage drop. This voltage drop have to be small (say max 1V or so) and you have to be aware of the power that resistor will develop This can then be compared, using a comparator, with a voltage created by a pair of resistors (and possibly, if you need to adjust it, a potentiometer) and the output can probably be feed directly to the 8051 chip if you feed the comparator with 0V and +5V. Otherwise you should have some circuits between to change the voltage levels.

Ok, does this help you or where do you need more help?
1. Do you know how to divide voltage using resistors?
2. Do you really need to measure current?
3. is your problem before or after the comparator (or both) (if you need one)

/Johan Bengtsson

P&L, Innovation in training
Box 252, S-281 23 H{ssleholm SWEDEN
Tel: +46 451 49 460, Fax: +46 451 89 833
E-mail: [email protected]

Michael Griffin

If all you are trying to do is detect that current is flowing, you might consider using a reed relay contact element. These are available as small glass tubes (I don't remember who makes them). If you wrap a few turns of one of the motor conductors around the tube, the contacts will close when enough current is flowing. If you monitor the contact with your 8051 you can tell when current is flowing. You could adjust the sensitivity of the device by adding or subtracting turns of wire.

Michael Griffin
London, Ont. Canada