Can't trigger relay unless USB cable connected to arduino

I have a project that boils down to a arduino connected to an 8 way relay.

I have made a power supply for using a bridge rectifier from an old tv, a 3300uF capacitor and one of these: .

It takes 24VAC and puts out 5VDC and some of the 24VAC goes to triggering solenoid valves attached to the relays.

It all works fine while the USB cable is attached to the Arduino, even if I also have the arduino connected to my power supply at the same time.

But as soon as I remove the USB cable, and run the device as stand alone, the relays won't trigger.

I can see the function that does the digital write on the relay pin being called because I have debug info going out a HC05 and into TeraTerm running on my PC.

Can anyone explain this and how I might resolve it? I have absolutely no idea why this is happening.

Schematic, drawing?

Also, post your program.


Schematic, drawing?

Ah that's not entirely straight forward because they are pre-soldered shields stacked on my Arduino and a pre-soldered relay board just with jumper links.

I thought there might be some common faults that crop up and that you could point out to me to look for.

But embarrassingly I think it might be just a case of being too far away from the thing to hear it when it was triggering - because I just heard the thing work.
And there appears to be another small problem in that 1 minute passed to my function is resulting in one second of activation - another reason why I was not hearing or seeing it trigger.

I must have minutes and seconds confused some where in my code.