RS 485 Eigentlich ganz einfach?

Hallo Zusammen,

an einem Arduino Uno habe ich ein MAX 485 Platinchen und möchte Via RS 485 mit meinem SolarInverter reden.
Da es natürlich nicht geht, habe ich ein Oszi in der 2-Draht hängen, um zu sehen was passiert.

Senden kann ich was, aber der Inverter Antwortet nicht. (Leitung ist durch gemessen)

Das Beispiel vom Hersteller:
Sende 05 62 DE A0 03 03 45 D8 00 mit 19200 Baud, 1 StartBit, 1 StopBit und NoParity

Dann bekommst Du als Antwort: 05 E2 DE A0 03 03 XX XX 01 02 DA 00 zurück.

Die RS 485 Adresse des Inverters und ein Prüfsummenbit ist bereits eingebaut.
Der Abgefragte Wert wird als LitleEndian an der Stelle xx xx zurück gegeben.

So. So…

Bei Beispielen mit Arduino <-> Adruino wird durch die Librarys zu viel Übertragen. (RS485_Master.h)
Bei Beispielen mit SoftwareSerial.h fehlt es meines erachtens am Start/StopBit.
Modbus RTU Sendet auch nicht das, was ich brauche.

Hat jemand bitte einen verständlichen Mustercode für mich?

Das Einzige, was mir als Fehler bleibt, ist, der MAX 485 wird mit 5 V Versorgt.
Ist das dem Kollegen im Keller zu wenig und er hört mich nicht?.

Ich weis, dass es nicht Schick ist nach Code zu Fragen/Bitten.
Im Internet drehe ich mich beim Suchen auch dauernd im Kreis und finde am Schluß wieder die selben Beispiele, die ich schon durch habe.

Viele Grüße

Spaxer0815

Hallo,

das deine Leitung Durchgang hat mag ich dir glauben. Du redest vom Keller, was paar Meter Leitungslänge sein werden. Wie lang ist denn das Kabel? Hast Du Netzwerkkabel verwendet? Oder was hast du verwendet? Ist die Leitung richtig terminiert? A/B ist richtig angeklemmt? Enable Pin wird richtig verwendet?

Hallo Doc_

War erst mal beim Checken unterwegs .... Hm, das sind so um die 20 Meter (0,2m wilder Draht bis zur UDAT100 + 2m Cat5 Patchkabel + ~15m Cat5 Strukturiertes Netz + 3m Cat5 Patch)

A/B ist gecheckt. Der Inverter (im Keller) steht auf Terminate. Am MAX485 Platinchen habe ich AB mit 120 Ohm Terminated.

DE ist mit RE verbunden und geht laut meinem letzten Muster auf D3 am Arduino DI auf D11/ RD auf D10

Senden kann ich ja anscheinend.(Mein HAMEG 203 kommt mit dem Triggern nicht ganz klar, aber ich sehe die Rechtecke.)

Natürlich Danke ich auch für diese Rückfragen, da man ja manchmal "Betriebsblind" ist.

Viele Grüße

Spaxer 0815

Hallo Zusammen,

Echt, ich habe A/B jetzt über kreuz und jetzt gehts.

Ich Kotze…

Mit dem Auswerten der Antwort klemmt es zwar noch, aber das Antwortmuster ist OK.

Danke an Alle, die meine Frage gelesen oder behandelt haben.

Hallo,

A/B über kreuz und funktioniert? Dann haste sicherlich TX/RX an einer Seite vertauscht. Den A/B gehört nicht über kreuz.

Normalerweise gehört auf jeden Arduino RD an RX und DI an TX und A an A und B an B. Also alles gleichgezogen. Kannst ja nochmal schauen. Hauptsache jetzt gehts. Glückwunsch. :)