Bodenfeuchte- Bodentemperatur- und Solarsensor mit Panstamp/Solar/1wire

Begonnen von Tobias, 29 August 2014, 13:13:21

Vorheriges Thema - Nächstes Thema

Tobias

Hi,
als Diskussionsthread zu meinem neuen in Entwicklung befindlichem Bodenfeuchtesensor

Ursprünglich war das Projekt ohne Panstamp mit einem Arduino Mini Pro und einem CC1101 Modul geplant. Auf dem Breadboard funktioniert dies auch, aber leider war der ATMEGA ein ATMEGA328 und kein ATMEGA328P. (Jetzt weiß ich auch das das P = PicoPower bedeutet) Ebenfalls ist auf dem Mini pro kein 32KHZ Quarz drauf. Das alles zusammen hat einen Leerlaufstrom von ca 30mA verursacht. Somit als eine Batterielösung  untauglich.

Mit den aktuellen BauteilBestellungen hierzu habe ich mal zusätzlich 2Stück ATMEGA328P-PU als DIP28 Version geordert, incl einem bedrahtetem 32.786KHz Quarz. Ich hoffe damit einen Ruhestrom vom 1uA hinzubekommen, analog dem eines Panstamp.

PeMue hat sich als Alphatester zur Verfügung gestellt. Die Platinen treffen voraussichtlich Ende KW36 / Anfang KW37 bei mir ein.

ZitatNutzung von Panstamps zur Funkbasierten Datenübertragung

Die folgende Platine ist eine Modifikation/Weiterentwicklung des von Panstamp.org vertriebenen BatterieBoards. Die Platine ist passend zum G203 Gainta Gehäuse. Der Panstamp ist so angeordnet, das die "5cm gerade Antenne" aus dem Panstamp Shop exakt in das Gehäuse passt. Es sind Anschlüsse für bis zu 4 Bodenfeuchtesensoren vorhanden. Weiterhin ist ein OneWire Anschluss integriert an dem der Anschluss eines DS18B20 zur Bodentemperaturmessung vorgesehen ist.

Optional kann der Sensor zusätzlich mit einem Solarpanel ausgestatt werden. Dieses lädt den eingesetzten Akku auf, sobald die SolarSpannung > AkkuSpannung ist. Der Akku MUSS(!) mindestens die zehnfache Leistung des Solarpanels haben, ansonsten ist ein Laderegler notwendig. Bsp: Akku: 2700mA -> Solarpanel: 270mA Ein für den Gehäusedeckel passendes Solarmodul ist zb. bei ebay unter folgendem Namen zu finden: 3V 270mA 0,8W 110x55mm Solarmodul Solarzelle Polykristallin vergossen

In Planung ist, dieses mit Silikon sauber auf der Gehäuseoberseite zu verkleben und die benötigten Kabel zuvor durch 2 Löcher im Deckel zu ziehen.

Achtung: Zur Zeit kann der Sketch nur 2 Bodenfeuchtesensoren bedienen. Die Weiterentwicklung ist in Arbeit

Wer bzgl SolarSchaltung / Laderegler etwas beitragen kann, ist ebenfalls eingeladen. Die aktuelle Schaltung habe ich aus dem Mikrocontroller Forum. Schaltung siehe WikiBeitrag!

Edit: Wiki aktualisiert mit Bilder des fertig aufgebauten Sensors
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

justme1968

hallo tobias,

wenn du noch ein beta board hast schaue ich mir die 1wire integration in den sketch an :)

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Tobias

Habe schon ein Beispiel gefunden die die ds18B20 automatisch findet, auch mehrere.  Kann ich dir ja mal posten .
Und ja,  ich kann dir eine Platine schicken,  hast du die Bauteile?

Gesendet von meinem ALCATEL ONE TOUCH 997D mit Tapatalk

Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

justme1968

ich muss erst mal schauen was alles drauf kommt :)

smd wiederstände und kondensatoren habe ich.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

PeMue

Zitat von: Tobias am 29 August 2014, 13:13:21
PeMue hat sich als Alphatester zur Verfügung gestellt. Die Platinen treffen voraussichtlich Ende KW36 / Anfang KW37 bei mir ein.

Wer bzgl SolarSchaltung / Laderegler etwas beitragen kann, ist ebenfalls eingeladen. Die aktuelle Schaltung habe ich aus dem Mikrocontroller Forum. Schaltung siehe WikiBeitrag!
Ups, ich dachte, wir seien schon in der Beta Phase  ;)
Ich habe mir die Ladeschaltung schon ausgedruckt und werde mal rechnen ...

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

Tobias

#5
Hier ist der Link den ich mir bzgl. "DS18B20 auslesen" als Lesezeichen gespeichert habe.
Hatte extra vorher auch geschaut, die DS18B20 können ab 3V.
Die Idee, im Sketch ist alles am Beginn definierbar. Wenn nur Sensor1, dann soll auch nur Sensor1 messen und auch nur dieser Wert übermittelt werden, also mit einem kleinen Datenpaket. Wenn 1+2, dann nur Sensor 1+2 usw... Ziel  ist es die Datenpakete (hier 0D) ebenfalls klein zu halten, das reduziert Fehlübermittlungen bei "schlechter" Antenne.
Für die TempMessung dachte ich an ein eigenes Register (0E ??).
Neben Batteriemessung gibt es auch eine Solarmessung, sollte ins selbe Register (0B) rein.

Alles nur Theorie, da ich mich erst nach erfolgreichen BoardTest dem Sketch wittmen wollte.....

@PeMue: Die Ladeschaltung habe ich von hier: http://www.mikrocontroller.net/topic/44222  -> irgendwo in der mitte: firefly.jpg
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Tobias

Update: Platinen sind morgen da. Alle Teile hab ich schon hier. Freitag mach ich die erste Platine fertig.
Sketch hab ich im ersten Entwurf fertig, ohne Test aber kompiliert :) ... Wollte mal selbst ein bissll Durchblick bei SketchProgrammierung bekommen...

Peter, hast du etwas bzgl Ladeschaltung in Erfahrung bringen können? Verbesserungsvorschläge?
Kann man die Solare Einstrahlung überhaupt durch Spannungsmessung ermitteln? Insbesondere da erst ab ca 1,2V Last am Modul anliegt da die aktuelle Ladeschaltung dann zum Akku-Laden durchschaltet...
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

PeMue

Zitat von: Tobias am 03 September 2014, 19:50:57
Peter, hast du etwas bzgl Ladeschaltung in Erfahrung bringen können? Verbesserungsvorschläge?
Kann man die Solare Einstrahlung überhaupt durch Spannungsmessung ermitteln? Insbesondere da erst ab ca 1,2V Last am Modul anliegt da die aktuelle Ladeschaltung dann zum Akku-Laden durchschaltet...
Hallo Tobias,

hm, die solare Einstrahlung läßt sich nur durch eine Kurzschlussmessung an der Solarzelle messen.
Hier ist das relativ anschaulich gezeigt. Weiter haben die Solarzellen einen nicht zu vernachlässigenden Temperaturgang, der kompensiert werden sollte.
Die Ladeschaltung sollte m.E. ok sein, allerdings wird der Akku immer dann geladen, wenn die Sonne scheint bzw. die Spannung an der Solarzelle höher ist, als am Akku. Wie lange der durchhält, weiß ich nicht.
Hast Du eine Idee, wieviel Strom die Schaltung braucht? Dann könnte man ggf. überlegen, ob es nicht mehr Sinn macht, unterschiedliche Ladestrategien zu fahren: Erhaltungsladung oder komplettes Laden bzw. auch (im Sommer) den Akku mal komplett zu entladen.
Das muss ich mir aber mal anschauen.

Gruß Peter

Edit:
Ich überlege mir gerade nicht, ob ich meine Antwort#4 für den aktuellen Stand "kapere". Dann haben wir am Anfang des Threads den aktuellen Stand und müssen nicht suchen ...
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

Tobias

Hallo Peter,
Zitat von: PeMue am 04 September 2014, 05:48:41
die solare Einstrahlung läßt sich nur durch eine Kurzschlussmessung an der Solarzelle messen.
Hier ist das relativ anschaulich gezeigt. Weiter haben die Solarzellen einen nicht zu vernachlässigenden Temperaturgang, der kompensiert werden sollte.
Ich frage deshalb, weil ich bei Erfolg dieses Sensors meinen Umweltsensor redesignen wollte und statt 1wire dann Funk einsetzen möchte. Für die SolareEinstrahlung möchte ich dann anstatt des TSL Chips eine Solarzelle nutzen... Um es hier(!) kurz zu machen muss ich also den Stromabfall an einem Shunt-Widerstand messen... der ja ein Indiz der Stromstärke ist, stimmts?

Zitat von: PeMue am 04 September 2014, 05:48:41Hast Du eine Idee, wieviel Strom die Schaltung braucht? Dann könnte man ggf. überlegen, ob es nicht mehr Sinn macht, unterschiedliche Ladestrategien zu fahren: Erhaltungsladung oder komplettes Laden bzw. auch (im Sommer) den Akku mal komplett zu entladen.
Also im PowerdownModus nimmt der Panstamp 1uA und die Sensoren sind abgeschaltet. Im OnlineModus verbraucht jeder Bodenfeuchtesensor 7mA, der Panstamp IMHO 30mA und der DS18b20 auch nur ein paar uA.

Ich glaube das eine komplette Entladung nicht so gut ist, dann könnte es sein das auf einmal Sonne weg ist und der Panstamp nicht mehr arbeiten kann. Mindestspannung ist 0.8V laut Datenblatt des MAX1724.

Warscheinlich ist es besser per Microcontroller (hier: Panstamp) zu steuern. Wenn die Batteriespannung unter xVolt fällt dann wird ein Transi angesteuert der den Strom von Solar zur Batterie freigibt. Ev. sollte die Spannung geglättet werden mit einem StepUp/StepDown Regler (zb. TPS61201)??
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

ext23

ZitatUm es hier(!) kurz zu machen muss ich also den Stromabfall an einem Shunt-Widerstand messen... der ja ein Indiz der Stromstärke ist, stimmts?

Also ein Stromabfall misst du da nicht, wenn dann ein Spannungsabfall der proportional zum Strom ist ;-)

http://de.wikipedia.org/wiki/Shunt_%28Elektrotechnik%29

Man könnte auch den Strom direkt messen mit einem Hall Sensor. Aber wenn du eine Solarzelle benutzt um die Lichtstärke zu messen braucht man sowieso immer ein Verbraucher weil eine Solarzelle im Leerlauf wird nichts. Daher ist ein Shunt ganz gut.

Gruß
Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Tobias

Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

ext23

Ich hatte gerade mal ein bissel Zeit und hab mir das angeschaut was du da baust. Ich würde da auch gleich mal Interesse an einer Platine bekunden sofern du genug hast.

Zwei Sachen sind mir aufgefallen (ich hab den ganzen Thread aber nicht gelesen):
- Wegen der Antenne, ich hätte das eher so platziert, dass die SMA Buchse am Gehäuse ist, damit die Antenne draußen ran kann. Und wer keine externe Antenne mag benutzt den panStamp ohne SMA Buchse und macht ein Draht ran den kann man dann auch innen verlegen.
- Wo haste das denn her bei analogen Eingängen ein PullDown Widerstand zu benutzen? Damit verfälscht du dir ja die Messwerte, auch wenns nur 100k sind. Sowas benutzt man eigentlich nur bei Digitalen Eingängen damit diesen nicht flappen im hochohmigen Zustand.

Von der Solarzelle die du da anpreist würde ich abraten. Die sind Harz vergossen. Wenn du die 0815 Leuchtvogel und Blumen Teile aus dem Baumarkt kennst weißt du auch was nach 1-2 Jahren damit passiert wenn die nicht durch eine Scheibe geschützt werden. Die werden rau und weiß weil durch Wasser und Sonne das Harz aufgelöst wird. Ich habe das immer in ein Gehäuse verbannt. Ich benutze diese IP65 Gehäuse mit transparentem Deckel, darunter halten die vergossenen Zellen länger. Besser sind aber die Zellen die auf Glas gedampft sind.

Ja und mit der Ladesteuerung ist das so eine Sache. Die Akkus sind nach 2 Jahren vermutlich eh für die Tonne. Das ist aber auch schwer bei so kleinen Schaltungen. Durch das ständige Laden gehen die halt in die knie und haben schnell nur noch einen Bruchteil der Kapazität (reicht aber dennoch meistens noch aus für ein paar Solar LED's und der panStamp braucht ja auch nicht viel mehr um eine Nach zu überstehen). Überladen werden können die Akkus meistens nicht, bei 1/10C und kleinerem Ladestrom spricht man schon fast von einer Erhaltungsladung. Aber gut die Solarzelle die du da benutzt ist ja schon was größer ja. Du könntest noch eine Impulsladung einbauen, wirkt sich auf die Chemie in den Akkus besser aus.  Aber nach 2 Jahren haste ca. 700 Zyklen durch, da ist das Lebensende eines Akkus ehe erreicht.

Gruß
Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Tobias

Hi Daniel,
beim Pulldown/Pullup war ich mir auch unschlüssig, habe mich dann aber am Schaltplan des Panstamp Batterieboards orientiert. Da waren welche drin.

Bzgl. Solarzelle: Ja, da hast du wohl recht. Aufgrund des Pinheaders kann aber jeder eine eigene Solarzelle dranbasteln. Sie sollte nur > 1,5V haben. Eine kleinere Solarzelle und schon passt es in das G20xC Gehäuse :)

Bzgl Ladeschaltung: immer her damit wenn du eine bessere hast. Es gibt ja zuhauf BatterieCharger BreakoutBoards, aber einen konkreten Schaltplan habe ich nicht gefunden. Abgesehen davon sind die meisten für LiPo Akkus mit 4,2V. Da funktionierts schon wieder nicht mit dem MAX1724, da muss ein StepUp/StepDown Converter her. Da habe ich den TPS61201 im Auge. Muss allerdings bei dem Ganzen ein Auge auf Kosten/Nutzen haben...
Also um es kurz zu machen: Ich suche eine (relativ einfache) Ladeschaltung für einen 1.2V NiMH Akku. Besser mit delta-U Abschaltung :) Ob das geht weiß ich auch nicht, da der Ladestrom ja nicht konstant ist die Dauer wechseln kann (-> Sonne mit Wolken).
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

ext23

Zitat von: Tobias am 06 September 2014, 13:00:12
beim Pulldown/Pullup war ich mir auch unschlüssig, habe mich dann aber am Schaltplan des Panstamp Batterieboards orientiert. Da waren welche drin.

Nee gerade nicht ;-) Die sind normal unbestückt und es steht nur dran: 100kOhm for binary inputs ;-)

Wegen der Ladeschaltung, da habe ich auch nichts wirklich gutes zu bieten. Meine "guten" Solarlampen habe ich mit dem ELV Solarmodul umgebaut (SLS2 oder wie das Teil heißt). Ansonsten die blinkendes LEDs an den Kamera Attrappen sind bei mir ohne jegliche Intelligenz, ich wechsel eben alle 2 Jahre den Akku aus und gut ist. Wie du schon schreibst, das ist bei "so kleinen" Schaltungen schwer da selten 10h lang konstant die Sonne scheint, zumindest nicht in Deutschland ;-) Also eigentlich ist es unmöglich eine Akku schonende Ladeschaltung zu realisieren. Benutzt man NiMH Akkus hat man zumindest ein geringeren Memory Effekt. Delta U Abschaltung, das kannst du knicken, das wird nichts. Da Beste ist wirklich den Ladestrom so zu begrenzen das man diesen bei Überladung nicht zerstört und gut ist. Zwischendurch mal kurz die Ladung unterbrechen stört übrigens nicht. Da kannst du dann prima die Solarzelle messen um die Lichtstärke abzubilden. Sollte man eine wirklich dicke Solarzelle haben kann man generell auf Impulsladung gehen. Da gibt es auch gute Verfahren wie man Akkus sehr schnell Laden kann ohne das diese Schaden nehmen. Läuft nach dem Schema, ->Ladeimpuls, Pause, Entladeimpuls->  Aber das ist wie gesagt alles Quatsch für den Fall. Macht die Sache nur unnötig kompliziert und aufwendig dafür das der Akku dann 1 Jahr länger hält.

Ich denke der Fokus muss hier sein das die ganze Geschichte auch über den Winter funktioniert. Im Winter bleibt vermutlich nichts übrig an Energie um den Akku zu laden (maximal um die Selbstentladung auszugleichen) (Schon gar nicht wenn Schnee auf dem Teil liegt). Sprich die Batterie muss den panStamp fast den ganzen Winter über versorgen. Das wird vermutlich auch nicht sonderlich besser wenn du die 30 Grad Neigung in Richtung Süden einhältst. So und wenn der Akku jetzt den ganzen Winter reicht, heißt das auch der braucht so wenig Nachladung das die Solarzelle prinzipiell fast überflüssig ist ;-) (Abgesehen von der Messung der Helligkeit ja)

Eine andere Idee wäre das ganze ohne Batterie zu machen. Dann bedient man sich eines SuperCaps. Ist der voll genug wacht der panStamp auf und arbeitet Messung und Sendevorgang ab. Aber ist natürlich ein erheblicher Komfortverlust.

Gruß
Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

hexenmeister

Moin!
Coole Sache, finde ich auch sehr interessant!

Zitat von: Tobias am 29 August 2014, 13:13:21
[...] aber leider war der ATMEGA ein ATMEGA328 und kein ATMEGA328P. (Jetzt weiß ich auch das das P = PicoPower bedeutet) Ebenfalls ist auf dem Mini pro kein 32KHZ Quarz drauf. Das alles zusammen hat einen Leerlaufstrom von ca 30mA verursacht. Somit als eine Batterielösung  untauglich.

[...] Ich hoffe damit einen Ruhestrom vom 1uA hinzubekommen, analog dem eines Panstamp.

Kleine Anmerkung: Es gibt durchaus Arduinos mit 328P-Version und es ist einiges an Stromsparen noch möglich. 30mA sind viel zu viel, ich hatte testweise einen auf 7,2µA gebracht: http://s6z.de/cms/index.php/arduino/nuetzliches/9-winterschlaf-fuer-arduino

Grüße,

Alexander
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy