I've been working on a project consisting of a matrix of relays switching on and of various capacitors. No need to delve into details here. Classic relay operation - optocoupler, bootstrap diode and so on. I'm using shift registers operated by a uC to drive a relay's coil low to activate the contact. The shift registers I'm using are TLC6C5816-Q1. Relays' coils are on 24V rail, steady state current flowing through one coil is approx. 0.017A. I haven't noticed any reasonable peaks. This is also the current flowing through a shift register pin. According to datasheet the maximum should not exceed 0.050A
After a few hours of testing I noticed that one out of 10 registers broke down and is constantly driving one out of 16 outputs low (default is high). It's still switching the other pins the way it should (according to configurations sent by a uC). The fault disappears after the register's reset (all outputs are switched off by default) and comes back after the first configuration by a uC. It looks as if one bit of the configuration register was no longer writable and was permanently set to 1 disregarding the configuration that is loaded by a uC.
The shift registers TLC6C5816-Q1 are intended for use in automotive LED application (i.e. resistive loads). Yet I'm using them for relays (i.e. inductive load). Is this a poor engineering concept? In other words, should I aim for shift registers intended for use with inductive load? Would you recommend any?