Y.A.R.D. - IO Expander

stellt Ihnen acht zusätzliche Ausgabeports am I2C-Bus der Y.A.R.D.-Hardware zur Verfügung. Durch eine veränderbare Adresse können bis zu 8 dieser Expander am Bus betrieben werden, die völlig unabhängig voneinander funktionieren. Daher stehen Ihnen bis zu 64 steuerbare Ausgabeleitungen zur Verfügung.

Die Ausgangspannung der Ports hängt dabei von der zur Verfügung stehenden Gleichspannung ab, diese kann bis zu 30V betragen. Jeder Ausgang kann einen Dauerstrom von 500mA liefern. Auch der Anschluss von induktiven Lasten kann ohne weitere Vorkehrungen erfolgen, da der verwendete Treiberschaltkreis (ULN2803A) bereits Freilaufdioden enthält.
Der Anschluss der Versorgungsspannung erfolgt dabei an den Schraubklemmen 9 und 10. Wobei 9 +Ub ist und 10 Masse. Die restlichen Schraubklemmen stellen Paarweise jeweils einen Ausgang dar.

Achtung: Bisher hab ich die Schaltung noch nicht aufgebaut, kann daher noch nicht abschließend sagen ob das wirklich funktioniert. Außerdem muß dafür die Firmware von Y.A.R.D. aktualisiert werden, da es sich als praktischer erwiesen hat - am I2C Ausgang die SDA & SCL Leitungen zu tauschen, um das Boardlayout zu vereinfachen.
Werde demnächst bei Reichlt mal die notwendigen Bauteile Ordnern und eine Sample zusammenlöten.

Über einen Jumper auf JP1 der Pin 1 mit Pin 2 oder Pin 3 mit Pin 2 verbindet, kann festgelegt werden, ob der I2C IO Baustein auch bei ausgeschaltetem PC weiterhin mit Strom versorgt wird und somit seinen Zustand beibehält.
Platzieren sie einen Jumper zwischen Pin 1 und Pin 2 - so wird der IO-Baustein mit Standby Spannung versorgt und behält seinen Zustand bei. Wenn der Jumper zwischen Pin 2 und Pin 3 platziert ist verliert der IO-Baustein seine Konfiguration Beim herunterfahren / ausschalten des PC.
Achtung: Die Stromversorgung steht nur zur Verfügung wenn zur Verbindung von Y.A.R.D. mit IO-Expander ein zehn poliges Flachbandkabel welches 1:1 belegt ist verwendet wird! Bei Verwendung eines dreiadrigen Kabels mit JP2 muß die Spannungsversorgung auf einem anderen Weg hergestellt werden. Der IO-Baustein muß dabei zwingend mit stabilisierten +5V versorgt werden.

Änderung 28.08.2005 - zusätzlich die Konnektoren JP4 und JP5 eingebaut, damit können die Anschlüsse auch als Eingänge für TTL (5V) Pegel verwendet werden und gleichzeitig steht das Signal nochmal stärker belastbar am Ausgang des ULN2803 zur Verfügung. Da jeder Flankenwechsel einer der Pins von JP4, JP5 einen Interrupt auslöst, wurde der Konnektor JP6 eingefügt - dieser kann direkt mit dem Konnektor JP7 von Y.A.R.D. Standard verbunden werden. Darüber kann dann auch direkt die Stromversorgung erfolgen. Jedesmal wenn dann ein Eingang seinen Pegel verändert - wird ein Pseudo IR-Event ausgelöst woraufhin, dann der Zustand der IO Pins neu ausgelesen werden kann, um zu prüfen welcher Pegel sich verändert hat.

Zur Sicherheit habe ich der Schaltung eine Feinsicherungshalter spendiert - der mit einer 4A bzw. 5A Sicherung versehen werden sollte. (wenn man von 8 x 0,5A Last ausgeht)

Zum Einstellen der Adresse des Gerätes am I2C Bus dienen die Jumper auf JP3 dabei können folgende Adressen konfiguriert werden.

JP3.1 JP3.2 JP3.3 Adresse (hex) 8574 / 8574A
O O O 32 (0x20) / 56 (0x38)
C O O 36 (0x24) / 60 (0x3C)
O C O 34 (0x22) / 58 (0x3A)
C C O 38 (0x26) / 62 (0x3E)
O O C 33 (0x21) / 57 (0x39)
C O C 37 (0x25) / 61 (0x3D)
O C C 35 (0x23) / 59 (0x3B)
C C C 39 (0x27) / 63 (0x3F)

