Forum: Mikrocontroller und Digitale Elektronik Temperaturüberwachung mittels Linux PC


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Manuel M. (tweek)


Lesenswert?

Hallo!

Ich bin hilfesuchend auf dieses Forum gestossen und hoffe das ich den 
Start nicht schon verpatze.
Im laufe dieser Woche wollen wir unser Haus um eine Solarheizung 
erweitern. Jetzt würde ich gerne eine Statistik füren ob diese auch 
bringt was sie verspricht.

Vorgestellt hatte ich mir das ganze so:

Über Temperaturfühler überwache ich folgende Temperaturen:

*Aussentemperatur
*Temperatur von der Solarheizung
*Temperatur vom Ölheizkessel
*Temperatur vom Warmwasserspeicher

Ich denke mit diesen 4 Fühlern sollte die Möglichkeit bestehen eine 
Statistik zu führen, denn damit sollte ich in der Lage sein, zu sagen 
wie Oft der Ölkessel dazuheizen muss und wieviel vom Solar kommt.

Meine Frage wäre jetzt nur, wie setze ich das am Besten um?
Ich habe bereits etwas mit den Dallas Temperatursensoren gefunden, 
jedoch weiß ich nicht ob das für meine Zwecke passen würde.

http://www.weppners.de/pics/lintemp/schaltplan_big.jpg

Wäre sehr dankbar für jede Unterstüzung.

Mfg
Manuel

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Willst du selber basteln?

Dann gibt es schöne DIY-Elektronik Anleitungen für Linux von Guido 
Socher (Tuxgraphics): 
http://www.google.de/search?hl=de&q=tuxgraphics+temperatur&btnG=Google-Suche&meta=

Wenn unter Linux programmieren kannst/willst, ist das lm_sensors Projekt 
vielleicht interessant. Als grafische Anzeige der daten dann KSensors 
oder GKrellM. Findet man einfach über Suchmaschinen.

Aber IMHO ist der (normale, nicht embedded) Linux-PC dafür der OVERKILL, 
weil er selbst im Dauerbetrieb viel zuviel Energie frisst.  Ausnahme - 
die Kiste läuft sowieso ;-)

Bei der reinen "Buchführung" bietet sich doch ein autonomer Datenlogger 
auf µC Basis geradezu an. Die Temperaturen werden regelmässig z.B. auf 
SD-Karte oder EEPROM gespeichert, ggf. auf einem LCD angezeigt und nur 
dann an den energiegierigen Auswerterechner übertragen, wenn du die 
Auswertung machst.

von Manuel M. (tweek)


Lesenswert?

Hallo!

Danke erstmals für deine Antworten, eigentlich hatte ich schon vor das 
ganze selbst zu basteln. Natürlich sollten die Kosten für den 
Selbstbausatz auch nicht explodieren, daher der gedanke mit den Dallas 
Temperaturfühlern.

Das ein Linux-PC alleine dafür übertrieben wäre ist mir bewusst, da bei 
mir zu Hause sowieso einer läuft, dachte ich diese Funktion gleich zu 
erweitern.

Mfg

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Die Dallas Fühler sind OK.

Die werden in einigen DIY Projekten eingesetzt. D.h. wenn du die nicht 
beim Löten verbrätst, kannst du die beim Projektwechsel recyclen.

Das oben vorgestellte Projekt von den Weppners liest sich OK. Damit kann 
man gut anfangen, um ein Gefühl für das Thema zu bekommen.

von Manuel M. (tweek)


Lesenswert?

Was ich jedoch gelesen habe ist, dass es Teilweise Probleme gibt mit den 
Temperaturen bei der oben genannten Schaltung.

Das man eine externe 5v Versorung anschliesen sollte.

Bzw. Wie erstelle ich damit am besten eine Statistik, die aber auch über 
längere Zeit hin übersichtlich bleibt?

Mfg

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Die externe Versorgung mit 5V würde ich auch machen. Derzeit werden die 
1-Wire Temperatursensoren parasitär aus der RS232-Schnittstelle 
versorgt.

Bei der Auswertung kannst du dich frei austoben.

Ich würde ein laufendes (scrollendes) Diagramm ähnlich wie 
Aktienkursanzeigen nehmen, um zeitliche Trends zu sehen. Ganz nett fände 
ich aber auch nachprogrammierte Analoganzeigen im Stil alter 
Messinstrumente.

von Manuel M. (tweek)


Lesenswert?

Das heißt also, ich müsste die DS18S20 extern mit 5V versorgen. Also VCC 
an 5V+ und GND and 5V- welche ich ja vom Netzteil abgreifen könnte.

Somit brauche ich nur mehr die Data Leitung für RS232 oder?

Mfg

von Michael (Gast)


Lesenswert?

Hallo Manuel,

wir überwachen zwei Rechenzentren mit DS18S20 und DS9097.
DS9097 ist ein RS232-1Wire Adapter, DS18S20 sind die Temperaturfühler.
Jahrelang haben wir DIGITEMP zur Auswertung benutzt.
Erst seit diesem Jahr haben wir eine eigene Applikation geschrieben.

Für diese vier Sensoren kann ich Dir folgendes wärmstens empfehlen:

VIA EPIA Pico- oder Nano-ITX Board
1x DS9097
Nx DS18S20
Betriebssystem: Linux
Software: DIGITEMP

Wir haben ein Bash-Skript um DIGITEMP verwendet welches von Cron alle 5 
Minuten aufgerufen wurde und die Daten dann in eine MySQL-Datenbank 
geschrieben hat. Zur Auswertung hatten wir dann jahrelang DTGRAPH. Das 
funzt super und absolut stabil und man kann beliebig in die 
Vergangenheit mit dem Graphen.

Grüsse
Michael

von Manuel M. (tweek)


Lesenswert?

Hallo!

Danke erstmal für die zahlreichen Antworten! Also das mit den 
Temperatur-Sensoren werde ich schonmal so umsetzen wie genannt.

Jetzt würde mich nur noch interessieren, wie könnte ich überwachen, ob 
die Heizungspumpe läuft oder nicht?

Ich hatte mir das relativ simple vorgestellt, die Pumpe wird ja über den 
Ofen angesteuert, was ist, wenn ich einfach ein Relais mitschalte 
welches mir ein Signal an den PC sendet.

Nur wie kann ich das Protokolieren? BZW, welche Steuerung könnte mir das 
Protokollieren?

Mfg

von Gast (Gast)


Lesenswert?

Ich würde das ganze mit einem AVR32 Board (NGW100 oder Grasshopper) 
machen. Dort läuft schon Linux und das Teil brauch nur unwesentlich mehr 
als 1 Watt.

Sensoren über I2C (z.b. LM75) oder 1-Wire am IO-Connector anschliessen. 
I2C bietet sich an weil der Support so schön in Linux integriert ist und 
man damit auch die Board Temperatur überwachen kann (via 
Boardcontroller).

Relais schalten geht sehr einfach via GPIO Pins...

von Manuel M. (tweek)


Lesenswert?

Hallo!

Also das wegen dem Stromverbrauch ist mehr oder weniger zu 
vernachlässigen, ich will nicht in ein zusätzliches Board investieren, 
da ich im Keller bereits einen Linux-PC stehen habe, welcher druchgehend 
läuft.
Da dieser PC zentral steht, will ich den eigentlich für das auslesen der 
Sensoren verwenden und diese Daten dann via Webinterface zur schau 
stellen.

Ich denke du hast mich ein wenig falsch verstanden oder ich hab mich 
schlecht ausgedrückt.
Schalten will ich eigentlich nichts, ich will nur überwachen, ob die 
Pumpe (z.b.:1) momentan in Betrieb ist oder nicht.

Und Protokoliern will ich zusätzlich zu den gemessenen Temperaturen auch 
die Laufzeiten der Pumpen.

Wäre es möglich einen kombinierten Controller zu bauen welcher nur einen 
COM Port belegt? Oder muss ich für die Tempertaurmessung sowie für die 
Laufzeitmessung getrennte verwenden?

Der Controller für die Temperaturmessung ist ja schonmal klar, jedoch 
was benötige ich um die Laufzeit zu messen?

Also zu messen ob die Pumpe läuft oder nicht?

Mfg

von (prx) A. K. (prx)


Lesenswert?

Manuel M. wrote:

> Wäre es möglich einen kombinierten Controller zu bauen welcher nur einen
> COM Port belegt? Oder muss ich für die Tempertaurmessung sowie für die
> Laufzeitmessung getrennte verwenden?

Es gibt auch 1-Wire Devices mit 1-Bit I/O-Port. D.h. es lassen sich alle 
Sensoren, ob analog oder digital, an den gleichen 1-Wire Bus hängen. Den 
mit dem oben erwähnten RS232/1-Wire Device an dem PC hängen und dann 
braucht's nur noch PC-Software, keinen Microcontroller.

von Manuel M. (tweek)


Lesenswert?

Also kann ich diese Problemlos kombinieren?
Könntest du mir eventuell noch sagen welche ich da verwenden könnte?

Mfg

von Peter D. (peda)


Lesenswert?

A. K. wrote:
> mit dem oben erwähnten RS232/1-Wire Device an dem PC hängen und dann
> braucht's nur noch PC-Software, keinen Microcontroller.

Was spricht denn gegen einen Mikrocontroller?

Der kann doch die Daten einlesen und einmal pro Tag liest ihn der 
UNIX-PC aus. Damit muß der PC überhaupt nichts Echtzeitiges mehr machen.

So ein MC ist viel einfacher zu programmieren als ein PC, besonders wenn 
es um zeitgenaue Sachen geht.

Der ATmega328 ist gut geeignet, hat massig SRAM (2kB) zum Daten puffern 
und ne UART. Ein Goldcap stützt bei Stromausfall die Daten im MC und 
läßt ihn die Uhrzeit weiter zählen.


Peter

von (prx) A. K. (prx)


Lesenswert?

@tweek:
http://www.1-wire.de/
http://www.fuchs-shop.com/

@peda:
Wenn der Linux-PC sowieso durchläuft, dann kann er das auch mit 
erledigen. Und sonderlich interessante Echtzeitbedingungen liegen nicht 
vor wenn ein intelligenter RS232/1-Wire oder USB/1-Wire Adapter 
verwendet wird. Muss man nicht so machen. Ist nur eine m.E. durchaus 
bedenkenswerte Variante von geringer Komplexität - vor allem wenn man 
mit µCs noch nicht viel gemacht hat.

von (prx) A. K. (prx)


Lesenswert?

Ein ähnliches Projekt: http://www.c2j2m.de und weitere Daten 
http://www.invest-tools.com/pub/solar/can/today.png.

Dort sammelt ein ARM7 allerlei Daten von Heizung, Solarbrauchwasser und 
Photovoltaik ein, speichert sie in Flash und übermittelt die Information 
an einen PC (für's Web) und ein LC-Display im Bad, via CAN Hausbus. ARM7 
nicht deshalb weil das nötig gewesen wäre, sondern weil mir die AVRs 
(von denen da auch ein paar drin stecken) langweilig geworden waren. 
Realisiert von meinem Bruder (Idee, high-level Programmierung) und mir 
(Elektronik, low-level Programmierung).

von (prx) A. K. (prx)


Lesenswert?


von Manuel M. (tweek)


Lesenswert?

Danke erstmal für die Antworten!

Nur, welchen Dallas brauch ich da?
Bzw wie funktioniert dann die Ansteuerung von der Pumpe aus?

Tut mir leid das ich als Leihe so viele Fragen stelle.

Mfg

von (prx) A. K. (prx)


Lesenswert?

DS18S20 oder DS18B20 für die Temperatur, darüber findet sich hier viel 
im Forum, einfach mal suchen. Evtl. auch Artikel.

Ein/Aus-Sensor und ggf. auch Ausgang: DS2408. Gibt's auch 1x statt 8x.

Zu anderen 1-Wire-Devices bei Dallas/Maxim suchen. Über den 1-Wire-Bus 
gibt es dort ein paar recht nützliche Application Notes.

Schaltzustand von Pumpen und dergleichen ist am einfachsten und 
sichersten mit 230V-Wechselstromrelais zu haben, wenn man an die 
Niederspannungssignale aus der Steuerung nicht ran will.

von Manuel M. (tweek)


Lesenswert?

Hallo!

Das mit den Relais, hatte ich mir auch so gedacht, jedoch ist mir noch 
nicht ganz klar, wie die Pinbelegung am z.b. DS2408 erfolgen muss, 
bezüglich der Eingängen von den Pumpen.

Beispiel Schaltplan gibts dafür keinen oder?

Mfg

von (prx) A. K. (prx)


Lesenswert?

Ungefähr so:


                                        VCC
                                         |
                                        .-.
                                        | |
                                        | |4K7
                                        '-'
                                         |
                                         o--------oZustand
                                         |
                                         |
                       o---------_    \  o
                                  )|   \
                    230V          )|    \.
                                 _)|     o
                       o---------        |
                                         |
                                        ===
                                        GND


Aber wenn schon dies böhmische Dörfer sind, wär's wohl deutlich 
einfacher wenn du dich unter den oben gezeigten Links nach 
Fertigbausteinen umsiehst. Der Fuchs-Shop hat da wohl alles zu bieten, 
vom PC-Interface über Temperatur- zu Spannungssensoren.

von Manuel M. (tweek)


Lesenswert?

Danke für deine Bemühungen!
Aber das war mir soweit klar, mich würde nur die Arbeitsspannung des 
DS2408 interessieren.

Ich hab mir jetzt nochmal das PDF angesehen und denke das sollte das 
richtige sein oder?

http://www.bild-upload.net/archiv.php?bild=1791&bild_name=bild1YUQSK.png

von (prx) A. K. (prx)


Lesenswert?

Ja, das passt schon. 3-Leitungs-Bus mit 5V drauf, entsprechend der 
1-Wire Vorgabe verdrahtet, und daran die diversen Sensoren. Wobei das 
Bild ja zu einer Tastenmatrix gehört, was bei dir wohl nicht der Fall 
sein dürfte, und die Relaiskontakte deshalb schlicht gegen GND schalten.

von Ulrich P. (uprinz)


Lesenswert?

Also ich mache das ganze mit einer Rittal CMC-PU, dazu die Wireless-IO 
Unit und diverse Funksensoren. Jede Etage vom Dach bis zum Keller hat 
einen Temperatur-Sensor und innen gibt es im Wohnbereich und im Keller 
noch einen Feuchtesensor. Außen einen Temperatur- und einen 
Feuchtesensor.

Mein Linux Server fragt die CMC-PU via SNMP ab und loggt die ganzen 
Messwerte nach CACTI, was mit wenig Plattenplatz eine komplette 
Statistik fürs ganze Jahr fährt.

Ist zugegeben nicht ganz billig als Lösung, erspart aber den kompletten 
Verkabelungsaufwand. Werde über eine I/O Unit jetzt noch meine 
Heizungsanlage mit Termonfühlern ausstatten um deren Regelaktionen bei 
verschiedenen Temperaturverläufen mit zu erfassen.

Gruß, Ulrich

von (prx) A. K. (prx)


Lesenswert?

Ulrich P. wrote:

> Also ich mache das ganze mit einer Rittal CMC-PU, dazu die Wireless-IO
> Unit und diverse Funksensoren. [...] Mein Linux Server fragt die CMC-PU
> via SNMP ab

Das ist dann eindeutig die Luxusversion.

Ich nehme an, der Aussentemperatursensor kriegt auch seinen Strom über 
Funk ;-). Das nämlich ist der Vorteil kabelgebundener Sensoren und 
Hausbusse.

von Manuel M. (tweek)


Lesenswert?

Also entsprechend deiner Zeichnung,

Und demzufolge geht dann Zustand auf (P0,P1,P2...) oder? Bzw. welchen 
Widerstand muss ich da vorschalten?

Mfg

von (prx) A. K. (prx)


Lesenswert?

Also jetzt aber ... in dem Bild vor dir ist doch alles drin, nur sind 
die Schalter dort auf eine Tastaturmatrix bezogen. Bischen selber denken 
darf ich hoffentlich erwarten.

von Manuel M. (tweek)


Lesenswert?

Hallo!

Sorry bin leider nicht vom Fach somit auch nicht jeden Tag damit 
umgeben.
Wenn du sagst es ist alles in dem Bild drinnen sollte es meiner Meinung 
nach so aussehen:

                                    VCC
                                         |
                                        .-.
                                        | |
                                        | |10kO
                                        '-'
                                         |
                                         o--------oP0
                                         |
                                         |
                       o---------_    \  o
                                  )|   \
                    230V          )|    \.
                                 _)|     o
                       o---------        |
                                         |
                                        P4

von (prx) A. K. (prx)


Lesenswert?

Fast.
                                        VCC
                                         |
                                        .-.
                                        | |
                                        | |10kO
                                        '-'
                                         |
                                         o--------oP0
                                         |
                                         |
                       o---------_    \  o
                                  )|   \
                    230V          )|    \.
                                 _)|     o
                       o---------        |
                                         |
                                        GND

von Manuel M. (tweek)


Lesenswert?

Sorry, hab gerade nochmal das Datasheet durchforstet und folgendes 
gefunden, ich denke das sollte das Problem lösen, lediglich die Taster 
werden durch Relais ersetzt.

http://www.bild-upload.net/archiv.php?bild=1793&bild_name=bild20WTNK.png

Mfg

von (prx) A. K. (prx)


Lesenswert?

So geht's auch. Ich würde aber der Flexibilität zuliebe nicht mit 
parasitärer Stromversorgung arbeiten (siehe Datasheet vom DS1820 für 
dessen Bedeutung), sondern 5V mitführen. Wie im ersten der beiden 
Bilder.

Bei parasitärer Versorgung ist bei jeder Temperaturmessung der Bus für 
knapp 1sec unbenutzbar.

von Manuel M. (tweek)


Lesenswert?

Super, jetzt brauch ich nur mehr die im ersten Post angeführte Steuerung 
mit dem DS2408 erweitern oder?

Mir ist nur aufgefallen das bei dern Schaltung im ersten Post die Werte 
für die Dioden fehlen.

Mfg

von (prx) A. K. (prx)


Lesenswert?

Im ersten Post sind ja auch keine Dioden. Weil nicht nötig.

von Manuel M. (tweek)


Lesenswert?


von (prx) A. K. (prx)


Lesenswert?

Die Dioden-Variante würde ich mit einem Linux-Rechner bleiben lassen. 
Zeiten von 1µs kriegst du nicht sicher zustande, wenn du nicht grad 
einen Linux-Device-Driver schreiben willst.

Nimm lieber sowas: http://www.fuchs-shop.com/shop/17/1/13372119, 
entweder direkt oder auf Basis des verwendeten Chips selber gebaut. Und 
dann entweder parasitär arbeiten, oder irgendwoher 5V für die Sensoren 
organisieren.

von Manuel M. (tweek)


Lesenswert?

Danke für das Angebot, jedoch entfällt da doch der Bastelspass.
Ich denke ich werde das ganze entsprechend der Anleitung basteln zwar in 
Englisch, dennoch relativ gut erklärt.

http://martybugs.net/electronics/tempsensor/hardware.cgi

Und diese Steuerung einfach um den DS2408 erweitern, sofern ich diesen 
irgendwo bekomme...

Mfg

von (prx) A. K. (prx)


Lesenswert?

Habe mir die Appnote mal angesehen - könnte funktionieren, da das Timing 
über geschickte Nutzung der UART abgewickelt wird. Den DS2408 gibt's an 
besagter Adresse.

von Manuel M. (tweek)


Lesenswert?

Schade und ich dachte ich kann morgen zu basteln beginnen. Beim Conrad 
kostet ein Dallas DS18S20 sage und schreibe 8 Euro.
Das ist bei den von mir gewünschten 6 Sensoren auch nicht mehr wenig 
Geld.
Abgesehen davon das er den DS2408 nicht im Sortiment hat.

Mfg

von (prx) A. K. (prx)


Lesenswert?

Bei meinem Conrad sind es 5€, aber auch das ist verglichen mit den 1,85€ 
von CSD etwas viel - Conrad halt.

tme.eu wiederum hat diverse 1-Wires zu passablen Preisen, aber nicht den 
DS2408, dafür aber den DS2405 für 1-bit I/O.

von Manuel M. (tweek)


Lesenswert?

A. K. wrote:
> Bei meinem Conrad sind es 5€, aber auch das ist verglichen mit den 1,85€
> von CSD etwas viel - Conrad halt.
>
> tme.eu wiederum hat diverse 1-Wires zu passablen Preisen, aber nicht den
> DS2408, dafür aber den DS2405 für 1-bit I/O.


Habe gerade in der Bucht (Ebay) welche aus Polen gekauft, € 1,45 das 
Stück da konnte ich es mir nicht verkneifen gleich 10 zu kaufen. Denn so 
günstig bekomme ich diese vermutlich nicht mehr im Ösiland.

Der DS2405 ist vom Preis her ja nicht viel günstiger als der DS2408 mit 
8-bit.

mfg

von (prx) A. K. (prx)


Lesenswert?

Findest du?
DS2405: 1,61€ bei TME
DS2408: 7,90€ bei fuchs-shop
Obacht, Polen ist kein Euroland und Standardwährung bei TME ist folglich 
Sloty.

Hmm, ich sehe grad, das TME euch Osis nicht recht zu mögen scheint. 5,90 
nach D, 9,90 nach Ö.

von Manuel M. (tweek)


Lesenswert?

Ja die Versandkosten stehen leider nicht in Relation zum Artikel.
Leider jedoch gibts bei uns in Ö, soetwas wie Reichelt nicht.

Mfg

von Peter D. (peda)


Lesenswert?

Manuel M. wrote:
> Abgesehen davon das er den DS2408 nicht im Sortiment hat.

Na dann nimm doch einfach direkt ne Handshakeleitung der UART und gut 
is.
Das I2C braucht ja nur RXD/TXD.


Peter

von Manuel M. (tweek)


Lesenswert?

Peter Dannegger wrote:
> Manuel M. wrote:
>> Abgesehen davon das er den DS2408 nicht im Sortiment hat.
>
> Na dann nimm doch einfach direkt ne Handshakeleitung der UART und gut
> is.
> Das I2C braucht ja nur RXD/TXD.
>
>
> Peter

Damit kann ich leider nicht wirklich viel anfangen.
Eine Frage noch, welche Softwaremöglichkeiten gibt es um die 
Temperaturen sowie die Pumpenaktivität auszulesen?

Mfg

von Peter D. (peda)


Lesenswert?

Manuel M. wrote:
> Peter Dannegger wrote:
>> Na dann nimm doch einfach direkt ne Handshakeleitung der UART und gut
>> is.
>
> Damit kann ich leider nicht wirklich viel anfangen.

???

Wenn man ne Schnittstelle verwendet, sollte man wenigstens grundlegende 
Kenntnisse darüber haben:

http://de.wikipedia.org/wiki/EIA-232


> Eine Frage noch, welche Softwaremöglichkeiten gibt es um die
> Temperaturen sowie die Pumpenaktivität auszulesen?

Der DS9097 ist nur ein Stecker mit 2 Transistoren, also vollkommen 
passiv.
Die Software muß daher jedes einzelne Bit zu Fuß machen.
Je nach Meßrate kann das schon ne merkbare CPU-Last sein. D.h. die 
Stromaufnahme des Linux-PC kann meßbar höher sein, als im Leerlauf.

Das Abfragen der Pumpe per Handshakeleitung erleichtert das erheblich 
(Interrupt).
Die Temperatursensoren muß man ja nicht so oft abfragen, alle 30s sollte 
dicke reichen.


Peter

von (prx) A. K. (prx)


Lesenswert?

Peter Dannegger wrote:

> Der DS9097 ist nur ein Stecker mit 2 Transistoren, also vollkommen
> passiv.

Kommt drauf an welche Version. In diesem steckt ein DS2480B und das ist 
ein UART/1-Wire Converter: 
http://www.fuchs-shop.com/download/datasheets/maxim/DS9097U-009-DS9097U-S09.pdf. 
Ziemlich aktiv und nix mit Bits zu Fuss.

von Peter D. (peda)


Lesenswert?

A. K. wrote:
> Kommt drauf an welche Version. In diesem steckt ein DS2480B und das ist
> ein UART/1-Wire Converter:

