Hi Leute ich hab mit nen Max485 zugelegt und an den Sender angeschlossen. Soweit so gut. Hab alles auch nach der Anleitung gemacht, also /RE an die Masse gelegt, DE ist über einen pull down 10K Wid. beim an den Senden angeschlossen und wird vom Sender auf HIGH gesetzt. Vom Sender kommt auch ein Signal, aber am A,- und B-Ausgang kommt nichts raus. die 120 Ohm Abschlußwiderstände habe ich nicht, aber daran sollte es auch nciht liegen. Hat jemand schon einen max485 verbaut?
warum hast du /RE an Masse gelegt? /RE und DE kannste für einfache RS485 halbduplex 2-Drahtbus einfach brücken und an einen Pin deines µC legen. So kannste dann die Datenrichtung des Max485 per µC steuern, also lesen und schreiben auf den Bus nacheinander, wie gesagt halbduplex. Wichtig beim schreiben ist, das die Datenrichtung solange beibehalten wird wie der µC sendet. Der Sendevorgang ist mit dem schreiben ins Senderegister noch lange nicht abgeschlossen, die Maschine braucht für die Übertragung deutlich länger ... u.U. mehrere Millionen Takte, je nach Taktrate und Baudrate. Vor dem umschalten der Flussrichtung also unbedingt prüfen ob Sendepuffer leer ist. Ich hab dafür Interrupts verwendet, der TXC wird ausgelöst wenn das Byte raus ist, erst dann umschalten.
Den MAX485 selbst zwar nicht, aber sonst schon einige RS485-Transceiver. Wie misst du denn den Ausgang?
Danke Marko, ich werde /RE und DE mal zusammenschließen. Hört sich auf jeden Fall logisch an. Pull donw hab ich jetzt rausgenommen, war Blödsinn von mir :/ Wenn ich an den Oszi wieder kann, berichte ich über meine Efolge...
Es ist ziemlich belanglos, ob /RE konstant auf Masse gezogen wird, oder nur, wenn nicht gesendet wird. Wenn /RE konstant aktiv ist, empfängt man seine gesendeten Daten als Echo noch mal. Hast du dem MAX485 einen 100nF-Kondensator an den Versorgungspins verpasst?
ohne Last ist auch die Versorgungsspannung unerheblich Wenn ich zwischen den Zeilen richtig gelesen hab hat er das Ganze eh auf dem Steckbrett zum Testen zusammengestöpselt. Die Versorgungsspannung sollte die 100nF für den µC sowieso haben
Um das Timing-Problem ausschliessen zu können, könnte man auch DE konstant (über einen Widerstand) an Vcc legen. Wenn es keinen Teilnehmer auf der anderen Seite hat, der auch senden will, sollte man auf jeden Fall mit einem Oszi am Ausgang etwas messen können.
Also jetzt ist folgende Situation. Ich hab /RE und DE zusammengeschloßen Wenn ich auf den Bus vom PC aus sende (Übrigens geht es nicht um einen µC sondern Xport in der EIA485 Ausführung), werden die Signale auf A und B richtig dargestellt, so, wie es sein muss, habs mit dem Oszi überprüft. Ich muss noch schauen, ob das Gerät, welches an EIA485 hängt mir auch antwortet..
RE angeschaltet lassen und kontrollieren, ob das gesendete Zeug auch wieder retour kommt. Wenn nicht stimmt die Beschaltung nicht, oder die Software ist komplett daneben. Ansonsten der übliche Tip: Nach dem letzten Byte warten bis das Byte auch raus ist (also nicht bloss das Pufferregister leer) und danach noch mindesten 1 Bit lang den Transmitter eingeschaltet lassen, um das Stopbit nicht abzuwürgen.
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.