Forum: Haus & Smart Home "Selbstbau"-Feldbus


von Oliver W. (oliver_w49)


Lesenswert?

Einen wunderschönen Donnerstag Abend ;)

Ich stehe vor einem kleinen Projekt, bei welchem ich von einer 
Master-Steuerung einige Clients steuern will.
Dabei soll folgendes Möglich sein:

[1] am Client direkt Hoch/Runter

[2] einige Gruppen bilden (bis zu 10) und diese von der Zentrale steuern

[3] ALLE hoch/Runter

Beide Seiten ATMega.

Dabei sollte die Leitungslänge schon einige Meter (100?) sein können und 
dabei relativ flexibel in der Netztopologie sein.
Klar könnte man sich jetzt hier in die diversen Feldbusse einlesen und 
damit probieren,
allerdings ist Zeit mal wieder Geld ;) und einfach vielleicht manchmal 
besser.

Daher meine Idee:
Man schreibe sich sein eigenes Protokoll:
Ich brauche nur die Info
[1] "wer" -> 16 - 32 "Adressen", also 5bit
[2] "was" -> 1 bit, mit 'stop'-Befehl 2bit

Das macht 7 Flanken, beispielhaft noch 3 für Parität und co.
Das wiederholen wir 2 mal für mehr Datensicherheit. Das ganze ist wie 
gesagt recht "unkritisch" für die Zeit, folglich lassen wir der Ganzen 
Sache 1sek, macht pro bit 1s/20bit = 0,05s/bit.

Für die Ausbreitung des Potentials mmN (bitte korregieren wenn falsch) 
vollkommen irrelevant.
Und auch wenn das Signal über einen Treiber erst auf 24V soll und am 
Ziel per OK wieder auf 5, sollte das doch 3 mal reichen.

Kann mir einer mein Konzept mal so bestätigen bzw mir Fehler aufzeigen?

von Jobst Q. (joquis)


Lesenswert?

Nimm RS-485 oder CAN Hardware, die Treiber sind preiswert und viel 
störungssicherer als einfache Leitungen, selbst bei 24 V. Das Protokoll 
kannst du ja immer noch beliebig selbststricken.

von Oliver W. (oliver_w49)


Lesenswert?

Was ich bei CAN und Co vermisse:
Ein "einfaches" kleines Beispiel für eine CAN-Kommunikation, also 
irgendwas Richtung "Einstieg in die CAN-Welt".

Wenn ich zB hier im Wiki gucke:
http://www.mikrocontroller.net/articles/CAN

Werde ich erschlagen von "Infos" zu Teilen die ich nutzen kann. 
Vielleicht bin ich aber auch einfach blind.

Vorallem sehe ich aber in vielen Protokollen auch einen "Overkill":

Nach meinem Plan lege ich zu jedem Client eine 3x0,75 Kabel und hab 
alles was ich brauche: 24V und GND sowie meine Datenleitung.

Das Protokoll dazu ist selbst für mich als jemand mit 0 Ahnung von 
diversen Bus-Systemen eine Kleinigkeit (Flankenüberwachung an einem 
Eingang, das ganze vielleicht ein paar mal Pro Takt um Fehler zu 
vermeiden und gut ist.

von Jobst Q. (joquis)


Lesenswert?

Du brauchst nur den Treiber, für CAN zb PCA82C250 (0,99 €bei Reichelt). 
Das hat ein Eingangs- und ein Ausgangssignal im 5V Bereich, da kannst du 
direkt einen µC oder ähnliches anschließen.

von Oliver W. (oliver_w49)


Lesenswert?

Dazu brauch ich aber noch Infos über "das Protokoll" CAN selber. Also zB 
Wie die Adressierung usw läuft, ich will ja selber CAN Clients und 
Master bauen. Und die finde ich nirgends für CAN-Einsteiger, nur wie 
Kommuniziere ich mit CAN Device XY von Hersteller ABC.

von MaWin (Gast)


Lesenswert?

> Ich stehe vor einem kleinen Projekt

Klingt wie ein Hausbus nur für Rollladensteuerung.

1. Rollladensteuerung geht mit einem Zentralrelais pro Rollladen und 
einer 5-Adrigen Bus-Netzspannungs-Leitung pro 10er Gruppe ganz 
problemlos ohne jede Elektronik.

2. Zwar kann man wunderbar Signale mit AVR bearbeiten, aber woher 
bekommst du die Versorgungsspannung. An jedem Rollladen werden 230V 
sein, heisst das auch ein Trafo pro Rollladen ? Das macht bei mehr als 
20 Rollläden über 20 Watt Standby-Verbrauch, also 50 EUR im Jahr nur für 
Stromkosten.

3. Angenommen man hat ein System, und möchte nun neben dem Rollladen 
auch noch das Licht schalten. Baut man dann ein neues Lichtschaltmodul ? 
Wäre es nicht besser, wenn es das preiswert fertig gibt, oder lässt man 
es gleich ganz sein und nimmt handelsübliche Funksteckdosen für 2.50 EUR 
das Stück ?

> Nimm RS-485 oder CAN Hardware

Es gibt auch nicht DMX und DALI, DigitalStrom und EIB/KNX, Funksysteme 
wie FS20, simple Direktverdrahtung mit Relais und das Leerrohr, welches 
auch in 50 Jahren noch aktuell sein wird. Man muß nichts neues erfinden. 
Man muß sich aber auch nicht kmlpett in die Beschreibungen einlesen, 
wenn man nur die Hardware (Kabel) kompatibel legt, dann kann man eines 
Tages immer noch die Module umrüsten. Am flexibelsten ist man mit 
Leerrohren.

von (prx) A. K. (prx)


Lesenswert?

CAN ist schon ein sinnvoller Ansatz. Aber höhere Protokolle wie CANopen 
kannst du dir ggf. auch ersparen, wenn sowieso alles von dir ist. Nimm 
CAN einfach an Transportmedium für einfache Messages.

IDs kannst du frei wählen wie du willst, mit der Massgabe, dass keine 
zwei Nodes die gleiche ID senden.

von Jobst Q. (joquis)


Lesenswert?

Oliver W. schrieb:
> Dazu brauch ich aber noch Infos über "das Protokoll" CAN selber.

Brauchst du eben nicht, wenn du nur die Treiber von CAN nimmst. Wenn du 
auf beiden Seiten ATMegas einsetzt, kannst du zB UART (asynchron 
seriell) benutzen.

Einfach RXD und TXD vom ATMega auf RXD und TXD vom PCA82C250 und du 
kannst damit über die CAN-Leitung über weite Entfernungen und auch 
sternförmig kommunizieren, als hättest du sie direkt miteinander 
verbunden.

Das CAN-Protokoll ist ziemlich aufwendig, aber die Leitungsart von CAN 
kann man völlig unabhängig davon verwenden.

von max mustermann (Gast)


Lesenswert?


von Homo Siemensis (Gast)


Lesenswert?

Kein CAN, den Boschmist kann man knicken!
"Foundation Fieldbus" heisst das Zauberwort.

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.