Forum: Mikrocontroller und Digitale Elektronik RS485 kann nicht empfangen


von Bert S. (kautschuck)


Lesenswert?

Hi,

Ich habe eine Hardware mit einem STM32F4 drauf, welche einen RS485 Bus 
besitzt. Nun möchte ich mit folgendem Modul einen Arduino an den RS485 
Bus hängen:

https://www.aliexpress.com/item/MAX485-module-RS485-module-TTL-turn-RS-485-module-MCU-development-accessories/32817906607.html?src=google&albslr=227020878&isdl=y&aff_short_key=UneMJZVf&source=%7Bifdyn:dyn%7D%7Bifpla:pla%7D%7Bifdbm:DBM&albch=DID%7D&src=google&albch=shopping&acnt=494-037-6276&isdl=y&albcp=658429082&albag=32620086919&slnk=&trgt=68416666751&plac=&crea=de32817906607&netw=g&device=c&mtctp=&aff_platform=google&gclid=CjwKCAjwp7baBRBIEiwAPtjwxH5mH7bJAnnhyZs9rFW9mFZtipw4HMPLjfY4OoGRGe6v9cGwmTA2qxoC0JYQAvD_BwE&gclsrc=aw.ds

Also A und B der RS485 Tranceiver verbunden, DE und RE zusammen an einen 
PIN, RO an RX und DI and TX des Arduino gehängt. Der STM32 kann die 
Daten erfolgreich empfangen und auch über den Bus schicken (mit Oszi 
geprüft), jedoch kommt aus dem RO Pin des RS485 Modules einfach kein 
Signal mehr raus, obwohl in A und B ganz klar ein differenzielles Signal 
reingeht. Jemand eine Idee, was da los ist? Das Modul habe ich bereits 
gewechselt, jedoch leider erfolglos.

von ich (Gast)


Lesenswert?

Bert S. schrieb:
> Also A und B der RS485 Tranceiver verbunden

Also kein GND. Common Mode Voltage an deinem RS485-Ardunio Modul ist ok?

Was ist mit den Abschlusswiderständen?

von DocDirac (Gast)


Lesenswert?

Der MAX 485 hat keinen RE sondern einen !RE, ansonsten könnte man ihn ja 
nicht am gleichen PIN betreiben wie DE. Ich denke aber das hier die 
einfach die Bezeichnung auf dem China-Board falsch ist.

Ist sichergestellt, das der Enable passend beschaltet ist?
Kommt auf DO auch nichts an, wenn DE/!RE fest auf LO verbunden wird?

von Bert S. (kautschuck)


Lesenswert?

ich schrieb:
> Also kein GND.

Doch, die beiden Module sind über die gleiche Quelle verbunden.

ich schrieb:
> Common Mode Voltage an deinem RS485-Ardunio Modul ist ok?

Diese ist auch i.O.

ich schrieb:
> Was ist mit den Abschlusswiderständen?

Beide Module sind mit 120Ohm terminiert.

DocDirac schrieb:
> Der MAX 485 hat keinen RE sondern einen !RE

Hmm ok, ich habe einfach !RE und DE zusammengelötet und an den Enable 
Pin gehängt, das sollte aber passen, oder? Enable wird ja nur beim 
Senden HIGH.

DocDirac schrieb:
> Kommt auf DO auch nichts an, wenn DE/!RE fest auf LO verbunden wird?

Ich habe mal das Senden vom Arduino unterbrochen und nur ein Senden vom 
STM32 alle 100ms aktiviert, auch hier, bei DE/!RE auf LOW, kommt nichts 
an.

: Bearbeitet durch User
von rs485 (Gast)


Lesenswert?

- Am Modul des Arduino (RS485) liegen DE/!RE auf low ?
 Welchen Pegel mißt Du dort?

- Der RX des Arduino ist als Eingang konfiguriert?
  Welchen Pegel mißt Du dort?

- Ein schwacher PullUp am RX schadet nicht, da der Ausgang des MX485 
hochohmig wird, wenn !RE auf hight liegt.

von Bert S. (kautschuck)


Lesenswert?

rs485 schrieb:
> Am Modul des Arduino (RS485) liegen DE/!RE auf low

Jetzt, nein, anscheinend wird das irgendwie auf HIGH gezogen, aber mit 
ziemlich Power. Also ein GPIO Output mit LOW reicht nicht aus, um das 
auf LOW zu ziehen.

Evtl. muss ich mal das Kabel überprüfen, evtl. dort ein Problem.

Edit: jetzt klappt es, es war nicht das Kabel, aber der GPIO Pin. Ich 
habe einen Mega  verwendet und anscheinend war dort Pin 20 kaputt. Danke 
euch.

: Bearbeitet durch User
von Einer K. (Gast)


Lesenswert?

Bert S. schrieb:
> Edit: jetzt klappt es, es war nicht das Kabel, aber der GPIO Pin. Ich
> habe einen Mega  verwendet und anscheinend war dort Pin 20 kaputt. Danke
> euch.

Bei solchen Experimenten:

Bert S. schrieb:
> anscheinend wird das irgendwie auf HIGH gezogen, aber mit
> ziemlich Power. Also ein GPIO Output mit LOW reicht nicht aus, um das
> auf LOW zu ziehen.
Wenn 2 Pins gegeneinander arbeiten, sind die Ströme sicherlich weit 
außerhalb des spezifizierten Bereiches.

Wie lange das hält, ist in Gottes Hand.

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.