Erstes "RF only" Funkmodul¶
Als Funk-Hardware nehme ich den RFM22B (in der 868MHz Version) von hoperf.com.
Der ältere, bekanntere RFM12 unterstützt nicht die KNX-RF chiprate, und hat auch unbefriedigende Reichweite.
Hardware¶
Dies ist ein Versuchsaufbau, um die generelle Funktion auszutesten. Die endgültigen Funk-Module werden anders aussehen!
eagle Dateien und Fotos:
SVN: hardware/ideas/funkmodul
Im derzeitigen (Q1/2010) Versuchsaufbau habe ich einen ATMEGA168 mit einem RFM22 verwurstet, das Ganze ist als Steckmodul mit Pfostenstecker ausgeführt, man kann es auf ein Steckbrett setzen oder das Drumherum (app-board) zunächst auf Lochraster aufbauen.
Zusätzlich sechspoliger Pfostentecker für das flashen der firmware (ISP). Der AVR hat keinen eigenen Quarz. Den clock liefert der RFM22 (10MHz).
Antennenanschluss¶
ist für SMA oder SMB Buchse ausgelegt, ich verwende einfach 2 Stück 8cm lange Drahtstücke, die in entgegengesetzte Richtungen weisen.
Versorgung¶
Achtung! Kein Spannungsregler auf dem Funkmodul vorhanden! 3 Volt reichen, z.B. 2 AA Primärzellen oder 3 NiMH AA-Akkus (3*1.2V=3.6V) oder ein entsprechendes Netzteil, oder ein Spannungsregler auf Lochraster, oder oder ... Nur nicht wesentlich mehr als 3.6 V anlegen!!! Sonst RFM22 tot.
Firmware¶
SVN software/avr/rf/
Sie kann bisher (hoffentlich) KNX-RF konforme Telegramme senden und empfangen.
Wenn das Modul senden soll, ist pin PC0 auf GND zu legen, andernfalls auf VDD.
Es wird ca. alle 1.5 sekunden ein Telegramm gesendet. Der Inhalt des Telegramms ist noch fix, in den Nutzlast-Bytes läuft mehrfach ein Zähler hoch.
CRC wird auf der Sendeseite schon gebildet, auf der Empfangsseite aber noch nicht geprüft.
Das empfangene Telegramm wird über den USART mit 9600 8N1 ausgegeben. In Byte 24 wird die Empfangsfeldstärke eingeblendet, in Schritten von 0.5dB.
Man kann über den USART auch direkt die Register des RFM22 ansprechen.
Format: @xxyy.
xx : register adresse vom RFM12 (hex)
oberstes bit 0: lesen, 1: schreiben
yy : Wert (hex)
Die Firmware basiert auf SVN software/atmega8, Stand ende 2009. Ich habe die entsprechenden C-files entsprechend fbrf_hal.c, fbrf_prot.c usw
getauft.
Quelltext-files entsprechen noch nicht den freebus regeln (tabs @ 4 spaces, doxygen doku, Kopf mit copyright etc)