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.
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?
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?
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
- 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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.