Erklärung der Tabelle
C = Closed d.h. Jumper gesteckt
O = Open d.h. kein Jumper gesteckt.

Achtung von dem Baustein: PCF8574 gibt es verschiedene Varianten, die jeweils eine andere Basisadresse verwenden. Daher schaut bitte im Datenblatt nach welche Variante Ihr erworben habt.

Als Indikator für den Zustand der Ausgänge habe ich die Leuchtdioden LED1 bis LED8 vorgesehen, welchen Typ Ihr dafür nehmt ist eigentlich egal, nur solltet Ihr die Widerstände R2 bis R9 in Abhängigkeit der Verwendeten externen Versorgungspannung wählen. Hier mal ne Tabelle mit einigen Beispielwerten:

Spannung Widerstand
+5V 220 Ohm /330 Ohm
+9V 500 Ohm /750 Ohm /1k
+12V 1k /1,1k

(Die Widerstände stellen If (Flusstrom) auf 10-15mA ein - solltet Ihr LowCurrent Leds verwenden müssen die Widerstände etwa 5 mal so groß sein wie in der Tabelle angegeben.)


Kosten

Natürlich ist auch das nicht umsonst, daher hier mal die Preise für die notwendigen Komponenten. (Von Reichelt 7.8.2005)
Leiterplatte 100x75 (Bungard) 0,92 EUR
ULN2803A 0,40 EUR
PCF8574P 1,75 EUR
9xRv (LEDS) weniger als 0,80 EUR
C2-100nf 0,07 EUR
C1-470µF 0,20 EUR
8xLEDS 0,40 EUR
Sicherungsclip 0,20-0,30 EUR
Schraubklemmen 1x8, 1x10 0,66 EUR bzw. 0,53 EUR
Sicherung 4/5A 0,07 EUR

Alles zusammen ca.: 6,00 EUR + Kosten für Stiftleisten und Jumper (dürfte weniger als 1,50 EUR ausmachen)


Hier schonmal der Link zum Schaltplan und Leiterplattenentwurf.
Ältere Schaltpläne und ein Changelog findet Ihr im Downloadsbreich.





Home Firmware Clientsoftware Hardware Teileliste Preisliste Downloads Impressum
Y.A.R.D. - IO Expander

Y.A.R.D. - IO Expander

stellt Ihnen acht zusätzliche Ausgabeports am I2C-Bus der Y.A.R.D.-Hardware zur Verfügung. Durch eine veränderbare Adresse können bis zu 8 dieser Expander am Bus betrieben werden, die völlig unabhängig voneinander funktionieren. Daher stehen Ihnen bis zu 64 steuerbare Ausgabeleitungen zur Verfügung.

Die Ausgangspannung der Ports hängt dabei von der zur Verfügung stehenden Gleichspannung ab, diese kann bis zu 30V betragen. Jeder Ausgang kann einen Dauerstrom von 500mA liefern. Auch der Anschluss von induktiven Lasten kann ohne weitere Vorkehrungen erfolgen, da der verwendete Treiberschaltkreis (ULN2803A) bereits Freilaufdioden enthält.
Der Anschluss der Versorgungsspannung erfolgt dabei an den Schraubklemmen 9 und 10. Wobei 9 +Ub ist und 10 Masse. Die restlichen Schraubklemmen stellen Paarweise jeweils einen Ausgang dar.

Achtung: Bisher hab ich die Schaltung noch nicht aufgebaut, kann daher noch nicht abschließend sagen ob das wirklich funktioniert. Außerdem muß dafür die Firmware von Y.A.R.D. aktualisiert werden, da es sich als praktischer erwiesen hat - am I2C Ausgang die SDA & SCL Leitungen zu tauschen, um das Boardlayout zu vereinfachen.
Werde demnächst bei Reichlt mal die notwendigen Bauteile Ordnern und eine Sample zusammenlöten.

Über einen Jumper auf JP1 der Pin 1 mit Pin 2 oder Pin 3 mit Pin 2 verbindet, kann festgelegt werden, ob der I2C IO Baustein auch bei ausgeschaltetem PC weiterhin mit Strom versorgt wird und somit seinen Zustand beibehält.
Platzieren sie einen Jumper zwischen Pin 1 und Pin 2 - so wird der IO-Baustein mit Standby Spannung versorgt und behält seinen Zustand bei. Wenn der Jumper zwischen Pin 2 und Pin 3 platziert ist verliert der IO-Baustein seine Konfiguration Beim herunterfahren / ausschalten des PC.
Achtung: Die Stromversorgung steht nur zur Verfügung wenn zur Verbindung von Y.A.R.D. mit IO-Expander ein zehn poliges Flachbandkabel welches 1:1 belegt ist verwendet wird! Bei Verwendung eines dreiadrigen Kabels mit JP2 muß die Spannungsversorgung auf einem anderen Weg hergestellt werden. Der IO-Baustein muß dabei zwingend mit stabilisierten +5V versorgt werden.

