From: knop@dutecag.et.tudelft.nl (Peter Knoppers)
Subject: Re: Simple transistor project (Q)
Summary: Use a 555 timer.
Organization: Delft University of Technology, Dept. of Electrical Engineering
Date: Thu, 13 Aug 1992 10:03:26 GMT

reynhout@cs.uri.edu (Andrew Reynhout) writes:

>Hello.  I've been having some problems with a circuit, and I'm wondering if
>someone out there can help me...

>   Basically, I need to take a 5v low-current logic signal, and on the 
>transition from low to high, cause a relay to close for about half a second.
>This is my attempt (forgive the ASCII graphics...)


>                   +----------------------------------+
>                   |        1/6 7404                  |
>                   |     |\ INVERTER                  |
>  logic in >--+----+-----| O-----+                    |
>              |          |/      |                    |
>             R1                  | B   Q1             | B   Q2
>            3.3k               ----- 2N2222         ----- 2N2222
>              |                 / \                  / \
>             GND             C /   \ E   +        C /   \ E        +
>                    +5v >-----+    ->----|>|---+---+    ->--+----|<|-------+
>                                         D1    |            |    D2        |
>                                       1N4148  |            |  1N4148      |
>                                              --- C1        |              |
>                                              --- ~10uF     |   relay      |
>                                               |            +---coil-------+
>                                               |             (5v / 80mA)   |
>                                              GND                          |
>                                                                          GND

Let us get the steady-state of this circuit first.
If the logic input is high then
 -> Q1 is turned off
 -> Q2 is in a funny state. It will act as a diode conducting current from
    the logic input (which is supposed to be low current) to the relay coil.
    -> if the logic input can supply sufficient power the relay is turned on,
       otherwise you are overloading the source of the logic input signal.
 This is problem 1.
If the logic input is low then
 -> Q1 is turned on
 -> Q2 is turned off
   -> the relay is off
 This is intentional.

To cure problem 1 you could add a resistor between base and collector of Q2
and insert a diode in de connection between the base of Q2 and the logic
input. The diode should "point to" the logic input. I don't see any need
for diode D1, nor for resistor R1.

On an up transition of the logic input the capacitor is supposed to discharge
over the relay. The resistance of the relay coil is (evidently) about 60 Ohms.
The capacitor is 10 uF. This yields a discharge time in the order of 600 us
(micro seconds). No physical relay will operate on such a short burst.
This is problem 2.

Increasing the capacity of C1 to, say 15000 uF, might work, but it would
probably kill T1 or your power supply.

I suggest that you obtain an application note for the 555 timer and use
that chip. The 555 can deliver enough current to drive a relay (you will
still need the diode over the relay coil) and the 555 can be driven directly
by a low power logic signal.

Success!,

Peter Knoppers - knop@duteca.et.tudelft.nl