Eigenbau Bodenfeuchte-Sensor-433MHz-LaCrosse-TX2/3 mit ATTiny85 (SpinOff)

Begonnen von juergs, 30 Oktober 2016, 19:57:45

Vorheriges Thema - Nächstes Thema

Tom71

Zitat von: locutus am 11 Februar 2017, 20:54:58
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?
Homematic | RaspberryMatic


Tom71

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)
Homematic | RaspberryMatic

juergs

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.


Tom71

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.
 
Homematic | RaspberryMatic

juergs

Zitataber 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! */

juergs

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 ...) 

locutus

Zitat von: Tom71 am 22 Februar 2017, 20:23:52
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

juergs

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
 
   

juergs

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 ...

juergs


juergs

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 ....

juergs

Der erste Deckel-Prototyp... zeigt schon mal, in welche Richtung es gehen könnte...

Tom71

@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
Homematic | RaspberryMatic

juergs

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