Driving two transistors with same signal

Hi,

I have two common anode 7-segments displays, and only one wire to drive them. I need to achieve the following : when the control signal is +5V, display1 is ON and display2 is OFF. When the signal is 0V, display1 is OFF and display2 is ON. When the signal is not connected (high impedance), both displays are OFF.

I tried using a NPN transistor for display1 and a PNP for display2, connecting their bases together. It works when the driving signal is present, but when the signal is floating current flows from the base of the PNP to the base of the NPN and both transistors turn each other on, resulting in both displays being ON.

The circuit that didn't work :

VCC + | | ___ |< o---------------------|___|--| | |\\ | VCC | | + | | | Display2 | | | | ___ |/ | Input---o---|___|--| GND |>

| | Display1 | | GND

Is there a way to achieve this ?

Thanks.

Reply to
vic
Loading thread data ...

Add diodes to isolate the bases, and resistors to bias the transistors off when the desired on signal is not present.

Ed

see below

VCC + | +-------------+ | | [R] | | ___ |< o--------||-+-|___|--| GND | |>

[R] | | | | Display1 | | +----------+ | GND
Reply to
ehsjr

I need to achieve

is OFF. When the

connected (high

connecting their bases

floating current

turn each other on,

The revised circuit does not solve the problem. Both diodes will be conducting when the input is floating. As a result both displays will still be on.

A simpler solution is to remove the diodes, change the locations of the added resistors, and move Display1. I.e.:

VCC + | +---------+ | | [R1] | | |< o-------------[R2]---+-------| | |\\ | VCC | | + | | | Display2 | Display1 | | | | | |/ | Input---o-----[R2]-+--------| GND | |>

[R1] | | | +----------+ | GND

The R1 / R2 resistor pairs need to be chosen so that there is only about 0.5 volts across the transistors' base-emitter junctions when the input is floating. When the input is floating, the various resistors will pull the input to VCC/2. The value of 0.5 volts was chosen to be low enough to keep the transistors from turning on when the input is floating but still allow the transistors to be turned on when the input is being driven to VCC or ground.

Reply to
Dan Coby

"vic" schreef in bericht news:48233453$0$20289$ snipped-for-privacy@news.free.fr...

Try this circuit. Choose the resistor values to limit the base current into the transistors, yet this current should be high enough to drive the transistors into saturation.

+--------+------------------+-------+--Vcc | | | | ___ |< | | .---. in----+--|___|---| | | | | | |\\ | .-. | D | | | | | | | | | | |< | | '---' | +------| '-' | | | |\\ | |/ | .-. | +-----| | | | .---. | |>

| | | | | | | | '-' | D | ___ |/ | | | | | +-|___|---| | | | '---' | |> | | | | | | | ------)------------+--------+------)-----------+-------+--GND | | +----------------------------+

If your displays need GND on one side, then try this. Mind the type of the transistors.

+--------+------------------+-------+--Vcc | | | | ___ |< | ___ |/ | in----+--|___|---| | +--|___|--| | | |\\ | | |> | | | | | | | | | |< | | |< | +------| | +-----| | | |\\ | | |\\ | .-. | | .-. | | | | .---. | | | .---. | | | | | | | | | | | '-' | D | | '-' | D | | | | | | | | | | | '---' | | '---' | | | | | | ------)------------+--------+------)-----------+-------+--GND | | +----------------------------+ created by Andy´s ASCII-Circuit v1.24.140803 Beta
formatting link

petrus bitbyter

Reply to
petrus bitbyter

This looks a little iffy - when there's no drive, then both bases will still be forward biased unless you divide the drive down so dramatically that you don't^H^H^H^H^Hmight not get full saturation when it's supposed to be on.

A much more elegant solution uses two NPN's (the same thing could be done with two PMP's, just turn the arrows around and the power supply upside down. ;-) )

Vcc Vcc | | | [Display 2] | | [Display 1] | | |/ +--[R]---+---| | | |>

|/ [R] | Control --[R]--+--| | | | |> | | [R] | | | | | | | gnd gnd gnd gnd

The resistors can be anything from around 4.7K to maybe 22K.

Cheers! Rich

Reply to
Rich Grise

"Dan Coby" schreef in bericht news:7vCdnV2xQMRN4b7VnZ2dnUVZ snipped-for-privacy@earthlink.com...

This may work, (so there are some ifs.) Most important, the driving source must be able to provide the extra current (sink and source). The displays may need GND on one side. The OP did not said so, but his schematic suggests it. You need to do a little bit of serious calculation to find the values of the resistors. The voltages are important as you mentioned already, but the base currents need to be high enough to switch the transistors on when active. I leave it an excercise for the interested reader.

petrus bitbyter

Reply to
petrus bitbyter

Try this: 5V | 5V R5 | | |-- 5V | | | | | R3 | | | ---R1-----R2---------- | | | | | R4 | |---- R6 | | GND GND

Q1 and Q2 form a comparator so that when the input is floating they will both be off. R3 and R4 set the input threshold.

When the input is high (5V) then Q1 will be on and that will turn on Q3. When the input is low (GND) then Q2 will be on and that will turn on Q4.

You can figure out the resistor values. They shouldn't be too critical, but R3 and R4 need to be small enough to ensure enough drive for the four transistors.

I hope I got the ascii art right as I had to compose it in a separate word processor.

Bob

--
== NOTE: I automatically delete all Google Group posts due to uncontrolled 
SPAM ==
Reply to
BobW

I see, now, that your displays are both common anode. You'll need to add another PNP (common emitter mode) driven by Q4.

As Monica Lewinsky used to say, "Close, but no cigar."

Bob

--
== NOTE: I automatically delete all Google Group posts due to uncontrolled 
SPAM ==
Reply to
BobW

message

them. I need to achieve

is OFF. When the

connected (high

connecting their bases

is floating current

turn each other on,

(sink and source).

Actually there is not a very large increase in the driving source requirements.. The maximum voltages across the R1 resistors is 0.7 volts. If VCC is 5 volts, then there is only about a 14% increase in the required drive currents. Some diodes can be put in series with the transistor bases to decrease the extra drive requirements and to add some more margin to the circuit.

schematic suggests it.

Yes, this may be a concern.

Reply to
Dan Coby

I need to achieve

is OFF. When the

connected (high

connecting their bases

floating current

turn each other on,

You're right - my circuit fails. Thanks for spotting the error.

Ed

Reply to
ehsjr

Yes, as I said I'm driving common-anode 7 segments displays, so I can only use transistors on the "plus" side of the displays. This is part of my problem :)

Reply to
vic

*gasp* 5 transistors needed to do what seemed simple at first glance ...

I don't quite understand what R5 and R6 are for, when Q1 and Q2 do not conduct, the base current of Q3 and Q4 would be zero so the ressitors do not seem necessary ?

Well I guess I could just try it and see if it works :)

Reply to
vic

them. I need to achieve

is OFF. When the

connected (high

connecting their bases

is floating current

turn each other on,

Would it work if, instead of diodes, I used Zener diodes of voltage around Vcc/2 ?

Reply to
vic

There is always some leakage from collector to base, so R5 is there to insure that Q3 doesn't conduct when Q1 is off. Same goes for R6/Q4.

Yeah, it's a lot of parts, but your requirements are kinda tough.

If you're only building one of these, and your supply is tightly regulated, and your temperature range is limited, then the method (I forget who proposed it) that keeps Vbe at about 0.4V when the drive is high impedance may work okay.

If it were my project and the thing had to ALWAYS work (in production quantities, over a varying range of Vcc, temperature, and Voh/Vol), then I'd use this scheme.

If you have trouble with the resistor values then give a yell. R3 and R4 should be equal if your drive is from a CMOS output (i.e. the output swings from supply to supply). If it's from an old TTL output, then the voltage at the R3/R4 connection should be set to about ((2.4V-0.4V)/2)+0.4V = 1.4V (i.e. the middle of the output swing range for worst-case TTL).

Have fun with it.

Bob

--
== NOTE: I automatically delete all Google Group posts due to uncontrolled 
SPAM ==
Reply to
BobW

Didn't you see my four transistors, four resistors solution yesterday?

+--------+------------------+-------+--Vcc | | | | ___ |< | ___ |/ | in----+--|___|---| | +--|___|--| | | |\\ | | |> | | | | | | | | | |< | | |< | +------| | +-----| | | |\\ | | |\\ | .-. | | .-. | | | | .---. | | | .---. | | | | | | | | | | | '-' | D | | '-' | D | | | | | | | | | | | '---' | | '---' | | | | | | ------)------------+--------+------)-----------+-------+--GND | | +----------------------------+ created by Andy´s ASCII-Circuit v1.24.140803 Beta
formatting link

petrus bitbyter

Reply to
petrus bitbyter

On Thu, 08 May 2008 19:11:47 +0200, vic wrote:

--- Yes. View in Courier:

+5V>-------+-----------+-----------+-----------+ | | | | [100k] [100K] | | | | | E +-----------|-----------|---------B 2N3906 | | | C | | E | | +--[10K]--B 2N3906 | [10k] | C | | | | | | C |A |A VIN>-------+--[10k]--B 2N3904 [DISPLAY] [DISPLAY] E | | | [150R] [150R] | | | GND>-------------------+-----------+-----------+

Version 4 SHEET 1 880 680 WIRE -112 -128 -272 -128 WIRE 144 -128 -112 -128 WIRE 384 -128 144 -128 WIRE 624 -128 384 -128 WIRE -112 -80 -112 -128 WIRE 144 -80 144 -128 WIRE 624 0 624 -128 WIRE -112 48 -112 0 WIRE 560 48 -112 48 WIRE 384 96 384 -128 WIRE -112 112 -112 48 WIRE 144 144 144 0 WIRE 192 144 144 144 WIRE 320 144 272 144 WIRE 144 176 144 144 WIRE 624 192 624 96 WIRE -112 224 -112 192 WIRE -32 224 -112 224 WIRE 80 224 48 224 WIRE -272 256 -272 -128 WIRE -112 256 -112 224 WIRE 384 288 384 192 WIRE 624 288 624 256 WIRE 384 384 384 352 WIRE -272 512 -272 336 WIRE -112 512 -112 336 WIRE -112 512 -272 512 WIRE 144 512 144 272 WIRE 144 512 -112 512 WIRE 384 512 384 464 WIRE 384 512 144 512 WIRE 624 512 624 368 WIRE 624 512 384 512 WIRE -272 592 -272 512 FLAG -272 592 0 SYMBOL pnp 560 96 M180 SYMATTR InstName Q1 SYMATTR Value 2N3906 SYMBOL LED 608 192 R0 SYMATTR InstName D1 SYMATTR Value QTLP690C SYMATTR Description Diode SYMATTR Type diode SYMBOL res 608 272 R0 SYMATTR InstName R1 SYMATTR Value 150 SYMBOL voltage -272 240 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V1 SYMATTR Value 5 SYMBOL res -128 -96 R0 SYMATTR InstName R2 SYMATTR Value 100k SYMBOL voltage -112 240 R0 WINDOW 3 24 104 Invisible 0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V2 SYMATTR Value PULSE(0 5 0 1e-6 1e-6 .1 .2) SYMBOL res -128 96 R0 SYMATTR InstName R3 SYMATTR Value 10k SYMBOL res 64 208 R90 WINDOW 0 0 56 VBottom 0 WINDOW 3 32 56 VTop 0 SYMATTR InstName R4 SYMATTR Value 10k SYMBOL npn 80 176 R0 SYMATTR InstName Q2 SYMATTR Value 2N3904 SYMBOL res 128 -96 R0 SYMATTR InstName R5 SYMATTR Value 100k SYMBOL pnp 320 192 M180 SYMATTR InstName Q3 SYMATTR Value 2N3906 SYMBOL LED 368 288 R0 SYMATTR InstName D2 SYMATTR Value QTLP690C SYMATTR Description Diode SYMATTR Type diode SYMBOL res 368 368 R0 SYMATTR InstName R6 SYMATTR Value 150 SYMBOL res 288 128 R90 WINDOW 0 0 56 VBottom 0 WINDOW 3 32 56 VTop 0 SYMATTR InstName R7 SYMATTR Value 10k TEXT -232 536 Left 0 !.tran 1 uic

