-
-
Erfahrener Benutzer
Fleißiges Mitglied
Anschluss I2C
Hallo
Ich habe das RN-Mega 128 Funkboard von Robotikhardware. Daran habe ich ein Beschleunigungsensor angeschlossen.
http://www.lipoly.de/index.php?main_...oducts_id=5612
Den SCL / SDA Anschluss des Sensors habe ich an die des Controller angeschlossen und an den VDD Anschluss des Sensors habe ich 2,5 V dran und an den GND Anschluss des Sensors habe ich - dran.
Wie muss man da jetzt den Pullup Widerstand anschliessen? Wo kommt der hin?
-
Erfahrener Benutzer
Roboter-Spezialist
Hallo,
beim I2C-Bus kommen die Pullups von SCL/SDA an +3,3V bzw. +5,0V.
Gruss Klaus.
-
Erfahrener Benutzer
Robotik Einstein
Und der Controller läuft auch mit 2,5V? Ansonsten brauchst Du wohl noch einen Pegelwandler, da der Chip nach erstem Überfliegen des Datenblattes nicht 3,3- bzw 5V-tolerant ist.
-
Erfahrener Benutzer
Fleißiges Mitglied
Antwort
Hallo,
Ja habe die 5V runtergeregelt.
Wie genau müssen aber jetzt die Widerstände. Ich habe 2 Kabels, die gehen von dem Controllerboard aus zu einem Regler, der das auf 2,5 V regelt. Von dort gehen zwei Kabels zu VDD und GND des Sensors. Dann habe ich zwei kabel die gehen von dem Sensor SCL/SDA zu dem SCL/SDA Anschluss des Board.
Soll der Widerstand von dem SCL/SDA Anschluss des Boards zur 2,5V oder beim Sensor?
-
Erfahrener Benutzer
Robotik Einstein
Ich meinte nicht die Sensor-Vcc, sondern den Pegel der Datenleitungen. Die Widerstände müssen an die Sensor-Vcc, also 2,5V. Wenn Dein Controller mit 5V läuft, stehen die Chancen gut, dass er ein high vom Sensor (sprich 2,5V über den Pullup) nicht sicher als high wahrnimmt, daher mein Hinweis auf Pegelwandler. Wenn der Controller einen dedizierten I2C-Controller hat, also nicht Portleitungen mit bit-bang benutzt werden, sollten die Ausgänge wohl tatsächlich Open Collector bzw Open Drain sein, zumindest aber kein 5V-"high" auf die I2C-Leitungen schicken. Dies alles wäre noch zu klären...
-
Erfahrener Benutzer
Fleißiges Mitglied
Antwort
Hallo
Ok jetzt ist klar.
Habe aber in der Anleitung des Boards folgendes gesehen:
http://www.robotikhardware.de/downlo...ega128funk.pdf
SJ1 und SJ2 I2C Pullup-Widerstände
Der I2C-Bus funktioniert nur korrekt, wenn zwei Pullup-Widerstände zwischen +5V und den I2C Leitungen SDA und SCL liegen. Oft machen dies bereits angeschlossene I2C-Boards, in diesm Fall ist das bei RN-Mega128Funk nicht mehr notwendig. Sollte dieses jedoch kein
angeschlossenes Board machen, müssen diese beiden Lötbrücken jeweils mit einem Tropfen Lötzinn geschlossen werden.
Ich müsste da doch einfach Löten und dann hätte ich doch den Pullup Widerstand. Oder? Habe diese Anschlüsse aber nicht gefunden.
Könntet Ihr mir da weiterhelfen?
-
Erfahrener Benutzer
Robotik Einstein
Damit hast Du immer noch unzulässig hohen high-Pegel am Sensor (was gut gehen mag, weil die Spannung durch die Eingangsschutzdioden begrenzt wird - ist aber unsauber und out-of-specs) und vor allem kein sicher auswertbares high vom Sensor und Controller.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen