Forum: Mikrocontroller und Digitale Elektronik Raspberry mit RS485 OneWire


von Benjamin (Gast)


Angehängte Dateien:

Lesenswert?

Hallo liebe Forengemeinde.

Ich automatisiere zur Zeit mittels Raspberry und Fhem mein Heim. Leider 
hat der Raspberry nicht alle Schnittstellen zur Verfügung, und da ich 
Spaß am basteln habe (es geht nicht um den finanziellen Aspekt) würde 
ich gerne eine eigene Erweiterungsplatine dazu bauen.

Um den OneWire Bus an den Raspberry anzuschließen würde ich gerne einen 
DS2482-100 verwenden. Problematisch ist, dass dieser (sowie die One-Wire 
Devices) mit 5V betrieben werden.

Zur Pegelwandlung habe ich gelesen, dass dies nur Problematisch ist wenn 
Pullup Widerstände auf 5V eingesetzt werden, da der Raspberry ebenfalls 
die I2C Leitungen auf PullUp 3V3 zieht.
Ist das so Richtig?


Den RS485 Bus würde ich gerne mit dem Uart vom Raspberry betreiben. Ich 
habe den AD1201 sowie Max485 zufällig hier rumfliegen und die angehängte 
Schaltung damit aufgebaut.

Könntet ihr mal drüber gucken und mir sagen ob das so funktioniert? Der 
ADMU1201 ist als Pegelwandler für den Max485 eingesetzt.

von Oliver R. (orb)


Lesenswert?

Die Pegelwandlung für I2C ist da normal garkein Problem. Die PullUps 
sitzen im Pi, der DS2482 bekommt keine eigenen (mehr als einmal gehören 
die eh nicht auf den Bus). Die 3,3Volt werden normal von jedem 
I2C-Teilnehmer mit 5Volt-Versorgung als High erkannt und selber schalten 
die nur GND.

Für RS485 kannst Du z.B. den LTC1480 benutzen und sparst Dir den 
Pegelwandler.

: Bearbeitet durch User
von Pepi (Gast)


Lesenswert?

Wie bist du kit deinem Projekt weiter gekommen?
Ich entwickle etwas ähnliches, denke auch an den Adum1201,
aber um eine galv. Trennung aufzubauen.
Würde dann alle Slaves via CAN Transeiver verbinden. Die ersparen die 
Richtungsumschaltung.

von MarkusZelg (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen

Dann gibt es noch das Add-onBoard für RaPi:
<http://www.amescon.com/de/produkte/raspicomm.aspx>;

Ich bastle gerade meinen eigenen HomeServer mit WebSocket und jQuery 
Anbindung. Mein PHP-Script läuft ganz gut mit SerialClass.php auf RS232 
(mit TTL-Shift für Arduino). Mit dem RS485 hadert mein Raspian mit 
SerialClass beim Bit-Bang über SPI auf den MAX3411.

Anbei ein Print von gestern.

Hadern meint: Mein Server verschickt über die SerialClass mit dem 
php-fwrite einen 8-char String auf /dev/ttyRPC0. Die 8-chars kommen aber 
mit 57600 nicht "am Stück" an, sondern leider habe ich unterschiedlich 
nach 2 oder 3 chars eine Zeitspanne (2-5ms) wo unterbrochen wird.
Meine Vermutung: Raspian versaut mir das BitBang.

Wie kann ich das Lösen? Jemand Erfahrung?

von MarkusZelg (Gast)


Lesenswert?

Korrigendum: MAX3140 sitzt auf dem RaspiComm

von Pepi K. (rudiultraplus)


Lesenswert?

MarkusZelg schrieb:
> Korrigendum: MAX3140 sitzt auf dem RaspiComm

Warum nimmst Du den MAX3140?
Wasch spricht gegen das serielle Interface am RPI, dass ist von Linux 
kann einfach zu erreichen ohne bit banging.

Beim RPi hast aber keine Kontrolle über das Richtungsumschalten für den 
RS485 Bus. Nutzt du einen CAN-Tranceiver, dann übernimmt er das für 
dich.

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
Noch kein Account? Hier anmelden.