duty cycle with 555 100%

Thread Starter

Tim M.

Joined Oct 14, 2019
12
I have a related circuit I am working on and was wanting some pointers. Firstly I'd like to have a circuit that puts out a good clean square wave so as to minimize losses. I have good powerful FDH44N50 Mosfets to drive most any load. It would be nice to have a min and max set point so then a variable resistor can swing between those two set points. Having it go from near 0% duty cycle up to a set point would work great. I have tried using 7414 Hex Schmitt Trigger to do this and it was ok but I'm looking to improve this. I have one circuit I've found that may just do it but would love some feedback from anyone who can offer some direction. This is a personal project and I have played with a number of flip flop configurations along with buffers, drivers, and waveform correction while still not getting the response I'm looking for. Ideally I'd like to operate in the range of 40-100kHz
0-100_PWM_LM339.jpg
 
Last edited by a moderator:

KeithWalker

Joined Jul 10, 2017
3,063
I have a related circuit I am working on and was wanting some pointers. Firstly I'd like to have a circuit that puts out a good clean square wave so as to minimize losses. I have good powerful FDH44N50 Mosfets to drive most any load. It would be nice to have a min and max set point so then a variable resistor can swing between those two set points. Having it go from near 0% duty cycle up to a set point would work great. I have tried using 7414 Hex Schmitt Trigger to do this and it was ok but I'm looking to improve this. I have one circuit I've found that may just do it but would love some feedback from anyone who can offer some direction. This is a personal project and I have played with a number of flip flop configurations along with buffers, drivers, and waveform correction while still not getting the response I'm looking for. Ideally I'd like to operate in the range of 40-100kHz
View attachment 188014
The circuit you show is very complex for what you are trying to do. Why not use a simple LM555 timer as shown below, with the output signal connected to your power MOS FET driver transistors. By selecting the right value for CI you can set the PWM frequency anywhere up to about 100 KHz.The circuit supply voltage can be up to 18 volts. I am using this circuit to drive my 6 volt Dremel tool over a large range of speeds.
555pwm.jpg
 

Alec_t

Joined Sep 17, 2013
14,280
As a modification of SgtWookie's circuit you could insert a respective small trimmer rheostat in series with each diode to set minimum and maximum motor speed limits, and you could connect all four gates of the IC in parallel to boost the current available for the FET gate charge/discharge.
 

Thread Starter

Tim M.

Joined Oct 14, 2019
12
Yes, all great ideas. The main trouble I'm trying to overcome is the curve on the leading edge. I have built a number of circuits with both the NE555 and the CMOS version and they all seem to have this curve on the leading edge. Is this only due to the type of FET I'm using? or some other reason such as how hard the gate is being driven?
I have even tried a driver BJT from the output of the 555 to then drive the FET.
I'm happy to build it again just to be sure but that is what I remember from the last time.
 

TeeKay6

Joined Apr 20, 2019
573
Yes, all great ideas. The main trouble I'm trying to overcome is the curve on the leading edge. I have built a number of circuits with both the NE555 and the CMOS version and they all seem to have this curve on the leading edge. Is this only due to the type of FET I'm using? or some other reason such as how hard the gate is being driven?
I have even tried a driver BJT from the output of the 555 to then drive the FET.
I'm happy to build it again just to be sure but that is what I remember from the last time.
@Tim M.
It seems that you are describing the rise time of a gate drive signal. You don't give details as to what rise time you are seeing, so all I can say is that there is always a non-zero rise time when driving a large capacitive load such as the gate of a power MOSFET. To achieve a zero rise time would require a gate driver capable of providing an infinite number of amps to charge the gate capacitance---and such drivers do not exist.
 

Thread Starter

Tim M.

Joined Oct 14, 2019
12
Ok, yeah, I see your point. I'll run a couple of tests and see if I can determine a quantifiable number of some sense for rise time. Also one other thing of note, now I have a better scope than last time I was testing
 

Thread Starter

Tim M.