Änderung 28.08.2005 - zusätzlich die Konnektoren JP4 und JP5 eingebaut, damit können die Anschlüsse auch als Eingänge für TTL (5V) Pegel verwendet werden und gleichzeitig steht das Signal nochmal stärker belastbar am Ausgang des ULN2803 zur Verfügung. Da jeder Flankenwechsel einer der Pins von JP4, JP5 einen Interrupt auslöst, wurde der Konnektor JP6 eingefügt - dieser kann direkt mit dem Konnektor JP7 von Y.A.R.D. Standard verbunden werden. Darüber kann dann auch direkt die Stromversorgung erfolgen. Jedesmal wenn dann ein Eingang seinen Pegel verändert - wird ein Pseudo IR-Event ausgelöst woraufhin, dann der Zustand der IO Pins neu ausgelesen werden kann, um zu prüfen welcher Pegel sich verändert hat.

Zur Sicherheit habe ich der Schaltung eine Feinsicherungshalter spendiert - der mit einer 4A bzw. 5A Sicherung versehen werden sollte. (wenn man von 8 x 0,5A Last ausgeht)

Zum Einstellen der Adresse des Gerätes am I2C Bus dienen die Jumper auf JP3 dabei können folgende Adressen konfiguriert werden.

JP3.1 JP3.2 JP3.3 Adresse (hex) 8574 / 8574A
O O O 32 (0x20) / 56 (0x38)
C O O 36 (0x24) / 60 (0x3C)
O C O 34 (0x22) / 58 (0x3A)
C C O 38 (0x26) / 62 (0x3E)
O O C 33 (0x21) / 57 (0x39)
C O C 37 (0x25) / 61 (0x3D)
O C C 35 (0x23) / 59 (0x3B)
C C C 39 (0x27) / 63 (0x3F)

Erklärung der Tabelle
C = Closed d.h. Jumper gesteckt
O = Open d.h. kein Jumper gesteckt.

Achtung von dem Baustein: PCF8574 gibt es verschiedene Varianten, die jeweils eine andere Basisadresse verwenden. Daher schaut bitte im Datenblatt nach welche Variante Ihr erworben habt.

Als Indikator für den Zustand der Ausgänge habe ich die Leuchtdioden LED1 bis LED8 vorgesehen, welchen Typ Ihr dafür nehmt ist eigentlich egal, nur solltet Ihr die Widerstände R2 bis R9 in Abhängigkeit der Verwendeten externen Versorgungspannung wählen. Hier mal ne Tabelle mit einigen Beispielwerten:

Spannung Widerstand
+5V 220 Ohm /330 Ohm
+9V 500 Ohm /750 Ohm /1k
+12V 1k /1,1k

(Die Widerstände stellen If (Flusstrom) auf 10-15mA ein - solltet Ihr LowCurrent Leds verwenden müssen die Widerstände etwa 5 mal so groß sein wie in der Tabelle angegeben.)


Kosten

Natürlich ist auch das nicht umsonst, daher hier mal die Preise für die notwendigen Komponenten. (Von Reichelt 7.8.2005)
Leiterplatte 100x75 (Bungard) 0,92 EUR
ULN2803A 0,40 EUR
PCF8574P 1,75 EUR
9xRv (LEDS) weniger als 0,80 EUR
C2-100nf 0,07 EUR
C1-470µF 0,20 EUR
8xLEDS 0,40 EUR
Sicherungsclip 0,20-0,30 EUR
Schraubklemmen 1x8, 1x10 0,66 EUR bzw. 0,53 EUR
Sicherung 4/5A 0,07 EUR

Alles zusammen ca.: 6,00 EUR + Kosten für Stiftleisten und Jumper (dürfte weniger als 1,50 EUR ausmachen)


Hier schonmal der Link zum Schaltplan und Leiterplattenentwurf.
Ältere Schaltpläne und ein Changelog findet Ihr im Downloadsbreich.





Home Firmware Clientsoftware Hardware Teileliste Preisliste Downloads Impressum