DC Motor Controller
Moderators: Chuckt, Garth, bitfogav
-
- 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
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..
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..
- brad
- 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
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?
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?
-
- 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
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
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
-
- 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
Quick Update, Ive tested the Transistor separately and it seems to work just fine, im guessing the problem would be the 555
- brad
- 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
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!
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!
-
- 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
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.
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.
- brad
- 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
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?
-
- 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
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
-
- 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
I swapped out the 555 and it worked perfectly, it probably burned out with the 33 ohm resistor
- brad
- 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
What resistor do you have in there now?
-
- 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
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
Any thoughts?
Thanks
- brad
- 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
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:
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:
-
- 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
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
If there are any mistakes please let me know
Thanks
-
- 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
Just to correct the typo...
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.
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.11V/400uA gives us 27.5K ohms
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.
-
- 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
Blast I forgot the k....
Okay that makes sense
Thanks
Okay that makes sense
Thanks
Who is online
Users browsing this forum: Google [Bot] and 15 guests