Autor Thema: Eigenbau Bodenfeuchte-Sensor-433MHz-LaCrosse-TX2/3 mit ATTiny85 (SpinOff)  (Gelesen 5416 mal)

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Hallo Zusammen,

um den Hauptthread von tanteju nicht dauernd zu stören,
habe ich diesen Thread hier zu diesem Thema geöffnet.

Im Moment benutze ich leider noch den NE555 und nicht die CMOS-Version  Vergleich
die bis herunter zu 1,8Volt betrieben werden kann.

Der analoge Sensor-Teil zieht 2.35 mA, wenn eingeschalten.
Der 433-Sender ca 10 .. 15 mA.

Im Sleep-Modus stehen im Moment noch 0.4 mA, also 400 uA. Was noch zu optimieren gehen sollte.
Vermutlich zieht der PullUp des Dallas-Chips noch etwas Ruhestrom. Das werde ich noch mit
Mosfet schaltbar machen. Die Strombelastung eines ATTINY-Pins liegt übrigens bei 5 mA@3V3.
Die Sleep-Time ist auf 1 Minute eingestellt. Für Batterie-Betrieb reichen sicherlich Werte > 10 Minuten völlig aus. (Batterie-Lebensdauer-Rechner)
Die Puls-Torzeit habe ich auf eine Skalierung auf ca. 0..100% angepasst.
Für R2 benutze ich 820K statt 1M5. Bessere Reaktion auf Kapazitätsänderungen.

Zitat
Program size: 6.410 bytes (used 78% of a 8.192 byte maximum) (5,27 secs)
Minimum Memory Usage: 162 bytes (32% of a 512 byte maximum)

Der Sensor sendet unter zwei TX3-Id's und kann mit CUL433 out-of-the-box empfangen werden.
ID_1:
1. rel. Bodenfeuchte auf eine Skalierung 0..100%
2. Temperatur -55°C bis +125°C

ID_2:
1. rel. Bodenfeuchte auf eine Skalierung 0..10
2. Batteriespannung.

Die Sensor-Sonden bestehen aus 3mm Messingrohr mit Schrumpfschlauch isoliert und Kleber abgedichtet.
Der Sensor arbeitet kapazitiv und setzt die rel. Bodenfeuchte in Rechteckimpulse um.
Materialkosten < 10€ evtl. auch Ressourcen mit Bootloader von hier oder hier hier

Anbei die Software-Version V1.3.
« Letzte Änderung: 01 November 2016, 11:29:36 von juergs »
Gefällt mir Gefällt mir x 1 Liste anzeigen


Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Den Live-Test bin ich noch schuldig geblieben... :D

Schrumpfschlauch ist nur provisorisch bis ich die Stepup-Regler
bekommen habe, dann mache ich mir Gedanken über das Gehäuse.
Man beachte das "Super-Duper-High-Gain"-Groundplane-Antennen-Konstrukt   ;D ;D ;D
« Letzte Änderung: 01 November 2016, 14:16:12 von juergs »

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Nachdem ich mein Blumentopf unter Wasser gesetzt habe,
tut sich jetzt mit vermehrtem Heizungseinsatz etwas...

Interessant ist auch die Temperaturabhängigkeit mit Heizung und z.B. geöffnetem Fenster (Temp-Sensor nicht im Einsatz, deswegen konstant).

Im Moment habe ich noch den NE555 im Einsatz, werde ihn dann aber mit dem ICM7555 tauschen
und auf 3V3 heruntergehen.
« Letzte Änderung: 09 November 2016, 22:04:56 von juergs »

Offline ext23

  • Hero Member
  • *****
  • Beiträge: 2230
    • Homepage
Ja ich hatte sowas versucht als Füllstandsmesser für meine Regentonne. Aber das war auch extrem unstabil als die Sonne drauf schien, daher habe ich es gelassen und bin auf Drucksensoren umgestiegen.

Ich spiele gerade mit dem Giesomatic rum. Der hat aber eine recht hohe Frequenz (bis 500kHz) was mich ein wenig stört. Ist natürlich auch nicht ganz so einfach auszuwerten als ein 555er der ja mehr oder weniger eine Art PWM ausgibt.

Beides natürlich extrem billige Varianten. Ein Schmitt-Trigger wie beim Giesomatic kostet nichts und der 555er ja auch nichts.

Falls auf dem Tiny noch Platz ist wäre 1-Wire eine super Sache ;-)

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

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Zitat
Falls auf dem Tiny noch Platz ist wäre 1-Wire eine super Sache ;-)

Ist schon mit drauf und in Firmware mit drin, hatte nur im Moment keinen Sensor übrig  ;)

Offline tante ju

  • Full Member
  • ***
  • Beiträge: 368
Nachdem ich mein Blumentopf unter Wasser gesetzt habe,
tut sich jetzt mit vermehrtem Heizungseinsatz etwas...

Interessant ist auch die Temperaturabhängigkeit mit Heizung und z.B. geöffnetem Fenster (Temp-Sensor nicht im Einsatz, deswegen konstant).

Im Moment habe ich noch den NE555 im Einsatz, werde ihn dann aber mit dem ICM7555 tauschen
und auf 3V3 heruntergehen.

Die Kapazität ist temperaturabhängig, daher ist das nicht verwunderlich.

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Zitat
Die Kapazität ist temperaturabhängig, daher ist das nicht verwunderlich.

Ist mir klar, wollte es nur erwähnt haben. ;D

Mir ist aufgefallen, dass es beim offenen Sensor bis zur kapazitiven Belastung einen hohen "Pegel" im unterschied
ausmacht, aber dann von "trockener" zu "nasser" Erde relativ gesehen sich eher ein kleiner Niveau-Unterschied einstellt.
Kommen dann noch Temperaturabhängigkeiten hinein (geschäzt ca. 10% des trocken/naß -Niveaus) ist das erst mal nicht beunruhigend.
Bei großen Delta-T ist der Einfluss dann größer, aber wenn man die Temperatur mit mißt, kann man das ja kompensieren,
wenn man ein Alert-Algorithmus dafür baut ... :D
Bin noch etwas weit weg von Mysensors, aber man muss ja nicht alles auf einmal ....   :D

Grüße,
Jürgen

Offline ArduPino

  • Full Member
  • ***
  • Beiträge: 248
Warum überhaupt Kapazitiv ?

Wenn du nur alle 10 Minuten eine Messung durchführst, sollten doch auch zwei Drähte reichen und dann einfach den Widerstand bestimmen.
Mir ist klar, das z.B. diese fertigen China Dinger nicht lange halten und schon nach kurzer Zeit oxidieren und sich praktisch auflösen, wenn aber die Messung nur in so großen Zeitabständen erfolgt, fließt auch kein Strom und die Oxidation sollt damit sehr langsam verlaufen.
Man könnte ja auch z.B. die Kontakte aus Edelstahl machen.

Oder würde das trotzdem zu Problemen führen ?
FHEM auf Raspberry Pi3 / nanoCUL433 mit a-CulFW
Pollin Funksteckdosen
Rubicson_167 ? Außensensor (vom Nachbarn ;-) )
Digispark (Attiny85) Eigenbau Temp/Hum/Alarm Sensoren (noch in Arbeit)
Medion IP Cam (mal sehen wie die sich einbringen lässt)

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Ja, die Frage wurde im Thread V1 von tante Ju ausführlich diskutiert.

Die Drähte würden nach einiger Zeit verschwinden. Sozusagen in Lösung gehen und CU-Ionen sind nicht gerade gesund.
Kapazitiv kann man isoliert arbeiten.

Leider habe ich den Thread nicht mehr gefunden, vielleicht steht es aber im V2 drin?

Jürgen

PS: giess-o-mat-sensor-pcb  https://www.mikrocontroller.net/topic/169824
« Letzte Änderung: 11 November 2016, 19:47:31 von juergs »

Offline ext23

  • Hero Member
  • *****
  • Beiträge: 2230
    • Homepage
Ist schon mit drauf und in Firmware mit drin, hatte nur im Moment keinen Sensor übrig  ;)

Naja ich meinte eher das er selber der 1-Wire Sensor ist, also anstelle von Funk.

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

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Zitat
Naja ich meinte eher das er selber der 1-Wire Sensor ist, also anstelle von Funk.

Ach so, das könnte doch "einfach" sein?
Ein Counter ist doch schon zum 1Wire -Protokoll umgesetzt ....

Jetzt verstehe ich ... Wenn man schon die 1Wire Infrastruktur ausgebaut hat, möchte man zusätzlich diese Bondenfeuchte-Sensorik
dazu anschließen können ?

Wenn Du Deine Infrastruktur mal schildern könntest, kann man mal  eine "Überlegung" starten?  ;)

Grüße,
Jürgen
« Letzte Änderung: 12 November 2016, 12:33:17 von juergs »

Offline ext23

  • Hero Member
  • *****
  • Beiträge: 2230
    • Homepage
Wenn Du Deine Infrastruktur mal schildern könntest, kann man mal  eine "Überlegung" starten?  ;)

Naja die ist ja bei 1-Wire so ziemlich bei jedem identisch, ist eben ein Bus ;-)

Ja es gibt ja dieses Projekt wo mit einem Tiny der Zähler und ähnliche nachgebaut wurden. Ob nun der Zähler dafür geeignet ist weiß ich nicht, vermutlich eher sowas wie ein Analog Baustein, aber das weiß ich nicht ob der schon umgesetzt wurde.

Mit dem Funk ist eben immer so eine Sache, ist ein shared medium, ich versuche da alles zu vermeiden was nicht unbedingt nötig ist. Ich zieh lieber Kabel. Aber das muss man ja sowieso wenn man nicht gerade ein Vertrag mit Duracell oder einem anderen Batteriehersteller hat :-)

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

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Zitat
Ich zieh lieber Kabel...

Ok, auch eine Einstellung.  :)

Aber es gibt ja 1Wire Busmaster + Bus-Treiber-Bausteine etc. ,  das meinte ich mit Infrastruktur.

Es gäbe ja z.B. https://www.maximintegrated.com/en/app-notes/index.mvp/id/126

von hier:
https://de.wikipedia.org/wiki/1-Wire

« Letzte Änderung: 12 November 2016, 14:55:55 von juergs »

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Man muss das Das Rad nicht immer neu erfinden:  ;)

1. I2C Soil moisture sensor from miceuz on Tindie
https://www.tindie.com/products/miceuz/i2c-soil-moisture-sensor/

2. Apollon77/I2CSoilMoistureSensor: Simple Arduino Library for the I2C Soil Moisture Sensor version from Chirp (https://github.com/Miceuz/i2c-moisture-sensor)
https://github.com/Apollon77/I2CSoilMoistureSensor

3. Miceuz/i2c-moisture-sensor: I2C based soil moisture sensor
https://github.com/Miceuz/i2c-moisture-sensor

4. Doku
https://github.com/Miceuz/i2c-moisture-sensor/blob/master/README.md

5. Gehäuse
http://www.thingiverse.com/thing:1654677

6. Smart Watering
https://github.com/MyOrchard/SmartWatering-Hardware/blob/master/MyOrchard.ino

7. I2C Sensor-Lib
https://github.com/Apollon77/I2CSoilMoistureSensor
« Letzte Änderung: 03 Februar 2017, 17:10:12 von juergs »

Offline tante ju

  • Full Member
  • ***
  • Beiträge: 368
Warum überhaupt Kapazitiv ?

Wenn du nur alle 10 Minuten eine Messung durchführst, sollten doch auch zwei Drähte reichen und dann einfach den Widerstand bestimmen.
Mir ist klar, das z.B. diese fertigen China Dinger nicht lange halten und schon nach kurzer Zeit oxidieren und sich praktisch auflösen, wenn aber die Messung nur in so großen Zeitabständen erfolgt, fließt auch kein Strom und die Oxidation sollt damit sehr langsam verlaufen.
Man könnte ja auch z.B. die Kontakte aus Edelstahl machen.

Oder würde das trotzdem zu Problemen führen ?

Das ist immer eine Frage der Sichtweise. Eine Oxydation findet auch ohne Stromfluß statt. Der galvanische Effekt unter Strom kommt noch dazu. Es bilden sich aber auch an den Leitern Doppelschichten, die die Messung massiv beeinflussen können.

Offline ext23

  • Hero Member
  • *****
  • Beiträge: 2230
    • Homepage
Ok, auch eine Einstellung.  :)

Aber es gibt ja 1Wire Busmaster + Bus-Treiber-Bausteine etc. ,  das meinte ich mit Infrastruktur.
Naja das man ein Bus Master hat ist ja klar, sonst macht sich ein 1-Wire Bus ja schlecht ;-) Aber nicht das wir aneinander vorbei reden, ich meine sowas: http://www.tm3d.de/index.php/1-wire-device-mit-avr
Und natürlich sollte man aus Kompatibilitätsgründen einen passenden Baustein nachbilden den es gibt. Ein Zähler macht vielleicht nicht so sehr Sinn in dem Fall. Aber wie gesagt das war nur eine Idee mit dem 1-Wire. Flexibler wäre es eine Spannung auszugeben. Die kann man dann mit verschiedenen Komponenten auslesen und an FHEM schicken. Aber mit einem AVR eine definierte Spannung zu generieren ist auch nicht so einfach.

Btw. so ein Chirp habe ich auch der I2C mit drauf hat, aber ich hab kein I2C hier, nur 1-Wire. Die sind aber auch um einiges teurer die Dinger.
HM, FS20, 1-Wire, PanStamp, AVR-NET-IO, SIS-PM, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
@ext23:

Zitat
Btw. so ein Chirp habe ich auch der I2C mit drauf hat, aber ich hab kein I2C hier, nur 1-Wire
Dann brauchst Du eigentlich nur ein I2C-1Wire Gateway?
 
Mal schauen ob das als "Abfall"-Produkt von dem Luftgütesensor entstehen kann ... :)

Gibt es schon, aber für 29.90 € etwas teuer....
R-Pi i2c 1-Wire OWFS Module

Grüße,
Jürgen
« Letzte Änderung: 15 November 2016, 19:30:09 von juergs »

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Andere Variante, gleiches kapazitive Prinzip:
Prinzip
fertige-Sensor-Platine

Offline ext23

  • Hero Member
  • *****
  • Beiträge: 2230
    • Homepage
Ich spiele gerade mit dem Giesomatic rum. Der hat aber eine recht hohe Frequenz (bis 500kHz) was mich ein wenig stört. Ist natürlich auch nicht ganz so einfach auszuwerten als ein 555er der ja mehr oder weniger eine Art PWM ausgibt.
/Daniel

Habe ich doch geschrieben oben ;-) Aber wie gesagt der arbeitet mit einer sehr hohen Frequenz, das finde ich aus EMV Gründen nicht so gut. Ansonsten funktioniert der auch ja. Hab ich auch etliche von rumliegen bzw. mir selber geätzt.

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

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Zitat
Habe ich doch geschrieben oben ;-)
Ja, konnte aber mit "Giesomatic" bis dato nichts anfangen  ;D

Der 74HC14 ist ja billiger als der 555 und weniger Bauteile ...
Wenn dieser sauber(er) schwingt ... Muß man mal ausprobieren.
Alles in  SMD würde dann schon sehr klein (;-)

Wegen Deinen EMV-Bedenken, sehe ich bei der gerinsten Leistung eher kein Problem, da ist Dein 230V-Netz
eher eine Problem-Quelle oder die Hochspannungs-Überlandmasten, oder ein Amateur-Funker wohnt genau neben Dir ...  :(

Bei mit tut sich endlich etwas, da ich meinen Blumentopf ja unter Wasser gesetzt und den Sketch noch nicht Energie-optimiert hatte,
sieht man jetzt: Die Batterie geht runter und die Feuchte sinkt (Kapazität steigt), aber nicht proportional zur Batterie-Entladung ....
   
Die Erde fühlt sich in den ersten cm doch sehr trocken an, mit etwas Restfeuchte an den Wurzeln ... also bald nachgießen ...
Nachdem ich den NE555 gegen den ICM555 getauscht hatte muss man noch mal messen...
   
« Letzte Änderung: 24 November 2016, 20:12:18 von juergs »

Offline locutus

  • Sr. Member
  • ****
  • Beiträge: 751
  • No support over PM! Please use the thread ...
Hallo Jürgen,

ich erhalte mit der ATTiny Core und einer Taktfrequenz von 8 MHz keinen plausiblen Temperaturwert. Einmalig nach dem Einschalten funkt der Sensor die korrekte Temperatur. Danach werden permanent 12,3°C übermittelt.
Verwendest du tatsächlich den Micronucleus 16,5 MHz Bootloader? t85_default oder t85_aggressive?

« Letzte Änderung: 29 Januar 2017, 11:09:50 von locutus »
Produktivsystem: Raspberry Pi 3, Add-On Board mit 1.8" TFT LCD, FHEM V5.7, CULFW V1.66, FS20, ESA2000, JeeLink Clone RFM69CW, LaCrosse, EMT7110, 1-Wire, WiFi LED Controller, Yamaha AVR
Testumgebung: NanoPi Neo, FHEM trunk, FHEM Tablet UI, ESP8266, miniCUL-WLAN mit a-culfw, LaCrosseGateway

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Hallo locutus,

schaue heute Mittag detaillierter nach und melde mich ...

Ich habe den Sensor mit einer CR235A Knopfzelle betrieben.
Und habe ebenfalls (noch) das Erfassungsproblem des 18B20.
Der war aber bei mir in den Hintergrund getreten, da ich sowiso viele Temperatursensoren habe  ;)
Der Wert der ausgeben wird, deutet auch auf einen möglichen Fehler in der  Dallas-Erfassung hin.
Habe das Abschalten des Pullups + 18B20-Sensors via FET 2N7002 noch in der Todo-Liste.
Das spart noch mal extra Strom.

Kommt den wenigstens ein Bodenfeuchte-Wert?

Der Micro-Nucleaus-Bootloader kommt nur in Verbindung mit den DigiSpark (mit USB-Anbindung)
zum Tragen.
Aber wie Du schon richtig bemerkt hast, benutze ich, wegen des Stromverbrauchs keine USB-Variante,
sondern programmiere direkt  über ISP auf einen 8p-DIL ATTiny85.
Standardmäßig, auch wegen Batterie-Lebensdauer, benutze ich eigentlich die "normale" interne 8MHz Einstellung.
Bei den Digispark-Teilen muss man sich wieder Gedanken um den Stromverbrauch der zusätzlichen USB-Pullups machen.
Der Micronucleaus-Bootloader-Variante braucht allerdings die 16,5MHz-Einstellung ....
Die unten angegebene Einstellung ist die für die Digispark-Variante.

Der Sensor an sich funktioniert sehr gut!

Jürgen
« Letzte Änderung: 29 Januar 2017, 11:22:32 von juergs »

Offline locutus

  • Sr. Member
  • ****
  • Beiträge: 751
  • No support over PM! Please use the thread ...
Sollte die Verzögerung nicht min. 750 ms lang dauern?
delay(750); // ms, needed for settling DS18B20
Und warum ...
float celsius = 12.3; ...?

Die Bodenfeuchte lasse ich momentan außer Acht. Für Vergleichsmessungen fehlt mir ein Xiaomi oder Parrot Pflanzensensor.
Produktivsystem: Raspberry Pi 3, Add-On Board mit 1.8" TFT LCD, FHEM V5.7, CULFW V1.66, FS20, ESA2000, JeeLink Clone RFM69CW, LaCrosse, EMT7110, 1-Wire, WiFi LED Controller, Yamaha AVR
Testumgebung: NanoPi Neo, FHEM trunk, FHEM Tablet UI, ESP8266, miniCUL-WLAN mit a-culfw, LaCrosseGateway

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Zitat
Für Vergleichsmessungen ....
Achtung das ist eine Fehlannahme!
Wie TantaJu schon bemerkte, es sind es relative Messungen!
D.h. die Werte wären wahrscheinlich nicht vergleichbar und bewegen sich immer in einem bestimmten Bereich.
Nehme ich zum Bsp. den Sensor aus dem Blumentopf und stecke ihn wieder rein,
verändern sich die Rahmenbedingungen z.B. Nähe zu Wurzeln/Erdzusammensetzung etc., so daß auf ein Absolutwert zu spekulieren
nicht funktioniert.
Bei meinem Blumentopf weiß ich,  wenn der Wert Richtung 30 wandert, die Blume  Pflanze Wasser braucht.  ;)
Beim Nachgiessen sinkt er dann wieder auf 20.

Zitat
float celsius = 12.3;
Ist nur die Initialisierung der Variable mit einem Dummywert.

Zitat
Die Bodenfeuchte lasse ich momentan außer Acht
Worauf zielst Du dann ab?

Wenn es Dir nur auf die Temperatur ankommt:
https://github.com/juergs/ATtiny85_BMP180_DHT_1820_433]Nur DHT + ATtiny85
https://forum.fhem.de/index.php/topic,52755.0.html

Hideki-Protokoll:
https://bitbucket.org/fuzzillogic/433mhzforarduino/wiki/Home

Ansonsten schaue ich heute Nachmittag noch mal auf den Sketch.

