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.
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
Hallo, das Widerstandspaar ist nur ein mal vorhanden. Ich habe zurzeit auch nur einen Testaufbau am Wandler dran. Olaf
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.