Hallo zusammen, ich möchte die Temperatur unseres Pools im Sommer mittels 1-Wire Sensor und einem Arduino messen. Wenn ich ein neues Kabel ziehen würde, müsste ich eine Strecke von ca. 30m z.B. mittels Cat5 Kabel überbrücken und dazu den halben Garten umgraben - was nicht wirklich sinnvoll ist. Daher bin ich dabei, die verbleibenden Möglichkeiten auszuloten. Es gibt ein bestehendes 230V Kabel, ca. 15m lang, welches ich ggf. zweckentfremden könnte. Das eine Ende hängt im Schuppen an einer Zeitschaltuhr, das andere ist in Poolnähe, dort hängt der Reinigungs-Roboter dran. Dieser wird mit 12V (oder 24V) Gleichspannung betrieben - an der Steckdose in Pool-Nähe steckt das Steuergerät mit Travo. Die Idee ist nun, den Travo in den Schuppen zu verlagern. Dann würde ich die Versorgungsspannung des Pool-Roboters auf 2 Adern der Zuleitung legen. Es bliebe eine dritte Ader frei. Mit dieser und einer der beiden Strom-Adern des Roboters könnte ich den Sensor betreiben. Meine Fragen dazu: Ist es realistisch, den Sensor (bzw. die Sensoren) am Ende einer (nicht geschirmten, nicht verdrillten) 15m langen Leitung noch erfassen zu können? Es käme ja auch nur "parasitic power", also die Versorgung über diese eine Leitung in Frage. Hat die Versorgung des Pool-Roboters irgendwelche negativen Auswirkungen auf das Ganze? Der Roboter ändert immer mal seine Richtung, d.h. es gibt vermutlich regelmäßige Änderungen der Polung der beiden Adern. Gibt es evtl. eine bessere Lösung unter Verwendung der bestehenden Verkabelung? Als Alternative würde ich einen Arduino mit 433MHz Sender am Pool platzieren und über die Leitung mit Strom versorgen, aber das ist nur "Plan B". Vielen Dank im Voraus für Eure Antworten, Michael.
Ich habe ein wenig dazugelernt und würde das Thema gern nochmal aufgreifen. Ob der 1-Wire-Sensor über die Leitung funktioniert, muss ich testen. Mit ein paar Meter Klingeldraht geht es problemlos, ich schätze, es könnte gehen. Das Poolroboter-Netzteil hat einen Output von 34V/180W. In meinem Anwendungsfall würden 2 Leitungen den Strom leiten. Eine davon wäre die Masse meines 1-Wire-Sensors, die 3. Leitung die Strom+Datenleitung. Mir stellen sich nun 3 konkrete Fragen: 1. Ist ein 1,5mm² Kabel dafür tauglich? Ich denke ja, man kann es normalerweise mit 10A belasten. 2. Wenn der Roboter die Richtung wechselt, also die Polung sich ändert, wird dann evtl. kurzzeitig eine hohe Spannung induziert? Wenn ja, wie kann ich den Sensor auf der einen und den Atmega auf der anderen Seite davor schützen? 3. Könnte zwischen der Datenleitung und der Masseleitung, welche ja gleichzeitig eine Strom-Leitung des Pool-Roboters ist, eine Spannung durch irgendwelche Effekte zwischen den beiden Netzteilen anliegen? Wen ja, was kann ich dagegen tun? Vielen Dank für Eure Antworten, Michael.
Früher, in der analogen Zeit, als es noch keine Atmegas gab, hat man das Problem so gelöst. Du hast auf der einen Seite eine Spannungsquelle, die einen entfernten Temperatursensor mit Spannung versorgt. Diese Spannungsquelle hat eine Strombegrenzung auf etwas mehr als 20mA eingebaut. Zum Temperatursensor geht eine Doppelader, an die keine besonderen Anforderungen gestellt werden. Der entfernte Temperatursensor belastet die Spannungsquelle immer mit 4mA. Daraus erzeugt er seine Betriebsspannung. Je nach Temperatur kann er weiteren Strom ziehen, bis zu 20mA. Je nach Temperatursensor entsprechen beispielsweise 4mA -20°C und 20mA 44°C, d.h. 1mA Strom zusätzlich zu den 4mA entsprechen 4°C mehr auf die -20°. Der Umrechnungsfaktor von Strom auf Messwert ist reine Definitionssache. Es gibt ja auch Thermoelemente, die von 0 bis 1500 °C messen. Da wird man die Parameter entsprechend anders wählen. Der Empfänger an der Spannungsversorgung muss nur den Strom messen, um die Temperatur an der anderen Seite der Leitung herauszubekommen. Fließt kein Strom (normal müssen ja immer mindestens 4mA fließen), ist die Leitung unterbrochen. Fließen mehr als 20mA, ist irgendwo in der Leitung oder im Sensor ein Kurzschluss. Der Innenwiderstand der Leitung zwischen Sensor und Auswerteeinheit ist völlig egal, weil der Sensor ja einen Strom einprägt und keine Spannung. Und da in einem Stromkreis kein Strom verloren gehen kann, ist das Verfahren zuverlässig, ziemlich unempfindlich gegen Störungen, und Leitungsfehler können auch sehr einfach erkannt werden. In der Industrie ist das immer noch ein Standardverfahren. Anstelle von Temperaturen können auch alle möglichen anderen Messwerte (Drücke, Füllstände, Entfernungen,...) übertragen werden, und für entsprechende Sensoren und Auswerteeinheiten gibt es jede Menge Hersteller, die entsprechendes Gerät anbieten. Das vielleicht mal als Denkanregung. fchk
Ich habe gewisse Bedenken. Wenn dein 3 adriges 1,5er Kabel die 230 V Versorgung zum Netzteil des Roboters darstellt hast du keine 2 separaten Leitungen. Denn meist liegt MP im Sicherungsverteiler über eine Brücke auf PE Potential. Bedeutet keine zwei getrennte Leitungen. Ist das Kabel aber die 12/24 V Versorgung, dann gilt auszumessen ob eine Ader gegen die beiden anderen Spannungsfrei ist. Eine Ader muss minimum Potentialfrei sein. Die würde ich dann als Signalleitung nutzen und den Minus der 12/24 V gleichzeitig als GND für den 1 Wire Sensor. In der Auslesesoftware des Sensors den CRC-Check so einbinden dass nur korrekte Sensorwerte übernommen werden.
@Frank K. - das wird auf jeden Fall interessant, falls die digitalen Sensoren nicht über die lange Leitung funktionieren. Ich habe gerade eine Handvoll alte Wärmemengenmessgeräte bekommen und auseinandergebaut. Dort sind wasserdichte analoge Temperatursensoren drin, deren Widerstand um die 1000 Ohm liegt - nach ein wenig googeln tippe ich auf PT1000. Damit sollte ich sowas ja realisieren lassen, oder? Leider fehlt mir das technische Fachwissen, um sowas zu realisieren, ich komme aus der Software-Ecke (und bevorzuge deshalb auch digitale Sensoren ^^). Wie müsste ich mir eine solche Schaltung vorstellen, damit am Ende am Analog-Eingang des Atmega zwischen 0 und 5 V ankommen, welche den Temperatur des Sensors abbilden (oder wenigstens einen Teilbereich, sagen wir mal -20 bis +40 °C)?
@Helmut H.: Das habe ich wohl etwas missverständlich beschrieben. Das Netzteil liefert 34V (die 12 oder 24 aus dem 1. Post waren falsch). Diese 34V will ich über 2 der Adern leiten. Dann bleibt eine Ader frei, die zusammen mit einer der beiden 34V Adern das Temperatursignal leiten könnte. Der Roboter wechelt immer mal die Richtung. Ich vermute, die Steuerung dazu liegt auch im Netzteil, so dass Plus und Minus auf der Leitung dann wechseln. Nun frage ich mich, ob bei einem solchen Wechsel oder beim Einschalten eine Spannung auf der freien Ader (gegen eine der anderen Adern) induziert werden könnte und was ich dagegen tun könnte. Ich werd's auch nochmal nachmessen - wenn der Richtungswechsel im Roboter passiert und es ein definiertes Minus gibt, nehme ich das einfach als GND des Sensors.
Michael W. schrieb: > Ist ein 1,5mm² Kabel dafür tauglich? Ich denke ja, man kann es > normalerweise mit 10A belasten. Strombelastbarkeit ist nicht alles - es gibt z. B. noch den Spannungsfall. Für eine Ader komme ich gerade auf ca. 170mOhm. Ergäbe z. B. eine Masseverschiebung von 0,9V bzw. einen Spannungsfall am Verbraucher von 1,8V bei Deinem Strom von 5,3A. Michael W. schrieb: > Wenn der Roboter die Richtung wechselt, also die Polung sich ändert, > wird dann evtl. kurzzeitig eine hohe Spannung induziert? Je nach Aufbau und Ausführung kann die Spannungsversorgung ziemlich "versaut" werden - nicht nur durch induzierte Spannungen, sondern auch durch Änderungen im Stromfluss (resultierend in einer Änderung der Masseverschiebung - s. o.) Lösung: fchk's Vorschlag. Zwischen gemeinsamer Masse und dritter Ader eine Stromsenke. Michael W. schrieb: > ach ein wenig googeln > tippe ich auf PT1000. Damit sollte ich sowas ja realisieren lassen, > oder? Im Prinzip schon - allerdings haben PT-Sensoren eine recht flache Kennlinie. Ich empfehle einen integrierten Baustein; schau Dir mal den XTR112 bzw. XTR114 an - musst nur die Widerstände entsprechend berechnen. Für die "Rückumwandlung" des Stroms in eine Spannung tut es im Prinzip ein Shunt; da Du jedoch den Shunt in der positiven Versorgungsspannungsleitung platzieren musst und diese über dem positiven Potential des µC liegt, wenn Du unbedingt beide Massen verbinden willst, ist eine Operationsverstärker-Schaltung zur Strom-Spannungs-Wandlung das Mittel der Wahl.
Ich frage mich gerade, ob ich mit meinem Ansatz den richtigen Weg gehe. Ursprünglich dachte ich, damit wird es deutlich einfacher aber es erscheint mir inzwischen eine recht komplizierte Lösung. Daher würde ich nochmal einen Schritt zurücktreten und neu überlegen. Ist-Stand: 3-adrige 230V Leitung vom Schuppen zum Pool. Nahe Pool der Travo des Roboters, im Schuppen eine Zeitschaltuhr. Im Schuppen ein Arduino, der Temperaturen per 433 MHz ins Haus funkt. Soll: Weiterhin funktionierender Roboter plus sin Temperatursensor im Pool, dessen Temperatur irgendwie in Haus gelangt. Ich könnte auch einfach einen Arduino mit Sensor und Funkmodul am Pool platzieren (Atmega+Quarz+Sensor+Sender <10€). Bleibt noch das Problem der Spannungsversorgung. Da sehe ich 2 Wege: - Dauerstrom am Pool, Verteiler mit Netzteil für den Arduino, Zeitschaltuhr+Travo Lieber wäre mir, die 230V noch weiter vom Pool wegzubekommen. D.h. 34V/180W über 2 Adern 15m weit zum Pool leiten. Die freie Ader + eine der anderen mit 9V zum Pool leiten, vor dem Atmega einen Spannungsregler (7805) + Kondensatoren, um induktive Spitzen abzufangen. Sind die 1,8V Spannungsabfall als kritisch anzusehen oder kann man auf die 10W einfach "verzichten"? Am Poolroboter sind sowieso schon ~15m flexibles Kabel dran. Hat noch jemande eine bessere Idee?
Michael W. schrieb: > Leider fehlt mir das technische Fachwissen, um sowas zu realisieren, ich > komme aus der Software-Ecke (und bevorzuge deshalb auch digitale > Sensoren ^^). Wie müsste ich mir eine solche Schaltung vorstellen, damit > am Ende am Analog-Eingang des Atmega zwischen 0 und 5 V ankommen, welche > den Temperatur des Sensors abbilden (oder wenigstens einen Teilbereich, > sagen wir mal -20 bis +40 °C)? Lies mal das hier: http://www.ni.com/white-paper/6940/en http://sound.westhost.com/appnotes/an011.htm Hiermit kann man 4-20mA Transmitter bauen. http://www.ti.com/lit/ds/symlink/xtr105.pdf http://www.ti.com/lit/ds/symlink/xtr117.pdf http://www.analog.com/en/specialty-amplifiers/instrumentation-amplifiers/ad693/products/product.html http://www.analog.com/en/specialty-amplifiers/instrumentation-amplifiers/ad694/products/product.html Und so sieht ein industrieller Sensor aus: http://www.ifm.com/ifmch/web/news/news__6LSE3U.html
So, ich hab's heute mal getestet: 1 Wire mit einem DS18B20 funktioniert problemlos auf einer 15m langen ungeschirmten 2 adrigen Leitung (Lautsprecherkabel). Allerdings musste ich den Pullup auf 2kOhm reduzieren (von 4,7 aus dem Datenblatt). Dies war allerdings auch schon bei 10cm Kabel nötig - sonst wird der Sensor zwar gefunden, die Temperatur aber nicht komplett ausgelesen. Das heißt also, ich kann mein Vorhaben erstmal mit 1-Wire realisieren ohne Probleme mit der Übertragung an sich zu bekommen. Aufgrund der möglichen Probleme mit der hohen (und gelegentlich wechselnden) Spannung auf dem Kabel habe ich beschlossen, im Frühjahr den Spaten rauszunehmen und eine extra Leitung für den Anschluss des Sensors zu verlegen (dann gleich eine mehradrige, wo ich 3 Adern für den Sensor habe). Vielen Dank für die vielen interessanten Beiträge und Tipps. Grüße, Michael.
Michael W. schrieb: > und eine extra Leitung für den Anschluss des Sensors zu verlegen (dann > gleich eine mehradrige, wo ich 3 Adern für den Sensor habe). Ich würde eine Cat5 Leitung mit Shield empfehlen die in einem Wetterfesten PE-Rohr verläuft. Dann hast Du 8 Adern und einen Schirm gegen Störeinflüsse.
Michael W. schrieb: > Hat noch jemande eine bessere Idee? Was ist denn, wenn du auf dem Arduino ein Ethernet shield steckts und dann die Daten über ein Powerline Adapter überträgst? Da gibt es sicher schon einige Anwendungen im Netz. Strom hast du ja eh schon da und dann ist der Arduino in der Nähe des Pools.
Frank O. schrieb: > Was ist denn, wenn du auf dem Arduino ein Ethernet shield steckts und > dann die Daten über ein Powerline Adapter überträgst? Powerline auf einer Leitung die mit einem Verbraucher belastet ist. Der Roboter wird gut für Störungen sorgen.
Florian Trück schrieb: > Frank O. schrieb: >> Was ist denn, wenn du auf dem Arduino ein Ethernet shield steckts und >> dann die Daten über ein Powerline Adapter überträgst? > > Powerline auf einer Leitung die mit einem Verbraucher belastet ist. Der > Roboter wird gut für Störungen sorgen. Da gibt es nun doch von AVM sogar ein Teil, welches als Zwischenstecker fungiert. Ich weiß das nicht, hab so ein Teil noch nicht besessen. Möglich ist das. Dann war es wohl ne blöde Idee.
Frank O. schrieb: > Da gibt es nun doch von AVM sogar ein Teil, welches als Zwischenstecker > fungiert. > Ich weiß das nicht, hab so ein Teil noch nicht besessen. Möglich ist > das. > Dann war es wohl ne blöde Idee. Naja, blöd ist die Idee nicht. Nur das Einsatzfeld ist nicht optimal. Vorallem müssten der Gartenschuppen und die Verbindung im Haus auf der Selben Phase liegen, oder aber mit einem Phasenkoppler verbunden sein. Sonst macht es kaum spass.
Ich hatte heute nochmal ein interessantes Gespräch zu dem Thema. Wenn die Ausgänge vom Travo gegen den Arduino potentialfrei sind, könnte es gehen, die freie Ader meines 3poligen Kabels und eine der Adern der 34V Leitung zu verwenden. Den digitalen Eingang kann ich gegen ggf. induzierte Ströme beim Ein/Umschalten des Pool-Roboters durch 2 Schottky-Dioden schützen: Einmal gegen 5V - überschreitet die induzierte Spannung die 5V, wird dies über die Diode abgeleitet. Sowie einmal gegen Masse für negative Spannungen. Damit "zwinge" ich die eingehenden Daten-Signale, zwischen 0V und 5V zu bleiben (+- den Spannungsabfall an den Dioden, in dem Fall +- 0.5V). Ich werd die Tage mal ein paar Messungen durchführen, vielleicht brauche ich doch nicht den Spaten rausholen ^^
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.