Forum: Haus & Smart Home RS485+Busy line?


von Hübi (Gast)


Lesenswert?

Hi,

ich überlege einen RS485 Bus für mich zu Basteln, Habe hier viel gelesen 
und dabei wird of diskutiert, wie das bei vielen Nodes und RS485 ist, 
wenn zwei gleichzeitig senden wollen. Ich habe noch 1 Doppelader frei 
und nun die tolle Idee gehabt, eine BUSY line zu machen, damit müsste 
ich doch auf der sicheren Seite sein, oder??

von (prx) A. K. (prx)


Lesenswert?

Nein. Was passiert wenn mehrere wollen und Busy endet? Was passiert wenn 
mehrere wollen und nicht Busy ist?

Das funktioniert erst, wenn du das Busy mit einer eindeutigen ID wie CAN 
fährst um Konflikte aufzulösen.

von Ulrich (Gast)


Lesenswert?

Das Protokoll muss so gestaltet sein dass immer nur einer sendet. Falls 
dann doch mal eine Störung auftritt so muss diese über XOR nzw CRC 
Checksummern erkannt werden.

von Wolfgang M. (wolf177)


Lesenswert?

Ich kam ebenfalls auf die Idee und bin gerade dabei einen Hausbus mit 
einer Handshake (Busy) Leitung zu ralisieren. Ich habe die ersten Parts 
bereits fertig (PC Interface, Rolladensteuerung und Testclient) und ein 
wenig mit Microcontroller und C# programmiert. Ich bin bis jetzt sehr 
zufrieden damit. Jeder Busteilnehmer prüft ob die Handshake Leitung frei 
(low) ist. Um zu senden wird die Handshakeleitung high gesetzt und dann 
erst gesendet. In dieser Zeit kann kein anderer Busteilnehmer senden. 
Erst wenn die Leitung wieder low ist darf ein anderer senden. Die 
Rolladensteuerung habe ich gerade erst gestern fix montiert, bin gerade 
dabei die nächsten Komponenten zu bauen.
Wenn ich mehr Erfahrungen gesammelt habe kann ich ja wieder berichten.

von test (Gast)


Lesenswert?

@wolf177
Gibt es also 3 Leitungen: A B und Handshake?

von Ulrich (Gast)


Lesenswert?

was passiert wenn zwei Teilnehmer die Leitung gelichzeitig hochziehen?

von Falk B. (falk)


Lesenswert?

Vergesst das mit der Busy Leitung. Baut einen soliden Single Master Bus 
auf und gut. Dazu gibts schon ein halbes Dutzend Threads im Forum.

MFG
Falk

von Wolfgang M. (wolf177)


Lesenswert?

Ja, es gibt 3 Leitungen.. Ich vernetze meinen Bus mit CAT5 Kabeln für +, 
-, A, B, Handshake und habe noch 3 weitere Leitungen frei für spätere 
Erweiterungen (z.B. digitale Audioübertragung, ...). Das 2 Teilnehmer 
die Leitung gleichzeitig hochziehen ist fast unmöglich. In meinem 
Testprogramm mit Endlosschleifen bei 3 Teilnehmern die unterschiedlich 
senden und empfangen gab es keine Probleme. Sollten doch mal 2 
Teilnehmer zur gleichen Microsecunde hochziehen wollen wird der Befehl 
wahrscheinlich nicht ankommen. Derzeit wird über einen Timeout die 
Handshake wieder freigegeben. Eine Rückbestätigung habe ich (noch) nicht 
implementiert.
Einen Singlemaster wollte ich nicht da von mehreren Teilnehmern aus 
Schaltbefehle ohne Verzögerung gesendet werden sollen. Dzt. gibt es 
keine merkbare Verzögerung wenn ich eine Taste drücke die auf einem 
anderen Teilnehmer ein Relais schalten soll. Wenn gerade ein anderer 
Teilnehmer z.B. eine Temperatur sendet ist die Verzögerung auch nur ein 
paar Millisekunden.
Alles in allem ist das die optimale Lösung für mich da ich 1. 
Hobbybastler bin und 2. in meinem Haus vielleicht max 10 Teilnehmer 
haben werde. Eine prof. Lösung sieht wohl anders aus aber um das geht es 
bei mir nicht, das muss jeder selber entscheiden.
Gruß
Wolfgang

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.