Everything for Electronics

Tech Forum





April 2015

Over Current for PWM Circuit

I have a Marlin P. Jones DC motor speed controller (Part 31566MD, 6-24 volts, 20 amps max). I need to add an over current circuit to it. I inserted two 0.1 ohm/five watt resistors in series with the motor –lead and the M-connection on the controller. My scope displays a steady 0.6 volts DC level across it. The PWM waveform changes from 2 µsec to 40 µsec in length as the output of the speed controller is increased from 0 to 3 amps, while my DVM displays 0.02 VDC to 1.3 VDC for the same range of output.

So, the question is “What kind of circuit can I add across the resistors to get a VDC reading?” I have tried an NPN transistor, base lead to the motor –lead, and the emitter lead to the M- connection. (With a 10K collector resistor to +12 VDC.) The collector voltage went from +12 volts to +3 volts as the controller output went from 0 to 3 amps.

Next, I connected the collector voltage to an LM324N quad op-amp set up as a voltage comparator. The +lead of an LM324 went to a 200K pot, connected between +12 VDC and Gnd. The transistor’s output went to the –input of the same op-amp. A 1M ohm resistor is connected from output to +input for hysteresis. (This output should go high to set a CD4013N flip-flop at an over current condition.)

The problem is that the output of the op-amp’s output does NOT change at the point when the voltage at the +input is greater than the –input. The op-amp’s output changes as the voltage from the transistor decreases. I used the LM324N auad op-amp because it has four op-amps in one chip, and it works with a single +12 VDC supply. It would be helpful if the new circuit could use it also, but not necessary. I could use a PIC16F628 or an Arduino Nano, if you design with them.

#4153
Patrick Fleming
Hoffman Estates, IL



Answers

I’ve found the 31566 schematic. The simplest solution, that I’ve used in similar circuits, is to use a ZXCT1009, this is a 3 terminal current sensor. So put your 100mR shunt in the positive line, attach the ZXCT1009 across it, and a current proportional to the motor current (about 1/1000 actually) flows out of the third pin to ground. Simply attach a resistor, say 1K ohm to ground and you can read the motor current off this.

The most important advantage of this chip is the sense resistor can be grounded at the Arduino, so you won’t be measuring any errors due to voltage drop in the ground wiring. The datasheet shows how to use it, and provides calculations on how to use PCB traces as current shunts.

Bob Turner
Salamander Bay, AUstralia