Hallo zusammen,
ich versuche momentan das RFM23B/RFM22B dazu bewegen, mir die Daten im
OOK Modus an einem GPIO Pin direkt (kein Fifo, kein Header usw.)
ausgeben zu lassen. Leider konnte ich bisher im Asynchron Modus nur
Senden, aber noch nicht empfangen. Mit den Einstellungen habe ich schon
viel gespielt, bin aber die letzten paar Tage einfach nicht
weitergekommen.
Hier mal meine Init-Funktion:
1
voidrfm_init(void){
2
//Hardware initialisieren
3
spiF_init(1);
4
5
PORTA_DIRSET=rfm_TX_ANT|rfm_RX_ANT;
6
7
PORTA_DIRSET=rfm_GPIO0;//GPIO0-Pin Ausgang
8
9
_delay_ms(10);//warten auf Power on reset POR
10
rfm_write(0x07,128);// software reset
11
_delay_ms(10);
12
13
rfm_write(0x71,0x01);//Asynchronous Mode, direct Mode (GPIO), OOK
rfm_write(0x71,0x01);//Asynchronous Mode, direct Mode (GPIO), OOK
51
52
//rfm_write(0x72, 0x50); // frequency deviation: 45kHz
53
rfm_write(0x72,0xff);// frequency deviation: 159kHz
54
rfm_write(0x73,0x00);// offset: 0
55
rfm_write(0x74,0x00);// offset: 0
56
rfm_write(0x75,0x53);// 430-440MHz range
57
58
rfm_write(0x79,0x0);// frequency hopping off
59
rfm_write(0x7a,0x0);// frequency hopping off
60
}
Habt ihr eine Ahnung, welche Einstellungen nicht stimmen?
Als Frequenz ist 433.92Mhz eingestellt, als Testsender dient die
Fernbedienung einer Funksteckdose. An dem Ausgang (GPIO1)des RFM23B
hängt ein Oszilloskop.
Die Main-Funktion sieht so aus:
Ich habe heute nochmal mit den Werten gespielt, leider immer noch ohne
Ergebnisse.
1. Wenn ich TX/RX Clock auf GPIO0 schalte, liegt im RX-Mode dauerhaft
ein 2,5kHz an. Ist das normal, auch wenn keine Daten kommen? Kann es
sein, dass ich nichts empfange, weil der Bittakt zu gering ist?(Es
können Frequenzen um die 2,6khz im Funksignal vorkommen)
2. Teile vom Code stammen von Ulrich Radig, bzw Benedikt K.
Die Zeile "rfm_write(0x1d, 0x40); // enable AFC" ist falsch, sie
deaktiviert den AFC...
Welche Baudrate muss ich einstellen? Was genau macht der AFC? Muss der
sich nicht vorher "tunen"? Was genau ist die Oversampling rate?
Grüße,
Philip
Hast du das Problem lösen können?
Ich möchte das RFM 22/23 B Modul mit OOK = 100% ASK einsetzen um mehrere
fmt8v Heizungsstellventile anzusteuern (868Mhz).
Auf der Suche nach den Funkmodulen ist das Feedback aber oft sehr
gering. Rfm22 sei nichts für Anfänger, Doku sei unvollständig, FSK wird
verwendet, also ka ob OOK läuft. Hab also nichts richtiges gefunden, was
mir hilft.
Bin zwar kein Anfänger, hab aber nicht genügend Elan (Zeit), um mich mit
den Modulen zu ärgern, wenn nicht klar ist, das es überhaubt eine Lösung
für den Betrieb mit OOK gibt.
Hat schoneinmal jemand die Module mit OOK betrieben?
Grüße hen
Hallo,
das RFM zu knacken war in der Tat sehr schwierig, ich habe es
schließlich nur durch Ausprobieren und ein paar Tipps von einem
Forumsbesucher geschafft.
Das RFM ist extrem zickig und sehr empfindlich, was die genauen
Einstellungen betrifft. Ändert man bestimmte, kritische Register nur
leicht, ist der Empfang sofort weg. Ich habe meine Initialisierung für
433Mhz und den Deglitching Algorithmus angehängt:
GPIO0 wird als Dateneingang für das Senden benutzt.
GPIO1 ist der RX-Datenausgang. Es werden alle empfangenen Daten
inklusive sehr viel Rauschen an diesen Pin ausgegeben.
GPIO2 ist der RX Takt und wird für als Zeitbasis das Deglitching
verwendet. Am Mikrocontroller benutzt er einen Pin-Change interrupt.
Im Anhang seht ihr ein Foto, wie die Daten des des RFM22B nach der
Initialisierung aussehen. Das Rauschen tritt nach längeren
Empfangspausen ein, man kann das gut an dem Datenstrom erkennen. Das
Rauschen besteht aus kurzen Impulsen, die üblicherweise mindestens 30%
kürzer sind, als die Datenpulse. Der Deglitching Filter ist kein Median
Filter, wie er empfohlen wurde, sondern schneidet einfach alle kurzen
Pulse weg.
So, ich hoffe ich konnte damit alle Fragen klären. Wie man das Modul
konfigurieren muss, um damit gut bei 868,xx MHz empfangen zu können,
kann ich nicht sagen, dass müsst ihr selbst ausprobieren. Aber falls ihr
brauchbare Ergebnisse erzielt, dann postet hier eure Erfahrungen.
Grüße,
Philip
Dear Philip,
Sorry for now writing in the German language.
I was also planning to use the direct mode on the RFM22b to receive a
OOK signal. So, I wanted to ask you if I could get a copy of your
working OOK decoding source.
I would help me very much.
Thanks in advance.
Hello Hubert,
take a look at my previous post, where I had attached "code.rar". A full
example will be available in about a month, when I publish my complete
project.
greetings
ich möchte auch gerade mit dem RFM12 die FS20 Signale empfangen. Meine
Erfahrung ist das die Pulsweite stark von der Entfernung zum Sender bzw.
der Feldstärke abhängt. Zum Testen habe ich die gleichen Signale von
einem RFM12 und einem einfachen analogen Modul HFE868 aufgezeichnet. Man
sieht das die Puls-Pausen Folgen mit dem analogen Modul übereinstimmen,
aber die Pulse bei hoher Feldstärke sehr lang werden. Ich habe den Code
hier noch nicht angesehen, berücksichtig der das? Sonst ist das HFE868
auch ok, es kostete nur viel mehr als ein RFM. Kennt jemand eine
günstige Quelle für die 868MHz Module?
Hello,
sorry - but i can write only in english...
to Philip - many thanks for your setting RFM22 for OOK receiving .
It works perfect for WH2 protocol
(http://lucsmall.com/2012/04/27/weather-station-hacking-part-1/).
but... i have problem with receive longest periodical signal (KAKU
command from remote)
I attach example receiving signal from RFM22 (on top) and from standart
"chinese" superheterodyn receiver (bottom). Difference is cler, but why
?....
If anybody have some idea ...
thanks
Stanislav
.... and other example - i generate stable periodical signal with ratio
1to31 :
at top is transmitter 6,2ms ON and 0,2ms OFF ->no problem for RFM22B
at bottom is transmitter 6,2ms OFF and 0,2ms ON -> RFM22B
after cca 3ms is go to log. level 1
(why ?)
S.
PS: still sorry for english , of course - read german answers is not
problem for me...
Hello Philip, everyone
Would you please share your fully working code please ?
I'm using PIC µC, did you use PIC or Atmel ?
I've spent long time to get transmission working between 2 x RFM22-S2
433Mhz modules without success, your help will be much appreciated.
( sorry i do not speak German )
Best regards,