Forum: Mikrocontroller und Digitale Elektronik RFM12 mit Temperaturproblemen


von Horst G. (climbi)


Lesenswert?

Hallo,
ich habe mir einen Temperaturlogger gebaut.
Die Temperatur wird über RFM12 Module per Funk übertragen.
Ich habe nun das Problem, dass die Funkübertragung bei einer Temperatur
von 2,5 Grad nicht geht.
Ich habe das RFM12 Modul bereits ausgetauscht, der Fehler bleibt.
Aktuell weiß ich nicht, ob das RFM12 Modul in diesem Fehlerfall nichts 
empfängt, oder ob das, was er wegsendet nicht beim Empfänger ankommt.
Der grundsätzlich Ablauf ist nämlich so, dass die Zentrale einen Meßwert 
anfordert und dann auf eine Antwort wartet.
Im Logfile sehe ich immer, dass die zuletzt übertragene Temperatur 3 
Grad ist und die dann folgenden Werte Timeouts sind. Der nächste Wert 
der wieder übertragen wird ist dann 2 Grad oder wieder 3 Grad.
Bei ca. 2,5 Grad scheint das RFM12 Modul ein Problem zu haben.
Die weiteren Komponenten schließe ich eigentlich aus.
Vielleicht hat ja jemand einen Tipp für mich.
Mit den Frequenzen habe ich schon gespielt, das hat nichts gebracht.
Vielen Dank im Voraus für Eure Tipps.

von Pete K. (pete77)


Lesenswert?

Das Modul ist laut Pollin von -40 bis +55 °C spezifiziert. Das sollte 
eigentlich passen.
Vielleicht kann der Rest nicht unter 3°C arbeiten?

Es gibt zwei Möglichkeiten der Fehlerursache: Hardware oder Software.

Kannst Du die Software mal mit 2,5°C Dummywert testen?

: Bearbeitet durch User
von Horst G. (climbi)


Lesenswert?

Hallo
es ist nicht so, dass 2,5 Grad prinzipiell nicht geht.
Allerdings ist bei dieser Temperatur die Chance eines 
Übertragungsfehlers
größer als 60 Prozent.
Ich habe schon zig Versuche gemacht um den Fehler einzukreisen.
Alles deutet auf eine Temperaturempfindlichkeit des RFM12 Moduls hin.
Und zwar nur im Temperaturbereich um die 2,5 Grad. Darüber und darunter
ist die  Zuverlässlichkeit deutlich höher.
Ich habe z.B. die Elektronik getrennt vom Messfühler montiert. Dann hat 
das RFM 12 Modul und der Controller Raumtemperatur.
Dann funktioniert auch die Temperatur 2,5 Grad einwandfrei.

Eins kommt mir jetzt grad in den Sinn:
Könnte auch die SPI Kommunikation "RFM12 zum Controller" das Problem 
sein ?
Als Controller benutzte ich das Butterfly Modul von Atmel.
Ich fahre das Butterfly Modul mit interner Frequenz.
Viele Grüße
Climbi

von Nalles (Gast)


Lesenswert?

Ich habe ein RFM12 in einem Außensensor im Einsatz.
Keine Probleme bis runter zu -20 Grad im letzten,langen Winter.
Also "im System" des Moduls liegt der Fehler sicher nicht.

von AGast (Gast)


Lesenswert?

Nalles schrieb:
> Ich habe ein RFM12 in einem Außensensor im Einsatz.
> Keine Probleme bis runter zu -20 Grad im letzten,langen Winter.
> Also "im System" des Moduls liegt der Fehler sicher nicht.

Habe die gleiche Erfahrung gemacht. Bis -15°C keine Probleme.

von Maxx (Gast)


Lesenswert?

Ich würde da eher auf Probleme bei der Berechnung / Formatierung der 
Temperatur tippen.

Irgendwo eine /0 oder Lücken in den Bedingungen?

von Pete K. (pete77)


Lesenswert?

Horst G. schrieb:
> Als Controller benutzte ich das Butterfly Modul von Atmel.

Atmel schreibt dazu im UserGuide:
Operation Conditions
Temperature..................0ºC - 50ºC
If using external power......3,1V - 4,5V

: Bearbeitet durch User
von Toff (Gast)


Lesenswert?

Ich würde auch sagen, dass das RFM12-Modul nicht das Problem ist. Ich 
schalte damit seit drei Wintern zuverlässig die 
Garten-Weihnachtsbeleuchtung und hatte bisher kein einziges Problem.

von Horst G. (climbi)


Lesenswert?

Hallo,
es handelte sich tatsächlich nicht um ein Temperaturproblem.
Ich habe nun folgendes festgestellt.
Die Temperatur wird in einer Folge von Bytes übertragen.
Nach dem Vorspann AA und der Startkennung 2d D4 kommt das erste Nutzbyte
mit der Adresse des Senders und danach die Adresse des Empfängers.
Dann kommt ein Byte mit der Kennung für die Datenart die gesendet wird.
Danach kommt ein Byte Reserve und dann kommt die Temperatur und die
Nachkommastelle. Da meine Temperaturauflösung nur 0,5 Grad ist bedeutet
00 = ,0 und 01 = ,5.
Wenn ich die Temperatur 2,5 übertrage steht also im Temperaturbyte 02 
und im Nachkommabyte 01.
In diesem Fall, und wirklich nur bei diesem einen Wert  kommt beim 
Empfänger nur Müll an. Definitiv.
Komischerweise stimmt dann schon der Anfang der Meldung nicht.
Ich habe mein Programm nun abgeändert und übertrage die Nachkommastelle 
mit
00 oder 05. Jetzt passt es. Eigentlich bin ich nun restlos zufrieden, 
ich könnte es so lassen. Aber mich wurmt es, dass ich das ursprüngliche 
Problem nicht verstehe.
Sollte ich die Zeichen die ich übertrage als ASCI Code übertragen?
Dann kommt die Kombination 0201 ja prinzipiell nicht vor?
Vielleicht hat ja jemand eine Idee. Würde mich freuen.
Viele Grüße Climbi

von gruser (Gast)


Lesenswert?

Hallo zusammen,

ich bin noch so weit wie ihr... könnte mir bitte jemand einen 
lauffähigen Code für die Übertragung von Daten per RFM12B zuschicken? 
Hoffentlich nutzt ihr auch einen C Compiler so wie ich. Meine Mail 
Adresse lautet osrech@arcor.de. Herzlichen Dank!

Grüße
Olaf

von Horst G. (climbi)


Lesenswert?

Sorry,
meine Umgebung ist Bascom.
Aber auf dieser Seite findest Du jede Menge zu RFM12 in C.
Schaue mal unter Codesammlung nach.

von gruser (Gast)


Lesenswert?

Hallo Climbi,

ja in C habe ich auch verschiedene Beispiele ausprobiert die angeblich 
laufen sollen - leider ohne Erfolg. Wenn Du sagst dass Dein BASCOM 
Programm sauber funktioniert, wäre es trotzdem interessant für mich. Es 
sollte an sich relativ einfach in C übertragbar sein.

Grüße
Olaf

von Michael H. (mueckerich)


Lesenswert?

Da wären noch mehr an dem Code interessiert. Vieleicht willst Du den 
Code veröffentlichen?

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.