Sehr schön, auch wenn ich mich recht früh gegen diese Module entschieden habe, verfolge ich diesen Thread gespannt weiter. Vielleicht kommt ja bald die passende Anwendung, bei der keine >150m Reichweite gefordert werden.
Druckbare Version
Sehr schön, auch wenn ich mich recht früh gegen diese Module entschieden habe, verfolge ich diesen Thread gespannt weiter. Vielleicht kommt ja bald die passende Anwendung, bei der keine >150m Reichweite gefordert werden.
So, das Modul spricht mit mir! Ich hatte erst Probleme, eine Rückmeldung zu bekommen. Beim Senden geht SDO auf high, wenn man das nächste Byte schreiben kann. Auf SDO tat sich aber nichts. Hab viel rumprobiert, und mit nem Pullup an nFFS ging es dann auf einmal.
Jetzt kann ich schon mal das Statusregister auslesen und bekomme logische Wert zurück:
RGIT=1 -->nächstes Byte kann gesendet werden
EXT=1 -->externer Interrupt ausgelöst (wenn man nINT auf low gezogen hat. Außerdem muss man den Pin als Interrupt einstellen, sonst wäre er VDI)
Nun muss aber endlich ne Empfangsstelle her...
Auf der Page von Integration http://www.integration.com/ scheinen die die gleichen Module nur als IC's zu vertreiben.
Zumindest die Dokumentation ist wesentlich besser.
Schaut euch mal das:
http://www.integration.com/docs/IA_MSC-UGSB1.pdf
Datasheet an.
Ist zwar für PIC aber in C geschrieben.
Ich hab endlich mein zweite Modul eingebaut. Und siehe da: Verbindung steht!
Ich verwende 15cm Draht als Antenne. Reichweite damit 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.
Meine Sendeschaltung:
Bild hier
Mega8, MAX232, RFM012, 7805. Diese Platine soll meine Funkstation am PC sein, um Daten mit meinen Robotern auszutauschen.
Ganz schön beachtlich, was so ein Billig-Teil schafft!!
jon
Guten Tag,
Habe da mal eine Frage ist es mit den Modulen auch möglich auf beiden Seiten Relais zu steuern?? so das man aus dem einen eine Fernbedinung macht die eine Rückmeldung vom empfänger bekommt und die Fernbedinung hat 2 Tasten für zb. auf und zu ist dies möglich und wenn ja wie realisiere ich so etwas ??? Ich muß zugeben ich habe von dieser Materie garkeine Ahnung.
Zitat:
Zitat von uwegw
Wie siehts aus, kannst du das ganze nicht etwas genauer in einem Artikel dokumentieren. Zum Beispiel mit Bascom Quellcode und Schaltbild?
Das wird sicher gehen.Zitat:
Habe da mal eine Frage ist es mit den Modulen auch möglich auf beiden Seiten Relais zu steuern
Du brauchst ja ohnehin eine Microcontroller um die Bausteine zum Senden zu bewegen.
Was spricht also dagegen vom gleichen Microcontroller ein Relais aus- und einschalten zu lassen ?
Ohne Controller nur mit dem Funkmodul wird es nicht funktionieren, da die Chips über SPI konfiguriert werden müssen.
Mag jetzt vieleicht etwas doof klingen, aber könnte mir jemand vieleicht per mail oder PM sagen wie man das ganze Handhabt. Wie gesagt habe von Funk 0 Ahnung und mein Funkspezi ist für 2 Wochen in Urlaub. Wäre sehr nett wenn mir da jemand weiterhelfen könnte.
MfG
Refi
Kann mir bitte jemand hier weiterhelfen ??? is für micht wirklich dringend
Du, so ab Mitte Mai hätte ich Zeit für neue Entwicklung, ist auch nicht so teuer ... also entweder findest Du über Deine Idee einen Einstieg in die Elektronik und uC-Programmierung - oder Du beauftragst so jemanden wie mich, es für Dich zu tun.
Dein Hilferuf wirkt eher abschreckend.
"... Relais zu steuern?? so das man aus dem einen eine Fernbedinung ..."
Das ist ein typischer Fall für Einkauf von Fertigmodulen bei Reichelt, Conrad, Westfalia und Co. ...
@Refizul
Die Funkmodule RFM 01(Empfänger), RFM 02(Sender) und RFM 12(Sender+Empfänger) werden durch eine sogenannte SPI Schnittstelle angesteuert.
Diese benötigt beim RFM 02- 5 Signale.
nSel = Wählt das RFM 02 aus
SDI = seriell data in = Serieller Dateneingang
SCK = seriell Clock = Taktung für die SDI Schnittstelle
nIRQ = interrupt Request = Interruptanfrage aus dem RFM 02
FSK = frequency shift keying = Modulationseingang
Beispiel RFM02:
Um den Chip zur Arbeit zu bewegen, müssen verschiedene interne Register des Chips, durch die SPI Schnittstelle (nSel, SDI, SCK) mit Werten vorbelegt werden.
Diese spielt man zweckmässigerweise mit einem Microcontroller in den Chip ein.
Der Microcontroller erzeugt dann auch das Bitmuster, das dann übertragen werden soll.
Der Microcontroller (ich werd da nen ATMEGA 8 verwenden) kann auch irgendwelche Gebereingänge abfragen und dann als Datenwort über den RFM 02 Chip übertragen.
An der Gegenstelle befindet sich wieder ein Funkempfänger (z.B. RFM 01) der dieses Signal aufnimmt, an den Microcontroller weitergibt, der dann an einem- mehreren seiner Ausgänge ein - mehrere Relais über eine Treiberstufe ansteuern kann.
Da Du das Spielchen ja in beiden Richtungen betreiben willst, kommt für Dich eigentlich nur der RFM 12 Chip in Frage.
Allerdings müssen dann die beiden Microcontroller ein Handshake aushandeln, wer denn nun Senden darf und wer Empfänger ist.
Darüber möchte ich mich aber jetzt nicht auslassen, das kannst Du ja mal bei Wikipedia nachlesen.
Ohne einen programmierbaren Microcontroller (oder einen anderen programmierbaren Baustein z.B. CPLD) wird dein Vorhaben schwierig bis unmöglich.
Wenn Du keine Möglichkeit hast so einen Microcontroller zu programmieren, solltest Du dich nach anderen, einfacher gestrickten Funkmodulen umschauen, die ohne vorherige Programmierung arbeiten.
Allerdings hast Du dann natürlich nicht die vielen Möglichkeiten, die diese Funkmodule bieten.
Möchtest Du trotz allem diese Funkmodule einsetzen würde ich Dir das Studium der verschiedenen Datenblätter für diese Module ans Herz legen, da sollten dann die meisten deiner Fragen zu klären sein.
Hallo Leute,
hab soeben die ersten Tests an meinem RFM 02 vorgenommen.
Zunächst noch ein paar Hints:
Wenn man den Taktausgang CLK des RFM 02 verwenden will, braucht man an diesem Pin einen Pull Up Widerstand, sonst kommt da nichts raus.
Der Port eignet sich auch gut dazu, um den Fehler des Quarzoszillators zu messen und die Lastkapazitäten des Quarzes richtig einzustellen.
Ich möchte den Port auch verwenden, um mir einen zusätzlichen Quarz für den Microcontroller zu sparen.
Den FSK Port des RFM hab ich vorerst mal auf den TXD Port des Microcontrollers gehängt, diesen aber nicht aktiviert und per Software auf "Low" geschaltet.
Bei mir hat folgende Initialisierungsreihenfolge geklappt:
1. Configuration Setting
2. Frequency Setting
3. Output Power Command
4. Data Rate Command (Ich lass den Chip über nIRQ laufen)
5. Low Batt + Sync Command
6. PLL Setting Command
7. Power Managment Command
Den Synthesizer (es) und den Power Amplifier (ea) schalte ich erst kurz vor dem Senden ein.
Meine Senderoutine läuft, wie schon geschrieben, im INT 0 des Microcontrollers ab. Dieser Interrupt wird über das nIRQ Signal des RFM02 gesteuert. Dadurch ist die Datenübertragungsgeschwindigkeit unabhängig vom Prozessortakt des µC.
Aktueller Stand:
Mein RFM 02 sendet was! Aus dem CLK Port kommen Impulse der eingestellten Frequenz. Auf dem nIRQ liegen Impulse für 2400Bit/s an. Der Controller sendet Bitmuster mit 2400Bit/s an den Eingang SDI des RFM 02.
Als nächstes versuch ich den Empfänger (RFM01) zum laufen zu bringen, dann kann ich erst sagen, ob die versendeten Daten auch richtig moduliert wurden.
Für die Frequenzeinstellung hab ich eine Tabelle berechnet, die für die Kanäle 1...69 des 433MHz Bandes die zugehörigen Tuningwörter vorgibt:
flash unsigned int ui_frequ[69]={1230,1240,1250,1260,1270,1280,1290,1300,1310,132 0,1330,1340,1350,1360,1370,1380,1390,1400,1410,142 0,1430,1440,1450,1460,1470,1480,1490,1500,1510,152 0,1530,1540,1550,1560,1570,1580,
1590,1600,1610,1620,1630,1640,1650,1660,1670,1680, 1690,1700,1710,1720,1730,1740,1750,1760,1770,1780, 1790,1800,1810,1820,1830,1840,1850,1860,1870,1880, 1890,1900,1910};
Der Frequenzbereich beginnt somit bei 433,075 MHz und endet bei 434,775MHz.
Die Tabelle macht ein 25kHz Kanalraster.
Die unteren Kanäle sollten bei großem Signalhub nicht genutzt werden, um nicht unter 433,050MHz mit dem unteren Seitenband zu kommen.
Ich hoffe meine Ergebnisse helfen euch bei eueren Entwicklungen weiter.
Hatte ich auch gedacht nur muß es Compact sein und ich brauch auf beiden seiten Relais und Sender und Empfänger. und so etwas gibt es leider nicht zu Kaufen.Zitat:
Zitat von vajk
Aber was ich da so lese Hilft mir schon etwas weiter. Jetzt muß ich nur noch Schlauer werden ^^
Ein Bascomcode der funktionieren soll ist auf http://www.mikrocontroller.net im Codebereich:
http://www.mikrocontroller.net/attac...23066/rf12.zip
Ich hab meine Funkstrecke zwischen einem RFM 01 und einem RFM 02 zum laufen gekriegt.
Heute hab ich mal die Kanaleinstellung geproggt.
Dabei hab ich festgestellt, das die AFC des Empfängers auch in der kleinsten Einstellung einen ziemlich weiten Fangbereich hat. +/- 2Kanäle lassen sich noch einwandfrei empfangen (25kHz Kanalraster).
Hat jemand von Euch noch eine Idee wie man den Fangbereich kleiner kriegt, ohne die AFC ganz abzuschalten ?
Die Reichweite meines Versuchsaufbaus beträgt ca. 140m im Freien bei 2400 b/sek .
Die Antennen sind noch nicht optimiert und die angeschlossenen Versorgungsdrähte noch ziemlich lang, da sollte noch mehr gehen.
Mit dem Code aus obiger Adresse gemacht, oder haste einen eigenen Bascom-Code?
Weder - Noch.Zitat:
Mit dem Code aus obiger Adresse gemacht, oder haste einen eigenen Bascom-Code?
Hab einen eigenen Code mit Codevision AVR in C geschrieben.
Moin!
Kann man den C-Code evtl kriegen? :-)
MfG Volker
@vklaffehn
Klar kann man den Code kriegen.
Du hast PN.
Wichtig:
Der Code ist aber nur für den privaten Gebrauch freigegeben - komerzielle Nutzung schließe ich ausdrücklich aus !
In den Routinen ist eine CRC Überwachung mit eingebaut.
Der Empfänger gibt nur fehlerfreie Frames an der seriellen Schnittstelle zum PC raus (38400,8,N,1).
Das Ende eines Frames wird durch ein <LF> (Line Feed) erkannt.
Die Sequenz -AA AA AA 2D D4- im Sender braucht der FiFo Puffer im Empfänger zur Synchronisation. Es darf im Sender nicht weggelassen werden ! Im Empfänger taucht die Sequenz aber nicht mehr auf !
Im Sender ist die Frequenzabstimmung noch nicht fertig. Ist vorerst auf 434.000 MHz fest eingestellt.
Der Empfänger lässt sich zur Zeit noch auf alle Kanäle des ISM Bandes einstellen.
Die AFC des Empfängers ist aber so breitbandig, das man nur jeden 3ten Kanal auch tatsächlich gleichzeitig nutzen kann.
Das lässt sich aber leicht durch ändern der Tabelle die in der Variable ui_frequ hinterlegt ist.
Vielleicht bringt es auch etwas, wenn man die Empfängerbandbreite etwas kleiner macht - hab ich aber noch nicht probiert.
Die Frequenzeinstellung der Empfängers wird über einen 6-poligen DIP-FIX Schalter an PORTC,0...5 vorgenommen.
Im Sender ist auch eine A/D Wandler Abfrage mit drin, das Ganze soll mal eine Telemetrie Übertragung werden wenns fertig ist.
2x Spannung, 2x Temperatur läuft schon. Drehzahl muss ich noch schreiben - ist vorerst mal fest auf 50.000 gesetzt.
Wenn mal alles fertig ist, werd ich die Routinen und Schaltpläne auf unserer Vereins- Homepage veröffentlichen.
Hallo könnte ich eventuell auch den Source haben?
Beste Grüße
A.Lehmann
@wkrug dafür gibt es ne lizens z.b. http://creativecommons.org/licenses/by-nc-sa/2.0/de/ die ich z.b. nutze.
Ich habe die EAGLE lib mal erweitert um die Dinger auch auf ner Buttomlayer Platine nutzen zu können.
http://www.grautier.com/grautier/ind....html#extended
Hey,
ich habe mir auch die Funkmodule geholt (RFM01 und RFM02),
gibt es hier jemanden der mir einen (wenn möglich kommentierten) einfachen Code für Bascom geben könnte ? Irgendwie komm ich mit dem DB garnicht klar...
Moin Moin,
ich hab das Datenblatt schon ein paar mal gelesen, doch einige Dinge verstehe
ich noch nicht.
Hier sind vier Punkte, deren Bedeutung mir nicht ganz klar ist.
Der Bergriff des PLL ist ungefähr klar, es geht mehr darum, wie der mit den
Kanälen zusammenhängt und was diese genau bedeuten.
-pll high resolution => multiple channel
-center frequency fo the sytheziser
-bandwith of the baseband signal path
-unterschied vom tx data register und dem fifo im buffered mode
und was da jew. für modi hinterstecken
Außerdem ist mir auch nicht klar, welche commands ich unbedingt brauche und welche nicht.
Denn so wie ich das sehe können mir Dinge wie Wakeup oder powermanagement erstmal egal sein.
Die Essenz meiner Fragen ist, dass ich kein Konzept habe, weil ich nicht sicher bin,
was es da alles für Modi´s gibt und mir dadurch der Zugang
zum Konstrukt dieses Systems fehlt.
Wenn mir da jemand helfen kann - Danke nä!?
The Man
Eine PLL in Deutsch phasenstarre Rückkopplung ist eine Schaltung um einen Oszillator auf eine gebene Eingansfrequenz abstimmen zu können.Zitat:
-pll high resolution => multiple channel
Wenn man nun den Ausgang des Oszillators, oder die Hilfsfrequenz über programmierbare Teiler führt erhält man einen digital abstimmbaren Oszillator.
In diesem Fall wird das zur Erzeugung der Trägerfrequenz benutzt.
Die Funkmodule arbeiten mit Frequenzmodulation.Zitat:
-center frequency fo the sytheziser
Das heisst bei einer "0" wird die Oszillatorfrequenz etwas nach unten gezogen, bei einer "1" etwas nach oben (kann man auch ungekehrt machen). Die Frequenz in der Mitte zwischen diesen beiden Punkten ist die "Center Frequency" bzw. Trägerfrequenz.
Das könnte 2 bedeutungen haben, je nach Kapitel.Zitat:
-bandwith of the baseband signal path
Zum einen könnte der Frequenzhub, also die maximale Verstimmung um die Trägerfrequenz herum gemeint sein (vermute ich mal).
Zum anderen könnte die maximale Übertragungsrate auf der seriellen Schnittstelle gemeint sein.
Das sind ja eigentlich zwei paar Stiefel.Zitat:
-unterschied vom tx data register und dem fifo im buffered mode
und was da jew. für modi hinterstecken
Das TX Data Register ist ein Register, das die zu sendenden Bytes bzw. Bits aufnimmt.
Der FiFo im Empfänger, ist ein Zwischenspeicher, der erstmal eine anzahl von Bits aufnimmt, bevor er eine Meldung (z.B. Interrupt) rausgibt, das er eine gewisse Anzahl von Bits (üblicherweise 8) empfangen hat.
Wenn der FiFo im Empfänger aktiviert ist, arbeitet der Chip im buffered Mode, weil da ja einzelen Bits zwischengespeichert also gepuffert werden.
Da du diese Frage in einem Zusammenhang gestellt hast, vermute ich mal, das Du einen RFM12 benutzen möchtest.
Hallo,
könnte ich den C-Code auch bekommen, bitte.
LG
Vajk
also erstmal Danke an wkrug für die detailierte Antwort!
Eines würde mir noch erheblich weiterhelfen und zwar wenn mir jemand
eine Liste der Commands posten könnte, die ich zum Bertrieb azf jeden Fall brauche. Und solche die sekundär sind wie wakeup oder powemanagement.
Danke
@vajk
Du hast PN!!
Würde mir auch weiterhelfen. Ich sitze schon die ganze Nacht an den 01/02 Modulen und das einzige was bisher läuft, ist das sich die 5 AFC Bits im Status des Empfängers beruhigen, wenn ich den Sender einschalte. Der Fifo füllt sich aber nicht. Soll ich meinen Code mal posten? Ist in Proton PICBasic.Zitat:
Zitat von The Man
Gruß Meik
Hat sich soeben erledigt. Läuft jetzt wie verrückt mit RFM01 und RFM02(Man sollte es kaum glauben, was ein einziges Bit alles ausmacht).
Die Reichweite habe ich noch nicht getestet. Mir sind da auch einige Bits noch nicht so ganz klar. Insbesondere vom RFM01 das al und das ml Bit. Ebenso die Auswirkungen der Einstellungen der AFC Registers. Da werde ich aus dem Datenblatt nicht so richtig schlau.
Hallo
Berichte deine Erfahrungen ruhig genauer.
Haben alle etwas davon.
Wieso leuft es jetzt und vorher nicht ?
MFG
Ja das wär nicht schlecht, denn die Informationen über diese Module sind ja recht rar.
Nun denn. Ich hatte beim Sendemodul im Config-Register die POR Werte aus dem Datenblatt eingetragen. Diese haben das Modul dazu veranlasst au 868 MHz zu Senden. Das konnte nicht gehen. Im Anhang habe ich ein kleines Programmpärchen für Sender/Empfänger im PicBasic Format. Ist noch Rohware, da ich am Wochenende erst wieder zum Basteln komme. Aber es läuft und überträgt den Text "Geht"Zitat:
Zitat von nikolaus10
Schade das es nicht Bascom ist :?
Naja ich guck mir den Code mal an und versuche daraus einen für Bascom zu machen (bin leider Anfänger ;-) ).
Jeder hat mal angefangen. Ich auch und da war ich noch jünger als du jetzt. Der PicBasic Dialekt ist aber garnicht so unterschiedlich zum Bascom Dialekt. Da hättest du mit einem C-Code mehr Probleme beim anpassen.
Jop da muss ich durch ;-)
Kennst du im Netz eine Seite wo die Befehle von PicBasic erklärt sind ?
Irgendwie finde ich nix und ich weiß nicht mal was das Symbol bedeuten soll :-(
Auf picbasic.org kann man sich eine Demo runterladen. In der Hilfe sind alle Befehle erklärt. Ein bisschen Englisch sollte man halt können.
Symbol bedeutet, daß ein Port.Pin mit einem Namen belegt wird, der anschlißend so im Prg. genutzt werden kann. Beispiel:
Symbol SDI = PORTB.7 bedeutet, daß wenn immer ich im Programm SDI benutze, eigentlich PORTB.7 da steht. Ist übersichtlicher.
Meik
Ich habe heute ein RFM12 Modul zum Senden bekommen. Was ich allerdings nicht hinbekomme, ist der Low Duty Cycle Modus der Empfängers(RFM01). Hat hier schon jemand Erfahrung über die Config und den Ablauf des Ganzen?
Meik
Habe was Nettes gefunden. Bei http://www.integration.com gibt es bei den
Design Resources zwei CD-Inhalte herunterzuladen, die gerappelt voll mit
Dokumentationen, Application Notes, Beispielprojekten mit Schaltbildern
und Layouts usw. sind. Der Hammer ist ein kleines Windows-Progrämmchen,
mit dem man Parameter wie Mittenfrequenz, Bandbreite usw. einstellt und
dann die passenden Hex-Werte für die Steuerregister angezeigt bekommt.
Das erspart die Bitfieselei mit dem Datenblatt.
Die dort beschriebenen ICs 4220/4320/4420 sind weitestgehend kompatibel
mit den RFxx, sodaß man prima damit arbeiten kann, zumal die
Dokumentation erheblich genauer und umfangreicher ist als bei Hope.
Man muß sich allerdings registrieren (kost nix), um an die Downloads zu
kommen, aber es lohnt sich. Ein wenig Geduld ist auch nötig, weil die
Seiten nicht sehr flott sind.
Deren ICs würden mir sogar für bestimmte Anwendungen besser gefallen,
weil die einen sog. Standalone-Modus haben, bei dem man sich nicht mit
der Programmierung rumprügeln muß, wenn man z.B. nur den Zustand von 4
Tasten zu übetragen hat - sind nur leider hier nicht zu bekommen.
Gruß, Klaus
Ich habe heute diesen Beitrag gefunden und feststellen müssen, dass bei der Suche nach RFM12, RF12 oder RF* der kombinierte Sender/Empfänger bei Pollin nicht mehr zu haben ist. Bin ich zu dumm oder ist der nicht mehr im Progamm?