Grüße,
Jürgen
« Letzte Änderung: 29 Januar 2017, 11:44:38 von juergs »

Offline locutus

  • Sr. Member
  • ****
  • Beiträge: 751
  • No support over PM! Please use the thread ...
Achtung das ist eine Fehlannahme!
Wie TantaJu schon bemerkte, es sind es relative Messungen!
D.h. die Werte wären wahrscheinlich nicht vergleichbar und bewegen sich immer in einem bestimmten Bereich.
Das ist mir schon bewusst. Ganz abgesehen davon sind an meinem Sensor noch keine Sonden angeschlossen.
Ich komme nochmals auf mein Anliegen zurück. Was muss ich im Sketch ändern, um korrekte Temperaturwerte vom DS18B20 zu erhalten?
Produktivsystem: Raspberry Pi 3, Add-On Board mit 1.8" TFT LCD, FHEM V5.7, CULFW V1.66, FS20, ESA2000, JeeLink Clone RFM69CW, LaCrosse, EMT7110, 1-Wire, WiFi LED Controller, Yamaha AVR
Testumgebung: NanoPi Neo, FHEM trunk, FHEM Tablet UI, ESP8266, miniCUL-WLAN mit a-culfw, LaCrosseGateway

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Ich muss erst mein Testsystem  aufbauen, um die Temperaturerfassung nachstellen zu können.
Melde mich wenn ich Erkenntnisse habe.
Evtl. könnte man die OW-Lib tauschen...

Hier eine funktionierende Dallas-OW--Temperaturerfassung-Variante mit 4 Dallas 18B20 Sensoren:
NANO_DS1820_4Fach.ino

Jürgen
« Letzte Änderung: 29 Januar 2017, 22:13:42 von juergs »

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Hallo locutus,
im NANO-Testsystem bekomme ich den Temperaturwert geliefert:
Zitat
===============================================
Sensor-ID (Bodenfeuchte): 100
Bodenfeuchte (int)   = 0
Bodenfeuchte (float) = 0.00
Sensor-ID (Batterie): 101
Temperatur(18B20): 19.62
VCC (int) = 4913
VCC (float) = 4.91
===============================================

Feuchte Sensor ist nicht angeschlossen. Kein Powersave-Modus.

Wenn ich mehr Infos über Dein HW-Setup bekommen könnte,
würde ich das in der passenden Konfiguration  testen ...

Die Digispark Tiny85er habe ich noch zu Verfügung, müsste nur
noch auf- bzw. umbauen.

Nano- und ATTiny-Source hier: BodenfeuchteSensor_Nano
Kompiliert mit Arduino IDE 1.6.12.

Grüße,
Jürgen

digispark-diy-the-smallest-usb-arduino

« Letzte Änderung: 02 Februar 2017, 20:54:12 von juergs »
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Alternative für Gehäuse ++  ;)

Plant Flowers Soil PH Tester Moisture Meter

Kennt jemand den PH-Sensor?

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Hallo locutus,

sorry hatte das leider zu schnell überlesen:
Zitat
Einmalig nach dem Einschalten funkt der Sensor die korrekte Temperatur. Danach werden permanent 12,3°C übermittelt.
Verwendest du tatsächlich den Micronucleus 16,5 MHz Bootloader? t85_default oder t85_aggressive?

Nein, ich programmiere den ATTiny direkt ohne USB zu verwenden.
Die Standardeinstellung (16.5 MHz) mit dem Micronucleus sollte aber eigentlich problemlos gehen ...

Das Problem war damals, dass ich leider keinen 18B20 mehr zur Verfügung hatte und mir das Verhalten damals
auch aufgefallen ist. Allderdings hatte ich der Temperatur nicht so eine hohe Bedeutung zugemessen.
Allerdings könnte ich mir eine Temperaturkompensation schon vorstellen....  ;)

Damals hatte ich auch kein richtiges DSO, um das Aufwachen aus dem Tiefschlaf und das Protokoll zum Sensor hin zu analysieren.
Mit einem analogen Hameg ging das kaum nachzuvollziehen.

Im letzteren Code hatte ich noch einen Umschalter eingebaut, um zwischen Nano und ATTiny umzuschalten, dort funktioniert die Temperaturerfassung,
aber mit etwas höheren Batterieverbrauchswerten, da dort Narcoleptic nicht aktiv ist.

Möglicherweise beißt sich der Powersave mit Ports auf INPUT während der Schlafphase und der Sensor reagiert nicht mehr.

Gruß,
Jürgen
« Letzte Änderung: 02 Februar 2017, 20:54:43 von juergs »

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
« Letzte Änderung: 04 Februar 2017, 18:37:21 von juergs »

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Habe etwas Zeit gefunden das Thema mit ATtiny85 Dallas 18B20-Sensor zu analysieren.
Natürlich das übliche Prozedere, wenn das Projekt etwas "älter" geworden ist:

  • Arduino-Version ist fortgeschritten (jetzt V1.8.0).
  • mehrere Programmversionen mit unterschiedlichen Konfiguration.
  • neuer Testaufbau mit Mess- und Programmiermöglichkeit.
  • neuer Aufbau des Arduino-Projektes.
  • Einbau SoftWareSerial-ATtiny85-und-andere-ATMEL-Mikrocontroller zum debuggen.
  • Schrittweise Komponeten wieder einbauen.
  • Linker macht Probleme unter VisualMicro, deshalb mit der Arduino-IDE kompiliert.
  • Mit angeschlossener Bodenfeuchte.Power + Pulse geht ISP nicht mehr. (SCK+MISO betroffen.)

Als erstes Ergebnis, erst mal ohne Narcoleptic-Schlaf-Funktion:
Temperatur-Erfassung geht.
Zitat
Vcc: 0.2    Feuchte: 1.0    Temp: 21.9
Vcc: 0.2    Feuchte: 1.0    Temp: 21.9

Diese Version erst noch ohne angeflanschte Feuchtemessungshardware.
Temperatur-Erfassung geht!  (Noch ohne Tiefschlaf, das kommt als nächstes, bzw. VCC und Feuchte).

/edit: mit Deep-Sleep

Zitat
2017-02-04 18:35:52 CUL_TX CUL_TX_100 T: 20.5 H: 00.0
2017-02-04 18:35:52 CUL_TX CUL_TX_100 temperature: 21.3
2017-02-04 18:35:53 CUL_TX CUL_TX_100 T: 21.3 H: 00.0
2017-02-04 18:35:53 CUL_TX CUL_TX_100 humidity: 00.0

Hardware:
433-TX = D3     (DIP.2)
BF-Power = D1 (DIP.6)
BF_Puls = D2   (INT0, DIP.7)
Statts LED: Serial-TX = D4 (DIP.3) 

/edit: Unten habe ich noch ein Screenshot  des Pin-Vcc-versorgten NE555 und dessen Pulseoutput hinzugefügt.

Der Code mit Serial Debug passt gerade noch so zu 99% in den Flash-speicher:

Zitat
Multiple libraries were found for "SoftwareSerial.h"
 Used: C:\Users\Jürgen\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.15\libraries\SoftwareSerial
 Not used: C:\Users\Jürgen\Documents\Arduino\libraries\TinySoftSerial
Using library SoftwareSerial at version 1.0 in folder: C:\Users\Jürgen\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.15\libraries\SoftwareSerial
Sketch uses 8172 bytes (99%) of program storage space. Maximum is 8192 bytes.
Global variables use 335 bytes (65%) of dynamic memory, leaving 177 bytes for local variables. Maximum is 512 bytes.

Beta-Test-Code dazu hier in Github.
Deep-Sleep-Modus: hier im deep_sleep_mode branch.

Grüße,
Jürgen
« Letzte Änderung: 04 Februar 2017, 23:31:33 von juergs »

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Im Moment werden noch keine Pules erfasst,
da die Impluse den Port nicht vollständig auf < 0.7V ziehen (gelb).
Möglicherweise ist mein 555 defekt. Port D2 steht auf Input.
Im Screenshot sieht man die Aufwachphase und das Enable des NE555
über den Port D1 = Vcc  (türkis)  an.
Vielleicht reicht nur ein Pullup-R (Intern oder Extern) ...

Temperatur kommt noch nach dem Aufwachen:

Zitat
2017-02-04 23:36:10 CUL_TX CUL_TX_100 temperature: 21.7
2017-02-04 23:36:12 CUL_TX CUL_TX_100 T: 21.7 H: 00.0
2017-02-04 23:36:12 CUL_TX CUL_TX_100 humidity: 00.0

Morgen kontrolliere ich noch mal den Aufbau ... da sich die Sache doch etwas zäh gestaltet  ;)
« Letzte Änderung: 05 Februar 2017, 00:25:36 von juergs »

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Verbaut mit kurzen Leitungen zum BF-Modul und nicht 25cm wie im Testaufbau:
Zitat
2017-02-05 15:36:40 CUL_TX CUL_TX_100 T: 20.5 H: 30.9
2017-02-05 15:36:40 CUL_TX CUL_TX_100 temperature: 20.6
2017-02-05 15:36:41 CUL_TX CUL_TX_100 T: 20.6 H: 30.9
2017-02-05 15:36:41 CUL_TX CUL_TX_100 humidity: 03.0

War wohl die kapazitive Belastung....

Das sieht jetzt ja mal besser aus.  :)

Hier unten habe ich die Sensoren nah beinander positioniert.
Der Sensor mit der ID 100 hat kürzere Sonden.
Erstaunlich, wie nah die Werte beinander liegen...
« Letzte Änderung: 05 Februar 2017, 18:57:01 von juergs »

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Noch ein Wort zur Reichweite der 433 MHz sender.

Bei mir wird es durch 3 Stahlbetonwände zu knapp zu den Balkonpflanzen. (Ab- und zu mal verirrt sich ein Protokoll, je nach Batteriezustand und Temperatur)

In einem anderen Thread: 42Bit-Protokoll
habe ich ein Transponder für den NC-7427-Sensor in Arbeit.

Diesen Transponder/Repeater würde ich auch für die LaCrosse-Sensoren in Betracht ziehen.

Grüße,
Jürgen
« Letzte Änderung: 05 Februar 2017, 21:01:08 von juergs »

Offline Tom71

  • Full Member
  • ***
  • Beiträge: 166
    • Tom71blog
Hallo Jürgen,
nur zum Verständnis. An den Nano hast du nur die Sensoren gehängt? Keine weiteren Bauteile? Ich wollte das erst einmal nachbauen, bevor ich mich mit dem NE555 + Atiny befasse. Kann ich den NE555 einfach gegen einen LMC555 tauschen?

Das Reichweitenproblem kenne ich leider auch zu gut. Evtl. hilft da besser ein CUL mit WLAN (https://forum.fhem.de/index.php/topic,42998.0.html)

Gruss Thomas
Raspberry Pi 3 | MySensors SerialGateway auf nanoCUL V2.2 | JeeLinkClone | nanoCul V1.1 | Homematic | RaspberryMatic

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Hallo Tom71,

Ja, nur 433-TX, Dallas und NE555 "dranhängen". Schaltplan: hier

Bluetooth und WLAN ist mir bewusst. Letzteres wäre in meinem Umfeld der Overkill, da ich > 45 WLANs in meiner näheren Umgebung habe.
Der Stromverbrauch ist auch ein Faktor, sonst musst Du jede Woche den Akku des Sensors aufladen ...  ;D

Also ist die  433MHz Lösung "einfach" und Stromsparend.

Zitat
Kann ich den NE555 einfach gegen einen LMC555 tauschen?
Ja, habe ich auch schon exerziert. (ICM7555)  ;)

Zitat
Evtl. hilft da besser ein CUL mit WLAN (https://forum.fhem.de/index.php/topic,42998.0.html)
Ja, aber ob der sich mit Batterie/Akku betreiben lässt?

Grüße,
Jürgen



 
« Letzte Änderung: 06 Februar 2017, 09:18:18 von juergs »

Offline Tom71

  • Full Member
  • ***
  • Beiträge: 166
    • Tom71blog
Hallo Jürgen,
warum den CUL mit Batterien betreiben? Du meintest doch, der Sensor könnte nicht durch 3 Stahlbetonwände gehen. Klar, aber vielleicht hast du ja dein WLAN in der Nähe des Sensors und dann könnte der CUL die Daten des Sensors empfangen und an den FHEM Server schicken. Wäre das nicht ähnlich dem Transponder, den du auch bauen wolltest?
Was genau hast du für die Bodensonde P1-P2 genommen? Isoliertes Messingrohr 3mm aus dem Baumarkt? Braucht es eine mindest-Oberfläche für die Kapazität?
Die Sonden von hier http://www.gearbest.com/testers-detectors/pp_277213.html könnte man nicht verwenden? Oder die Enden extra isolieren.   

Viele haben die Erfahrung gemacht, dass die Feuchtigkeitsmessung stark temperaturabhängig ist. Die Messung der Temp mit dem Dallas kombinierst du noch nicht mit der Feuchtemessung? Das müsste man dann in Fhem machen?

Habe ich komplett durch den MySensors-Bodensensor-Thread durchgearbeitet und die Fragen sind dennoch offen geblieben ;-)

Ich habe zwar schon einige MySensor-Devices gebaut, allerdings laufen bei mir auch LaCrosse Temp-Sensoren ohne Probleme. Daher würde ich lieber deinen Vorschlag nachbauen. Meine MySensor-Devices bocken immer etwas, wenn sie disconnected sind.
Raspberry Pi 3 | MySensors SerialGateway auf nanoCUL V2.2 | JeeLinkClone | nanoCul V1.1 | Homematic | RaspberryMatic

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Zitat
warum den CUL mit Batterien betreiben
Na ja, als Repeater. Da wäre eine Stromversorgung wie z.B. ein USB-Netzteil erforderlich.
Außerdem 433MHz mit 10 mW Sendeleistung hat bessere Ausbreitungsfähigkeiten wie höherfrequentere
Sender. (868MHz, Bluetooth oder 2.4 GHz wie die NRFs oder WLAN mit gleicher Leistung) .

Zitat
Die Sonden von hier http://www.gearbest.com/testers-detectors/pp_277213.html könnte man nicht verwenden? Oder die Enden extra isolieren. 
Davon habe ich mir 2 bestellt, um herauszufinden wie die PH-Messung erfolgt.
Das Meßprinzip ist nicht direkt ersichtlich. Kapazitiv bedeutet: isoliert.
Die Idee von KölnSolar mit Tauchlack finde ich immer noch gut und praktikalbel.
Meine Zwischenlösung: "Schrumpfschlauch auf Baumarkt 3mm Zinkrohr" und die Enden mit 2-Komponetenkleber verschlossen.
Vermute die Langzeitstabilität ist diskutierbar  ;)

Zitat
Viele haben die Erfahrung gemacht, dass die Feuchtigkeitsmessung stark temperaturabhängig ist
Ja, aber bei mir Indoor. D.h. beim Fenster öffnen verändert sich die Messung nur unwesentlich. Beispiel unten.
Leichtes Nachgiessen wurde erfasst.
Eine Kompensation erfordert noch weitere Meßreihen, aber ob der Aufwand lohnt ?

Zitat
Meine MySensor-Devices bocken immer etwas, wenn sie disconnected sind.
Das Gleiche habe ich mit WLAN ....  :(

Verbesserungsvorschläge welcome  :D

Jürgen
« Letzte Änderung: 06 Februar 2017, 20:30:48 von juergs »

Offline Tom71

  • Full Member
  • ***
  • Beiträge: 166
    • Tom71blog
Ich hab mir jetzt erst mal den ICM7555 bestellt. Wenn der da ist, probiere ich auch mal etwas rum. Ich bin mir noch nicht so sicher, welche Sonden ich sinnvoll verwenden kann.
Man könnte auch diese Sonden versiegeln und nutzen:
https://www.amazon.de/XCSOURCE-Feuchtigkeit-Hygrometer-Feuchtigkeitserkennung-TE215/dp/B00ZR3B60I

Das scheint eher in die Richtung zu gehen. Aber vielleicht ist die Form auch nicht so wichtig.

Gruss Thomas
Raspberry Pi 3 | MySensors SerialGateway auf nanoCUL V2.2 | JeeLinkClone | nanoCul V1.1 | Homematic | RaspberryMatic

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Zitat
Das scheint eher in die Richtung zu gehen. Aber vielleicht ist die Form auch nicht so wichtig.
Ja. So isses. So lang die benötigte Kapazität erreicht wird ...

Ok. Schrumpfschlauch um die Sensor-Elektronik ist nicht gerade wasserdicht ....

Wie gesagt, ein passendes Gehäuse... je nach Akku/LiPo/Batterie ...  3D-Druck ....
« Letzte Änderung: 06 Februar 2017, 22:28:03 von juergs »

Offline Tom71

  • Full Member
  • ***
  • Beiträge: 166
    • Tom71blog
SoftwareSerial ist echt cool!  8)

Ich habe heute das Programmer Board aus Griechenland bekommen (http://www.ebay.de/itm/221324819158) Damit mach Attiny-Programmieren wieder richtig Spass.
Deinen Sketch https://github.com/juergs/Bodenfeuchte_ATtiny85_V2 hab ich auch gleich mal gebrannt. Das wird aber schon knapp:
Der Sketch verwendet 8186 Bytes (99%) des Programmspeicherplatzes. Das Maximum sind 8192 Bytes.
Da darf aber auch nichts mehr dazu kommen. Jedes bisschen mehr Debug sprengt den Speicher.
Ich melde mich dann wieder, wenn meine  LMC555 angekommen sind.
Raspberry Pi 3 | MySensors SerialGateway auf nanoCUL V2.2 | JeeLinkClone | nanoCul V1.1 | Homematic | RaspberryMatic

Offline locutus

  • Sr. Member
  • ****
  • Beiträge: 751
  • No support over PM! Please use the thread ...
Beta-Test-Code dazu hier in Github.
Deep-Sleep-Modus: hier im deep_sleep_mode branch.
Danke, damit kann man schon arbeiten. Inzwischen habe ich in Eagle eine Platine für den Sensor erstellt. Wenn man die Bauteile tief genug einbaut, auf IC-Sockel verzichtet und die Spannungsquelle nach Außen verlegt, dann passt das Platinchen in das Strapubox USB-Gehäuse hinein.
Die Gerberdaten sind für ITEAD.

Ich kann eine begrenzte Stückzahl an unbestückten Platinen entbehren. Stückpreis 2,- € zzgl. Versandkosten.
« Letzte Änderung: 13 Februar 2017, 21:29:59 von locutus »
Produktivsystem: Raspberry Pi 3, Add-On Board mit 1.8" TFT LCD, FHEM V5.7, CULFW V1.66, FS20, ESA2000, JeeLink Clone RFM69CW, LaCrosse, EMT7110, 1-Wire, WiFi LED Controller, Yamaha AVR
Testumgebung: NanoPi Neo, FHEM trunk, FHEM Tablet UI, ESP8266, miniCUL-WLAN mit a-culfw, LaCrosseGateway

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Hallo Locutus,

da wäre ich mit 5 leeren Platinen gerne erstmal dabei.
Dann brauch ich nicht mehr fädeln ....  ;)

Grüße,
Jürgen


Offline PeMue

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3242
Ich kann eine begrenzte Stückzahl an unbestückten Platinen entbehren. Stückpreis 2,- € zzgl. Versandkosten.
Darf ich's mir noch ein bisschen überlegen? Melde mich spätestens heute abend ...

Gruß PeMue

Edit: Bin raus, da mein MySensors Feuchtesensor noch nicht in Betrieb ist - wird zu viel  ???
« Letzte Änderung: 12 Februar 2017, 19:53:48 von PeMue »
1x FB7170 (29.04.88) 5.7 1xCUNO2 1.63 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F)
1x RPi BV2LCDCSM 1.63 5.7 2xMAX HKT, 1xMAX RT, V200KW1
1xFB 7490 (113.06.05) 5.7 1xCUL V3 1.63 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 1xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU 1xRFXtrx 90 1xWT440H 1xCM160 3xTFA30.3150 5xFA21R

Offline Tom71

  • Full Member
  • ***
  • Beiträge: 166
    • Tom71blog
Danke, damit kann man schon arbeiten. Inzwischen habe ich in Eagle eine Platine für den Sensor erstellt. Wenn man die Bauteile tief genug einbaut, auf IC-Sockel verzichtet und die Spannungsquelle nach Außen verlegt, dann passt das Platinchen in das Strapubox USB-Gehäuse hinein.
Die Gerberdaten sind für ITEAD.

Ich kann eine begrenzte Stückzahl an unbestückten Platinen entbehren. Stückpreis 2,- € zzgl. Versandkosten.

Bitte für mich auch 5 Stk. Soll ich dir eine PM schicken?
Raspberry Pi 3 | MySensors SerialGateway auf nanoCUL V2.2 | JeeLinkClone | nanoCul V1.1 | Homematic | RaspberryMatic


Offline Tom71

  • Full Member
  • ***
  • Beiträge: 166
    • Tom71blog
