DC Lighting with MOSFETs help - Page 1
Forum section: electronics / projects

author: sile
author_rank: Contributor
timestamp: January 26, 2011, 05:47:53 am
content: Circuit Description:I am trying to control some 12V DC lighting, (resistive). I am using a high side MOSFET controlled by a TLC59108F.http://www.ti.com/lit/gpn/tlc59108f. That device is a LED driver that uses PWM to control brightness. It's controlled by I2C and it's outputs are 17V tolerant. So, my thought was that I could use this to control my MOSFET. I have a 1k pullup resistor on the gate of the mosfet to 12V. I also have 1 of the outputs of my LED driver connected to the gate. The LED driver is a current sink so it just pulls the gate to ground when needed.Everything works as expected... but only for a short time. Then the LED driver chip stops responding to commands. After looking at it with the scope there are some large negative voltages appearing on the output pin of the LED driver. As much as -10V.Currently I am just prototyping this on a bread board and I am using an N-Channel MOSFET because that is all I have at the moment. I plan to change this to a P-Channel when I actually build the thing. Not sure if this would change anything or not. The only practical difference I see at a functional level is the Vth voltage drop across the MOSFET.Tested fixAdding a current limiting resistor between the LED driver and the gate of the MOSFET 22Ohm brings the negative voltages under 2Volts. And with a shotkey diode from ground to the pin of the LED driver it eliminates the negatives voltages all together.Questions1. What causes this negative voltage? The only thing I can think of is possibly the discharge of the gate capacitance into the LED driver creates such a high current that the inductance in the wires drives the voltage negative. If this is the case, would this be significantly less once on a PCB?2. Is there any other effective way to eliminate this problem? I don't really want to add 2 more parts to each control line. The plan is to have 4x of these LED drivers with 8x channels on each. With 2 more parts per channel that is 64x more parts.3. Will changing the part from N channel to P channel make any difference?Thanks for your help in advance.

author: jahonen
author_rank: Super Contributor
timestamp: January 26, 2011, 09:29:19 am
content: Yes, parasitic non-freewheeled inductance is probably the cause. Even with a PCB it can be a problem, unless you carefully minimize areas of all critical current loops.Regards,Janne

author: Psi
author_rank: Super Contributor
timestamp: January 26, 2011, 10:39:02 am
content: might be a good idea to check that your grounds are connected in a star arrangement

author: am2pgs
author_rank: Contributor
timestamp: January 26, 2011, 06:20:36 pm
content: Adding a schematic of your circuit would help. Not sure about the negative voltage yet as I am not sure I undrestand your circuit.I assume you have 12V connected to Source, the Gate to the LED driver and the Drain to the output.If this is true, then the circuit should work with a P-Channel Enhancement MOSFET, since the VGS should be negative to turn it on (note there should be a pull up resistor on the gate to turn it off).If you want to use a n-channel, I think the easiest would be to use it as a low side switch, connecting the Source to Ground and your load between the 12V and Drain. Applying a positive voltage to Gate relative to Ground will then turn on the switch.to use an n-channel as a high side you will need a voltage on the gate that is higher than your source (i.e. VGS must be positive). Often they use charge pumps to boost the drain voltage and then they use it to turn on the FET.Another thought: Why not use a PWM output from the processor (or whatever) directly to control the FET through a small PNP tansistor? i.e is the LED driver needed at all?

author: Zero999
author_rank: Super Contributor
timestamp: January 26, 2011, 07:54:30 pm
content: Yes, a schematic would help and I agree with the parasitic inductance theory.The resistor should help but if the output of the IC is CMOS it should have enough series resistance and clamping diodes to limit the negative voltage pulses to a safe level.

author: sile
author_rank: Contributor
timestamp: January 27, 2011, 03:33:07 am
content: Thanks for everyone's replies. Sorry, I should have included schematic first time. I also included a little screen shot from the data sheet that shows the output driver on the TLC59108F. As far as not using PWM from the micro to directly drive is because I want to control 32 channels and don't want to deal with a micro that large. I also, like the modular nature of a building block of 8, so I can scale to higher or lower if needed. Also, I can fuse each block of 8 etc.... Now I did consider putting a small micro on each board, but then I have to manage code on each one etc. So, that was kind of the motivation with going with this LED driver.I haven't really decided on what micro i'm going to use, probably an AVR, or was thinking about trying out that launchpad thing since it's so cheap. Currently I'm testing with an Arduino.If the TLC59108F chip didn't have the feature of tolerating 17V on it's output pins, I would have used a small transistor to drive to the gate, but I thought I could pull it off with just a resistor. Also, the chip isn't actually a CMOS chip, it only tolerates 17V on it's output pins.A high side n-Channel actually works because when you initially apply 12V to the Gate, the source is initially @ 0V and the device turns on, as current starts to flow the voltage seen at the source starts to rise. Once the voltage hits 12v-(Vgs threshold, about 1.5V on a logic level ), the device will turn off and on around that voltage. So, you see a voltage drop across from the drain to source of about the Vgs threshold voltage. I think this is rather bad thermally as it is quite hot for about .5A, however same Mosfet used as a low side switch is nice and cool.I think I will go back and re-check all the ground pins on this chip it has 3. That seems like a likely problem.

