Atmega16 - Max485 (Modbus) - Sensor

OP (Firma: Herr) #4364616
Lesenswert?

Guten Tag

Ich möchte mit dem ATmega16 einen Sensor über RS485 (Modbus, Sensor 
lässt mir da keine andere Wahl) auslesen. Die Schaltung hierzu habe ich 
bereits wie im Datenblatt aufgebaut mit dem Baustein MAX485.
Nur bei der Programmierung fehlt mir der plan wie ich da am besten 
angehe bzw wie das mit der Rs485 genau funktioniert.

Bin für jede Hilfe Dankbar.

Mit freundlichen Grüßen,
Josef Habetswallner
#4365400
Lesenswert?

Modbus ist für dich erstmal nicht mehr als die Fragestellung "Wie gehe 
ich mit der UART um?" D.h. das ist dein erstes Ziel, wobei ich dir 
empfehlen würde erst mal den Sensor zu vergessen und eine RS232 
Verbindung zum PC aufzubauen und dort mit einem Terminalprogramm eine 
Gegenstelle zu haben. Warum? Ganz einfach, weil du am PC dann sehen 
kannst, was ankommt und ob das dem entspricht was du weggesendet hast 
bzw. wegsenden wolltest. Denn bei deinem Sensor hast du ein Problem, 
wenn das nicht übereinstimmt: Der Sensor antwortet dann ganz einfach 
nicht, woraus du erst mal nicht sehr viel schliessen kannst.

Aus dieser normalen UART Übertragung wird dann erst Modbus RS485 indem 
du zusätzlich von Vollduplex auf Halbduplex umprogrtammierst (d.h. du 
musst dem Schniistellenbaustein die Treiberrichtung jeweils einstellen) 
und dann natürlich durch das Protokoll, also dem "Was übertrage ich um 
welche Funktion auszulösen". Grundlage ist aber nach wie vor, dass du 
mit der UART umgehen kannst. Und um das zu lernen, brauchst du den 
Modbus erst mal nicht.
OP (Firma: Herr) #4365941
Lesenswert?

Um das mit dem PC auszutesten fehlt mir leider die Zeit.

Mit der UART bin ich ebenfalls schon vertraut mir geht es einfach nicht 
in denn Kopf wie ich von der UART aus dem µC über denn max485 auf den 
Sensor komme finde da auch nirgends Tutorials dafür. Habe auch schon die 
Freemodbus libary endeckt aber ich weiß nicht was ich beim µC 
rausschicken muss das es Konform ist.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren