Simple FET Driver

Dec 01, 2020 55 Replies

I have a circuit with a pair of pFETs to switch power and it gets some shoo t through during the switching. Mostly it's a concern because of the slow turn off using a resistive pullup. Then there's the issue of the two power supplies being somewhat different voltages. The high drive has to turn of f the FETs completely. The modes are for one or the other to be on or for both to be off.



I'm wondering if a digital logic device can be used to drive this circuit. 4000 series CMOS can handle the 15V max levels but I don't know if it is c apable of adequate drive to switch a 10 amp FET. I guess it can't be much worse than the 10k ohm pull up I'm using now.



Not sure how to power this. Could use diodes to route power to the CMOS de vice. I'd still be concerned about the inputs though. A low input voltage could provide too little drive for the CMOS input. So everything would ha ve to be referenced to the diode routed power which might draw too much cur rent from the battery when it's all off.



Any suggestions on a driver that isn't high quiescent drain? Most of what I find are bipolar. It should be very cheap too.


Rick C. - Get 1,000 miles of free Supercharging - Tesla referral code - https://ts.la/richard11209

After reading that I am unable to get a clear picture of what you're trying to do. I would have posted a reference to a scan of the intended circuit, complete with labels showing what power is coming from where and going where and when and why.

I don't see anything wrong with using slow switching FETs to switch power rails, provided it's not so slow that the FET heats up too much. Maybe you need a transistor or two to get the FET gate drive right but hard to tell without a schematic.

Isolated gate drivers make high-side interfacing so much easier, and they're so relatively inexpensive now that it's hard to justify not using them most times.

Please see figure 3.1:

these are about a buck in small quantity.

Only downside is they're very moisture-sensitive so if you want to experiment either buy a development board (they're cheap) or buy in small quantity and mount them to a SMT adapter straight out of the bag when they come in to you from the warehouse unless you have some kind of humidity-controlled storage for the parts.

o

n

t.

ch

oo

ng

ere

t

rd

It's not switching in the sense of motor control or a DC converter. It is a switch over from line to battery when input power fails. Each switch is two pFETs to prevent back feed of current. The battery is 12V nominal SLA and the input is a 12V DC for running a motor with 10 amp peaks and 4 amp n ominal. I use a comparator on the input DC to detect when it is absent whi ch switches between the two power sources. Using transistors with pull ups means the pull up is slow and there are some 50 us where current passes th rough both switches between the two power sources. Maybe this isn't much o f a real problem, but 15 or more amps seems like something to minimize the time duration of if the current itself can't be minimized.

If logic gates are used instead of the transistors with pullups the transit ion time will be much shorter and the issue of shoot through current will b e less significant. But I'm probably showing my ignorance of what is need ed for this circuit to work well. One guy on the team has picked a LT part at $4 to control the pFETs. It's a nice part, but when was an LT part eve r cheap? It just doesn't seem like a hard circuit for an experienced power designer to pull off.

Rick C. + Get 1,000 miles of free Supercharging + Tesla referral code - https://ts.la/richard11209

shoot through during the switching. Mostly it's a concern because of the sl ow turn off using a resistive pullup. Then there's the issue of the two pow er supplies being somewhat different voltages. The high drive has to turn o ff the FETs completely. The modes are for one or the other to be on or for both to be off.

it. 4000 series CMOS can handle the 15V max levels but I don't know if it i s capable of adequate drive to switch a 10 amp FET. I guess it can't be muc h worse than the 10k ohm pull up I'm using now.

device. I'd still be concerned about the inputs though. A low input voltag e could provide too little drive for the CMOS input. So everything would ha ve to be referenced to the diode routed power which might draw too much cur rent from the battery when it's all off.

at I find are bipolar. It should be very cheap too.

The price is still higher than I'd like since two of them are now $2.50 whi ch isn't much cheaper than the $4 part. I also am not following how these work. Is power being driven across the barrier? A barrier is absolutely n ot needed in this case.

Rick C. -- Get 1,000 miles of free Supercharging -- Tesla referral code - https://ts.la/richard11209

It's amazing how one sketch can clarify a huge messy muddle of words.

John Larkin Highland Technology, Inc The best designs are necessarily accidental.

No, the point is the secondary side generates its own gate-drive boost voltage internally so it can drive the high-side PFET hard on and off using a complementary-type driver with no pullups or such.

"So everything would have to be referenced to the diode routed power which might draw too much current from the battery when it's all off."

And the isolation means you just drive the primary like any ground-referenced CMOS or optocoupler input you don't have to worry about referencing s*it.

You could look at the TI series UCC27533DBV. Low power too.

For high side you will need to keep it powered if you want it to stay pulled up for any length of time over a few milliseconds.

The complexity of that may depend on how high of voltage you want to switch.

There's a variant of the chip I posted that has a pin for programming the high-side current consumption when in the on state, obviously with the trade off being switching speed vs. lower power

That is what I assumed. Most circuits I've ever designed which did that didn't need a switch at all because the battery was already there on the rail, ready to take over the load current in the absence of input power.

Active pull ups come to mind but without seeing a schematic I don't think it will help if I say any more.

e shoot through during the switching. Mostly it's a concern because of the slow turn off using a resistive pullup. Then there's the issue of the two p ower supplies being somewhat different voltages. The high drive has to turn off the FETs completely. The modes are for one or the other to be on or fo r both to be off.

cuit. 4000 series CMOS can handle the 15V max levels but I don't know if it is capable of adequate drive to switch a 10 amp FET. I guess it can't be m uch worse than the 10k ohm pull up I'm using now.

OS device. I'd still be concerned about the inputs though. A low input volt age could provide too little drive for the CMOS input. So everything would have to be referenced to the diode routed power which might draw too much c urrent from the battery when it's all off.

what I find are bipolar. It should be very cheap too.

which isn't much cheaper than the $4 part. I also am not following how the se work. Is power being driven across the barrier? A barrier is absolutely not needed in this case.

So how does the device know *how much* boost to use to drive the secondary side? Doesn't really matter. It's too expensive really.

Rick C. -+ Get 1,000 miles of free Supercharging -+ Tesla referral code - https://ts.la/richard11209

he

two

o

on

is

S

ng

t,

hat

er

s

We have a 12 volt supply which is boosted to charge the battery. When need ed the battery drives the 12 volt rail from it's initial level of ~13V to t he cut out voltage of 10 volts. If the battery was "on the rail" the input power source would need to be run through a buck boost to provide the full 10 amps needed. Not very practical in this case.

p

en

0

it

Ok, here's the LT schematic... or one of them. I keep going back and forth between using transistors and logic. The logic models don't really provid e analog like simulation though. I'm pretty sure everything in the design is from the LTspice library. If you don't have it you might be working wi th the old version of the program, I'm using the new.

Version 4 SHEET 1 1752 916 WIRE 352 -688 320 -688 WIRE -480 -608 -544 -608 WIRE -288 -608 -480 -608 WIRE -16 -608 -288 -608 WIRE 128 -608 80 -608 WIRE 176 -608 128 -608 WIRE 320 -608 320 -688 WIRE 320 -608 272 -608 WIRE 448 -608 320 -608 WIRE 592 -608 544 -608 WIRE 640 -608 592 -608 WIRE 944 -608 736 -608 WIRE 1232 -608 1200 -608 WIRE 1232 -560 1232 -608 WIRE -480 -448 -480 -608 WIRE -288 -448 -288 -608 WIRE 1232 -448 1232 -480 WIRE -48 -432 -80 -432 WIRE 64 -432 64 -560 WIRE 64 -432 32 -432 WIRE 128 -432 64 -432 WIRE 192 -432 192 -560 WIRE 192 -432 128 -432 WIRE 224 -432 192 -432 WIRE 336 -432 304 -432 WIRE 528 -432 528 -560 WIRE 592 -432 528 -432 WIRE 656 -432 656 -560 WIRE 656 -432 592 -432 WIRE 704 -432 656 -432 WIRE 816 -432 784 -432 WIRE 528 -400 528 -432 WIRE 992 -352 960 -352 WIRE 1232 -352 992 -352 WIRE 992 -320 992 -352 WIRE 1232 -320 1232 -352 WIRE -80 -304 -80 -432 WIRE 368 -288 352 -288 WIRE 528 -272 528 -320 WIRE 608 -272 528 -272 WIRE 656 -272 608 -272 WIRE 368 -256 368 -288 WIRE -480 -224 -480 -368 WIRE -416 -224 -480 -224 WIRE -288 -224 -288 -368 WIRE -288 -224 -336 -224 WIRE -176 -224 -288 -224 WIRE -128 -224 -176 -224 WIRE 528 -224 528 -272 WIRE 1232 -208 1232 -240 WIRE 688 -192 672 -192 WIRE 832 -192 816 -192 WIRE 672 -160 672 -192 WIRE 816 -160 816 -192 WIRE 320 -144 128 -144 WIRE 368 -144 368 -176 WIRE 368 -144 320 -144 WIRE 480 -144 368 -144 WIRE -288 -112 -320 -112 WIRE 128 -112 128 -144 WIRE 992 -112 992 -240 WIRE 1024 -112 992 -112 WIRE 1136 -112 1104 -112 WIRE -288 -96 -288 -112 WIRE -320 -64 -320 -112 WIRE 320 -64 320 -144 WIRE 352 -64 320 -64 WIRE -480 -48 -480 -224 WIRE -432 -48 -480 -48 WIRE -352 -48 -432 -48 WIRE 672 -48 672 -96 WIRE 816 -48 816 -96 WIRE 816 -48 672 -48 WIRE 848 -48 816 -48 WIRE -176 -32 -176 -224 WIRE -176 -32 -288 -32 WIRE 16 -32 -176 -32 WIRE 80 -32 16 -32 WIRE -352 -16 -384 -16 WIRE -480 0 -480 -48 WIRE 128 0 128 -16 WIRE -320 32 -320 0 WIRE -240 32 -320 32 WIRE -144 32 -176 32 WIRE -128 32 -144 32 WIRE 656 32 640 32 WIRE -80 48 -80 -208 WIRE 128 48 -80 48 WIRE 336 48 128 48 WIRE 528 48 528 -128 WIRE 528 48 336 48 WIRE 640 64 640 32 WIRE -480 112 -480 80 WIRE -384 112 -384 -16 WIRE -336 112 -384 112 WIRE -192 112 -256 112 WIRE 128 112 128 48 WIRE 640 160 640 144 WIRE 256 192 176 192 WIRE 320 192 256 192 WIRE 128 224 128 208 FLAG -288 -96 0 FLAG 128 0 0 FLAG -480 112 0 FLAG -544 -608 Vin IOPIN -544 -608 In FLAG -432 -48 Vth FLAG 592 -432 VbatOn_n FLAG 128 -432 VinOn_n FLAG 352 -688 V_main IOPIN 352 -688 Out FLAG 128 -608 VinSS FLAG 592 -608 VbatSS FLAG 944 -608 Vbatt IOPIN 944 -608 In FLAG 640 160 0 FLAG 656 32 Vin IOPIN 656 32 In FLAG 1232 -208 0 FLAG 960 -352 Vbatt IOPIN 960 -352 Out FLAG -192 112 V3.3_always IOPIN -192 112 In FLAG -144 32 Vin FLAG 1136 -112 V3.3_always IOPIN 1136 -112 Out FLAG 1232 -448 0 FLAG 1200 -608 V_main IOPIN 1200 -608 In FLAG 16 -32 VinOn FLAG 352 -64 Pwr_Fail IOPIN 352 -64 Out FLAG 608 -272 Vbatdrv FLAG -80 -432 Vindrv FLAG 128 224 0 FLAG 256 192 PwrOn FLAG 336 48 PwrKill FLAG 336 -432 V12_always IOPIN 336 -432 In FLAG 832 -192 Vbatt IOPIN 832 -192 In FLAG 688 -192 Vin IOPIN 688 -192 In FLAG 848 -48 V12_always IOPIN 848 -48 Out FLAG 816 -432 V12_always IOPIN 816 -432 In FLAG 352 -288 V3.3_always IOPIN 352 -288 In SYMBOL pmos -16 -560 R270 SYMATTR InstName M5 SYMATTR Value AO6407 SYMBOL pmos 272 -560 M270 SYMATTR InstName M6 SYMATTR Value AO6407 SYMBOL nmos 80 -112 R0 SYMATTR InstName M7 SYMATTR Value 2N7002 SYMBOL nmos -128 -304 R0 SYMATTR InstName M8 SYMATTR Value 2N7002 SYMBOL res -496 -16 R0 SYMATTR InstName R7 SYMATTR Value 20K SYMBOL res -496 -464 R0 SYMATTR InstName R8 SYMATTR Value 47K SYMBOL res 352 -272 R0 SYMATTR InstName R9 SYMATTR Value 100K SYMBOL res -304 -464 R0 SYMATTR InstName R10 SYMATTR Value 100K SYMBOL res 320 -448 R90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R11 SYMATTR Value 10K SYMBOL pmos 448 -560 R270 SYMATTR InstName M10 SYMATTR Value AO6407 SYMBOL pmos 736 -560 M270 SYMATTR InstName M11 SYMATTR Value AO6407 SYMBOL res -320 -240 R90 WINDOW 0 2 93 VBottom 2 WINDOW 3 1 29 VBottom 2 SYMATTR InstName R12 SYMATTR Value 1Meg SYMBOL voltage 1232 -336 R0 WINDOW 123 0 0 Left 0 WINDOW 39 -21 177 Left 2 WINDOW 3 -281 153 Left 2 SYMATTR SpiceLine Rser=0.1 SYMATTR Value PULSE(10 13.5 0.1s 0.1s 0.3s 0.45s) SYMATTR InstName Batt SYMBOL voltage 640 48 R0 WINDOW 123 0 0 Left 0 WINDOW 39 30 96 Left 2 WINDOW 3 -68 153 Left 2 SYMATTR SpiceLine Rser=0.1 SYMATTR Value PULSE(0 12.5 0.2s 0.1s 0.1s 0.3s) SYMATTR InstName V5 SYMBOL TLV333 -320 32 M180 WINDOW 0 24 41 Left 2 WINDOW 3 20 88 Left 2 SYMATTR InstName U1 SYMBOL voltage 992 -336 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 WINDOW 3 -215 101 Left 2 WINDOW 0 7 13 Left 2 SYMATTR Value PULSE(6.7 10.2 0.1s 0.1s 0.3s 0.45s) SYMATTR InstName Always3.3 SYMBOL res 1216 -576 R0 SYMATTR InstName R13 SYMATTR Value 2 SYMBOL nmos 480 -224 R0 SYMATTR InstName M9 SYMATTR Value 2N7002 SYMBOL res 512 -416 R0 SYMATTR InstName R14 SYMATTR Value 10K SYMBOL res 800 -448 R90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R16 SYMATTR Value 10K SYMBOL res 48 -448 R90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R15 SYMATTR Value 10K SYMBOL nmos 176 112 M0 SYMATTR InstName M1 SYMATTR Value 2N7002 SYMBOL schottky 800 -160 R0 SYMATTR InstName D1 SYMATTR Value MBRS140 SYMATTR Description Diode SYMATTR Type diode SYMBOL schottky 656 -160 R0 SYMATTR InstName D2 SYMATTR Value MBRS140 SYMATTR Description Diode SYMATTR Type diode SYMBOL schottky -176 16 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName D3 SYMATTR Value MBRS140 SYMATTR Description Diode SYMATTR Type diode SYMBOL res 1008 -96 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 0 56 VBottom 2 SYMATTR InstName R100 SYMATTR Value 10 SYMBOL res -352 128 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 0 56 VBottom 2 SYMATTR InstName R1 SYMATTR Value 470K TEXT 816 -496 Left 3 !.tran 1sec TEXT -472 -664 Left 2 ;Nominal range\n11.4 < Vin < 12.6

