Selbstbau Funkthermometer 433Mhz

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

Vorheriges Thema - Nächstes Thema

Bender78

Hallo zusammen,

da ich frisch von FHEM  infiziert worden bin, durchstöbere ich diesbezüglch gerade alles wofür ich eine Anwendung zu Hause finde. Daher hängen jetzt zahlreiche Steckboard aufbauten am Raspberry.
Da ich jetzt hier in diesem Thread natürlich wieder einen Anwendungsfall gefunden habe und mich durch die ersten Seiten  gekämpft habe, war ich jetzt froh das Chris81 auf der letzten Seite eine zusammenfassung gefunden habe. Ich finde dies ein tolles Projekt und würde dies gerne ebenfalls daheim aufbauen wollen.
"Juergs" erwähnte das man die Platinen dafür bestellen kann. Ist dies so richtig? Und wenn ja kann mir jemand sagen wo? :-\

juergs

#181
 :) :)

Beitrag #1:

ZitatNun zum Funkthermometer:
Da ich nicht gerne auf Lochstreifenplatine rumbastel, lasse ich mir immer sobald alles auf einem Breadboard erfolgreich getestet wurde, Leiterplatten anfertigen.
Diese beziehe ich aus China von der Fa. Itead https://www.itead.cc/. Da kosten 10 Leiterplatten im Format 5cm x 5cm ca. 14,50USD ink. Porto (ca. 12,80€).
Der Bestellvorgang ist recht simple. Hierzu muss man sich einmalig Registrieren, dann ein Leiterplattenformat auswählen und Bezahlen (Z.B mit Paypal).
Danach bekommt man eine Bestellnummer, diese füge ich dann als Benennung der Leiterplattendaten des entsprechenden Zip-Archives ein (Bsp. order_012345678.zip)
Das Zip-Archiv enthält dann alle relevanten Files im Gerberformat die der Leiterplattenhersteller benötigt. Das alles ist auch sehr gut auf der Webseite beschrieben.
Das Zip-Archiv muss dann noch unter der entsprechenden Bestellnummer auf die Firmenserver hochgeladen werden. Da ich die Leiterplatten ja schon mal bestellt habe und die Gerberdateien noch vorliegen habe, füge ich sie am Ende mit ein ein Archiv ein, so das nur noch die Bestellnummer aktualisiert werden muss.

Per Paypal Warenkorb bestellen (quasi Vorrauszahlung), Account anlegen, Gerber.zip (Die 2.Version von locutus nehmen)  hochladen und warten bis fertig (;-) 
Kein Hexenwerk ... Wenn Dir 10 Stück zuviel sind, nehme ich gerne ein paar Platinen von Dir ab....
Diese sind zwar für BF gedacht, lassen sich aber ebenfalls "nur" als Thermometer nutzen, oder ... oder  ...
gerber.zip (Vielen Dank an locutus!)

Grüße,
Jürgen

giulup

#182
Hallo zusammen,

Ich habe mich mal rangetraut und matlens Eigenbau nachgebastelt. Alles hat super funktioniert. Der Sensor wird erkannt und automatisch angelegt. Hab die Version mit dem Ds18b20 gebastelt.

Aber ein Problem gibt es. Die Temperaturwerte die mir ausgegeben werden sind absolut nicht plausibel. Sie schwanken im Innenraum zwischen -4 bis 50 C. Habe bisher nur einen Sensor. Habe aber das ganze auf einer zweiten Platine nochmal gemacht mit dem gleichen Sensor und selben Ergebnis. Ist der Ds18b20 hin oder woran können solche Sprünge liegen? Das ganze springt im halbminutentakt. Hier noch ein Ausschnitt aus dem Log

2017.05.18 20:45:44 5: CUL/RAW: /s010
2017.05.18 20:45:44 5: CUL/RAW: s010/D880A100B;  480:
2017.05.18 20:45:44 5: CUL/RAW: s010D880A100B;  480:/ 8928

2017.05.18 20:45:44 4: CUL_Parse: RpiCul433 s010D880A100B;  480: 8928
2017.05.18 20:45:44 5: RpiCul433: dispatch s010D880A100B;  480: 8928
2017.05.18 20:45:44 4: CUL_TCM97001 using longid: 1 model: KW9010


Allen soweit noch einen schönen Abend

juergs

Hallo giulup,

mir  ist nicht ganz klar, welches Programm Du eigentlich benutzt.
Zitat..matlens Eigenbau nachgebastelt
Benutzt Du das Basic-Programm von MatLen dazu?
Jürgen

matlen67

#184
Ich habe mir gerade mal die beiden Datasheets angeguckt.
Der DS18B20 gibt die Temperatur Bitmäßig halt ganz anders aus als der DS1820.
Dann muss dann wohl die Bascom routine angepasst werden. Oder einfacher nen DS1820 (DS18S20)kaufen

Auszug Datasheet DS1820
+125°C 00000000 11111010 00FAh
+0.5°C 00000000 00000001 0001h

Auszug Datasheet DS18B20
+125°C 00000111 11010000 07D0h
+ 0.5°C 0000 0000 0000 1000 0008h

Edit: Hier gits auch noch was dzu. https://www.maximintegrated.com/en/app-notes/index.mvp/id/4377

Edit. Habe mal was für den DS18B20 mit eingebaut. Keine Ahnung ob es funktioniert da ich den Sensor nicht hier habe. Bitte mal testen.

FHEM -> Raspi 3B+
nanoCul 433Mhz & JeeLink 868 Mhz selbstbau Arduino Nano
Diverse Funkthermometer eigenentwicklung
LaCross TX29 DHT-IT
Ghoma Steckdosen

giulup

Zitat von: juergs am 19 Mai 2017, 17:32:40
Hallo giulup,

mir  ist nicht ganz klar, welches Programm Du eigentlich benutzt.Benutzt Du das Basic-Programm von MatLen dazu?
Jürgen

Ja genau. Matlens Anleitung aus dem ersten Post.

Zitat von: matlen67 am 20 Mai 2017, 19:57:07
Ich habe mir gerade mal die beiden Datasheets angeguckt.
Der DS18B20 gibt die Temperatur Bitmäßig halt ganz anders aus als der DS1820.
Dann muss dann wohl die Bascom routine angepasst werden. Oder einfacher nen DS1820 (DS18S20)kaufen

Auszug Datasheet DS1820
+125°C 00000000 11111010 00FAh
+0.5°C 00000000 00000001 0001h

Auszug Datasheet DS18B20
+125°C 00000111 11010000 07D0h
+ 0.5°C 0000 0000 0000 1000 0008h

Edit: Hier gits auch noch was dzu. https://www.maximintegrated.com/en/app-notes/index.mvp/id/4377

Edit. Habe mal was für den DS18B20 mit eingebaut. Keine Ahnung ob es funktioniert da ich den Sensor nicht hier habe. Bitte mal testen.



Danke, ich werde es später gleich mal testen. Hatte zum DS18B20 gegriffen, weil es diesen günstiger in der wasserdichten Ausführung gibt.

giulup

Zitat von: matlen67 am 20 Mai 2017, 19:57:07
Ich habe mir gerade mal die beiden Datasheets angeguckt.
Der DS18B20 gibt die Temperatur Bitmäßig halt ganz anders aus als der DS1820.
Dann muss dann wohl die Bascom routine angepasst werden. Oder einfacher nen DS1820 (DS18S20)kaufen

Auszug Datasheet DS1820
+125°C 00000000 11111010 00FAh
+0.5°C 00000000 00000001 0001h

Auszug Datasheet DS18B20
+125°C 00000111 11010000 07D0h
+ 0.5°C 0000 0000 0000 1000 0008h

Edit: Hier gits auch noch was dzu. https://www.maximintegrated.com/en/app-notes/index.mvp/id/4377

Edit. Habe mal was für den DS18B20 mit eingebaut. Keine Ahnung ob es funktioniert da ich den Sensor nicht hier habe. Bitte mal testen.

Habe beide Dateien getestet. Leider zeigen beide keine plausiblen Werte an (4°C, 88°C, 45°C...)
Ich werde mich auch mal etwas damit beschäftigen. Aber falls du schneller auf eine neue Möglichkeite kommst teste ich gerne :)

matlen67

Ich habe das Programm nun mal auf meinem einzigen Sender mit DS18S20 geflasht weil ich wissen wollte ob es grundsätzlich funktioniert nach der Änderung.
Ja das tut es bei mir.
Da der DS18B20 zur Darstellung der Temperatur 12 Bit anstelle von 9 Bit verwendet schiebe ich das Ergebnis aus Scratchpad (Byte 1 & 2) einfach 3 Stellen nach rechts. Vorher lese ich den FamilyCode aus, und prüfe ob
ein DS1820 FamilyCode &h10 oder der DS18B20 FamilyCode &h28 verbaut ist. Das funktioniert jedenfalls bei mir. Nicht das du da noch irgendwo anders einen Fehler drinn hast.
Evtl. stimmt der Takt nicht? Fusebytes richtig gesetzt? dann kommt da auch immer Müll bei raus.
Hänge die bei mir funktionierende Datei nochmal an.

Gruß


FHEM -> Raspi 3B+
nanoCul 433Mhz & JeeLink 868 Mhz selbstbau Arduino Nano
Diverse Funkthermometer eigenentwicklung
LaCross TX29 DHT-IT
Ghoma Steckdosen

giulup

Ich setze mich heute Abend nochmal dran. Kann ich den attiny einfach nochmal Flashen oder muss ich was beachten. Fusebit ist gesetzt bzw. Haken rausgenommen.

Hier nochmal der Log aus dem Sensor
2017-05-21_15:02:21 KW9010_1 T: 45.2 H: -106
2017-05-21_15:02:26 KW9010_1 temperature: 37.6
2017-05-21_15:02:26 KW9010_1 T: 37.6 H: -106
2017-05-21_15:02:29 KW9010_1 temperature: 5.6
2017-05-21_15:02:29 KW9010_1 T: 5.6 H: -106
2017-05-21_15:02:57 KW9010_1 temperature: 17.6
2017-05-21_15:02:57 KW9010_1 T: 17.6 H: -106
2017-05-21_15:03:02 KW9010_1 temperature: 33.6
2017-05-21_15:03:02 KW9010_1 T: 33.6 H: -106
2017-05-21_15:03:07 KW9010_1 temperature: 1.6
2017-05-21_15:03:07 KW9010_1 T: 1.6 H: -106
2017-05-21_15:03:17 KW9010_1 temperature: 19.2
2017-05-21_15:03:17 KW9010_1 T: 19.2 H: -106
2017-05-21_15:03:29 KW9010_1 temperature: 25.6
2017-05-21_15:03:29 KW9010_1 T: 25.6 H: -106
2017-05-21_15:03:40 KW9010_1 temperature: 12.7
2017-05-21_15:03:40 KW9010_1 T: 12.7 H: -106
2017-05-21_15:03:51 KW9010_1 temperature: 15.9
2017-05-21_15:03:51 KW9010_1 T: 15.9 H: -106
2017-05-21_15:04:02 KW9010_1 temperature: 36.7
2017-05-21_15:04:02 KW9010_1 T: 36.7 H: -106
2017-05-21_15:04:13 KW9010_1 temperature: 4.7
2017-05-21_15:04:13 KW9010_1 T: 4.7 H: -106
2017-05-21_15:04:24 KW9010_1 temperature: 39.9
2017-05-21_15:04:24 KW9010_1 T: 39.9 H: -106
2017-05-21_15:04:46 KW9010_1 temperature: 24.7
2017-05-21_15:04:46 KW9010_1 T: 24.7 H: -106
2017-05-21_15:04:57 KW9010_1 temperature: 31.1
2017-05-21_15:04:57 KW9010_1 T: 31.1 H: -106

matlen67

Den Atinny kannste gaaanz oft neu beschreiben.
Teste mal folgendes Programm
Temperatur müsste 4,0 °C sein, wenn nicht stimmt was mit deiner Schaltung nicht ;)
FHEM -> Raspi 3B+
nanoCul 433Mhz & JeeLink 868 Mhz selbstbau Arduino Nano
Diverse Funkthermometer eigenentwicklung
LaCross TX29 DHT-IT
Ghoma Steckdosen

matlen67

Wo mit schreibst du die Fusebits? Nutzt du Bascom?
FHEM -> Raspi 3B+
nanoCul 433Mhz & JeeLink 868 Mhz selbstbau Arduino Nano
Diverse Funkthermometer eigenentwicklung
LaCross TX29 DHT-IT
Ghoma Steckdosen

matlen67

#191
Was denn das fürn Log? der DS18(B)20 hat doch gar kein H (humidity)

Hier mal mein Log zum DS

2017-05-21_14:56:28 SB_FS_1 T: 21.8
2017-05-21_15:07:17 SB_FS_1 T: 21.1
2017-05-21_15:18:05 SB_FS_1 T: 20.8
2017-05-21_15:28:54 SB_FS_1 T: 21.2
2017-05-21_15:39:42 SB_FS_1 T: 20.8
2017-05-21_15:50:31 SB_FS_1 T: 20.7
2017-05-21_16:01:19 SB_FS_1 T: 20.8
2017-05-21_16:12:08 SB_FS_1 T: 21.0
2017-05-21_16:22:56 SB_FS_1 T: 21.0
2017-05-21_16:33:45 SB_FS_1 T: 20.8


Anbei das aktuelle FHEM Modul zum Funkthermometer:
FHEM -> Raspi 3B+
nanoCul 433Mhz & JeeLink 868 Mhz selbstbau Arduino Nano
Diverse Funkthermometer eigenentwicklung
LaCross TX29 DHT-IT
Ghoma Steckdosen

giulup

Zitat von: matlen67 am 21 Mai 2017, 20:09:32
Was denn das fürn Log? der DS18(B)20 hat doch gar kein H (humidity)

Hier mal mein Log zum DS

2017-05-21_14:56:28 SB_FS_1 T: 21.8
2017-05-21_15:07:17 SB_FS_1 T: 21.1
2017-05-21_15:18:05 SB_FS_1 T: 20.8
2017-05-21_15:28:54 SB_FS_1 T: 21.2
2017-05-21_15:39:42 SB_FS_1 T: 20.8
2017-05-21_15:50:31 SB_FS_1 T: 20.7
2017-05-21_16:01:19 SB_FS_1 T: 20.8
2017-05-21_16:12:08 SB_FS_1 T: 21.0
2017-05-21_16:22:56 SB_FS_1 T: 21.0
2017-05-21_16:33:45 SB_FS_1 T: 20.8


Anbei das aktuelle FHEM Modul zum Funkthermometer:
Kam mir auch komisch vor aber dachte mir einfach, dass wär ein Standardwert der durch den Tiny ausgegeben wird wenn keine H gemessen wird, so wie die 85°C bei den DS.

Aaaaaaaber dein Rat mit dem Modul war ein Volltreffer. Nachdem ich deine 4 °C hex getestet hatte und mir 8°C angezeigt wurden war ich schon am abdrehen und dachte ich bin zu doof um das dran zu löten und war schon mit der Lupe an der Platine.
Nun habe ich dein aktuelles Modul reingeschoben und auf Anhieb kamen da die 4°C. Ganz augeregt schnell die andere hex geflasht und taadaaa....

Viiiiieeeelleeeeeen Dank. Du hast mein Wochenende am Ende doch noch gerettet. Ich find klasse, dass du dich nach so langer Zeit noch darum kümmerst.


Groej

Hallo und guten Tag,

ich muß mal eine blöde Frage stellen. Wie habt Ihr den Attiny85 programmiert? Mit einen Arduino und Arduino IDE? Ich möchte die Version mit dem DHT22 nachbauen und hab die Dateien bzw. Scripte mit IDE 1.8 geladen. Wenn ich die Scripte prüfen lasse kommen zahlreiche Fehlermeldungen. Ich bin ehrlich ich hab sowas noch nie gemacht. Ich hab Anleitungen im Netz gefunden wie man den Attiny85 mit einen Arduino flashen kann aber soweit komm ich gar nicht wegen den Fehlermeldungen im Script.

Für Hilfe wäre ich sehr dankbar weil ich die Platine schon gelötet habe und ich nur noch den Attiny programmieren muß um in Betrieb zu gehen.

Danke.
FHEM - RaspPi2 - KNXD - KNX - CUL 868 - FS20 - HMS - WH3080 - Signalduino 433 MHz - Telegram - Anel Elektronik IP Steckdosen - BME280

juergs

#194
Hallo Groej,
ZitatWie habt Ihr den Attiny85 programmiert?
das ist ja das klassische Henne/Ei-Problem:

Wenn wir von einen neu gekauuften ATTiny-DIP-Baustein  ausgehen, hat dieser kein Code, wie z.B. einen Bootloader etc geladen.
Deshalb lässt er sich ja nicht über USB direkt programmieren (außer die Digispark-Varianten mit Micronucleus-Bootloader).

Da die TemperaturSensoren ja möglichst viel Power sparen sollen, wird auf die USB-Variante zum Programmieren verzichtet.

Meine Vorgehensweise unter Windows ist diese, dass ich den Chip mit einem ISP-Programmer programmiere.
Das hat den Vorteil, dass man auf einen Bootloader verzichten kann und direkt über die ISP-Schnittstelle programmieren kann
und noch einige spezifische Einstellungen wie z.B. Fuses etc. machen kann.

Dazu benötigt man aber einen ISP-Programmer, der für wenig Geld im Internet erstanden werden kann:
Gut dokumentierte Variante ist zum Beispiel diese hier avr-isp-stick
Generell kann man sich aber auch einen Programmer selbst erstellen: USBasp, guloprog  oder USBTinyISP. Je nach Gusto und Geldbeutel.

Du kannst aber auch einen Arduino als Programmierer benutzen ... Google dazu doch einfach mal.... Programming ATtiny45/85 vs. an Arduino Board TinyProgrammer

Hier gibt es auch noch Infos...