Forum: Markt [S] RS485 Kommunikation zwischen 4 Controllern schreiben, Entlohnung


von Chris T. (chris0086)


Lesenswert?

Hallo Leute,
ich bräuchte mal Hilfe von Jemandem.
Kurz worum es geht:
Es gibt 4 Controller atmega32, einer ist Master, der Rest Slaves.
Diese sind per RS485 miteinander verbunden.
Jeder Controller hat 4 Beschleunigungssensoren deren Werte ständig 
ausgelesen werden müssen.
Der Master muss die Slaves ca. 500ms abfragen ob ein Sensor über eine 
bestimmte Schwelle gekommen ist.

Es geht hier darum den Code für die Kommunikation zwischen den 
Controllern zu schreiben. Der Rest ist ein anderer Part. Am besten 
Modbus RTU.
Die Datenpakete der Nutzdaten die von den Slaves gesendet werden sind 
wohl 8 Bytes groß.
Die Datenpakete vom Master zu den Slaves werden wohl 3 Byte groß sein.

Wer hat Zeit und Lust mir das zu schreiben?
Es muss nur gut funktionieren :)
Ich könnte ca. 80€ dafür zahlen, ist ein Privatprojekt.

Vielleicht hat jemand Interesse.
Eine Feinabstimmung dann später, ich bin für Vorschläge offen.

: Bearbeitet durch User
von DAVID B. (bastler-david)


Lesenswert?

ehm wenn ich das mal ausweiten darf bist du auf diese teile festgesetzt 
oder konnte man zb als masster einen atmega2560 nehmen dieser hat 3 
serielle ein und Ausgänge man müsste den slaves nur sagen sie sollen 
eine Verbindung aufbauen und ein (was weiß ich) xxx wert senden wenn 
wert sensor über schritten ist und der 2560 kann diese dann abfragen 
ohne die Slaves zu behindern ?

das wäre der für MICH kleinste Aufwand und einfach zu machen ?

von A. S. (Gast)


Lesenswert?

Wenn Du selber programmierst, stelle 2/3 Fragen, wo es hakt. Am uart? 
Bei 500ms und 30 bytes ist das eine Fingerübung.

Wenn Du selber nicht programmierst, ... Gib dem, der es tut, 20€ mehr.

von Chris T. (chris0086)


Lesenswert?

Die Hardware ist leider fix und liegt schon auf dem Tisch. Kann ich auch 
wenn beötigt zur Verfügung stellen.
Ja an 20€ mehr solls jetzt auch nicht scheitern.

von A. S. (Gast)


Lesenswert?

Chris T. schrieb:
> Ja an 20€ mehr solls jetzt auch nicht scheitern.

Oh, dass war dumm von mir. Ich meinte, wer programmiert denn den Rest? 
Dem solltest Du für die Fingerübung halt nen zwanni drauflegen.

von Dieter W. (dds5)


Lesenswert?

Ein Modbus RTU Protokoll-Stack ist definitiv einiges mehr als eine 
Fingerübung. Ob jemand sich das für den angebotenen Betrag antut 
bezweifle ich stark.

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Also nen angefangen Modbusstack kann gerne wer von mir haben.
Angefangen weil kann nur R/W von Holdingregistern und R von 
Inputregistern.
Reichte eben für meine Anwendung der selfmade E-Last.

Aber sooo schwer wars nun auch ned.
Statemachine abtippen nach Doku, die is ja öffentlich einsehbar.
Ist aber noch nur etwas bis garnicht dokumentiert ;)

Gibts aber nur unter GPL das Teil.

von Falk B. (falk)


Lesenswert?

@Chris Tian (chris0086)

>Wer hat Zeit und Lust mir das zu schreiben?
>Es muss nur gut funktionieren :)

"Nur"?

>Ich könnte ca. 80€ dafür zahlen, ist ein Privatprojekt.

Schon mal grob überschlagen, wie lange so eine Programmierung incl. Test 
dauert? Schon mal grob überschlagen, was dabei als Stundensatz 
rauskommt? Der Mindestlohn liegt bei 8,50/h.

>Vielleicht hat jemand Interesse.
>Eine Feinabstimmung dann später, ich bin für Vorschläge offen.

Man muss schon einen SEHR guten Freund haben, der auch selber ein 
starkes Interesse am Thema hat, um mit DEM Preis jemanden zu finden. 
Denn mehr als ein symbolisches Entgeld ist das nicht.

Nein, ich habe kein Interesse ;-)

von Michael A. (micha54)


Lesenswert?

Hallo,

also Modbus RTU ist ein ziemlich aufwändiges Protokoll. Das Einhalten 
und Abprüfen der Pausen zwischen den Bytes kann einen zum Wahnsinn 
treiben, besonders wenn die Baudrate nicht spezifiziert ist.

Hier scheint es darum zu gehen, 1 Master mit 3 Slaves zu verbinden. Wenn 
das so ist und auch so bleibt, dann kann man feste Messages festlegen 
und kann alles andere als Müll zurückweisen. Letztlich ließe sich das 
als lesbare ASCII-Übertragung realisieren, mit CR als Message-Ende, dann 
ist es vielleicht sogar im angegebenen Preisrahmen und viel gutem Willen 
machbar.

Aber dann ist es weder modbus noch rtu.

Gruß,
Michael

von Purzel H. (hacky)


Lesenswert?

Fuer die 100 Euro koennte man sich mal ueberlegen, resp zusammentragen, 
wie das Protokoll denn implementiert wuerde, welche Zustaende das 
Protokoll denn haben muesste.
Ein anderes, namenloses, Protokoll waere einfacher.

von A. S. (Gast)


Lesenswert?

Dieter W. schrieb:
> Ein Modbus RTU Protokoll-Stack ist definitiv einiges mehr als eine
> Fingerübung. Ob jemand sich das für den angebotenen Betrag antut
> bezweifle ich stark.

Sicher. Da der TO aber schrieb

Chris T. schrieb:
> Am besten Modbus RTU

gehe ich davon aus, dass er das irgendwo schon verwendet (sein 
Programmierer des restlichen Krempels das also kennt), aber auch 
irgendwas anderes geht. Und bei den paar Bytes pro Sekunde ist das 
Protokoll mehr als egal.

von Chris T. (chris0086)


Lesenswert?

Also es muss nicht unbedingt modbus sein, das war eine idee.
Ich hab mir das recht einfach vorgestellt. Meiner Kenntnis nach gibts da 
drin die Empfängeradresse, die Länge, die Nutzdaten und die Checksumme.
Das ist das was ich kenne und ich ging davon aus das es nicht so 
schwierig wäre.
Ein selber gestricktes Protokoll geht auch. Nur die Hardware ist bisher 
fix.

von Chris S. (aaa)


Angehängte Dateien:

Lesenswert?

Modbus ist nicht so schwierig, ein Beispiel hier:

von A. S. (Gast)


Lesenswert?

Chris T. schrieb:
> Nur die Hardware ist bisher fix.

Und wer macht jetzt die restliche SW? Und warum nicht auch die Abfrage?

von Chris T. (chris0086)


Lesenswert?

Achim S. schrieb:
> Und wer macht jetzt die restliche SW? Und warum nicht auch die Abfrage?

Ich wollte nicht gleich zu viel :)

Natürlich könnte auch jemand alles machen aber ich dachte das schreckt 
nur ab...

Klar da würde ich auch noch etwas drauf legen für.
Aber jemand muss jetzt nicht die ganze Arbeit alleine machen. Ein 
bisschen was kann ich auch noch beitragen bzw. würde des Rest dann da 
drum stricken so gut ich es kann.

von A. S. (Gast)


Lesenswert?

Chris T. schrieb:
> Natürlich könnte auch jemand alles machen aber ich dachte das schreckt
> nur ab...

also das macht jetzt überhaupt keinen Sinn. Wenn Du selber kein Zeichen 
senden und empfangen kannst, dann hast Du m.E. zu wenig Kenntnisse, um 
irgendwas sinnvolles "darumherum zu stricken". Wenn Du ein Zeichen 
senden und empfangen kannst (also einen Uart irgendwie in Betrieb 
genommen hast), dann mache weiter, die Lernkurve ist richtig steil!

Und wenn Du zwischen 2 µC kommunizierst, dann ist es wirklich nur ein 
"Trick", es mit 4 zu tun. Dafür sind wir da, dabei helfen wir gerne!

von Peter Z. (hangloose)


Lesenswert?

Mach mal ein Foto von der vorhandenen Hardware.
Welche Beschleunigungssensoren genau?

von Dennis R. (dennis_ec) Flattr this


Lesenswert?

Spar dir das Geld und setze hier auf:
http://www.mrbus.org

von Chris T. (chris0086)


Lesenswert?

Achim S. schrieb:
> Wenn Du selber programmierst, stelle 2/3 Fragen, wo es hakt. Am
> uart?
> Bei 500ms und 30 bytes ist das eine Fingerübung.
>
> Wenn Du selber nicht programmierst, ... Gib dem, der es tut, 20€ mehr.

Hier hakt es:
Beitrag "Re: RS485 Übertragung passt nicht"

Von Modbus bin ich auch weg...
Eventuell bekomm ich es ja mit eurer Hilfe auch so zum Laufen.

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.