Hallo, ich benötige mal etwas Hilfe bei einem Projekt. Die Idee ist, einen Raspberry pi mit dem 7“ Touchscreen von Pollin als Bedienkonsole einzusetzen. Über diese sollen dann ATMEGA 8 o.ä. angesteuert werden, die die einzelnen Funktionen (z.B. Servoansteuerung, Lichteffekte) auslösen. Der pi soll mit den ATMEGA über einen I²C Bus verbunden werden. Der Bus soll als Linie aufgebaut werden, wobei die max. Länge ca. 1m beträgt und es zum Schluss nicht mehr als 10 Teilnehmer sein werden. Zum einfachen Aufbau will ich handelsübliche Netzwerkkabel zur Verbindung einsetzen. Die Datenmenge auf dem Bus wird sehr gering sein, da ich pro angeschlossenen „Station“ eigentlich nur ein Byte Daten übertragen muss. Da dabei auch nichts zeitkritisch ist, kann die Taktrate sehr niedrig sein (10kHz). Ich will für den pi und den Touchscreen eine Art Bedienpult bauen und dort auch eine kleine Platine unterbringen, die die Stromversorgung der einzelnen Teile (12V für den Touchscreen, 5V für den pi und einen USB-Hub) und die Pegelanpassung des I²C Buses trägt. Für Letztere möchte ich einen PCA9515 Repeater verwenden. Beiliegend die Schaltung, die mir vorschwebt. Und dazu habe ich zwei Fragen. 1) Ich werde aus dem Datenblatt des PCA9515 nicht ganz schlau, was die Dimensionierung der Pull-up Widerstände für den Bus betrifft. Kann mir jemand sagen, ob ich die Widerstände R2…R5 richtig dimensioniert habe? 2) Die angeschlossenen „Stationen“ mit den ATMEGA sollen jeweils eigene Spannungsversorgungen erhalten. GND will ich im gesamten System verbinden. Kann es dabei zu Problemen kommen, weil ja die 5V „Busspannung“ von der Versorgung des pi kommen? Oder ist es nötig, den Bus galvanisch zu trennen? Allerdings habe ich da nicht wirklich eine einfache und zuverlässige Lösung gefunden… Es wäre nett, wenn mir jemand weiter helfen könnte.
5V-Busspannung solltest du tunlichst vermeiden, wenn die Himbeere das überleben soll. Außerdem sind auf der Platine des Raspberry an den I2C-Pins bereits Pullups nach 3V3 verbaut, die sollten langen ;)
R2 und R3 müssen weg, die sind auf dem Pi. Wo die Versorgung für den PCA9515 herkommt ist egal, die Busausgänge sind alle OC, die Busspannung wird über die PullUps festgelegt und die sitzen auf dem Pi gegen 3,3Volt.
Julian S. schrieb: > 5V-Busspannung solltest du tunlichst vermeiden Den PCA9515 will ich ja verwenden, um die 3,3V Busspannung des pi auf die 5V Busspannung der ATMAGA anzupassen. Oder habe ich da einen Denkfehler? Das der pi schon interne Pull-us's für den Bus hat, muss ich überlesen haben. Oliver R. schrieb: > Wo die Versorgung für den PCA9515 herkommt ist egal Im Datenblatt ist die Vcc von der 3,3V Seite genommen worden. Aber wenn das egal ist, komme ich wahrscheinlich besser, wenn ich den PCA9515 gleich mit 5V versorge. Dann hängt er versorgungsmäßig nicht am pi. Oder kann das schiefgehen?
Jenny Lo. schrieb: > Den PCA9515 will ich ja verwenden, um die 3,3V Busspannung des pi auf > die 5V Busspannung der ATMAGA anzupassen. Oder habe ich da einen > Denkfehler? Achja, da habe ich nicht geschaltet. Passt schon. Es würde aber auch einfach ein Fet genügen, da braucht es nicht extra einen IC.
Julian S. schrieb: > Es würde aber auch > einfach ein Fet genügen, da braucht es nicht extra einen IC. Nein. Bei I²C sind beide Leitungen bidirektional, da ist schon etwas mehr Aufwand nötig. Und auf der Slave-seitigen (5v-seitigen) Seite des PCA9515 müssen natürlich wieder pullups angebracht werden, diesmal gegen 5V. Siehe hier: http://www.nxp.com/documents/data_sheet/PCA9515.pdf Bild4 rechte Seite. Und die würd ich gerade so klein bemessen dass der maximale Strom nicht größer wird als der schwächste Slave am Bus ihn noch treiben kann. 2k wäre ne gesunde Zahl, der Atmega kann 25mA locker versenken, wenn die Leitung länger wird oder die Taktrate höher kann man evtl sogar noch weiter runtergehen.
:
Bearbeitet durch User
> Nein. Bei I²C sind beide Leitungen bidirektional, da ist schon etwas > mehr Aufwand nötig. Ok, du hast Recht. Man braucht noch zwei Widerstände (von denen einer bereits verbaut ist)
Julian S. schrieb: > Man braucht noch zwei Widerstände Das verstehe ich jetzt nicht. Zusätzlich zu den von mir gezeichneten?
Jenny_Lo schrieb: > Julian S. schrieb: >> Man braucht noch zwei Widerstände > > Das verstehe ich jetzt nicht. Zusätzlich zu den von mir gezeichneten? Nein, zusätzlich zum FET.
Julian S. schrieb: >> Nein. Bei I²C sind beide Leitungen bidirektional, da ist schon etwas >> mehr Aufwand nötig. > > Ok, du hast Recht. Man braucht noch zwei Widerstände (von denen einer > bereits verbaut ist) Ja, das ist natürlich eine clevere Schaltung, daran hab ich nicht gedacht. So gehts auch.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.