arduino Relay takes time to close

Control a relay from an Arduino compatible board. When I try to activate the relay from the Arduino it takes at least a second to switch closed and sometimes does not switch closed at all. Digital pin 2 of the Arduino is connected to IN0 of this circuit (bottom left). I set it low to switch on the relay. VCC and ground on the low-voltage side are connected to ground and 5V pins of the Arduino.

The high-voltage side (JD-VCC) is connected to a 5V 1A power adapter which also powers the Arduino. The jumper on the top left of the circuit connecting the high-voltage and low-voltage sides has been removed. One reason I suspected is that I have connected the power supply to the relay coils by thin jumper wires. But the specification says that the relay draws a current of 80 mA. So I was hoping that the wires would be good enough. Assuming your supply isn`t collapsing somehow, to me it`s most likely that the CTR of the opto isn`t sufficient to saturate Q1 and meet the pull-in voltage requirement of the relay: The vast majority of optoisolators that I know of only guarantee their CTR at 5mA current or higher. Even a high gain opto (100-300% CTR) will underperform at this current level. It`s quite possible that many optos in this application will tend towards higher CTR and work without circuit modification. Also, some Q1s may have much higher $H_{FE}$ and handle the weak drive. I would consider soldering another 1k in parallel with the existing R1 and see if the relay performance improves. Most optoisolators can handle up to 50mA photodiode current; that being said, the diode current should be set to the lowest possible current that allows your application to operate robustly, since optoisolators do age (the CTR degrades over time: faster as the photodiode current increases).

Leave Comment

characters left:

New Circuits