Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
07/18/06 02:57
Read: times


 
Msg Score: +1
 +1 Informative
#120427 - 12V relay driver for 80C52
Responding to: ???'s previous message
Asok said:
I normally use 5 Volts 100 Ohms relays (GOODSKY GS-SH-205T-DS) with a BC557/8B and a 10 KOhms resistance connected between the port pin and the base. The collector goes to ground and the emitter to the relay coil, the other end of which is connected to the Vcc +5Volts,the usual IN4148 is across the coil.This unisolated arrangement works faultless even with inductive loads like fridge.
When the same arrangement is used with 12Volts relay connected to 12v,the relay is put on only once by the microcontroller as desired, by clearing the port pin;but the relay cannot be put off by setting high the port pin.It appears that the transistor is leaking.

It isn't leaking, the base emitter junction is still forward biased, because, due to the relay, the emitter is still on higher potential than the base. I guess that an internal and invisible port protection diode is allowing enough emitter base current to flow to keep the transistor turned-on, even when emitting high state at port output. You can check this by measuring the potential at port pin: Is it one pn-junction forward voltage drop higher than Vcc, then it happens what I described above.

Asok said:
What is the proper design or shall I forget 12 Volts relays in this context?

Because the standard port of 80C52 cannot drive big currents when emitting high state, you should use the following scheme:




How does it work?

400R at 12V means a relay current of 30mA. To reliably turn-on the involved transistor a base current of 1/10 the collector current is needed. So, the BC337 has 1k2 base resistors.
The same thoughts with BC556. So, the 10k base resistors.

Emitting low state at Port x,y turns-on the BC556, which then turns-on the BC337 and by this the relay.

The resistors across base emitter junctions increase the turn-on threshold of transistors to about 1.4V. This makes this stage immune against noise on the supply rails.

Kai

List of 49 messages in thread
TopicAuthorDate
Driving 12 Volts relay by 5 Volts microcontroller            01/01/70 00:00      
   12v relay            01/01/70 00:00      
      This will not work properly!            01/01/70 00:00      
         well, it might            01/01/70 00:00      
         pullup?            01/01/70 00:00      
            Doable, but disadvantagous            01/01/70 00:00      
               language and a comment            01/01/70 00:00      
                  Makes only 3 drivers per port            01/01/70 00:00      
      12v relay            01/01/70 00:00      
   12V relay driver for 80C52            01/01/70 00:00      
      12V relay driver for 80C52            01/01/70 00:00      
      Analysis            01/01/70 00:00      
         sure.but why? this is \"grab bag values\"            01/01/70 00:00      
            Re: Analysis            01/01/70 00:00      
               basically they are 'bleeders'            01/01/70 00:00      
                  Choosing Bleeder resistor values            01/01/70 00:00      
                     Values Are design Specific            01/01/70 00:00      
                        how to calculate?            01/01/70 00:00      
                           what you are missing is that a transistor junction            01/01/70 00:00      
                           Two ways of calculation...            01/01/70 00:00      
                              Thank you very much!            01/01/70 00:00      
                                 Nearly....            01/01/70 00:00      
                                    BC556 base current direction...            01/01/70 00:00      
                                       Three currents arround the base...            01/01/70 00:00      
                                          Yes. Its clear for me now.            01/01/70 00:00      
                                             Was a pleasure...            01/01/70 00:00      
                                                So Nice of You. Thanks again!            01/01/70 00:00      
   Didn't search first            01/01/70 00:00      
      Everything is already here. That is not the point!            01/01/70 00:00      
         Maybe it IS the point            01/01/70 00:00      
            Please read again his post            01/01/70 00:00      
               He'd have seen other alternatives            01/01/70 00:00      
                  I give up...            01/01/70 00:00      
                     don't            01/01/70 00:00      
         faq            01/01/70 00:00      
            Beat me to it            01/01/70 00:00      
            freewheling            01/01/70 00:00      
               1n4148            01/01/70 00:00      
               Heaven, no!            01/01/70 00:00      
                  as usual, the global became specific            01/01/70 00:00      
                     That's why I...            01/01/70 00:00      
                  FAQ update            01/01/70 00:00      
                     Comment            01/01/70 00:00      
                        It's fixed now. Thanks.            01/01/70 00:00      
   Alternatives            01/01/70 00:00      
   yet another way            01/01/70 00:00      
      Trouble making            01/01/70 00:00      
   the case of fault            01/01/70 00:00      
      Some thoughts            01/01/70 00:00      

Back to Subject List