I am designing a small PCB that has several digital and relay outputs. The signals to and from the board will be 24VDC, while the logic on the board will be 3.3VDC. There will also be 12VDC for the relay coils. I am using optocouplers on the inputs and outputs. I have built the circuit on a test board and it seems to work as expected. However, I have had 3 optocouplers fail during testing so far and I am not sure why. My design is basically the same as the test circuit from the K847P datasheet, shown here:

K847P Test Circuit

I have a second LED in series with each one optocoupler LED so that I can tell at a glance which ones are on. Each LED/opto LED combo has a resistor that should limit them to 10mA.

I am also using relay drivers (Darlington arrays) to run relays on this board. I used the extra channels on the driver to run the LED side of my optocoupers on the outputs so that I didn't have to worry about the LED current on pins of my microcontroller.

This shows one digital output:

enter image description here

Is there something obvious here that might be killing the optocouplers? The dead ones seem to have low forward voltage (anywhere between 0V and .7V) and open circuits on the outputs. It seems to me like the LEDs are burned out but I am not sure how that could have happened.

I have built a mockup of my board by hand and it has six of these 4 channel optocouplers. So far I have one with all 4 channels dead, and two with 1 dead channel each. This seems like too high a failure rate to be coincidence to me.

UPDATE BASED ON QUESTIONS: I have used an oscilloscope to watch the 12V bus, the 3.3v bus, and across the relay coil terminals while switching one of my relays on and off. I did not see any transient voltage spikes. I think the snubber relays on my relay driver are doing their job, which lands me back at square 1...

Also from a comment but moving up here for visibility: The optocoupler is a Toshiba TLP291-4 and the darlington array is a Texas Instruments ULN2003A. I was also using a K847P optocoupler to test on a breadboard and discovered a burned out channel on that one as well, so I would guess it isn’t something specific to my optocoupler choice.

  • 2
    \$\begingroup\$ What are you doing to prevent inductive kickback from your relays? If you're not controlling that well enough it could be that the optocouplers are getting thwacked. \$\endgroup\$ – TimWescott Sep 9 '19 at 23:07
  • \$\begingroup\$ The 12 V connected (thru resistors) to the anodes of the optocoupler LEDs, is it the same one supplying the relay coils? Are you sure the relay coils aren't generating big transient voltages on that supply when they're turned on or off? \$\endgroup\$ – The Photon Sep 9 '19 at 23:08
  • \$\begingroup\$ Can you provide data sheets for your darlington array and the optocoupler chip? \$\endgroup\$ – Ron Beyer Sep 9 '19 at 23:17
  • \$\begingroup\$ @TimWescott- I do not have any protection on there other than the array itself. I understand the need for a flyback diode on the coil of a relay, but I thought that the relay driver included these. The datasheet says that it has “high-voltage outputs with common-cathode clamp diodes for switching inductive loads.” I thought that meant the chip included the needed diodes but I could be completely wrong. You can see these relays in the schematic. \$\endgroup\$ – David Sep 10 '19 at 15:22
  • \$\begingroup\$ @The Photon – It is the same 12V source as the relays. However, I had some fail that were on the 3.3V source as well so I don’t think it is just spikes on the 12V. Those were also connected to the same relay driver, but I don’t think voltage spikes should be able to make their way back through the driver. I will put a scope on there and see if I see anything weird. \$\endgroup\$ – David Sep 10 '19 at 15:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.