Forum: Haus & Smart Home Lindy USB -> RS485 Wandler anders?


von Olaf K. (korky2)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

ich komme nicht weiter ...

Zum Vorhaben:
Ich versuche ein paar Mikrocontroller (ATtiny45) an einen einfachen Bus 
(RS485) zu hängen. Mein Homeserver soll dann mit 19200 bps die Module 
abfragen.

Hierbei noch einen Bootloader wäre ja cool, dachte ich mir.

Zur Historie:
Angefangen habe ich mit 1wire. Soweit kein Problem. 2. Mikrocontroller 
mit dran. Alles läuft so weit. -> Super
(In der Software habe einen Pin für den RS485-Treiber vorgesehen)
Bootloader von Peter Dannegger läuft auch perfekt.

Jetzt wollte ich den Bus auf RS485 umstellen.

Die Umstellung:
Den Mikrocontroller habe ich an einem MAX485 angeschlossen. Auf der 
RS485-Seite habe ich Widerstände geschaltet wie im Artikel 
(http://www.mikrocontroller.net/articles/RS-485) beschrieben zusammen 
geschaltet.

Auf der PC-Seite habe ich einen USB - RS485-Wandler von Lindy.
Dieser sendet jedes gesendete Byte zurück. Ist bei 1wire ja auch so.
Zurzeit habe ca. 5 Meter Leitung dazwischen.

Nun kommt das Problem:
Ich nehme meine Schaltung, noch ohne Mikrocontroller. Setze /RE und DE 
auf GND. Mit einem Terminalprogramm sende ich die Daten und schaue ich 
mir an, was zurück geliefert wird.

Wenn ich Daten (vom PC) auf den Bus sende, dann kommt nach kurzer Zeit 
ein 0x00 zurück. Ohne Mikrocontroller, mit MAX485.

Das kann ich nicht gebrauchen.

Dann habe ich für den Mikrocontroller ein kleines Progrämmchen 
geschrieben, welches ca. jede Sekunde einen String ausgibt. Auch hier 
kommt nach dem String eine 0x00. (Also funktionieren meine Routinen)

Ich habe auch A und B zwischen MAX485 und Wandler vertauscht. Hier 
kommen dann ganz andere Daten heraus. -> Scheint ja richtig 
angeschlossen zu sein. Geht nicht gerade aus der Beschreibung hervor. 
Siehe Anhang RS485-Wandler.png :-)

Wenn ich die beiden 390 Ohm Widerstände am Bus weg lasse, dann geht es.
Es kommen keine "unmotivierten" Zeichen.
Nur der Bootloader geht nicht ...

Jetzt ist natürlich die Frage:
Was mach ich falsch?
Liegt es am Wandler? Der kann doch keine andere Logik haben?!?

Wenn die beiden 390 Ohm Widerstände drin sind, dann habe ich auch High 
am Empfangs-Pin vom Mikrocontroller.
Die serielle Routine ist darauf ausgelegt, dass im Ruhezustand High an 
dem Empfangs-Pin liegt.

von korky2_offline (Gast)


Lesenswert?

Keiner eine Idee?

von demacus (Gast)


Lesenswert?

Hallo

wie oft ist denn das 390 Ohm Widerstandspaar in deinem Netzwerk 
vorhanden?

Mehr als ein mal? Falls ja, dann ist das zu mindest mal ein Fehler.

MfG

von korky2_offline (Gast)


Lesenswert?

Hallo,

das Widerstandspaar ist nur ein mal vorhanden.
Ich habe zurzeit auch nur einen Testaufbau am Wandler dran.

Olaf

von Olaf K. (korky2)


Lesenswert?

Ich blicke es jetzt echt nicht mehr:

Bei http://www.wut.de/e-6wwww-11-apde-000.php steht, dass an A ein 
Pulldown- und an B ein Pullup-Widerstand soll.

Hier im Artikel zu RS485 steht es genau anders herum.

In der Application Note slyt324 von TI, in Verbindung mit dem Datenblatt 
vom MAX485, interpretiere ich das auch wie bei wut.

In der Application Note von Maxim steht es wie hier im Artikel.

Wie habt Ihr das gelöst?

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.