Bauplan Schaltplan Funkmodul RFM12 IRQ gesteuertes Empfangen von Daten

RFM12 Funkmodul auf Steckbrett

Möchte man Daten zwischen zwei Mikrocontrollern übertragen , sind die RFM12 Funkmodule von HopeRF eine nähere Betrachtung wert. Sie sind sehr klein, preiswert und flexibel zu konfigurieren.

Damit lassen sich eine ganze Reihe von Anwendungen zum Beispiel in der Haustechnik oder Steuerungstechnik realisieren. Sensoren, Fernsteuerungen, Alarmsysteme sind nur einige der typischen Anwendungen.

Die RFM12 Module besitzen ein serielles 3-Draht Interface, über welches die Kommunikation mit dem Controller erfolgt. Zusätzlich gibt es noch weitere Steuerleitungen, mit denen sich Interrupts erzeugen lassen oder zusätzliche Funktionen abgerufen werden können.

Als Gegenstück zu der hier vorgestellten Sender-Software habe ich die passende Empfänger-Software entwickelt, sie kann hier heruntergeladen werden. Sie ist vollständig in Assembler geschrieben (Atmel Mega8) und benutzt den vom RFM12 Modul gelieferten Interrupt, um die Datenünbertragung im Hintergrund zu erledigen.

Die empfangenen Daten werden auf der Seriellen Schnittstelle ausgegeben. Weiterhin können über die Serielle Schnittstelle Unterprogramme aufgerufen werden, um zum Beispiel den Status des Moduls abzufragen oder das Modul zurückzusetzen.

Die Software ist noch kein vollständiges Datenübertragungsprotokoll, sondern empfängt lediglich eine voreingestellte Anzahl von Bytes und gibt diese auf der Seriellen Schnittstelle aus. Diese Funktionalität kann als Grundgerüst für komplexere Anwendungen dienen, zum Beispiel könnte man die Datenübertragung mit einem CRC Code absichern, oder eine Bidirektionale Übertragung realisieren.

Das Programm initialisiert nach einer kurzen Power-UP Verzögerung das Modul und begibt sich in eine Warteschleife. Sobald ein Interrupt vom Modul angefordert wird, prüft das Programm, ob ein Zeichen im FIFO-Puffer vorhanden ist und liest dieses gegebenenfalls ein. Nach einer voreingestellten Zeichenanzahl wird das Modul wieder in den Bereitschafts-Zustand versetzt, um auf das nächste Datenpaket zu warten.

Wenn der Empfang eines Paketes zu lange dauert, wird das Modul neu initialisiert. Dies stellt die Empfangsbereitschaft sicher, falls das Modul nocht mehr korrekt reagieren sollte. Meine Module hängen sich sehr gerne auf, wenn die Betriebsspannung bei 5 Volt liegt (Obwohl dafür spezifiziert). Bei niedrigeren Spannungen laufen sie einwandfrei, während eines mehrstündigen Tests traten keinerlei Aussetzer auf.

Der Empfang war übrigens auch in 20m Entfernung durch eine Aussenmauer noch einwandfrei, bei freier Sichtverbindung sollten natürlich noch wesentlich höhere Entfernungen überbrückbar sein.

Bauteile für dieses Projekt - Anzeigen:
Aktive Bauelemente

Passive Bauelemente


Weitere Informationen,Grundlagen,Bauanleitung,Schaltplan, Links zum Thema
Anzeigen:

Neueste Artikel
Anzeigen:
Aktuelle Newsbeiträge
Sie sind Besucher Nr. 1212280