Forum: Mikrocontroller und Digitale Elektronik RS-485 und digitalRead


von Niels göran B. (ngblume)


Lesenswert?

Hallo liebes Forum,

ich bastele momentan an einem SSI-Interface für einen 
Absolutwinkelgeber.
Als Pegelwandler habe ich den MAX491 gewählt.
Ich habe den Driver Enable mit 5V beschaltet und den REinvertiert mit 
GND. Also sollten beide aktiv sein, da ich ja gleichzeitig senden und 
empfangen muss (4 Leitungen).
Nun habe ich ein kleines Problem:

Ich habe zum Testen den Driver direkt mir dem Receiver verbunden und 
sende abwechselnd HIGH und LOW an den Driver In-Pin. UNd laut 
Oszilloskop kommt dieser HIGH / LOW-Wechsel auch genau so aus dem RO 
(Receiver Output) heraus. Dieses Signal leite ich zurück in den µC und 
lese es via digitalRead am Arduino MEGA ein. Leider stimmt dieser Wert 
relativ häufig (teilweise 50%) nicht mit dem am Oszilloskop gemessenen 
Wert überein.

Ich habe es mit Pull-Down-Widerständen (3.9 kOhm von RO und DI zu GND.) 
versucht, allerdings ohne Erfolg.
Nun bin ich etwas ratlos, woher diese Diskrepanz kommt. Und es ist auch 
nur das LOW-Signal, was manchmal fälschlicherweise HIGH ist. Nie ein 
HIGH-Signal, das LOW angezeigt wird. Daher auch mein Verdacht mit den 
Pull-Down-Widerständen.
Ich habe zu diesem Thema auch noch die angehängte Grafik gefunden, die 
sich allerdings auf Pull-up und Pull-down des RS-485 Busses bezieht. 
Hierzu würde ich gerne wissen , ob diese Verschaltung sinnvoll ist, 
besonders da ich auf Grund des SSI-Protokolls keinen wirklichen idle 
state habe.

Für einen Tipp, was die Ursache sein könnte oder was ich noch 
ausprobieren könnte, wäre ich sehr dankbar !!

MfG
Niels Göran

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.