mikrocontroller.net

Forum: Haus & Smart Home temperaturmessung über bussystem


Autor: markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Ralle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Tien (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Tien (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Tien (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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-lit...
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


















Autor: Stephan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Tien (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.