fuzzzy
Full Member level 3
pic16f876
Hi,
I'm making a control board. It is a keyboard that has to drive 15 different 12V automotive relays.
I used Pic 16f876 as MCU for this board. because of few pins free i'd like to drive relays using a General purpose I/O expander controlled by I2c Bus(PCA9555).
Pwer supply for MCU and I/O expander is a common lm7805 (1A)
PCA9555 has got 16 cmos output 20mA per Pin(max 200mA).
I decide to interface it by ULN2003(7 darlington array) using classic relay NPN configuration.(uln2003 output switches relay's coil to GND). Relays aren't driven by 7805 but directly from car battery.
This circuit works fine for singular relays but when I try to switch on more than five arrays it gives me a lot of problems. It looks like there isn't enough current to drive ULN2003, some relays switch off, other are out of control, uln2003 and PCA9555 gets warmer.
What would you suggest me to do? is there a better way to interface I/O expander to relays?
thanks for your help
Hi,
I'm making a control board. It is a keyboard that has to drive 15 different 12V automotive relays.
I used Pic 16f876 as MCU for this board. because of few pins free i'd like to drive relays using a General purpose I/O expander controlled by I2c Bus(PCA9555).
Pwer supply for MCU and I/O expander is a common lm7805 (1A)
PCA9555 has got 16 cmos output 20mA per Pin(max 200mA).
I decide to interface it by ULN2003(7 darlington array) using classic relay NPN configuration.(uln2003 output switches relay's coil to GND). Relays aren't driven by 7805 but directly from car battery.
This circuit works fine for singular relays but when I try to switch on more than five arrays it gives me a lot of problems. It looks like there isn't enough current to drive ULN2003, some relays switch off, other are out of control, uln2003 and PCA9555 gets warmer.
What would you suggest me to do? is there a better way to interface I/O expander to relays?
thanks for your help