JF

Reply to
John Fields

--
Oops...

Missed the part about when the input signal floats.

JF
Reply to
John Fields

On Sat, 10 May 2008 08:52:53 -0500, John Fields wrote:

--- This works:

Vcc>----+------+-----+----+-----------+---------+ | | | | | | [10K] [10K] | | | | | | | [10K] | | +------|----|-\\ | E | | | | >--+--[10k]--B 2N3906 | Vin>----+ +----|+/U1A C | | | LM393 | | | | | | | [30K] Vcc | | | | | | | | | [10K] | | | +----|-\\ | | E | | | >--+--[10K]----|-------B 2N3906 +------|----|+/U1B | C | | | LM393 |A |A | | | [7SEG] [7SEG] [10K] [10K] | | | | | | [150R] [150R] | | | | | GND>----+------+-----+----------------+---------+

Or, using LT1017's:

Version 4 SHEET 1 916 680 WIRE 0 -128 -400 -128 WIRE 112 -128 0 -128 WIRE 240 -128 112 -128 WIRE 304 -128 240 -128 WIRE 576 -128 304 -128 WIRE 784 -128 576 -128 WIRE 0 -80 0 -128 WIRE 112 -80 112 -128 WIRE 576 16 576 -128 WIRE 304 32 304 -128 WIRE 0 48 0 0 WIRE 272 48 0 48 WIRE 384 64 336 64 WIRE 512 64 464 64 WIRE 112 80 112 0 WIRE 272 80 112 80 WIRE 112 96 112 80 WIRE 240 112 240 -128 WIRE -176 128 -288 128 WIRE 0 128 0 48 WIRE 0 128 -96 128 WIRE 240 144 304 96 WIRE 304 160 240 112 WIRE 784 160 784 -128 WIRE 304 176 304 160 WIRE 112 192 112 176 WIRE 272 192 112 192 WIRE 384 208 336 208 WIRE 720 208 464 208 WIRE 0 224 0 128 WIRE 272 224 0 224 WIRE 576 288 576 112 WIRE 784 288 784 256 WIRE -400 320 -400 -128 WIRE -288 320 -288 128 WIRE -160 320 -160 176 WIRE 0 320 0 224 WIRE 112 320 112 192 WIRE 576 384 576 352 WIRE 784 384 784 352 WIRE -400 496 -400 400 WIRE -288 496 -288 400 WIRE -288 496 -400 496 WIRE -160 496 -160 400 WIRE -160 496 -288 496 WIRE -112 496 -112 176 WIRE -112 496 -160 496 WIRE 0 496 0 400 WIRE 0 496 -112 496 WIRE 112 496 112 400 WIRE 112 496 0 496 WIRE 240 496 240 144 WIRE 240 496 112 496 WIRE 304 496 304 240 WIRE 304 496 240 496 WIRE 576 496 576 464 WIRE 576 496 304 496 WIRE 784 496 784 464 WIRE 784 496 576 496 WIRE -400 576 -400 496 FLAG -400 576 0 SYMBOL Comparators\\\\LT1017 304 208 R0 SYMATTR InstName U1 SYMBOL res 96 -96 R0 SYMATTR InstName R1 SYMATTR Value 10k SYMBOL res 96 80 R0 SYMATTR InstName R2 SYMATTR Value 30k SYMBOL res 96 304 R0 SYMATTR InstName R3 SYMATTR Value 10K SYMBOL Comparators\\\\LT1017 304 64 R0 SYMATTR InstName U3 SYMBOL res -16 -96 R0 SYMATTR InstName R4 SYMATTR Value 10k SYMBOL res -16 304 R0 SYMATTR InstName R5 SYMATTR Value 10k SYMBOL voltage -288 304 R0 WINDOW 3 24 104 Invisible 0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V1 SYMATTR Value PULSE(0 5 0 1e-6 1e-6 .1 .2) SYMBOL voltage -400 304 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V2 SYMATTR Value 5 SYMBOL pnp 512 112 M180 SYMATTR InstName Q1 SYMATTR Value 2N3906 SYMBOL pnp 720 256 M180 SYMATTR InstName Q2 SYMATTR Value 2N3906 SYMBOL LED 560 288 R0 WINDOW 0 -46 32 Left 0 WINDOW 3 -116 72 Left 0 SYMATTR InstName D1 SYMATTR Value QTLP690C SYMBOL res 560 368 R0 SYMATTR InstName R6 SYMATTR Value 150 SYMBOL res 768 368 R0 SYMATTR InstName R7 SYMATTR Value 150 SYMBOL LED 768 288 R0 WINDOW 0 -46 32 Left 0 WINDOW 3 -116 72 Left 0 SYMATTR InstName D2 SYMATTR Value QTLP690C SYMBOL res 480 48 R90 WINDOW 0 -36 60 VBottom 0 WINDOW 3 -34 58 VTop 0 SYMATTR InstName R10 SYMATTR Value 10k SYMBOL res 480 192 R90 WINDOW 0 -36 59 VBottom 0 WINDOW 3 -33 56 VTop 0 SYMATTR InstName R11 SYMATTR Value 10k SYMBOL sw -80 128 M270 WINDOW 0 32 15 Left 0 WINDOW 3 32 44 Left 0 SYMATTR InstName S1 SYMBOL voltage -160 304 R0 WINDOW 0 -49 16 Left 0 WINDOW 3 24 104 Invisible 0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V3 SYMATTR Value PULSE(5 0 .5 1e-6 1e-6 .5 1) TEXT -392 552 Left 0 !.tran 2 uic TEXT 16 136 Left 0 ;2.5V TEXT 72 80 Left 0 ;4V TEXT 72 192 Left 0 ;1V TEXT -392 520 Left 0 !.model SW SW(Ron=1 Roff=10Meg Vt=0.5Vh=0)

JF

Reply to
John Fields

"petrus bitbyter" schreef in bericht news:4825926d$0$15509$ snipped-for-privacy@dreader16.news.xs4all.nl...

Oops, checking out my own schematic I found it wrong. The one below is good. I added a diode to make the voltage loss for both displays more equal. If that loss is not acceptable you can use a five transistor variant shown by someone else already. I added similar schematic below.

+--------+------------------+-------+--Vcc | | | | ___ |< V .-. | in----+--|___|---| - | | | | |\\ | | | | | | | '-' | | | |< | |/ | +------| +-----| | | |\\ | |>

| .-. | | | | | | .---. ___ |/ .---. | | | | | +--|___|--| | | | '-' | D | | |> | D | | | | | | | | | | | '---' | '---' | | | | | | ------)------------+--------+------)-----------+-------+--GND | | +----------------------------+

+------+---------------------+------+--Vcc | | | | ___ |< | |< | in---+--|___|--| | +--| | | |\\ | | |\\ | | | | .-. | |< | | |< | | +----| | +----| | | | |\\ | | |\\ '-' | | | .-. | | | | | | | .---. | | .---. | | | | | ___ |/ .-. | | | '-' | D | +--|___|--| | | | D | | | | | | |> | | | | | | '---' | | '-' '---' | | | | | | | -----)-----------+------+----)-----------+----+------+--GND | | +-----------------------+ created by Andy´s ASCII-Circuit v1.24.140803 Beta
formatting link

For a a Vcc of 5V all resistors can be 4k7. Transistors are general purpose

2N3904, 2N3906 or BC550, BC560.

petrus bitbyter

Reply to
petrus bitbyter

Sorry I missed your post. Looks like a good solution. Thanks !

Reply to
vic

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.