Arduino locking up running relays

Hey guys. I'm trying to debug my arduino application, and not making good progress. I've built a brewery that has an arduino uno running 6 relays (5 channels for solenoid valves, and the other for a pump), and 2 SSRs (for running 240v water heater elements). I'm using this relay board: http://www.sainsmart.com/8-channel-dc-5v-relay-module-for-arduino-pic-arm-dsp-avr-msp430-ttl-logic.html and these SSRs: http://www.ebay.com/itm/Solid-State-Relay-SSR-24-480V-AC-40A-Heat-Sink-/370412367790?pt=LH_DefaultDomain_0&hash=item563e4c2fae For each relay I turn on, my Vcc drops by about 0.1V. This becomes a problem around 4.5V, as the arduino seems to get pretty unhappy and locks up or drops the LCD display. The voltage drop running the SSRs is only about 0.01V. I tried to displace my voltage drops by using transistors, but that is not working well either. For one of the channels, I tried the following: use a pnp transistor with E connected to vcc, E connected to the relay actuation wire, and B connected to a 1k resistor, then to arduino digital pin set to LOW. That didn't work (relay didn't actuate), so I tried connecting the resistor out to ground. It still didn't actuate.
Should I continue down the transistor road? If so, what am I doing wrong there? I tried the basic circuit on my learning lab with an LED, and it worked just fine.

thanks,
brian

Sounds like to much load on the power supply, driving those 8 relays. What is your power supply? Maybe using a second power suppy for the relay board may help (keep the ground common, just different +5v).

The sainsmart has put another sh*tty product to the DIY electronics market? The spec sheet is 8MB and contains nothing useful. Show us your wiring of the transistor. Transistor should be your solution if there is insufficient power from arduino pins but I suspect you are powering the relays with arduino so try an external AC adapter say 5V and 1A and use transistor.

Details for that relay board did mention 15-20ma per relay. So doing the math, 20Ma * 8 relays could add up to 160ma.
USB will not handle that. The onboard 5v regulator I don't think will either. "I think we need a bigger boat (ps I mean).

Correction: USB can provide about 500ma. Sorry for the confusion.

Yep, 500mA for the USB or 1A from AC adapter through on board voltage regulator. If I had a diagram of the board I would be more clear what's on it. There might be some transistors on board but I really don't know. The voltage jackwp saw could be for arduino pin to power the transistor that powers the coil. Then the coil will need more than just 20mA to run. See, if you have 5V and 20mA then your resistance is 250ohm, a bit large for coils.

Yes, I am using the arduino power supply (typically over usb) to power the relay board as well. I will try to add an additional power supply to power the relay board (without the transistors), and see how that goes. Thanks!

brian

Yea, I am not sure what their specs meant, on the URL provide above, it said
"5V 8-Channel Relay interface board, and each one needs 15-20mA Driver Current"

That could have meant from the arduino, or could have meant draw from power supply.
Either way tho, I still think a larger power supply (and/or separate power supplies) may fix the problem.

Make sure the external supply is rated at 1A, which matches your arduino voltage regulator. Occasionally touch the arduino regulator to make sure it's not burning up. It will get warm but should never scorch your finger.

Update: I had an old 7.4V 1.8A power supply laying around. I plugged it into Vin expecting the uno to regulate the voltage for me. It did not, and I had a 7805 laying around, so I put that inline, and my Vcc is sitting at 5.05V. With all six relays and 1 SSR on, my voltage drop is only 0.03V! Hooray! I haven't done a full system test yet, but this is looking much better. Thanks again, guys.

cheers,
brian

The ac adapter deserves a spot in the trash can then. I buy from here:

http://www.dipmicro.com/store/index.php?act=viewCat&catId=518

I have the 9V ones since I am just using 7805, not low drop out version.

The ac adapter deserves a spot in the trash can then

Can you elaborate on what you mean? I may have misunderstood that the uno should be able to handle 12v on Vin and regulate it to 5V. Maybe it's not supposed to do that? Or the power supply is strange? It came with my $750 Kodak digital camera from 1997, I figured it had to be good! :slight_smile:

thanks,
brian

Yes the vin pin can handle 12V input and regulate it to 5V. If the ac adapter can't power it, one possibility is it is dead or bad and should be tossed away. Another is the center tap is ground instead of positive.

I have been trying to find the specs on how much power the onboard 5v regulator will handle. So far I have not found specs, but a forum post that suggests less than 500ma with 12 volts in.
http://forum.arduino.cc/index.php/topic,53379.0.html

Is there somewhere that gives better specs?

I assume there is no definite number. It will depend on the input Vin voltage, the duration/duty cycle of the load, and the heat sink and ambient temperature.

I saw someone say the onboard 5v regulator could handle a maximum of 800ma. I would suspect that would be with 7v Vin, and a short duty cycle.

Any more info ?

Thanks, Jack

bkrahmer:
Can you elaborate on what you mean? I may have misunderstood that the uno should be able to handle 12v on Vin and regulate it to 5V. Maybe it's not supposed to do that?

It can...but you have to remember that it converts excess volts to heat. It will get too hot if you try and draw a lot of current.

Different boards have different regulators. Last time I checked on a board design (UNO I think) it is 1A but that assumes proper cooling but UNO doesn't have very proper cooling.

Let me run this by you.. If you need more current, how about using a 2 amp micro usb charger to run the board. then other devices can tap into the 5V (2 amps now) to be powered. Seems like that would increase from 1/2 amp to 2 amp ability.
http://www.ceshowroom.com/Xentris-33-0512-01-Xe-2-Amp-Micro-Usb-Travel-Charger_p_28802.html

Think that would work?

Jack

Yes, that should work. I didn't check but I assume the trace between USB connector and 5V pins on arduino should be able to handle the current. I would stick my finger over the board while I do the relay testing to see if any spot gets too warm.

For that little extra current requirements;
Do I remember correctly, you can plug in the usb while the Vin is providing power.
That should about double your amperage to allow more power for additional boards, while uploading/testing sketches.
Looks like each one should be able to provide about 500ma, so both together would provide about 1000ma (1 amp).

Then when you want to run without the computer (usb) hooked, you can plug in a 2 amp micro-usb charger.

Your ideas?

Jack