PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : I/O Ports am I2C Bus - Geht das ( USC008 Board )



uli88
09.03.2005, 09:45
Hi,

momentan habe ich an meinem PC einen PC nach I2C Adapter und steuere damit ein RN-Motor Board. Das alleinige ansteuern der Motoren genügt mir aber nicht, ich möchte z.B die Betätigung von bis zu 4 Endschaltern einlesen können oder auch einen Auswerfer betätigen. Was ich brauche ist also ein I/O – Board das I2C-Bus fähig ist.

Auf meiner Suche bin ich auf folgendes Produkt gestoßen ( USC008 Board ):

http://shop.embedit.de/product__145.php

Meine Frage:
1. Eignet sich dieses Board für meine oben beschriebenen Anforderungen (4xInput, 1xOutput)?
2. Kann dieses Board mittels I2C-Bus gesteuert werden oder muss es per RS232 gesteuert werden
3. Wenn es per RS232 steuerbar ist, könnte ich es dann quasi als Adapter von PC nach I2C verwenden und sowohl die I/O Funktionen nutzen , als auch so das RN-Motor Board steuern?

Ich habe einfach zu wenig praktische Erfahrung um das mit Sicherheit beurteilen zu können?

Mit freundlichen Grüßen
Uli

11.03.2005, 19:58
Du brauchst eigentlich nur eine I2C Porterweiterung. Die gibt es auch bei shop.embedit.de (allerdings nur SMD). Ein komplexes Board mit Microprozessor ist für diesen Zweck nicht nötig.

uli88
11.03.2005, 21:44
der Begriff I2C Porterweiterung bringt mich vermutlich weiter! Ich habe schon diverse Module gefunden, manche dienen aber nur zur Ausgabe. Ich suche noch ein wenig, ich möchte es halt ohne umbauarbeiten direkt mit dem 10-Poligen Flachbandkabel meines PC nach I2C-Adapters verbinden können.

Danke!
Uli

vish
12.03.2005, 09:48
Hallo!

Was hälst du vom PCF 8574?
Der hat 8 Eingabe bzw. Ausgabe Ports, die mit max. 25 mA belastbar sind.
Er hat sogar einen Interrupt Pin, wenn ein Eingang von Hi nach Lo wechselt oder anders herum. Ist also bestens für den Roboternetzstandard geeignet.
Kaufen kannst du den zum Beispiel bei Reichelt für 1.75 € (DIP 16 Version).

Grüße,
Jonas

uli88
12.03.2005, 10:43
Hallo vish,

ja genau, auf den Baustein bin ich auch gestoßen! Unter:
http://www.the-starbearer.de/Roboterelektronik/i%B2c/PCF8574/pcfporterweiterung.htm findet sich auch eine Schaltug dazu, jedoch finde ich keine Infos wie die Schaltung im Detail aufgebaut ist und um selbst den Baustein zum laufen zu bringen fehlt mir die Erfahrung. Am liebsten wäre mir eine Schaltung an die ich gleich den 2x5-Poligen Stecker meines I2C-Kabels anstecken kann.

Uli

vish
12.03.2005, 16:02
Hallo Uli!

Schau dir für die genaue Beschaltung am besten mal das hier an:
http://www.the-starbearer.de/Roboterelektronik/LCDDisplays/LCDanI2C.jpg
Das LCD kannst du natürlich weglassen.
SCL und SDA sind der I²C bus, also an die entsprechenden Pins am Wannenstecker / µC.
INT ist die Interruptleitung, die auch bei deinem Wannenstecker zu finden sein dürfte. (Ich nehme an, dein I²C Bussystem ist nach dem Roboternetzstandard aufgebaut)
Den Rest kann nun einfach nachgebaut werden.
Leider weiß ich nicht, wie man die Pull ups anschließen soll, damit man eine normale LED an den Ausgangspin bekommt.
Wäre gut, wenn sich dazu mal jemand äußern könnte.

Grüße,
Jonas

uli88
12.03.2005, 17:43
Danke vish,

Du hast recht, mein I²C Bussystem ist nach dem Roboternetzstandard aufgebaut.
wenn das wirklich so einfach ist wie die Schaltung zum LCDDisplay zeigt, werde ich mich mal mit dem PCF 8574 beschäftigen, das Datenblatt habe ich! das Prinzip der Pullups habe ich bereits verstanden und deren Dimensionierung kann ich vielleicht von ähnlichen Schaltungen die mit dem PCF 8574 arbeiten ableiten.

MfG
Uli

vish
12.03.2005, 18:10
Hi Uli!

Könntest du mir das mit den Pullups vielleicht erklären? Weil ich hab das noch nicht so wirklich verstanden, wie ich die jetzt am PCF 8574 anschließen muss! Wäre wirklich nett!

Grüße,
Jonas

uli88
12.03.2005, 18:58
Einen PullUp verwendet man im Zusammenhang mit Transistoren und zwar dann, wenn an einem Transistor eine zu geringe Last hängt (also ein Verbraucher mit geringem ohmschen Widerstand) um den Transistor durchzuschalten. Verwendet man einen PullUp, so stellt dieser den erforderlichen Widerstand dar, der dann den Transistor veranlasst durchzuschalten und dann den eigentlichen Verbraucher versorgt.

Ein Ausgang des PCF8574 ist wohl solch ein Transistor, wie Du einen Widerstand als Pull-Up am Transistor verwenden kannst, zeigt z.B. das 2. Bild auf dieser Seite:
http://320027039581.bei.t-online.de/elektronik/i2c_startup_board/i2c_bus_startup_board.htm

Ich glaube Widerstandswerte zwischen 1kOhm und 10kOhm haben sich hierfür als günstig erwiesen. Ich würde es ausprobieren und solange den Widerstand verändern bis die gewünschte Spannung an Deinem Verbraucher anliegt (ohne Gewähr).

Ob meine Beschreibung nun 100%-ig Korrekt war kann ich Dir nicht sagen, das was ich glaube verstanden zu haben, gebe ich halt mit eigenen Worten wieder.

Zum Thema Pull-Up hatte ich hier mal eine Frage gestellt:
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=7184&highlight=uli+pull+up , in den Antworten finden sich auch Berechnungsbeispiele zu Pull-Up Widerständen.

Uli

vish
12.03.2005, 19:36
Hey, vielen Dank, jetzt ist mir die ganze Angelegenheit schon viel klarer geworden.
Das heißt dann jetzt, dass ich meine LED jetzt wie auf dem Bild gezeigt anschließen kann?

Grüße,
Jonas

Sandro
16.03.2005, 02:06
Hallo Jonas

Den Wiederstand R1 in deiner Schaltung kannst du entfallen lassen. Zum anschluß einer LED brauchst du einfach einen Vorwiderstand (R2 in deiner Schaltung). Kannst du einfach mit dem Ohmschen Gesetz berechnen.
R=U/I
Dazu musst du wissen welche Spannung an der LED bei dem gewünschten Strom abfällt (steht im Datenblatt). Normalerweise zwischen 1,7V bis 2,2V.
Die Spannung(U) die du in die Formel oben eintragen mußt ist die Betriebsspannung (normalerweise 5V) - den Spannungsabfall an der LED - ca. 0,7V (diese Spannung fällt an dem Transistor ab). Den Strom(I) mußt du selbst bestimmen. Bei Low-Current LEDs ca. 2mA, bei normalen ca. 20mA.

Sehr gute Infos zu solchen Grundlagen findet man bei http://www.elektronik-kompendium.de (http://www.elektronik-kompendium.de)

Hoffe das hilft weiter.

MfG

Sandro

vish
16.03.2005, 13:20
Hallo Sandro!

Vielen Dank! Dann hoffe ich mal, dass meine Reicheltbestellung mich heute erreicht, sonst wird mir so langweilig! :)

Grüße,
Jonas