Relay Backeffecting the circuit

Thread Starter

Ishan Jain

Joined Nov 12, 2016
100
Hello everybody. I am currently working on arduino based home automation using bluetooth voice command but its not working fine for me as I am encountering problems with the relay driver IC ULN2003 connections with arduino and 5 volt SPDT relay. looking forward to best solutions from you guys.
 

JohnInTX

Joined Jun 26, 2012
4,787
Per the datasheets:
P2 only sources around 60uA. The ULN2003A needs around 1mA input current. I don't think you have enough drive.
 

Thread Starter

Ishan Jain

Joined Nov 12, 2016
100
Thanks for the suggestion. the actual thing happening is when I send command through the bluetooth for switching on the appliance the 13 pin of arduino goes high and that is given to the input of ULN2003 but the output voltage is dropping down to 0.69 volt which is nowhere close to 5 volt required for switching the relay. my friend once connected the relay directly to the arduino and it started backing off and turning off the bluetooth module and arduino.
 

John P

Joined Oct 14, 2008
2,060
Is it possible that you're expecting the ULN2003 produce a 5V output, which you plan to connect to your relay, with the other end of the relay coil grounded? It doesn't work that way at all. What that component does is switch a load to ground in one state, or not switch it, in the other state. The other side of the load must be connected to a positive voltage.

Actually the ULN2003 won't switch your load to ground, because it has a Darlington transistor which will have a significant voltage drop even when it's turned on, depending on how much current your relay needs. That voltage could be a large enough fraction of your 5V supply that the relay won't operate. Most likely it'll be OK, but you should compare the relay's minimum voltage spec with the voltage that it's actually getting.
 

Thread Starter

Ishan Jain

Joined Nov 12, 2016
100
Recently I made changes in the circuit and connected one part of coil to the common of the ULN2003 and other to output pin of ULN but still the relay is not operating.
 

AnalogKid

Joined Aug 1, 2013
12,126
the output voltage is dropping down to 0.69 volt which is nowhere close to 5 volt required for switching the relay.
Two things. First, the output of a 2003 does not go up to 5 V when the input is high. Each section of a 2003 is an inverter, so you expect the output to try to go to GND when the input is high. Since the other relay pin *is* connected to 5 V, this is the correct way to turn on the relay. And if you meant that 4.31 V (5.00 - 0.69) is nowhere close to 5 V, actually it is. But it might not be close enough.

BUT

The second thing is that a 2003 has Darlington transistors, and those do not saturate like normal transistors. So 0.69 V is as low as they will go. They will not go all the way down to GND, and no amount of input current will change that. The problem might be that the relays you have really need the full 5 V across their coils, and your circuit cannot deliver that.

ak
 

eetech00

Joined Jun 8, 2013
4,705
Recently I made changes in the circuit and connected one part of coil to the common of the ULN2003 and other to output pin of ULN but still the relay is not operating.
The ULN switches the output to ground.
First, connect a diode (IN4148) across each relay coil to suppress back EMF.
Then, connect the cathode side to +5v, and connect the anode side to the ULN output pin.
See example attached.

Also, I don't see a ground connection to the AT89C51(?).
 

Attachments

Last edited:

Thread Starter

Ishan Jain

Joined Nov 12, 2016
100
Does common ground will solve my problems if the relay still backeffects the circuit after making all the correct connections.?
 

Thread Starter

Ishan Jain

Joined Nov 12, 2016
100
I have made my project in different sections like separate PCB's for power supply, ULN2003 darlington array and the relay module so will it beneficial if I connect ground of each PCB at a single point.
 

Thread Starter

Ishan Jain

Joined Nov 12, 2016
100
Two things. First, the output of a 2003 does not go up to 5 V when the input is high. Each section of a 2003 is an inverter, so you expect the output to try to go to GND when the input is high. Since the other relay pin *is* connected to 5 V, this is the correct way to turn on the relay. And if you meant that 4.31 V (5.00 - 0.69) is nowhere close to 5 V, actually it is. But it might not be close enough.

BUT

The second thing is that a 2003 has Darlington transistors, and those do not saturate like normal transistors. So 0.69 V is as low as they will go. They will not go all the way down to GND, and no amount of input current will change that. The problem might be that the relays you have really need the full 5 V across their coils, and your circuit cannot deliver that.

ak
so how can I provde the required 5 volts to the relay and eliminate that 0.69 volts i m getting at the output pin of ULN2003.
 

eetech00

Joined Jun 8, 2013
4,705
What I meant...

The output connections from the ULN to the relays on the your schematic look correct. But each relay should also have a diode across the each coil to suppress back EMF. The 7805 would need enough capacity to be able to provide enough current to drive the circuit including all the relays. What is the exact part number of the relay and 7805?

The AT89C51 in your schematic has a ground pin but it doesn't look connected to anything.
 

Thread Starter

Ishan Jain

Joined Nov 12, 2016
100
What I meant...

The output connections from the ULN to the relays on the your schematic look correct. But each relay should also have a diode across the each coil to suppress back EMF. The 7805 would need enough capacity to be able to provide enough current to drive the circuit including all the relays. What is the exact part number of the relay and 7805?

The AT89C51 in your schematic has a ground pin but it doesn't look connected to anything.
I have added in my reply that I have used arduino instead of 8051 uc and also i have connected IN-4007 diode across each relay.
 
First, connect a diode (IN4148) across each relay coil to suppress back EMF.
Then, connect the cathode side to +5v, and connect the anode side to the ULN output pin.
See example attached.
You don't understand how the ULN2003 works. Each channel is a darlington transistor, so the chip needs ground to operate.
If your not driving a relay (e.g. a LED), COM does not have to be connected. COM is the at the relay supply voltage and is the "other half" of all of the built in suppression diodes. If the relays were far away from the ULN chip, I MIGHT consider extra ones at the relay(s).

Datasheet: https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwi10aHbmabQAhWF2YMKHfhpAMYQFgggMAA&url=http://www.ti.com/lit/ds/symlink/uln2003a.pdf&usg=AFQjCNHUdv8pRaS3Y-KFFvAIM8_JaWmeew&sig2=vng5jOPE_9sNsOAx7yhZew See section 5 for the functions of pin 9 and 10.

You will need to look at figures 7 & 8 http://www.ti.com/lit/ds/symlink/uln2003a.pdf?#page=9 along with the coil current to figure out how much voltage the driver will drop and what input current is required. You also have to make sure this exceed the pull-in voltage for the relay.

The input voltage typically has to be greater than 2.9 V to turn the driver on.
 
Last edited:
Top