O.k., der nimmt einem das Timing ab, dafür muß man aber noch ein 
weiteres Bauteil lernen und eine weitere Protokollschicht.

Figure 2. STATE TRANSITION DIAGRAM auf Seite 4 sieht ja schön 
kompliziert aus.

Da ich aber nur mit MCs arbeite, hab ich mich nie für solche ICs 
interessiert oder ne UART vergewaltigen müsssen.
Ich mache 1-wire einfach direkt mit nem IO-Pin. Für nen MC ist ja 1-wire 
ein Klacks.
Ich hab auch den Eindruck, daß mein Beispiel in der Codesammlung kaum 
Probleme bereitet hat.

Ein Attiny25 hat auch nur 8 Pins, dürfte aber billiger als der DS2480 
sein und könnte so programmiert werden (per Bootloader), daß er 
Temperatur und Zeitstempel direkt in ASCII ausgibt oder in nem anderen 
Format ganz wie es einem gefällt.


Peter

von (prx) A. K. (prx)


Lesenswert?

Peter, du brauchst nicht mich davon zu überzeugen. Ich habe es mit 
einem Controller als Datalogger und Sensoren unterschiedlichen Typs und 
unterschiedlicher Anbindung gemacht. Ich lasse auch lieber einen 
Controller durchlaufen als einen PC.

Allein, für jemanden der keine Vorstellung davon hat(te) wie man einen 
Schalter an einen DS2408 dranhängt und der wahrscheinlich noch nie einen 
Microcontroller verwendet hat, für den scheint mir die Lösung ohne 
Controller schlichtweg einfacher und erfolgversprechender zu sein.

Zumal er so dem Erfolgserlebnis funktionierender Sensoren deutlich näher 
ist. Wenn alles neu ist, also sowohl Sensoren als auch Controller, ist 
das Risiko aufzugeben weitaus grösser. Es spricht ja nichts dagegen, den 
PC später durch einen Controller zu ersetzen. Am Bus ändert sich dann 
nichts.

von Manuel M. (tweek)


Lesenswert?

Hallo!

Dürfte ich vielleicht noch einmal auf die Frage der Software zurück 
kommen?
Digitemp ermöglicht es mir die Temperaturen auszulesen, was benötige ich 
aber um die Schaltstellungen des DS2408 auszulesen?
Ich hab schon gegoogelt und bin dabei auf eine Software namens OWFS.

Mfg

von Olof G. (ole)


Angehängte Dateien:

Lesenswert?

Moin,

der Thread ist ja schon etwas älter, also weiß ich net, ob überhaupt 
noch Bedarf an einer Antwort besteht.

Also ich habe mir das ganze hier per OWFS aufgebaut.
Als Basis nutze ich einen alten Router (Netgear WGT634U) auf dem openwrt 
läuft.
Per OWFS sammle ich jede minute die Daten von 7 Temperatursensoren und 
einem 8-bit I/O (DS18B20 und DS2408)
Angeschlossen ist der 1-wire Bus per usb->serial Adapter und dann mit 
einem serial-> 1-wire bus adapter (DS2480b)

Ist alles im eigebau zu machen, allerdings sollte man etwas Ahnung von 
Linux haben.

Gespeichert werden die daten dann in einer SQLite3 db.

Ausgabe erfolgt ebenfalls direkt über den Router mittels PHP und gd-lib.

Die scripte sowohl zu Sammeln der Daten wie auch zur Ausgabe mittels PHP 
habe ich selber geschrieben. Sind schon einige Zeilen und diverse Abende 
bei draufgegangen, aber dann lief eigentlich alles sehr sauber.

Allerdings passierte dann was ganz merkwürdiges... alle Temp-Sensoren 
sind mir währen eine 2 wöchigen shut-down phase gestorben.

Naja nun bin ich dabei eine neue Version davon aufzubauen. Evtl. auch 
PC-basiert, wobei die Leistung des Routers eig. ausreichend war.

Die Berechnung des Bildes im Anhang dauert gefühlte knappe 10 sek.

Gruß,

Ole

von Manuel M. (tweek)


Lesenswert?

Hallo!

Ich hab die Sache mittlerweile auch gelöst und muss sagen, dass ich mit 
dem Ergebnis zufrieden bin.

Bin jedoch einen etwas anderen Weg gegangen, die Sensorwerte werden über 
Digitemp ausgelesen und anschließend einer MYSQL Datenbank übergeben.

Dann kann ich ebenfalls via Webinterface die Werte abrufen.

Was mir jedoch noch fehlt ist, ich würde gerne die Laufzeiten der Pumpen 
protokollieren, jetzt stellt sich mir nur die Frage, wie?

Ich habe gelesen das es Möglichkeiten über den Parallelport gibt, kennt 
da jemand etwas?

Mfg

von Christoph K. (chriskuku)


Lesenswert?

Stefan B. wrote:
> Die externe Versorgung mit 5V würde ich auch machen. Derzeit werden die
> 1-Wire Temperatursensoren parasitär aus der RS232-Schnittstelle
> versorgt.
>
> Bei der Auswertung kannst du dich frei austoben.
>
> Ich würde ein laufendes (scrollendes) Diagramm ähnlich wie
> Aktienkursanzeigen nehmen, um zeitliche Trends zu sehen. Ganz nett fände
> ich aber auch nachprogrammierte Analoganzeigen im Stil alter
> Messinstrumente.


Hallo, der Thread ist ja schon etwas älter, aber ich wollte keinen neuen 
aufmachen.

Ich finde die Lösung mit dem Dallas Sensor eigentlich ideal, zumal der 
Baustein bei meinem lokalen Händler nur 2,45 kostet - vielleicht ist er 
im Versandhandel mittlerweile auch billiger geworden. Ein AVR-Webserver 
ist m.E. overkill, wie schon jemand schrieb, wenn der AVR-Server nicht 
aus anderen Gründen ohnehin läuft.

http://www.weppners.de/pics/lintemp/schaltplan_big.jpg

Warum aber eine externe Versorgung, wenn es doch die Selbstversorgung 
aus der RS232 gibt? Vielleicht habe ich aber auch nicht den ganzen 
(langen)Thread gelesen.

Auch die Verwendung von Digitemp und dem DS2408 ist m.E. zuviel des 
Guten, zumindest für meine Anwendung, in der ich nur die Temperatur 
monitoren will und ggfs. eine Email auslöse, wenn ein Wert überschritten 
wird.
Welche Software steuert den Dallas Sensor unter Linux? Ich finde auf den 
Weppners-Seiten nur das Bild.


Grüße

Christoph

von Christoph K. (chriskuku)


Lesenswert?

So, habe mich noch etwas mehr eingelesen und die Schaltung
http://www.weppners.de/pics/lintemp/schaltplan_big.jpg

aufgebaut. Bin bei dem Paket digitemp (unter Linux - Ubuntu) gelandet. 
Funktioniert aber noch nicht.
/usr/bin/digitemp -> /usr/bin/digitemp_DS9097
macht keine Ausgabe.

Vielleicht stimmt mein Aufbau noch nicht. Wo man hinguckt, sind entweder 
dicke Schnitzer in der Schaltung:
http://martybugs.net/electronics/tempsensor/hardware.cgi (pin 1 mit 3 
verbunden???)
Oder bei weppners Nachlässigkeiten: Wiederstand, Shottky (auch wenn die 
Amis es so schreiben mögen), L-Symbol für R, Schaltsymbol für Elko, 
Tantalium. Gut, man ist ja nicht kleinlich.

Was ist nun die "richtige" Schaltung für den seriellen 1-Wire-Adapter?

von Christoph K. (chriskuku)


Lesenswert?

Sah gerade, daß das doch kein "Schnitzer" ist in
http://martybugs.net/electronics/tempsensor/hardware.cgi
sondern Absicht. Vdd muß in der Schaltung mit Ground verbunden sein 
(sog. parasitic Mode, in dem der Chip arbeiten kann). Vielleicht kann 
das jemand erklären.

Grüße

Christoph

von Fritz L. (netfritz)


Lesenswert?

Hallo Ole
Bist Du schon weiter gekommen mit 1-wire und owfs.
Ich möchte ein paar 1-wire Temp. über USB mit owfs und PHP abfragen und 
in eine RRD-Tool Datenbank schreiben.
Gruß NetFritz

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.