DC Motor Controller

Post here to let others know of a project you're working on.

Moderators: Chuckt, Garth, bitfogav

rd1196
Can't get enough of electronics!
Can't get enough of electronics!
Posts: 83
Joined: Mon Aug 30, 2010 8:05 am
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

DC Motor Controller

Post by rd1196 » Sat Mar 12, 2016 6:28 am

Hello, I found this circuit online used as a PWM for a DC motor. I am using a 12V high torque motor and the problem is the 33 ohm resistor pretty much explodes, I checked the voltage and there was an 8 volt drop so it makes sense it would burn up being a 1/4 watt resistor. In the website where I found the circuit several people had the same issue, one said that it was probably a typo and a 330 ohm was what they meant (still need a high power rating) and another suggested a 470 ohm instead. I tried both these options and although still hot the resistors dont burn up, but a new problem surfaced. The pot used to control the pulse width stopped having any effect on the speed of the motor. I dont know if I should change the pot (50K ohm currently) or change the input voltage or what to do.

I am barely introducing myself to PWM and id like to learn about it through this little circuit. If you come up with a solution for the problem please try to explain the reasoning behind it because my biggest struggle right now I believe is not understanding the problem therefore I cant solve it.

heres a link to the circuit diagram:

http://www.circuitstoday.com/dc-motor-c ... ent-457075

Thanks.




This motor is to be used to tilt a platform that will cause a tank with acid to shake and accelerate the pcb etching process but that post will come later..

User avatar
brad
Site Admin
Site Admin
Posts: 2578
Joined: Fri Mar 26, 2010 10:30 pm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: DC Motor Controller

Post by brad » Tue Mar 15, 2016 10:05 pm

Sorry for not having much time to post too much at the moment. But first can you tell us how much current the motor draws just by itself with a 12V power supply?

Also, you may have damaged the transistor because with a 33 ohm resistor there you may possibly have drawn more than the 0.5A that the transistor BE junction can handle. Are you able to get rid of the transistor side of things and just check the PWM output using an oscilloscope?

rd1196
Can't get enough of electronics!
Can't get enough of electronics!
Posts: 83
Joined: Mon Aug 30, 2010 8:05 am
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: DC Motor Controller

Post by rd1196 » Wed Mar 16, 2016 6:06 am

Hello, the motor draws about 30mA with just the 12V DC supply.

I tried plugging the oscilloscope to the 555 output (the circuit was assembled in a home made PCB) and it seemed to give me a steady 12V DC waveform. When the circuit had the 33 ohm resistor I remember the 555 being extremely hot as well, is it possible it was damaged instead of the transistor? (or both?).

Once again this type of circuit is foreign to me so if I should be testing something else or anything specific I should know please let me know.

Thanks

rd1196
Can't get enough of electronics!
Can't get enough of electronics!
Posts: 83
Joined: Mon Aug 30, 2010 8:05 am
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: DC Motor Controller

Post by rd1196 » Wed Mar 16, 2016 8:38 am

Quick Update, Ive tested the Transistor separately and it seems to work just fine, im guessing the problem would be the 555

User avatar
brad
Site Admin
Site Admin
Posts: 2578
Joined: Fri Mar 26, 2010 10:30 pm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: DC Motor Controller

Post by brad » Wed Mar 16, 2016 8:58 pm

I am very interested in the motor that you're using if it is only drawing 30mA at 12V. Do you have a link to where you bought it perhaps?

the 33 ohm resistor would have limited the current only slightly and then you have the resistance (or impedance) of the 555 timer which also would have limited the current however if it was all getting hot as you say, then you certainly may have damaged it. But then again, you said the 555 timer circuit itself was outputting a signal just fine.

Could you vary the pulse width just fine also?

Again, I'm interested / skeptical about the motor only drawing 30mA. If that is the case, then you certainly don't need that transistor which can handle upto 1500mA!

rd1196
Can't get enough of electronics!
Can't get enough of electronics!
Posts: 83
Joined: Mon Aug 30, 2010 8:05 am
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: DC Motor Controller

Post by rd1196 » Wed Mar 16, 2016 10:42 pm

Heres the link to the motor:

http://www.amazon.com/Nextrox-Mini-Torq ... orque+moto

The motor is not carrying any load for now so maybe thats why the current is so low?

the 33 ohm resistor started smoking and if you look under the board (transparent fibreglass material) you can see it even burned up a little bit, the 555 didn't burn up on the outside but I remember it being extremely hot.

The pulse width is not changing at all with the potentiometer after I took out the 33 ohm and put in a 330 ohm, that is my problem now. the circuit still drives the motor but at a constant 12V regardless of the potentiometer.

User avatar
brad
Site Admin
Site Admin
Posts: 2578
Joined: Fri Mar 26, 2010 10:30 pm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: DC Motor Controller

Post by brad » Sun Mar 20, 2016 7:26 pm

I don't quite understand how the motor could be running at a constant speed regardless of the PWM output. Have you tried checking the output signal with an oscilloscope while the motor is connected?

rd1196
Can't get enough of electronics!
Can't get enough of electronics!
Posts: 83
Joined: Mon Aug 30, 2010 8:05 am
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: DC Motor Controller

Post by rd1196 » Mon Mar 21, 2016 1:06 am

Yes i did and its a constant 12V output from the 555, now I dont know if that is caused because the 555 burned up along with the 33ohm resistor or if there is another issue causing it

rd1196
Can't get enough of electronics!
Can't get enough of electronics!
Posts: 83
Joined: Mon Aug 30, 2010 8:05 am
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: DC Motor Controller

Post by rd1196 » Wed Mar 23, 2016 12:00 am

I swapped out the 555 and it worked perfectly, it probably burned out with the 33 ohm resistor

User avatar
brad
Site Admin
Site Admin
Posts: 2578
Joined: Fri Mar 26, 2010 10:30 pm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: DC Motor Controller

Post by brad » Thu Mar 24, 2016 9:40 am

What resistor do you have in there now?

rd1196
Can't get enough of electronics!
Can't get enough of electronics!
Posts: 83
Joined: Mon Aug 30, 2010 8:05 am
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: DC Motor Controller

Post by rd1196 » Thu Mar 24, 2016 10:13 am

I have a 330 ohm temporarily but i might look for a higher power rating or a higher value like a 1k.
Any thoughts?

Thanks

User avatar
brad
Site Admin
Site Admin
Posts: 2578
Joined: Fri Mar 26, 2010 10:30 pm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: DC Motor Controller

Post by brad » Thu Mar 24, 2016 7:29 pm

You just need a low enough resistor value that will put the transistor into saturation. You can do a few calculations but it would also be best to tweak it a bit with some practical experimentation.

Here is a link to the BD139 datasheet:
https://www.fairchildsemi.com/datasheets/BD/BD135.pdf

VBE could be up to 1 Volt so if you have 5 volts between ground (or negative of the battery / power supply) and the output of the 555 timer, then that leaves at least 4 Volts across the base resistor (the resistor that was 33ohms but is now 330 ohms). So this gives you a base current of

4V / 330 ohms = 12.12mA

If you multiply that by the gain of the transistor you will get the collector current (which is the current going through the motor) but this current gain is not constant and will vary depending on how you have the circuit set up - so this is why practical experiments are great. The current gain could be up to 250 so that means you could have:

12.12mA * 250 = 3.03A in the collector.

However, you cannot get this with that transistor though because it has a maximum collector current of 1.5A. you also said that you only needed 30mA to drive the motor therefore IF the current gain was 250 (which it could certainly be less than that) then we can calculate the required base resistor:

Base current = 30mA / 250 = 120uA

If there is 4V dropped across the base resistor and it has 120uA flowing through it then:

Base resistor = 4V / 120uA = approximately 33K ohms

Did that make any sense?

Now that I think about it, here's a video that I made a while ago:

rd1196
Can't get enough of electronics!
Can't get enough of electronics!
Posts: 83
Joined: Mon Aug 30, 2010 8:05 am
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: DC Motor Controller

Post by rd1196 » Mon Mar 28, 2016 11:57 pm

Alright so I said at the beginning that the motor draws about 30mA of current, not I tested it again only this time I applied some pressure to simulate a load (the motor is going to be rocking a platform with a container full of etchant) and it went up to 80/100 mA so lets say 100mA as a max current it will draw. Now saying the gain is 250 that means that the base current will be about 400uA. The output of the 555 is pulses with a 12V amplitude, since 1V drops in the transistor that leaves 11V for the resistor, 11V/400uA gives us 27.5 ohms. now all this is of course ideal numbers based on a lot of assumptions, I have some 33k resistors lying around would these work fine or is the 6k ohms a big difference between the two?

If there are any mistakes please let me know

Thanks

tumbleweed
newbie
newbie
Posts: 5
Joined: Tue Mar 29, 2016 12:47 am
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: DC Motor Controller

Post by tumbleweed » Tue Mar 29, 2016 1:24 am

Just to correct the typo...
11V/400uA gives us 27.5K ohms
You won't get the full 12V drive out of the ne555, and the current gain of the transistor could be a WHOLE lot lower than 250. Take a look at the datasheet and you'll see a big range in Hfe.

Say the current gain was the min value of about 40, and you want 200mA of collector current (just to be safe).
That would mean you want to set Ibase = 200mA/40 = 5mA.
Remember, the transistor won't actually draw more collector current than the load needs so you want to be sure that you set it up with enough headroom.

Assume you'll drop 1.5V on the output of the ne555 and that Vbe of the transistor is 1V, that gives something like

Rbase = (12V - 1.5V - Vbe)/5mA = (12V - 1.5V - 1V)/5mA = 9.5V/0.005A = 1900 ohms

I'd just round that up to 2K and it should be fine. The ne555 and resistor should be a lot happier with 5-6mA.
You could likely get away with less base current, but I wouldn't go into the 20K-30K range with the base resistor. That relies on a high current gain.

rd1196
Can't get enough of electronics!
Can't get enough of electronics!
Posts: 83
Joined: Mon Aug 30, 2010 8:05 am
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: DC Motor Controller

Post by rd1196 » Tue Mar 29, 2016 2:13 am

Blast I forgot the k....

Okay that makes sense

Thanks

Post Reply
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Who is online

Users browsing this forum: No registered users and 18 guests