Page 1 of 1

RELAY8 issues / 2 faulty boards!?

Posted: Fri Oct 09, 2015 12:56 pm
by andy206
Hi guys

sorry, also posting in here cause I can't find a relay8 forum.

I've got an EtherTen v3 (which is great, btw), and now just recently got 2 relay8 shields to control my roller shutters. I had written the code for a while and was hoping for things to just work once I got the shields... but not so lucky of course. I'm getting very odd issues though I would have thought. Some of the relays (or outputs rather) work perfectly fine as intended, but some don't seem to work at all. Or then just very rarely. And then when I have 3 on at the same time in a certain combination, the board seems to just crash, and they won't turn off and it won't react to any more commands until I reset and re-initialise it. The commands from the EtherTen go in just fine.

So I tried the test code you provide of course, and it has similar issues. Some turn on, some don't. And then it just crashes.

I figured it could be an I2C bus issue, so I disabled the pullups - since I have a v3 EtherTen board, I thought that should work according to the instructions - but then the blue PWR led doesn't even come on. EtherTen is powered via USB and relay8 via external 12v, with the link jumper not set.

Then the 2nd relay8 I got is even worse - it sorta-kinda reacts sometimes, but even less, and then half of the channel status leds come on at half brightness only!? Almost like it's shorted, but there's no abnormal current draw, and I measured the output - definitely not shorted and just got the 250odd ohms of the relay coil. But when I don't connect anything to channel 1, it comes on full strength. That's only channel 1 though.

2 boards, 2 separate issues! Any ideas!? I initially tested both relay8 shields connected at the same time, but then went to separate testing... same results though. Would appreciate your help... thanks!

Cheers
Andy

Re: RELAY8 issues / 2 faulty boards!?

Posted: Fri Oct 09, 2015 10:55 pm
by andrew
How are you powering the entire project? EtherTen+shield(s)+relay coils?

Re: RELAY8 issues / 2 faulty boards!?

Posted: Sat Oct 10, 2015 1:34 am
by andy206
EtherTen is powered via USB and relay8 via external 12v, with the link jumper not set.
Is this what you mean?

Re: RELAY8 issues / 2 faulty boards!?

Posted: Sat Oct 10, 2015 2:30 am
by andrew
Sorry, half asleep.
OK - try powering the EtherTen from the 12V as well. ET's max out the current draw on USB very quickly, so if there's any more draw the voltage drops and the board operates erratically.

Re: RELAY8 issues / 2 faulty boards!?

Posted: Sat Oct 10, 2015 3:23 am
by andy206
Ok tried that, and it's definitely more stable - but still having issues. When it gets to a certain combination of 3 on it kept freezing completely usb powered, whereas now it will kindof recover and turn everything off at somepoint and then respond again. So no crashes.
However, some channels don't seem to respond at all, and with even just 3 relays on the pwr led gets quite dim. And i can't seem to turn on any more than that. Current draw with 3 on is ~300mA (total incl boards), and I'm using just an average jaycar FRM1 12V relay, 250odd ohms coil resistance.

Then the other relay8 shield is worse, but again different when powered not just by usb - a "2" input to the test program turns on channel 1, but only sometimes, and not with any output to the relay - only the output led. Other commands all out of a sudden turn on all 8 channels. Completely random. And as I said, very different to the first board!

Re: RELAY8 issues / 2 faulty boards!?

Posted: Mon Oct 12, 2015 12:59 pm
by andy206
Any other ideas? Those inconsistencies really seem like a buggy board, don't they? I mean either that or dodgy I2C? Anything else I can check?
I really liked the idea of just getting a "plug&play" board that just works, rather than having to wire up a whole lot of parts myself. Would be a pain if it didn't work.

Re: RELAY8 issues / 2 faulty boards!?

Posted: Mon Oct 12, 2015 9:58 pm
by andrew
If the LEDs are getting dim then there may be a short in your power supply wiring or the supply cannot offer enough current.
What is the catalogue number for your relays from Jaycar?

Does our demonstration sketch work with one shield only and the bus address set to 0x20?

Code: Select all

/*
 * Example sketch to control the RELAY8 8-Channel Relay
 * Driver Shield. Open serial console at 38400bps, and
 * send value "0" to reset all relays, or a channel number
 * to activate that relay. Requires Arduino IDE v1.0.1
 * or newer.
 */

#include "Wire.h"

#define I2C_ADDR  0x20  // 0x20 is the address with all jumpers removed

void setup()
{
  Serial.begin( 38400 );
  Serial.println("RELAY8 demonstration starting up");

  Wire.begin(); // Wake up I2C bus

  // Set I/O bank A to outputs
  Wire.beginTransmission(I2C_ADDR);
  Wire.write(0x00); // IODIRA register
  Wire.write(0x00); // Set all of bank A to outputs
  Wire.endTransmission();
  
  Serial.println("Ready. Type 0 to turn off relays, 1 - 8 to activate a relay.");
}

void loop()
{
   int command = 0;
   if (Serial.available()) {
    command = Serial.read();
    if( command == '0' )
    {
      sendValueToLatch(0);
      Serial.println("Resetting all relays");
    }
    if( command == '1' )
    {
      sendValueToLatch(1);
      Serial.println("Activating relay 1");
    }
    if( command == '2' )
    {
      sendValueToLatch(2);
      Serial.println("Activating relay 2");
    }
    if( command == '3' )
    {
      sendValueToLatch(4);
      Serial.println("Activating relay 3");
    }
    if( command == '4' )
    {
      sendValueToLatch(8);
      Serial.println("Activating relay 4");
    }
    if( command == '5' )
    {
      sendValueToLatch(16);
      Serial.println("Activating relay 5");
    }
    if( command == '6' )
    {
      sendValueToLatch(32);
      Serial.println("Activating relay 6");
    }
    if( command == '7' )
    {
      sendValueToLatch(64);
      Serial.println("Activating relay 7");
    }
    if( command == '8' )
    {
      sendValueToLatch(128);
      Serial.println("Activating relay 8");
    }
  }
}

void sendValueToLatch(int latchValue)
{
  Wire.beginTransmission(I2C_ADDR);
  Wire.write(0x12);        // Select GPIOA
  Wire.write(latchValue);  // Send value to bank A
  Wire.endTransmission();
}

Re: RELAY8 issues / 2 faulty boards!?

Posted: Tue Oct 13, 2015 12:12 am
by andy206
I'm using a lab power supply current limited to 500mA - just to give a little protection. I've not come up to that limit yet, as I said, the max current draw so far was about 330mA at 12V.
The relays I'm using are http://www.jaycar.com.au/Electromechani ... y/p/SY4052, catalog no SY4052.

I've tested the boards separately with exactly the same code and exactly the same settings, so 0x20. When I initially had them both going I used 0x20 and 0x21.

Re: RELAY8 issues / 2 faulty boards!?

Posted: Wed Oct 14, 2015 12:29 am
by andrew
Fair enough. If the shields are from Jaycar than can exchange them for you otherwise email support@freetronics.com

Re: RELAY8 issues / 2 faulty boards!?

Posted: Sat Aug 27, 2016 9:05 am
by keiranwyllie
Did you end up getting your shields to work properly?

I had, what sounds like, a very similar issue with mine. I had to set up my Revision 3 shield to a Revision 2 as per the instruction booklet, because of the different Arduino header versions, then everything worked fine.