[Back to Home Page]
Motor Over-Current Sensor
Detects over-current situation with a motor or other DC device.
Roman Black - April 2004 - web Aug 2006
What is it?
This simple circuit detects when the motor (or other device) draws too much
current and activates a digital output. The current setpoint can be easily
adjusted with the trimpot.
Over-current indication is by a LED, and/or by sending
a digital output signal to a PIC or other controller. This circuit is cheap and
reliable and I have used it with great success for many years.
One big advantage is that the voltage on the current sense resistor
during operation is very low, giving benefits in good overall efficiency and
it only needs a small cheap current sense resistor.
How it works
The circuit is very simple;
Motor current path is through the motor and R1 only
Voltage at R1 (point A) is proportional to motor current
When over current setpoint is reached, voltage at R1 is about 50mV
Trimpot is adjusted so the transistor turns on when point A reaches about 50mV
Digital output goes LOW when over-current condition
(optional) LED lights up when over-current condition
Advantages and Limitations?
Small, cheap and simple to build
Low R1 sense volts (good efficiency)
Good adjustability to your desired current setpoint
Adaptable for most sizes of loads
Also adjustable for over-current time
Usable for most DC loads, not just motors
Some minor limitations;
PIC ground must be connected to motor power ground
When motor is operated near the limit point the output can be linear
(or slowly varying) and not a sharp digital output signal
Tips for using it
In cases where you need to detect the running current of a motor or load,
where the motor is always operated near the current limit and you need
to detect just a slight increase in current, the output may vary through a
linear range and not make a nice fast transition from 5v to 0v.
The circuit will still detect the current set point accurately, and the
slow transition can be eliminated if you use a schmitt trigger (ST) digital
input pin on the PIC (or a schmitt inverter 7414 chip etc).
It works great for detecting large overcurrent situations like "end of travel"
condition where a motor/gearbox etc hits the end stop and the current jumps up
high. In that case the output switches
quite fast and there are no problems, although using a ST digital
input is still helpful. Set up properly this circuit can eliminate the need for 2
limit switches (one at each end of travel).
For very high current loads you can use less than 50mV as the setpoint and clean
the digital output with an ST, but keep in mind that there will be some
hysteresis between the over current trigger and the reset when the current
later drops. Likewise if hysteresis is not wanted and the load current
is not too high you can use a higher voltage setpoint like 100mV and waste a
bit more power in R1.
The value of R1 can be calculated by this formula;
ohms = 0.05 / amps
(so for example to get a setpoint of 2A needs 0.05/2 or 0.025 ohms)
Low value resistors can be made by putting resistors in parallel so 0.025 ohms
would be 0.1 ohm resistors x4 in parallel. Alternatively, a thin strand of wire
or fine pcb track can be used as a low-ohms resistor but make sure it does not get
hot in normal operation. For example, a 25mm (1") length of PCB track of width
0.010" has a resistance of 0.025 ohms. If you want to calculate PCB track resistors
you can download a great freeware calculator program here.
The trimpot provides a good range of adjustability of the current setpoint,
generally a range of +/- 30% around the setpoint. If you need more than that it
is better to change the value of R1.
The value of C1 provides noise immunity and also determines the time
before the over-current situation is detected. Keeping this large (even 470uF)
can stop the motor start-up current (or short surge currents)
triggering the circuit and can give some
extra overhead when the circuit is used for emergency shutdown.
If you have trouble with motor noise causing triggering
try adding a 1000uF cap and 0.1uF cap
both across R1, and also a 0.1uF cap across C1. However using a good
regulated +5v supply and the parts values shown I have never needed
to do this, reliability is excellent.
This circuit is also good for other DC loads besides motors, if you need a system
to detect over-current conditions or catastrophic parts failure etc.
I also have a motor speed sensing circuit here.
- end -
[Back to Home Page]