EEVblog® Electronics Community Forum

Electronics => Projects, Designs, and Technical Stuff => Topic started by: chinook_eng on October 24, 2019, 10:13:52 pm

Title: Constant Freq, Variable Duty
Post by: chinook_eng on October 24, 2019, 10:13:52 pm
Hello everyone, first time to the forum, but I need help!

I'd like to design in hardware a static frequency variable duty PWM generator and running into some issues. My current design consists of a 555 timer configured in astable operation generating a 50% duty 150Hz square wave which is driving the trigger on another 555 timer configured for for monostable operation. I understand that I can vary the duty this way using a pot. Ok, onto my constraints...

I am required to use 3 potentiometers; 1 to set the lower duty cycle limit, 1 to set the upper duty cycle limit, and 1 to vary the duty between the 2 limits. I know i could easily accomplish this using a micro, but I am trying to have everything in hardware. No code.

Any suggestions?

Thanks
Title: Re: Constant Freq, Variable Duty
Post by: duak on October 24, 2019, 10:32:23 pm
I would start with a triangle wave of the desired frequency.  A comparator would have one input driven by the tri-wave and the other from the wiper of pot RV1.  One end of RV1 would be driven by a buffered variable voltage with a maximum voltage corresponding to the positive peak voltage of the tri-wave set by RV2.  Likewise the other end of RV1 would be driven by a buffered variable voltage corresponding to the negative peak voltage of the tri-wave and set by RV3.

If this isn't clear, I can try to sketch it out but it'll take some time.
Title: Re: Constant Freq, Variable Duty
Post by: chinook_eng on October 24, 2019, 10:57:36 pm
Ok, that sounds reasonable. Itd be like adding hysteresis to a comparator only the upper and lower bounds and reference would all be independently varied. Does that sound about right?
Title: Re: Constant Freq, Variable Duty
Post by: chinook_eng on October 24, 2019, 11:20:07 pm
Works like a beaut. Thanks for the help duak!