Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

problems to control a dc motor with a pwm signal

Status
Not open for further replies.

mariomoskis

New Member
hello,i am trying to control a dc motor (1.5-3) with a transistor 2n2222a, at the CI NE555 output i have (supply voltage-1)=7-1=6V,so with duty cycle=50% i have the 3V(3/6=50%) and with duty cycle=25% i have 1.5V(1.5/6=25%) on my motor. and the circuit is the next:

View attachment 62374

my transistor has gain=40 and the maximum load of y motor will be 0.3A,so i need at my base a current at least I=0.3/40=7.5mA to get saturation, and the resistir at the base must be 6/7.5=800 maximum to get this, so i use a resistor=270ohm

-all which i said is correct?

-and the problem is that when i make the circuit, the transistor get so hot, why am i having this problem? how could i solve this problem?
pd: the diode on parallel with my motor is in correct way!

-and another question, the Vcc is 7V as i said so when the transistor is on cut-off which voltage read my motor? because if it is 7V i will burn it.

could somebody help me with this, i am really loss alot time with this but i don´t get a solution

thanks
 
Your PWM circuit is very similar tothis circuit running at about 144 Hz. The problem is when the transistor is ON you are applying just about 7 volts to a small motor designed to run between 1.5 and 3 volts so the motor is seeing over twice its rated voltage. The 2N2222 is about an 800 mA transistor with adequate heat sink. Eventually you will burn up the motor as well as the transistor. You may want to think about a 6 to 8 volt motor. Either lower the voltage or get a higher voltage motor. You can also try placing a resistor in series with the existing motor. Right now you are really getting much more current than 300 mA. Likely twice that when the transistor is in saturation.

Just My Guess...
Ron
 
Last edited:
You say the maximum motor current is 0.3A, but we don't know the motor inductance/resistance or average current.
Your freewheel diode across the motor is shown with the correct polarity.
When the transistor is saturated there is ~ 6.9V across the motor. When it is cut off, current flows through the freewheel diode and there is ~ -0.7V across the motor. It may be that your transistor isn't fully saturating.
A decoupling capacitor across the power supply might help. Reducing the supply voltage would reduce the heating.
 
about my motor i only have this information:

View attachment 62380

i think that when the motor is saturated,there is 6V across the motor,because at the output of my 555 i have 6V when my supply voltage is 7V,is it correct?

how much value should i take for the capacitor to decupling the supply power? the capacitor of 470microF 25V in my picture doesn´t get it?

and how could i know if the transistor is saturated,because i put the value of R at the base to get the transistor saturated! i tried to watch it with a oscilloscope at the colector,but the wave which i see is like this:(maybe it is caused for my motor)

View attachment 62382
 
So now we know from the spec that the no load motor current is 0.3A and at peak efficiency the current is 1.05A, and both those figures relate to a 3V supply. So as you have a 7V supply it's not surprising things get hot! 7V at 1.05A = > 7 Watts.
i think that when the motor is saturated
I presume you mean 'when the transistor is saturated'?
there is 6V across the motor,because at the output of my 555 i have 6V when my supply voltage is 7V,is it correct?
No. The 7V supply voltage, not the 555 output voltage, is the motor supply.
the capacitor of 470microF 25V in my picture doesn´t get it?
I must get new glasses :). Yes, that should do.
i put the value of R at the base to get the transistor saturated!
If your calculations for R were based on a current of 0.3A then if the motor draws > 1A the value may be too high. Can't see from the scope pics how close the collector voltage gets to 0V (i.e. saturation). The waveform shown doesn't rise very quickly so the transistor looks to be turning off too slowly and staying in a partly-on state longer than is desirable.
 
ok,i have some questions more:

as you said the peak os 1.05A,so should i calculate a new value of R to get saturation like this: 1.05A/40(gain)=0.026A 7V/0.026A=270ohms maximum value ????

if for example i put a resistor or diode at the emisor,can i get something to solve the problem? or i just get this:

if in saturation i have 7V across my motor,if i had 4V fix at the emisor(with a diode) and i have 3V at the colector,
then i will have 3V across my motor when the duty cycle is 100% and 1.5V when the duty cycle is 50%??? but will i need to change the value of R if i do it?
 
The problem is the transistor is never turning off. You can't drive a transistor from the output of a 555.
You can't use a 2N2222.
 
Last edited:
why my transistor is never turning off? if i would get it saturated, it should work well

so how could i get the transistor saturated?

thanks
 
1A is too high for a 2N2222 (max current rating 800mA), and you can't assume a gain of 40 unless you know which transistor you will be using. Perhaps use a NMOS FET with a low turn-on voltage? That should solve the saturation problem.
Adding a resistor or diode(s) in the emitter path will reduce the voltage across the motor but may make the switching time even slower.
 
ok,but if the transistor is in saturation,it shouldn´t see this current=1.05A because it will be turn off in cut-off, and the transistor will see 0.3A when it is in saturation? is it correct? so if it is,shouldn´t be a problem with the 2n2222a, or maybe i am mistaken about this?

and when i want to calculate the resistor at the base of the transistor,which value of current must i use to know the minimum current at the base to get saturation, 1.05A or 0.3A?

if for example i use a darling ton to get more gain,could i solve the problem with this?

thanks
 
Earlier I provided this link to a 555 PWM circuit which uses a common MOSFET. You may want to consider using a MOSFET as has been suggested. Yes, it is nice also to see all the motor details.

Ron
 
If your motor is rated 3V/0.3A why then do you connect it to +7V?

The motor should be connected to 3V!

Boncuk
 
yes,i attached the datasheet of my motor in a last coment
and i still have one question:

-the resistor at the base must be calculate with a colector current=0.3A,yes?
so 0.3/40=0,0075( minimum current to get saturation) and the resistor at the base must be maxium 6V(output 555)/ 0.001875=800(maxium value to get saturation)

-and the cut-off zone the voltage across my motor is 0.7V (about the diode in parallel),and the saturation zone the voltage across my motor is 7*duty cycle or (7-0.7(about the Vbe in saturation))*duty cycle?
 
Last edited:
The current gain (beta) of a transistor is used to calculate base current WHEN IT IS NOT SATURATED and is used as a linear amplifier.
When a transistor is used as a saturated switch like in your project then the base current is supposed to be 1/10th the collector current.

Why are you burning out a 3V motor with a 7V supply?
Why is your driver transistor a tiny low current one?
 
Last edited:
i can down the voltage to 5V,but not less because i need supply the 555
the only think that i need is with this transistor 2n2222a control the dc motor,but with the circuit which i attached i have the problem about the transistor get so hot,and i can´t watch on the oscilloscope the voltage at the colector and to know if the transistor is saturated, i attached the image too
so maybe the problem is about the transistor or can i get the solution with this transistor?
i don´t know if this is a easy problem to solve but it is a long time working on it and i don´t get a solution
 
You posted the data sheet for the motor. Free running, no load the current is about .3 amp and that is with 3 volts applied. Then if you read the data sheet that motor can draw over an amp. You have an 800 mA transistor. You are applying twice the rated voltage to the motor. When the higher voltage is applied to the motor what will be the result in current draw? It will go up. Discounting everything else the 2N2222 is not suited for this application.

Ron
 
As you've already been advised.....use a MOSFET. It should have a low turn-on voltage and a low on-resistance. Worrying about base resistor value will then be a thing of the past!
 
Use the circuit I linked to with the called out common MOSFET. You are looking at a need to change a single part pretty much. Also, keep in mind, it is unwise to run a 3 volt max motor off 7 volts. The latter being part two of your problem.

Ron
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top