Selbstbau Funkthermometer 433Mhz

Begonnen von matlen67, 28 April 2016, 09:59:57

Vorheriges Thema - Nächstes Thema

juergs

#90
Hi Markus,
schön wieder mal was von Dir zu höhren...

Algemein habe ich mich auf die wohl auf die 433MHz-Sender eingeschossen,
weil die wohl am billigsten und am unaufwendigsten (sowohl RX, als auch TX) sind.
Den RFM oder CC1101 wäre zwar auch möglich (z.B. Panstamp-Lib), erschien mir
aber wegen des Verwendungszwecks zu aufwendig.

Für das 85er-Pinout kann ich Dir diese Seite ATtiny-Pinouts 
bzw. das hier: als PDF empfehlen. Oder hier: flickr
Da scheint mir auch das Pinout zu stimmen und sie ist allgemein sehr interessant (;-)

Auch die Zuordnung "physikalischer Prozessor-Pin" zu "Arduino-Pin" ist hier ersichtlich (graue Pin-Nrn zu denen in lila). Im Code ist natürlich nur der Arduino Pin gültig.
Im Kommentar steht meist der physikalische mit dran.
Da ich aber mehere Versionen erstellt habe, kann das manchmal aber auch nicht ganz aktuell sein.
Evtl. wäre es wohl besser auf GitHub zu verwalten ... (Wenn ich dazu komme...)

Die zweite, eigentlich aktuellere SW-Version ist hier: https://forum.fhem.de/index.php/topic,56660.0.html
Wenn ich dazu komme, fasse ich beide Versionen zusammen und baue den Fensterkontakt mit ein. 
Aber die kalte Jahreszeit beginnt ja gerade ... (;-((

Zu "meine Erfahrung mit Digispark aus China" kann ich nur sagen, das es das klassische Henne-Ei problem ist.
Da ich mehrere ISP-Programmer habe, ist es bei mir einfacher gewesen das zu raffen.
Aber das passiert dir ja mit den NANO-Boards auch.

Apropos Empfindlichkeit: Ein Kurzschluss, der natürlich keinem Profi passiert  ;D
geht auf dem Digispark die Schottkydiode mit exact 0.5 A Durchlaßstrom kaputt (USB-Hub!).
Da macht es Sinn, besonders wenn man öfters experimentiert, davon mal einige Stück vorsorglich anzuschaffen.   :D

Die Temperatursensoren sind allerdings eher Batterie gespeist, deshalb braucht man den USB-Port da eigentlich nicht.
Außer zum Programmieren des Chips. Nachteil, es fehlen dann ein paar Bytes für das Hauptprogramm.

Grüße,
Jürgen

juergs

#91
Hier ein Beispiel für das Verhalten bei Batterie-Spannung von 2.6V (!) mit DS18B20 Sensor.
Da macht es schon Sinn die Batteriespannung mitzusenden  ;)

KölnSolar

Das waren aber flotte Kurztrips an die Pole  ;)
ZitatAlgemein habe ich mich auf die wohl auf die 433MHz-Sender eingeschossen,
weil die wohl am billigsten und am unaufwendigsten (sowohl RX, als auch TX) sind.
Meinst Du damit es müsste grundsätzlich mit jedem billigen China-Sender funktionieren ?
Zitat(graue Pin-Nrn zu denen in lila)
So hatte ich es verstanden und ist ja gleich PBx, aber was sind die Ax's in grün ?
Hast Du eigentlich auch schon was mit Empfang gemacht ? Mir schwebt da eine aus fhem gesteuerte 433Mhz-->IR Fernbedienung für meine alte B&O vor. Die IRMP gibt das her. Ist in der culfw implementiert und soll auch mit attiny85 funktionieren. Nur wohl (noch) nicht über die Arduino IDE  >:( Ich recherchiere dazu mal weiter....
Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

juergs

#93
Zitat... müsste grundsätzlich mit jedem billigen China-Sender funktionieren
Yep. Z.B. STX882.

Zitat... aber was sind die Ax's in grün
Alternative PIN-Funktionen. (z.B. Analog-Input)

ZitatMir schwebt da eine aus fhem gesteuerte 433Mhz-->IR Fernbedienung für meine alte B&O vor.
Warum nicht? 433-receiver-to-infrared-gateway sozusagen ...
Man muss nur die FHEM-Kommandos (falls existent) empfangstechnisch dekodieren und als IR-Kommandos weitergeben. (Signalduino oder FHEMduino?)
Sollte also leicht zu implementieren sein ...

Mach doch dafür am Besten einen eigenen Thread auf....

ArduPino

#94
Zitat von: juergs am 09 Oktober 2016, 19:20:46
Hier ein Beispiel für das Verhalten bei Batterie-Spannung von 2.6V (!) mit DS18B20 Sensor.
Da macht es schon Sinn die Batteriespannung mitzusenden  ;)

Hab gerade nachgesehen, ein normaler Attiny85 ist mit 2,7V Mindestspannung angegeben, die Attiny85V sind mit 1,8V angegeben.
Weiß aber nicht bei wie viel Mhz.
Ich habe einen 3,6V LiIon Akkus an meinem Digispark, damit hat er aber nur 8 Tage gehalten.
Dieser war längere Zeit bei 2,9V, dann von einem Tag auf den anderen ist er aus gegangen.
Welche Kapazität der Akku noch hat weiß ich nicht, ist ein alter aus einem Laptopakku, bei einem Ladestrom von 0,5A sind da irgend was um die 900mAh rein gegangen.
Was wieder raus kommt ist dann auch noch was anderes.

Die Digispark sind super zum Programmieren. USB Verlängerungskabel dran und fertig. In den normalen USB Stecker passen die irgend wie nicht bei mir, sind anscheinend etwas dicker als die Norm erlaubt.
Aber eigentlich sind die "zu schade" um fest eingebaut zu werden. Werde mal schauen ob ich die anderen Sender mit einem Attiny85V baue, je nach dem welche Mindestspannung die bei 8Mhz haben.

EDIT:
Habe mal nach diesen Attiny85V gsucht, aber die sind recht teuer (im Vergleich zu einem normalen Attriny85). Preise extrem unterschiedlich, gesucht bei den üblichen eBa.. Amaz.... Aliexp....
Dann habe ich diesen Digispark für 1€ gesehen ! Da noch was selber basteln ??? Ob diese V Typen auch weniger Strom verbrauchen ? Einmal pro Woche Akkus laden wäre etwas nervig.

@rippi46
Wie läuft es mit deinem StepUp ?

rippi46

#95
Mein attiny85 läuft seit 2 Wochen mit einem eneloop akku AAA. Die Spannung des akku liegt immer noch bei 1.24V.
Anfänglich hatte ich die StepUp-Spannung übertragen, was natürlich kein Sinn machte. Momentan übertrage ich die tatsächliche Akkuspannung.
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

juergs

#96
Die CR2032-Batterien halten bei mir ca. 6 Wochen durch.
Das liegt wohl daran, dass ich noch nicht alles Potenzial ausgenutzt habe.
Zwischen den Messungen/Sende-Vorgängen-Pausen wird noch nicht in den Sleep-Modus gegangen.
An und für sich verhält sich der Stromverbrauch ja eigentlich sehr gut (ca. 9mA für die Dauer der Sendevorgänge).
Der Rest ist unter der Meßgrenze des mA-Meßbereichs meines Meßgerätes.

Dennoch das Delta der Batterie ist ist ja sehr eng: 3V im vollen Zustand, bei 2.6V fängt der DS1820 an zuerst einzuknicken.
Mit einem 18650 habe ich das Problem nicht: 4.2 V im vollen Zustand. Bei Bedarf per USB wiederaufladbar.
Nebeneffekt: die zusätzlichen 1,2V ergeben auch mehr Sende-Power.
Deshalb sah ich jetzt (noch) nicht den Bedarf, den Strom-Konsum per Code weiter zu optimieren. 

Die Specs der CR2032, etwas "dünn" (Laufzeit ca. 6 Wochen.):

ZitatSpannung 3V
Kapazität 230mAh

besser: 2 * AAA: Specs AAA_battery mit ca. 540 mAh als Zink/Carbon-Batterie.
Specs AA_battery:

misconceptions power-source/

oder hier, zitiere PeMue

Grüße,
Jürgen

juergs

#97
Habe heute die Version 2.6.12 der Arduino IDE installiert.

Da ständig diese Fehler im Zusammenhang mit ATtiny85 Compiles auftauchten:
ATtiny85_LaCrosse_TempSensor:1: error: stray '\357' in program

ATtiny85_LaCrosse_TempSensor:1: error: stray '\273' in program

ATtiny85_LaCrosse_TempSensor:1: error: stray '\277' in program

exit 1


Die Version 2.6.12 hat es aber auch nicht behoben ...

Ursache: der Text war in UTF-8 codiert. Warum die IDE das plötzlich nicht mehr verarbeitet?
Encoding auf ANSI im Editor gestellt, Texte convertiert (NP++) -> geht wieder. 

KölnSolar

Puhhh, ist das schwierig für einen µC Anfänger :o
So laaaaaangsam fange ich an zu verstehen.
@juergs: Du hattest mich ja auf den _attiny85_BMP180_433 V2 Sketch hingewiesen. Nur finde ich da gar nicht mehr den Stromsparmodus über narcoleotics, sondern simple delays :( Bin ich blind oder noch zu dumm ? Und was ist dieses "neue" twi ? Und dann verlierst Du mich immer bei den PIN-Zuordnungen. Liegt das vielleicht daran, dass der Ursprung für den Leonardo entwickelt ist ?
Danke&Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

juergs

#99
Hallo Markus,

kannst Du mal schildern, was Du genau machen möchtest (Nano, ATtiny oder Leonardo)?

Ich habe drei Threads einen mit Dallas-DS18B20-Sensor (+ 4-fach-Version)
einen mit DHT22, sowie einen mit BMP180 und jetzt auch noch den Bodenfeuchtesensor.

Das Prinzip LaCrosse/Narcoleptic und Sketch ist doch immer das Gleiche.
Du musst Dir nur bewusst sein, wann Du den Tiefschlaf einschaltest und wieder aufhebst.
Insbesondere um Strom zu sparen. Beim Messen+Senden darfst du nicht Narcoleptic mit aufrufen,
sondern erst wenn alles getan ist, bis zum nächsten Durchlauf. Also einfach: Probieren!
Schau Dir das Prinzip einfach bei den anderen Versionen ab, dann sollte es funktionieren.
Die älteren habe ich einfach zum Testen mit dem Leonardo gemacht, um den seriellen Output zu haben.

Außerdem: würde es Spaß machen, wenn gleich alles auf Anhieb funktioniert?  ;D

So lernt man, wie auch ich,  immer was Neues dazu ...  ;)

Z.B. den Gegensatz "C" zu "C++", wann Objekte instanziiert sind, wann nicht und warum ... etc,etc + pp ...
Aber jeder fängt mal an...

Jürgen

KölnSolar

Zitat(Nano, ATtiny oder Leonardo)?
attiny85
eigentlich nur batteriebetrieben einen schalterzustand einlesen und senden. Am liebsten(Version 2.0) noch: kein zyklisches Lesen, sondern Aufwecken aus dem Sparmodus bei Schalterbetätigung. Da ist Interrupt das Stichwort, oder ?
Und Du hattest so
ZitatDie zweite, eigentlich aktuellere SW-Version ist hier: https://forum.fhem.de/index.php/topic,56660.0.html
verwiesen. Nur da find ich gar nix mehr von Stromsparmodus  :( Daher meine Frage. Und dann schreibst Du jetzt, das sei die Ältere. I'm confused. ??? Eigentlich möchte ich nur Deinen aktuellsten Sketch mit Stromsparmodus und attinyx5 als Startpunkt nutzen. Aber wo finde ich den ?
Danke u. Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

juergs

Ah, das ist eine andere Geschichte!

Der Kontakt wird mit der Temperatur ausgelesen, das ist ein 2..5 Sekunden Intervall, danach legt sich der ATtiny wirklich z.B. für ca. 30s schlafen.
Ein Aufwachen aus dieser Phase habe ich noch nicht implementiert und müsste ich auch erst Testen.

Vielleicht kann Dir da rippi46 mit seiner Version weiterhelfen, der möglicherweise diesen Modus bei sich  implementiert hat.


juergs

@KölnSolar:
Vorschlag: Stelle einfach einen neuen Thread ein z.B. "Eigenbau 433 MHz-Kontakt-Sensor".
und stelle Deinen Code mit ein, unabhängig welcher Zustand, dann kann ich Dir gezielter
dabei helfen und es interessiert ja vielleicht auch noch andere ...

Jürgen


KölnSolar

Zitatkann ich Dir gezielter dabei helfen
Ja danke und gerne, nur: mein Problem ist nicht ein nicht funktionierender Code, sondern das Aufsetzen meines "Entwicklungssystems"(Arduino IDE, digispark, attiny85, flash bootloader über Rpi-SPI, Basis-Sketch....)
Hab jetzt den Status, dass ich so richtig ins programmieren und testen komme. Leider hab ich immer noch kein Funkmodul und wollte mir mit einem ausgebauten aus einem Hideki-Funkthermometer behelfen. Klappt aber leider nicht  :(
Nun hab ich feststellen müssen, dass der Lacrosse-Empfang gar nicht so einfach ist. In meinem RFXTRX hab ich Lacrosse aktiviert, kommt aber nix an. Ein CUL433 ist ja noch problematischer. Zwar sollte der Empfang funktionieren, aber nur im "native" mode, so dass keine anderen Protokolle mehr gleichzeitig empfangen werden können. GANZ schlecht, wenn man den Ausgangspunkt dieses Threads betrachtet.  :o Warum hattest Du TCM als "Basis-Protokoll" verworfen ?
Womit empfängst Du LaCrosse, CUL433 ? Wenn ja in welchem Modus(1 oder 2) ? Oder ist dieser native mode überhaupt nur für 868 Lacrosse ?
Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt