Hallo! Ich möchte gerne eine Temperaturmessung mit mehreren Stationen (so. ca 20) realisieren. Zurzeit rätsle ich noch über das Bussystem. Ich hätte mir überlegt das ganze über I2C oder RS485 zu machen. Der Vorteil bei i2c wäre ja, dass die slaves keine eigene "intelligenz" also keinen weiteren uC benötigen. Wie es mit der maximalen länge aussieht weiß ich jedoch nicht (60m werden auf jeden Fall benötigt) Weiß irgend jemand noch andere Argumente für bzw gegen i2c? Danke Markus
Moin, ich würde es mit RS485 machen; I2C ist für größere Leitungslängen - wie der Name "Inter-IC" schon andeutet;-) - weniger geeignet. Wie kommst Du darauf, daß die Slaves keine Intelligenz brauchen? Wenn Du nicht gerade einen Temperaturwandler mit I2C- Schnittstelle einsetzt (gibts sowas?), dann brauchst Du ein paar "Gehirnzellen" für die Konvertierung nach I2C. Anders sieht es aus, wenn Du einen Temperaturchip mit 1-Wire-Protokoll einsetzt, den kannst Du direkt an einen Portpin hängen. Aber beim 1-Wire-Bus sind sowohl Leitungslänge als auch Anzahl der Gesprächspartner am Bus beschränkt. Gruß, Ralle
i2c Temperatusensoren gibt es einige (LM75, DS1621, ...) ausserdem gibt es ja auch viele andere sensoren bzw. bausteine für i2c. der vorteil wäre dann ja, dass man seinen bus mit einem beliebigen i2c baustein erweitern kann.
HalloMarkus, für mich hört sich das an als ob 1-Wire für Dich ideal ist. Schau Dir mal den DS1820 an, ich habe damit mal vor einiger Zeit eine Temperaturüberwachung von Solarpanels gemacht und war sehr zufrieden, da sehr einfach: http://datasheets.maxim-ic.com/en/ds/DS18S20.pdf "It has an operating temperature range of -55°C to +125°C and is accurate to ±0.5°C over the range of -10°C to +85°C." Quelle: Datenblatt Zum Thema Leitungslänge: "Mit einem passiven PullUp-Widerstand sind so Leitungslängen von bis zu 100m mit 150 1-Wire-Geräten möglich. Durch die eine Slew rate-Kontrolle und einem aktivem Pullup-Widerstand ist es sogar möglich Leitungslängen von bis zu 300m mit 500 1-Wire-Geräten zu realisieren." Quelle: http://de.wikipedia.org/wiki/1-Wire Zur Anbindung an einen µC (zur Auswertung oder als Interface zum PC) gibt es einiges an Beispielcode im Netz. Grüße Timo
Hallo! Zuerst mal Danke für alle, die mir helfen und schreiben. Ich habe vor einigen Monaten schon etwas mit 1 wire gemacht, jodoch kommt es nicht als bussystem in frage, da man diesen bus einfach nicht so gut erweitern kann wie z.B i2c. ich will mir alle optionen offen halten, um z.B auch einmal ein Display über diesen Bus ansteuern zu können (es gibt ja schon sehr viele ICs dieser art für i2c) naja werd in den nächsten tagen mal probieren wies mit der i2c bus länge aussieht und wenns nicht geht wohl rs485 nehmen. eigentlich müsste es mit i2c funktionieren wenn ich nur langsam genug bleibe oder? Grüße Markus
Hallo Markus, was schreckt Dich von CAN ab? Gut, Du brauchst (fast) immer ein Mikrocontroller, dafür besorgt der CAN-Controller Dir dann aber alle Busrelevanten Dinge wie z.B. Arbitrierung. Also ich würde CAN eindeutig RS485 vorziehen. Aber das ist wohl unter anderem auch eine persönliche Meinung. Sollte natürlich I2C Deinen Ansprüchen genügen wäre das dann wegen verfügbarer ICs eine feine Sache. Grüße Timo
Hallo Tien Can wäre dann meine 3. möglichkeit für mich. welche can- controller werden oft verwendet bzw sind relativ günstig zu haben (ich bräuchte wahrscheinlich ca. 100 bus slaves, da spielt dann der preis wirklich eine rolle) bzw. weiß wer eine gute informationsquelle für den canbus. übernehmen die CAN Controller auch das protokoll,fehlerhandling usw.
Hi Mrkus, ich plane für meine zukünftige Hausautomation CAN einzusetzen. Zum einen weil ich beruflich täglich damit zu tun habe, zum anderen weil ich der Meinung bin, das CAN der optimale Bus für die Hausautomation ist. (Buslänge, Verfügbarkeit von ICs, Handhabung, Performance, ...) Als Hardware habe ich nun, nach dem ich zunächst den Atmel µC AtMega8, den CAN-Controller MCP2515 im Auge hatte, eine Lösung mit einem PIC18F im Sinn, da es hier zum einen Typen gibt, die den CAN-Controller schon integriert haben und zum anderen auch noch kleiner von der Bauform sind. Ich versuch möglichst alles UP zu machen d.h. bei den Tastern soll je Einheit (= 1-4 Taster mit je zwei Wippen) eine Buskopplerplatine hinter einen der Taster montiert werden. Bei den Dimm-Aktoren hab ich mittlerweile von ELV einen Schaltplan für einen Phasenabschnittdimmer ausfindig gemacht, der bei elektronischen Trafos und ohmschen ohne Drossel auskommt. Diese Schaltung plane ich in abgewandelter Form mit CAN Anbindung (getrennt durch Optokoppler) zu nutzen. Für Schaltaktoren werde ich elektronische Staterelais Module verwenden. Jeder Aktor soll über einen eigenen Temperatursensor verfügen und bei zu hoher Temperatur wird im Schaltschrank die Versorgung abgeschaltet. Dies soll die Sicherheit erhöhen. Wobei natürlich alles VDE konform entwickelt und aufgebaut wird. Ich will wo immer möglich vermeiden mechanische Relais zu verwenden. Im wesentlichen, weil ich das Geräusch nicht haben will. Jeder Knoten soll sich über den Bus reprogrammieren lassen, damit ich nicht jeden Schalten öffnen muß um das Programm zu wechseln. Das bedeutet, das der µC über eine Möglichkeit verfügen muß das Flash über den CAN neu beschreiben zu können. >da spielt dann der preis wirklich eine rolle Preislich wird ein Buskoppler z.B. für Taster weniger als 15 Euro (Material) kosten (wobei bei Tastergruppen ja nur ein Koppler benötigt wird). Das teuerste ist die Platine, weshalb je kleiner auch um so günstiger ist. Aktoren werden natürlich etwas teurer sein, da hab ich noch nicht die Teile zusammengerechnet. > bzw. weiß wer eine gute informationsquelle für den canbus Informationen über CAN findest Du reichlich im Netz, einfach mal Googln. Ein guter Einstieg ist Wikipedia: http://de.wikipedia.org/wiki/Controller_Area_Network Und dann bei Bosch: http://www.semiconductors.bosch.de/en/20/can/3-literature.asp hier sei die CAN Spezifikation empfohlen: http://www.semiconductors.bosch.de/pdf/can2spec.pdf > übernehmen die CAN Controller auch das protokoll,fehlerhandling usw. Der CAN Controller übernimmt für die das ganze Bus-handling, d.h. Du musst "nur" die Daten (bis zu 8 Byte) in dem CAN Controller ablegen und das Senden über eine gewünschte ID veranlassen. Die ID gibt die Priorität an, falls mehrere Knoten gleichzeitig auf den Bus schreiben wollen. Wenn Deine Nachrichten mehr als 8 Byte lang sein soll mußt Du ein geeignetes Protokoll im µC implementieren. Ich überlege ob ich dazu das ISO CAN-TP verwende, welches z.B. für KWP2000 zur Diagnose von Fahrzeugsteuergeräten genutzt wird. Aber es geht auch ohne, man muß dann eben mit 8 Byte je Botschaft auskommen und das ist eigentlich für die typischen Hausautomations- fälle ausreichend. Soweit mal... Ich hab noch ca. 5 Jahre zur Entwicklung und Herstellung Zeit, deshalb kann ich mir auch viele viele Gedanken bis dahin machen. Wobei die Kopplerhardware bereits hier rumliegt und auf ein Platinenlayout wartet. Soweit mal, Timo Engelmann
Das entscheidende Problem beim CAN ist, daß man keine Stichleitungen ziehen kann. Hinterher die Topologie zu ändern, ist also ein Riesenaufwand. Ich würde da etwas Simpleres suchen, was beliebiege Topologien ermöglicht. Das ist ja der entscheidende Vorteil beim EIB: Abgesehen von der maximalen Länge kann man (bis auf einen Ring) einfach alles machen, als Kabel jederzeit überall verlängern. So etwas müßte sich doch auch mit einem selbst gemachten System machen lassen. Hat jemand eine Idee?
Hallo Stephan, naja, auch EIB muss der Physik folgen. Ich weiß jetzt nicht welche Übertragungsraten EIB fährt, aber entweder sind die relativ niedrig oder/und die Chips sind so gut, dass sie Refelxionen erkennen und ignorieren, weil die gibt es höchstwahrscheinlich je nach Topologie auch beim EIB. Betreibt man den CAN-Bus nicht mit 500kbaud und mit Treiberstärke "strong" so sollten auch mit dem CAN Bus relativ lange Stichleitungen machbar sein. Aber natürlich hast Du recht, so was liegt ausserhalb der Spec und kann am besten durch ausprobieren ermittelt werden. Allerdings halte ich es auch nicht für ganz so wild einfach zwei adern mehr zu verlegen und den Bus von zu jedem Koppler und dann wieder zurück zu verlegen. So bleibt es beim Bus und es gibt keine Probleme. Grüße Timo
hallo Markus, ein paar Infos für eine Realisierung mit I2C kannst Du den Handbüchern in meinem Projekt http://hauscomputer.gmxhome.de/ entnehmen. Ich nutze es für Messen/Steuern/Regeln im Haus. Vielleicht hilft Dir das. Gruß Uwe
danke für die vielen antworten. hört sich alles sehr interessant an...ich werde dann noch ein bisschen grübeln und meine lösung sicher mal online stellen lg markus
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.