So, alle Sendungen sind raus. Sollten innerhalt 4 Tagen bei euch sein.
Hallo Manuel, danke für den Brief, alles gut angekommen. Frage : Kannst Du für uns noch eine Bestückungsansicht der Boards mit der Bezeichnung der Bauteile auf die Projektseite stellen ? Es würde das Bestücken erleichtern und Flüchtigkeitsfehler vermeiden. Gruß Frank
Klar, wird gemacht. Was haltet ihr davon auf Sourceforge noch ein Projekt für die Software anzulegen? Hier auf mikrocontroller.net fehlt leider ein SVN Server.
Hat jetzt eigentlich schonmal jemand die Planarantenne von Digikey an einem RFM12 ausprobiert ? Mich würde vor allem interessieren, wie sich die Antene verhält, wenn hinter ihr eine bestückte Platine liegt. Laut Datenblatt muss die Platine unter der Antenne leer sein, was aber bei kleinen Geräten oftmals nicht möglich ist. Wie verhält sich die Antenne wenn man diese z.B. einfach an die Gehäusewand klebt, etwa 5-10mm von der bestückten Platine entfernt ? Einer Drahtantenne gefällt das garnicht, wenn sie parallel dicht an der Platine liegt. Die Reichweite beträgt je nach Ausrichtung nur noch 2-10m (frei mit 90° auf der Platine stehend: 20-100m !)
Hallo Benedikt Ich bin leider noch nicht dazu gekommen die Antenne zu testen. Ich warte noch auf Bauteile für mein Usb Funkmodul. LG Michael
Hallo Leute, ich eine platine aufgebaut getestet und auf externe Fusebits eingestellt und seitdem kann ich nicht mehr das programm in den µC reinprogrammieren. Im Anhang stelle ich das schaltplan. Ich benutze dazu das Funkmodul RFM12. Was habe ich bei den Schaltplan falsch gemacht bzw. darf ich mit isp schnittstelle so programmieren wenn der µC auf externe Quarz eingestellt ist und diese vom RFM12 zugegrifen wird. Kann mir jemand was dazu sagen? Danke! lg Timo
Hab meinen ATTiny2313 auch in der Kombination XTAL1 <-> CLK(RFM12) verschaltet und auf externe Clock gefused (alle CKSEL Programmed und den Clockdivider raus) ... ging nix mehr. Hab dann wieder auf die internen 8Mhz ohne divider umgeschaltet, dann war wieder alles ok. Ich frag mich aber eh wie das mit einem µC ohne Hard-SPI gehen soll wenn man dem RFM12 erstmal auf 10Mhz CLK bringen muss.
Sebastian Becker wrote: > Ich frag mich aber eh wie das mit einem µC ohne Hard-SPI gehen soll wenn > man dem RFM12 erstmal auf 10Mhz CLK bringen muss. Was hat das mit Hard- oder Soft-SPI zu tun? Im Einschaltzustand taktet das Modul den µC zunächst mit 1MHz, bis dieser den Befehl zum Hochschalten des Takts geschickt hat. Dann geht es mit 10MHz weiter.
Hallo, ich frag mich immernoch warum das nicht geht, kann mir da jemand weiterhelfen? ich sitze schon seit tagen dadran. Meine Fusebits einstellungen habe ich im Anhang eingefügt. Gruss, Timo
Hallo Timo, ist Ponyprog? AT m8 nur Haken in SUTO + CKOPT alle andern raus. ATTyny versuch mal mit zusätzlichen Haken bei CKSEL1 M8 funktioniert auf jeden Fall mit Takt vom Rfm 12 mit meiner Einstellung. Wigbert
Hallo Wigbert, ja ich benutze ponyprog. Ok dann probiere ich es mal aus deine Einstellungen. Danke!
Ich noch mal, unterbrech mal die Resetleitung zum rfm12. Haben wir nicht dran. Wigbert
Hallo, ich hab die Resetleitung unterbrochen aber leider tut sich immernoch nichts. Lg
Hallo Timo schau mal unter Beitrag "Re: Beispielprogramm für RFM12 433MHz Funk-Module" >Ist an nSEL vom Modul ein Pullup ? bau mal den Pullup ein. und melde dich wieder. Wigbert
Hallo Wigbert, ich habe jetzt das NSEL von µC abgelötet und stattdessen an einem pullup widerstand zu VCC verbunden jetzt kann ich reinprogrammieren bei ATMEGA 8.
Timo Nsel wieder ran und zusätzlich den Pullup. Kann es sein das Du ein L-Typ nutzt der nur bis 8 Mhz taktet. Deine Pinbelegung am m8 ist anders als bei mein P-Typ. Wigbert
>ich habe den ATMEGA8L-PU
Im DBL gibt es nur .....PI oder......PC
Bei SMD würden Deine Anschlüsse stimmen.
Taktet der m8L nicht nur mit 8Mhz. Ich nehm die Dinger nie.
Wenn der Takt ausfällt geht ja nichts mehr.
Würde mich interessieren was mit angeschlossenen Nsel und Pullup
passiert.
Evtl.Takteistellung am rfm12 runter nehmen.
Wigbert
Wenn der takt vom RFM12 kommt. Man kann auch einen L Type nehmen, dann ist sorge zu tragen das das RFM12 Modul nicht auf 10 MHz eingestellt ist sondern auf 5 oder 8MHz - siehe Datenblatt Clockteiler bei 1,25 oder 2 einstellen. Der Hardwareaufbau sollte gleich sein egal ob bei Normalen oder L type.
Hallo Test, mein Reden. man hätte sich einige Beiträge eventuell sparen können, wenn ich gefragt hätte: Taktet der RFM12 mit 10 MHZ? Nimmst Du einen Controller der mit 10 Mhz getaktet werden kann? Sorry, meine Schuld, die Schaltung lag ja aus. Wigbert
Ich meine mal irgendwo als offizielles Statement eines Atmel-Mitarbeiters gelesen zu haben, daß die normalen und die L-Typen aus exakt derselben Fertigungslinie kommen und auch nicht nach maximaler Taktfrequenz selektiert werden. Sie unterscheiden sich lediglich dadurch, für welche der beiden Spezifikationen sie getestet wurden, was aber nicht ausschließt, daß sie auch die jeweils andere Spec erfüllen. @Wigbert: Die Datenblätter erfahren gelegentlich mal Updates. Die Typen, die auf U enden sind RoHS-konform.
Hallo Zusammen, bei mir tut sich jetzt beim ATMEGA8. Bei meinem Attiny2313 kann ich immernoch nicht das programm reinladen.
Was tut sich? Hier geben sich so viele Mühe, dann lass uns am Erfolg teilhaben. Schaltet die RFM12 taktfrequenz hoch? Wo ist die Schaltung des ATtiny? Wigbert
Hallo, die schaltung von attiny2313 habe ich noch nicht gezeichnet aber es ist nicht anders als beim atmega8. Tut mir leid wegen so späte antworten, ich mache dieses parallel.
Also der ATtiny taktet bis 20 Mhz, ich nehme mal an der fehlende Pullup war der Fehler beim m8. Das leichte Übertakten müsste er vertragen. ATtiny: Läuft das Programm mit internen Takt? Schaltungsfehler ausgeschlossen? Wigbert
Ja das programm läuft mit internem takt aber sobald ich es auf externe schalte dann kann ich nicht das programm in attiny reinladen
Hallo, hier die Schaltung: da ich in Bibl. vom eagele keine attiny 2313 gefunden habe hatze ich jetzt andere pinbelegung. SDI MOSI SDO MISO SCK SCK NSEL PB4 CLK XTAL1
Auf den ersen Blick scheint die Schaltung ok. zu sein. Hast Du mal SUT0 den haken rausgenommen. Software richtigen Quarz declariert. Wigbert
Hallo Wigbert, ich hab den hacken rausgenommen im ponyprog. Den quarz habe ich im makefile auf 1Mhz eingesetzt. Ich kann das Programm nervigerweise noch nicht reinladen. Danke!
Wenn Du eimal auf externen Takt programmiert hast und kein Takt anliegt musst du den Controller zum Leben erwecken. Ist mir auch schon passiert. Mit internen Takt kriegst du den in der Schaltung immer wieder zum Laufen? Oder programmierst Du den woanders neu. Wigbert
ich noch mal, mein Testprogramm krieg ich im Tiny gar nicht rein. Was für ein Testprogramm nimmst Du. Wigbert
Hallo, mit internem takt kriege ich das programm zum laufen ja. Ich verwende einmal mein eigenes programm zum led ein und ausschalten unabhängig vom funkchipprogramm. Zweitens das Programm vom Bennedickt. lg
Ja bei mir läuft auch mit 8mhz intern, alerdings habe ich für sender atmega 8 und empfanger attiny2313.
Wenn im Code 8 Mhz eingestellt und mit intern 8 Mhz programmiert wurde, muss der Code funktionstüchtig laufen. Ich lass deshalb ein Port mit LED in der Schleife des Testcodes toggeln. Dann siehst Du ob die Schleife hängen bleibt Jetzt kann man verfolgen ob der Takt vom RFM12 von 1 Mhz auf 10 Mhz umschaltet. Resettaste drücken + Oszi..... Das muss auch beim Tiny passieren. Der Code erzeugt beim Tiny wirklich keine Fehlermeldung? Wigbert
Ich hab jetzt das programm getestet wie du schon beschrieben hasst. void receive(void) { DDRD=0xff; unsigned char test[32]; rf12_rxdata(test,32); if(strcmp(test,"Dies ist ein 433MHz Test !!!\n ")==0) PORTD=(1<<PD5); // daten verarbeiten } void send(void) { DDRD=0xff; unsigned char test[]="Dies ist ein 433MHz Test !!!\n "; rf12_txdata(test,32); PORTD=(1<<PD6); } Die LEDs leuchten bei beiden sender und empfänger.
>Die LEDs leuchten bei beiden sender und empfänger.
ich meinte Toggeln: bei einen Schleifendurchlauf an, beim nächsten aus
usw. wenn dann ein Blinklicht entsteht bleibt die Schleife nicht stehen.
um das sichtbar zu machen evtl. Wait 1 in die Schleife. Müsste beim
Sender wohl sowieso drin sein.
wenn dem so ist, initialisierung des RFM 12 prüfen.
Ist am CLK ein Takt und wird der nach den ersten Schleifendurchlauf
verändert(auf 10 Mhz)
Erst wenn dem so ist kann auf externen Takt programmiert werden.
Das ist aber nicht der ganze Code. Oder?
Wigbert
Hallo zusammen, Ich verwende das RFM12-Modul in Verbindung mit dem Pollin Evaluationsboard und einem Mega32. Daten kann ich mit Benedikts Code prima hin- und herschieben. Die Gegenstelle besteht aus einem Mega8 auf einem Steckbrett mit RFM12 und LCD. Wie gesagt, Daten kann ich so schon mal übertragen, HW ist also soweit in Ordnung. Nun wollte ich auf eine Interruptsteuerung der µC umsteigen. Dazu habe ich mir den Code von Jürgen auf meine HW-Ausgangsbasis angepasst. Leider funktioniert hierbei überhaupt nichts. Seit Wochen trete ich beim Debuggen auf der Stelle. Mit den Taktraten (intern/extern über RFM oder eigenem XTAL) habe ich schon alles durchprobiert, da ich nach der Beobachtung einiger Unregelmäßigkeiten im RFM-Takt diese im Verdacht hatte. Aber das alles half nichts. Den Code habe ich in den letzten 2 Wochen mittlerweile 100x durchgecheckt und mit dem Original gedifft. Debugging habe ich auch genug betrieben. HW auch mehrmals geprüft. Ich werde noch verrückt... Ein anderer Verdacht waren die Flanken für das IRQ-Signal an INT0 oder INT1. Mit den Flankensettings für die IRQs habe ich mittlerweile auch experimentiert. Brachte aber auch keine Abhilfe. Hat irgendwer den Interruptcode auf einem Evaluationsboard von Pollin am laufen? Mir wäre sehr geholfen wenn ich wenigstens von einer funktioniereden Stelle ausgehen kann.
Hallo, hat eigentlich schon mal jemand versucht, die Module RFM01 + RFM02 direkt mit einem Encoder/Decoder(z.B. HT600/614) zu beschalten, also ohne MCU und Software? Ich denke da an eine Übertragung eines einfachen Tastendruckes bzw. einer Tastenkombination und auf der Empfängerseite eine LED-Anzeige. Für eine Anleitung (falls dies überhaupt möglich ist) wäre ich sehr dankbar!
Hallo Manuel, sind die Platinen und Bauteile noch zu haben ? hätte Interesse an 2x, Bestückung mach ich alleine Danke und Grüße, Micha
Kann es sein dass Pollin das RFM12 nicht mehr hat ? RFM01 und RFM02 finde ich noch, RFM12 nicht mehr ? Wo gibt's doe Module sonst noch ? Stefan
Und hier nochmal meinen Dank an Benedikt, wie ich ihn schon in der Code-Sammlung geposted habe: Also das nenne ich "Perfekten Code" von Benedikt !!!! Ich habe mit Begeisterung diesen thread gelesen. 4x RFM12 gekauft und 2 Stück davon in 15 Minuten an meine existierenden ATmega32 angeschlossen. Den C-Code von Benedikt vom 22. Mai (Code-Sammlung) in die ATmega's geworfen und läuft !! Also hier nochmals vielen Dank an Benedikt für diese tolle Arbeit !!! Denn diese Datenübertragung fehlte mir noch in meiner Sammlung, da ich mit den schrulligen Dingern von Con.. nix anfangen konnte (nach der ersten Wand war Funkstille und das mit 1 Kbit). @Stefan: Ich habe letzte Woche 4 Stück bestellt und kamen in 3 Tagen bei mir an. Hab ich etwa die Letzten rausgefischt ? Gruß Manni
@stefan: Habe nochmals bei Pollin nachgesen. Auch mit der Bestellnummer 810049 findet man nix mehr. Anscheinend sind Pollin die Dinger wirklich ausgegangen. Vielleicht mal anrufen und nachfragen. Gruß Manni
So, habe mir gerade eine "Testumgebung" aufgebaut. Es funktioniert natürlich: nichts :-( Ein Modul (jeweils RFM12) ist an einem STK500 angeschlossen (SCK, SDI, SDO, nSEL am SPI Interface), das andere an einem AVR Board von Pollin. FSK ist jeweils mit 10 k Pullup an Vcc. Auf beiden Boards werkelt (nicht) ein Mega16 mit 8 MHz internal clock. Um den Fehler schonmal etwas einzugrenzen, habe ich die UART Routinen erstmal rausgeschmissen und lasse die beiden LEDs auf dem Pollin Board blinken falls was empfangen wird. Software habe ich "Firmware v2.0.1 von Jürgen Eckert" verwendet (Link im RFM12 Artikel). Da IRQ nicht angeschlossen und nicht verwendet wird, habe ich in rfm12.h auf non-blocking-calls gestellt. Habe ich irgendwas vergessen ? Stefan
...habe inzwischen herausgefunden dass es beim Empfang hängt: In rf12_rxdata kehrt die Funktion rf12_ready nicht zurück; diese wartet darauf, dass SDO auf High-Pegel geht, was aber SDO hier nicht tut. (Siehe Screenshot). Was bedeutet das ? Stefan
Entweder ist der Empfang nicht eingeschaltet, oder das Modul empfängt ganz einfach nichts.
>Entweder ist der Empfang nicht eingeschaltet
1 | rf12_trans(0x82C8); // RX on |
2 | rf12_trans(0xCA81); // set FIFO mode |
3 | rf12_trans(0xCA83); // enable FIFO |
4 | rf12_ready(); |
Sollte er damit sein...
>oder das Modul empfängt ganz einfach nichts.
Hm, eine Idee woran das liegen könnte ? Der Sender scheint seinen Job zu
tun, laut Logicanalyser kommt am Sender alles richtig an, und der
Messempfänger sagt mir dass auch etwas gesendet wird.
Stefan
Sendefrequenz = Empfangsfrequenz ? Baudrate bei Sender und Empfänger stimmen überein ? Sender sendet das Syncword ?
Danke für die Tipps: >Sendefrequenz = Empfangsfrequenz ? Empfänger: rf12_setfreq(RF12FREQ(433.92)); Sender: rf12_setfreq(RF12FREQ(433.92)); >Baudrate bei Sender und Empfänger stimmen überein ? Empfänger: rf12_setbaud(19200); Sender: rf12_setbaud(19200); >Sender sendet das Syncword ? Was ist das ? Wie finde ich das heraus ? ...aber ich gehe mal davon aus das es gesendet wird, ich in rf12.c nichts geändert... Stefan
Hab auf mein Modul mal die AVR-CDC Firmware geflasht. Geht auch unter Windows an nem USB 2.0 Port. Darauf aufbauend könnte man einfach einen USB<->RFM12 Wandler bauen.
SVN für das Projekt gibts unter svn://mikrocontroller.net/rfm12 Kann mal einer der Treiberautoren (Benedikt K. oder Jürgen Eckert) die aktuellste Version reinstellen?
Hallo ich hab die schaltplan wie timo(oben)mit 2 atmega8 16PU aufgebaut alerding senden tut es aber empfangen nicht das ganze text. Ich hab leider keinen osci um dies zu überprüfen. Denn code habe ich von bennedikt so übernomen. könnt ihr mir da einpaar tips geben voran das liegen konnte? Danke!
Reagieren die Module bei euch auch so stark auf kleine Spannungsänderungen ? Habe mit 100uF abgefedert.... Gruß B.
Welcher Absatz im Datenblatt definiert eigentlich die Arbeitsweise der rf12_ready() Funktion? Solange nix an SCK liegt, ändert sich doch auch SDO nicht oder? Sollte man nicht lieber das Statusword abfragen und nachsehen, ob Bit 15 auf 1 liegt? Hatte schon mal zwei Module einwandfrei auf Anhieb am Laufen, mit dem aktuellen Aufbau will er jedoch auch kein SYNC empfangen. Wenn ich ohne SYNC empfange kommt manchmal zufällig ein korrekter Teilstring an.
Hallo, jetzt ist einige Zeit vergangen, viele haben bestimmt Erfahrungen gesammelt. Wenn ihr die Wahl hättet, würdet ihr das Teil wieder nehmen? Oder hat sich gezeigt, dass die Konfiguration zu umständlich/komplex ist bzw. diese Module nicht verlässlich arbeiten? Eine für mich sehr wichtige Frage noch: Ist es mit dem RFM12 möglich, a) gleichzeitig u senden/empfangen oder b) ohne Pause zu senden und mit einem zweiten pausenlos zu empfangen? Ich meine, irgendwo was von 1s Sendetaktung gelesen zu haben ... Hintergedanke ist eine Modellautofernsteuerung; hier muss natürlich pausenloses Übertragen möglich sein. Besten Dank für eure Empfehlungen Harald
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
Harald wrote: > Hallo, > jetzt ist einige Zeit vergangen, viele haben bestimmt Erfahrungen > gesammelt. Wenn ihr die Wahl hättet, würdet ihr das Teil wieder nehmen? Ja. > Oder hat sich gezeigt, dass die Konfiguration zu umständlich/komplex ist > bzw. diese Module nicht verlässlich arbeiten? Ab und zu hängen sich die Module auf, aber das passiert auch mit den dummen 433MHz Empfängern. Für das Geld sieht man mal über so kleine Probleme hinweg. > Eine für mich sehr wichtige Frage noch: > Ist es mit dem RFM12 möglich, a) gleichzeitig u senden/empfangen oder b) > ohne Pause zu senden und mit einem zweiten pausenlos zu empfangen? a) nein b) ja, aber das zweite wird vom ersten gestört werden, wenn das direkt daneben ist. Klaus G. wrote: > 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. Ist schon seit langem bekannt. Die Module von HopeRF sind mit den IA4xxx bestückt, denn HopeRF kauft die DIEs von Integration und bondet diese direkt auf die Platinen.
@Benedikt Wenn es wirklich dieselben DIEs sind, müßte bei den Hope-Modulen ja eigentlich auch der Standalone-Modus zu realisieren sein, was bei Hope allerdings nicht beschrieben ist (zumindest habe ich es nicht gefunden). Wäre ja echt toll, weil einfache Aufgaben damit komfortabel zu lösen wären. Wenn man die Forenbeiträge so betrachtet, gibt es offensichtlich erhebliche zumindest Unsicherheiten, was die Programmierung der Teile betrifft. Das wäre damit - wie gesagt, für einfache Steuerungen - erschlagen. Hat das zufällig schon mal jemand probiert? Könnte ja sein, wenn die Integration-Dokus bereits so sehr bekannt sind. Zu dieser Frage speziell habe ich jedenfalls in den Foren noch nix gefunden. Ich habe meine Module erst seit 2 Tagen und bin noch nicht dazu gekommen, mich näher damit zu beschäftigen, aber gelegentlich werde ich es sicher probieren.
Benötigt der Standalone Modus noch weitere Anschlüsse die beim RFM12 Modul garnicht vorhanden sind ? Gruß Hagen
Hagen Re wrote: > Benötigt der Standalone Modus noch weitere Anschlüsse die beim RFM12 > Modul garnicht vorhanden sind ? Richtig, genau das ist das Problem. Ansonsten lässt sich die Software von IA auch für die RF12 verwenden, man muss nur die richtigen ICs auswählen, da IA sehr viele ICs mit kleinen Unterschieden hat.
Marius Schmidt wrote: > hat schonmal jemand versucht so ein modul per parallel port oder rs232 > port an den PC an zu schließen (ohne viel Zusatzbeschaltung dazwischen)? Hallo! Die Frage wurde ja bereits in ähnlicher Form gestellt, aber ich konnte keine Antwort dazu finden. Ich habe mir 2 von den RFM12 geholt und würde nun gerne eines am PC betreiben (z.B. Parallelport - ich denke da ist's am einfachsten) und damit ein anderes ansprechen (hängt dann an einem atmega). Angenommen ich will meinen Parallelport nicht 100% gegen mögliche Risiken absichern: Reicht dann folgende Beschaltung: Parallelport RFM12 ---------------------------------------------------- D0 SCK D1 SDO ACK (Pin 10) SDI GND GND - NSEL,DCLK,NINT <- nicht verbunden - FSK <- mit 5K Ohm an +5V - VDD <- an +5V so, und dann dachte ich mir dass ich das Modul gerne vom PC mit Strom versorgen würde, aber man über die Datenpins vom Parallelport vielleicht lieber nicht die 25mA ziehen sollte die das Modul max. benötigt. Also hab ich mir überlegt einfach von einem USB-Port 5V+ und GND zu holen und entsprechend mit den +5V am Modul und den GND an Modul und Parallelport zu verbinden. Ich hab vor einiger Zeit mal ein Nokia-Handydisplay über den Parallelport angeschlossen und dafür die inpout32.dll verwendet - die würde ich jetzt wieder nehmen (wobei ich grad nicht sicher bin ob man da das ACK-Pin einfach so lesen kann?). Mir geht es aber jetzt bei der Frage aber erstmal eher um die Hardwareseite - also ob der Hardwareaufbau so überhaupt lebensfähig ist :) Danke schonmal für die hilfreichen Antworten :) Gruß, André
@andreposch: Das ist eine interessante Idee. Die Hardware kommt so hin, jedoch sollte NSEL auch über ein Datenbit des Ports gesteuert werden, denn das SPI-Interface reagiert schon mal komisch, wenn NSEL Dauer-Low ist, d.h. NSEL sollte nur zu bei Transfers Low sein. Ein größeres Problem dürfte (künftig) die Ansteuerung einzelner Bits auf dem Parallelport sein (solange die inpout32.dll noch läuft, geht es sicherlich). Ab Vista ist der Zugriff auf diesem Level wohl endgültig gelaufen. Unter Linux mag es noch gehen. Man sollte sich auch nicht darauf verlassen, daß künftige PCs überhaupt noch einen Parallelport haben, und über einen handelsüblichen USB->Parallelkonverter ist das Steuern einzelner Bits (sog. Bit-Bang-Modus) nicht möglich. Da braucht man schon wieder eigene Lösungen. Abhängig vom verwendeten Betriebssystem ist auch zu beachten, daß der "Eigenverbrauch" des Betriebssystems evtl. das korrekte Timing auf dem SPI-Interface erheblich behindert, wenn nicht gar unmöglich macht. Ich möchte Dich nicht entmutigen, aber ich bezweifle, daß eine solche Lösung reproduzierbare Ergebnisse bringt, will sagen, in der einen Umgebung läuft es vielleicht, in einer anderen nicht. Ich würde einen z.B. Atmega8 als Interface zum RFM einsetzen, allerdings nicht am Parallelport, sondern an der RS232. Das läuft dann auch mit USB-Adaptern und ist von der PC-Software erheblich leichter zu handhaben; die Entwicklungszeit wird mit Sicherheit erheblich kürzer sein als bei der von Dir ins Auge gefassten Lösung. Gruß, Klaus
Hallo, bin auf der suchen nach einer Funkübertragung auf dieses Forum gestoßen und speziell dieses Thema mit den Pollin dingern. Ich habe nicht viel Ahnung von dieser Thematik, würde aber gerne eine Funkübertragung für meinen Taschenrechner nutzen. Der Taschenrechner nutzt nen 3 poligen Klinke Stecker um mit einem anderen zu kommunizieren. Ist nen Casio Classpad 300Plus. Meine Idee ist es für kleines Geld ne Funktübertragung selber zu basteln (bausatz) oder was kaufen. Bei Conrad bin ich auf ein Transceiver gestoßen, der soll aber 80€ kosten, ist mir dann doch zu viel. Und dann bin ich jetzt auf die Sache von Pollin gestoßen. Grundsätzlich müsste ich erst einmal wissen ob eine solche Übertragung funktioniert, da ich ja nur nen 3 poligen stecker habe. Habe keine genauen Infos über die Pinbelegung, denke aber es wird Gnd, Rx, Tx sein. Das kabel ist cross-over. Im rechner kann ich die üblichen seriellen Geschwindigkeiten 9600bps, 38400 und 115200 einstellen. Nur kann ich die Funkmodule für rs232 auch für den TR nutzen? eigentlich sollte es ja gehen. Diese reine rfm12 platine reicht doch nicht oder? ich bräuchte doch dazu noch dieses demo kit was es bei hersteller auf der hp gibt oder? würd mich freuen wenn ihr mir weiter helfen könnt danke. gruß armin
Hallo Armin, >Nur kann ich die >Funkmodule für rs232 auch für den TR nutzen? eigentlich sollte es ja >gehen. Diese reine rfm12 platine reicht doch nicht oder? ich bräuchte >doch dazu noch dieses demo kit was es bei hersteller auf der hp gibt >oder? Ja, technisch sollte es möglich sein mit den RFM12 die Schnittstelle des Taschenrechners "wireless" zu machen. Ich würde dazu einen kleinen Mikrocontroller nutzen, der die Signale des Taschenrechners umwandelt für den SPI-(?)-Anschluss der Funkmodule. Inkl. Gehäuse kommst du dann so auf 12-15€ je Gerät würde ich schätzen. Möchtest du in Klausuren Daten übertragen?? :-) Schöne Grüße, Alex
Hallo Armin, ich fürchte, so, wie Du es Dir vielleicht vorstellst, wird es nicht gehen. Meine Empfehlung: wenn es Dir ausschließlich um die Lösung des geschilderten Problems geht und Du ein RS232-Transceiver-Pärchen (wenn es sich bei der Schnittstelle tatsächlich um RS232 handelt) für 80,- bekommen kannst, hast Du einen guten Deal gemacht. Nein, der RFM12 alleine reicht nicht. Er muß durch einen MC angesteuert werden, der einerseits die RS232 bedient, andererseits das Funkmodul steuert. Die zugehörige Software muß dann dafür sorgen, daß die Daten auch in einer gestörten Umgebung sicher übertragen werden. Das ist nicht trivial. Da Du, wie Du sagst, nicht tief in der Materie drinsteckst, wird Dich die Auseinandersetzung damit locker deutlich mehr kosten - man braucht hier und dort immer noch etwas, hat was vergessen zu bestellen, also nochmal Versandkosten, usw. Die gewonnene Erfahrung ist natürlich unbezahlbar und vielleicht kommst Du auf den Geschmack für ein auf Dauer befriedigendes Hobby, aber es ist ein steiniger Weg, wie Du aus den wirklich zahlreichen Beitragen zu diesem Thema hier im Forum und auch bei roboternetz.de ersehen kannst. Sicher wirst Du hier wie dort Hilfestellungen bekommen (dazu ist ein Forum ja da), aber es wird kaum jemand in der Lage sein, Dich Schritt für Schritt durch den gesamten Prozeß zu führen, denn vieles ist nur empirisch zu ermitteln; da wirst Du auch selbst wirklich enorm viel Zeit (ich spreche aus langjähriger eigener Erfahrung) investieren müssen. Wenn Du das willst, ist das auch ein guter Deal. Nachtrag, weil ich den Beitrag von Alex erst jetzt gelesen habe: Die Einschätzung von Alex geht davon aus, daß der von mir geschilderte Entwicklungsprozeß bereits durchlaufen ist. Dann trifft es zu, was er schreibt. Gruß, Klaus
Hallo, also mit 80€ meinte ich einen Transceiver d.h. ich müsste noch nen 2ten kaufen und das ist dann zu teuer, 80€ für 2stk wäre auch ok gewesen. Habe gehofft es gibt eine Art Standard Platine für die RS232 schnittstelle und ich diese quasi übernehmen könnte. Also auch von der programmierung standart, weil die übertragung an eienr RS232 ist ja auch standard und warum sollte ich das selber parametrieren/programmieren? Also ist die Übertragung auch nicht wikrlich transperent für den TR, weil so wie das klingt müsste ich da ja ein Programm drauf lassen, jedoch will ich "einfach" die TR Signal ganz transparent per funk versenden und am Empfänger werden die in die vorherigen Signale zturück übertragen. Danke schon mal für eure Antworten. Gruß Armin
Dann sind die RFM12 vielleicht nicht ganz so gut geeignet für deine Zwecke, da sie ein SPI-Interface haben. Du benötigst also einen Schnittstellenwandler, der zwischen dem Taschenrechner-Signal (evtl. RS232) und SPI vermittelt. Was du aber machen könntest, um die Signale direkt zu übertragen ist Infrarot. Da könntest du dann, vereinfacht gesagt, an jedem Taschenrechner eine IR-Diode (zum Senden) und einen IR-Empfänger (z.B. TSOP1738) anschliessen. Damit sollten 1200Baud kein Problem sein und alles was du brauchst ist eine Treiberstufe für die IR-LED.
Also hier mal das Teil von Conrad für 80€ 190174 - 62 , so etwas hatte ich mir vorgestellt, nur ist das zu teuer und jetzt suche ich was zum selber basteln oder irgendwas vergleichbares alternatives. Für IR brauche ich doch Sichtkontakt oder täusch ich mich da? Also Reichweite müsste max 10-15m sein. Was genau ist eien Treiberstufe? Setzt der mir die seriellen Signale passend für IR um oder wie läuft das? bin grad auch noch auf folgendes bauteil gestoßen 183124 - 62 , reichweite aber max 3m... gruß armin
Das mit der IR-Übertragung ist auch keine schlechte Idee und kostenmäßig nicht zu unterbieten. Die benötigten Bauteile sind verfügbar und billig. Empfängerseitig also ein TSOP..xx (die xx geben Auskunft über die Trägerfrequenz, weil das Nutzsignal, also Deine Daten, auf einen Träger aufmoduliert werden müssen, da sonst jede Lichtquelle den Verkehr unmöglich macht) mit einem Transistor als Inverter (und evtl. gleichzeitig als Pegelwandler, je nachdem, welche Logikpegel Dein TR braucht) dahinter, weil der TSOP nämlich die Daten invertiert. Senderseitig ein als Multivibrator (z.B. 36kHz bei einem TSOP4836) beschalteter NE555, der über den Reset-Pin mit den Daten moduliert wird, ein Treiber (der macht der Sendediode Dampf unter'm Hintern, um Deine Frage zu beantworten) und natürlich die Sendediode. Die Reichweite ist bei einer ordentlichen Sendeleistung (evtl. mehrere Dioden einsetzen) beträchtlich, da auch die Reflexion von Wänden und Decken durchaus beim Empfänger ankommt, solange er sich zumindest im gleichen Raum befindet (Achtung: Die Trägerfrequenzen für die beiden Richtungen möglichst weit auseinander wählen, weil sich sonst der Hund in den Schwanz beißt). Falls sich die TR in unterschiedlichen Räumen befinden, gibt's zur Verlängerung beim großen 'C' geeignete Geräte, aber dann wird es schon wieder teurer. Ich möchte das Thema, was IR betrifft, hier aber nicht weiter ausbauen, da wir sonst am Topic dieses Thread heftig vorbeischrammen. Wenn IR für Dich eine Option ist, schau mal beim Roboternetz vorbei; die hantieren viel damit herum.
im Wiki hier ist doch ein Beitrag http://www.mikrocontroller.net/articles/AVR_RFM12 in dem schon alles nötige drin ist. Ist vielleicht kein Anfängerprojekt aber sicher machbar. BTW, gibt es die dort entworfenen Platinen noch irgendwo fertig?
Den Beitrag ausm wiki hatte ich schon gesehen, bin nur nicht ganz schlau draus geworden. Also das was ich brauche ist ne stumpfsinnige Anleitung wonach ich so ein Ding bauen kann, will mir nicht wirklich gedanken über die Signalverarbeitung machen. IR soll mir auch recht sein, nur selber sowas zu erstellen ist für mich zu aufwendig. Ich habe keine Ahnung wo der Logikpegel liegt. Könnte ich einfach mit einem Multimeter die Spannung messen oder macht das kein sinn? Wie schon gesagt der TR hat nen 3poligen klinke Anschluss und die Anschlüsse wo das Kabel gekreuzt sind werden dann wohl Tx und Rx sein und der eine der durchgehend ist wird dann wohl Masse sein. Bin grad auf der Suche nach dem Pegel auf ein Beitrag gestoßen womit Musik über den Klinke Anschluss hören kann, ich habe keine Ahnung wo die Spannungen für Kopfhörer liegen damit die was hörbares wiedergeben...Die Anleitung ausm wiki bezieht sich nur auf den rfm12 oder ist die komplett direkt für den seriellen Port gedacht? Auf den Plänen ist ja ein USB Anschluss zu sehen nur irgendwie seh ich keinen seriellen, wobei USB ja auch nur D- und D+ hat sollte für meine zwecke auch reichen. Ich benötigen eben nur eine Anleitung wonach ich arbeiten kann, zur Not krieg ich auch noch ein Programm auf den Mikrocontroller gespielt, aber das Programm muss fertig sein und ich brauch auch dazu ne Anleitung.
Bin grad bei RoboterNetz.de auf ein -AVR-Evaluations-Board gestoßen das von pollin angeboten wird. würde mir sowas nicht weiterhelfen? aber ohne das ich es am pc anschließe (abgesehen zur programmierung), klappt sowas? und wozu hat das gute stück 2 serielle anschlüsse? oder ist die platine die selbe wie sie im wiki drin steht nur etwas kompaktere bauform? hier der link zu dem ding http://www.pollin.de/shop/shop.php?cf=detail.php&pg=OA==&a=MDU5OTgxOTk=&w=OTk4OTY4&ts=0
Platinen hab ich keine mehr. Außerdem sind ein paar kleiner Fehler drauf, die man beim nächsten Mal vielleicht erst ausbessern sollte. RS232 ist natürlich mit den Platinen möglich. Fertige Software gibts aber noch nicht. Auch interessant ist z.B. www.funkmodul.de Da kosten transparente RS232 Transceiver so 40,-
Oh je, Armin, jetzt wird es schwierig. Zunächst mal zu den Fragen: Die Batteriespannung des TR ist schon mal ein Anhaltspunkt dafür, welcher Pegel für "High" keinesfalls überschritten werden darf. Das Pollin-Board (Anleitung und Schaltung übrigens durch klicken auf den Download-Knopf beim Produkt einsehbar) läuft nach der Programmierung natürlich auch ohne PC, aber Du brauchst, wenn Du das Funkinterface dauerhaft darüber betreiben willst, zwei davon, und da sind wir schon wieder bei den Kosten. Was deinen Wunsch bzgl. stumpfsinniger Anleitung usw. betrifft: Du wirst hier sicher viele Hilfestellungen erhalten können, aber sowas wohl kaum, denn das würde bedeuten, daß jemand genau Deine Aufgabenstellung experimentell (Hardware und Software) nachvollziehen muß, um Dir das Ergebnis zu präsentieren, und dazu fehlt den meisten, bei allem guten Willen, sicher schlicht die Zeit. Die hier präsentierten Lösungen, auch der Wiki-Beitrag, sind eigentlich recht oft speziell, wenn nicht gerade viele daran mitgewirkt haben, da der jeweilige Autor sie für sein aktuelles Problem erdacht hat. Wenn er das Projekt dann dankenswerterweise hier der Allgemeinheit zur Verfügung stellt, setzt er stillschweigend voraus, daß der geneigte Interessent in der Lage ist, mit geeigneten Modifikationen, u.U. nach einigen wenigen Rückfragen, seine spezielle Problemstellung zu erschlagen. Sollte es jedoch schon bei den Basics klemmen, wird leicht eine endlose Geschichte daraus, die irgendwann, unbefriedigend für beide Seiten, dann doch endet. Gruß, Klaus
hallo, hab mir jetzt auch paar von den modulen zugelegt jetz steht bei mir die frage der anschlüsse, meiner meinung nach benötige ich für den sender nur SDI und SCK, für den empfänger SDI, SCK und SDO sehe ich das richtig... ist sck für datenein- und -ausgabe zu verwenden
Hab mich nochmal über die Bibliothek gemacht. Sollte jetzt einigermaßen gut dokumentiert sein und zuverlässig funktionieren. Features: - Interruptgesteuerter Empfang - Trennzeichenorientiertes Protokoll - Hamming-Code - 128 Byte RX und TX FIFOs
Hallo zusammen, ich habe mir vor kurzem mehrere RFM12 Module und zwei Pollin Testboards dazu gekauft. Nun hatte ich mir hier vom Thread die Bascomlistings von "bastelbär" gezogen und war seelig das alles gleich lief. ABER, nach dem Stomabschalten des Senderboards und wieder einschalten blieb der Sender in der ersten Rf12_ready-Schleife hängen und es war ein Zufallsspiel mit dem Aus- und Einschalten, das der Sender wieder sendete. Das Problem trat auf beiden Boards auf und ich vermutete immer einen Software-Initialisierungsfehler. Nun nach mehreren Tagen bin ich mal draufgekommen einen Kondensator 1µF direkt auf die Versorgungsspannung am RFM12-Modul zu löten und nun starten die Sender nach jedem Einschalten ohne Probleme. Bin ich hier der einzige mit diesem Problem? Read U Steph
...hast Du die 1µF Kondensatoren nun zusätzlich zu schon vorhandenen Abblock-Kondensatoren dran, oder sind das die bisher einzigen Abblockmassnahmen? Wenn letzteres wundert es nicht sehr, dass es vorher nicht so recht lief...
@Stefan Die nächsten Block-Kondensatoren sind auf dem Board ca. 5cm entfernt und sind eigendlich nur für die Steckbaren AVR's gedacht. Das Pollinboard hat in der Nähe vom RFM-12 Modul keine Kondie's vorgesehen. Leider muß ich meine Feststellung zurücknehmen, daß es jetzt 100% tig startet, es ist nur deutlich besser geworden. UUps, habe gerade noch Feststellen müßen, das der FSK-Pin an einem nicht definierten AVR Port D.7 hängt (habe den jetzt mal als Ausgang und auf High programmiert, statt nen Pullup anzulöten) So jetzt aber startet das Ding stabil. Sorry Gemeinde, aber vieleicht tappt noch jemand anderes in das Näpfchen. Gruß Steph
Hallo Leute, ich versuche seit ein paar Tagen das RFM12 Modul mit der Platine und Software von Ulrich Radig (www.ulrichradig.de) in Betrieb zu nehmen, allerdings funktioniert das bei mir noch nicht so. Also habe ich zuerst einmal den CLK-Pin durchgemessen, aus dem ja im Anfangszustand 1Mhz herauskommen soll - nur Rauschen... Nachdem ich einige andere Pins mit dem Oszilloskop durchgemessen hatte, habe ich noch einmal den CLK-Pin berührt und siehe da: 1Mhz! Nach einiger Zeit habe ich herausgefunden, dass sich das Rauschen immer in 1Mhz ändert, wenn ich zuvor den Pin nRES berührt habe - hatte schon mal jemand dieses Problem?
> dass sich das Rauschen immer in 1Mhz ändert, wenn ich zuvor den Pin nRES > berührt habe Du schreibst ja praktisch schon die Lösung des Problems...
Ich habe nun nRES auf +5V gelegt, so wie es hier (http://blog.everythingrobotics.com/2008/06/17/rfm12-tutorial-part2/) beschrieben ist, und nun funktioniert das Modul.
Hallo, kann bitte jemand der die RFM12-Module bereits verwendet hat mal die nötigen Konfigurationsparameter posten? Also nur die Werte die in die Config-Register des Moduls müssen... Für 433MHz, ganz "normale" Standardeinstellungen. Noch etwas: Muss ich den Transmitter/Receiver immer umschalten wenn ich etwas senden/empfangen möchte, oder können beide permanent eingeschaltet bleiben? Schöne Grüße, Alex
Hast du hier: http://www.mikrocontroller.net/articles/RFM12 und hier: http://www.mikrocontroller.net/articles/AVR_RFM12 schon mal reingeschaut? Da sollten diese Fragen eigentlich schon beantwortet sein.
Ja, da habe ich reingeschaut, allerdings wird da auch nur oberflächlich auf die Config-Register eingegangen, eine "standard" Konfiguration konnte ich dort leider nicht finden. Ich könnte natürlich auch eine detaillierte Liste sämtlicher Fragen die ich habe posten, jedoch dachte ich, eine Frage nach einer "standard"-Config wäre leichter zu beantworten... Schöne Grüße, Alex
Es gibt halt keine "Standard"-konfiguration. Die ist immer davon abhängig, welche Baudrate und welche Reichweite du erzielen möchtest. Aber auf den Seiten ist Beispiel-Code verlinkt. Dort kannst du nachsehen mit welcher Konfiguration meist gearbeitet wird.
In der aktuellen "Elektor" (Januar 2009) ist dieses Modul vorgestellt. Dort gibt es auch Code-Snippets und Links zum Download des vorgestellten Demo-Programms. Vielleicht findest Du dort, was Deiner Vorstellung von einer Standard-Konfiguration nahe kommt. Viele Grüße, Klaus
Lässt sich das RFM12 zur übertragung von Tönen mißbrauchen? Wenn ja - wie? Ich möchte mir ein Audio-Only-Vario für meinen Modellsegler bauen, welches mir die Steig- & Sinktöne per 433Mhz auf mein LPD sendet. Ich dachte mir so: Piezo ab und RFM12 ran?! Siehe: http://www.pixelproc.net/pic24hj12vario.html Den Pic bekomme ich fertig programmiert.
Hat keine eine Idee dazu? Gibt es evtl. andere Funkmodule welche sich dafür besser eignen?
Zur Tonübertragung ist das RFM12 absolut nicht zu gebrauchen, es besitzt eine Datenschnittstelle, über die das Modul programmiert werden muß. Danach könnte man mit einem speziellen CoDec komprimierte Tondaten übertragen. Sowas geht aber nicht ohne Änderung des Programms im PIC. Wenn es nur darum gehen soll, den Piezopieper zu verlängern, dann sind dumme Module besser geeignet. z.B. http://www.conrad.de/goto.php?artikel=130428 Der Sender wird einfach durch Anlegen einer Steuerspannung (Logikpegel) aktiviert, eine Tonfrequenz von 100Hz bis 2kHz sind da kein Problem. Es muß aber eine Ton-Frequenz sein, Schaltzustände gehen damit direkt nicht. Gruß Jadeclaw.
>Zur Tonübertragung ist das RFM12 absolut nicht zu gebrauchen, es besitzt >eine Datenschnittstelle, über die das Modul programmiert werden muß. >Danach könnte man mit einem speziellen CoDec komprimierte Tondaten >übertragen. Wenn man sowieso schon einen Controller verwendet, kann man die Signalausgabe auch gleich auf das RFM12-Modul anpassen.
Erst mal danke für eure Hinweise. Das Conrad-Modul muss ich mir mal näher ansehen. Leider ist das PIC in C programmiert. Dieser Programmiersprache bin ich nicht mächtig. In irgendeiner Basic-Version würde ich es sonst warscheinlich noch hinbiegen können...
Hallo, ich würde gerne meine Haussteuerung um ein Paar Funksensoren ergänzen! Das RFM12 Modul von Pollin finde ich dafür gerade richtig, jedoch nach Lesen von mehr als 10 Threads über dieses Modul muss ich euch fragen ob es für einen Laien mit zwar 10 Jahren Programmiererfahrung (1 Jahr C ^^) und reichlich Bastlerlaune leicht und effektiv möglich ist solch einen Sender / Empänger Sensor zu realisieren? Lg Tobias
Hi, prinzipell ja . Ich auch werde mich bald mit den Dingern beschäftigen und habe folgenden Schalchtplan überlegt : 1) Hardware (Sender und Empfänger) aufbauen, und zwar die ATM18 Application aus Elektor mit den verfügbaren Hex-Files (Bascom!) 2) Inbetriebnahme der Hardware (=> Gut-Muster => besonders wichtig für weiteres Vorgehen!!!) 3) Wenn Hardware läuft, dann schrittweise selbst den Sender bzw. Empfänger durch eine eigene Applikation in C ersetzen (Quell-codes gibt es hier bzw. im Web genug, meistens ist es nur eine 1:1 Umsetzung der Codes aus dem RFM12 Datenblatt) 4) Wenn Schritt 2 (Gut-Muster) geklappt hat muss an Schritt 3 solange gebastelt werden bis es läuft.
Tobias Toifl schrieb: > ich würde gerne meine Haussteuerung um ein Paar Funksensoren ergänzen! > Das RFM12 Modul von Pollin finde ich dafür gerade richtig, jedoch nach > Lesen von mehr als 10 Threads über dieses Modul muss ich euch fragen ob > es für einen Laien mit zwar 10 Jahren Programmiererfahrung (1 Jahr C ^^) > und reichlich Bastlerlaune leicht und effektiv möglich ist > solch einen Sender / Empänger Sensor zu realisieren? Möglich ist es. Die Programmiererfahrung ist bei dem Modul nicht das Entscheidende. Das Problem ist die teilweise schlechte Dokumentation und die Frage, wie die Konfigurationsregister am besten zu füllen sind. Wenn man nicht die hier in der Codesammlung vorhandenen Beispiele nutzen will, muss man sich auf etwas Bastelei einstellen. Ich fand das Pollin-Modul bis jetzt als das Stück Hardware mit der mit Abstand schlechtesten Schnittstelle (im Vergleich zu Controllern wie dem SJA1000, dem HD44780 oder dem KS0108, die ich in letzter Zeit per uC angesteuert habe)... Ein Hinweis: Die bei Pollin verlinkte Doku kannst Du gleich auf dem Server lassen. Beim Hersteller der Module findest Du weitaus bessere Datenblätter, mit denen man sogar etwas anfangen kann: http://www.hoperf.com/rf_fsk/rfm12b.htm http://www.hoperf.com/rf_fsk/rf12b.htm
Gastino G. schrieb: > Möglich ist es. Die Programmiererfahrung ist bei dem Modul nicht das > Entscheidende. Das Problem ist die teilweise schlechte Dokumentation und > die Frage, wie die Konfigurationsregister am besten zu füllen sind. Wenn > man nicht die hier in der Codesammlung vorhandenen Beispiele nutzen > will, muss man sich auf etwas Bastelei einstellen. > Ich fand das Pollin-Modul bis jetzt als das Stück Hardware mit der mit > Abstand schlechtesten Schnittstelle (im Vergleich zu Controllern wie dem > SJA1000, dem HD44780 oder dem KS0108, die ich in letzter Zeit per uC > angesteuert habe)... > > Ein Hinweis: Die bei Pollin verlinkte Doku kannst Du gleich auf dem > Server lassen. Beim Hersteller der Module findest Du weitaus bessere > Datenblätter, mit denen man sogar etwas anfangen kann: > > http://www.hoperf.com/rf_fsk/rfm12b.htm > http://www.hoperf.com/rf_fsk/rf12b.htm Danke für deine rasche Antwort! Also ich würde zwar schon alles aus diesem Thread nehmen, jedoch habe ich nicht die richtigen Arbeitsmaterialien (z.B. keinen Oszillator ) ... Abgesehen davon habe ich noch kein C File gefunden. Assembler kann ich leider noch nicht ... Also wenn es mit der SW hier im Forum "funkt", werde ich das mal versuchen ... Lg Tobias
Einen "extra" Oszillator brauchst du nicht, der AVR wird (kann!) mit den 10MHz des RFM-12 getaktet. Schau mal ins Datenblatt. Ich kann nicht verstehen, dass du noch kein C File gefunden hast ?!?! Bist du etwa auch Anfänger was das "GOOGELN" angeht ?
Visitor schrieb: > Einen "extra" Oszillator brauchst du nicht, der AVR wird (kann!) mit den > 10MHz des RFM-12 getaktet. Schau mal ins Datenblatt. > > Ich kann nicht verstehen, dass du noch kein C File gefunden hast ?!?! > > Bist du etwa auch Anfänger was das "GOOGELN" angeht ? Ich meine ich habe hier noch kein C File gefunden auf das ich referenzieren kann .. Ok also danke für eure Unterstützung .... Lg aus Wien Tobias
Schau mal hier: Beitrag "Beispielprogramm für RFM12 433MHz Funk-Module" Da sind in einem zip-Archiv verpackte C-Files (fortlaufend im Verlaufe des Threads aktualisiert), mit denen man das RFM12 benutzen kann. Der Thread ist mittlerweile leider sehr unübersichtlich geworden... Das hier scheint die aktuellste Version in der Codesammlung zu sein: Beitrag "Re: Beispielprogramm für RFM12 433MHz Funk-Module" Siehe auch den Artikel hier dazu: http://www.mikrocontroller.net/articles/AVR_RFM12
Einen schönen guten Tag auch, bin neu hier und hab mich mal n bischen mit dem pic und dem RFM auseinandergesetzt, bei der Programmierung hab ich mich sehr an eure Vorschläge gehalten, aber irgenwie ist da noch der wurm drine, ich selber benutz das RFM12 von Pollin. Ich wollte damit ein kleines spiel programmieren, um die Funkübertragung erstmal auszuprobieren. Wäre cool wenn mir jemand nen tipp geben kann wo ich scheisse gebaut hab. Außerdem nimmt er den PORTA als eingang nicht an, und ich weiß nicht wieso, aber ihr bestimmt. Mfg Karl
Hallo, also dieser Thread ist einfach riesig. Bevor ich mich hier durchackere würde ich gern allgemein ein paar Fragen stellen. Nicht das ich diesen Thread durchlese und am Ende kommt raus, dass das was ich vorhabe nicht funktioniert. Also es geht um Folgendes: Mein Sendemodul von RFM soll keine komplizierten Datenschicken. Das Sendemodul soll in einer "Fernbedienung" eingebaut sein. Auf dieser "Fernbedienung" befindet sich lediglich ein Taster. Wenn dieser gedrückt wird soll an das Empfangsmodul ein einfaches "Ein- Signal" (ein 1er oder so) gesendet werden um meinen ATMEGA8 aus dem "tiefschlaf" zu holen. Sprich ein externer Interrupt der den ATMEGA8 aus dem "Power- Down"- Modus holt. Brauch ich in der Fernsteuerung nun auch einen µC oder reicht der eine der am Empfangsmodul sitz? Wie schaut es mit der Beschaltung von diesen Modulen aus (RFM01 & RFM02). Gibt es bereits includes bzw. vorgefertigte Programme, die die Sache vereinfachen würden und für mein Setup passen (ATMEGA8). Muss ich zwingend mit dem UART arbeiten? MFG Julian
1. Schau mal ins Wiki 2. Du brauchst auf beiden Seiten einen µC 3. Du kannst mit dem RFM auch Signale von anderen Sendern auf der gleichen Frequenz empfangen, z.B. Funksteckdosen
1. Im Wiki finde ich nur RFM12 und da nur ein kurze Beschreibung. 2. Was müsste dieser µC auf der Seite des Senders machen?
Moin, >Beim Hersteller der Module findest Du weitaus bessere >Datenblätter, mit denen man sogar etwas anfangen kann: Jo, oder direkt beim Hersteller der Chips (Silabs): http://www.silabs.com/support/pages/support.aspx?ProductFamily=EZRadio Si4320 = RF(M)02 Si4020 = RF(M)01 RFM12 musst Du suchen, müßte auch da zu finden sein (habe ich bisher nicht gebraucht). Sehr nett auch das "RF Wireless Foundation Course Book One" (ganz unten auf der Seite). Damit kann man schon mal ein paar sinnvolle HF-Parameter eingrenzen. Verfeinern geht immer noch :-) Gutes Gelingen! Ralph
Moin, ich habe eigendlich gute erfahrung mit dem modul gemacht... (868MHz) nur bekomme ich den nIRQ nicht zum lauffen der is immer high... mit diesem Programm habe ich kein Problemm PWM geht RX im Pulling Mode geht auch...
1 | #include <avr/io.h> |
2 | #include <avr/interrupt.h> |
3 | #include <stdlib.h> |
4 | #include <inttypes.h> |
5 | #include "global.h" |
6 | #include "rf12.h" |
7 | #include <stdint.h> |
8 | #include <string.h> |
9 | |
10 | #define F_CPU 16000000UL |
11 | #include <util/delay.h> |
12 | |
13 | #define F_PWM 100 // PWM-Frequenz in Hz |
14 | #define PWM_STEPS 256 // PWM-Schritte pro Zyklus(1..256) |
15 | #define PWM_PORT PORTD // Port für PWM |
16 | #define PWM_DDR DDRD // Datenrichtungsregister für PWM |
17 | |
18 | #define T_PWM (F_CPU/(F_PWM*PWM_STEPS)) // Systemtakte pro PWM-Takt |
19 | |
20 | #if (T_PWM<(93+5)) |
21 | #error T_PWM zu klein, F_CPU muss vergrösst werden oder F_PWM oder PWM_STEPS verkleinert werden |
22 | #endif |
23 | |
24 | // globale Variablen |
25 | |
26 | volatile uint8_t pwm_setting[8]; // Einstellungen für die einzelnen PWM-Kanäle |
27 | |
28 | // Timer 1 Output COMPARE A Interrupt |
29 | |
30 | ISR( TIMER1_COMPA_vect ) |
31 | { |
32 | static uint8_t pwm_cnt=0; |
33 | uint8_t tmp=0; |
34 | |
35 | OCR1A += (uint16_t)T_PWM; |
36 | |
37 | if (pwm_setting[0] > pwm_cnt) tmp |= (1<<0); |
38 | if (pwm_setting[1] > pwm_cnt) tmp |= (1<<1); |
39 | if (pwm_setting[2] > pwm_cnt) tmp |= (1<<2); |
40 | if (pwm_setting[3] > pwm_cnt) tmp |= (1<<3); |
41 | if (pwm_setting[4] > pwm_cnt) tmp |= (1<<4); |
42 | if (pwm_setting[5] > pwm_cnt) tmp |= (1<<5); |
43 | if (pwm_setting[6] > pwm_cnt) tmp |= (1<<6); |
44 | if (pwm_setting[7] > pwm_cnt) tmp |= (1<<7); |
45 | PWM_PORT = tmp; // PWMs aktualisieren |
46 | |
47 | if (pwm_cnt==(uint8_t)(PWM_STEPS-1)) |
48 | pwm_cnt=0; |
49 | else |
50 | pwm_cnt++; |
51 | } |
52 | |
53 | |
54 | int main(void) { |
55 | |
56 | // PWM einstellen |
57 | |
58 | PWM_DDR = 0xFF; // Port als Ausgang |
59 | |
60 | //Timer 1 OCRA1, als variablem Timer nutzen |
61 | |
62 | TIMSK |= (1<<OCIE1A); //compare mode |
63 | TIFR |= (1<<OCF1A); //reset flags |
64 | TCCR1B = 1; //Timer läuft mit vollem Systemtakt |
65 | sei(); //Interrupts gloabl einschalten |
66 | |
67 | |
68 | rf12_init(); // ein paar Register setzen (z.B. CLK auf 10MHz) |
69 | rf12_setfreq(RF12FREQ(868.92)); // Sende/Empfangsfrequenz auf 433,92MHz einstellen |
70 | rf12_setbandwidth(4, 1, 4); // 200kHz Bandbreite, -6dB Verstärkung, DRSSI threshold: -79dBm |
71 | rf12_setbaud(19200); // 19200 baud |
72 | rf12_setpower(0, 6); // 1mW Ausgangangsleistung, 120kHz Frequenzshift |
73 | |
74 | |
75 | uint8_t pegel = 0; |
76 | unsigned char test[1]; |
77 | |
78 | while (1) |
79 | { |
80 | rf12_rxdata(test,1); |
81 | pwm_setting[5] = test[0]; |
82 | pwm_setting[6] = test[0]; |
83 | } |
84 | |
85 | } |
was muss ich den ändern damit der nIRQ reagirt? erste idee war RX einschalten aber daten nicht abhollen ...dann müsste er ja mekern... so war mein gedanke nur die änderung:
1 | rf12_trans(0x82C8); // RX on |
2 | rf12_trans(0xCA81); // set FIFO mode |
3 | rf12_trans(0xCAF3); // enable FIFO (mit änderung für 868 Modul Normal CA83 |
4 | while (1) |
5 | { |
6 | //rf12_rxdata(test,1); |
7 | pwm_setting[5] = test[0]; |
8 | pwm_setting[6] = test[0]; |
9 | } |
also einfach den RX on und waren... aber nix... nIRQ ist einfach immer high... oder ist mein modul kaput? brauch der pin ein pull down? hat da wer ne idee? ps.: Messungen am RSSI und am FFIT mit dem ozi ergaben das der Empfänger daten bekommt...nur wie schon gesagt bewegt sich der nIRQ nicht.... -_-
Hallo, ich habe nochmal kurz ne Frage, wenn ich das Modul RFM12 mit rf12_trans(0x8201); in die Traumwelt schicke, wie lange brucht das Modul dann wieder zum aufwachen?
jack wassolldas schrieb: > giebt es auch was in basscom??? Hallo Vollidiot, geh erstmal schlafen (das nüchtert falls nötig aus), dann lern schreiben und stell deine Frage im passenden Thread: Beitrag "Re: hilfe rfm funkmodul?"
Lieber Kollege Dieser Ton ist hier nicht angebracht, bitte entweder Zurückhaltung üben oder ein anderes Forum besuchen. LG Rubi
Michael Rubitschka schrieb: > Dieser Ton ist hier nicht angebracht Stimmt! Hingeschissene Beiträge wie dieser hier Beitrag "hilfe rfm funkmodul?" sind es aber auch nicht. Das versuche ich dem Fragesteller klar zu machen, mit allen Mitteln. Ob es dir zusteht mich maßzuregeln lasse ich jetzt mal außen vor.
Auf unbelehrbare gehe ich nicht weiter ein, dafür ist mir meine Zeit zu schade. Wäre schön wenn Du für deine tiefgründigen Beiträge ein anderes Forum finden könntest. LG Rubi
Hallo! hat schon jemand versucht, die RFM12 module von 434 auf 868 MHz anzupassen, intern können die das ja, man müsste nur die Anpassnetzwerke für die Antenne ändern, wenn ich das im Datenblatt vom RF12 richtig verstanden habe... prinzipiell müsste ich ja nur die passenden Bauteile vom RFM12 runterlöten und andere einsetzen... geht das so einfach? wär toll, wenn ich ne Antwort bekommen würde. Grüße, Philipp
Sollte gehen, aber bei Preisen von 3-5 Euro für so ein Modul suche ich nicht nach den SMD-Teilen, sondern bestell einfach passende Module. Gibt ja mittlerweile mehrere Quellen für diese Teile. Ist auch kostenmäßig wesentlich günstiger. Gruß Jadeclaw.
Bei dem Shop werden ja zwei verschiedene RFM12B Module angeboten. Hat der S2 Typ Diversity Richtkoppler auf dem Board ? Sieht ein bisschen danach aus auf den Fotos . Oder sind das nur grosse Anschlusspads für einen anderen Quarz ?
Das Modul RFM12B und auch ne interessante Exntwicklungsplatine gibts auch bei http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=248
Matthias Sch. schrieb: > Oder sind das nur grosse Anschlusspads für > einen anderen Quarz ? Genau. Wenn es auf jeden Millimeter ankommt, spart man mit dem S2-Modul durch den anderen Quarz noch 1mm in der Höhe. Ansonsten sind die Module elektrisch gleich. Gruß Jadeclaw.
Hallo zusammen, bin mir nicht sicher, ob mein beitrag hier richtig ist: Gibt es irgendwo einstellungsparameter für eine funktionierende RFM12/RFM02 funkstrecke? Gruß Karsten
Hallo alle, ich habe eine Frage über die die RFM12-Modul, die ziemlich kritisch zu meinem Projekt ist. Wenn die Funkmodulen eigene Takt von 10mhz haben, ist es möglich, den Takt von mCs von dieser Frequenz abzuweichen. Ich wollte folgendes System entwickenln: PC <-> mC <-> RFM12 <-> RFM12 <-> mC. Leider ist ersten mC auf 3,6864Mhz getaktet(Wegen der Schnittstelle mit einem Rechner) und diese Frequnz ist leider zu niedrig für zweiten (Er muss einen Roboter steuern. Ich dennke für 18,432). Und meine Frage ist: Wird das System stabil funktionieren mit einer so grossen Differenz in Frequenzen ? Danke in voraus. Viele Grüsse Krasimir
Die Frequenz des µC hat mit der des Funkmoduls nichts zu tun. Die Baudrate mit der die Daten vom RFM übertragen werden stellst du im RFM ein. Der µC muss die Sendedaten nur entsprechend schnell liefern und auf der anderen Seite wieder auslesen - was bei dem Verhältnis µC-Taktfrequenz <-> Funk-Baudrate keinerlei Problem darstellen sollte. ist wie µC (3.686MHz) --> 19200Baud_RS232 ---> PC 3GHz Sascha
Hallöle, ich habe 2 Pollin-Boards (Version 1.2) mit Atmega8L (hängt am 12MHz Quarz des Pollin-Boards) sowie jeweils einem RFM12-433. Nach einigen Stunden Foren-Lektüre habe ich verstanden: die Pollin-Beispielprogramme sind nicht zu gebrauchen. Allerdings blicke ich bei den vielen Alternativlösungen nun auch nicht mehr durch und so frage ich mal ganz vorsichtig in die Runde: Welcher der vielen Beispielcodes läuft auf meinen (unmodifizierten) Boards? Dabei möchte ich den Atmega8 am 12MHz Quarz betreiben/belassen und optimalerweise Interrupt-getriggerte Abfragen benutzen (muß aber nicht unbedingt sein). Kleiner Tipp wäre nett. Viele Grüße Igel1
Hi, Hat jemand schon versucht, den analogen Modus zu verwenden? Ich frag gerade des wegen, da ich ein versuche ein Datenübertragung mittels DSSS durchzuführen. Zum dekodieren will ich die empfangene Daten/Rauschen am analogen Ausgang mit dem AVR-AD-Wandler aufnehmen und über die UART zum PC senden. am PC werden die Daten mittels Korrelation rekonstruiert. Ich weis leider nicht was ich fur den Analogen modus einstellen muss. Gruss Marco
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.