author: Jimmy
author_rank: Regular Contributor
timestamp: January 27, 2011, 06:28:21 am
content: From the gist of I get you want to run some 12v leds from an AVR, you could use a TLC 5940 and stack them.http://code.google.com/p/tlc5940arduino/I have had them running with 12v rgb led light strips and they work great I just need some time to finnish project.

author: sile
author_rank: Contributor
timestamp: January 27, 2011, 06:36:41 am
content: I looked at that information you have posted on arudino.cc. Although I want 32 channels with each channel being able to run 2Amps Each channel has 4x 6W bulbs, so i have to put mosfets in front of it. But, I did look at the TLC5940 and almost went with that instead of the TLC59108F.

author: am2pgs
author_rank: Contributor
timestamp: January 27, 2011, 07:12:51 am
content: yes I agree the high-side n-channel without a higher Gate voltage would work, but as you said only as a very ineffecient switch with VGS drop out voltage.A couple of comments on the schematic: I don't know what is the maximum "V+" voltage, but I think the 1K pull-up should be connected directly to the Source of the MOSFETS or you will risk not turning off the FET completely, if V+ is much higher than 12V. If you are worried about the LED driver output breakdown voltage, then you could use an external NPN transistor between the LED driver the MOSFET gates.I would recommend sticking a zener diode between the Gate/Source of the MOSFETS to protect the VGS from exceeding the rated maximum voltage.

author: Jimmy
author_rank: Regular Contributor
timestamp: January 27, 2011, 07:33:00 am
content: Maybe you need a resistor on your control line between your TLC59108F and mosfet to limit the current

author: am2pgs
author_rank: Contributor
timestamp: January 27, 2011, 07:49:24 am
content: I can't help thinking that may be your load is inductive. The negative spikes then get coupled to the gate through capacitance. an easy way to deal with that is to put a diode across the load.

author: sile
author_rank: Contributor
timestamp: January 27, 2011, 04:24:20 pm
content: Yes, a 22 Ohm resistor between the TLC59108F and the gate on the mosfet brings the negative voltages to around -2V. So, that does seem to help quite a bit. I guess I only need to pull down Vgs to only -3V for my P-Channel mosfet (AOD-417). If i used a 470ohm pull up resistor and 470ohm resistor between the gate and driver that will pull my gate voltage to 6V, giving a vgs of -6, which should be good. Although Rds(on) won't be quite as good as a -12V Vgs. But, I think I will take that for higher reliability.Once I get my AOD-417, i'll test with that.The load I am testing with is a 12V 6W light bulb.Amp2gs:To answer your questions about the schematic, all the power stuff is at the top right.Vin, will be connected to a car battery expected to be around 12-14VV+ is just Vin ran through a fuse, so all the current for all 8 mosfets is fusedV12 is V+ going through a 1ohm current limit resister and has a 16V zener. This is to protect the LED driver and why I use V12 as my gate pull up. So, under normal circumstances V+ is connected to v12 via a 1ohm resistor.

author: CafeLogic
author_rank: Regular Contributor
timestamp: January 28, 2011, 03:47:22 am
content: That whole set up would be a whole lot easier if you used N-Mosfets on the low side.

author: Zero999
author_rank: Super Contributor
timestamp: January 28, 2011, 07:48:22 pm
content: The schematic with the P-channels won't work because they won't turn off. The output from the PWM controller will be 5V when high which so Vgs will be 7V which is enough to turn the MOSFET on.You need to use an NPN transistor to pull the gate down.What's the PWM frequency? Using pull-up resistors will slow down the off time considerably.You can use bootstrapping to drive high-side N-channel transistors but it's a pain to implement using discrete components and won't work up to 100% duty cycle. Here's an example but it suffers from the same weakness as using an NPN pull-down.