Actually I'm mistaken, my bad. This type of isodriver does transfer power across the isolation barrier. There's no supply input on the secondary.

So basically on the voltage-controlled devices there's a pin to set the drive power via a set resistor, and the current-controlled devices it's set by how hard you drive the "optocopuler emulator."

On Wednesday, December 2, 2020 at 1:10:18 AM UTC-5, Edward Rawde wrote:

he

two

o

on

is

S

ng

t,

hat

er

s

p

en

0

it

Just to show what I'm thinking by using the logic devices here is a schemat ic of that. It uses the CD4000 library. I don't know where you might trac k that down. I get sick and tired of trying to remember the 5 billion thin gs you have to remember to run LTspice. I have the symbols, but they don't seem to simulate. I think I need to tell LTspice where to find the librar y. It's too stupid to just look in the directory where everything else is.

Version 4 SHEET 1 1752 916 WIRE 352 -688 320 -688 WIRE -480 -608 -544 -608 WIRE -288 -608 -480 -608 WIRE -112 -608 -288 -608 WIRE -16 -608 -112 -608 WIRE 128 -608 80 -608 WIRE 176 -608 128 -608 WIRE 320 -608 320 -688 WIRE 320 -608 272 -608 WIRE 448 -608 320 -608 WIRE 592 -608 544 -608 WIRE 640 -608 592 -608 WIRE 944 -608 736 -608 WIRE 1232 -608 1200 -608 WIRE -112 -560 -112 -608 WIRE 1232 -560 1232 -608 WIRE -480 -448 -480 -608 WIRE -288 -448 -288 -608 WIRE 1232 -448 1232 -480 WIRE -80 -432 -176 -432 WIRE 64 -416 64 -560 WIRE 64 -416 32 -416 WIRE 128 -416 64 -416 WIRE 192 -416 192 -560 WIRE 192 -416 128 -416 WIRE 224 -416 192 -416 WIRE 336 -416 304 -416 WIRE 528 -416 528 -560 WIRE 592 -416 528 -416 WIRE 656 -416 656 -560 WIRE 656 -416 592 -416 WIRE 704 -416 656 -416 WIRE 816 -416 784 -416 WIRE -112 -400 -112 -480 WIRE -80 -400 -112 -400 WIRE 1008 -368 976 -368 WIRE 1248 -368 1008 -368 WIRE 1008 -336 1008 -368 WIRE 1248 -336 1248 -368 WIRE 592 -304 576 -304 WIRE 736 -304 720 -304 WIRE 80 -272 48 -272 WIRE 576 -272 576 -304 WIRE 720 -272 720 -304 WIRE 400 -256 192 -256 WIRE -176 -240 -176 -432 WIRE -16 -240 -176 -240 WIRE 48 -240 48 -272 WIRE 48 -240 -16 -240 WIRE 80 -240 48 -240 WIRE 528 -240 528 -416 WIRE 528 -240 512 -240 WIRE 400 -224 384 -224 WIRE 1248 -224 1248 -256 WIRE -480 -208 -480 -368 WIRE -416 -208 -480 -208 WIRE -288 -208 -288 -368 WIRE -288 -208 -336 -208 WIRE -176 -208 -176 -240 WIRE -176 -208 -288 -208 WIRE 576 -160 576 -208 WIRE 720 -160 720 -208 WIRE 720 -160 576 -160 WIRE 752 -160 720 -160 WIRE -288 -128 -320 -128 WIRE 1008 -128 1008 -256 WIRE 1040 -128 1008 -128 WIRE 1152 -128 1120 -128 WIRE -288 -112 -288 -128 WIRE -112 -112 -112 -400 WIRE 128 -112 -112 -112 WIRE 256 -112 128 -112 WIRE 384 -112 384 -224 WIRE 384 -112 256 -112 WIRE -320 -80 -320 -128 WIRE -480 -64 -480 -208 WIRE -432 -64 -480 -64 WIRE -352 -64 -432 -64 WIRE -176 -48 -176 -208 WIRE -176 -48 -288 -48 WIRE 128 -48 128 -112 WIRE -352 -32 -384 -32 WIRE -480 -16 -480 -64 WIRE -320 16 -320 -16 WIRE -240 16 -320 16 WIRE -144 16 -176 16 WIRE 864 16 816 16 WIRE 896 16 864 16 WIRE 1024 16 976 16 WIRE -128 32 -144 16 WIRE 400 32 176 32 WIRE 608 32 400 32 WIRE 704 32 608 32 WIRE 832 48 816 48 WIRE 544 80 528 80 WIRE -480 96 -480 64 WIRE -384 96 -384 -32 WIRE -336 96 -384 96 WIRE -192 96 -256 96 WIRE 128 96 128 48 WIRE 544 112 544 80 WIRE -464 160 -480 160 WIRE -160 176 -192 176 WIRE -480 192 -480 160 WIRE 608 208 608 32 WIRE 624 208 608 208 WIRE 768 224 736 224 WIRE 832 224 832 48 WIRE 832 224 768 224 WIRE 160 240 144 240 WIRE 400 240 368 240 WIRE 448 240 400 240 WIRE 544 240 544 192 WIRE 544 240 512 240 WIRE 624 240 544 240 WIRE 864 240 864 16 WIRE 880 240 864 240 WIRE 992 240 944 240 WIRE 1024 240 992 240 WIRE 1232 240 1216 240 WIRE 1232 256 1232 240 WIRE 144 272 144 240 WIRE 400 272 400 240 WIRE 992 272 992 240 WIRE -480 288 -480 272 WIRE 1232 352 1232 336 WIRE 144 368 144 352 WIRE 400 384 400 352 WIRE 992 384 992 352 FLAG -288 -112 0 FLAG -480 96 0 FLAG -544 -608 Vin IOPIN -544 -608 In FLAG -432 -64 Vth FLAG 592 -416 VbatOn_n FLAG 128 -416 VinOn_n FLAG 352 -688 V_main IOPIN 352 -688 Out FLAG 128 -608 VinSS FLAG 592 -608 VbatSS FLAG 944 -608 Vbatt IOPIN 944 -608 In FLAG -480 288 0 FLAG -464 160 Vin IOPIN -464 160 In FLAG 1248 -224 0 FLAG 976 -368 Vbatt IOPIN 976 -368 Out FLAG -192 96 V3.3_always IOPIN -192 96 In FLAG -144 16 Vin FLAG 1152 -128 V3.3_always IOPIN 1152 -128 Out FLAG 1232 -448 0 FLAG 1200 -608 V_main IOPIN 1200 -608 In FLAG -16 -240 VinOn FLAG -160 176 Pwr_Fail IOPIN -160 176 Out FLAG 400 32 PwrOn FLAG 256 -112 PwrEn FLAG 336 -416 V12_always IOPIN 336 -416 In FLAG 736 -304 Vbatt IOPIN 736 -304 In FLAG 592 -304 Vin IOPIN 592 -304 In FLAG 752 -160 V12_always IOPIN 752 -160 Out FLAG 816 -416 V12_always IOPIN 816 -416 In FLAG 160 240 OFF_n IOPIN 160 240 Out FLAG 1232 352 0 FLAG 1216 240 ON_n IOPIN 1216 240 Out FLAG 144 368 0 FLAG 1024 16 V3.3_always IOPIN 1024 16 In FLAG 1024 240 ON_n IOPIN 1024 240 In FLAG 992 384 0 FLAG 400 384 0 FLAG 368 240 OFF_n IOPIN 368 240 In FLAG 768 224 PwrOff FLAG 128 96 0 FLAG 528 80 V3.3_always IOPIN 528 80 In SYMBOL pmos -16 -560 R270 SYMATTR InstName M5 SYMATTR Value AO6407 SYMBOL pmos 272 -560 M270 SYMATTR InstName M6 SYMATTR Value AO6407 SYMBOL res -496 -32 R0 SYMATTR InstName R7 SYMATTR Value 20K SYMBOL res -496 -464 R0 SYMATTR InstName R8 SYMATTR Value 47K SYMBOL res -304 -464 R0 SYMATTR InstName R10 SYMATTR Value 10K SYMBOL res 320 -432 R90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R11 SYMATTR Value 100K SYMBOL pmos 448 -560 R270 SYMATTR InstName M10 SYMATTR Value AO6407 SYMBOL pmos 736 -560 M270 SYMATTR InstName M11 SYMATTR Value AO6407 SYMBOL res -320 -224 R90 WINDOW 0 2 93 VBottom 2 WINDOW 3 1 29 VBottom 2 SYMATTR InstName R12 SYMATTR Value 1Meg SYMBOL voltage 1248 -352 R0 WINDOW 123 0 0 Left 0 WINDOW 39 -21 177 Left 2 WINDOW 3 -281 153 Left 2 SYMATTR SpiceLine Rser=0.1 SYMATTR Value PULSE(10 13.5 0.1s 0.1s 0.3s 0.45s) SYMATTR InstName Batt SYMBOL voltage -480 176 R0 WINDOW 123 0 0 Left 0 WINDOW 39 30 96 Left 2 WINDOW 3 -68 153 Left 2 SYMATTR SpiceLine Rser=0.1 SYMATTR Value PULSE(0 12.5 0.2s 0.1s 0.1s 0.3s) SYMATTR InstName V5 SYMBOL TLV333 -320 16 M180 WINDOW 0 24 41 Left 2 WINDOW 3 20 88 Left 2 SYMATTR InstName U1 SYMBOL voltage 1008 -352 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 WINDOW 3 -215 101 Left 2 WINDOW 0 7 13 Left 2 SYMATTR Value PULSE(6.7 10.2 0.1s 0.1s 0.3s 0.45s) SYMATTR InstName Always3.3 SYMBOL res 1216 -576 R0 SYMATTR InstName R13 SYMATTR Value 2 SYMBOL res 800 -432 R90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R16 SYMATTR Value 100K SYMBOL nmos 176 -48 M0 SYMATTR InstName M1 SYMATTR Value 2N7002 SYMBOL schottky 704 -272 R0 SYMATTR InstName D1 SYMATTR Value MBRS140 SYMATTR Description Diode SYMATTR Type diode SYMBOL schottky 560 -272 R0 SYMATTR InstName D2 SYMATTR Value MBRS140 SYMATTR Description Diode SYMATTR Type diode SYMBOL cap 944 224 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName C1 SYMATTR Value 10nF SYMBOL voltage 1232 240 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 WINDOW 3 -211 154 Left 2 SYMATTR Value PULSE(0 3.3 0.35s 1us 1us 10ms) SYMATTR InstName V1 SYMBOL voltage 144 256 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 WINDOW 3 -353 100 Left 2 SYMATTR Value PULSE(0 3.3 0.95s 1us 1us 2ms) SYMATTR InstName V2 SYMBOL schottky -176 0 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName D3 SYMATTR Value MBRS140 SYMATTR Description Diode SYMATTR Type diode SYMBOL res 1024 -112 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 0 56 VBottom 2 SYMATTR InstName R100 SYMATTR Value 10 SYMBOL res 976 256 R0 SYMATTR InstName R19 SYMATTR Value 1Meg SYMBOL cap 448 224 M90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName C2 SYMATTR Value 10nF SYMBOL res 416 256 M0 SYMATTR InstName R20 SYMATTR Value 1Meg SYMBOL res -352 112 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 0 56 VBottom 2 SYMATTR InstName R1 SYMATTR Value 470K SYMBOL CD4000\\CD4093B -32 -480 R0 WINDOW 0 -16 16 Left 2 WINDOW 3 -32 112 Left 1 SYMATTR InstName U2A SYMATTR SpiceLine VDD=12 SPEED=1.0 TRIPDT=5e-9 SYMATTR SpiceModel V12_always 0 SYMBOL res -128 -576 R0 SYMATTR InstName R2 SYMATTR Value 10K SYMBOL CD4000\\CD4093B 128 -320 R0 WINDOW 0 -16 16 Left 2 WINDOW 3 -32 112 Left 1 SYMATTR InstName U2B SYMATTR SpiceLine VDD=12 SPEED=1.0 TRIPDT=5e-9 SYMATTR SpiceModel V12_always 0 SYMBOL CD4000\\CD4093B 448 -304 R0 WINDOW 0 -16 16 Left 2 WINDOW 3 -32 112 Left 1 SYMATTR InstName U2C SYMATTR SpiceLine VDD=12 SPEED=1.0 TRIPDT=5e-9 SYMATTR SpiceModel V12_always 0 SYMBOL CD4000\\CD4093B 672 160 R0 WINDOW 0 -16 16 Left 2 WINDOW 3 -32 112 Left 1 SYMATTR InstName U3A SYMATTR SpiceLine VDD=3.3 SPEED=1.0 TRIPDT=5e-9 SYMATTR SpiceModel V3.3_always 0 SYMBOL CD4000\\CD4093B 768 96 R180 WINDOW 0 -16 16 Left 2 WINDOW 3 -32 112 Left 1 SYMATTR InstName U3B SYMATTR SpiceLine VDD=3.3 SPEED=1.0 TRIPDT=5e-9 SYMATTR SpiceModel V3.3_always 0 SYMBOL res 560 96 M0 SYMATTR InstName R3 SYMATTR Value 1Meg SYMBOL res 992 0 R90 WINDOW 0 2 93 VBottom 2 WINDOW 3 1 29 VBottom 2 SYMATTR InstName R4 SYMATTR Value 1Meg TEXT 816 -496 Left 3 !.tran 1sec TEXT -472 -664 Left 2 ;Nominal range\n11.4 < Vin < 12.6 TEXT 96 136 Left 2 ;Low True TriState Control\nFPGA - Normally hi-Z, activa te \nby pulling high 20 ms, then low TEXT 976 136 Left 2 ;Low True TriState Control\nMCU - Normally hi-Z, activa te \nby pulling high 5 ms, then low

