Driving MOSFET with demultiplexer - Page 1
Forum section: electronics / projects

author: wigman27
author_rank: Regular Contributor
timestamp: July 14, 2014, 01:00:35 am
content: Hi AllI am starting a new project that will require driving up to 8 Si3473DV P-channel MOSFETs(datasheet).Does anyone think I would have any issues driving them directly with a 74HC138-Q100 demultiplexer(datasheet)?Thanks againLee

author: mij59
author_rank: Frequent Contributor
timestamp: July 14, 2014, 03:19:01 am
content: Hi,At what frequency is the mosfet driven ?What is the mosfet switching ?

author: wigman27
author_rank: Regular Contributor
timestamp: July 14, 2014, 03:30:29 am
content: Hi,Thanks for the reply!Quote from: mij59 on July 14, 2014, 03:19:01 amI haven't worked out exactly what frequency it will be ran at as yet. It will driving the anode layers of an 8 x 8 x 8 RGB LED cube. So MOSFET 1 will turn on, all turn off, MOSFET 2 turn on after the cathodes have been updated, all turn off and so on. So I imagine it will not turn out to be overly fast. Possibly a full update of the cube in the range of 500 Hz? Still very rough guess at this stage. I am still to do the prototyping.I will be driving all three cathode colour columns at the same time so a full cube update will be 8 cycles.Thanks againLee

author: T3sl4co1l
author_rank: Super Contributor
timestamp: July 14, 2014, 03:54:16 am
content: Qg(tot) max 33nC, at 4.5V. Which is equivalent to 7.3nF. 74HC logic is roughly 100 ohms output resistance, so will drive the gate in about 730ns. I wouldn't recommend a pin toggle shorter than about 30 microseconds.Tim

author: mij59
author_rank: Frequent Contributor
timestamp: July 14, 2014, 04:35:23 am
content: Quote from: wigman27 on July 14, 2014, 03:30:29 amGreat project.Driving the mosfet with 500 Hz shouldn't be a problem.Do you have a schematic of the multiplexer ( one row, one column )?

author: jmt
author_rank: Newbie
timestamp: July 14, 2014, 05:39:52 am
content: How is the multiplexing going to work? The MOSFET will be selecting the layer by connecting all the anodes of that layer to Vcc, but then you have 192 connections to deal with on that layer. How will you handle those?500 Hz is the driving frequency of an individual MOSFET, but you don't want multiple layers conducting at the same time and thus you need to know the switching time between the MOSFETs as well. You have a 250us period to drive each MOSFET (dividing one update period by, assuming a duty cycle of half the maximum (maximum duty cycle is 0.125), then the period between the MOSFET switching off and the next one switching on is 125us. Which is less than the previously recommended 30us. As long as your duty cycle doesn't exceed 0.9*max (switching period between MOSFETS of 25us) then it seems like it shouldn't be a problem.

author: wigman27
author_rank: Regular Contributor
timestamp: July 14, 2014, 05:50:06 am
content: Quote from: T3sl4co1l on July 14, 2014, 03:54:16 amThat is fantastic!! Thanks very much!! To be 100% honest with you, I hadn't even considered the RC time constant at all! Very very helpful thank you! Can I please ask where the 30 micro seconds has come from?QuoteNo, sorry mate. I haven't done a schematic. Still very much in the trial stages.At this stage I'm hoping to drive the common anode LEDs as above then control each cathode using TLC5940s. I'm still also playing with the best grey scale frequency to use.I'm hoping to eventually control it all with a rasberry pi to get the processing speed and also have sound output with a nice lcd interface to control it. I am going to start with the arduino due as I'm a bit more familiar with the IDE then convert over.Lee

author: wigman27
author_rank: Regular Contributor
timestamp: July 14, 2014, 06:00:06 am
content: Hi jmt,Sorry I didn't see your reply until I had posted the other one :-)The 500hz is a very rough estimate at the moment. I will make it as fast as I can but also it's going to take quite some time to shift a 12 bit grey scale value for each of the 192 cathodes (2304 bits). The max frequency on the tlc5940 is 30mhz for memory so that will be running as close to that as possible to leave plenty of processing time to generate animations :-)It's going to be a challenge but certainly doable :-)

author: T3sl4co1l
author_rank: Super Contributor
timestamp: July 14, 2014, 06:30:39 am
content: Quote from: wigman27 on July 14, 2014, 05:50:06 am1*RC is only 63% (assuming a real capacitor and resistor), so that's not enough. The gate is nonlinear -- at that point, it'll probably be stuck in the miller plateau, not actually 63% done. 2*RC is a good rough idea for "most of the way" -- it'll probably be fully on by then (past the miller plateau), if not at lowest Rds(on) yet. This is well enough the rise/fall time. Take this up by 10-20x to figure the maximum switching frequency with reasonable losses. More of a switching converter SWAG, but should be useful enough here.Remember to estimate Cgss from Qg(tot) max. The value given for Cgss is usually under bias, and usually underestimates the charge by four times or so. The equivalence is: Q/V = C.Downsides to shorter pulses: particularly if you're doing PWM, finite rise/fall time causes rounding off of very short pulses, skewing the visual response curve at the end points. So, a #010101 color might be fully black because it doesn't manage turn on at all, and the next few shades above that aren't spaced evenly because it's turning on slowly. Because the transistor doesn't switch fully on during these pulses, power dissipation is much higher -- again, a bigger hazard in switching converters, where the power transfer is typically many times the power dissipation capability of the transistor. (Case in point: I once had a 1kW bench supply, one of those $300 Chinese junkers. They used massive 50A IGBTs in the power stage, which were woefully underdriven by a few small transistors -- 2SC1815s no less! Needless to say, the pulse width at low voltage output was so narrow relative to the switching speed that the transistors never fully saturated, and BANG, your waste of $300 is now verified.) Since we're talking LEDs here, unless you plan on driving a massive number of them at once, or using very small transistors (like a SOT-23 for amperes!), this probably isn't going to be a concern -- you may even *need* some linear range for current control or something (though probably not on the row drivers..).Tim

author: wigman27
author_rank: Regular Contributor
timestamp: July 14, 2014, 07:17:19 am
content: Awesome description! Thanks very much!I will certainly keep that in mind and make sure I can keep to the parameters you have suggested.I may end up reducing the update rate of the cube but I will just have to have a play with it and see what looks good. I am going to make up a 4 x 4 x 4 to prototype it and reduce the update rate of the rows by half to get a good idea of the refresh rate of the 8 row cube :-)Bring it on!