RFM12 mit Temperaturproblemen

#3409401
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.
#3409559
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
#3415669
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren