Hallo, ich habe beim stöbern bei Pollin dieses Funkmodul gefunden: http://www.pollin.de/shop/shop.php?cf=detail.php&pg=OA==&a=MDU5OTgxOTk=&w=OTk4OTY4&ts=0 Meine Frage an euch ist: Hat schon wer damit gearbeitet und ob es schwer ist diese Module für eine art Wetterstation zu nutzten um die daten zu übermitteln. jonny
Sieht interessant aus. Nähere Informationen gibts hier: http://www.hoperf.com/doce/pro/RFM12.html (Im programming guide gibts auch ein Schaltplan-Beispiel mit AVR)
cool danke, auf der Seite war ich auch schon^^ Leider muss ich mal wieder zum Augenarzt... xD mfg jonny
Ich habe gerade die Info gefunden. Bis zu 200m im Freien. Für den Preis ist das ja echt in Ordnung, wenn es denn auch funktioniert ;-)
Jonny: Wenn du das Modul erfolgreich in Betrieb genommen hast, dann gib uns doch mal ne Rückmeldung.
also ich werde in naher zukunft erstmal keins dieser module ausprobieren, da ich noch andere dinge zu machen habe... klasse 10 abschlussprüfungen (ja, sind neu) usw.... (leider nicht in informatik und physik xD) Wenn es denn dann soweit ist melde ich mich aber nochmal. Wollte nur wissen wie es mit den modulen aussieht weil der preis recht ansprechend ist.
..ich wäre an infos zu dem thema interessiert, meine module sind bereits auf dem weg zu mir. ich habe gelesen das damit ü raten von 115,2 kbaud und entfernungen bis zu 100m möglich sind, zudem verfügen die module über einen angepassten antenneneingang. die schnittstelle ist spi kompatibel.... wer weiß, bei dem preis ists wirklich ein versuch wert. habe auch das transceiver modul rmf12 bestellt. ich hoffe das damit ein broadcast möglich ist... d.
Die Datenraten sollte man lieber realistisch sehn. Laut Datenblatt sind im Idealfall(wohl weniger in der Praxis) Reichweiten über 100m bei 1,2kbps erreichbar. Die Reichweite wird sicher merklich geringer bei höheren Datenraten. Zudem werden im Demokit nur max. 19,7kbps verwendet. Ich vermute mal, dass die 115,2kbps in der Praxis nicht erreicht werden. Theoretische Werte halt ;) Nicht desto trotz ein nettes Teil.
Selbst wenn es nur 300Baud sind, ist das ganze immer noch verdammt günstig. Mich würde interessieren, wie hoch die Fehlerrate ist, also wie sicher man sein kann, dass die gesendeten Daten auch ankommen. Die Übertragung scheint ja nur in eine Richtung zu laufen, also ohne Bestätigung vom Empfänger.
>Die Übertragung scheint ja nur in eine Richtung zu laufen, also ohne >Bestätigung vom Empfänger. http://www.hoperf.com/pdf/RF12TOOLS.pdf (letzte Seite)
es gibt ja drei module 1. sende -Y 4€ 2. empfangen -> 4€ 3. empfangen und senden -> 8€ kommt also drauf an was du machen und ausgeben willst :)
Da macht aber der uC die Fehlerprüfung, oder ? Ich habe mir mal von jedem Modul ein paar bestellt. Bei den Tranceivern habe ich ähnliches vor, bei den einfachen Sendern/Empfänger muss es ja ohne gehen. Die Frage nach der Fehlerrate bleibt also.
Ich kann das auch noch gar nicht glauben, dass die Teilchen so billig sind, für dass was diese leisten. Ich werde mich, sobald ich die Platinen von Pollin bekomme, auch gleich drannmachen die Beispielprogramme von Hoperf auf einem ATmega8 (wenns passt) umzusetzten. @Jonny: Das Sende - bzw. Empfangsmodul kosten rund 5€ nicht 4€ :)
ey saugeil, son ding kann ich optimal gebrauchen. danke mann. bestell mir nachher auch nochn paar. oa, pollin is so gut!
Ich versuche gerade das Datenblatt zu verstehen und eine Ansteuersoftware zu schreiben: Hat jemand eine Idee was das "Low Duty-Cycle Command" ist ? Das Datenblatt kotzt mich auch schon wieder an: Den kompletten Beispielcode mitliefern, aber das Datenblatt kopiergeschützt gemachen !!!
Ja das mit dem Kopierschutz tut mich mich das auch !!! Vielleicht kann ich den umgehen. Mal gucken ob's klappt. später mehr ...
es gibt nen Tool mit dem man den c&p Schutz bei pdfs entfernen kann aber keine ahnung wie das Teil hieß -> google
Also ich kann die Programmcodes problemlos unter Linux rauskopieren.(ohne Aushebelung von irgendwelchen Schutzfunktionen). Wo ist das Problem? Ich häng nachher mal die Codes als Textfiles an...
So hier der komplette Code zum Atmel vom "programming guide". Falls die Zeilenumbrüche nicht hinhauen unter Windows -> mit Wordpad öffnen und neu speichern.
Nur der Vollständigkeit halber : Zum entfernen des PDF-Kopierschutzes wäre ein Programm " PDF Password Remover v2.5 " bei www.chip.de/ eine Wahl. Braucht man vielleicht doch öfter (unter Windows) :)
hier habe ich gerade gesehen xD Funkplatine mit "Eval. Board" http://www.pollin.de/shop/shop.php?cf=detail.php&pg=OA==&a=MzU5OTgxOTk=&w=OTk4OTY4&ts=0
Hat eigentlich schon jemand die Module am Laufen, und hat eine eigene Software dafür geschrieben ? Ich komme mit den Datenblättern nicht so ganz klar: Im RF01 Beispielcode wird 0x47 für 4800Baud verwendet, im RF02 Beispielcode 0x23 für 4800Baud. Ist Data Rate die Bitrate vom Sender oder die Baudrate ? (Falls der Sender eine Manchester Codierung nutzt, wäre das eine ja genau das doppelte vom anderen.)
@AVR-User hab nochmal auf der Pollin-Homepage nachgeschaut, inzwischen gibts anscheinend auch dort für die module einen beispielcode in c, so wies ausschaut angepasst für die avr-evaluation-platine.... aber danke für deine mühe
Hi Leute, ich habe da auch eigentlich drauf gewartet und beim heutigem Stöbern bei Pollin auch die Beispielprogramme (von Pollin neu eingestellt) zu den Modulen entdeckt. guckst du hier: http://www.pollin.de/shop/shop.php viel Spass damit , ich muss noch auf meine Hardware warten...
meinte hier: http://www.pollin.de/shop/shop.php?cf=downloads_suchergebnis.php&fp=OA==&pg=NQ==&a=MjU5OTgxOTk=
Sieht wirklich relativ einfach aus, vor allem ist der code so aufgebaut, dass man beliebige pins nutzen kann, oder auch kleine prozessoren, die keine spi-schnittstelle besitzen.... so für richtige minianwendungen
Die Beispielcodes sind genau die Beispiele aus dem Datenblatt, mit genau denselben Fehlern.
Das hatte ich weiter oben geschrieben: Einmal ist 0x23 der Wert für 4800Baud, einmal 0x47. Da kann irgendwas nicht stimmen.
ok, wenn du "nur" das meinst ok... hörte sich so an, als würde das alles nicht funktionieren.... d.
Insgesamt finde ich die Datenblätter ziemlich schlecht. Ich möchte die Module jetzt nicht schlecht reden (der Preis ist wirklich spitze), aber in den Datenblättern sind zwar alle Register aufgelistet, aber leider gibt es nirgends eine Beschreibung was die Register bewirken. Das Datenblatt ist also schon etwas dürftig. Wenn man den Beispielcode verwendet, und die Dinger einfach nur so laufen lässt, dann reichen die Infos, aber wenn man selbst Software schreibt und das allerletzte aus den Modulen rausholen möchte, dann merkt man schnell, dass doch einiges an Infos fehlt.
Ich habe heute die Module bekommen, schreibe gerade die erste Software dafür und stolpere überall auf Fehler im Datenblatt: Auf dem 4 Seitigen Blatt dass dem RFM12 beilag, steht: 0xC400 ;1,66MHz CLK-Pin, 2,2V Battery Dasselbe auch im Beispielprogramm. Laut dem Datenblatt beschreibt 0xC4xx aber das AFC Register ! Um den Takt einzustellen müsste man 0xC0xx schreiben. Ich habe bisher 2 Register (dieses und die Baudrate) angeschaut und die Werte vom Beispielprogramm mit dem im Datenblatt verglichen. Beidesmal hat es nicht gepasst... Entweder die Beispielprogramme oder das Datenblatt sind an mehreren Stellen falsch. Welches von beiden, dass muss ich jetzt noch herausfinden. Typisch Pollin: Einfach mal den Mist von anderen kopieren.
Ich habs mal ausprobiert: Die Angaben im Datenblatt scheinen zu passen (0xC0E0 setzt den Takt an CLK auf 10MHz), die Beispielprogramme sind also definitiv fehlerhaft.
Ich habe meine Module ebenfalls bekommen. mir ist noch ein Fehler aufgefallen, bei der LED-Steuerung: #define LED1_OUTPUT() DDRD|=~((1<<6)|(1<<4)) //+Module-Power #define LED1_ON() PORTD&=~(1<<6) #define LED1_OFF() PORTD|=~(1<<6) #define MODULE_ON() PORTD&=~(1<<4) #define MODULE_OFF() PORTD|=~(1<<4) müsste doch eigentlich heißen: #define LED2_OUTPUT() DDRD|=((1<<5)|(1<<4))//+Module-Power #define LED2_ON() PORTD&=~(1<<5) #define LED2_OFF() PORTD|= (1<<5) #define MODULE_ON() PORTD&=~(1<<4) #define MODULE_OFF() PORTD|= (1<<4) damit leuchtet dann auch die LED ;-) Hat schon jemand hinbekommen die dinger auf einer anderen Frequenz laufen zu lassen? RFXX_WRT_CMD(0xA640);//A140=430.8MHz (So wie es im Datenblatt steht sind es eher 434,0Mhz) Jedoch empfange ich auf ca. 433,89Mhz ein Signal und bei 434 Mhz ist ruhe. Wenn ich das Register ändere, ändert sich an der Sendefrequenz nichts. Hab bisher nur eine Platine aufgebaut, konnte also die Wualität der Übertragung noch nicht testen. Gruß Marc
Ok der eben benannte Fehler war in der RFM12_transmit.c In der RFM12_receive.c ist auch ein Fehler, glaub ich zumindest: #define LOW_SDO() PORT_SDO&=(1<<RFXX_SDO) sollte doche eher heißen: #define LOW_SDO() PORT_SDO&=~(1<<RFXX_SDO) Die nehmens mit ihren ~ nicht so genau. Falls ich mir irren sollte und es gar keine Fehler sind, dann seht es mir nach, bin erst seit ein paar Wochen in C "unterwegs". Gruß Marc
Hier nochmal der Hinweis, wo man mit solchen Modulen senden darf: 433.05 bis 434.79MHz. Man muß vor Aufnahme des Sendebetriebs sicherstellen, daß das Signal komplett innerhalb der Bandgrenzen bleibt. Immer dran denken, die Empfänger solcher Funkmodule sind ziemlich taub, ein Signal, das für diese Module in 100m gerade noch empfangbar ist, kann mit guten Amateurempfängern je nach Topographie noch in mehreren Kilometern Abstand empfangen werden. In dicht bebauten Umgebungen empfiehlt es sich evtl. , die 433.92MHz +- 100kHz zu meiden, da dort bereits so gut wie jedes kommerziell vertriebene Gerät arbeitet. Gruss Jadeclaw.
>Empfänger solcher Funkmodule sind ziemlich taub, ein Signal, das für >diese Module in 100m gerade noch empfangbar ist, kann mit guten >Amateurempfängern je nach Topographie noch in mehreren Kilometern >Abstand empfangen werden. Dann müssen die ja in dem freq. bereich ein wahres durcheinander empfangen können bei der anzahl an geräten die auf der freq senden.
Auf dem Zettel der bei dem Modul dabei war steht: "Die Konformitätserklärung ist im Bereich "Kontakt und Service" unter folgendender Internetseite veröffentlicht: http://www.pollin.de" Hat das schon jemand gefunden ? Ich habe zumindest nichts gefunden außer den normalen pdfs zu den Modulen, aber da steht nichts drin.
@Tom Bear: Das Chaos ist nur auf 433.92MHz, lasse ich da mal den Scanner stehen, schrappt und knirscht es da fast unentwegt, rundherum ist wenig los. Sitze hier aber auch in der 10. Etage. Zur Reichweite von den erlaubten 10mW: Vor einigen Jahren, als Sprechfunkgeräte für diesen Bereich in den Handel kamen, habe Hobbyfunker zwei von diesen Dingern als Relaisstation zusammengeklemmt und auf einen Berg in der Nähe von Bad Salzuflen aufgestellt. Diese Konstruktion war teilweise noch in 30km Abstand zu vernehmen. Leider konnten sich diese Hobbyfunker nicht benehmen, sodaß Regulierungsbehörde und Gesetzgeber dem Spaß schnell ein Ende setzten. Gruss Jadeclaw.
@Marc Gauger läuft ein´Sende- Empfängerbetrieb mit einer Boudrate X mit dem Code? Oder ist das Signal ev. von anderen Funkgeräten?
Moin, ist Euch eigentlich in den beiden Datenblättern aufgefallen, dass der Configuration Command i Pollin-Datenblatt die Bits 5&4 fest auf 0,1 stehen hat? Wenn ich mir jetzt das Datenblatt von Hope RF anschaue, dann findet mit Hilfe dieser beiden Bits genau die Bandauswahl statt: 0, 0: 315 MHz 0, 1: 433 MHz (Pollin) 1, 0: 868 MHz 1, 1: 915 MHz Alles bei Verwendung des 10MHz Quartzes auf dem Modul. Gruss, Christian
Das liegt halt daran, dass die Module für 433MHz ausgelegt sind. Das IC kann vermutlich alle Bereiche, nur der externe Schwingkreis ist warscheinlich für 433MHz ausgelegt.
Und noch mehr Fehler, diesmal im Datenblatt: Beim Receiver Control Command steht als Standardwert 0x9080 Die Bits sind aber als 1100.... beschrieben. Dier ergibt aber 0xC... Vermutlich sind die Bits falsch. 0xC wäre nämlich ein anderes Register.
Und noch einer, Status Command 0x0000 liefert welchen Status ? Da scheint wohl das Papier im PDF Editor ausgegangen zu sein ;) Ich werde heute auch mal anfangen eine Platine mit ATMega8 zu machen um meine Teile zu testen. Gruß Hagen
Wäre Cool wenn du mal berichten könntest, dann bestell ich mir auch mal welche mit Funk wollt ich eh schonmal experimentiern :)
Auch bei der Beschreibung vom Timing Diagramm war anscheinend kein Papier mehr vorhanden. Ebenso beim Low Duty-Cycle Command Register.
Und noch mehr Fehler: Beim Data Filter Command wird S1,S0 beschrieben, es gibt aber nur ein S Bit im Register. Allerdings ist nebem dem S Bit eine 1. Würde man das als S1 betrachten, würde sich S1,0 = 10 ergeben was einen ungültigen Zustand bedeuten würde. Ist denn in diesem sch... Datenblatt überhaupt was richtig ???
Wär super wenn ihr vielleicht im Wiki eine Errata für das Datenblatt (mit Seitenzahlen usw.) machen könntet. Dann wäre das schön übersichtlich für alle :) Danke!
Die Maße stimmen auch nicht, ok das ist aber nur minimal und im zentel Millimeter Bereich. Für Eagle habe ich auch schon alles fertig, wer's gebrauchen kann meldet sich per PN. Gruß Hagen
Ich habe das Modul mittlerweile soweit bekommen, dass es ein Dauersignal sendet. Der IRQ Pin ändert sich bei mir aber nie, obwohl ich 30kByte/s rüberschiebe.
Anscheinend braucht das Modul einige 100ms nach dem Einschalten ehe es Daten empfangen kann. Das Senden funktioniert jetzt wunderbar. Sendeleistung, Frequenzshift einstellen usw. alles kein Problem. Das Empfangen scheint so zu funktionieren: FIFO einschalten, FIFO fill enable bit setzen, jetzt wartet das Modul auf das das Sync Word, (falls dieses eingeschaltet ist) und zeichnet danach alles mit der Bitrate auf. Egal ob was sinnvoles kommt oder nicht. Ist die Übertragung also beendet, dann sollte man das FIFO fill enable Bit löschen, um die Suche nach dem Sync Word neu zu staren. Das Sync Word müsste 0x2DD4 sein. Gibt es irgendwo eine genau Liste der zulässigen Sendefrequenzen ? Das einzige was ich gefunden habe, ist der Bereich 433,05 MHz bis 434,79MHz, max 10mW, unbegrenzte Sendedauer. Ich kann mich aber daran erinnern, dass es daneben noch andere Frequenzen gab, die härtere Einschränkungen hatten, und die daher nicht so überfüllt sind. Die normalen Funkmodule arbeiten übrigends bei 433,92MHz.
Hast du denn schon geschafft die Sende-Frequenz zu ändern? Also ich hab nur mal einen Sender aufgebaut und da kommts mir so vor als ob es dem egal ist was in dem Register steht er sendet immer auf der gleichen Frequenz, könnte jemand diese Aussage bestätigen, oder gar wiederlegen? Denn ich bin im Besitz einer Funklizenz und möchte gerne aus dem ISM-Band entweichen. Gruß Marc
Bei mir funktioniert das wunderbar. Ich habe es gerade mal ausprobiert: 430,92MHz und 438,92MHz nimmt er an und sendet auch auf den Frequenzen. Hast du zufällig eine Liste auf welchen Frequenzen man senden darf, (mit oder ohne Lizenz) und welche komplett verboten sind ?
Also ich würd sagen das was im Frequenznutzungsplan steht müsste hier gelten: http://www.bundesnetzagentur.de/media/archive/1820.pdf sind ca. 660 Seiten (ich denk auf Seite244 (Eintrag 222003) 433,05- 434,79 Mhz Auf Seite 619 steht nochmal der Frequenzbereich.. Aber ich hab nichts genaueres über die Auflagen in diesem Bereich gefunden... (also bezüglich ob dauersender usw erlaubt ist oder nicht) Kannst du mir deinen Quellcode mal schicken (Marc.Gauger@web.de) Also für beide Frequenzen? BEi mir scheint das irgendwie nicht zu funktionieren. Danke Gruß Marc
Nochmal, ohne Lizenz darf man nur zwischen 433.05 und 434.79 MHz senden. Die exakte Frequenz ist egal, man muß aber soweit von den Bandgrenzen entfernt sein, das keinesfalls Signale durch die Modulation ausserhalb des zulässigen Bereiches abgestrahlt werden. Wer eine Amateurfunklizenz hat, darf den gesamten Bereich zwischen 430 und 440MHz nutzen. Das jetzt auf dieses Modul bezogen. Funkamateure dürfen aber noch erheblich mehr: http://www.bundesnetzagentur.de/enid/Frequenzordnung/Amateurfunk_gu.html Eine gesamte Liste gibt es hier (Short Range Devices - SRD): http://www.bundesnetzagentur.de/media/archive/6709.pdf Für Sprechfunk gibt es noch weitere Bereiche: 446MHz Analog: http://www.bundesnetzagentur.de/media/archive/315.pdf 446MHz Digital: http://www.bundesnetzagentur.de/media/archive/5524.pdf Freenet: http://www.bundesnetzagentur.de/media/archive/916.pdf CB-Funk: http://www.bundesnetzagentur.de/media/archive/1533.pdf Babyphone: http://www.bundesnetzagentur.de/media/archive/283.pdf Audioanwendungen: http://www.bundesnetzagentur.de/media/archive/5005.pdf So, ich hoffe, das klärt einiges. Gruss Jadeclaw.
Ich habe mal meine Routinen angehängt. Diese haben mit Sicherheit noch Fehler, das Senden scheint aber insgesamt schon ganz gut zu funktionieren. Zumindest konnte ich immer in etwa das erwartete auf dem Spectrum Analyser sehen. Die Initialisierung sieht so aus: rf12_init(); // ein paar Register setzen (z.B. CLK auf 10MHz) rf12_setfreq(RF12FREQ(433.92)); // Sende/Empfangsfrequenz auf 433,92MHz einstellen rf12_setbandwidth(4, 1, 4); // 200kHz Bandbreite, -6dB Verstärkung, DRSSI threshold: -79dBm rf12_setbaud(19200); // 19200 baud rf12_setpower(4, 0); // -12dBm Ausgangangsleistung, 120kHz Frequenzshift rf12_mode(1,0); // Sender einschalten rf12_tx(0xAA); rf12_tx(0xAA); rf12_tx(0xAA); rf12_tx(0x2D); rf12_tx(0xD4); for (c=0; c<255; c++) // irgendwelche Daten übertragen rf12_tx(c++); rf12_mode(0,0); // Sender ausschalten Die Frequenz wird über das Makro RF12FREQ() (aus der rf12.h) in den Wert für das Modul umgerechnet.
Ok mein Fehler auf Seite 244 steht es ja, ich hab alle Nutzungsbestimmungen nachgeschaut... Also im Frequenznutzungsplan (Link siehe oben) steht: Relative Frequenzbelagerungsdauer: kleinergleich 100% sprich Dauersenden ist erlaubt :-) Gruß Marc
Ok sehr schön, hast den Code selber geschrieben? hab nur den von Polling runtergeladen und der sieht etwas anders aus :-) Kann ich auch die global.h bekommen? Die fehlt zum kompilieren... Möchte das nur kurz auf meinen Mega8 programmieren um den sender zu testen... hab zwar nur 8 Mhz intern aber ich denk das sollte dennoch funktionieren. Gruß Marc
Der Code ist komplett von mir. Der Beispielcode ist ziemlich falsch, wenn der nicht funktioniert, dann wundert es mich nicht. Ein paar Sachen musste ich ausprobieren, da das Datenblatt an mehreren Stellen widersprüchlich ist. In der global.h steht nur: #ifndef cbi #define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit)) #endif #ifndef sbi #define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit)) #endif
Also ich bekomm deinen Code nicht zum laufen, wie hast du das Modul angeschlossen? Also PortB #define SDI 5 = SDI #define SCK 6 = SCK #define CS 7 = nSEL #define SDO 0 = SDO #define IRQ 1 = nINT oder nIRQ ? (hab beides versucht geht nicht. #define RES 4 = nRes was hast du mit: -FSK -FIIT -und nInt bzw nIRQ gemacht? unbeschaltet gegen masse oder pullup? Hab mir diese main-Routine geschrieben: int main(void) { unsigned char c; unsigned int i,j; rf12_init(); // ein paar Register setzen (z.B. CLK auf 10MHz) rf12_setfreq(RF12FREQ(433.92)); // Sende/Empfangsfrequenz auf 433,92MHz einstellen rf12_setbandwidth(4, 1, 4); // 200kHz Bandbreite, -6dB Verstärkung, DRSSI threshold: -79dBm rf12_setbaud(19200); // 19200 baud rf12_setpower(4, 0); // -12dBm Ausgangangsleistung, 120kHz //Frequenzshift LED1_OUTPUT(); for(;;) { LED1_ON(); rf12_mode(1,0); // Sender einschalten rf12_tx(0xAA); rf12_tx(0xAA); rf12_tx(0xAA); rf12_tx(0x2D); rf12_tx(0xD4); for (c=0; c<255; c++) // irgendwelche Daten übertragen rf12_tx(c++); rf12_mode(0,0); // Sender ausschalten LED1_OFF(); for(i=0;i<10000;i++)for(j=0;j<123;j++);//sleep 1 second appr. } return 0; } Die LED soll während dems enden leuchten und danach ausgehen.. sie geht niemals aus... hab ich was falsch gemacht? Gruß Marc
Marc Gauger wrote: > Also ich bekomm deinen Code nicht zum laufen, wie hast du das Modul > angeschlossen? An einem tiny2313, so dass es alles ohne Lötbrücken möglich ist. Also angefangen bei PB0 mit SDO und die Reihe am Modul entlang. FSK und FFIT sind daher an 2 und 3 angeschlossen, diese Pins sind aber auf Eingang geschaltet. nINT habe ich auf VDI (=Ausgang) geschaltet und unbeschaltet gelassen. IRQ = nIRQ Im Beispielprogramm setzen die nFFS auf High, bei mir ist dieser Pin aber Ausgang vom RFM12, daher habe ich den besser hochohmig angesteuert. Ebenso Reset (Was bitte heißt DIO ? Eingang oder Ausgang ???) Damit ist es mir sogar gelungen Daten zu senden und mit einem anderen RFM12 zu empfangen. Es kam aber nur jedes 2. Byte an, und danach hört der Empfang nie mehr auf, außer ich schalte die Spannung ab. Jetzt muss ich noch rausfinden, ob es am Sender oder Empfänger liegt, daher wollte ich einen RFM02 als Sender verwenden. Dessen Datenblatt ist aber noch schlimmer: Bei dem beispielprogramm werden Befehle verwendet, die es garnicht im Datenblatt gibt.
Hi, DIO sollte ja eigentlich Data Input Output heißen aber die Datenblätter sind wohl nicht so gut. Gruss Sven
Ich habe noch ein wenig gebastelt, aber es immer noch nicht geschaft Datenpackete konrolliert zu übertragen: Es kommen immer nur Teile bzw. sehr viele Nullen an. Im Datenblatt (vor allem beim RFM02) fehlt eindeutig die Beschreibung des Timings der Pins (welcher SPI Modue wird verwendet, wann wechselt nIRQ usw). Wenn man bedenkt, dass das Modul schon Rev 3.0 ist (steht auf der Rückseite der Platine) dann möchte ich nicht wissen, wie das Datenblatt bei Rev 1.0 ausgesehen hat... Zur Sendefrequenz: Stellt man z.B. 334MHz und 200kHz, positive Modulation ein, sendet das Modul ohne Daten und bei einer 0 auf 333,9MHz und bei einer 1 auf 334,1MHz. Die Sendefrequenz ist also die Mittenfrequenz (und nicht wie ich zumindest anfangs dachte die Frequenz di bei einer übertragenen 0 gesendet wird).
Ich habe was gefunden: www.hoperf.com/pdf/RF01.pdf www.hoperf.com/pdf/RF02.pdf www.hoperf.com/pdf/RF12.pdf Das sind die Datenblätter der auf den Modulen verbauten ICs. Die sind um einiges genauer und brauchbarer.
@ Martin Den Code brauchst du dir garnicht anschauen, der ist total fehlerhaft. Ich habe es jetzt geschafft Daten richtig zu übertragen. Die Module (sind mit dem ordentlichen Datenblatt) eigentlich echt genial. Ich schätze mal in den nächsten Tagen werde ich dann ein kleines Demoprogramm in die Codesammlung stellen. Im Laufe der Woche folgen dann Programme für RF01 und RF02.
schön, dass du es geschafft hast. Wenn ich meine Prüfungen hinter mir habe, werde ich mir auch welche kaufen und nen bissel basteln XD jonny
Also dein Code funktioniert bei mir jetzt. Hab nur noch eine kleine Frage dazu. Hab den Code auf nen Atmega 8 gemacht und der braucht dafür 61% des Speichers??? Hab mal geschaut was da so viel Platz brauch und ohne die delay.h sind es nur noch 15% Speicher.. Hast du mir eine bessere Delay.h oder mach ich irgendetwas falsch? Kann doch nicht sein dass die so viel Speicher benötigt nur um eine kleine Pause zu machen. Gruß Marc
Optimierung einschalten (-Os), sonst wird die Floatingpoint-Arithmetik mit eingebunden.
Hallo zusammen, hab das Modul auch per Zufall gefunden und finds toll, dass schon so viele Leute versuchen es zum Laufen zubringen ;) Habt ihr schon Erfahrungswerte, wie schnell das Modul ist bzw. weit man damit kommt? Gibts auch schon Erfahrungen zur Übertragungssicherheit? Auf dem Foto vom Demokit hab ich gesehn, dass ein Draht als Antenne verwendet wird, welche Länge verwendet ihr da? Gibts eventuell ein PCB Layout mit dem man eine bessere Sendeleistung bekommt?
...ich habe vor, das ganze mit einer externen stummelantenne zu betreiben, über smb oder bnc stecker und rg58 kabel aus dem gehäuse führen..., da wäre es auch interessant was die ü raten angeht...und die machbarkeit.. d.
Meine ersten Tests: Einmal quer durchs Haus (ca. 30m), durch mehrere Wände und 1 Decke mit 19200Baud und 15cm Draht als Antenne: Keine Probleme. Mehr als 99% der gesendeten Daten kamen fehlerfrei an, solange die beiden Antennen einigermaßen parallel waren. Die Angaben von >100m im Freien sind also meiner Meinung nach durchaus realistisch. Auf kurze Entfernungen (z.B. 5m im selben Raum) sind die hohen Datenraten (100kBit) kein Problem. Da man an einem Pin auch das analoge Signal abgreifen kann, könnte man mittels Korrelation bestimmt >1km erreichen. Zum Vergleich: Mit einem billigen AM Modul (z.B das von C oder eines aus einer Funk Haustürklingel) habe ich schon bei 2 Wänden und etwa 10m Probleme. Auch der Softwareaufwand ist extrem gering: Nach der Initialisierung muss man nur den Sender einschalte, und die Daten rüberschieben. Keine Manchestercodierung, kein Bittakt usw ist notwendig. Man sollte nur darauf achten, dass ausreichend Flanken im Signal enthalten sind, damit der Empfänger den Bittakt regenerieren kann. Solange man also nicht dauerhaft nur 0 oder 1 sendet, gibt es nichts zu beachten. Den Code dazu habe ich in die Codesammlung gepackt: Beitrag "Beispielprogramm für RFM12 433MHz Funk-Module" Als nächstes mach ich mal die Ansteuerung für RFM01 und 02, dann weitere Tests der Reichweite und Datenrate.
...hätte ich die möglichkeit das ding direkt an txd und rxd zu hängen? im code sieht es so aus als müsste man dort noch eine menge einstellungen vornehmen, bandbreite etc...und ich dachte es hat eine spi schnittstelle - ist dort nicht ein taktsignal enthalten!? maddin
txd und rxd klingt nach RS232. Das geht schonmal mit Sicherheit nicht. Was meinst du mit Taktsignal bei der SPI Schnittstelle ?
...ich wollte das ganze auf einem pic controller laufen lassen, programmiert in asm. ich schätze ich muss die ganze sache wirklich auf hardware-ebene ansteuern. PIN: SCK Spi clock (da du geschrieben hast das kein bittakt nötig ist) m
Das mit dem Bittakt hast du falsch verstanden: Bei dem SPI Interface ist schon der Takt notwenig. Das einzige was nicht notwendig ist, ist der Bittakt für die Daten die versendet werden. Dieser Takt wird intern erzeugt. Wenn das Modul konfiguriert ist, sendet man die Daten als Byte Paket über SPI an das Modul. Dieses sendet dann mit der eingestellten Baudrate die einzelnen Bits nacheinander.
...danke, da haben wir aneinander vorbeigeredet:-) tja dann muss ich mal sehen wíe ich das am besten realisiere. mit bitgeklimper anzufangen, ist nicht der richtige weg. aber noch einen dritten controller in das projekt zu holen (atmel incl. programm) ist auch nicht unbedingt der traum. nett wäre eine umsetzung von spi mit modul und fertig programmiertem atmel auf rs232. damit lagst du übrigens richtig. dann könnte man die funkstrecke transparent an fast jedem controller betreiben. müsste ein atmel mit spi und serieller schnittstelle sein. eckdaten müsste man festlegen, ganz klar, oder ein paar pre-sets für datenrate - reichweite Rx/tx / kanal usw... über dips anwählbar machen.. in meiner anwendung habe ich 1 sender, und 8 zuhörer, insgesamt benötige ich 9 module, es werden transceiver sein, so bleibt es flexibel.. das ganze müsste rs232 transparent sein, bis auf die zeitverzögerung durch das umwandeln der daten im atmel natürlich... d.
Der gekennzeichnete Pin ist vermutliche der ARSSI Pin (Analog Receive Signal Strength Indicator). An diesem Pin liegt eine dem empfangenen Signal proportionale Spannung an. Bei mir sind es etwa 0,6V ohne Signal und 0,3V ohne Signal, ohne Antenne. Mit einem Sender direkt daneben sind es rund 1V. Allerdings scheint das ganze durch eine AGC Schaltung zu laufen: Wenn ich kurze Impulse sende, erscheint an dem Pin 15mS lang 1V, dann 15ms lang etwa 0V und dann wieder 0,6V.
Benedikt: wenn ich das richtig lese dann wird im analogen Empfangsmodus, also ohne FIFO usw. am DCLK Ausgang einfach das I/Q Signal ausgegeben ? (über einen internen Widerstand von 10KOhm) Gruß Hagen
Den analogen Modus habe ich noch nicht ausprobiert. Ich vermute, hier kommt einfach das FM demodulierte Signal raus. Im Datenblatt ist dies der Ausgang des I/Q Demodulators.
Hm, das heist, ich sende im analogen Modus über DATA mein per FSK zu sendenden Bitstrom. Auf Empfängerseite werte ich im analogen Modus das FSK (I/Q Demodulator) am DCLK Pin aus. Man könnte so also seine eigene Kodierung benutzen. Ich denke da an ein Manchester kodiertes Signal das mit zb. 511 Bit langen MLS (maximum length random sequences) koderiet wurde. Sprich Spreizspektrum. Man sampelt das anaolge Signal an DCLK und wertet es im Dekoder per Kreuzkorrelation aus, sprich FHT (Fast Hadamard Transformation). So müsste man eine sehr hohe Reichweite erzielen, wenn auch mit geringer Datenübertragung. Statt mit so langen Sequenzen könnte man für erste Tests auch mit Barker Codes arbeiten. Gruß Hagen
Ich muss zugeben, ich habe jetzt nicht allzuviel davon verstanden, aber es klingt interessant. Seit hier im Forum mal das Thema Korrelation kam, warte ich darauf, das irgendjemand mal eine einfache Software schreibt, die sowas macht und sogar auf einem AVR läuft. Ich werde es mal ausprobieren, ob man den Sender als dummen Sender verwenden kann (0 rein -> 0V raus, 1 rein -> 5V raus).
Die FHT benötigt N * Log2(N) Additionen und Subtraktionen. Ist also ziemlich schnell und macht sowas ähnliches wie eine FFT. Allerdings funktioniert sie nur mit orthogonalen Codes, zb. Barker Codes oder eben MLS. MLS sind nichts anders wie Shiftregister deren Polynom irreducibel sein muß. Sprich das LFSR erzeugt eine Pseudozufallssequenz mit maximaler Länge. Benutzt man zb. ein 8Bit LFSR als MLS so erzeugt man eine 255 Bit Sequenz. Man sampelt nun 255 "Bits", auch Chip genannt und lässt darüber die FHT laufen. Die FHT benötigt also 256 * 8 = 2048 Additionen/Subtraktionen um die 255 ADC Samples zu korrelieren. Der maximale Ausschlag nach dieser Korrelation gibt also den Synchronisationszeitpunkt an. Benutzt man die gleiche MLS einmal invertiert und einmal nicht invertiert so kann man die Bits 0 und 1 kodieren. Pro Datenbis würde man also 255 Chips senden. Dies erklärt den hohen SNR des Spreizspektrum (bzw. Spreizcodierung). Falls die RFM12 Teile also die analogen FSK Daten dekodiert ausgeben können so wäre das mal ein interessantes Experiment ;) Ich habe erstmal meine Platine im Eagle fertig und werde heut Abend ätzen ;) Gruß Hagen
@Benedikt K. Mache mal die Antenne ca 17,3 cm lang. Das wird vermutlich die reichweite noch mehr verbessern. Da diese Antenne ihre Resonazfrequenz auf ca 433Mhz hat. Die 15cm Antenne hat ihre Resonanzfrequenz auf 500 Mhz.
Hallo, Nach ein kleine "research" im web habe ich entdeckt das die IC's IA4220/IA4221 (Tx) IA4320/IA4322 (Rx) IA4420/IA4421 (Rx+Tx) von firma Integration Associates die gleiche "Die" besitzen. Die ISM funk IC's mit SPI interface haben die name "EZRadio". Auf http://www.integration.com/resources.shtml sind alle Datasheets und Application Notes zu finden. Interessant ist auch http://www.integration.com/docs/IA_MSC-UGSB1.pdf (C source fuer Microchip PIC). Freundlichem Gruess aus Holland, Sebastian pe9sms
@hagen Ich habe den analogen Modus mal ausprobiert: Am Ausgang kommen 5V Pegel raus, es scheint also intern schon eine digitale Entscheidung geben, ob die empfangene Frequenz < oder > als die center Frequenz ist. Allerdings ist das Signal manchmal etwas verrauscht, daher der Filter.
Schaut man in die IA-Datenblätter (Besten Dank an Sebastian), so erkennt man, daß der Analogausgang ein RC-Tiefpaß, gefolgt von einem Schmitt-Trigger ist. Der Digitalfilter, der das I/Q-Signal auswertet, verhindert genau diese Rauschanteile, was aber auf die Datenrate geht. Gruss Jadeclaw
@Benedikt: hast du auch den richtigen Modus gesetzt ? Der DCLK/CFIL/FFIT müsste als analoger Ausgang geschaltet sein. Das ist der Modus der bis zu 256kBit erlaubt und bei dem es keinen DCLK gibt. Lässt man nun den externen Kondensator weg dann müsste man direkt das analoge Ausgangssignal des I/Q Demodulators abgreifen können. Man verzichtet also auf den DATA Ausgang und den internen Schmitttrigger. Egal, meine Platinen sind fertig, morgen bestücke ich sie und dann werde ichs mal seber testen ;) Gruß Hagen
@hagen Ich denke schon. Der Pin kann ja nur FIFO voll Interrupt, Baudrate und Analog. Als ich das FIFO abgeschaltet hatte, kamen da 19200Hz raus, dann habe ich auf analogen Filter umgeschaltet, und es kamen die Rechteckimpulse raus, die ähnlich aussehen wie die Signale am Ausgang eines billigen AM 433MHz Empfängers (Zufallswert wenn der Sender aus ist, mehr oder weniger saubere Daten wenn der Sender in der Nähe läuf).
Die RFxx ICs sehen stark nach einer Kopie des IA4xxx aus. Ebenso das Datenblatt, das bis auf einige Kopierfehler nahezu identisch ist. Es wurde nur der Herstellername + Adresse geändert. Es gibt einige interessante AppNotes zum Thema Antenne auf der Seite von Integration Associates. Mit einer Back IFA Antenne (was immer das auch ist), sollen angeblich 5km bei 9,6kBaud möglich sein.
Benedikt K. wrote:
> Mit einer Back IFA Antenne (was immer das auch ist), sollen angeblich 5km bei
9,6kBaud möglich sein.
Das sollte auf jeden Fall für eine Wetterstation im Garten reichen^^
Ich hab mich mal auf der Herstellerhomepage informiert, dort gibts unteranderem auch fertige module mit serieller schnittstelle mit rs232 oder ttl pegel der preis beträgt 9USD (US Dollar) http://www.hoperf.cn/pdf/HM-TR_EN.pdf und für das Transivermodul 2,5USD... (leider sind die Versandkosten mit 33USD recht hoch) Danke Benediktfür deinen beispiel code!
gäbe es nicht die möglichkeit die transceiver module mit hilfe eines kleine atmel controllers mit spi und rs232 schnittstelle in der form aus zu bauen!? im grunde genommen müsste man ja nur den code von benedikt, plus ein wenig uart ansteuerung in einen kleinen atmel packen, ich würde mich auch sehr gern dafür zur verfügung stellen. ich habe mit den atmels allerdings noch nichts am hut gehabt. wenn jemand interesse daran hat, mache ich sonst auch gern ein layout o.ä. inclsive sma stecker und mit einem aufsatz für das rfm12 modul. welcher controller wäre dafür eurer meinung verwendbar, aus der atmel reihe!? eigenschaften. - 1 uart - 1 spi schnittstelle ( getrennt nutzbar) - möglich ein 8pin gehäuse!? - interner oszillator!? - baudrate: 19,2kbaud (oder einstellbar über ein paar switches - dann allerdings mehr pins nötig) - kanal einstellbar machen!? - konfigurationen für lange weiten mit wenig baudrate, mittlere entfernung, mittlere baudrate, wenig entfernung, hohe baudrate - dip für receiver oder sender - so kann man die module flexibel einsetzten - vielleicht auch einen switch pin zum auswählen über mikrocontroller... - sma anschluss für antenne d.
Ich hab mal ein Keypad+GLCD-Modul für Modellroboter gebaut. Das wollte ich sowieso mal redesignen. Da kommt wohl auch noch ein Funktransceiver mit drauf und bastel noch einen Software-MAC dazu - dann hat man alles, was das Herz begehrt auf einem Modul (GLCD, Nummerntastatur, Echtzeituhr, Fühler für die Umgebungstemperatur und Funk und ggf. noch eine Akkuladeschaltung (mit zusätzlichem Modul für die Leistungselektronik)).Mal sehen, was draus wird.
wie ich gerade sehe ist auf den modulen von: http://www.hoperf.cn/pdf/HM-TR_EN.pdf im grunde genommen nichts anderes enthalten, als das RFM12 mit einem zusätzlichen atmel und der option einen max 232 mit zu bestücken... tja, ich habe meine module von pollin schon hier... d.
Guten Abend Hat jemand jetzt schon eine Verbingung zwischen 2 Modulen hinbekommen? Also eine klassische Datenübertragung? Grüsse
@ Christian Wimmer Wo stehen denn da Preise? Stückzahl? Beim Transceiver-Preis von $2.50 könnte man in einer Sammel-Bestellung bestimmt noch deutlich unter den Preis von Pollin kommen!?
Antenna Selection Guide for the IA4220 and IA4320 ISM Band FSK Transmitter/Receiver Chipset: http://www.integration.com/docs/IA_ISM-AN1.pdf "Modified Inverted (IFA) antennas, the so-called “back IFA” antennas" Enthält zahlreiche Antennenlayouts für die verschiedenen Frequenzen. Ausführliche Beschreibung der Integration Module von: CompoTRON Germany GmbH ist exklusiver Distributor der Firma Integration in Europa www.compotron.de/daten/any/77_ISM_D.doc
Ich habe es geschafft das das Modul etwas sendet, jedenfalls sehe ich auf dem Spektrum Analyzer etwas. Der Empfang funktioniert allerdings noch nicht, das Programm bleibt ewig in der void rf12_ready() Funktion hängen, der Sender sendet das Signal immer wieder aus doch ich kann nichts empfangen. Beim Sender habe ich den Code einfach so gelassen, beim Empfänger habe ich das Senden auskommentiert und nur noch das Empfangen drin. Wie hast du es denn hinbekommen das du etwas empfängst?
Schau dir mal meinen Code an, der sollte funktionieren. Teilweise musst ich schon ein wenig mit den einzelnen Bits spielen, bis alles lief.
Den Code hab ich ja verwendet, und wie gesagt, das senden scheint zu funktionieren ich jetzt nur ein problem beim Empfang der uC bleibt in der Funktion rf12_ready() ewig hängen.
Mal was ganz anderes: Dauern Bestellungen bei Pollin immer so lange ? Ich habe vor fünf Tagen im Online-Shop die Module bestellt aber nur eine Zitat: "Diese E-Mail ist keine verbindliche Auftragsbestätigung, sondern dient nur der Bestätigung des Eingangs Ihrer Bestellung. Eine Ausführung des Auftrages behalten wir uns im Rahmen unserer Liefermöglichkeiten vor." erhalten :-/ Sollte ich da mal telefonisch nachhaken oder ist das bei Pollin so ? Sorry ist das erste mal das ich dort was bestelle ;-) Für Hinweise deswegen dankbar ;-)
@dennis Ich wären an so einem Layout interressiert, wäre cool wenn du mal eins machen könntest. Also controller würd ich nen Atmega48 oder 88 nehmen (wenn der code ein bischen grösser wird) in tqfp Bauform. Ein Attiny (8 Beinchen) wir dann doch eher umständlich da der nur 1 Universal Serial Interface hat. Der Atmega hat ein spi und ein uart was die sache doch vereinfacht. Interner RC Taktgeber und uart verträt sich sowiso nicht. gruss Sven
@Tino Es scheint so, als wenn der Empfänger keine Daten bekommt. Ich habe es eben nochmal ausprobiert: Bei mir funktioniert der Code: Einmal senden auskommentiert, einmal empfangen. Hast du die Taktfrequenzeinstellungen enstprechend angepasst und nFFS Pin auf high ? Meine Bestellung der Module hat etwa 1,5 Wochen gedauert (es war allerdings über Ostern, Dienstags nach Ostern ging das Paket sofort raus.) Bei mir ist es auch so, dass es generell 2 Tage bei einem Pollin Paket dauert, bis es ankommt. Also keine Angst: es kommt noch.
Ich habe den Code so angepasst: - Den Quarztakt auf #define F_CPU 7372800UL - Am Sender das Empfangen auskommentiert - Am Empfänger das Senden auskommentiert - Ich verwende zwei ATMEGA32 - nFFS liegt über einen 4,7k Widerstand auf high Senden geht an beiden Modulen, empfangen an keinem von beiden.
Die Preise hab ich erfahren, als ich versucht habe ob man von denen vielleicht Samples erhält, falls jemand die Preise braucht schickt mir einfach eine mail. Die Bezahlung erfolgt über PayPal und die Versandkosten sind ca 33 USD. Wieviel noch an Zoll und Wechselgebüren dazu kommt weis ich noch nicht aber in einer Woche kann ich euch mehr dazu sagen... Der kaufmännisch (teilweise auch technische) Support ist klasse und ich hab (wenn ich innerhalb der "Geschäftszeiten" also in der Früh schrieb) nie lange auf eine Antwort warten müssen. Könntet Ihr eure Schaltpläne oder Layouts vielleicht hier oder in nem neuen Thread veröffentlichen? Hat schon jemand das Layout von den PCB-Antennen von http://www.integration.com/ ausprobiert? Bringen die eine bessere Qualität als die Drahtantenne?
Ich hatte heute früh überlegt mir mal diese Back IFA Antenne zu ätzen, aber: - Ich finde nirgends die Abmessungen für 433MHz - Man muss die Antennenanpassung vom Modul ablöten. Ich hatte keine Lust mein Modul zu zerstören.
Warum nehmt ihr nicht den Takt von dem Modul für den Atmel? Das bietet sich doch an. Nur mal so als Tipp an die Layouter ;)
Auf meinem Board habe ich das so geroutet. Ich werde den Takt auspropieren auch wenn im Errata des IA4320 davon abgeraten wird. Die Hoffnung besteht ja das es sich um einen IA4321 Clone handelt. Gruß Hagen
@Benedikt: normale 1/4 Antennen bringen nach der großen Dipol-Schleifen Antenne die beste Leistung. Wenn alles bei mir läuft werde ich wohl eine Helixantenne benutzen. Gruß Hagen
Christian Wimmer wrote: > Hat schon jemand das Layout von den PCB-Antennen von > http://www.integration.com/ ausprobiert? Bringen die > eine bessere Qualität als die Drahtantenne? Nein. 1. Platinenmaterial hat grundsätzlich Verluste, die die Güte der Antenne beeinträchtigen. Durch den Einsatz von Teflon-Leiterplatten könnte man das verhindern, eine Drahtschleife oder Wendelantenne im Kunststoff-Gehäuse ist da sicherlich der deutlich geringere Aufwand. Vorallem kostenmässig. 2. Platinenantennen machen nur Sinn, wenn möglichst klein gebaut werden soll, damit ist die Antenne aber sehr dicht an der restlichen Elektrik dran, ein Teil der Sendeenergie geht dadurch schlicht nach Gerätemasse weg. Das Layout ist daher als solches kritisch und ändert sich mit dem verwendeten Platinenmaterial. Die technisch beste Lösung ist eine 1/4-Wellen-Groundplane, als zweitbeste Lösung nehme man eine sauber in Resonanz abgestimmte Wendelantenne. Man kann hier dann auch gleich versilberten Draht nehmen, bei einer Platinenantenne müsste man die Leiterplatte versilbern, um die Verluste etwas zu reduzieren. Gruss Jadeclaw.
@jadeclaw und an alle anderen HF Spezialisten: Wie ist das eigentlich, eine 1/4 Lambda Antenne braucht ja theoretisch eine unendlich große Grundplatte. Das Modul ist aber winzig klein, sogar kleiner als 1/4 Lambda. Vielleicht könnte mal jemand erklären, was man am besten für eine Antenne an dieses Modul bauen könnte (also quasi eine kleine Bauanleitung), und zwar für folgende Fälle: - Möglichst hohe Reichweite (d.h. kleine Richtantenne, oder zumindest mal eine die max 180° und nicht 360° wie es eine 1/4 Lambda Antenne macht, abdeckt). - Möglichst klein (für den Einbau in ein Gehäuse) - Möglichst einfach.
Als richtantenne könnte man eine HB9CV nehmen http://home.worldonline.nl/~moertje/jota/hb9-70cm.jpg Gewinn 5 dBD Länge 337 mm Breite 90 mm 73
Hallo zusammen, wie wärs denn mal mit ner Quad Antenne oder bi Quad http://www.vallstedt-networks.de/?Fotogalerien/quad2 wär bei 433mhz dann aber nicht mehr ganz so klein. gruss sven
Dipol bzw. Schlaufenantenne soll bei 433MHz das beste Resultat liefern. Also 70 cm Draht als Schlaufe 32cm breit, an den Kanten 3 cm und unten in der Mitte die beiden Anschlüsse an das RFM12 Modul. Allerdings muß man die Antennenanpassung auf dem Modul auslöten ;( Deshalb wird es wohl das Einfachste sein einen 16.5 bis 15.5 langen Draht senkrecht anzulöten. Der Draht wird dann Stück für Stück gekürzt bis Resonanz entsteht. Will man das verkürzen (kleinere Bauform) dann kann man eine Wendel-/Helixantenne benutzen. Das ist im Grunde die Drahtantenne als Luftspule. Allerdings ist deren Leistung schon schlechter und ich habe bisher im WEB keine konkreten Berechnungsformeln dafür gefunden. Im Attachment gibts ein Bespiel für so eine Wendelantenne. Gruß Hagen
Hagen Re wrote: > Deshalb wird es wohl das Einfachste sein einen 16.5 bis 15.5 langen > Draht senkrecht anzulöten. Der Draht wird dann Stück für Stück gekürzt > bis Resonanz entsteht. Wodurch kommt eigentlich die Länge von 15,5cm zustande ? c / 433MHz = 70cm -> 17,5cm Bei der Schlaufenantenne müsste man also einfach die komplette Anpassung entfernen, die Drahtschlaufe anlöten, und in deren Mitte eine Anzapfung an die 5V legen, da es eine Gegentaktendstufe ist ?
ich würde sagen die 16.5 bis 15.5 cm sind die wegen der Impedanzanpassung auf die 50 Ohm Weiters ergibt sich noch der Verkürzungsfaktor von 0,96 bei der Verwendung von Luft als Dielektrikum (im gegensatz zu Vakuum mit 1) 73
ich würd eine triple-leg aufbauen. btw: oha, verabschiedungen mit 73' .. da hamwer funker dabei :)
@Benedikt: ich bin genauso unbeleckt wie du in diesem Falle. Habe aber bei so einigen Funkmodulherstellern in deren AppNotes für 433MHz gesucht und einiges gefunden. 1.) Schlaufenantenne, Gesamtlänge 70cm, 32cm Breite, 3cm Höhe, im unteren Zweig zwei Anschlüsse direkt an das Modul. Keine Mittenanzapfung oder so und man sollte sie nicht als Rundantenne bauen (also ein Ring mit 70cm Umfang). Ich weiß nicht so recht ob die Bezeichnung "Dipol" noch richtig ist, früher hatte man das so genannt. 2.) Whip-Antenne, einfacher Draht senkrecht: sollte zwischen 15.5 und 17.5 cm maximal lang sein. Meistens werden 16.5cm empfohlen. Es gibt wie es Lai schon sagte einen Verkürzungsfaktor, deswegen fast nie 17.5 cm. Die Groundplane wird manchmal als wichtig und manchmal als unwichtiger beschrieben. Eine "echte" Groundplane gibts bei solchen Modulen sowieso nie. Expermimentell wird man mit 17.5 cm anfangen und schrittweise die Antenne solange kürzen bis die optimale Leistung erzielt wird. Das stelle ich mir mit Hobby-Equipment ziemlich schwierig vor, scheint aber schon praktisch durchgeführt worden zu sein. Also Antenne kürzen, Reichweite direkt ermitteln und Vorgang wiederholen. Naja, da würde ich gleich mit 16.5cm zufrieden sein ;) 3.) Wendel/Helix Antennen: darüber habe ich wenig konkrete Informationen gefunden. Interessant ist das das Material für diese Wendel wohl wichtig ist. Oft wird Silber erwähnt. Ich habe 2-3 fertige Dimensionierungen für 433MHz gefunden (siehe oben im PDF) und damit werde ich wohl auch arbeiten. Die Helix hat das beste "Preis-Leistungs-Platz-Hobby" Verhältnis. 4.) Plantinenantennen: da findet man einige konkrete Beispiele bei den einschlägigen Herstellern sammt Dimensionierung der Impedanzanpassung. Aus meiner Sicht irrelevant da diese Art der Antennen meistens nicht weniger Platz als eine Wendelantenne verbrauchen dafür aber exakter und besser abgestimmt sein müssen. Man kann also mehr falsch machen und erreicht längst nicht die Leistung einer Wendel/Whip Antenne. Zudem muß man sehr wahrscheinlich die RFM12 Platine umlöten und zusätzliche Imedanzanpassungen machen. 5.) das Modul auf 900Mhz umbauen. Dies wäre noch die interesanteste Alternative wenn es zulässig wäre. Von den Meßergebnisse beim IA4320 ausgehend dürfte das die beste Leistung und kleinste Antennengröße abgeben. Gruß Hagen
Hagen Re wrote: > 1.) Schlaufenantenne, Gesamtlänge 70cm, 32cm Breite, 3cm Höhe, im > unteren Zweig zwei Anschlüsse direkt an das Modul. Keine Mittenanzapfung > oder so und man sollte sie nicht als Rundantenne bauen (also ein Ring > mit 70cm Umfang). Ich weiß nicht so recht ob die Bezeichnung "Dipol" > noch richtig ist, früher hatte man das so genannt. Bei dem Sendemodul handelt es ich aber um Open Collector Ausgänge, wenn ich das richtig gesehen habe (auf Seite 5 im RF02 Datenblatt ist genau solch eine Antenne abgebildet), daher die Mittelanzapfung. Die Helixantenne wird bei billigen Sendern meist auch aus normalem Kupferdraht gemacht. Wie gut die dann ist, weiß ich nicht. Ich vermute, diese hat auch eine andere Impedanz als die normale Lambda/4 Antenne: Ich habe einen Sender bei dem ich die orginale Helixantenne durch ein 16cm Drahtstück ersetzt habe, mit dem Ergebnis, dass die Reichweite schlechter wurde.
Hallo, ´tschuldigung, daß ich nachfrage: bei einer Helix muß der Draht, bevor er gewendelt wird, wie lang sein? Lambda oder Lambda/2 oder nichts von dem?
Das was ihr als Helix bezeichnet ist eigentlich eine Spulenantenne http://de.wikipedia.org/wiki/Gummiwurst Eine Helixantenne ist eine Richtantenne mit einer Zirkularenpolarisation http://de.wikipedia.org/wiki/Wendelantenne Eine Helixantenne ist für 70cm ein ganz schön großes Ding: http://www.jrmiller.demon.co.uk/products/hlx70.html 73
Wenn ich mir die Beschreibung auf der Herstellerseite ansehe, habe ich irgendwie das Gefühl, dass die Module von Haus aus auch 868 MHz können sollten. Müsste man mal versuchen, das einzustellen.
Ja, die Module können alle 315, 433, 868 und 915MHz. Man muss dazu lediglich 3 Kondensatoren und 4 Spulen austauschen. Oder die Antennenanpassung entfernen und direkt eine entsprechende Antenne anschließen.
Hallo zusammen, wollte auch mal wieder was beitragen - im Anhang eine Eagle-Lib für das RFM12-Modul. Vielleicht kann sie ja irgendwer gebrauchen ;-) Gruß, Thomas PS: Hat vielleicht irgendwer schon ein Programm zum Bidirektionalen Senden/Empfangen geschrieben (mit CRC und Rückmeldung zum erfolgreichen Empfang der Daten?
Hi, gerade sind meine Module von Pollin gekommen ;-) Die sind ja kleiner als gedacht :-P Nun zu meiner Frage, wie habt Ihr die mit dem µC verbunden ? Ich wollte eigentlich zwei Stiftleisten setzen und das Modul dazwischen schieben, sozusagen als Sockelersatz ;-) Allerdings Frage ich mich wo ich solche Stiftleisten bekomme, denn das ist weder 1,27 noch 2,54 Raster :-/ Muß ich da jetzt im Layout einzelne Stifte setzen ? Danke für jeden Tipp ;-)
Das sind 2mm. Gibt es glaube ich bei Reichelt. Da aber nur 6 Drähte reichen, kann man die auch über Kabel anschließen.
Ich hab das Modul auf Lochraster gepackt: Kupferseite nach oben, normale 2,54er Stiftleisten am Rand einlöten, Mitte mit Klebeband isolieren, Modul mit dünnen Drähten an die Stiftleisten anschließen. http://img158.imageshack.us/img158/5593/rfm12bondingxe3.jpg Das Schreiben der Einstellungen in das Modul scheint mit dem Programm von Benedikt K. zu funktionieren, ich kann z.B. die Taktleitung einstellen. Aber ich bekam erst keine Daten auf SDO zurück, daher blieb die Senderoutine auch immer bei Warten auf SDO hängen. Ich hab dann lange rumprobiert, und mit einem 10k Pullup an nFFS läuft es nun einwandfrei... da reicht wohl der interne 133k Pullup nicht aus.
Uwe ... wrote: > Ich hab dann > lange rumprobiert, und mit einem 10k Pullup an nFFS läuft es nun > einwandfrei... da reicht wohl der interne 133k Pullup nicht aus. Ich zitiere mich mal selber (aus dem Thread in der Codesammlung): Benedikt K. wrote: > Der FSK/DATA/nFFS Pin muss über einen Pullup (z.B. 1-10k) an VDD gelegt > werden, damit alles richtig funktioniert. Ich hatte diese Erfahrung nämlich auch schon gemacht, dass ohne den Pullup nichts geht, und es daher extra dazugeschrieben...
Hi! Ich hätte da mal eine Zwischenfrage: nach kurzem Durchschauen der Datenblätter bin ich mir nicht sicher, ob man die aktuell empfangene Signalstärke vom Controller irgendwie auslesen kann. Also nicht nur gut/schlecht, sondern einen möglichst genau aufgelösten Wert. Zur Not ginge es wohl auch mit dem analogen Signalstärkeausgang, aber das wird vermutlich nicht allzu genau sein. MfG Andreas
Digital scheint das nicht zu gehen, sondern nur an einem Kondensator auf der Platine als Spannung (0,3-1V).
aha...mit dem ADC des AVR wäre das dann ja auch auswertbar. Ist nur die Frage, wie sich die Ausgangsspannung verhält. Ich würde gerne auf diesem Wege die Entfernung des Senders vom Empfänger messen oder zumindest einschätzen. Oder ist das aussichtslos? MfG Andreas
Hallo Benedikt, Du scheinst ja schon sehr weit mit dem Modul gekommen zu sein. Meine sind noch unterwegs. ;-} Hast Du schonmal probiert, wie sich der aus den empfangenen Signalen wiedergewonnene Takt bei ausgeschaltetem FIFO in abhängigkeit vom Modulationsschema verhält? Also etwa NRZ oder Manchester oder ähnliches. Mir ist nur der Gedanke gekommen, das die Taktrückgewinnung ja irgendwie mal Flanken haben muss. Dann weiter was für ein Verfahren wohl verwendet wird. Konnte leider weder bei Hope noch bei Integration fündig werden. Gruss Michael
Ich arbeite eigentlich nur mit dem FIFO, da dies einiges an CPU Leistung spart, und die Daten schon richtig schön angeordnet sind. Wieviele 0en oder 1en man an einem Stück übertragen kann, ohne dass die Synchronisation verloren geht, habe ich noch nicht ausprobiert. Bisher habe ich nur Testdaten (z.B. die Zahlen von 0-255, oder Texte übertragen). Dies ging aber immer problemlos, wenn Fehler drin waren, dann waren einzelne Bits gekippt, aber ich hatte den Fall noch nie, dass Bits sich verschoben haben. Meiner Meinung nach, braucht man sowas wie Manchester nicht, solange man nicht sehr viele 0en oder 1en am Stück überträgt. Was bestimmt auch gut funktioniert: Der synchrone UART Modus. Aufgrund von Start/Stopbit sind in jedem Byte auf jedenfall Pegeländerungen vorhanden, und der Overhead beträgt nur 20% (im Gegensatz zu den 100% bei Manchester). Dazu müsse man Sender und Empfänger auf den Betrieb ohne FIFO einstellen, den AVR auf den UART im synchronen Modus, Slave. Der Takt ist dann jeweils der Bittakt vom Modul.
Hallo Benedikt, aha. Danke. Darf ich noch fragen was für eine Antenne Du benutzt? Gruss Michael
So, meine Module unterhalten sich! Reichweite etwa 100m, aus dem Haus raus und dann fast freie Sicht die Straße entlang. Aus dem Haus raus und durch das große Nachbarhaus durch bleiben noch etwa 80m. Vielen Dank an Benedikt K. für den Code!
@ Benedikt K.: > Was bestimmt auch gut funktioniert: Der synchrone UART Modus. Aufgrund > von Start/Stopbit sind in jedem Byte auf jedenfall Pegeländerungen > vorhanden Synchrone serielle Übertragung funktioniert ohne Start/Stopbits. Für ein Byte werden ganau 8 Bits übertragen. Wenn keine Nutzdaten zu übertragen sind, wird ein spezielles Zeichen - SYNC - gesendet, um die Synchronisation zu erhalten.
Woher hast du diese Informationen ? Ich habe den synchronene Modus noch nie verwendet, aber da es im Datenblatt keine genauere Beschreibung des synchronen Modus gibt, gehe ich davon aus, dass diese Modus genauso funktioniert wie der asynchrone, nur dass es eben noch einen Takt gibt. Ansonsten würde doch bestimmt beim Start und Stopbit dabei stehen, dass diese Einstellungen nur im asynchronen Modus gültig sind.
@ Benedikt K. Aus einem Datenblatt von einem Z80-SIO-Baustein vor zig Jahren. Der Witz von Synchronübertragung ist, daß die Netto-Datenrate höher ist, als bei Asynchronübertagung - sonst bräuchte man sie nicht.
Ich denke nicht, dass das beim AVR genauso ist: Ich habe mal schnell den Z80-SIO überflogen: Die ankommenden Daten werden mit einem einstellbaren Sync Word verglichen. Das ist beim AVR nicht möglich, also muss der Modus anderst funktionieren.
Der AVR-USART kann im synchronen Modus als SPI-ähnliche Schnittstelle genutzt werden. Der Takt liegt dann auf einem weiteren PIN an.
Aus dem Datenblatt des ATMega162 [quote] When synchronous mode is used (UMSEL = 1), the XCK pin will be used as either clock input (Slave) or clock output (Master). The dependency between the clock edges and data sampling or data change is the same. The basic principle is that data input (on RxD) is sampled at the opposite XCK clock edge of the edge the data output (TxD) is changed. [/quote]
Genau. Wenn man sich jetzt dieses Diagramm anschaut, dann arbeitet der UART im synchronen Master Modus genau wie im Asynchronen Modus, nur dass zusätzlich noch der Bittakt an XCK ausgegeben wird. Wenn das nicht so wäre, dann würde der SPI Modus des UART beim mega48 keinen Sinn machen.
Ich glaube die chip ist einer 4420 nicht 4421 , die spannung passt mit 4420 http://www.integration.com/products/wireless_selector.shtml Ich kaufe vielleicht ein paar RF12 module von Pollin , aber ich wollte gern mit im einer sammelbestellung von HOPE , ob ich darf. mfg Bingo aus Dänemark mikrocontroller.AT.luna.kyed.com
Hier ist beschrieben, wie Synchronübertragung funktioniert: http://einstein.informatik.uni-oldenburg.de/rechnernetze/synchron1.htm Start- und Stopbits sind nicht notwendig, da die der zeichenweisen Synchronisation dienen. Die Übertragungsrate ist also deutlich höher bei gleichem Takt, als bei Asynchronübertragung. Es würde mich doch wundern, wenn der AVR-USART sich da anders verhielte. Siehe auch http://de.wikipedia.org/wiki/Usart
Ich denke nicht, dass der AVR die ganzen Synchronisierungssignale erzeugt. Das würde doch eine Bytweise Übertragung garnicht erlauben, oder ? Ich probiere er heute abend einfach mal aus, dann brauchen wir nicht länger rätseln.
Hallo, ich wollte mal fragen wie das mit dem Sendercode aussieht, wenn ich nicht den IRQ vom Modul abwarte, sondern einfach in einem Timer-IRQ ca. 66ms warte ? Den Timer brauche ich wegen Tastenentprellung sowieso ;-) Mit 66ms wäre ich doch sicherlich auf der sicheren Seite ? Oder ist der Funk-IRQ zwingend notwendig ? Danke ;-) Zum Verständnis ich würde Benedikts Code dann so abwandeln:
1 | void rf02_txdata(unsigned char *data, unsigned char number) |
2 | { unsigned char i,j,wert; |
3 | wert=0xC6; |
4 | cbi(RF_PORT, CS); |
5 | for (i=0; i<8; i++) |
6 | { if (wert&128) |
7 | sbi(RF_PORT, SDI); |
8 | else
|
9 | cbi(RF_PORT, SDI); |
10 | sbi(RF_PORT, SCK); |
11 | wert<<=1; |
12 | _delay_us(0.2); |
13 | cbi(RF_PORT, SCK); |
14 | }
|
15 | rf02_shiftout(0xAA); |
16 | rf02_shiftout(0xAA); |
17 | rf02_shiftout(0xAA); |
18 | rf02_shiftout(0x2D); |
19 | rf02_shiftout(0xD4); |
20 | for (i=0; i<number; i++) |
21 | rf02_shiftout(*data++); |
22 | sbi(RF_PORT, CS); |
23 | }
|
Und den TX-Off dann in die Timer-IRQ Routine verlegen ;-) Klappt das oder habe ich da einen Denkfehler drin ?
>Ich glaube die chip ist einer 4420 nicht 4421 , die spannung passt mit >4420 Und ich meine es ist ein 4421. Die Spannungsangaben passen nämlich exakt überein, einfach mal im Datenblatt nach absolute Rating schauen. Ein zweites Indiz ist das Kommando "Synchron Pattern Command" wird nämlich auch im RF12 Datenblatt beschrieben. Dieses Kommando wird vom 4420 aber nicht unterstützt. Das gleiche gilt für das "PLL Setting Command" Gruß Hagen
Hier mal das Timing des synchronen UART modes: Genau wie ich vermutet hatte, funktioniert der UART wie im asynchronen Modus, nur dass zusätzlich eben der Bittakt übertragen wird. Start und Stop Bit sind also vorhanden ! Übertragen habe ich 0xAA und 0xFF. Beim zweiten sieht man daher nur das Startbit. Interessant ist, dass der Takt dauerhaft vorhanden ist. Im Slave Mode sollte dies kein Problem sein, wenn man das Funkmodul einschaltet ehe man den UART einschaltet. Im Prinzip kann man den AVR UART also auch für das Funkmodul verwenden, wenn man dieses ohne FIFO verwendet.
Woraus schließt Du das? Wie war den der USART eingestellt? Anzahl Startbits? Oder kann man das beim AVR nicht einstellen? Wie erklärst Du Dir die große Lücke zwischen dem 0xAA und dem 0xFF? Leider ist Zeitbasis nicht sehr gut an die Taktfrequenz angepaßt - da kann man eigentlich nur schätzen, was passiert.
Uhu Uhuhu wrote: > Woraus schließt Du das? Aus dem Datenblatt, meinen Vermutungen und dem Timing: Es passt alles zueinander. > Wie war den der USART eingestellt? Anzahl Startbits? Oder kann man das > beim AVR nicht einstellen? Der USART wurde einfach eingeschaltet, Standardeinstellungen, also 8N1, nur zusätzlich noch das synchron-Modus Bit gesetzt. > Wie erklärst Du Dir die große Lücke zwischen dem 0xAA und dem 0xFF? Ich habe eine Pause eingebaut, damit man die einzelnen Bytes besser unterscheiden kann. Nur so kann man erkennen, dass der Takt immer läuft. Wenn ich 0xAA dauerhaft sende, dann sehe ich auf der Datenleitung die halbe Frequenz wie auf der Taktleitung, da die Bits immer abwechselnd 1 und 0 sind. Glaube es mir doch einfach: Der synchrone Modus überträgt die selbe Daten wie der asynchrone Modus, nur dass eben zusätzlich noch der Takt übertragen wird. Wenn man nur die Daten abgreifen würde, könnte man diese problemlos mit jedem anderen asynchronen UART empfangen.
> Der synchrone Modus überträgt die selbe Daten wie der asynchrone Modus
Na ja, das sollte man auch erwarten.
Allerdings frage ich mich, was der Synchronmodus mit Start-/Stopbits
eigentlich für einen Nutzen bringt.
Ich würde jeweils 1000 Zeichen synchron und asynchron und ohne Pausen
ausgeben und die Zeit messen.
Uhu Uhuhu wrote: > Allerdings frage ich mich, was der Synchronmodus mit Start-/Stopbits > eigentlich für einen Nutzen bringt. Sie signalisieren Beginn und Ende eines Bytes... Ja, eigentlich ist zumindest das Stopbit überflüssig, aber anscheinend ist der synchrone Modus nur ein Zusatzfeature, dass sich leicht einbauen lies: Daszu musste lediglich der Takt auf extrem umschaltbar gemacht werden. Da normalerweise der 16x Takt benötigt wird, um das asynchrone Signal zu synchronisieren, hat man so die Möglichkeit mit dem 4x Takt auszukommen. Immerhin ist damit die 4x Geschwindigkeit notwendig. Und noch ein Vorteil hat das ganze: Man braucht keinen Baudratenquarz, man kann jede noch so krumme Baudrate verwenden.
Hallo! Bin recht neu hier und habe ein paar Fragen zu diesem Funkmodul! Ist dieses Funkmodul dazu geeignet, serielle Daten per Funk zu übertragen? Ich möchte damit nämlich eine Relaiskarte betreiben. Was benötigt man noch, außer des Moduls um das zu realisieren? Thx, Oli
Oliver Appel wrote: > Ist dieses Funkmodul dazu geeignet, serielle Daten per Funk zu > übertragen? Ja > Was benötigt man noch, außer des Moduls um das zu realisieren? Einen Mikrocontroller der das Modul ansteuert.
Okay. Dann werd ich mich mal mit der Thematik weiter beschäftigen und den Beitrag hier mal im Auge behalten. Leider habe ich nicht besonders viel Ahnung von Controllern, dafür aber in C. Danke für die Antwort
ich finde die Module auch sehr interessant und habe heute mal Kontakt mit der Firma in China aufgenommen. Wie "Christian Wimmer " schon geschrieben hat kostet ein RFM12 2,50 USD. Die Versandkosten sind mit 50 USD angegeben und eine Gebühr von 30 USD für Paybal wird auch noch verlangt. Mit den 30 USD kommt man da nicht hin. Die Lieferzeit liegt bei 2 bis 3 Wochen. Mit der richtigen Stückzahl bei einer Bestellung kann man mit allen Kosten einen Preis von 2,50 EUR bis 3,00 EUR erziehlen. Gruss Steffen
Wenn ich die 2,5USD umrechne, sind das 2,3€ inkl Zoll und MwSt. Dazu kommen dann die 70€. Für die 2,5€ müsste man also mindestens 350Stk bestellen und für 3€ mindestens 100Stk wenn ich mich nicht verrechnet habe.
Ab 7-8 Stück die man bei Pollin bestellt kann man auch in China anfangen zu Bestellen. s. anhang
@Benedikt: fast richtig. die 70 EUR sind 70 USD. Sonst habe ich den gleichen Preis raus. Ich denke mal, das meine Bestellung noch diese Woche raus geht.
@ jonny Schon mal was von MwSt und Zoll gehört ??? Davon abgesehen, habe ich bei Pollin noch nie Nachnahme und Versandkosten bezahlt. @Steffen H. Ich hätte interesse an ein paar Modulen, sagen wir mal mindestens 10Stk.
ich? klar^^ mir ging es auch nicht um die stückzahl um bei 3 € zu landen sonderm um einen vergleich zwischen pollin und china. Zoll und MwSt muss bei meiner rechnung bei der Cina angba noch drauf das stimmt :) jonny p.s. ich änder das mal eben xD
>> Davon abgesehen, habe ich bei Pollin noch nie Nachnahme und >> Versandkosten bezahlt. mhh, ich leider immer :) naja vergiss meine rechnung -.-
@Steffen H. Ähm wie was? Du bestellst in China? Wenn ja, wieso machst du denn keine Sammelbestellung? Das wäre schon seeehr interessant. Je nach Preis könnte ich schon einige Stück brauchen (beim Preis von Pollin würde ich mir 4 oder 5 Stück bestellen, beim halben Preis natürlich doppelt so viel).
An ner Sammelbestellung hätte ich auch Interesse und außerdem führen die auch eine Version mit direkter RS232 Unterstützung ;)
ja, ne Sammelbestellung könnte man daraus auch machen, denn ich habe in meinen Bekanntenkreis schon 63 Stück (868MHz) auf Vorbestellung. Ich dachte so an 150 Stück. Bei den 434 MHz würde ich 100 Stück bestellen.
Ich bilde mir ein mal wo gelesen zu haben, dass man in Österreich Geräte mit 868MHz nicht betreiben darf. Deswegen würde ich 434MHz bevorzugen. Ansteuerung über RS232 gibt es auch? Also nur Daten rein und am anderen Modul wieder raus? Klingt ja auch nicht schlecht. Steffen H.: Bestellst du also so oder so 100 Stück von den 434 Mhz Modulen? Dann könntest du die Module sobald du sie hast um einen fixen und gesicherten Preis verkaufen. Würd ich ja persönlich am besten finden.
ja, ich gebe den Preis einfach weiter. Angefragt habe ich 434MHz und 868MHz ohne die RS232 weil es bei diesen Modulen ein Problem mit der Einfuhr gibt. Die benötigen eine Zulassung. Ein Modul ohne Prozessor ( eigene Intelligenz ) sind einfach Bestückte Leiterplatten. Gruss Steffen
Aha super! Und das sind dann genau die ganz gleichen Module wie bei Pollin? http://www.pollin.de/shop/shop.php?cf=detail.php&pg=NQ==&a=MDU5OTgxOTk=
@ Steffen H.: Also für 5,- Euro für ein RFM12-Modul würde ich noch sechs Stück nehmen ;-) Bei 3,- Euro auch zehn :-P Stellst Du dann die Module in den Markt hier oder gibst Du eine Kontaktadresse an ?
ich werde im "Markt" Bescheid geben, wenn die Module eingetroffen sind. Dann kann sich jeder bei mir melden, der Interesse hat. Der Preis wird so um die 2,50 EUR sein. Gruss Steffen
interesse an 10 stück rmf12 434 MHz - falls Du eine Sammelbestellung machst, kannst Du ja einen neuen thread aufmachen, bzw. deine e-mail angeben, um die informationen in diesem thread nicht zu verdünnen..
Also um 2,50 Euro nehm ich fix 10 stück rmf12 434 MHz! Hoffentlich sind dann 100 Stück insgesamt nicht zu wenig!?
habe jetzt im Markt einen neuen Thread aufgemacht um diesen Thread etwas
zu entlasten.
@Thomas Kropf :
>Hoffentlich sind dann 100 Stück insgesamt nicht zu wenig!?
Das ist für mich erstmal ein Testkauf, denn die Firma kenne ich noch
nicht. Die Vorfinanzierung ist nicht unerheblich.
Gruss
Steffen
434 vs. 868 Wie unterscheiden sich eigentlich die beiden Bänder? Hat die größere Wellenlänge eine größere Reichweite? 868 ist in http://www.bundesnetzagentur.de/enid/a2.html nicht besonders ausdrücklich als ISM beschrieben, gute Quellen habe ich noch nicht gefunden. Die Antenne wird damit aber kürzer.. Läßt sich mit den Modulen eigentlich auch analog funken, bzw. 8Bit/8kHz/mono digital übertragen? Das wären dann allerdings 64kbit/s..mhh.
Ist das so ein großes Problem, das ihr 10 HM-TR433/232 für mich mit bestellt? Sonst bräuchte ich nämlich ewig viel Hilfe, das mit dem RMF12 zu realisieren
Ich würde vorschlagen mal im Wiki einen Artikel für ein einheitliches Basisboard mit AVR anzulegen...
hat schonmal jemand versucht so ein modul per parallel port oder rs232 port an den PC an zu schließen (ohne viel Zusatzbeschaltung dazwischen)?
Hab mal versucht ein paar Dinge aus dem Thread hier zu sammeln: http://www.mikrocontroller.net/articles/AVR_RMF12
Ich habe mir erlaubt das ganze mal ein wenig Informativer zu gestalten. Frage zum Basisboard: Was soll das machen ? Standalone RS232 <-> 433MHz <-> RS232 ? (bzw. I2C statt RS232.) Das ganze mit Fehlerkorrektur, Empfangsbestätigung usw ? Falls ja, wer kennt sich mit Fehlerkorrektur aus ? Ich kann allerhöchstens eine Fehlererkennung schreiben.
bei der Fehlerkorrektur bin ich gerade. Die Möglichkeiten wie ECC,RS,FEC usw. machen die ganze Sache etwas langsam. Ich Denke, das ich ein Protokoll mit einer Prüfsumme ( z.B. aller 16 Bytes eine CRC16 ) fahren werde, wo ein beschätigter Block nochmal angefordert wird. Die Blocklänge kann man ja noch anpassen.
Mein Erfahrungen waren bisher: Entweder kommen die Daten korrekt an, oder es kommt garnichts an. Allenfalls waren mal 1-2Bits pro 32Byte gekippt. Also eine einfache Fehlerkorrektur die ein paar wenige Bist wieder richten könnte, wäre nicht schlecht. (Falls sowas ohne viel Aufwand möglich ist, ich habe auf dem Gebiet leider absolut keine Ahnung.) Das Problem bei dem Anfordern von Daten ist, dass der Empfänger etwa 1ms braucht um zwischen Senden/Empfangen umzuschalten (was aber noch nicht heißt, dass der Empfänger dann auch direkt die 100%ige Empfangsleistung hat). Das macht das ganze halt relativ langsam. Zusätzlich halt noch das Timeout, falls der Sender auch diese Aufforderung nicht bekommt und die Anforderung nochmal geschickt werden muss. Die optimale Version würde sich automatisch an die Übertragungsbedingungen anpassen. Man müsste also beim Empfänger die Signalstärke abfragen (->ADC), und den Data Quality Detector und den Sender dann darüber informieren wie gut er ankommt. Der könnte dann die Datenrate oder die Sendeleistung anpassen. Oder aber die Frequenz wechseln. Ich denke in anbetracht der Kosten für diese Module (und der baldigen Verbreitung) kann man da ein wenig Arbeit investieren um alles aus den Modulen herauszuholen.
ja, wobei ich da noch einige Test dazu machen werde. Von anderen Funk-Transceivern kenne ich das so nicht. Bei der billigsten Fehlerkorrektur könnte man ja jedes Bit 3 mal senden und die Mehrheit siegt. Ist mal ein Anfang.
Wann ich meiner module kriegt , ich will diser probiere Hamming 7,4 http://michael.dipperstein.com/hamming/index.html Source http://michael.dipperstein.com/hamming/hamming-0.2.zip Hamming 12,8 sind mehr effektiv (overhead) , aber am einer 8-bit'er (AVR) ich glaube er ist langsamer (processing) , 7,4 passt im einer 8 bit register. /Bingo Dänemark
Benedikt K. wrote: > Ich habe mir erlaubt das ganze mal ein wenig Informativer zu gestalten. Gerne > Frage zum Basisboard: Was soll das machen ? > Standalone RS232 <-> 433MHz <-> RS232 ? (bzw. I2C statt RS232.) Das > ganze mit Fehlerkorrektur, Empfangsbestätigung usw ? > Falls ja, wer kennt sich mit Fehlerkorrektur aus ? Ich kann > allerhöchstens eine Fehlererkennung schreiben. Fehlerkorrektur auf jedenfall. Schnittstellen sind noch die Frage. Ich überlege ein multifunktionales Layout zu machen, dass man für RS232 <-> 433Mhz, USB <-> 433Mhz und/oder Aufsteckplatine mit µC + 433Mhz nutzen kann. Den Teil den man nicht benötigt (12Mhz Quarz für USB, etc) kann man beim Bestücken dann einfach weglassen. Damit könnte man günstig ein einheitliches kleines Board fertigen lassen, dass von viele Einsatzzwecke abdeckt. Die Frage ist noch, welcher Atmel am besten geeignet ist und wie stark miniaturisiert das ausfallen darf, damit niemand überfordert ist beim Bestücken. Mein Vorschlag wäre ein ATmega8 (alternativ ATmega48 - pinkompatibel) im TQFP32 Gehäuse. Den kann man mit Lötpaste und nem Heißluftfön aufbringen. Die Platine wäre dann nicht wesentlich größer als das RFM12 Modul. Andere Vorschläge?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.