Forum: Projekte & Code Sensoren mit RFM02/12, FOST02, HP03S (ASM)


von Michael U. (amiga)


Angehängte Dateien:

Lesenswert?

Hallo,

vielleicht besteht ja Interesse daran, bis jetzt ist es eine Art 
Designstudie... ;-)

Ziel ist die Nutzung der RFM-Funkmodule, die hier schon lange rumliegen 
und diverser Sensoren für Temperatur, Feuchte, Luftdruck und vermutlich 
noch irgendwas.

Modul Nummer 1 enthält einen RFM02, einen FOST02, einen ATiny45.
Davon gibt es noch 2 weitere Module (Nr. 2, z.Z. auf dem Balkon recht 
ungeschützt in einem halboffenen Plastegehäuse..., Nr. 4 liegt im 
Keller)
Nummer 3 enthält den RFM02, den FOST02 und den HP03S, CPU ist z.Z. ein 
Mega88, wird vermutlich durch einen Tiny44 ersetzt werden.
Nummer 5 mit RFM02 und einem TMP36S als Temperatursensor.
Nr. 6 wurde auch zum Test mit dem internen Temperatursensor des Tiny45 
betrieben.

Dazu gibt es noch einen Steckbrett-Empfänger mit RFM12 (bisher auch nur 
Empfänger), Mega16 als CPU, dazu ein Display mit T6369C-Controller 
(MC34063 für -Vee), 4 Tasten, von denen bis jetzt nur 2 die 
Displaybeleuchtung dimmen...) und einem noch ungenutzten AD45DB041D 
Flash (4MBit).

Allgemein: alle Module senden ca. alle 60s ein Telegramm mit z.Z. 18 
Byte mit 19200Baud auf 433,92MHz mit 120kHz Shift.
Die Sender stehen auf -12dBm, der im Keller auf -3dBm.
Ich wohne im 1 Stock eines Altbaus, der Keller liegt mit der 
Erdgeschoßwohnung dazwischen ziemlich genau unter mir.
Ich habe die Übertragung noch nicht automatisch überwacht, allerdings 
habe ich zur Laufzeit des Terminal keine fehlenden Übertragungen oder 
flasche Daten beobachtet.
Das Protokoll ist sehr simpel, Prüfsumme nur eine mod256 Addition aller 
Bytes.

Der Empang aller Sensoren ist mit dem Steckboard-Empfänger auch komplett 
ohne Antenne möglich, da kann ich also vermutlich mit der Sendeleistung 
noch runtergehen bzw. habe Reserve, wenn die Antenne irgendwie in ein 
Gehäuse soll.

Auf dem Screenshot bewohnt Sensor 5 gerade das Tiefkühlfach meines 
Kühlschrankes (das Kondeswasser nach dem rausnehmen hat er erstmal mit 
einigen Resets beantwortet ;-)).

Einige der Sensoren laufen jetzt seit knapp 14 Tagen, es ist keiner 
ausgefallen oder nicht wieder aufgewacht.
Stromaufnahme liegt im Sleep bei ca. 4µA und alle Minute für einige ms 
bei rund 12mA (Sender aktiv).

Ungereimtheiten: die Sleeptime der RFM02 ost bei mir bei allen ein 
Faktor von 10ms und nicht 1ms wie in den Datenblättern...
1 Sensor schläft nicht sauber, der Syntheziser des RFM scheint sofort 
wieder aktib zu werden (ca. 200µA ?).
Der Sensor 3 zieht seit einem Umbau gestern ca. 100µA, da muß ich noch 
schauen, das ging schon.

Die Batterien stammen aus den Restposten von Pollin, sind auch noch 
verfügbar und zum Experimentieren gut geeignet.
Best.Nr. 270 611 2x Li 3,6V parallel mit je 2,4Ah für 0,95€...

Ich werde Sourcen und die Eagle-Dateien nacheinander mal hier 
reinstellen, wenn Interesse besteht.
Sonderlich aufgeräumt ist es noch nicht, eben alles noch sehr in Fluß.

Gruß aus Berlin
Michael

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Sehr schick, jetzt musst du nur noch einen Fototransistor verbauen, um 
rauszufinden, ob das Licht im Kühlschrank ausgeht :)
Wie hast du das RFM12 auf das Breadboard gekriegt? Stifte an das 
SMD-Modul gelötet und draufgesteckt?

von Michael U. (amiga)


Angehängte Dateien:

Lesenswert?

Hallo,

für den Kühlschrank habe ich gerade mal ein RFM02 mit einem SMD-Tiny85 
verheiratet (war kein anderer SMD da...). Mal schauen, was der 
Isolierlack so vollbringt.
Batterie ist eine CR2025, davon liegen hier noch einge gut abgelagert 
rum...

Sensor ist der interne des Tiny, 2 Grad Abweichung im Gefrierfach würden 
mich nicht sonderlich stören.

Für das Breadbord: passendes Stück Lochraster, 2 Reihen Stiftleisten 
draufgelötet (Lötseite oben), das RFM da drauf (Plasteschnipsel als 
Isolierung dazwischen und mit Drähten verbunden.

Über Leiterplatten usw. denke ich noch nach, erstmal schauen, wie sich 
das alles so verhält.

Um das Chaos komplett zu bekommen hier die Links zu den Teilen:
USB-Empfänger:
Beitrag "Sensor Empfänger USB"

Sensor Temperatur/Feuchte:
Beitrag "Sensor Temperatur RFM02 Tiny45"

Gruß aus Berlin
Michael

von M. G. (looking)


Lesenswert?

Michael U. wrote:
> Die Batterien stammen aus den Restposten von Pollin, sind auch noch
> verfügbar und zum Experimentieren gut geeignet.
> Best.Nr. 270 611 2x Li 3,6V parallel mit je 2,4Ah für 0,95€...
>

Hat jede Batterie 2,4Ah oder ist 2,4Ah die Gesamtkapazität?
Geht das problemlos, 2 Zellen parallel zu schalten? Fließen da keine 
Ausgleichströme?

von Michael U. (amiga)


Lesenswert?

Hallo,

Du fragst Sachen, die höchstens Pollin oder der Hersteller beantworten 
könnte... ;-)

Due Kapazitätsangabe stammt aus der Artikelbeschreibung:

Best.Nr. 270 611 0,95 EUR
2 parallel-geschaltete Lithium-Batterien (AA) mit je 3,6 V/2,4 Ah, ideal 
zum Einsatz in Notbeleuchtungen, Warnleuchten und sonstigen Geräten, bei 
denen eine lange Lagerzeit der Batterien erwünscht ist. Zellenmaße: 
50x14 mm. Nicht wiederaufladbar!

Ünerprüft habe ich die Angaben nicht, parallel sind sie wohl ab Werk, 
ich löte sie auseinander.

Selbst wenn sie nur einen Bruchteil der Werte einhalten, sind sie für 
mich bei diesem Preis unschlagbar. Größerer Strombelastung scheinen sie 
nicht zu mögen, insofern würde ich obige Nutzung wohl nicht empfehlen.

Gut überlagert sind sie vermutlich auch...

Gruß aus Berlin
Michael

von Michael U. (amiga)


Angehängte Dateien:

Lesenswert?

Hallo,

inzwischen ist der Steckbrett-Inhalt in ein noch rohes Holzgehäuse mit 
240x128 Display umgezogen.
Die Software ist ein erstes C-Projekt geworden, ein Ausschnitt liegt 
hier:
Beitrag "RFM12 Empfang von Sensordaten im IRQ"

Gruß aus Berlin
Michael

von Michel (Gast)


Lesenswert?

Hallo Michael,

wie hast du denn die Übertragung der fünf Sender zu einem Empfänger 
gelöst?

Zitat von dir oben:
1
Allgemein: alle Module senden ca. alle 60s ein Telegramm mit z.Z. 18
2
Byte mit 19200Baud auf 433,92MHz mit 120kHz Shift.

bekommst du keine Schwierigkeiten, wenn alle Sender auf der gleichen 
Frequenz senden?
Könnte hier irgendein Sender evtl. dominant sein?

Gruß,
Michel

von Michael U. (amiga)


Lesenswert?

Hallo,

die Sensoren senden alle Minute ein Telegramm. Sind bei 19200Baud und 
24Byte einige ms. Der Sleeptimer der RFM-Module ist mit ausgeschalteter 
automatische Kalibrierung ziemlich temperaturabhängig.

Die Chance, daß ich alle 6 Sensoren auf ms genau gleichzeitig 
einschalte, ist wohl 0. :-) Da die Teile auch die Minute nicht 
sonderlich genau einhalten, besteht auch wenig Chance, daß überhaupt 2 
gleichzeitig senden.

Wenn doch, werden diese Telegramme eben futsch sein. Beim nächsten Mal 
treffen die wegen der Toleranzen nicht mehr zusammen.

Geloggt wird im Moment alle 3 Minuten, was soll ich mit den ganzen 
Daten. ;)
Prinzipiell können die auch z.B. alle 15s senden, da sollte auch nicht 
mehr als ab und an mal ein telegramm fehlen.

Für "Alarmsensoren" werde ich einfach für einige Sekunden z.B. 10 
Telegramme schicken, muß ja nur eins ankommen.
Alarm ist hier nicht Einbruch oder sowas, eher was wie "Licht im Bad 
nicht ausgemacht" oder so.

Bis jetzt bin ich nur angenehm überrascht von der Geschichte.

Gruß aus Berlin
Michael

von Michel (Gast)


Lesenswert?

Hi,


Danke für deine Antwort!

ja, stimmt eigentlich!
Dass alle auf einer Frequenz senden ist ja sehr unwahrscheinlich!

Ist ja super, dass das so gut klappt!
Bin auch positiv überrascht.

Werde demnächst auch eine kleine Wetterstation mit Solar auf Basis 
dieser Sende- und Empfangsmodule aufbauen.


Schönen Abend und weiter so!

Gruß,
Michel

von Michael U. (amiga)


Lesenswert?

Hallo,

nur als Hinweis: die Sensor-Routinen sind inzwischen auch in C fertig, 
nicht schön, aber funktionsfähig...
Es hat sich auch jemand erbarmt und eine Leiterplatte geroutet, 
allerdings gibt es da noch einen (von mir verursachten) Fehler.

Der Test-Webserver (basiert auf U. Radig Source) ist meist auch unter
http://roehre.homeip.net zu erreichen.
User test
Passwort test

Gruß aus Berlin
Michael

von Pink Freud (Gast)


Lesenswert?

httpd.c, 64: unsigned int guest_count = 308;

Keine Freunde?

von Michael U. (amiga)


Lesenswert?

Hallo,

nö, das kam rein, als er so stand und ich mal schauen wollte, wieviele 
es noch werden.

Dann habe ich es vergessen.
Wenn ich allerdings sehe, daß er schon wieder auf 745 steht, geht das 
mit den Freunden wohl doch noch. ;)

Ich könnte es ja in den EEPROM legen, aber so wichtig ist es mir nicht.

Gruß aus Berlin
Michael

von Armin (Gast)


Lesenswert?

Hallo, erst mal dickes lob für das Sensor Projekt. Bin total begeistert.
Hab selber auch ein Projekt am laufen. Es soll die Temperaturerfassung 
einer Räucherkammer mit Thermoelementen und PT-500 Fühlern werden. 
Soweit klappt auch alles schon recht gut.
Nachdem ich jedoch dein projekt sah, möchte ich auch versuchen meine 
Fühlerdaten per Funk zu übertragen. Hab da aber nicht so den Plan.  Ich 
verwende ein AVR-NET I0 als Webserver und für den Testfühler hab ich 
einen Tiny45 und RFM02 aus der Bastelkiste gegruschtlt. Soll später 
evtl. ein Atmega8 mit MAX6675 fürs Thermoelement werden.
Für einen Testaufbau habe ich deine Serverfiles auf Polin AVR-NET 
geändert und drauf. Tiny mit der Anschlußbelegung des 
Kühlschranksensors(RFM02.h). Leider wollen die beiden Teile nicht 
miteinander reden.  Der WebminiServer läuft und aktualisiert sich 
ständig jedoch temps zeigt er keine an. Bin am verzweifeln

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.