Hallo Leute,
Mein aktuelles Projekt verwendete zur Kommunikation die recht bekannten RFM70-Funkmodule, was auch gut funktionierte,
jedoch haben diese eine zu geringe Reichweite, daher wollte ich nun auf RFM73P-Module umsteigen, welche bis zu 20dBm
Sendeleistung haben - Zumindest in der Theorie, denn bei mir komme ich mit Glück auf 20cm Reichweite, während ich selbst mit
dem RFM70 mindestens 10m Reichweite hatte...
Weiterhin macht es keinen Unterschied, ob der On-Board-PA(Power-amplifier) aktiviert ist, oder nicht...Externe Antenne bringt ebenfalls nichts...
Zur Ansteuerung verwende ich die Lib von http://projects.weber-itam.de/?p=90, welche ich auf das RFM73 angepasst habe.
die Module unterscheiden sich dabei nur in einigen Register initialisierungen, welche ich angepasst habe...
Hier mal, wie ich die Register setzte:
Hat vieleicht jemand die Module schon einmal verwendet, und hat ne Idee, woran es liegen könnte?
An der Hardware wird es wohl nicht liegen: Ich habe die Module Berreits gwechselt...
Versorgt werden die Module einmal mit 4,2V - das andere mal mit 4V.
Das Datenblatt zum Modul: http://www.hoperf.com/upload/rf/RFM73P.pdf
EDIT: Habe gerade mal, ohne die Software zu ändern das RFM70 angesteckt:
Funktioniert einwandfrei und mit (hierfür) relativ hoher Reichweite,
obwohl die Register ja eigentlich ans RFM73 angepasst sind, wobei die änderungen
allerdings auch nur magial sind...
Wenn ich nur an einer Seite ein RFM70 einsetzte funktioniert es interessanter Weise auch,
die scheinen nicht viel geändert zu haben, am Funkprotokoll...
Also:
Wenn ich kein Autoacknowledge verwende sieht es so aus:
Achtung: Ich weise hier schonmal gleich darauf hin, das ich den Tread auch auf µC.net
einstellen werde, da es sich bei diesem Thema ja dann doch um etwas eher spezielles handelt...
Selbstverständlich werde ich eine evt. Lösung hier ebenfalls bekanntgeben!
Danke, schonmal im Vorraus,
Mein aktuelles Projekt verwendete zur Kommunikation die recht bekannten RFM70-Funkmodule, was auch gut funktionierte,
jedoch haben diese eine zu geringe Reichweite, daher wollte ich nun auf RFM73P-Module umsteigen, welche bis zu 20dBm
Sendeleistung haben - Zumindest in der Theorie, denn bei mir komme ich mit Glück auf 20cm Reichweite, während ich selbst mit
dem RFM70 mindestens 10m Reichweite hatte...
Weiterhin macht es keinen Unterschied, ob der On-Board-PA(Power-amplifier) aktiviert ist, oder nicht...Externe Antenne bringt ebenfalls nichts...
Zur Ansteuerung verwende ich die Lib von http://projects.weber-itam.de/?p=90, welche ich auf das RFM73 angepasst habe.
die Module unterscheiden sich dabei nur in einigen Register initialisierungen, welche ich angepasst habe...
Hier mal, wie ich die Register setzte:
Code:
const uint8_t PROGMEM RFM70_bank0Init[][2] = {
// address data
{ (0x20|0x00), 0x0F },
{ (0x20|0x01), 0x3F },
{ (0x20|0x02), 0x3F },
{ (0x20|0x03), 0x03 },
{ (0x20|0x04), 0xFF },
{ (0x20|0x05), 0x01 },
{ (0x20|0x06), 0x07 },
{ (0x20|0x07), 0x07 },
{ (0x20|0x08), 0x00 },
{ (0x20|0x09), 0x00 },
{ (0x20|0x0C), 0xc3 },
{ (0x20|0x0D), 0xc4 },
{ (0x20|0x0E), 0xc5 },
{ (0x20|0x0F), 0xc6 },
{ (0x20|0x11), 0x20 },
{ (0x20|0x12), 0x20 },
{ (0x20|0x13), 0x20 },
{ (0x20|0x14), 0x20 },
{ (0x20|0x15), 0x20 },
{ (0x20|0x16), 0x20 },
{ (0x20|0x17), 0x20 },
{ (0x20|0x1C), 0x3F },
{ (0x20|0x1D), 0x07 }
};
//************ Bank1 register initialization commands
const uint8_t PROGMEM RFM70_bank1Init[][5] = {
// address data
{ (0x20|0x00), 0x40, 0x4B, 0x01, 0xE2 },
{ (0x20|0x01), 0xC0, 0x4B, 0x00, 0x00 },
{ (0x20|0x02), 0xD0, 0xFC, 0x8C, 0x02 },
{ (0x20|0x03), 0x99, 0x00, 0x39, 0x41 },
{ (0x20|0x04), 0xD9, 0x96, 0x82, 0x1B },
{ (0x20|0x05), 0x24, 0x06, 0x7F, 0xA6 },
{ (0x20|0x06), 0x00, 0x00, 0x00, 0x00 },
{ (0x20|0x07), 0x00, 0x00, 0x00, 0x00 },
{ (0x20|0x08), 0x00, 0x00, 0x00, 0x00 },
{ (0x20|0x09), 0x00, 0x00, 0x00, 0x00 },
{ (0x20|0x0A), 0x00, 0x00, 0x00, 0x00 },
{ (0x20|0x0B), 0x00, 0x00, 0x00, 0x00 },
{ (0x20|0x0C), 0x00, 0x12, 0x73, 0x00 },
{ (0x20|0x0D), 0x46, 0xB4, 0x80, 0x00 }
};
//************ Bank1 register 14 initialization commands
const uint8_t PROGMEM RFM70_bank1R0EInit[] = {
// address Data...
(0x20|0x0E), 0x41,0x20,0x08,0x04,0x81,0x20,0xCF,0xF7,0xFE,0xFF,0xFF
};
Hat vieleicht jemand die Module schon einmal verwendet, und hat ne Idee, woran es liegen könnte?
An der Hardware wird es wohl nicht liegen: Ich habe die Module Berreits gwechselt...
Versorgt werden die Module einmal mit 4,2V - das andere mal mit 4V.
Das Datenblatt zum Modul: http://www.hoperf.com/upload/rf/RFM73P.pdf
EDIT: Habe gerade mal, ohne die Software zu ändern das RFM70 angesteckt:
Funktioniert einwandfrei und mit (hierfür) relativ hoher Reichweite,
obwohl die Register ja eigentlich ans RFM73 angepasst sind, wobei die änderungen
allerdings auch nur magial sind...
Wenn ich nur an einer Seite ein RFM70 einsetzte funktioniert es interessanter Weise auch,
die scheinen nicht viel geändert zu haben, am Funkprotokoll...
Also:
Code:
Sender |Empfänger |Reichweite
RFM70 |RFM70 |hoch
RFM70 |RFM73P |mäßig
RFM73P |RFM70 |etwas geringer als mäßig
RFM73P |RFM73P |sehr gering
Wenn ich kein Autoacknowledge verwende sieht es so aus:
Code:
Sender |Empfänger |Reichweite
RFM70 |RFM70 |hoch
RFM70 |RFM73P |hoch
RFM73P |RFM70 |fast nicht mehr vorhanden
RFM73P |RFM73P |fast nicht mehr vorhanden
Achtung: Ich weise hier schonmal gleich darauf hin, das ich den Tread auch auf µC.net
einstellen werde, da es sich bei diesem Thema ja dann doch um etwas eher spezielles handelt...
Selbstverständlich werde ich eine evt. Lösung hier ebenfalls bekanntgeben!
Danke, schonmal im Vorraus,