Forum: Mikrocontroller und Digitale Elektronik Bussystem für Schrottverkabelung


von Carsten R. (kaffeetante)


Lesenswert?

Hallo,

ich suche ein geeignetes Bussystem, welches auf eine bestehende 
Verkabelung aufsetzen kann.

Ganz so schlimm wie im Titel ist die Verkabelung nicht, aber fast ;-)

Ich überlege ein Netzwerk aus leichtgewichtigen Mikrocontrollern, 
wahrscheinlich ATTiny oder ein kleiner ATMega, aufzubauen. Diese sollen 
über irgendein Medium miteinander kommunizieren. Das Protokoll ist mir 
egal solange es einfach genug für einen ATTiny bleibt. Das Netz sollte 
ausbaubar sein auf bis zu 127 Knoten. Diese sind Batteriebetrieben, es 
sei denn ich finde einen weg sie über den Bus zu versorgen. Weiter sind 
sie abgesehen vom Bus mit keinem anderen Potential verbunden.

Die Datenrate ist sehr gering. Selbst 300 Baud wäre bei einem shared 
Medium für alle Knoten gemeinsam genutzt weit mehr als aussreichend. 
Wenn sich da andere Datenraten durch günstige Taktteilerverhältnisse 
ergeben ist mir das auch recht. Die Knoten müssen nicht miteinander 
Sprechen können, sondern nur mit einem "Zentrum". Auch ist die 
Reihenfolge voll planbar. Daher hatte ich an so etwas simples wie 
Round-Robin gedacht.

Ich möchte eine bestehende Kabelinstallation aus sprichwörtlichem 
Klingeldraht, es wurde tatsächlich für eine Klingel verwendet, zum 
Datantransport recyceln. Diese Verkabelung ist von der Topologie her 
Sternförmig mit Stranglängen vom Zentrum aus gesehen von bis zu 30 
Metern.

Der Kabelquerschnitt ist mindestens 0,6 mm², eher 0,8 mm². Es handelt 
sich also um Draht, keine Litze. Ich kann aber nicht sagen ob in den 
Wänden Telefonkabel liegen. Daher gehe ich vom Einfachsten und 
Billigsten aus, ungeschirmter Zweifachdraht, eventuell verdrillt.

Die Frage die sich nun Stellt.

Welches, natürlich preiswerte System, könnte man dafür verwenden? Schön 
wäre es, wenn es vom Aufwand so ähnlich wäre wie ein Max232, den man für 
die Kommunikation an einen PC dranklatscht. Ein CAN-Transceiver wäre 
auch noch eine (teure) Option. Der USART des ATMega unterstützt ja 
Multiprozessor-kommunikation und CAN ist ja ohnehin für mehrere 
Teilnehmer.

So wie ich bisher gelesen habe sollte bei Beiden diese Leitungslänge 
eines Stranges möglich sein. Wo es bei mir hakt ist der Sternförmige 
Aufbau. Bei CAN wäre das etwas ungünstig wegen der Berechnung der 
Terminierung, zumal ich die Impedanz der Kabel nicht kenne. Und 
insgesamt kommen da beim Endausbau grob geschätzt 2000 Meter Leitung auf 
den BUS, auch wenn die einzelnen Stränge die 30 Meter nicht 
überschreiten.

Hat da jemand einen Denkanstoß für mich um weiter zu recherchieren oder 
gar Erfahrungswerte oder einfachere Alternativen? Einfach mal blind mit 
RS232 ausprobieren scheidet aus. Ich kann mir zwar vorstellen daß ich 
damit eine Testverbindung hinbekomme, aber wenn dann zum Schluß ca. 100 
Knoten auf den Leitungen hängen ist das doch was anderes. Das wäre ein 
sehr aufwändiger test. Es gibt da ja viele Ansätze die man verfolgen 
kann. Aber mir fehlt da die Erfahrung um Abschätzen zu können was robust 
genug für so einen altertümlichen vielköpfigen Kabelkraken wäre.

Kann es sein daß ich bei 300 Baud zu kompliziert denke? Auch bin ich mir 
nicht sicher ob ich etwas zur galvanischen Trennung brauche, auch wenn 
die Geräte weit verteilt sind, schließlich sind die Knoten bis auf den 
Bus isoliert. Könnte man alternativ auf das ganze Netz hochohmig eine 
Spannung zwischen den beiden Leitern anlegen und dann mit einem 
Transistor/FET per "Kurzschluß" morsen?

viele Grüße

Carsten

von MaWin (Gast)


Lesenswert?

Der übliche Bus aus 2-adrigem Klingeldraht hat eine STROMBEGRENZTE 
Spannungsquelle, und jeder Teilnehmer der senden will zieht die Spannung 
kurzzeitig durch Überlastung runter.

Die Impulse sind kurz oder lang, also ähnlich wie 
Infrarot-Ferbedienungen nur ohne Träger. Kann man problemlos als 
Empfänger per Software decodieren.


 Netzteil---+------------------+-----------------+----...
(z.B. 12V)  |        +-----+   |                 |
( 100mA)    +-|>|-+--|78L05|---(------+        ZD6V8
                  |  +-----+ ZD6V8 +-----+       |
                 1uF           +---| uC  |-330R-|< BC338
                  |           4k7  +-----+       |E
 Masse -----------+------------+------+----------+----...

       12V---    ----      ------
Impulse      |  |    |    |
       7V     --      ----
               0        1    bit

Noch sparsamer wird es, wenn man 5V verwendet und beide
Z-Dioden weglässt und direkt kurzschliesst, der 1uF Elko
puffert, der Spannungsregler entfällt, aber dann darf der
Spannungsabfall auf der Leitung nicht zu hoch werden.

Ähnlich funktionier EIB/KNX, bloss mit 27V und Impulsen
die auf Grund der Indiktivität der Spannungsquelle
einbrechen können.

von Ben _. (burning_silicon)


Lesenswert?

Irgendwas symmetrisches nehmen und wenigstens die Adern verdrillen.

Vielleicht geht ein I2C-Bus mit sehr niedrigen Abschlußwiderständen und 
niedriger Bitrate.

Ansonsten schau Dir mal RS-485 an. Sowas in etwa wird bei DMX-512 
verwendet, läuft da mit 250kbit und ist erstaunlich störunempfindlich. 
Wenn Du das mit sehr geringer Bitrate betreibst könnte das was werden.

Wichtig ist aber auch das Protokoll... also Adressierung und 
Fehlerkorrektur. Das könnte mehr Probleme machen als die Hardware.

von Carsten R. (kaffeetante)


Lesenswert?

Danke für die schnelle Antwort, besonders Dir MaWin. Genau so etwas habe 
ich gesucht. Nur auf die Idee die Spannung nur auf Halbmast einbrechen 
zu lassen bin ich nicht gekommen. That does the trick! :-)

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.