Electronic – way to control the PWM duty cycle of a 555 timer without using a variable resistor

555homeworkpwmtimervoltage

I need to control the duty cycle of a Pulse Width Modulation (PWM) circuit from a DC voltage input. To do this, I've been looking into 555-timer circuits – but every circuit I've come across involves controlling the duty cycle by using a variable resistor/changing resistor values (e.g. changing the value of Rb in the diaram shown below).

I've researched and thought about it a lot, but I can't find a way to use a certain input voltage to give a certain duty cycle in a PWM cicruit with the 555-timer, so any suggestions I may not have thought of or letting me know it can/can't be done would be appreciated.

Thanks

enter image description here

As a note: The requirement of controlling a PWM circuit duty cycle with an input voltage and not by other means is necessary for what I'm doing… I'm not trying to make my life difficult

Also, I forgot to mention I'm also not allowed to use microcontrollers!

Best Answer

Yes – simply use your external DC voltage to bias the feedback voltage. Done! (this means connecting it, with a appropriately sized resistor, to the threshold pin).

I'm not trying to make my life difficult

Well, still you're using a NE555 to generate a PWM. I'd simply go, get a cheap microcontroller with an ADC and a PWM unit (these start well below half a Euro), write ten lines of C firmware and be done. No analog circuitry you have to tune, no uncertainty and non-linearity of duty cycle as function of control voltage, just clean software in a microcontroller that doesn't need any external components but a decoupling capacitor for its power supply. Bonus: internal oscillators of microcontrollers these days would usually be much more accurate than a NE555.

Update better late then never: you mentioned you're not allowed to use microcontrollers. I know this will probably mean some learning overhead, but a CPLD-implemented PWM generator with either a resistor-ladder-based ADC implemented with pins and external resistor networks (so you don't have to solder a lot of resistors) or a cheap ADC IC would still be what I'd use. PWM is basically a pretty digital problem, so I'd go digital.

Another easy approach would simply use a quad Opamp IC: Opamp 1 & 2 to generate a triangle wave, opamp 3 to compare the instantaneous triangle voltage to your external DC voltage. Easy PWM, and gotten rid of the NE555.