Hallo,
für eine Hausinstallation suche ich eine Baumartige
Verkabelungsmöglichkeit eines Bussystemes. Die Kabellängen könnte dabei
durchaus 150m erreichen. Da Die Baudrate sehr niedrig sein kann, etwa
1-10 kBaud.
Nach einigen Recherchen bin ich auf den CAN-Bus gestossen, er wird auch
in einigen Hausbus-Projekten verwendet, die Datenrate und Kabellänge
sollten keine Probleme bereiten. Nur verlangt der CAN-Bus eine lineare
Verkabelung, und ich will nicht mit dem Kabel 'spazierenfahren'
(wegen der Verzweigungen).
Das System sollte so sein, dass entsprechende Busknoten von
nicht-Fachkräften hinzugefügt werden können, also ist die 'Bastelei'
mit verschiedenen Abschlußwiderständen keine wirkliche Lösung.
Gibt es nicht eine Möglichkeit den Bus zu splitten, in Sub-Busse ?
Grüße Marx
Hallo Marx,
hier habe ich schon was dazu geschrieben und auch einen Link mit
angegeben:
http://www.mikrocontroller.net/forum/read-11-324316.html#324316
Fazit: bei Deinen Baudraten sind Stichleitungen kein Problem, auch wenn
sie nicht in der CAN-Spec stehen.
Subbusse:
Habe ich bei meinem eigenen Hausbus am Anfang auch gemacht, bin dann
aber davon abgekommen, weil sehr viele Zusatzprobleme aufkommen:
* Was passiert, wenn ein Subbus gerade 100% ausgelastet ist?
Daten müssen im Verteilerknoten zwischengespeichert werden, was
entsprechend große Puffer benötigt -> RAM-Probleme bei kleinen mc.
Viel Spass noch, Stefan
Hallo Stefan,
ich dachte die Länge der Stichleitung ist wegen dem Wellenwiderstand
problematisch. Daher müsste ein Repeater, welcher das Signal einfach in
einem anderen Bus wiederholt, nichts buffern. Ein IC, welchen ich mal so
gefunden habe:
http://www.amis.com/news/releases/2005/Q2/050627_42700_transceiver.html
Wie lang sind deine Stichleitungen ? Hast du mehrere Verzweigungen ?
Grüße Marx
Hallo Marx,
Stefan hat dir ja schon den link auf einen älteren Thread gepostet.
Dort hab ich eine Grafik aus einem Automatisierungsprospekt angeheftet,
die sehr gut die max. Stichleitungslänge als Nährung angibt.
Die Aussage von Stefan ist nur halb wahr:
Nicht die Baudrate bestimmt die max Leitungslänge (der Abzweigungen)
sondern die Flankensteilheit! Sie sind die Ursache für Refektionen.
Dies wird oft verwechselt. Natürlich benötigt man mit einer hohen
Baudrate auch eine schnellere Anstiegszeit der Flanken. Das Problem
beim CAN-Bus sind letztendlich die Transceiver. Sie habe eine bestimmte
Treiberstärke und die ist normal immer gleich egal ob du mit 1baud oder
150kbaud deinen CAN-Bus betreibst. De Baudrate selber ist für die
Gesamtlänge deines Systems natürlich schon entscheidend, aber eben
nicht für die Abzweigungen. Unter der Vorraussetzung das dein langer
Zweig auch korretk abgeschlossen ist und somit dort keine Reflektionen
auf dem Bus entstehen.
Hoffe ich konnte dir weiterhelfen. Ich selbst werde mein Bussysem mit
kurzen Abzweigungen betreiben.
Danke für die Antwort!
Ich habe soeben bei AMIS angefragt, wie viel diese Repeater-ICs kosten,
da meine Applikation stets viele Verzweigungen hat. Denn es sollte
schlussendlich eine Plug-and-Play Lösung werden, die in verschiedenen
Kombinationen problemlos laufen soll.
Wenn ich was Neues in Erfahrung bringe, werde ich es posten !
~ Marx
Hallo Marx,
der AMI-Chip sieht interessant aus. Wenn Du einen Preis (und vor allem
Liefermöglichkeit bei kleinen Mengen) hast, dann lass mal was hören.
Die Repeater-Idee hatte ich nicht - das ist wirklich deutlich einfacher
als 2 komplett getrennte CAN-Busse.
@Hardy:
Bei allen mir bekannten CAN-Treibern lässt sich die Flankensteilheit
einstellen.
> De Baudrate selber ist für die Gesamtlänge deines Systems> natürlich schon entscheidend, aber eben nicht für die Abzweigungen.
Das liest sich im von mir verlinkten CIA-Dokument anders:
Baudrate Gesamt-Buslänge Unterminierte Stichleitungslängen
Einzellänge Gesamtlänge im System
1Mbit/s 25m 1,5m 7,5m
500kbit/s 100m 5,5m 27,5m
250kbit/s 250m 11m 55m
125kbit/s 500m 22m 110m
50kbit/s 1000m 55m 275m
20kbit/s 2500m 137,5m 687,5m
10kbit/s 5000m 275m 1375m
* verwendeter Bustreiber Philips PCA82C250/251
Bei einer Baudrate von 20kbit/s (weniger lässt der oft benutzte MCP2515
nicht zu) bleibt also beim gängigen EF-Haus genug Sicherheitsreserve.
Übrigens: das CIA-Dokument spricht von unterminierten Stichleitungen.
Praktisch beduetet dies: die längste Leitung im Haus als Busleitung
erklären und terminieren, alle anderen als Stichleitungen unterminiert
lassen.
In der Applikation-Note AN96116 von Philips sind die Zusammenhänge und
verschiedene Terminierungsarten sehr gut erklärt:
http://www.semiconductors.philips.com/acrobat_download/applicationnotes/AN96116.pdf
Viele Grüße, Stefan
Hallo,
habe nun einen Testaufbau laufen, bei dem 2 CAN-Knoten über den
Buscoupler verbunden sind (115KBaud). Hat auf Anhieb funktioniert!
Habe ein Bild davon drangehängt.
Der Chip kostet in kleinen Mengen ca. 3Eur (wahrscheinlich ohne MWst).
Vielleicht schaffe ich es in naher Zukunft noch einige IC's zu
beschaffen und welche zu verteilen.
~ marx
Hallo,
der Busrepeater von AMI Semiconductor (www.amis.com) wird durch folgende
Distributoren in DE vertrieben:
www.simos.de
http://de.azzurri.com
-> siehe www.aufzu.de
-> Datenblätter aller Hersteller www.datasheets4u.com
de Norman
Hallo Marx,
kannst Du uns bitte mal den Stromlaufplan über Deinen CAN-Bus Repeater
posten?
Schade, dass scheinbar AMIS noch der einzige Hersteller, eines solchen
Chips anbietet.
Gruß Werner
Hallo,
hier der Schaltplan. Ich kenn zwar Dein Vorhaben nicht, aber trotzdem
möchte ich Dir 2-3 Dinge sagen:
Der Repeater hat eine Mindest-Baudrate von etwa 44 kBaud( wg timeout);
für einfache Installationen mit einer geringen erforderlichen Datenrate
würde ich tendenziell geringere Geschw. bevorzugen, denn
- es sinkt die maximale Leitungsausdehnung (wegen Signallaufzeit)
- und jeder Repeater hat auch wieder einen Delay --> wieder kürzere
Leitungslängen
- wenn die Geschw. niedrig ist, wirst du weniger Probs wegen exakter
Terminierung haben
Dieser Aufbau wurde im Rahmen eines Prototypen erstellt; bei einem
weiterem Aufbau werde ich eher eine aktiven Verzweigung vorziehen, also
eiger Prozessor 2 getrennten CAN-Logiken.
Grüße Marx
Hallo Marx!
Woher hast Du die Info mit der Mindest-Baudrate? (Mein Datenblatt Rev1.4
Mai 2005, preliminary)
Falls Du ein aktuelleres besitzt, könntest Du es bitte Posten?
Ich auch bräuchte etwa 5 Stück AMIS42700 zum Testen. Meine Bemühungen an
Samples zu kommen, waren bis jetzt um sonst (Jahresbedarf ca. 100
Stück).
Deshalb wäre ich sehr dankbar, wenn ich Dir welche abkaufen könnte.
(Mindestabnahme 228 Stück!!!)
Grüße,
walx
Hallo,
habe dasselbe Datenblatt.
Die minimale Datenrate darf nicht unter 44 kBit/s liegen, da sonst die
erforderliche maximale Anzahl von 11 dominanten Bits aufgrund der
dominant timeout Funktion nicht mehr übertragen wird. (siehe Datenblatt
Seite 8 Punkt 7.7 und Seite 11 Table 4 Parameter tdom(TXD)).
Denn es gilt 1/44000 * 11 = 250us.
Wegen den Chips, wenn du Deine Mailadresse postets, kann ich Dich gerne
kontaktieren.
~ Marx
@all: Mal ne "dusselige" Frage:
Warum seid ihr immer so auf Verzweigungen aus?
Einerseits sollen Schaltregler wegen des geringeren Eigenverbrauchs
gegenüber Längsregler eingesetzt werden und dann installiert ihr im
Grunde nur einen langen Bus durch ganze Haus auf dem Ihr die
Versorgungsspannung und somit auch den Spannungsfall (und damit die
Leitungsverluste die auch bezahlt werden sollen) in die Höhe treibt?
Hat jemand mal den Spannungsfall berechnet für 10 Knoten die je 100mA
ziehen, weil je nach Anwendung gerade munter LED´s leuchten oder Relais
anziehen?
Ich zumindest habe mein Haus in mehrere Stränge aufgeteilt. An jedem
Strang hängen später maximal 5 Knoten. Ich habe nur Längsregler verbaut
in den kleinen UP-Dosen und möchte daher mit der Busspannung weit
runter, und das kann ich auch weil ich aufgrund der "kürzeren" Wege im
Gegensatz zu einem Gesamtbus viel kleinere
Leitungsverluste/Spannungsfall habe.
Diese "Stichinstallation" verklemme ich im Schaltschrank zu einer Linie
und gut.
Mag dem einen oder anderen nicht gefallen, aber ich wollte Euch nur mal
anregen über die BusStromversorgung nachzudenken. Der Bus läuft bei 1km
Leitung, aber mit wieviel Spannung wollt ihr den dann fahren (also die
Spannungsversorgung der Knoten) da man ja meist beides zusammen über
CATx-Leitung macht?
greetz
Danny
@Danny:
Wenn deine Knoten 100mA ziehen dürfen hast du IMHO irgendwas falsch
geplant ... Ein Hausbus soll uA ja helfen Energie zu sparen, das wird
bei dir dann wohl nicht der Fall sein. Wenn man von vornherein alle
Knoten auf Energiesparen auslegt hat man wesentlich weniger Probleme mit
dem Spannungsabfall auf den Leitungen (ist natürlich immer noch da und
immer noch ein Problem, aber halt längst nicht so extrem) und man kann
auch ein bissl längere Leitungen nehmen. Und wenn man dann zb je
Stockwerk einen Bus nimmt (man kann ja bei CAN eh nur ~110 Knoten an
einen Strang hängen da die Treiber nicht mehr können) dann dürfte das
absolut kein Problem mehr sein.
Gruß,
Chris
@chris: mh, da übertreibt man mal um zu veranschaulichen und hat gleich
falsch geplant :)
Aber kann ja keiner Wissen; meine Knoten brauchen keine 100mA. 10mA bis
15mA brauchen Sie aber nun mal und das finde ich nicht viel.
Schliesslich will ein AtmelMega8 und ein MCP2515 samt Bustreiber
betrieben werden. Noch eine LED-Hintergrundbeleuchtung an und schon bist
15mA höher...
Damit "verbraucht" ein Knoten mit 9V Versorgungsspannung etwa 1,1Kwh pro
Jahr. Und 22 Cent pro Jahr und Knoten finde ich nicht dramatisch.
Es sollte nur ein Denkanstoß sein weil hier einige ja schon 4zeilige
LC-Display´s eingebaut haben oder Relais in UP-Dosen planen. Über vieles
wurde gesprochen aber darüber halt noch nicht.
Und die Summer aller an einer Leitung machts ja...
greetz
Danny
Hinweis: Der Beitrag den Sie beantworten möchten ist mehr als 6 Monate alt.
?
B2T: IMHO sollte ein "normaler" Knoten (also die Typen, die am
häufigsten im Bus zum Einsatz kommen) nicht mehr als 5mA im StandBy
aufnehmen. Das habe ich mir zumindest mal als Ziel gesetzt für dne
UP-Knoten in unserem Projekt (und sollte auhc schaffbar sein). Und ich
denke nicht, dass jmd auf die Idee kommt, an jeden Knoten ein Display
anzuschließen, oder? ^^
Und LEDs für Taster etc nimmt man als LowCurrent-Variante, kosten zwar
vllt doppelt soviel, ziehen aber nur 1/10tel des Stromes von normalen
LEDs.
Noch hat bei unserem Projekt keiner einen größeren Testbus laufen, aber
ich denke nicht dass man da Probleme bekommt wenn man mal 50 Knoten an
einen Strang hängt =)
Chris
@Chris: Probleme in dem Sinne nich... Is ja über die Spannungshöhe
wieder abzufangen :)
und auch LowCurrentLED ziehen 1mA, was bei dir wieder 20% des gesamtem
Busankopplers wären ;)
Mh, zum Standby: Der MCP2515 muß bei mir stets laufen und somit auch der
Buskoppler um eingehende Nachrichten zu empfangen. Sonst muß ich jede
Nachricht 2mal senden und solche Scherze. Ausserdem schaltet der MCP
sein Taktgenerator ab und ich habe nur ein Quarz drauf. Der würde nie
wieder wach werden :) Oder wie hast du das geplant?
Somit kann nur der µC in Standby. Und damit der wieder wach wird müsste
ich angeschlossene Taster per Dioden auf nen externen Interrupt legen,
ok das wär evt. ne Verbesserung die noch machbar ist.
hm, wird nun aber off Topic. Lassen wirs lieber ;)
greetz
Danny
Hallo,
@Hardy:
du hast geschrieben: "Sie habe eine bestimmte Treiberstärke und die ist
normal immer gleich egal ob du mit 1baud oder 150kbaud deinen CAN-Bus
betreibst."
Die Transceiver, die ich kenne, erlauben die Einstellung der Flanke über
einen Widerstand. Siehe z.B. angehängtes Datenblatt (des Urvaters aller
Transceiver) auf Seite 4 oben rechts.
Ciao,
Peter
Hallo,
ich habe hier auch noch ein paar überzählige AMIS-42700 ICs liegen (bzw
bestelle die Tage welche) - falls jemand Bedarf hat bitte melden.
amis (at) woessner-it (punkt) de
Gruß,
Markus