Ok well leaving aside the million questions I'd have brought to the design review meeting (3 months ago) and assuming you really do need two power switches with bidirectional isolation then I'd use the circuit shown on the following page with suitable FETs and component values and watch out for your FET's maximum gate-source voltage rating.

formatting link
Which was quickly found like this:
formatting link
I might add some low value gate series resistors mounted close to the FETs.

The transistor, with suitable base resistors, can be driven from 3.3V logic and if the logic power is always present then do all the logic in logic unless it's cheaper to add some more transistors and /or diodes to do it. Another transistor with the collector connected to the existing transistor's collector will make an OR gate. An open collector comparator can likely be connected directly to the FET gates or to the transistor base drive circuit as necessary. I can see no need to want to do logic functions at gate drive level. What's D3 for? Some op amps don't like to work as comparators but I've no idea whether TLV333 cares.

I'd probably use something like the N channel circuit on this page:

formatting link
With a suitable Vaux supply for both switches.

If your existing circuit has issues with switching speed then adjust the resistors in the gate drive circuit for a suitable speed. Watch out for your FET's maximum 8V gate-source rating.

If I were doing the entire system from scratch and if I had control of the design of the AC power line to DC power supply then I'd use one suitably rated power supply to charge the battery and provide the load current. I'd sense the battery charging current with a suitably rated low value series resistor and feed that back to control the rail voltage. The motor driving circuit would be designed to work over whatever voltage is available between low voltage cutout (assuming the type of battery needs it) and maximum battery charging current. The only power switch I might then need is to disconnect the battery before over discharge.

One further thought. If the problem is what happens when both switches are on then control them independently and arrange for that not to be the case. In other words you need a break before make switchover. Hang sufficient capacitance on the rail to the motor control circuit so it doesn't see the join.

ome

e

is

it)

re

I know why you are say that, but that is the wrong approach. The motor is rated for 12 volts and they make express caution against driving with too m uch voltage. Charge the battery to 14.5 volts (the stated 100% charged poi nt) while running the motor from that and it can cause premature failure. The battery is the power source only when the input power is off at which p oint the battery itself is not even 13.5 volts minus the internal resistanc e times the 10 amp peak current steadily dropping as it is drained over a 2

0 minute period. Meanwhile the motor runs on 12 volts for 99.99% of the ti me directly from the DC input of the external PSU.

Trying to adapt the motor driving circuit is not the better way to do this. I'm asking for help switching between two power sources which is not hard to do. If you can't help with that, I understand. But you don't need to rain on the design approach when you don't understand the constraints.

Tell you what, if you'd like to join the team, we would appreciate your inp uts. The power circuits are on a separate board from the rest of the desig n and the guy is mostly done with that board. He has not yet provided the required power down control. He has a switching circuit using a $4 LT chip which I think is not needed. I have a design that works using just $0.10 transistors to control the power FETs, but they are a bit slow to turn off, so there is shoot through current for some 40 us. That's what I'm trying to improve on, even though it doesn't seem like a problem.

Rick C. -+ Get 1,000 miles of free Supercharging -+ Tesla referral code - https://ts.la/richard11209

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required