I want to create a PWM controller for a small DC motor (for academic reasons).
I figured that a 555 timer could create the appropriate pulse.
I simply got the 555 LED flasher (attached) and modified it slightly.
* Instead of the LED, I have the motor.
* R1 is 670Ω and R2 is 300Ω
* C2 is 0.1F
If I understnad it correctly, that should make a pulse frequency of about 15KHz at a ratio of about 1:1
I may have misunderstood it completely though.
Mostly is just makes a squealing noise, although sometimes it does turn.
The motor is just a small 9000RPM DC motor. It's a 6v motor, but I'm running it from a 9v battery (although it's only giving 7.7v). Would that be a problem?
Do I need a higher frequency pulse? Is there more to it than just creating a simple pulse that I would use to flash an LED?
So the schematic is basically fine? I read somewhere that I might need diodes somewhere. I guess I do need one across the motor, but that shouldn't affect the PWM side of things...
The formula I was using to work out the frequency is F = 1.44 / (R1 + 2R2)C
Is that right?
How did you work out the duty cycle? I think I've figured that wrong too.
you need a diode across the motor. you will always hear it unless you push the frequency over 20KHz. dynamic response of a 555 "PWM" will always suck since there is no compensation for line and load variance.
The battery will have a large internal resistance when under the load of something like your motor which is probably drawing half an amp. You need the diode or your 555 could fry. Are you driving the motor with a transistor?
Don't know the formula for duty cycle off hand but there's one for time high and time low and the percentage of time high is the duty cycle %
I tried using a NPN transistor (BC548 I think? - can't remember) but I just get the same thing.
on rare occasions it does work as it should, which is bizarre. usually it just whines and doesn't turn, but about 5-10% of the time it turns with no worries.
I have seen some schematics on the net which use pin 7, and a MosFET (I don't know much about them, I guess they're using it like a PNP BiPolar), but I'm using pin 3.
hi, at the bottom of page 6 and 7 of the NE556 datasheet (2 555s on the same chip) it shows what i think is the duty cycle formula, although i'm not sure which one applies to your circuit ( i think its page 7s)
Hopefully someone can confirm this, but ive linked datasheet so you can see for yourself.
Why all the guessing?
Simply measure the resistance of the motor then use Ohm's Law to calculate its peak current. The 555 can supply only 200mA so if the motor uses more current then it needs a power transistor to drive it, not a weak little BC548 transistor. The max allowed output current of a little BC548
transistor is only 100mA. Look at the datasheet for any transistor that you want to use.
Also measure the "9V" supply. I think it is a little 9V battery that is almost dead so its voltage drops too low when the circuit has a load.
You might want to try this circuit. It uses an N-channel power MosFet to drive the load.
Further it uses two timer ICs, one to generate the clock pulse and the other one being a monostable being triggered by the clock signal and changing its output pulse duration by applying a variable control voltage.
In the simulation the setting of the two potentiometers is shown for 100% duty cycle (very close to). Turning the lower pot (RV1=100K) in the opposite direction the duty cycle drops to 2%. Clock frequency is ~300Hz, varying slightly with duty cycle.
Why all the guessing?
Simply measure the resistance of the motor then use Ohm's Law to calculate its peak current. The 555 can supply only 200mA so if the motor uses more current then it needs a power transistor to drive it, not a weak little BC548 transistor. The max allowed output current of a little BC548
transistor is only 100mA. Look at the datasheet for any transistor that you want to use.
Also measure the "9V" supply. I think it is a little 9V battery that is almost dead so its voltage drops too low when the circuit has a load.
I think the OP is trying to use the 555 and a 9V battery to drive a DC motor.
First the 555 will not drive anything but the tinyiest hobby motor. You need to use the 555 to drive a power transistor or power FET which in turn drives the motor.
Second you likely need a power supply capable of delivering an Amp or two instead of the 100mA the 9V battery will deliver.
What happens if you hook your motor directly to the 9V battery? Measure the battery voltage before and during connecting the motor.
You might want to try this circuit. It uses an N-channel power MosFet to drive the load.
Further it uses two timer ICs, one to generate the clock pulse and the other one being a monostable being triggered by the clock signal and changing its output pulse duration by applying a variable control voltage.
In the simulation the setting of the two potentiometers is shown for 100% duty cycle (very close to). Turning the lower pot (RV1=100K) in the opposite direction the duty cycle drops to 2%. Clock frequency is ~300Hz, varying slightly with duty cycle.