PWM based simple DC motor controller - torque is lost

Thread Starter

eimix

Joined Sep 2, 2008
32
Hi

i build some sort of DC motor speed controller:


It works fine,
soft-start works, reverse works, forward and turbo modes also works ;)
but problem is that torque is lost (somehow) no more wheel spinning in toy car. Stall torque is low :(
But top speed looks the same.

U can say that's because of soft-start, but even if i let wheels spin (not touching ground at all) and after that i put it on ground - it stops after short time.

Earlier it was with IRF540N mosfet in use, but i changed it to IRLZ34N (lower turn-on Vgs), but almost nothing changed.

As R1 resistor (potentiometer) is variable i tried to make duty cycle of 555 timer 100% (upper side 10K oms, lower 0 oms) and in that case torque becomes as it was before adding new controller. (wheel spinning, almost good for drifting)

But as soon i set R1 to about 95% duty cycle (upper side 9.5K oms, lower - 0.5K oms) torque is lost :( It looks like half (50% or more) of torque is away :(

I tried C1 1uF and 100nF, almost no difference in torque - only sound of motor changes :) about 100Hz and 1Khz, sounds funny, but it does not matters, or should i go for higher frequencies? 10Khz? 20Khz 100Khz? (motor is similar to Speed 400 6V)

I hope that my description is clear, if not please let me know i'll try to clarify it.

Thanks for ideas
 

mik3

Joined Feb 4, 2008
4,843
Lets say your relay contacts are numbered from 1 to 4 starting from top to bottom as in your schematic. You have to connect a diode between contacts 2 and 4 with its anode on contact 4. Also, you have to connect another diode between contacts 1 and 2 with its anode on contact 1. This will increase your torque because you increase the average current through the motor and it will minimize sparks across the contacts which shorten your relay's life. If you put the diodes, i think a 100KHz frequency will be fine. If the car does not move with a duty cycle of 50% (for example) when it is stopped and you try to start it then try to start it with full duty cycle until it speeds up and then reduce it to control the speed.
 

Thread Starter

eimix

Joined Sep 2, 2008
32
Is it all about those diodes?
When i was googling for H bridge some time ago, i remember such ones, they were named as "free wheeling diodes" (not sure) are your suggestion the same? can i find anything more to read about this issue?

I tried to understand what does your suggestion change:
car is going forward (relay is switched off),
a) if 555 output is high, mosfet is open, motor starts turning, diode does nothing.
b) if 555 output is low, mosfet is off, motor keeps turning, producing electricity in same polarity and diode also does nothing.

and why two diodes? they would be in pararel?

i think i messed up and missing a point. :(
 

mikeh

Joined Sep 15, 2008
1
what gauge wire are you using dc motors use large current?
i use pwm but with a inductor and cap hand wind core about 20mm outside with 2mm enamled copper cap high ripple about 100-200 uf 40 v
this cleans up the pwm ripple and is more dc
use this on final drive after relay
higher the pwm the better
hope this helps
 

Thread Starter

eimix

Joined Sep 2, 2008
32
current of stall motor directly connected to battery ~ 6A. if connected to controller - current ~4.5-5A (on 95% duty cycle) but i'm not sure if my tester shows truth while measuring PWM circuit.

wires from battery to controller ~30cm long, ~18 small threads of copper (i do not know the diameter) but wires are like in PC for older HDD/CRROM power up cables. from controller to motor ~20cm.

but big inductor and cap near motor would make PWM to DC conversion, is this necessary?

for now i will try diodes, higher frequency, if that does not help - i will try big inductor and cap combination.
 

n9352527

Joined Oct 14, 2005
1,198
Is the torque the same on forward and reverse? Either way, in one case (either forward or reverse) the MOSFET would not be saturated.

I also think that 10K is too high a value to drive the MOSFET. Try a lower value resistor.
 

Thread Starter

eimix

Joined Sep 2, 2008
32
i'm testing torque in "turbo" mode 95% duty cycle, simple forward and revers is ~50% duty cycle, and seems to have same torque, and even smaller then it is in turbo mode.

there was resistor (10k driving mosfet) before - without it i burned 3 555 timers :D so i added 10k, 1k would be enouth? or more smaller?
 

mik3

Joined Feb 4, 2008
4,843
Is it all about those diodes?
When i was googling for H bridge some time ago, i remember such ones, they were named as "free wheeling diodes" (not sure) are your suggestion the same? can i find anything more to read about this issue?

I tried to understand what does your suggestion change:
car is going forward (relay is switched off),
a) if 555 output is high, mosfet is open, motor starts turning, diode does nothing.
b) if 555 output is low, mosfet is off, motor keeps turning, producing electricity in same polarity and diode also does nothing.

and why two diodes? they would be in pararel?

i think i messed up and missing a point. :(
When the MOSFET is off the motos keeps rotating and producing a voltage but in opposite polarity than the applied voltage (when mosfet is on) thus the diode contacts and current flows through the motor. You have to use two diodes because you reverse the motor too. Just connect then as i told you in post #2.
What is the threshold voltage of the mosfet?
Maybe the output voltage of the 555 is not enough to fully turn on the mos. Does it get very hot?
 

scubasteve_911

Joined Dec 27, 2007
1,203
Engineers always make this mistake! Mosfets have a gate charge, you must charge / discharge this quickly with sufficient current in order to keep the mosfet out of the linear region.

Steve
 

mik3

Joined Feb 4, 2008
4,843
Engineers always make this mistake! Mosfets have a gate charge, you must charge / discharge this quickly with sufficient current in order to keep the mosfet out of the linear region.

Steve
Yes, your right, but the gate charge discharges through the output of the 555 when it is low.
But eimix, to be sure you have to connect a resistor across the gate-source terminals of the mos. A 10K will be fine.
 

Thread Starter

eimix

Joined Sep 2, 2008
32
When the MOSFET is off the motos keeps rotating and producing a voltage but in opposite polarity than the applied voltage (when mosfet is on) thus the diode contacts and current flows through the motor. You have to use two diodes because you reverse the motor too. Just connect then as i told you in post #2.
What is the threshold voltage of the mosfet?
Maybe the output voltage of the 555 is not enough to fully turn on the mos. Does it get very hot?
if i understand your pin numbering correctly - 1 and 4 pins are connected to each other directly. 2 and 3 are also connected together (on left side of relay). So it seems that only one diode is needed- i will put 1N4007 (have some on table).

Mosfet Threshold is ~2V, it is 13amps @5V Vgs (motor takes only 6Amps stall current) http://alpha.octopart.com/International_Rectifier__IRLZ34N.pdf

Mosfet has heatsink (~10cm² plain plate) and if car is running freely (without aditional load) it does not get worm. If car is running forward/backward many times (for 10minutes) -heatsink warms up to ~50C°
 

Thread Starter

eimix

Joined Sep 2, 2008
32
Engineers always make this mistake! Mosfets have a gate charge, you must charge / discharge this quickly with sufficient current in order to keep the mosfet out of the linear region.

Steve
Do u want to say that 10K is too much (between 555 timer output and mosfet?) max timer output is 6.4V, and it can sink/source upto 100-200mA, so that resistor should be 50-100Ohms? right?
 
Last edited:

Thread Starter

eimix

Joined Sep 2, 2008
32
Last modified circuit (running in reality)


It still works :)
But no significant increase in torque :(

MOSFET gate resistor reduced (R3), and grounded with (R4)

D2 diode added.

What else should i try?
Increasing frequency?
 

mik3

Joined Feb 4, 2008
4,843
Calculate the inductance of the motor coils to find the appropriate frequency to control it. Put a 1K resistor in series with tha motor and then stall it. Then apply a 9V AC voltage across the resistor in series with the motor and measure the current through the circuit and the voltage across the motor. If you assume the motor as a pure inductor (because the resistance of the winding is very small), then divide the measured voltage by the measured current to find the reactance of the motor.

Because X=2*3.14*f*L

where
X=reactance
f=frequency of the applied AC voltage
L=inductance

Then L=X/(2*3.14*f)

Finally, you have to calculate what switching frequency you need to reduce the current ripple to a low level as to increase the torque.
 
Last edited:

Bernard

Joined Aug 7, 2008
5,784
Here's my 2 c/.One fast recovery, schottkey or gold doped,diode with current rating = to motor rating is sufficent. Adding 10 k gate to source will drop drive 50%. Some DC motors not rated for forward/reverse may run slower in reverse if brush position is optimized for forward. " current of stall motor ",I assume stall is not locked rotor current which might be as high as 60 A. Has the 555 output wave form been observed as well as calculated ?
 
Top