The component parts used in Exponiert
I2C 16 bit I/O PCA9532
This IC has two built in PWM 0.5..127Hz useful for blinking and dimming. But it needs a lot of parts around to work properly:
- 100nF VDD-GND is neccessary to prevent frequent resets.
- At inputs, use 1K pull down to GND to avoid floating signals.
- For logic level output (driver, logic chip) use 1k Pull Up to 5V.
- Every I/O with a wire or even test probe needs 1nF to GND or the IC might reset when stray radiation is nearby. The 1nF does not harm PWM even if frequency is 127 Hz.
Switch everything off:
$ i2cset -y 1 0x60 0x06 0x00
LED 0 and LED 1 full on:
$ i2cset -y 1 0x60 0x06 0x05
LED 0 and LED 1 blink:
$ i2cset -y 1 0x60 0x02 0xaa
$ i2cset -y 1 0x60 0x06 0x0a
Other I2C I/O ICs not used in Exponiert
PCA9555: This 16 bit I/O IC has built in Pull Up resistors useful for inputs and logic outputs. All the resistors around PCA9532 are not needed for PCA9555! But there is no PWM.
Set all leads of Port 0 to Output:
$ i2cset -y 1 0x20 0x06 0x00
Switch on all leads of Port 0:
$ i2cset -y 1 0x20 0x02 0x00
Switch off all leads of Port 0:
$ i2cset -y 1 0x20 0x02 0xff
PCF 8574: 8 bit I/O that works if you need only a few ports
MCP23018: Another 16 bit I/O, not tested
Driver
Both drivers described here can be used on Exponiert Digital Board.
ULN 2803: 8 Darlington array, switches GND with 50V 500mA. The output switches down to about 0.8V above GND.
A 2982, TD62783, UDN 2981: 8x 500mA 50V driver switching VDD(!), needed for multi color LEDs with common minus (cathode). Some relais boards or 7 segment LED matrix displays need switched plus, too. The chip has a very high Collector Emitter Saturation of 1.6V! You will get 1.6V less than the supplied voltage!
Caution: The drivers described here will invert the output! If default off is needed, put a logic inverter between the driver and I2C I/O IC.
Inverter 74HC540
If you need outputs that start switched off, use an inverter 74HC540 between I2C I/O chip and driver. There is no space for an inverter on Digital Board.
Other Drivers not used in Exponiert
TC4420: Switches only one channel but 18V 6A. Not tested.
EL7212: Two inverted(!) outputs 16V 2A. The inverter is useful if you have motors that should not run on power on.
Motor drivers not used in Exponiert
Full Bridge HIP4081 (Reichelt), TTL Input, 95 V 3 A
Full Bridge L 298 (Reichelt, Reichelt), 46 V 2 A
Single Mosfet TC4420 (Reichelt) Inverted TTL Input, 18 V 6 A
2 Channel Amp EL7202, EL7212, EL7222
Inverted TTL Input, 15 V 2 A
Analog Digital converter PCF8591
Two of these SOIC-16 A/Ds are on the Analog Board containing 4 analog inputs 0..5V each and 1 analog output 0..5V each.
read input 0 of 4
i2cget -y 1 0x4f 0x00
set output ON and 0..5V
i2cset -y 1 0x4f 0x40 0x00
i2cset -y 1 0x4f 0x40 0x77
I2C Bus Buffer PCA9600
The long distance part of I2C bus is very robust because of its high currents. 5 V and only 220 Ohm Pull Up! The boards have regular 5 V I2C with 2200 Ohm Pull Up. The breakout board uses the 3.3 V I2C provided by Raspberry Pi.
This chip is zechnically better than P82B96. It amplifies the I2C signal and current between the boards. The Exponiert bus is I2C at 5 V but with higher currents of 23 mA.
Dual Schottky Diodes BAT 54A are at each end of the long wire Exponiert bus. They should damp oscillations on the long range I2C bus by cutting below 0 V. Without high frequency oscilloscope, it was not possible to test the diode's effect.
The Breakout board contains the 220 Ω pull up resistors for the long range wire at 5 V. Exponiert bus has 5 V / 220 Ω = 23 mA current. Our tests showed this is enough for 20 m bus wires.
Digital and Analog boards have an onboard standard I2C bus. It uses 2.2 kΩ resistors for 5 V / 2.2 kΩ = 2.3 mA bus current.
Power LED
The power LED on each board is 0805 2mA green.
Din Connector
Lumberg TM 0508 A/4: For Exponiert Bus
Or use any panel mounted 4 pin Mini Din socket and wires to the board.
Rotary Encoder
The usual 2 bit Quadrature encoders need very fast sampling rates the I2C bus can hardly achieve. Use absolute encoders instead with 3, 4 or even 8 bit gray code.
Bourns EAW0J-B24-AE0128L: 128 Stufen pro Umdrehung, keine spürbaren Rastung, benötigt 8 Eingangs-Bits
Alps Alpine EC18AGA20402: 12 Stufen pro Umdrehung, deutliches Einrasten, benötigt 4 Eingangs-Bits
Pin Headers
There are a lot pin headers. Raspi GPIO, I2C address selector, Inputs, Outputs, Power supply. They all are in 2.54 mm grid.
Resistors, Capacitors
All resistors and capacitors are 0805. Except the large electrolytic capacitor on the external power supply of digital board.
Fuse
The Raspberry Pi has no internal fuse at GPIO according to the schematic. The breakout Board has a 1A SMD fuse 2410 (6125 Metric) for 5 V power supply. The I2C pins don't have a fuse as they are decoupled by PCA9600.
Text: The MIT License 2021 Kastanie Eins GmbH