OptoOut8-I2C

From blwiki
Jump to: navigation, search

Eight Channel Optically Isolated Output Card with I2C bus

Tindie-mediums.png

OptoOut8-I2C-X3-CCA-5452-640px.jpg

Features

  • Eight optically-isolated output channels on card
    • (8) 4N2x optoisolators
  • I2C interface
    • MCP23008 I2C Parallel I/O
    • Two Wire interface
    • 100/400 KHZ operation
    • 25mA sink/source capability per I/O
    • Jumper selectable terminators
    • 3-bit address (Jumper selectable) - Up to 8 boards
    • Single 4-pin host interface connector (Ground, Power, Clock, Data)
  • 24LC024 Personality EEPROM
  • 3.3V or 5V operation
  • Compatible with Arduino, Raspberry Pi, BeagleBone Black
  • DB-25 connector for rugged uses
  • 95x95mm form factor
  • (4) 6-32 mounting holes - one on each corner

MCP23008 Block Diagram

MCP23008-Blk-Dia.PNG

Optocoupler Performance

  • DC Current Transfer Ratio

4N28-DC-TransferRatio.PNG

  • Current Transfer ratio curve

4N28-CurrentTransferRatio-curve.PNG

  • LED Current vs voltage

4N28-LED-IvsV.PNG

  • Output transistor capacitance

4N28-OutputCapacitance.PNG

  • Switching Time

4N28-SwitchingTime.PNG

Opto Characteristics
Current Transfer Ratio 10.00% min
Vcc 5 V 3.3 V
Vf(Diode) 1.25 V 1.25 V
Res series LED 330 Ohms 330 Ohms
If (LED) 0.0113636364 A 0.0062121212 A
CTR 0.6 A/A 0.2 A/A
Current Trans CE 0.0068181818 A 0.0012424242 A
Res (load pullup) 4700 Ohms 4700 Ohms
Vce 0.2 V 0.2 V
V load side 5 V 5 V
Iload 0.0010212766 0.0010212766

Connectors

J1 - Power

OptoOut8-I2C-J1-Power-X2.PNG

J2-J3 - I2C

OptoOut8-I2C-J2-I2C-X2.PNG

J4 - I2C Address Select Jumpers

OptoOut8-I2C-J4-AdrSel-X2.PNG

J5 - I2C Termination Jumpers

OptoOut8-I2C-J5-I2C-Terms-X2.PNG

J6 - Card Present/Interrupt

OptoOut8-I2C-J6-Int-Terms-X2.PNG

  1. GND
  2. INT
  3. CP - Card present (pulled low)

J7 - I/O connector

OptoOut8-I2C-X3-CCA-5457-640px.jpg

DB-25 Female

OptoOut8-db25 f.png

OptoOut8-I2C-J7-sch-X2.PNG

Pin Desc _ Pin Desc
1 S7 14 V7
2 G7 15 S6
3 V6 16 G6
4 S5 17 V5
5 G5 18 S4
6 V4 19 G4
7 S3 20 V3
8 G3 21 S2
9 V2 22 G2
10 S1 23 V1
11 G1 24 S0
12 V0 25 G0
13 N/C

Design Validation/First Article Test

Pass Count = 17977, Fail Count = 0
  • Runs ODAS Card Test Software on Arduino Nano
  • Loopback cables
  • USB running puTTY
    • 9600 baud
  • Menu driven
  • Auto-detect card if test has been run before
Checking EEPROM for board type...Detected OptoIn8-I2C board
R=Read EEPROM, W=Write EEPROM, T=Test DIGIOs, L=Loop Test, B=Bounce LEDs
  • Presents card type list for un-programmed EEPROMs
Checking EEPROM for board type...Company Mismatch
Select the board type
1 - DIGIO16-I2C board
2 - DIGIO-128 board
3 - OptoIn8-I2C board
4 - OptoOut8-I2C board
5 - DIGIO32-I2C board
6 - PROTO16-I2C board
7 - ODAS-PSOC5 board
8 - TBD board
9 - TBD board
Select board > 
  • Select board
Select board > 3
Writing EEPROM
Initializing eep buffer
len of buffer=96
reading block
Family=ODAS
Company=land.boards.com
  • Test 'T'
  • Fail (no cable)
OptoIn8-I2C failed HIGH on bit 1
Read back on  1
OptoIn8-I2C failed HIGH on bit 2
Read back on  2
OptoIn8-I2C failed HIGH on bit 4
Read back on  4
OptoIn8-I2C failed HIGH on bit 8
Read back on  8
OptoIn8-I2C failed HIGH on bit 16
Read back on  16
OptoIn8-I2C failed HIGH on bit 32
Read back on  32
OptoIn8-I2C failed HIGH on bit 64
Read back on  64
OptoIn8-I2C failed HIGH on bit 128
Read back on  128
Loopback Test PASS = 0, FAIL = 1
  • PassChecking EEPROM for board type...Detected OptoIn8-I2C board
R=Read EEPROM, W=Write EEPROM, T=Test DIGIOs, L=Loop Test, B=Bounce LEDs
Loopback Test PASS = 1, FAIL = 0

Production Tests

Test Station Set-up / Operation

  • Uses ODAS Test Station V2
  • Test Station controls/read the Opto outputs via the DIGIO32 card in the Test Station
  • Puts out 8 bits on OptoOut8-I2C card
  • Reads the 8 bits on DIGIO32 card
  • There are three lines per Channel that need to be connected:
  • Ground (Gx), Power (Vx), Open Collector Output (Sx)
  • If the LED is not being driven, the Open Collector output will be pulled up
  • Wire Grounds to Digio32 channels 0-7
  • Wire Powers to Digio32 channels 8-15
  • Wire Signals to Digio32 channels 16-23
  • Resistors can be checked by setting the Power line high and checking the OC outputs
  • OptoOut card is stimulated by writing to its I2C interface
  • Verify that the Optos work

Test Steps

  • Attach Host Computer USB to the Arduino NANO on the Test Station
  • Run puTTY on the Host Computer
  • Program should prompt for the Card type or autodetect if the EEPROM on the card was already programmed
  • Select Card Tests = "C"
  • Select Run Tests = "T"
  • Observe test results

Revision History

Revision X4

  • Move DB-25 mounting hole to center of pins

Revision X3

  • Move DB-25 left

Revision X2

  • Added I2C terminators and jumpers
  • Added Write enable jumper

Layout Rev x2

OptoOut8-I2C-layout-X2.PNG

Revision X1

  • J5 pin 1 indicator needs to be moved

OPTO8-OUT-I2C REV X1

Assembly Sheet

OPTO8-OUT-I2C REV X2 Assembly Sheet