Joined Oct 14, 2019
12
So I built the 555 circuit suggested here by @KeithWalker, removed the LED after looking at the waveform output. It was fairly square but with a little to no load, it has some spiky oscillations on the leading edge. Really not a big deal for my purpose. I added a push-pull style MOSFET driver to the output of the 555 with a few and made some minor modifications. Now I get a much closer result to what I want. The main goal was to drive the FET with as square a wave as possible so as to minimize the loss in heat due to rise and fall time. This version is working a whole lot more efficient than the hex schmitt trigger. The FET not barely gets warm over any part of the range of use. I am using a 104 ceramic cap going from the output of the 555 to the FET driver so as to remove the chance of any DC biasing. Also, on the output of the FET I have a diode and choke in a similar fashion to a buck type regulator which has improved the effect by slowing the output enough that it gets very low relative to the input voltage. At best, I have gotten 4% to 98% duty cycle adjustment. The basic FET driver circuit I used below with some application appropriate values. Full rail voltage is between 24 and 30 volts so a zener was needed for the operation of the 555. I had a 16 volt one that fit nicely.Push pull fet driver.gif
 

MrChips

Joined Oct 2, 2009
30,710
...it has some spiky oscillations on the leading edge.
This is most likely a result of your measuring instrument and not your circuit.
What is the make and model of your oscilloscope?
What are you using for an oscilloscope probe?

You ought to be using a proper oscilloscope probe set to the X10 attenuation setting.
 

Thread Starter

Tim M.

Joined Oct 14, 2019
12
Firstly, the scope I had before was a DIY type DSO 238 which I think is Arduino based. Now I have a Cleqee CDS5012H which has a 100MHz bandwidth and a bunch of neat features that I've only just begun to look at. It came with a 1X/10X probe and yes I was using the 1X setting on the probe but I will be more mindful of that for the future. I am still a rookie with no training but a whole lot of time just playing with various circuits and all manor of small electronics.
As I don't have a ton of money to throw at my projects but love a good challenge, this scope works much better for me than the last one and I have greatly appreciated being able to search places like this for the answers to my questions.
My father was an electronics engineer by trade and that is how I got the interest. As he is of the era where the industry was changing from tubes to solid state, his knowledge is good but a bit limited and a little rusty.
The FET driver was his idea and then when I looked up the general design, I understood better why. The few times I've used FETs for projects for simple switching, I've placed a 100k pull down resistor source to gate.
As many can see by the arrangement I've posted above in the FET driver circuit, it inverts the signal. Still not an issue for me but I didn't really think about it till I built it.

My application for all this at this point was an LED bar that lights over my work desk (or I should call it my play desk) and is nice to have adjustable brightness. I am using recovered candelabra bulbs that had a dead PS. I removed the base and pointy top so as to just have use of the LED arrays. As they mostly still worked, I figured it was a good recycle project.
 

TeeKay6

Joined Apr 20, 2019
573
This is most likely a result of your measuring instrument and not your circuit.
What is the make and model of your oscilloscope?
What are you using for an oscilloscope probe?

You ought to be using a proper oscilloscope probe set to the X10 attenuation setting.
@Tim M.
...with a short probe ground lead connected to the appropriate grounding point for that signal. Also, TS says "full rail voltage is between 24 and 30 volts..." If Vcc in post#8 is 16V, then all is well. If Vcc is 24-30V, then the MOSFET gate is likely unhappy.
 
Last edited:

Thread Starter

Tim M.

Joined Oct 14, 2019
12
Ok, well still playing with it a bit. I'll post a final version when I'm suitably happy with the overall performance.
Ah, right, so full rail voltage is between 24 and 30 volts but the FET is driven from the 16 volt side and is switching the negative rail so the output is between the drain terminal and input positive.
I did think about using the FET simply in bypass style and that may work too. I just haven't explored that option.
Bottom line, I have the 16 volt zener regulating the voltage to the 555 and the driver circuit I posted above in post #8 and the FET switches the negative rail leaving the positive rail jumpered from input to output plugs.
 

Thread Starter

Tim M.

Joined Oct 14, 2019
12
Ok, so what I was playing with about a year ago, and @KeithWalker was mentioning in a post here that is now removed for some reason, was integration by use of opamps and a triangle wave as reference or comparison. Anyone is welcome to correct me if I'm wrong but it also makes this application quite complex.
I would love to understand, though, just why using a transistor flip flop does not perform near as well as a 555 to generate a square wave pulse?
I have several variations on how to mitigate the wave shape to make it more true but I've not found it to be near as close.
In the present setup with a 555 going to the push-pull FET driver circuit and no other additions on the output of the FET, I have a minor curvature on the leading and tailing edges that span about 1.2 micro seconds each. This is what I'd consider a good response but now that is there, I am back to thinking of an integration method using comparators.
Thoughts?
 

MrAl

Joined Jun 17, 2014
11,389
Hi,

Just a side note...

Gate drivers are made just for that, to drive t he gate of a mosfet.
Some have built in Schmitt Triggers to clean up the oscillator source waveform.
They can drive up to a few amps so they can turn a mosfet on and off really fast.
They work better than complementary bipolars, but yes sometimes you can get by with that.

Also, when driving the gate fast like that you have to look for ringing in the source circuit. That could cause the mosfet itself to oscillate and thus eat up more power and get hot.
A common fix is to add a small gate resistor in series with the gate. Perhaps 5 to 20 ohms. That slows down the mosfet however so it's a tradeoff.
 

swr999

Joined Mar 30, 2011
38
Just echoing the points made by @MrChips and @TeeKay6. Just basics: Make sure your probes are properly compensated; use very short grounds on the probes (best with the little springy things); use DC coupling mode...
 

Brainchild

Joined Sep 13, 2014
1
Another solution would be use an Arduino Nano (cheap on ebay) with a UCC27322 gate driver (this might be a little overkill since it will drive 10000pf and the BUZ11 is on 2000pF). You would use one of the analog inputs connected to a pot and then use one of the PWM pins to drive the gate driver/MOSFET. If you google Arduino PWM LED you will get a bunch of examples of the code and circuit. example: https://create.arduino.cc/projecthub/muhammad-aqib/arduino-pwm-tutorial-ae9d71
 

Thread Starter

Tim M.

Joined Oct 14, 2019
12
Arduino, yes I looked in to that.
In short I guess I really wanted to understand better how this can all work with discrete components too and I've learned a bunch since starting that pursuit.
I have discovered more about transistor saturation management and correct impedance matching & driving.
Presently I am using a 555 going to the BJT-based gate driver I showed above and that drives two paralleled FDH44N50 MOSFETs.
This setup drives quite well with 9 LED arrays each are rated for 18 volts and at full brightness and room temp, the MOSFETs get barely warm while the LEDs get much warmer (need more heatsink but I don't need quite that much light ether).
At the normal brightness I use them at, the MOSFETs stay cold and the waveform driving them is quite square.
There are zener diodes to manage the lower voltage components with total on the high voltage side reaching as high as 30 volts.
Simply said, I have four large 6-volt lead acid batteries sitting outside under cover configured as a 24-volt bank and this is operating an inverter for backup power and also I ran some 6AWG copper wire to a junction box inside under my work station for various uses including being a power source that never goes out. I have several solar arrays on the roof that help with the charging too.
One other note, I have the usual schottky diode and choke on the output of the MOSFETs and going to the LED arrays but left out the smoothing cap due to the desire to be able to rapidly alter the brightness.
And, yes I have tried many sizes of cap and a 3 watt 1k resistor across it but still like the response without better.
I learned also about the use of UVLOs used in gate drivers too and just how useful they are. I've not implemented any of this approach at this point but it is in consideration as I'll likely learn more as I dig on that too.
I will gather the various parts of the circuit and post here for anyone interested.
One part I found interesting in playing with this is how a single small signal transistor can clean up a waveform too, if configured right. I found this one just by accident but also may have something to do with the type of transistor and exact properties.
 
Last edited:

danadak

Joined Mar 10, 2018
4,057
Just as an aside for future work here is a simple way to do V to PWM control with minimal components

1579563051409.png

And codeing for the ATTINY as simple as this (mBlock IDE)

1579563138043.png


Here you drag/drop/config blocks, middle window, and tool generates the Arduino code.,
seen in right hand window.

There are several gui drag and drop programs, each with unique and common capabilities.
Ardublock, Visuino, XOD, Scratch for Arduino, Flowcode......


Regards, Dana.
 
Top