Viel zu geringe Reichweite mit RFM73P-Funkmodulen

AVRuser

Neues Mitglied
20 Apr 2011
217
0
0
Niedersachsen
Sprachen
BascomAVR, ANSI C
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:

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,
 

AVRuser

Neues Mitglied
20 Apr 2011
217
0
0
Niedersachsen
Sprachen
BascomAVR, ANSI C
Ich glaube, das erklärt schon einiges:D:flute:

Gemessen am VCC vom PA an Sender und Emfänger...

Sender: Anhang anzeigen NewFile4.bmp
Sender: Anhang anzeigen NewFile3.bmp
Empfänger: Anhang anzeigen NewFile0.bmp

Jeweils beim Senden, bzw ACKn

Das RFM70 zieht nur ein paar mA, daher lief es mit dem immer Problemfrei,
das RFM73P zieht beim Senden, bis zu 150mA, was an einem Flachbandkabel ohne Bufferelkos,
wohl etwas viel ist...:rolleyes:
 

AVRuser

Neues Mitglied
20 Apr 2011
217
0
0
Niedersachsen
Sprachen
BascomAVR, ANSI C
Daran lag es wohl doch nicht...
 

AVRuser

Neues Mitglied
20 Apr 2011
217
0
0
Niedersachsen
Sprachen
BascomAVR, ANSI C
...Ist ein Datenblattfehler gewesen, am Wochenende mehr dazu...
 

Luriel

Neues Mitglied
25 Okt 2010
1
0
1
Sprachen
Hallo,

Es ist zwar einige Zeit her, aber da ich momentan vor dem selben Problem stehe, wäre ich über eine abschließende Info sehr erfreut.

Auch würde mich interessieren, welcher Fehler im Datenblatt vorlag und wie das Problem gelößt wurde.

Gruß Luriel
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)