Relay Board 24x16A


Changes from previous version

  • added dip switches to select i2c addresses
  • added diodes to relay coils
  • removed pullup resistors for SDA and SCL

Top

Relay Board 24x16A top

Bottom

Relay Board 24x16A bottom

Specification

  • 24 x 16A Relays (RM85)
  • Temp Sensor (MCP9808 or LM75)
  • i2c Interface (MCP23017)

Bill of Materials

Relay Board 24x16A BOM
IdDesignatorPackageQuantityDesignation
1R5, R10, R6, R4R_0603_1608Metric44.7k
2J2, J4, J5, J6, J7, J11, J1, J8, J9, J10, J12, J13PhoenixContact_GMSTBA_2,5_4-G_1x04_P7.50mm_Horizontal12Screw_Terminal_01x04
3U5, U3, U4SOIC-18W_7.5x11.6mm_P1.27mm3ULN2803A
4C2, C3, C4, C1, C5, C6C_0603_1608Metric6100n
6J3PinHeader_2x04_P2.54mm_Vertical1Conn_02x04_Odd_Even
7U2SOP65P490X110-8N1MCP9808-E_MS
8U6, U7SSOP-28_5.3x10.2mm_P0.65mm2MCP23017_SS
9K1, K2, K3, K4, K5, K6, K7, K8, K9, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, K24RM85201135102424RM85-2011-35-1024
10R7, R8, R9, R11, R12, R13, R1, R2, R3R_0603_1608Metric910k
11U1SO-8_3.9x4.9mm_P1.27mm1LM75_SO8
12SW1, SW2, SW3SW_DIP_SPSTx03_Slide_Omron_A6S-310x_W8.9mm_P2.54mm3SW_DIP_x03
13D2, D12, D22, D19, D7, D9, D10, D20, D16, D4, D17, D5, D18, D21, D1, D13, D23, D11, D3, D8, D15, D24, D14, D6D_SMA24LL4148

Repository

Everything about this board you will find here: https://github.com/boneIO-eu/relay_board_24x16A

I2C Configuration

How to find config pins?

On every output board you will find some pins to configure I2C addresses of two MCP23017 expanders and one temperature sensor. In v0.2 it was placed on the top layer of the board, but from v0.3 you will find it on the back side.

i2c Config

To configure address of either mcp or temp sensor you have use dipswitch proper order.

MCP23017 Configuration

Chip AddressA2A1A0I2C Address
000OffOffOff0x20
001OffOffOn0x21
010OffOnOff0x22
011OffOnOn0x23
100OnOffOff0x24
101OnOffOn0x25
110OnOnOff0x26
111OnOnOn0x27

Temp Sensor Configuration

Chip AddressA2A1A0I2C AddressAlternative I2C Address
000OffOffOff0x180x48
001OffOffOn0x190x49
010OffOnOff0x1A0x4A
011OffOnOn0x1B0x4B
100OnOffOff0x1C0x4C
101OnOffOn0x1D0x4D
110OnOnOff0x1E0x4E
111OnOnOn0x1F0x4F

Checking if it works

To check if your configuration works properly you have to use i2cdetect tool

i2cdetect -r -y 2

The output ow this command will be like this:

debian@beaglebone:~$ i2cdetect -y -r 2
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: 20 21 -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- --
40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --