Forum: Mikrocontroller und Digitale Elektronik RFM12 als Empfänger -> stürzt ab?/empfängt nix!


von Gregor B. (gregor54321)


Lesenswert?

Holla!
Ich weiß, ich bin nicht der Erste: Mein RFM12 stürzt im Empfangsmodus 
häufig ab. Irgendwo stand geschrieben, das hinge mit der AFC zusammen. 
Ich habe jedoch zwei Testläufe gemacht mit AFC = unbegrenzt und AFC = +3 
bis -4 f-res.
Ich sende alle Sekunde ~30Bytes bei 4800bps. FiFo Overflow/Underrun sind 
abgefangen.
Bei AFC= unlimited habe ich in  8,5h 160x keinen Empfang,
bei AFC= +3 bis -4 habe ich in 10,3h 169x keinen Empfang gehabt.
Also keine signifikante Änderung. Nach 10Sek ohne Empfang wurde der RF12 
reseted und neu initialisiert. Lief sofort wieder. Die Perioden zwischen 
den Empfangsverlusten sind jeweils unterschiedlich lang.

Fallen jemandem noch andere Stichpunkte ein, an denen das 
Empfangsproblem liegen könnte?

Grüße, Gregor

von Benedikt K. (benedikt)


Lesenswert?

Gregor B. wrote:

> Fallen jemandem noch andere Stichpunkte ein, an denen das
> Empfangsproblem liegen könnte?

Ist der Empfang nur kurz weg oder nach einem Absturz für immer?
Ist eine Störung durch andere Sender ausgeschlossen?

von Alex W. (a20q90)


Lesenswert?

Überprüfe ob auf dem ISM-Band eventuelle Sender mit drauf sind! Schalt 
ich meine Kopfhörer ein, kann der Nachbar sein Auto nicht mehr per Funk 
öffnen!

von Gregor B. (gregor54321)


Lesenswert?

Es wird jede Sekunde ein neuer Satz samt Preambel gesendet. Nach 9x 
vermissten Preambeln wird ein Reset aufgeführt. Danach wird sofort 
wieder etwas empfangen.
Das kann eigentlich nur beantworten, wer mit den Modulen schon "rum 
gemacht" hat. Scheint sowas wie ein Bug zu sein!?

von Benedikt K. (benedikt)


Lesenswert?

Gregor B. wrote:
> Es wird jede Sekunde ein neuer Satz samt Preambel gesendet. Nach 9x
> vermissten Preambeln wird ein Reset aufgeführt. Danach wird sofort
> wieder etwas empfangen.

Setzt du den Zähler wieder zurück, sobald wieder ein Satz empfangen 
wurde? Warte mal länger (>30s) um Empfangsstörungen auszuschließen.

> Scheint sowas wie ein Bug zu sein!?

Ich habe etwas ähnliches beobachtet, daher die Frage ob das Modul sich 
komplett aufhängt.
Ich habe im ganzen Haus Sensoren verteilt, die ihre Daten per RFM12 
austauschen. Einige der RFM12 Module (die alle identisch sind, also 
selbe Hardware + Software) neigen aber dazu plötzlich nicht mehr zu 
senden oder nichts mehr zu empfangen. Andere funktionieren dagegen 
problemlos.

von Gregor B. (gregor54321)


Lesenswert?

> Setzt du den Zähler wieder zurück, sobald wieder ein Satz empfangen
> wurde? Warte mal länger (>30s) um Empfangsstörungen auszuschließen.
Sender und Empfänger sind z.Z. 20cm weit auseinander. -> Störungen 
unwahrscheinlich. Der Sender läuft auch schon seit Wochen störungsfrei 
auf 430.x MHz . (Empfänger-Reset lässt die Strecke wieder 
funktionieren.)

> Ich habe etwas ähnliches beobachtet, daher die Frage ob das Modul sich
> komplett aufhängt.
Woran sehe ich, das sich das Modul komplett aufgehängt hat? Es ist ja 
nichts zum auslesen da. FiFo-IRQs werden vom RF12 jedenfalls keine mehr 
generiert...

> Einige der RFM12 Module (die alle identisch sind, also
> selbe Hardware + Software) neigen aber dazu plötzlich nicht mehr zu
> senden oder nichts mehr zu empfangen. Andere funktionieren dagegen
> problemlos.
Sind es tatsächlich die Sender die ausfallen, oder kommt halt einfach 
nix mehr an?

von Benedikt K. (benedikt)


Lesenswert?

Gregor B. wrote:

> Sender und Empfänger sind z.Z. 20cm weit auseinander. -> Störungen
> unwahrscheinlich.

Ja, da sollte es sogar ohne Antenne funktionieren.

> Woran sehe ich, das sich das Modul komplett aufgehängt hat? Es ist ja
> nichts zum auslesen da. FiFo-IRQs werden vom RF12 jedenfalls keine mehr
> generiert...

Abgestürzt heißt bei mir: Ein Reinit aller Register bringt nichts, erst 
ein Abschalten der Spannung oder ein Reset am Reset Pin machen das Modul 
wieder lauffähig.

> Sind es tatsächlich die Sender die ausfallen, oder kommt halt einfach
> nix mehr an?

Bei mir sind es viele Sender und Empfänger. Wenn ein Sender plötzlich 
nichts sendet, aber alle anderen noch empfangen werden, dann muss es am 
Sender liegen.
Ich hatte auch schon Fälle, in denen ein Modul empfangen aber nichts 
mehr gesendet hat.

Mittlerweile habe ich in der Software einen Timeout drin: Wenn 60s lang 
nichts empfangen wird, dann aktiviert die Software den Reset Pin. Damit 
habe ich bisher keine Ausfälle mehr.

von Martin (Gast)


Angehängte Dateien:

Lesenswert?

hallo,

ich experimentiere z.Z. auch mit den RFM12 Modulen rum und habe mir eine 
Funkstrecke mit 5cm Abstand auf einem Steckbrett aufgebaut.
Ich habe jetzt das Phänomen, dass die Funkstrecke nach dem 
Initialisieren für 62 einzelne Zeichen funktioniert und dann entweder 
Empfängerseitig abstürtzt oder sich der mikrocontroller am empfänger 
resettet. Das Verhalten ändert sich leicht, je nachdem, wie ich das AFC 
Register einstelle.
Bei der Einstellung rl1=1 und rl0=1 (+3fres to -4fres) bleibt die 
Übertragung nach dem 62. Zeichen hängen. Bei rl1=0 und rl0=1 (+15fres to 
-16fres) resettet sich der controller.
Die Übertragung funktioniert nach einem Reset des empfängerseitigen 
Controllers wieder einwandfrei, bis erneut das 62. Zeichen erreicht ist.

Im Anhang ist der Bascom Quellcode des Empfängers.

Hat jemand eine Idee, wie es bei diesem Code möglich ist, dass der 
Controller sich "resettet" und die initialisierung nochmal vornimmt?

von Alex W. (a20q90)


Lesenswert?

Gregor B. wrote:
> Der Sender läuft auch schon seit Wochen störungsfrei
> auf 430.x MHz .

Setz bitte die Sendefrequenz zwischen 433.025 bis 434.7875MHz!
Im Afu-Band hast Du nichts zu suchen!

von Martin (Gast)


Lesenswert?

Fehler gefunden!

Im Basic-Code stand ein goto in einer sub, was zum Überlauf des Stacks 
führte. Genaue Info gibts hier:

http://comwebnet.weimars.net/forum/showthread.php?tid=175&page=1

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.