Nur noch zum Verständnis:
- Wie empfange ich den Sender? Mit einem 433Mhz CUL? Oder einem JeeLink für 433Mhz?
(Ich habe z.Zt. nur einen JeeLink RFM12B f:868300 und einen nanoCUL V 1.23.04 a-culfw Build: private build (unknown) nanoCUL433 (F-Band: 433MHz))
- Geht nur das STX882 Modul oder kann ich auch ein einfaches Sendemodul verwenden (http://cloud7.lbox.me/images/384x384/201209/433mhz-wireless-transmitter-module-superregeneration-for-arduino-green_hhgihj1348814186444.jpg)
Raspberry Pi 3 | MySensors SerialGateway auf nanoCUL V2.2 | JeeLinkClone | nanoCul V1.1 | Homematic | RaspberryMatic

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Der 433er NanoCUL sollte passen ebenso die aculfw-Version passt.
Die 433er Sendemodule sollten bei 433.920 MHz senden.
Hier sollten alle erhältlichen funktionieren, die OOK senden. (Die meisten...) 

Die STX882 Module sind kompakt und sind auch von der Reichweite her zu gebrauchen!

Jürgen

Hier gibt es mehr Erläuterungen zum LaCrosse-Protokoll.

« Letzte Änderung: 22 Februar 2017, 22:41:38 von juergs »

Offline Tom71

  • Full Member
  • ***
  • Beiträge: 166
    • Tom71blog
Passt!
Allerdings erst nachdem ich in der LaCrosse.cpp den richtigen PIN_SEND auf 3 gesetzt habe (https://github.com/juergs/Bodenfeuchte_ATtiny85_V2)

#define PIN_SEND 3  // PB0 on Pin <Nr>,  Damit passt es dann auch zur Platine von locutus und dem Schaltplan. Du hast ja eigentlich den TX_PIN definiert, aber ich finde nicht die Stelle, wo der Wert an LaCrosse übergeben wird.
Nun werde ich mal meine "Fühler" basteln.
 
Raspberry Pi 3 | MySensors SerialGateway auf nanoCUL V2.2 | JeeLinkClone | nanoCul V1.1 | Homematic | RaspberryMatic

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Zitat
aber ich finde nicht die Stelle, wo der Wert an LaCrosse übergeben wird.

Na ja, steht ja deutlich da ...

//--- transfer measured values to LaCrosse-instance
  LaCrosse.bSensorId = SENSORID_BODENFEUCHTE;
  LaCrosse.t = theta;    //--- alias temperature; 
  LaCrosse.sendTemperature();
 
  LaCrosse.sleep(1);        /* 1 second, no power-reduction! */

  #ifdef USE_SEPARATE_BATTERIE_ID
    LaCrosse.bSensorId = SENSORID_BATTERIE;
  #endif
 
  LaCrosse.h = bodenfeuchte/1000; //   controller_VCC;   
  LaCrosse.sendHumidity();
LaCrosse.sleep(1); /* 1 second, no power-reduction! */

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Ich habe mir noch mal den Stromverbrauch mit dem Dallas-Sensor plus Pullup angeschaut:

Der Pullup + Schaltung zieht leider doch noch 0.43 mA im Sleep-Modus und ca. 5 mA während der Aufwachphase.
Das ist für Langzeit-Batterielaufzeit zu viel, geht also nur mit "größeren" Batterien zu kompensieren. ( z.B. 2 * AA oder AAA plus StepUp-Regler ...)

http://oregonembedded.com/batterycalc.htm

Also noch zwei Möglichkeiten blieben anzudenken: die Betriebszeit des 555 halbieren und den PullUp des DS18B20
per FET schaltbar machen und/oder Pullup vergrößern (muss noch mal das Datenblatt konsultieren ...) 
« Letzte Änderung: 25 Februar 2017, 15:29:22 von juergs »

Offline locutus

  • Sr. Member
  • ****
  • Beiträge: 751
  • No support over PM! Please use the thread ...
die Platinen sind gut angekommen. Hab noch zwei Fragen dazu:
- Welche Größe hat C4 (Kann ich auf dem Schaltplan https://forum.fhem.de/index.php?action=dlattach;topic=59933.0;attach=60777 nicht finden
Ein 100nF Keramikkondensator
Zitat
- Was für einen ELKO hast du für C1 genommen? Hast du einen Link für mich?
Reichelt elektronik TANTAL 47/6,3
Produktivsystem: Raspberry Pi 3, Add-On Board mit 1.8" TFT LCD, FHEM V5.7, CULFW V1.66, FS20, ESA2000, JeeLink Clone RFM69CW, LaCrosse, EMT7110, 1-Wire, WiFi LED Controller, Yamaha AVR
Testumgebung: NanoPi Neo, FHEM trunk, FHEM Tablet UI, ESP8266, miniCUL-WLAN mit a-culfw, LaCrosseGateway

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Hallo Locutus,

super, die Platine.

Ohne den 555 zu bestücken lässt sich das Board natürlich auch als normaler, einfacher Temperatursensor einsetzen.  :D

Als kleinen Verbesserungsvorschlag hätte ich noch ein paar Kleinigkeiten:

1. Leider passt nur eine kleinere Version der Schraubklemme, deshalb muss ich den Durchmesser mit Draht anpassen
 um die "Sensoren" zu bestücken. Diese verlieren aber dadurch an Stabilität. Das lässt sich aber durch ein 3D-Print-Gehäuse wieder abfangen.

2. Den 555 und den ATTtiny als SMD-Variante, die Rs + Cs ebenfalls?

3. Dann würde ich evtl. doch auf den ATTiny84 (ATtiny841-SSU) ausweichen, der hat noch ein paar mehr Pins zur
weiteren Verwendung (Debug/Serial/Konfiguration etc.) zur Verfügung.

Dann werde ich das nach einem Gehäuse-"Design" mal in Angriff nehmen ...  ;)

Vorschläge dazu, (Fusion360) gerne willkomen ...

Grüße,

Jürgen
 
   
« Letzte Änderung: 01 März 2017, 20:40:46 von juergs »

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
433MHz-Sender: STX882

Habe ein Modul ohne Dallas-Sensor und Pullup aufgebaut.
(Die "Sensoren" aus 3mm Zinkrohr lassen sich auch direkt auf die Platine löten.)


Ergebnis: zieht im Sleep-Modus weiterhin 0.4 mA ...  Aha ...
« Letzte Änderung: 26 Februar 2017, 18:24:28 von juergs »

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
« Letzte Änderung: 27 Februar 2017, 19:29:52 von juergs »

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Gehäuseunterteil ist soweit fertig...
Fehlt noch das Oberteil-Design mit CR2032-Batterie(n) und Antenne im Deckel ....

Wenn man einmal konstruieren möchte: Server Down ... :(
Soviel zu Cloud & Verfügbarkeit ....
« Letzte Änderung: 28 Februar 2017, 20:32:36 von juergs »

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Der erste Deckel-Prototyp... zeigt schon mal, in welche Richtung es gehen könnte...
« Letzte Änderung: 28 Februar 2017, 23:18:21 von juergs »

Offline Tom71

  • Full Member
  • ***
  • Beiträge: 166
    • Tom71blog
@juergs ich meinte die Übergabe des Data-Pins an Lacrosse. In LaCrosse wird sonst der default Pin zum senden verwendet.


Gesendet von iPhone mit Tapatalk
Raspberry Pi 3 | MySensors SerialGateway auf nanoCUL V2.2 | JeeLinkClone | nanoCul V1.1 | Homematic | RaspberryMatic

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Zitat
Übergabe des Data-Pins an Lacrosse.
wird nur definiert, nicht übergeben.  Ist beim ATtiny D3 / PB3.

in LaCrosse.cpp setzen und sollte für den ATtiny85 so lauten:

#ifndef PIN_SEND
#define PIN_SEND 3  // ATTiny DIP.2 = PB3 is D3 
#endif
« Letzte Änderung: 01 März 2017, 20:15:40 von juergs »

Offline locutus

  • Sr. Member
  • ****
  • Beiträge: 751
  • No support over PM! Please use the thread ...
Platine Ver. 1.1

Mit angeschlossener Bodenfeuchte.Power + Pulse geht ISP nicht mehr. (SCK+MISO betroffen.)
Berücksichtig und hinzugefügt: SCK und MISO Lötbrücken zwischen IC1 und IC2. Im Normalbetrieb bleiben beide Brücken mit Lötzinn geschlossen. Zur Programmierung über ISP müssen beide Lötbrücken geöffnet werden.

Als kleinen Verbesserungsvorschlag hätte ich noch ein paar Kleinigkeiten:
1. Leider passt nur eine kleinere Version der Schraubklemme, deshalb muss ich den Durchmesser mit Draht anpassen um die "Sensoren" zu bestücken. Diese verlieren aber dadurch an Stabilität. Das lässt sich aber durch ein 3D-Print-Gehäuse wieder abfangen.
Berücksichtig und geändert: größere Lötpads. Abstand zwischen P1 und GND auf 5 mm erhöht.

Zitat
2. Den 555 und den ATTtiny als SMD-Variante, die Rs + Cs ebenfalls?
3. Dann würde ich evtl. doch auf den ATTiny84 (ATtiny841-SSU) ausweichen, der hat noch ein paar mehr Pins zur weiteren Verwendung (Debug/Serial/Konfiguration etc.) zur Verfügung.
Wo finde ich die finale Version des Schaltplans? Kunststoffgehäuse aus dem Fachhandel oder 3D gedrucktes? Ich schlage für passive Bauteile die SMD Bauform 1206 vor.

« Letzte Änderung: 06 März 2017, 21:44:54 von locutus »
Produktivsystem: Raspberry Pi 3, Add-On Board mit 1.8" TFT LCD, FHEM V5.7, CULFW V1.66, FS20, ESA2000, JeeLink Clone RFM69CW, LaCrosse, EMT7110, 1-Wire, WiFi LED Controller, Yamaha AVR
Testumgebung: NanoPi Neo, FHEM trunk, FHEM Tablet UI, ESP8266, miniCUL-WLAN mit a-culfw, LaCrosseGateway

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Hallo Damian,
Super + Dank für die Initiative.

Den SMD Attiny habe ich schon bekommen.
Leider gerade noch etwas in 3D Erfahrungen sammeln, um ein
passendes Gehäuse dazu zu konzipieren.
Dann mache ich mich an das Design mit dem 841.
Da würde evtl. noch eine ZweifarbLed dazu passen plus weitere Sensoren...
Die Feuchtesensoren mit PH-Messung sind leider noch nicht gekommen.
Dauert noch etwas, weil ich gerade beim Skifahren bin :-)
Grüße,
Jürgen

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Hier einige Vorschlägefür das ATtiny 841-Design:

The high-performance Microchip picoPower 8-bit AVR RISC-based microcontroller combines:
8KB ISP flash memory,
512-Byte EEPROM,
512B SRAM,
12 general purpose I/O lines,
32 general purpose working registers,
an 8-bit timer/counter with two PWM channels,??
two 16-bit timer/counters with two PWM channels,
internal and external interrupts,
an 12-channel 10-bit A/D converter,
2 On-chip analog comparators,
2 full duplex USARTs with Start Frame wake up from power down,
master/slave SPI serial interface,
slave I2C serial interface,
programmable gain stage (1x, 20x, and 100x) for 12 differential ADC channel pairs,
programmable watchdog timer with internal oscillator,
internal calibrated oscillator, and four software selectable power saving modes.
The device operates between 1.7-5.5 volts.

2mA Zwei-Farb Led 1206: smd-led-mehrfarbig-1206-rot-gruen-12-mcd-2-mcd-140-2-ma

Blinkfolge via Timerinterrupt ausgeben

LiPo 18650-Halter mit integriertem Lader
« Letzte Änderung: 19 März 2017, 08:15:28 von juergs »

Offline PeMue

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3242
Hallo Jürgen,

habe an den Sensor mal 2 AAA Batterien geklemmt und parallel zu dem XT300 in die Banane gesteckt. Mal sehen, wie der Unterschied ist. Der Sensor wird problemlos vom CUL 433 erkannt, beim RFXTRX ist das LaCrosse Protokoll ausgeschaltet (und mir der Aufwand gerade zu groß, das einzuschalten).
Ich vermute mal, dass das LaCrosse Protokoll es nicht hergibt, die Batteriespannung zu senden (oder doch)? Danke noch mal für Deine Arbeit.

Aus meiner Sicht könnte man noch folgendes verändern (ob es dann besser wird, sei mal dahingestellt  ;)):
- Stepup Wandler, damit man den Sensor mit einer Zelle (AA oder AAA) speisen kann
- geeignetes (kleines) Gehäuse drumrum, so dass man den Sensor direkt in die Erde stecken kann (ok, die beiden Öffnungen für die Elektrode müsste man dann irgendwie mit Silkon abdichten)
- generell würde ich das ganze vermutlich in SMD machen ...

Woher hast Du denn die schönen Elektronden?

Gruß Peter
1x FB7170 (29.04.88) 5.7 1xCUNO2 1.63 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F)
1x RPi BV2LCDCSM 1.63 5.7 2xMAX HKT, 1xMAX RT, V200KW1
1xFB 7490 (113.06.05) 5.7 1xCUL V3 1.63 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 1xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU 1xRFXtrx 90 1xWT440H 1xCM160 3xTFA30.3150 5xFA21R

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Hallo Peter,

danke für die Anregungen:

Zitat
Aus meiner Sicht könnte man noch folgendes verändern (ob es dann besser wird, sei mal dahingestellt  ;)):
- Stepup Wandler, damit man den Sensor mit einer Zelle (AA oder AAA) speisen kann
- geeignetes (kleines) Gehäuse drumrum, so dass man den Sensor direkt in die Erde stecken kann (ok, die beiden Öffnungen für die Elektrode müsste man dann irgendwie mit Silkon abdichten)
- generell würde ich das ganze vermutlich in SMD machen ...

StepUp-Wandler habe ich auch schon in petto ... als China-Kaufteil.
Eigentlich war meine Planung eine CR2032-Batterie. Hat allerdings den Nachteil,
z.B. Status-Leds  mit einzubinden wegfallen, da Stromverbrauch zu hoch und die Batterie zu schnell leer wäre.
Ebenso wie die anderen Features z.B. Temperaturmessung, Licht- und pH-Messung  etc.
Deshalb auch der erste Wurf.

Meine weitere Planung ist schon am entstehen, mit oben erwähnten Teilen, den Step-Up-Wandler würde ich ebenfalls befürworten.
AA- oder AAA-Batterien (mit oder ohne StepUp) wären gegen den klobigen 18650-LiPo auch abzuwägen. Der Lipo lässt sich einfach per USB wieder aufladen ...

Die "kleinste" Variante als Kompromiss von Lebendauer der Batterie versus Gehäuse-Größe wäre eine SMD-Variante mit StepUpwandler.
Im Moment baue ich diese Variante auf, bzw. warte noch auf ein paar Teile, bevor es weitergeht.

Das Gehäuse ergibt sich dann aus dem PCB + Batterie.
Hier bin ich gerade am 3D-Druck + Design "optimieren", um es gefällig hinzubekommen (Lernkurve!).

Die Elektroden fertige ich einfach aus 3mm Messing-Rohr aus dem Baumarkt (1m für ca. 1€). Das Ganze
mit robustem Schrumpfschlauch überzogen und die Enden mit 2-Komponenten-Kleber abgedichet.
Sie sollen ja nur kapazitiv arbeiten, sollten also eigentlich wasserdicht sein und bleiben  ???.
Das direkte Anlöten der abgeflachten Enden an die Lötpads ist fast die stabilere Variante als die Verwendung einer 2,54mm
Schraubklemme... zumindest billiger  ;)
Außerdem taugen sie auch für CUL-Antennen usw. ...

Über den CUL433 wird das Protokoll als CUL_TX-Device empfangen und über autocreate auch einfach in FHEM angelegt und empfangen.
Man könnte das Ganze noch über ein DOIF auf ein Icon legen, welches abhängig vom Status die Farbe wechselt.
Nach einigen Probe-Exemplaren ist mir die Wiederholbarkeit der Messungen aufgefallen.
In der SW ist ja ein Fenster-Zeitraum definiert, in dem die hereinkommenden Impulse gezählt werden.
Die Abhängigkeit von Kapazität zu Sensorlänge habe ich eher empirisch ermittelt .... 

Die interessante Erweiterung wäre eine Mesh-Funktion mit einem "Durchleiten" der am weitesten entfernten
Sensoren. Dann benögt man aber auch noch einen 433-Empfänger dazu.
Einen Repeater dazu ist gerade auch am enstehen. Die ATtinies haben allerdings nur 8K Flash, da ist man etwas begrenzt ... 
Mal schauen ob es doch ein Micro mit 32U4 oder ein 328P oder ähnliches wird ...

Als Alternative zum LaCrosse-Protokoll könnte ich ebenfalls das Hideki-Protokoll verwenden.
Temperatur+Feuchte+Batteriespannung nur als Flag könnte das Protokoll hergeben.
Meine Lösung für die Baterriespannung war, dass ein Sensor über zwei IDs sendet.
Z.B. ID100 sendet HUM + TEMP und ID101 sendet nur Batteriespannung in größeren Abständen ....

Mittlerweile habe ich die China-Sensoren zur Feuchte, Licht und pH-Wert-Messung bekommen.
Bin von der schieren Größe und Einfachheit überwältigt!
Allerdings scheint es nicht für Dauer-Gebrauch ausgelegt zu sein.
Ein analoges mV-Messinstrument wird zwischen den Sensoren einfach umgeschalten.
Die Lichtmessung ist einfach ein kleine Photozelle 5x5mm.
Die Feuchtigkeitsmessung resultiert aus der Spannungdifferenz zwischen dem CU-Röhrchen und dessen isolierter Spitze.
Genauso die "pH-Messung" aus dem zweiten Röhrchen mit dessen isolierter Spitze.
Mehr nicht ....  :D

Anbei mal ein Foto  ;)
« Letzte Änderung: 12 März 2017, 18:19:43 von juergs »

Offline PeMue

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3242
Hallo Jürgen,

Meine Lösung für die Baterriespannung war, dass ein Sensor über zwei IDs sendet.
Z.B. ID100 sendet HUM + TEMP und ID101 sendet nur Batteriespannung in größeren Abständen ...
hast Du das schon umgesetzt? Bei mir wird nur eine ID per autocreate angelegt. Wird die ID in der Software fest vergeben?

Danke + Gruß

Peter
1x FB7170 (29.04.88) 5.7 1xCUNO2 1.63 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F)
1x RPi BV2LCDCSM 1.63 5.7 2xMAX HKT, 1xMAX RT, V200KW1
1xFB 7490 (113.06.05) 5.7 1xCUL V3 1.63 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 1xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU 1xRFXtrx 90 1xWT440H 1xCM160 3xTFA30.3150 5xFA21R

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Hallo Peter,
Zitat
hast Du das schon umgesetzt? Bei mir wird nur eine ID per autocreate angelegt. Wird die ID in der Software fest vergeben?
Ja, umgesetzt ist es schon. Die ID wird in der SW (mangels Ports zum Jumpern) fest eingestellt. Die eingestellte Id + 1 wäre die Batteriespannung.

Hier der Sketch dazu: https://github.com/juergs/Bodenfeuchte_ATtiny85_V2/blob/deep_sleep_mode/Bodenfeuchte_433.ino

Nachteilig ist, bei der HW-Konfiguration, dass leider SCK und Mosi so belastet werden, dass ein Programmieren in der Schaltung
nicht immer fehlerfrei geht. Deshalb habe ich einen externen Programmier-Adapter (8p-DIP auf 6p-Pfostenleiste) dazu gebaut um den ATTiny85
umzuprogrammieren (siehe auch erste Seite). Die gedrehten DIP-Fassungen lassen aber leider bei den Pin-Abmessungen des Chips auch nicht so vieles
Umstecken zu, sie leiern leider aus. Deshalb ist die Lösung mit Lötbrücken zum Entkoppeln beim Programmieren besser geeignet.
14p NullkraftSockel für 1,45 €

Die nächste Version verwendet den ATTiny841 in SOIC-Gehäuse und SMD-555.
Drazzy.com/e/tiny841.shtml
https://github.com/SpenceKonde/arduino-tiny-841

Aktuell verbraucht die aktuelle SW in der Ruhephase 0.4 mA, was noch Faktor 100 zu hoch ist.
Beim Upgrade auf den 841 schaue ich mir das noch an ....

Noch zu den "Sensoren":
Gummibeschichtung 200ml für 19.90€:
http://www.plastidip-shop.de/index.php/plasti-dip-zubehoehr/plastidip.html


Grüße,
Jürgen

« Letzte Änderung: 14 April 2017, 13:50:17 von juergs »

Offline locutus

  • Sr. Member
  • ****
  • Beiträge: 751
  • No support over PM! Please use the thread ...
Aus meiner Sicht könnte man noch folgendes verändern (ob es dann besser wird, sei mal dahingestellt  ;)):
- Stepup Wandler, damit man den Sensor mit einer Zelle (AA oder AAA) speisen kann
Mein Vorschlag für einen DC-DC Converter: MAX1724
 - 1.5μA Quiescent Supply Current
 - 0.8V to 5.5V Input Voltage Range
Die externe Beschaltung besteht aus zwei Kondensatoren und einer Power-Induktivität.
Produktivsystem: Raspberry Pi 3, Add-On Board mit 1.8" TFT LCD, FHEM V5.7, CULFW V1.66, FS20, ESA2000, JeeLink Clone RFM69CW, LaCrosse, EMT7110, 1-Wire, WiFi LED Controller, Yamaha AVR
Testumgebung: NanoPi Neo, FHEM trunk, FHEM Tablet UI, ESP8266, miniCUL-WLAN mit a-culfw, LaCrosseGateway

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Hallo locutus,

danke für den Vorschlag.
PMIC - Spannungsregler - DC/DC-Schaltregler Maxim Integrated MAX1724EZK33+T Boost TSOT-23-5
Bezugsquelle beim großen "C" für 5,78 €, Lieferzeit 2 Wochen.  In China?

Grüße,
Jürgen

Offline PeMue

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3242
Mein Vorschlag für einen DC-DC Converter: MAX1724
 - 1.5μA Quiescent Supply Current
 - 0.8V to 5.5V Input Voltage Range
Die externe Beschaltung besteht aus zwei Kondensatoren und einer Power-Induktivität.
Entspricht der Dirk's Schaltung für den Universalsensor. Hätte ich auch vorgeschlagen.
Und dann ein Batteriehalter für eine AA oder AAA Zelle auf der Rückseite und ein schickes 3D Gehäuse drumrum ... Dann kann ich alle meine alten Batterien "leerlutschen"  ;)

Bezugsquelle beim großen "C" für 5,78 €, Lieferzeit 2 Wochen.  In China?
Ich schau mal, ob ich noch welche habe. Ich meine, ich hätte welche in China bestellt.

Gruß Peter
1x FB7170 (29.04.88) 5.7 1xCUNO2 1.63 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F)
1x RPi BV2LCDCSM 1.63 5.7 2xMAX HKT, 1xMAX RT, V200KW1
1xFB 7490 (113.06.05) 5.7 1xCUL V3 1.63 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 1xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU 1xRFXtrx 90 1xWT440H 1xCM160 3xTFA30.3150 5xFA21R

Offline Tom71

  • Full Member
  • ***
  • Beiträge: 166
    • Tom71blog
Warum möchtest du denn jetzt einen ATtiny841 einsetzen? Der ATTiny85 hat doch einen ähnlichen Stromverbrauch, oder? Oder geht es nur um den Sockel?
Raspberry Pi 3 | MySensors SerialGateway auf nanoCUL V2.2 | JeeLinkClone | nanoCul V1.1 | Homematic | RaspberryMatic

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Hallo Tom71,

der ATTiny85 wird gerade im DIP-Gehäuse verwendet + ein DIP-Sockel trägt damit etwas auf
und hat nur einen Arduino-Port-Pin frei. Dh. etwas begrenzt in den weiteren Anwendungsmöglichkeiten.

Der 841 hat 12 IO-Pins, also einige mehr.  Dh. es wäre z.B. eine Led-StatusAnzeige  mit einer Duo- oder RGB-LED möglich.
Hierfür wären aber schon 2..3 Portpins erforderlich. Da wäre eine optische Rückmeldung direkt aus dem Blumentopf möglich.  ;)
Wäre natürlich die Frage, ob minütliche blinkende Pflanzen-/Blumentöpfe erwünscht sind.
Ebenso kann man einige Pins zu Konfiguration verwenden: z.B. BasisAdresse + 4 Bit Auflösung das wären 7 .. 8 unterschiedliche IDs, die man ohne
Programmierung einstellen könnte, serielle Programmierbarkeit der Grenzen, Abschaltbarkeit der Spannungsversorgung Pullup + 18B20
via Mosfet, Temperaturmessung abschaltbar im Austausch gegen Batteriespannung  und .. und .. und ...

Aber 8K bleiben 8K Flash, es geht also eng zu mit weiteren Features.  :-\
Der 841 hat 2 richtige UARTS, so dass die Emulation wegfallen könnte und wieder mehr Flash zur Verfügung steht.


Mit SMD kann man ca. 20... 30 % kleiner und weniger in der Höhe auftragend bauen,
zusammen mit dem StepUp-Regler und z.B. nur einer 1,5V AA/AAA Batterie würde das Gehäuse nicht so wuchtig groß.
Manuell Löten lassen sich die SOT/SOIC-Gehäuseformen eigentlich auch sehr gut.

Als Batteriehalter könnte ich mir folgende Lösung mit 1 oder 2 Batterien vorstellen:
Batterie-Halterungen/Mignon-AA-Halterung/Batteriehalter-2x-Mignon-AA-mit-Anschlusskabel-kurze-Version.html
Batteriehalter-fuer-1-x-UM-3K-Mignonzelle-AA-mit-Anschlusskabel.html
Oder auch in AAA-Größe, wäre noch etwas kompakter. Drumherum dann ein 3D-gedrucktes Gehäuse,
natürlich in grünem ABS-Filament, in das sich der Batterie-Halter harmonisch einpasst ....
Diese Form direkt für Platinenmontage wäre auch eine Idee.

Einzelne integrierte  Batteriekontakte in dieser Form: Batteriekontakt-Doppel-Federkontakt-AA-Mignon stellen schon höhere Anforderungen an das Gehäuse-Design.


 
 
« Letzte Änderung: 15 März 2017, 20:25:00 von juergs »

Offline papa

  • Developer
  • Full Member
  • ****
  • Beiträge: 458
Kennt Ihr den AAduino http://johan.kanflo.com/the-aaduino/. Nur mal so als Idee wegen der Bauform und so..
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Offline Tom71

  • Full Member
  • ***
  • Beiträge: 166
    • Tom71blog
@papa Ich bin ja dran und drauf den AAduino mal nachzubauen. Ist auch alles recht günstig, bis auf diese beiden Batteriekontakte. Die sind nur teuer zu bekommen. Wenn jemand Lust hat, könnte man sich die Versandkosten bei z.B. tme teilen.
Raspberry Pi 3 | MySensors SerialGateway auf nanoCUL V2.2 | JeeLinkClone | nanoCul V1.1 | Homematic | RaspberryMatic

Offline papa

  • Developer
  • Full Member
  • ****
  • Beiträge: 458
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Offline Tom71

  • Full Member
  • ***
  • Beiträge: 166
    • Tom71blog
@Papa Die sehen zwar nicht ganz so stabil aus, könnten aber passen. Ggf. muss ich rechts und links noch "Verstrebungen" anlöten. Ich probiers mal.
Raspberry Pi 3 | MySensors SerialGateway auf nanoCUL V2.2 | JeeLinkClone | nanoCul V1.1 | Homematic | RaspberryMatic

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Hallo papa,

danke für die beiden Tipps.
Den aaduino kannte ich schon, prüfe ich noch mal platztechnisch nach, wenn meine bestellten Batteriehalter-Varianten eintrudeln ...
Der 328er  hätte natürlich mit 32K mehr Flash zu Verfügung, wäre aber aufwendiger in der Herstellung, bzw. beim Löten.
Das scheue ich eigentlich nicht, habe jetzt schon einige 32U4 verarbeitet, aber für den Standard-Anwender zumutbar? 
Die Einzel-Batterie-Feder und -Gegenbleche: gute Idee und wären auch noch eine Überlegung wert, wenn man alles auf eine Platine setzt
und sozusagen in "Einschubtechnik" ins Gehäuse integriert. Allerdings wieder Wartezeit ...

Bei der Anzahl der Batterien bin ich mir nicht ganz so sicher, wie lange z.B. eine AAA-Batterie mit StepUp halten wird.
Vom Kompromiß her (Gehäusegröße zu Batterielebensdauer) würde ich eher 2 Stück bevorzugen.
Mit 2 AA-Batterien würde das Gehäuse schon 30x25mm mit ca. 52 mm Höhe als Grundmaße haben ...
Das probiere ich jetzt einfach mal aus.  :D

@Tom71: könntest Du mal den Link zu den tme-Haltern posten?

Grüße,
Jürgen

« Letzte Änderung: 15 März 2017, 20:19:43 von juergs »

Offline Tom71

  • Full Member
  • ***
  • Beiträge: 166
    • Tom71blog
https://www.tme.eu/de/details/keys629/batterien-behaelter-und-halterungen/keystone/629/
https://www.tme.eu/de/details/keys637/batterien-behaelter-und-halterungen/keystone/637/

Das sind die gleichen, die auch Johan Kanflo verwendet. Bei TME sind die Versandkosten nur recht hoch 5,90.
Allerdings kosten dann bei TME 10 * 629 + 10 * 637 ca. 20€
« Letzte Änderung: 16 März 2017, 08:06:10 von Tom71 »
Raspberry Pi 3 | MySensors SerialGateway auf nanoCUL V2.2 | JeeLinkClone | nanoCul V1.1 | Homematic | RaspberryMatic

Offline PeMue

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3242
Hallo Tom,

ich würde vermutlich ein paar Sachen bei TME mitbestellen, ich stöbere mal und gebe Dir Bescheid ...

Gruß Peter
1x FB7170 (29.04.88) 5.7 1xCUNO2 1.63 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F)
1x RPi BV2LCDCSM 1.63 5.7 2xMAX HKT, 1xMAX RT, V200KW1
1xFB 7490 (113.06.05) 5.7 1xCUL V3 1.63 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 1xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU 1xRFXtrx 90 1xWT440H 1xCM160 3xTFA30.3150 5xFA21R

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Anbei mal der Prototyp mit ATtiny841 + 3V3-StepUp-Regler.

Die Varianten mit AAA und AA-Batterien.
AA:    24    x 51.2 x 13.1 (B/L/H)
AAA:  30.4 x 60    x 15

Der 841 ist nicht so üblich, deshalb noch ein paar Anlaufschwierigkeiten:

1. Programming the ATtiny841 with avrdude - VE7XEN's ham radio and electronics blog
https://www.ve7xen.com/blog/2014/03/07/programming-the-attiny841-with-avrdude/
2. ATtiny841 - Microcontrollers and Processors
http://www.microchip.com/wwwproducts/en/ATTINY841
3. Need help using the ATTiny841 with avrdude | AVR Freaks
http://www.avrfreaks.net/comment/1015011#comment-1015011
4. Overview | USBtinyISP | Adafruit Learning System
https://learn.adafruit.com/usbtinyisp

Ich habe mal versucht, die Kapazität der Sensoren zu ermiteln:
Leer:            0.001 nF   = 1 pF
Angefasst:    0.015 nF   = 15 pF

Schaltplan + SW folgt noch  ;)
« Letzte Änderung: 19 März 2017, 09:19:44 von juergs »

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Nachdem der ATTINY841 (i) in meiner Programmer-Konfiguration nicht dabei war,
musste ich nach Alternativen suchen .... (ATtiny84-Einstellung war nicht kompatibel ...)

Die Windowsanwendung "Avrdudess" setzt eine Gui über avrdude.
In der avrdude.conf habe ich den Teil für den ATtiny841 hinzugefügt und ist nun über
meinen USBasp-Programmer zu programmieren.

Mein Compile mit den 841-Ergänzungenungen der conf-Datei:
avrdudess mit avrdude auf github
Alternativ kann über "Options" auch der Standort der avrdude.exe konfiguriert werden.

Für USBasp musste ich noch den Treiber auf libusb umswitchen .... http://zadig.akeo.ie/

SOIC-Löten  Bezugsquelle
Nanite841-Bootloader für USB (Micronucleus)
avrdude -c avrisp2 -B 10 -p attiny841 -e -U flash:w:micronucleus-t841_ext_reset.hex:i -U lfuse:w:0xE2:m -U hfuse:w:0xDD:m -U efuse:w:0xF4:m
« Letzte Änderung: 19 März 2017, 21:02:57 von juergs »

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
« Letzte Änderung: 19 März 2017, 10:24:33 von juergs »

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Der Zugriff auf den 841 gestaltet sich hartnäckig schwierig:

Zitat
Unable to detect MCU

avrdude.exe: set SCK frequency to 1500000 Hz
avrdude.exe: error: program enable: target doesn't answer. 1
avrdude.exe: initialization failed, rc=-1
             Double check connections and try again, or use -F to override
             this check.


avrdude.exe done.  Thank you. 

Dann bin ich mit der Bitclock-Rate in avrdude auf 32KHz  ( war vorher 1,5MHz) gegangen und siehe da:

Zitat
Detected 1e9315 = ATtiny841

 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

avrdude.exe: set SCK frequency to 32000 Hz
avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude.exe: Device signature = 0x1e9315 (probably t841)
avrdude.exe: reading lfuse memory:

Reading | ################################################## | 100% -0.00s

avrdude.exe: writing output file "C:\Users\Jürgen\AppData\Local\Temp\593e6efe-0897-414a-b866-2a9fae719a5a.TMP"
avrdude.exe: reading hfuse memory:

Reading | ################################################## | 100% -0.00s

avrdude.exe: writing output file "C:\Users\Jürgen\AppData\Local\Temp\28bc6605-68ac-4b47-9b79-949d0f6c1687.TMP"
avrdude.exe: reading efuse memory:

Reading | ################################################## | 100% -0.00s

avrdude.exe: writing output file "C:\Users\Jürgen\AppData\Local\Temp\900b35d6-8679-442a-b31b-2841dd74938d.TMP"

avrdude.exe done.  Thank you.


Jetzt, wo die Fuses bekannt sind lässt sich das Verhalten einfach erklären:
die internen 8MHz werden duch 8 geteilt. Das ergibt 1 MHz Taktfrequenz.
Geht man mit 1.5 MHz ISP SCK drauf .... passt das natürlich nicht.  ;)

Leider gäbe es noch x-andere Gründe warum das nicht gehen könnte....
Im Datenblatt werden 2 mal MISO, MOSI und SCK angegeben....

Für das SOIC-Gehäuse gilt:
  • MOSI - PA6  - Pin 7
  • MISO - PA5  - Pin 8
  • SCK -  PA4  - Pin 9
  • RES -  PB3  - Pin 4

Pin 1 des Chips ist ohne Mikroskop kaum erkennbar (Kerbe und Punkt an Pin1.)
Die SSU-Typen haben das SOIC-Pinout. Es gibt aber auch Schaltpläne mit dem 20p VQFN-Gehäuse (-MU).
Etwas verwirrend für den Anfang ....

Ok, dann kann es weitergehen, wenn die Arduino-IDE noch mitspielt ...

Grüße,
Jürgen
« Letzte Änderung: 19 März 2017, 21:09:56 von juergs »

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
ATtiny841-Tutorial:
http://elecrab.com/archives/851#more-851

Schaltplan
http://elecrab.com/wp-content/uploads/2014/11/ATtiny841.pdf

Hardware
http://elecrab.com/wp-content/uploads/2014/12/Atmel-2521-AVR-Hardware-Design-Considerations_ApplicationNote_AVR042.pdf

Arduino-Support
https://github.com/SpenceKonde/arduino-tiny-841

Zitat
    On the 1634 and 841, when using the Optiboot bootloader, the Watchdog Timer interrupt vector will always point to the start of the program, and cannot be used for other functionality. Because the 1634 and 841 do not have built-in bootloader support, this is achieved with "virtual boot" feature of Optiboot. This bootloader rewrites the reset and WDT interrupt vectors, pointing the WDT vector at the start of the program (where the reset vector would have pointed), and the reset vector to the bootloader (as there is no BOOTRST fuse). This does not effect the 828 (it has hardware bootloader support), nor does it effect the 1634 or 841 if they are programmed via ISP.
    Some people have problems programming it with USBAsp and TinyISP - but this is not readily reproducible ArduinoAsISP works reliably. In some cases, it has been found that connecting reset to ground while using the ISP programmer fixes things (particularly when using the USBAsp with eXtremeBurner AVR) - if doing this, you must release reset (at least momentarily) after each batch of programming operation.
    At >4v, the speed of the internal oscillator on 1634R and 841 parts increases significantly - enough that neither serial (and hence the bootloader) does not work. It is recommended to run at 3.3v if using internal RC oscillator as a clock source. A future release may include an 8.1mhz internal RC @5v option, with it's own bootloader.
    When using weird clock frequencies (ones with a frequency (in mhz) by which 64 cannot be divided evenly), micros() is 4-5 times slower (~110 clocks); it still reports the time at the point when it was called, not the end, however, and the time it gives is pretty close to reality (w/in 1% or so). This combination of performance and accuracy is the result of hand tuning for these clock speeds. For really weird clock speeds (ie, if you add your own), it will be slower still - hundreds of clock cycles - on the plus side, it still gives reasonably accurate numbers back even on exotic clock speeds, ("stock" micros() executes equally fast at all clock speeds, and just returns bogus values with anything that 64 doesn't divide evenly by)

Breakoutboard
https://oshpark.com/shared_projects/fdF3wDQp
https://www.tindie.com/products/DrAzzy/attiny84184-breakout-wserial-header-bare-board
« Letzte Änderung: 25 März 2017, 16:05:05 von juergs »

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Hallo Zusammen,

ich habe eine angepasste Firmware-Version für den ATtiny841 zusammengestellt.

  • Verwendung Duo-Farb-Led zur Statusanzeige
  • Serielle Ausgabe, als Debugging-Möglichkeit (841 verfügt über zwei Hardware Serielle Schnittstellen)
  • DS18B20 als Temperaturausgabe als [TEMP]-Reading mit CUL_TX-Device
  • Bodenfeuchte als [HUM]-Reading
  • VCC-Reading über zweite Sensor-ID (HUM)
  • Einige Code-Korrekturen und Stomverbrauch im Deep_Sleep-Modus wieder unter 10 MikroAmpere (WDTCSR-Register).
  • 8K flash, wie immer an der Grenze (besser ATTINY1634? Vergleichsliste:(
  • Kein Bootloader!

Einige Hürden waren doch noch zu nehmen:
Datenblatt-Pinout ist etwas mißverständlich.
Einige Register sind nicht ATTINY85 kompatibel.
AVRdude muss gepatcht werden. 32KHz als ISP-Clock erforderlich (Ursache ... zu klären, evtl. wg. Patch?).
Programmier GUI: avrdudess für Windows und Linux mit Mono.
Vermeiden der ISP-Ports, bzw. jeweils mit >330 Ohm von der Restfunktionalität entkoppeln.
8K Flash schnell verbraucht, wenn orginal Arduino Serial-Unterstützung zugelinkt wird. (Evtl. doch noch kleinere Variante suchen ...)
Überflüssiger Code auskommentiert, um ein paar Bytes zurückzugewinnen.
Fuse-Settings: L:0xE2 H:0xDF E:0xFF (8MHz internal clock source) => 3V3-Betrieb.
USB-Support möglich: nanite-841 aber nicht erforderlich.

Beta-841-Bodenfeuchte-Code, Hex-Datei und weitere Infos unter github:
https://github.com/juergs/Bodenfeuchte_ATtiny841

Schaltplan + Gehäuse sind noch in der Mache ....  :)
« Letzte Änderung: 29 März 2017, 19:42:37 von juergs »

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Zitat
2017-03-27 21:50:22 CUL_TX CUL_TX_120 T: 21.0 H: 16.6
2017-03-27 21:50:22 CUL_TX CUL_TX_120 temperature: 21.0
2017-03-27 21:50:23 CUL_TX CUL_TX_120 T: 21.0 H: 16.6
2017-03-27 21:50:23 CUL_TX CUL_TX_120 humidity: 00.2
2017-03-27 21:50:24 CUL_TX CUL_TX_121 H: 03.2
2017-03-27 21:50:24 CUL_TX CUL_TX_121 humidity: 03.2

VCC wird auf ID 121 gesendet. Zum Programmieren waren 5V angelegt ...
Codeänderung controllerVcc auf float gecastet = 3.2 Volt -> OK!
« Letzte Änderung: 28 März 2017, 21:52:40 von juergs »

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Schaltplan des Prototyps.
« Letzte Änderung: 28 März 2017, 21:33:44 von juergs »

Offline Tom71

  • Full Member
  • ***
  • Beiträge: 166
    • Tom71blog
Woher hast du den ATtiny841 bezogen? EBay?


Gesendet von iPhone mit Tapatalk
Raspberry Pi 3 | MySensors SerialGateway auf nanoCUL V2.2 | JeeLinkClone | nanoCul V1.1 | Homematic | RaspberryMatic

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
 :) Günstiger als in der Bucht ... hier
Für den 1634 ließ sich der Shop aber leider nicht überreden.  :(
« Letzte Änderung: 29 März 2017, 08:56:16 von juergs »

Offline juergs

  • Sr. Member
  • ****
  • Beiträge: 656
Mit dem 3D-gedruckten PET-G Gehäuse bin ich etwas weitergekommen,
aber noch immer noch nicht ganz zufrieden.

Für die selbstgestrickte Prototyp-Platine wird das Gehäuse einfach zu klobig (31mm hoch),
da Batterie und Platine aufeinander zu liegen kommen.

Also brauche ich noch weitere Iterationen ...  :(

Ideen wilkommen ...
« Letzte Änderung: 04 April 2017, 21:15:09 von juergs »