Ich habe mich wieder mal mit dem RFM12 beschäftigt. Herausgekommen ist
eine drahtlose RS232 Übertragung mit einer einfacher FEC (forward error
correction).
Die Software ist sehr einfach gehalten und funktioniert nach folgendem
Prinzip:
Das Modul befindet sich im fast immer Empfangsmodus, die RX LED
leuchtet.
Trifft ein Byte über Funk ein, wird das komplette Paket empfangen und
über den UART weitergeleitet, falls dieses fehlerfrei empfangen wurde.
Außerdem leuchtet dann die OK LED.
Trifft ein Byte über den UART ein, wird es gespeichert und ein 100ms
Timer gestartet. Solange können neue Bytes eintreffen, die dem Paket
hinzugefügt werden. Nach 100ms oder falls eine entsprechende Anzahl an
Daten erreicht ist, wird das Modul auf Senden geschaltet (TX LED an) und
das Paket gesendet. Wenn gleichzeitig das andere Modul sendet, gehen
Daten verloren. Danach wird wieder auf RX umgeschaltet.
Das Paket ist einfach aufgebaut: Anzahl der zu übertragenden Bytes,
Daten und die Summe aller Bytes als Prüfsumme.
Alle Daten werden über einen einfachen Hamming Code übertragen, um eine
gewisse Fehlerkorrektur zu haben.
Sollte die Prüfsumme am Ende falsch sein, wird das Paket einfach
weggelassen (und die OK LED geht aus).
Das ganze ist keine ordentliche Lösung, funktioniert aber recht gut.
Meine Erfahrungen mit dem Modul sind, dass entweder die Daten alle
korrekt, oder komplett falsch ankommen (da andere Sender
dazwischengefunkt haben). Das erkennt dann die Prüfsumme.
Die Reichweite liegt bei >100m, solange keine anderen Sender in der Nähe
sind.
Einen Schaltplan habe ich (noch) nicht gezeichnet, kann ich aber machen.
Die Belegung der LEDs ist in der leds.h festgelegt, das RFM12 hängt am
SPI Port (PORTB). Mehr braucht man nicht. Ich betreibe den AVR mit dem
10MHz Takt des RFM12.
Hier nochmal das ganze mit leicht optimierten Puffereinstellungen und
Schaltplan. Auch die Funktionen der LEDs haben sich leicht geändert.
Ich habe das ganze jetzt mehrere Stunden quer durchs Haus senden lassen:
Es gab keine Datenfehler außer wenn der 433MHz Sender vom
Funkthermometer gleichzeitig sendet. Die Module sind also relativ robust
was die Datenqualität angeht.
Joar da wird shcon einiges an Fehlerkorrektur drinnestecken :)
Wenn ich mal Zeit hab werd ich das mal versuchen aufzubauen, im Momment
ist leider imemr viel zu tun wegen Studium :(
Ich habe das ganze heute Nachmittag mal etwas getestet:
Ein Modul ist mit dem PC verbunden, beim anderen sind TXD und RXD
verbunden. Das Modul sendet also alle Daten zurück.
Beide Module sind etwa 25m und 2 Stockwerke entfernt.
Nach 4 Stunden hatte ich folgendes Ergebnis:
36412 gesendete Pakete zu je 64Bytes, davon empfangen: 36386
Das ergibt eine Verlusterate von 0,071%. Beschädigt kamen keine Pakete
an. Falls also ein Fehler aufgetreten ist, wurde das Paket garnicht erst
weitergeleitet.
Wenn ich das aufgebaut hab kann ich mich ja mal etwas an der
Weiterintwicklung der Firmeware beteiligen, da ich diese Semester eh
gerade Computernetworks (unter anderem gehts da halt auch um Wireless
Kommunikation) und InformationsTheorie/Kanalkodierung (sozusagen das
drunterliegende)
Man könnte ja noch ne Art ACK System einführen (wird ja eh gepuffert,
dann kann man auf dem "Rückweg" ein ACK huckepack tragen und ggf den
Buffer neu übertragen oder nen Fehler ausgeben)
Was mir gerade so einfällt: das wäre dann nen 1A WireLess ISP
(Bootloader vorausgesezt, bzw eine AVR der das in ISP umsezt)
Ich habe eine Version mit Rückantwort gerade ausprobiert: Es
funktioniert so naja.
Das Problem ist, das bei einer Neuübertragung der Empfangspuffer des
Senders überläuft wenn er weiterhin mit Daten vom PC beschäftigt wird.
Ich habe ein ganz einfaches System eingebaut:
Nach jedem empfangenen Packet sendet der Empfänger ein OK oder
beschädigt Zeichen zurück. Sollte innerhalb von 50ms nichts beim Sender
ankommen wird das Paket vom Sender automatisch nochmal übertragen. Nach
5 Versuchen geht eine Error LED an. Die Pakete werden fortlaufend
nummeriert, für den Fall, dass lediglich die OK Antwort vom Empfänger
nicht ankam.
Ein weiteres Problem ist, wenn beide Seiten gleichzeitig das Senden
anfangen.
Noch ein Nachtrag zur bisherigen Version: In der rf12.c muss bei
BUFF_SIZE der gleiche Wert eingestellt werden wie in der main.c. Das
habe ich in der letzter Version falsch gemacht: In der rf12.c muss
ebenfalls 64 eingestellt werden, sonst kann es zu Datenverlust kommen !
Heute Nacht lief der Sender mit der Empfangsbestätigung:
Von 27200 Paketen (je 127Bytes) kam 1 Paket nicht an, da der UART
Empfangspuffer überlief. Dadurch wurden 507Bytes beschädigt.
Um den Sender zu stören, habe ich einen weiteren Sender laufen lassen,
der alle 10s etwa 1s lang sendet.
Mit der alten Software ohne Korrektur hatte ich dann etwa 8,3% Verlust.
Ich glaube ich ersetzte den Hamming Code durch irgendetwas effizienteres
(oder lasse diesen ganz weg). Gibt es irgendeine Codierung, die etwa 50%
overhead erzeugt, aber trotzdem 1 Fehler pro Byte korrigieren kann ?
Lass den Hamming weg, das wird das Modul eh intern schon machen.
Man aknn nicht einen Fehler, sondern mindestens(!) einen Korrigieren,
mehr ginge nur mit Softdesicion problem ist nur: Wird der Empfang durch
ein anderes Modul gestört, nüzt (meist) die beste Fehlerkorrektur nix!
Man könnte höchstens noch mit der Symbolrate rumspielen aber ob das
alles was bringt? Leztendlich kommt ja schon das fertige DigitalSignal
"raus"
Benedikt hast du ICQ oder sowas und magst mir deine Nummer vieleicht mal
per mail/PN senden?
Hier der Code mit Neuanforderung der Daten:
Er funktioniert an sich problemlos, solange der UART Empfangspuffer
(momentan 512Bytes) nicht überläuft. Sobald die Übertragung allerdings
bidirektional wird, und beide Seiten gleichzeitig senden kann es zu
Problemen kommen. Anonsten sollten die Daten fehlerfrei ankommen. Ich
hatte trotz 10%iger Kanalstörung nur 0,004% Verluste und das auch nur
weil der Puffer übergelaufen ist.
Die 4 LEDs haben nun folgende Bedeutungen:
- RX
- TX
- Fehler oder Neuübertragung
- Power
Die todo Liste ist bei diesem Code lang:
- Wenn beide Module gleichzeitig senden müssen sie sich irgendwie einig
werden wer zuerst senden darf.
- Eine Flusskontrolle muss eingebaut werden (theoretisch gibt es in den
UART Routinen eine CTS Funktion, aber diese habe ich noch nie getestet).
Außerdem ist das dann keine echte transparente RS232 Brücke.
- Der Hamming Code braucht zuviel Übertragungsbandbreite. Irgendein
anderer Code (der z.B. nur etwa 50% overhead erzeugt) wäre besser. Ganz
ohne funktioniert es nicht, da zumindest Füllbits eingefügt werden
müssen, da der Empfänger ausreichend Pegelwechsel benötigt um den Takt
sauber wiederherzustellen (es kann ja sein, dass der Benutzer nur 0x00en
oder 0xFFen sendet). Anstelle sinnloser Füllbits ist eine sinnvolle
Codierung besser: Man verschwendet dadurch keine kostbare Bandbreite.
- Was tun wenn nach n Versuchen die Daten immer noch nicht gesendet sind
?
- Die Latenzzeit der Daten beträgt worst case 500ms selbst wenn keine
Übertragungsprobleme auftreten (mit Übertragungsproblemen können die
Daten um einige Sekunden verzögert werden, falls sie doch noch
ankommen).
Für das gleichzeitige Senden würde ich folgendes vorschlagen:
- Das Modul chekct ob der Kanal frei ist (Listen befor Talking)
- Wartet eine zufällig Zeit (Random Backoff delay)
- wartezit bis senden auf 50ms reduzieren ggf lieber eine großen
Sende/Empfangsbuffer und dafür weniger Daten/Paket senden.
ggf. XON/XOFF Protokoll? Das kann normal jedes Terminal.
es sind ja noch ein paar Pins frei am AVR, ggf könnte man sogar ne
Hardwareflußkontrolle implementieren, wer das nicht will kann dann
einfach RTS und CTS brücken (so wie mans normal auch macht) und verliert
dan ggf halt etwas das wäre dann aber noch transparent (vieleicht wäre
auch durch DipSchalter Protokoll/Übertragungsrate wählbar machen?)
Sollte nach X - Wiederholungen keine Antwort kommen könnte man einfach
einen Fehler ausgeben auf die UART und alle Daten verwerfen. (ggf. durch
LEDs zu signalisieren)
Benedikt K. wrote:
> ...Eine Flusskontrolle muss eingebaut werden (theoretisch gibt es in den> UART Routinen eine CTS Funktion, aber diese habe ich noch nie getestet).> Außerdem ist das dann keine echte transparente RS232 Brücke.
Warum dann nicht das altbekannte Software-Handshake (XON/XOFF) nutzen.
ein XOFF über die serielle Schnittstelle (zum PC) ausgeben, sobal der
Sendebuffer bei 400 Zeichen angekommen ist und ein XON, sobald er wieder
unter 100 Zeichen ist. Damit sollten einem halbwegs kontinuierlichen
Datenfluss nichts mehr im Wege stehen. Siehe
http://de.wikipedia.org/wiki/Datenflusskontrolle#Software-Flusskontrolle.2C_Software-Handshake.2C_Software-Protokoll_oder_X-ON.2FX-OFF
Dies wird meines Wissens defaultmäßig von vielen
Kommunikationsprogrammen unterstützt. Selbst von Hyperterminal.
Oder habe ich hier etwas wesentliches außeracht gelassen?
Gruß,
Klaus
Das Problem ist aber: Ich möchte das ganze nicht mit Terminalprogrammen
verwenden, sondern das ganze soll quasi ein drahtloses RS232 Kabel sein.
Im Idealfall sollte daher garkein Handshaking vorhanden sein, damit sich
das Kabel möglichst transparent verhält.
Ich werde aber mal ein CTS Handshaking implementieren, da das meiner
Meinung nach das am weitesten verbreiteste ist, und das ganze oft
hardwaremäßig von vielen größeren UARTs unterstützt wird.
Ich habe das ganze mal noch weiter entwickelt. Theoretisch sollten jetzt
19200Baud bidirektional möglich sein. Bei jeder Empfangsbestätigung
werden automatisch vorhandene Daten mitgesendet. Dadurch teilt sich die
Bandbreite auf beide Richtungen gleichmäßig auf, und die Bandbreite wird
besser ausgenutzt.
Weiterhin habe ich das ganze Programm etwas aufgeräumt und die Hamming
Kodierung entfernt um die vorhandene Bandbreite besser auszunutzen.
Stattdessen bekommen 0x00 und 0xFF einfach ein 0xAA Füllbyte
hinterhergeschickt, um den Bittakt im Empfänger zu synchronisieren (bei
vielen 0x00 oder 0xFF hintereinander gibt es ansonsten Probleme.) Für
diesen Tip möchte ich mich bei Läubi bedanken.
Die meisten Einstellungen der Paramater für den RF12 werden jetzt anhand
der eingestellten Baudrate (laut Datenblatt) optimal eingestellt. Die
Sende/Empfangsfrequenz ist in 4 gleichmäßig im zulässigen Frequenzband
unterteilten Frequenzen mit je 325kHz Bandbreite unterteil, die sich
(zumindest theoretisch) gegenseitig nicht stören dürften.
In einer Richtung sind die vollen 19200Baud möglich (wenn es keine
Störungen auf dem Funkkanal gibt). Werden Daten in beide Richtungen
übertragen, kommt aus irgendeinem Grund ab und zu zu Problemen und
schlimmstenfalls springt das ganze in einen Modus in dem viele Daten
beschädigt oder garnicht ankommen. Vielleicht findet jemand den Fehler,
ich suche jetzt schon seit Stunden, aber finde keinen.
Ebenso merkwürdig ist der Fehler beim CTS Handshake: Aus irgendeinem
Grund ist der Bytezähler nicht synchron zu den wirklick vorhandenen
Bytes im Puffer. So passiert es, dass durchschnittlich etwa 1Byte pro
1kByte verloren geht. Naja, nicht wirklich verloren, die Daten sind
schon noch im Puffer, nur der Puffer weiß das nicht, da der Zähler auf 0
steht. Sendet man weitere Daten, dann werden die fehlenden Daten
gesendet. Dieses Problem liegt definitiv am UART Empfangspuffer und hat
nichts mit dem eigentlichen Sender zu tun. Daher habe ich CTS und
RX_COUNT (beides ist für CTS notwendig) in der UART.h deaktiviert.
Wenn all diese Probleme gelöst sind, kann man einen Schritt weiter
gehen, und eine automatische Kanalbelegung und Baudratenwahl einbauen,
je nachdem wie die Übertragungsbedingungen sind.
Zusammen mit Läubi haben wir ein paar Ideen überlegt:
Man könnte z.b. 1x pro Sekunde ein "Keep Alive" Paket senden (falls
keine Daten zu senden sind) um zu prüfen ob der Empfänger noch da ist.
Falls keine Antwort nach mehreren Anfragen kommt, wechseln Sender und
Empfänger nach einen festen Schema die Kanäle. Hier muss man sich noch
genau überlegen, wie man es schafft, dass sich beide irgendwie finden,
wenn z.B. einer der beiden neu eingeschaltet wird.
Neue Version: Das CTS Problem ist behoben, die Flusskontrolle ist jetzt
eingebaut und aktiv. Auch die bidirektionalen Transfers sollten jetzt
problemlos funktionieren.
In meinen Tests habe ich in einer Richtung 160kByte mit CTS
Flusskontrolle gesendet, und gleichzeitig in der Gegenrichtung 100Bytes
alle 0,1s ohne Flusskontrolle. Beide Daten kamen immer vollständig und
richtig an (solange keine längeren Störungen durch andere Module
vorhanden waren). Die Datenrate lag dabei bei 1,6kByte bzw. 1kByte/s,
was insgesamt etwa 21kBit/s reine Nutzdatenrate ergibt.
Sollte die Übertragung gestört werden, sinkt die Datenrate, da die
übertragenen Daten neu übertragen werden müssen.
@Sören H.
Wie weit bist du ? Dein Protokoll sieht gut durchdacht aus. Ich hatte
auch überlegt ob ich ein etwas komplizierteres einbaue, aber das macht
bei einer simplen 2 Punkt Verbindung mit mittelmäßiger Datensicherheit
eigentlich keinen Sinn, daher habe ich es gelassen und stattdessen nur 1
Pakettyp eingebaut der 1 Statusbyte und ansonsten 0-128Bytes Nutzdaten
enthält. Das hat den Vorteil, dass ich gleichzeitig die
Empfangsbestätigung und Nutzdaten senden kann, und sich die Bandbreite
so automatisch gleichmäßig auf beide Richtungen aufteilt, da beide
aufgrund der Bestätigung immer abwechselnd senden.
Im Anhang ist eine neue Version, bei der sich die Einstellungen per DIP
Schalter an PortC vornehmen lassen. So kann man leicht die Baudrate und
einen von 4 Funkkanälen einstellen ohne die Software anpassen zu müssen.
Je höher die Baudrate, desto geringer wird die Reichweite.
Hallo an alle,
an dieser Stelle mal - HELP!
Ich hatte vor einiger Zeit angefangen diesen Treat hier mitzulesen und
auch drüber nachzudenken. Dummerweise war es mir jetzt eine Weile nicht
möglich und ich habe völlig den Überblick verloren was Stand der Dinge
ist.
Gibt es eine "Projektseite" auf der man den momentanen Stand sehen kann?
Ich bräuchte nur etwas was sich wie ein serielles Kabel verhält
(allerdings mit Fehlerkorrektur) - Handshaking nicht nötig.
Ist die Entwicklung schon so weit gediegen?
Für den Fall das ich auch was helfen kann: Ich muss demnächst bei PCB
Pool bestellen und habe noch Platz auf der Platine - doppelseitig, DK,
Verzinnt aber kein Stoplack. Wenn hier jemand an einem vernünfitgen
redesign arbeitet bin ich gerne bereit es mit auf die Platine zu setzen,
selbige machen zu lassen, wenn sie da ist die anderen Platinen
auszufräsen und dem mit demjenigen per post zukommen zu lassen.
Sorry das ich jetzt hier nach einer "Zusammenfassung" frage aber in 2
Treats zusammen knapp 400 Einträge lesen ist heftigst zumal hier einige
bestimmt mehr Übersicht haben.
Grüße!
Tobi
Geht mir grad genauso, deswegen weiß ich nicht genau, wie Benedikt jetzt
das Protokoll integriert hat, aber ich habe da auch eine Idee:
Ein Ping/Pong Protokoll. Sprich: Die beiden Funkmodule spielen sich
gegenseitig die Sendeerlaubnis zu. Es kommt dann ein kleiner Header in
das Protokoll, mit der Länge der Nutzbytes in diesem Paket.
Kommt nun an Transceiver1 ein Datenpaket über das UART, wird es einfach
in den TX-Buffer geschrieben - fertig.
Jetzt wartet Transceiver auf das nächste empfangene Paket. Guckt nach,
ob Bytes im Paket sind. Wenn ja - legt er die Bytes in den RX-Buffer und
startet einen Interrupt-gesteuerten UART-Versand.
Danach kommt nun sein eigener TX-Buffer an die Reihe. Transceiver1
erstellt jetzt ein Paket und lädt die Bytes aus dem TX-Buffer in das
Paket, und sendet das Paket. Das ganze passiert jetzt innerhalb
Transceiver2.
Also: Wenn keine Daten versendet werden, spielen sich die beiden
Transceiver einfach nur leere Pakete zu. Haben sie was zu senden, hängen
sie es an. Kommt was an - wirds über den UART ausgegeben.
Ich hab nur gerade die böse Ahnung, dass Benedikt das bereits so
integriert hat. Aber sicher bin ich mir nicht.
PS: Ein Problem hat man bei der Variante noch: Welcher Transceiver
startet den ersten Sendeprozess um den Ping/Pong Prozess anzustoßen...
Da sich vermutlich an dieser Software demnächst kaum noch viel an den
Features ändern wird, hier mal die zusammenfassung der letzten Version:
Die Software stellt eine transparente RS232 Verbindung dar, verhält sich
also im Prinzip wie ein RS232 Kabel, allerdings mit einer Laufzeit von
worst case wenigen 100ms.
Die Baudrate ist über DIP Schalter an PortC von 1200 bis 115200Baud
einstellbar (siehe dazu auch Software mit den Zusatzbemerkungen.) Hohe
Baudraten werden zwar unterstützt, das Modul wird aber mit maximal
50kBaud betrieben. Man kann die 115200Baud also nicht voll ausnutzen.
Bei so hohen Datenraten sind die Fehlerrate und die Reichweite meiner
Meinung nach zu schlecht, daher diese Einschränkung. 20m 19200Baud voll
ausgenutzt mit Halbduplex über 20m sind aber bei mir zumindest kein
Problem.
Über die DIP Schalter lässt sicher außerdem eine von 4 möglichen
Frequenzen einstellen (alle innerhalb des zulässigen 433MHz Bandes).
Die Daten werden mit einem einfachen Protokoll übertragen:
- Status (momentan nur als Empfangsbestätigung genutzt)
- Anzahl der zu übertragenden Bytes
- Paketnummer (um Mehrfachübertragungen zu erkennen)
- Nutzdaten
Nach jeder Übertragung wird eine Empfangsbestätigung gesendet. Falls
diese ausbleibt, wird automatisch das Paket nochmal gesendet, solange
bis die Bestätigung eintrifft, oder die Anzahl einen eingestellten Wert
überschreitet. Die Empfangsbestätigung wird nur gesendet, wenn die Daten
fehlerfrei empfangen wurden.
Da das ganze im Ping-Pong Verfahren läuft, und in jedem Paket Nutzdaten
enthalten sein können, kommt jeder der beiden Teilnehmer abwechselnd
dran um seine Daten loszuwerden. Dadurch teilt sich die Bandbreite auf
beide Richtungen gleichmäßig auf.
Sollte der 512Byte große Eingangspuffer zu mehr als der Hälfte gefüllt
sein, wird ein Pin aktiv der mit CTS verbunden werden kann, um so ein
einfaches Handshaking zu ermöglich.
Hi Benedikt!
Ersmal danke da Du dir a) die Mühe gemacht hast diesen Riesenhaufen
Arbeit zu machen und b) hier alles zusammengefasst hast.
Noch ein paar fragen -
Geschrieben in AVRGCC vermute ich? Gibt es fertig compilierte HEX files?
- Ich bin halt Codevision Anhänger
Welche Hardware wird benutzt? Die von Manuel?
Gibt es ein Simpel Moduld was kein USB hat oder kann das bestehende ohne
USB genutzt werden?
Nochmal Sorry fürs blöd fragen aber eine Zusammenfassung ist sicherlich
von vielen begrüßt.
Sollte ich das mit dem rework des designs besser in den Threat posten in
dem das "originaldesign" auch ist?
Tobi
Benedikt, wodurch wird denn der "Ping-Pong"-Prozess angestoßen? Durch
den, der als erstes was zu senden hat? Was ist wenn beide genau
gleichzeitig senden? ;)
Man könnte den Ping Pong prozess anstossen indem wirklich beide zufällig
senden jedoch mit unterschiedlichen "Wartezeiten" für die
Initiallisierung.
Wenn es auf der Luftstrecke kracht dann wartet einer z.B. 200 ms und der
andere 500 ms (vielleicht "zufällig"?) bevor er es erneut probiert so
das dann einer irgendwann senden kann und der andere es empfängt und
bestätigt.
Kam mir nur grad so in den Sinn.
Tobias A. wrote:
> Man könnte den Ping Pong prozess anstossen indem wirklich beide zufällig> senden jedoch mit unterschiedlichen "Wartezeiten" für die> Initiallisierung.> Wenn es auf der Luftstrecke kracht dann wartet einer z.B. 200 ms und der> andere 500 ms (vielleicht "zufällig"?) bevor er es erneut probiert so> das dann einer irgendwann senden kann und der andere es empfängt und> bestätigt.>> Kam mir nur grad so in den Sinn.
Wenn ich beiden unterschiedliche Wartezeiten einprogrammiere, brauche
ich ja wieder 2 "verschiedene" Programme.
Zufällig: Auch problematisch, da man keine gescheite Zufallsquelle ohne
weiteres in nem Mikrocontroller hat.
Hmmmm...
die AVRs haben doch ne seriennummer, oder? Können die die selbst lesen?
Damit könnte man doch dann was machen, oder?
Ausserdem denke ich das das Problem nur dann wirklich kritisch wird wenn
beide Module 100 gleichzeitig angeschaltet werden bzw. die zyklen
synchron sind.
Alternativ könnte man auch mehrere Wartezeiten nehmen und die
durchtesten. Alternativ hochzählen so im Stil von
For i = 1 to 25
Begin
delay_ms(20 * i)
End
Weil die wahrsch das man dann beide Module synchron hat ist dann sehr
gering und notfalls muss man eins mal resetten.
Oder man treibt es noch weiter und bringt es dazu sich selbst zu
resetten indem man den C am RC des Reset pins mit einem Widerstand und
Portpin richtung masse entläd. Die R und C toleranzen sollte dann
spätestens ausreichen damit sich das einpendelt.
Wie gesagt das kam mir nur so in den Sinn.
Benedikt K. wrote:
> Dadurch teilt sich die Bandbreite auf beide Richtungen gleichmäßig auf.
Wenn ich den bisherigen Thread und den Rest Deiner Beschreibung richtig
verstanden habe, stimmt das nicht ganz. Die Bandbreite wird dann
gleichmäßig aufgeteilt, wenn von beiden Seiten ständig Daten gesendet
werden. Sobald eine Seite die Pakete aber nicht bis zur maximalen Größe
auffüllt, steht die restliche Bandbreite der Gegenseite zur Verfügung.
> Sollte der 512Byte große Eingangspuffer zu mehr als der Hälfte gefüllt> sein, wird ein Pin aktiv der mit CTS verbunden werden kann, um so ein> einfaches Handshaking zu ermöglich.
Um die Transparenz der Strecke weiter zu erhöhen, könnte man auf beiden
Seiten noch die RTS-Leitung des angeschlossenen Geräts überprüfen und in
die Flußsteuerung einbeziehen.
Moin,
also ich habe schon ein einfaches Ping-Pong gebaut und die Datenpakete
und crc16 implementiert.
Ich schätze am Ende der Woche wird dann alles fertig & nutzbar sein. Ich
werd's dann in ein öffentliches svn stellen und hier verlinken.
Zum Thema Device IDs:
Ich habe mir schon nen Wolf danach gesucht, die Device ID von nem AVR
rauszubekommen, allerdings ohne Erfolg.
Allerdings gibt es noch drei evtl. brauchbare Alternativen:
1. Device lauscht erstmal für ein paar Sekunden und guckt, welche Device
IDs es denn schon so gibt. Dann fängt es an zu senden und fragt, ob
jemand die Adresse bereits hat (via Ping), wenn ja, zählt es die Adresse
solange hoch, bis niemand mehr antwortet und nimmt sich dann die
Adresse. Dann weiss man allerdings nach einiger Zeit garantiert nicht
mehr, welches Gerät welche adresse hat und bräuchte zusätzlich eine
Namensauflösung. Aber auch den Namen muss man dem Ding erstmal geben,
womit wir wieder am Anfang des Problems wären ;)
2. Man speichert im EEPROM einfach die ID.
3. Man compiled für jedes device die Software neu und generiert sich
eine ID aus den Macros _TIME_ und/oder _DATE_ (und brennt diese dann
ins EEPROM)...
Tobias A. wrote:
> Hmmmm...>> die AVRs haben doch ne seriennummer, oder? Können die die selbst lesen?> Damit könnte man doch dann was machen, oder?
Eine Seriennummer nicht. Aber die Idee ist garnicht mal so schlecht: Ich
kann mit meinem AVRISP MKII ein Calibration Byte anzeigen lassen. Das
könnte ich sogar in die letzte Flashzelle schreiben (so wie das idR auch
gemacht wird). Für den einen Prozessor war das für 8MHz zum Beispiel
0xC2 und für den anderen 0xC4.... Hm!
> Ausserdem denke ich das das Problem nur dann wirklich kritisch wird wenn> beide Module 100 gleichzeitig angeschaltet werden bzw. die zyklen> synchron sind.
Könnte doch durchaus passieren...
> Alternativ könnte man auch mehrere Wartezeiten nehmen und die> durchtesten. Alternativ hochzählen so im Stil von>>> For i = 1 to 25> Begin> delay_ms(20 * i)> End>> Weil die wahrsch das man dann beide Module synchron hat ist dann sehr> gering und notfalls muss man eins mal resetten.
Nuja, eben. Man muss einfach eine Unterscheidung zwischen den
Mikrocontrollern haben, obwohl das gleiche Programm drin ist.
Sag du mal einem Käufer dieser RS232 Funkbrücke "Ja, resetten sie mal
die eine Seite" ;)
PS: Habe das gerade auch in meine TRW24G 2,4ghz Funkmodule mal
implementiert. Im moment habe ich noch eine Präpro-direktive "INITIATE".
Für einen Controller setze ich die einfach, für den anderen nicht.
Da ich das ganze aber eher als "Modul" in meine Software hängen will,
wäre ne möglichst einfache Lösung schon nicht schlecht.
Sören H. wrote:
> Zum Thema Device IDs:> Ich habe mir schon nen Wolf danach gesucht, die Device ID von nem AVR> rauszubekommen, allerdings ohne Erfolg.
Die kann man nur per Programmer auslesen, und selbst wenn: Aller AVRs
eines Typs haben die gleiche ID, also bringt das nichts.
Mehrer IDs machen bei 2 Teilnehmern recht wenig Sinn. Sobald es mehr
werden braucht man die, das ist klar, aber in den meisten Fällen reicht
eine einzige Punkt zu Punkt Verbindung.
Simon Küppers wrote:
> Benedikt, wodurch wird denn der "Ping-Pong"-Prozess angestoßen? Durch> den, der als erstes was zu senden hat? Was ist wenn beide genau> gleichzeitig senden? ;)
Dann gibt es Probleme. Allerdings habe ich den Timer der als Timeout für
eine Nochmal-Übertragung dient absichtlich auf 2ms Auflösung
eingestellt. Dies ergibt eine hohe Warscheinlichkeit, das eines der
Module etwas früher sendet als das andere und dass es danach wieder
klappt.
Tobias A. wrote:
> Noch ein paar fragen -> Geschrieben in AVRGCC vermute ich? Gibt es fertig compilierte HEX files?> - Ich bin halt Codevision Anhänger
Ja. main.hex in der Zip.
> Welche Hardware wird benutzt? Die von Manuel?
Meine, siehe Zip Datei.
> Gibt es ein Simpel Moduld was kein USB hat oder kann das bestehende ohne> USB genutzt werden?
Meines läuft mit RS232, man kann es also mit TTL RS232, mit einem MAX232
oder einem FT232 verwenden.
Reinhard Max wrote:
> Benedikt K. wrote:>> Dadurch teilt sich die Bandbreite auf beide Richtungen gleichmäßig auf.>> Wenn ich den bisherigen Thread und den Rest Deiner Beschreibung richtig> verstanden habe, stimmt das nicht ganz. Die Bandbreite wird dann> gleichmäßig aufgeteilt, wenn von beiden Seiten ständig Daten gesendet> werden. Sobald eine Seite die Pakete aber nicht bis zur maximalen Größe> auffüllt, steht die restliche Bandbreite der Gegenseite zur Verfügung.
OK, stimmt. Hatte ich etwas dumm beschrieben. Der wo mehr sendet bekommt
mehr Bandbreite, aber der wo weniger sendet wird seine Daten trotzdem
los. Ist etwas schwierig zu beschreiben.
>> Sollte der 512Byte große Eingangspuffer zu mehr als der Hälfte gefüllt>> sein, wird ein Pin aktiv der mit CTS verbunden werden kann, um so ein>> einfaches Handshaking zu ermöglich.>> Um die Transparenz der Strecke weiter zu erhöhen, könnte man auf beiden> Seiten noch die RTS-Leitung des angeschlossenen Geräts überprüfen und in> die Flußsteuerung einbeziehen.
Muss ich mal versuchen. Allerdings wird das ein wenig Arbeit, da ich
dazu die UART Routinen großteils umschreiben muss, und auch das RTS
Signal über Funk an den Sender weiterleiten muss, damit dieser nicht
weiter sendet. Es kann also noch ein weilchen dauern, denn ich habe
ehrlich gesagt keinen Bedarf dafür, da ich keinerei Hardware besitze die
dieses Feature benötigt.
Kannst du gerne machen. Seh mal PD3 als CTS Eingang vor mit dem andere
Geräte den Empfänger ausbremsen können. Davon abgesehen, denke ich
nicht, dass sich demnächst die Pinbelegung ändert. Um ganz sicher zu
gehen, könntest du noch FFIT an PB0 legen, falls das Modul auch mal
Interruptgesteuert betrieben wird.
Soll ich die Version mit oder ohne Dip Brücke machen?
Nur so generell: was meinst Du zu folgendem?
Keine Dipbrücke dafür ein extra Pin der dem Mega entweder in einen
Konfigmodus versetzt so das die Daten die via rxd reinkommen zum
Konfigurieren verwendet werden können.
Z.B.
Mega Pin auf High - normaler Betrieb - daten werden ans Sendemodul
weitergereicht und emfpangene daten vom Sendemodul an TXD ausgespuckt.
Mega Pin auf Low - konfigurations betrieb - gesendete Zeichen werden zum
setzen von Baudrate etc verwendet und quittiert.
Nur ein Vorschlag, bin natürlich auch gerne gewillt eine der
exisitierenden Versionen umzusetzen.
Tobi
Mir ist es egal, ich kann sowas einbauen.
Bei dem DIP Schalter hatte ich mir nur folgendes gedacht: Man kann
jederzeit ohne spezielle Software die Einstellungen verändern. Denn die
Erfahrung zeigt: Immer genau dann wenn man die Konfigurationssoftware
braucht, hat man sie nicht.
Das kommt auf die Gestaltung des Konfigurationsmodus an. Wenn er
Textbefehle akzeptiert reicht als Konfigurationssoftware ein
Terminalprogramm, was heute bei praktisch allen Betribssystemen zum
Bordwerkzeug gehört.
>Bei dem DIP Schalter hatte ich mir nur folgendes gedacht: Man kann>jederzeit ohne spezielle Software die Einstellungen verändern.
und es ist eine sichtbare Kontrolle der eingestellten Baudrate da.
ohne irgendwelche Ports zu belegen.
Ich finde die Dipschalter-Variante durchaus Praktisch.
aber das ist wohl sicher Ansichtssache.
Respekt Benedikt!
Wigbert
Wigbert P. wrote:
> und es ist eine sichtbare Kontrolle der eingestellten Baudrate da.> ohne irgendwelche Ports zu belegen.
Belegen die DIP-Schalter denn keine Portpins? ;)
Ok, richtig.
Ich fand das eben praktischer, als noch LED's einzubauen.
und erst noch Software-Einstellungen durchführen zu müssen.
Ist vielleicht auch Anwenderbedingt.
>aber das ist wohl sicher Ansichtssache!!
egal "Jedem das Seine"
Wigbert
@ Reinhard
genau das hatte ich auch im Sinn
Man lässt das Modul bei Startup in einer bestimmten baudrate laufen und
ändert sie dann bei bedarf via textcommando.
@ Benedikt
<Kannst du gerne machen. Seh mal PD3 als CTS Eingang vor mit dem andere
<Geräte den Empfänger ausbremsen können. Davon abgesehen, denke ich
<nicht, dass sich demnächst die Pinbelegung ändert. Um ganz sicher zu
<gehen, könntest du noch FFIT an PB0 legen, falls das Modul auch mal
<Interruptgesteuert betrieben wird.
Warum PD3 und nicht 2 so wie im schaltplan?
Warum FFIT and PB0 wo doch der Prozessorinterrupt auf PD2 und PD3 liegt?
oder meinst Du es umgekehrt - das modul interrupten?
Das passt schon so:
PD0 RXD
PD1 TXD
PD2 CTS
PD3 RTS
PB0 FFIT
Ich nutze den Input Compare Interrupt als Externen Interrupt. So habe
ich alle RFM12 Pins an PortB und nirgendwo anderst.
und hier das Layout
bei einer 1.6 mm Platine muss ich nochmal gucken wie das mit den 50 Ohm
für die Antenne wird. Aber bei dem Modul wage ich eh zu bezweifeln was
passiert wenn man vom Modul auf die Trägerplatine wechselt.
Ich hab grad die Formel für Microstrip Transmission Line nicht im
Hinterkopf.
Irgendwer generelle Kommentare?
Ich mag das mit der Konfiguration via Terminal Programm anstatt DIP
Schalter. (Wenn Du willst Benedikt mach ich noch ein 2. Layout)
Macht die Sache kleiner und billiger (weniger PCB platz und die DIP
Brücke spart man auch)
Tobias A. wrote:
> Irgendwer generelle Kommentare?
IEH. Benutzt du keine oktagonalen Vias? ;)
Sieht ansonsten nett aus, aber ich würde dir das .png Bildformat statt
.jpg empfehlen bei Schaltplänen/Boards.
Jut nacht!
Hi Benedikt
ja Du hast recht das ist mir gestern entfallen - wollte ich noch machen.
Magst Du mir mal einen Gefallen tun und gucken ob Deine Schaltung noch
mit sagen wir 5 bis 10 k in Serie in den Datenleitungen funktioniert?
Dann schnall ich die zwischen Funkmodul und ATMEGA und den Programming
header direkt dran.
Je nachdem werd ich auch noch die LEDs draufsetzen.
@ Simon
doch auch. Mir war nur grad nach eckig :-) Hast aber natürlich recht -
anders siehts besser aus.
Tobi
Tobias A. wrote:
> Hi Benedikt>> ja Du hast recht das ist mir gestern entfallen - wollte ich noch machen.> Magst Du mir mal einen Gefallen tun und gucken ob Deine Schaltung noch> mit sagen wir 5 bis 10 k in Serie in den Datenleitungen funktioniert?> Dann schnall ich die zwischen Funkmodul und ATMEGA und den Programming> header direkt dran.
Das brauch ich garnicht auszuprobieren, denn es geht ziemlich sicher
nicht. Was sollen die denn bewirken ?
Hallo Benedikt und Tobias
>mach ich noch ein 2. Layout
bevor Du Dich in Unkosten stürzt.
Ich werde Benedikts Vatiante(mit Dip-Schalter) aufbauen.
Benedikt ich hoffe Du bist einverstanden.
Dabei werden Dip-Codier-Drehschalter verwendet.
Es wird ein Max 3232 o.ä. drauf sein(weil ich das so brauche)
Das ganze sollte über ein kleinen Akku(Grösse hängt vom Gehäuse ab)
versorgt werden.
Und Platinenantenne.
Und Gehäuse.
Schön wäre es, wenn eine AKkuspannungsanzeige im Code mit eingearbeitet
würde.Die 4 LED's leuchten bei 100%, 3 bei 75%,2 bei 50%,1 bei 25%
Wenn ein Taster gedrückt ,Sprung in Akkukontrolle.Spannung extern mit
Spannungsteiler einstellbar. 2ADC Pins wären ja noch frei.
Vielleicht hast Du Benedikt an einen Regentag mal Langeweile.
Wigbert
Hi Benedikt
die bewirken folgendes:
Die Ausgänge des AVR gehen direkt zum programming header und von da aus
über einen Widerstand zum Funkmodul.
Wenn man nun programmiert und sagen wir ein "high" auf einer
Programmerleitung liegt das Funkmodul aber ein "low" zieht würde es ohne
die Widerstände "krachen" und es könnte sein, das irgendwas beschädigt
wird.
Mit den Widerständen sind die Ausgänge der Funkmoduls quasi pullup bzw
pulldown je nachdem wie sie grad "stehen".
Wenn die Schaltung oben funzt, werd ich noch ein "Master"Modul
entwickeln was dann via FTDI chip eine USB verbindung herstellt.
@ wigbert
ok dann mach Du das. Arbeitsteilung ist immer gut :-) Ich würde
allerdings (wenn ich Dir widersprechen darf) sagen das es vielleicht
erstmal wichtiger ist die Latenzzeiten etwas zu drücken anstatt das
ganze weiter aufzublasen - es sollte ja einfach sein.
Ich weiss sowieso nicht wie busy der Mega 8 ist. Wenn der ziemlich
ausgelastet ist, ist mit extra programm für andere anwendungen
reinbrennen eh nicht viel und man braucht einen 2. µC. (nur daten ins
nirvana senden macht ja auch keinen Sinn) und mit dem könnte man dann
die Batterieüberwachiung machen.
Das hier sollte ja wenn ich es richtig verstehe ein sehr spartanisch
gehaltenes, schnick-schnack freies (wie Hornbach G) modul werden was
als Funkbrücke fungiert.
Tobi
Tobias A. wrote:
> Wenn man nun programmiert und sagen wir ein "high" auf einer> Programmerleitung liegt das Funkmodul aber ein "low" zieht würde es ohne> die Widerstände "krachen" und es könnte sein, das irgendwas beschädigt> wird.
Häng einfach einen Pullup an nSEL, so wie ich es gemacht habe. Dann ist
das RFM12 abgeschaltet und man kann auf den Pfusch mit den Widerständen
verzichten. Das funktioniert sicher und ist weniger Aufwand.
Hi Tobi,
die Entwicklung dieser Funkbrücke ist wohl soweit abgehakt.
Ich möchte wohl so ähnlich wie Benedikt ein "drahtloses RS232 Kabel"
mir herstellen, mehr eben nicht.
Schnickschack kann hilfreich sein, wie Baudrateneinstellung,
na ja und manchmal hätte ich gerne gewusst, schaffst Du den
Download mit den Akku oder nicht.Ich wollte eigentlich nur wissen
ob ich Pins auf den Board vorsehen kann oder nicht.
Aber wenn das nicht geht, auch nicht weiter schlimm.
Wigbert
und das layout
damit gewinne ich allerdings keinen HF design oder EMV preis..
ist 35 x 35 mm. Die Maße kommen daher damit es in eine meiner
Schaltungen passt.
Erstmal gucken obs geht - redesign wird dann später gemacht.
Tobi
Falls Du es noch etwas kleiner bekommen möchtest, könntest Du den ATmega
und das Vogelfutter auf die Rückseite setzen und den ISP-Stecker neben
den Antennenanschluß legen.
@ Tobias A.
Wie du selbst schon sagtest: HF mäßig ist das Layout nicht so optimal.
Vor allem die Masseeverbindung des könnte man sicherlich noch
verbessern.
z.B. C4 sitzt doch direkt neben dem GND Pin des RFM12. Der Umweg über
die Massefläche ist da unnötigt.
Ich bin jetzt auch kein HF Profi, aber wäre es nicht für den Anschluss
der Antennenbuchse günstiger, wenn auch auf der Oberseite noch eine GND
Verbindung zu dieser vorhanden wäre ?
Ich brauche von den Platinen keine, ich kann selber ätzen.
Hallo Benedikt,
noch eine Frage zu den Dipschalter.
Bei 4 Pins kriege ich mehr als 7 Schalterstellungen hin.
Auch beim Dualcode würden 3 reichen. Schaltet ein Dipschalter
die Baudratenumschaltung zu? Irgenwie kann ich das nicht erkennen.
Die Kanäle sind klar.
Wigbert
Hi Benedikt - ja man könnte es noch oben mit Massefläche machen aber 480
MHz sind ja noch nicht soo schnell.. auf der "Arbeit" arbeiten wir mit
bis zu 8.5 GHz.. da gehts dann richtig ab.
Kannst Du auch durchkontaktieren Benedikt? Ich bin mit dem Layout soweit
und kann Dir gerne das EAGLE file zukommen lassen wenn Du dir 2
Prototypen bauen willst.
Falls Du nicht DKen kannst kann ich auch einfach 2 mehr mit auf die
Platine setzen und Dir dann per post zukommen lassen.
Wie gesagt ich sehe das hier als Prototyp - wenn alles klappt dann werd
ich das nochmal weiter optimieren und auch die von Dir angesprochenen
Masseflächen hinzufügen.
Ich habs halt wirklich spartanisch gehalten mag es aber so. Auch grad
mit der Softwareconfiguration (in der Hoffnung das Du die dann noch
implementierst).
Grüße
Tobi
Leider kann ich keine doppelseitigen Platinen ätzen, daher habe ich mir
diese Platine im Anhang gebastelt. Angefangen habe ich mit 3
Drahtbrücken, mittlerweile habe ich das ganze auf 1 Brücke optimiert.
Diese Platine hat alles was ich brauche:
Es sind einige PortC und PortD Pins rausgeführt, um LEDs anzuschließen,
ebenso der ISP Port und das ganze ist kompakt.
Allerdings bin ich in letzter Zeit dazu übergegangen, die Platine größer
zu machen, da dies eine bessere Reichweite ergibt (Groundplane).
Hi Benedikt - das sieht mal richtig gut aus!
>Allerdings bin ich in letzter Zeit dazu übergegangen, die Platine größer>zu machen, da dies eine bessere Reichweite ergibt (Groundplane)
Schon mal probiert ein Coaxkabel mit dem schirm auf Masse zu legen und
den Innenleiter an den ANT Ausgang? Das ganze bisschen weggeführt von
der Platine und dann aufgedröselt so das der Schirm einen, der
Innenleiter den anderen Arm eines Dipols gibt? Ok man bräuchte generell
einen Balun weil der Dipol sonst "schielt" aber ich denke es sollte
besser sein als ein Monopol... (die Diskussion sollte man vielleicht
sogari m HF Forum führen).
Das würde die Platine klein halten.
Bei "meinem" Design ist ein SMA stecker vorgesehen das man sich
eventuell eine geätzte Antenne aufschrauben kann bzw was extern an einem
Kabel anschliessen. Alternativ lässt man den SMA weg und lötet nur ein
Stück Draht ein.
Wärst Du dann eventuell gewillt die Software für "mein" Layout
anzupassen?
Sprich "Konfiguration via serieller Schnittstelle"? Wie oben schon
erwähnt?
Falls ja geht die Platine morgen raus - musste noch eine andere Platine
mit auf den Nutzen setzten deshalb die Verzögerung.
Tobi
Tobias A. wrote:
> Schon mal probiert ein Coaxkabel mit dem schirm auf Masse zu legen und> den Innenleiter an den ANT Ausgang? Das ganze bisschen weggeführt von> der Platine und dann aufgedröselt so das der Schirm einen, der> Innenleiter den anderen Arm eines Dipols gibt? Ok man bräuchte generell> einen Balun weil der Dipol sonst "schielt" aber ich denke es sollte> besser sein als ein Monopol... (die Diskussion sollte man vielleicht> sogari m HF Forum führen).> Das würde die Platine klein halten.
Muss ich mal ausprobieren. Was wäre, wenn ich das Kabel 15 cm lang
abisolieren, und den Schirm in 4 Teile auftrennen würde, die im 45°
Winkel schräg nach unten stehen ? Die würden doch dann die GND Plane für
die Antenne darstellen ?
> Wärst Du dann eventuell gewillt die Software für "mein" Layout> anzupassen?> Sprich "Konfiguration via serieller Schnittstelle"? Wie oben schon> erwähnt?
Ich bin gerade dabei. Sind 19200 Baud OK ?
Hier nun die Software: Wird der Config Pin auf GND gelegt, startet das
Modul im Config Mode.
Dann wird ein einfaches Menü dargestellt, über das sich Baudraten und
Funkkanal einstellen lassen. Sowohl mit Hyperterminal als auch hterm
funktioniert das Menü. Die Baudrate im Config Mode ist auf 19200Baud
eingestellt. Die Eingabe der Ziffern wird durch ein folgendes Return
oder Leerzeichen beendet.
Hallo Benedikt,
nur damit ich es richtig verstehe.
Wenn alle Dip-Schalter 0 sind, kann ich mit Config Pin die
Software-Einstellung vornehmen. Es ist also beides möglich? Der Code
sieht wenigsens so aus.
Wigbert
Hi Benedikt
19200 klingt gut!
Ich hab noch nicht in den Code geguckt, aber "merkt" der Avr sich die
Einstellungen?
Das mit der von Dir beschriebenen Antenne sollte auch klappen. Ich meine
zumindest das schon mal irgendwo gesehen zu haben. Ich komme nur grad
nicht auf den Namen.
Alternativ kann man die HF mit dem kabel auch irgendwo hinführen wo man
eh eine Metallfäche im Gerät hat und dann dort den Monopol hinsetzen.
Aber für eine allgemeine Anwendung ist es wie Du schon implizierst schön
wenn man eine Antenna hat die alleine funktioniert und nicht auf
zusätzliche Teile an einem Gerät angewiesen ist.
Tobi
Wigbert P. wrote:
> nur damit ich es richtig verstehe.> Wenn alle Dip-Schalter 0 sind, kann ich mit Config Pin die> Software-Einstellung vornehmen. Es ist also beides möglich? Der Code> sieht wenigsens so aus.
Nicht ganze: Es funktioniert nur eine von beiden Möglichkeiten. Es wäre
zwar möglich beides gleichzeitig einzubauen, aber das macht keinen Sinn.
Tobias A. wrote:
> Ich hab noch nicht in den Code geguckt, aber "merkt" der Avr sich die> Einstellungen?
Ja, wird im EEPROM gespeichert.
Standardeinstellung: 19200Baud.
Wenn du in der Software
//#define USE_SOFTCONFIG // DIP Schalter/Jumper an PortC 0-4
#define USE_DIPSWITCH // DIP Schalter/Jumper an PortC 0-4
statte dem schreibst, was momentan drin steht schon. Allerdings ist
diese Version dann identisch mit der check3 Version.
Hallo Leute,
anbei mein Platinenentwurf der „Bidirektionalen Funkbrücke mit
Baudrateneinstellung“
Die Platine sollte aus 2 seitigen beschichteten Epoxyd gefertigt
werden, und hat die Abmaße 56mm x 56mm. Die IC’s sollten
mind. 5mm vom RF12 Modul entfernt angeordnet werden und
der Antennenanschluss so kurz wie möglich.
Bedien-, Anzeige- und Schnittstellenbauteile werden seitlich
herausgeführt. Das Ganze wird in einem Gehäuse,
100mm x 65mm x 25mm einschließlich 2 Stück 1,2V Akkus,
Platz finden.
Als Grundlage der Schaltung wurde Benedikts Beispiel
verwendet. Die 5V Spannungsversorgung wird mit einen
MAX1674 aus der Akkuspannung erzeugt.
Bei Tiefentladung schaltet der IC die Spannung ab. Über ein
Klinkenstecker kann die Schaltung extern versorgt werden. Bei
der Einstellung Lad. ist ein Anschluss eines intelligenten
Ladegerätes am selben Stecker möglich und der Ladevorgang
wird eingeleitet.
Es wurde bewusst 5V Betriebsspannung gewählt da die 10 MHz
Takterzeugung bei der Vielzahl der einstellbaren Baudraten die
wenigste Fehlerrate besitzt.
Eine schnelle Baudratenumschaltung wird durch ein
BCD-Codierschalter gewährleistet. Die Kanalwahl wird mit
DIP-Schalter durchgeführt, da ein Kanalwechsel nur bei
Störsendereinfluss bzw. den Einsatz mehrerer Funkbrücken
notwendig ist.
Den notwendigen Pegel der RS232-Schnittstelle stellt ein
MAX232A….zur Verfügung.
Die LED’s sind Low-Current-Typen.
Über ISP kann der Controller programmiert werden.
Der Antennenanschluss wurde 3pol.(2xGND) ausgeführt. Da
die Antenne mit 10cm Koaxialkabel eingespeist wird, habe ich
keine Lust noch Verluste am Stecker zu erzeugen. Deshalb wird
die Ader mittig angelötet und der Schirm mit Hilfe einer
übergestülpten Hülse an den beiden GND-Pins angelötet.
Die Platinenantenne(eine Art Magnetantenne) wird nicht im
Gehäuse integriert sein, sondern oben drauf.
Aus folgenden Gründen: Bei ungünstiger Lage würde die Platine
und deren Bauelementen die Antenne Abschirmen, bei ablegen
auf metallenen Untergrund würde es bei der Antenne zu
Wirbelströmen kommen. Von den Einsatz einer Groundplane
(Drahtantenne) nehme ich Abstand, da die Radials
( Massefläche als Gegengewicht) mit zunehmender
Miniaturisierung zu klein ausfallen. Die Antenne wird dann immer
schwerer beherrschbar.
Vielleicht hat jemand noch Verbesserungen und die endgültige
Bauteilanordnung wird dann noch mal überarbeiten.
Wigbert
Hi
wenn Du keine Steckerverluste willst warum ziehst Du nicht einfach die
Leiterbahn zum Rand der platine und lötest da das Kabel an? Für so was
gibts sogar spezielle SMA stecker mit denen das geht.
Beim Kabel einfach mittelpin an den Antennausgang und schirm auf die
Massefläche. Ist besser als irgendwas impedanztechnisch
unkontrollierbares wo das Kabel dann in dem Loch steckt und der Schirm
irgendwie draussen drumherumgelötet ist.
Nur als Anregung - generell muss ich sagen gefällt mir die Platine sehr
gut. Konnte auch keine Fehler im Design entdecken - ausser eventuell nem
Filter hinter dem Schaltregler? Längs L und parallel C filter? Ich weiss
nicht wie der RFM12 auf ne "noisy" Spannungsversorgung reagiert.
Grüße
Tobi
Hallo Tomas,
dank Dir. Hatte eigentlich den Stecker weglassen wollen. Werde mal
sehen ob ich einen passenden industriellen Übergangsanschluss finde.
Das Filter war im DBL nicht zu erkennen und Schaltungsbeispiele waren im
Netz ehr dürftig.
Wigbert
Hi
datenblatt ist ja auch quasi nur Minimalbeschaltung. Kannst es ja
eventuell mal vorsehen und im Ernstfall hinzufügen und sonst halt
einfach das L mit ner Brücke kurzschliessen.
Grüße
Tobi
Hallo gemeinde.
Ich habe 2 RFM12 Module, und wollte damit eine einfache RS232
Kommunikation aufbauen.
Leider sind wir nach 3 Wochen schon so langsam am aufgeben, udn kommen
einfach nicht weiter.
Wir nutzen einen RFM12 als Dauersender, der ständig Daten in einer
schleife raus schickt, und einen anderen um die Daten zu empfangen.
Leider bekommen wir vom RX rein garnichts zurück.
Wir können zwar die gesamte Konfiiguration setzen, sowei das Statusbyte
auslesen, aber in bezug auf das RX-Command bekommen wir ständig nur 0len
zurück.
Ausprobiert haben wir mitlerweile sämtliche Codes, die hier gepostet
wurde, sowie einige andere beispiele in bascom. keine scheinen zu
funktionieren.
Selbst die SPI Routine haben wir per hand nach geschrieben, um etwailige
fehler dort drin auszuschliessen. Ebenfalls erfolglos. Wir haben auch
die MISO leitung mit einem Pullup versehen. Nach dem Anlegen des CS
Signals zieht der RFM12 die MISO auch herunter, jedoch ohne Daten zu
schicken. Beim Statusbyte klaps allerdings problemlos.
Leider ist das RFM12 Datenblatt vom Hersteller nicht besonders
umfangreich. Deshalb haben wir uns teilweise auch mit dem Datenblatt vom
RFM1 und anderen weiter informiert. Dort konnte man informationen über
die its im Statusbyte auslesen, was im RFM12 nicht drin stand.
Desweiteren ist mir aufgefallen, das auf der Platine RFM12S steht, udn
nciht RFM12B oder RFM12 ... ist das ein unterschied?, gibt es hierfür
ein gesondertes Datenblatt, das ich noch nicht gefunden habe?
Kennt jemand dieses Problem eventuell?
MfG
TPM
Diese Programme hier funktionieren definitv. Wenn es bei dir nicht geht,
hast du beim Aufbau irgendwas falsch gemacht. Wie schnell läuft dein
AVR ? Falls er mit mehr als 10MHz versorgt wird, musst du den SPI
Prescaler hochsetzen, das RFM12 kann maximal 2,5MHz verdauen.
Nun .. ich habs mit 4 SPI Varianten probiert. Einmal Soft-SPI einmal
Hardware-SPI, einmal das SPI selbst gecodet, und einmal via PC ne SPI
Routine.
Was mich wundert ist einfach, das ich die ganze Konfiguraton setzen
kann, auch das Statusbyte ausgelesen bekomme, aber keien Daten mit dem
RX Befehl zurück erhalte.
Ich versuch jezt einmal 2MHz max. Clockrate. Aber, ich bezweifel, das es
was bringt, da ich es schon mit allen Potenzen ab 100KHz probiert hab,
aber erfolglos.
Wie gesagt, wenn nicht emhr als 2,5MHz verdaut werden können, dann
versuch is es mal mit 2MHz clock.
Vorerst mal Danke.
MfG
TPM
Hallo,
nicht aufgeben, davor stand ich auch schon und nach einem Bier und
einmal schlafen ging es weiter.
zB hatte ich angenommen, dass der Fifo 16 Bytes gross ist und wunderte
nicht, dass da nur 0 rauskam. Lade Dir mal den C Code runter, den ich
gepostet habe und analysiere ob die Einstellungen und Verfahrensweisen
die gleichen sind. Lese den Status vor jedem Senden aus und ebenso
einmal nach der Empfangsumschaltung. Bei diesen Dingern scheint es auf
jedes Detail anzukomen. Ausserdem reduziere die Empfindlichkeit der LNA
und RSSI um 1-2 Punkte, sonst fängt sich der Empfänger nur Müll ein und
erkennt ggf. die 2DD4 nicht.
Viel Glück!
PS: mein PIC Programmer (China Clone) gibt grad auf, ist ihm zu warm
hier mit 36 Grad in der Dachstube. Nach Eisspray tat er es wieder....
alles schon sehr seltsam.
Christian Julius wrote:
> Lese den Status vor jedem Senden aus und ebenso> einmal nach der Empfangsumschaltung. Bei diesen Dingern scheint es auf> jedes Detail anzukomen.
Ich lese den Status nie aus, nur das erste Bit, bei mir funktioniert es
trotzdem. Es ist also nicht unbedingt notwendig.
> Ausserdem reduziere die Empfindlichkeit der LNA und RSSI um 1-2 Punkte, sonst
fängt sich der Empfänger nur Müll ein und erkennt ggf. die 2DD4 nicht.
Auch dieses Problem hatte ich noch nie. Ich vergleiche mal deinen Code
mit meinem, irgendwo muss da ein gravierender Unterschied sein.
Hallo Benedikt,
leider sind die Möglichkeiten dieses Forums begrenzt sonst würde ich mal
ein paar Bilder schicken, was mein PIC-Baby hier so an Lichtsignalen und
Texten ausgibt. Kann gut, sein, dass sich das Modul auch EMV einfängt,
denn ist alles Lochraster mit Fädeldraht und dazu noch mit 30-40 Mhz
Prozzis drauf.
Vielleicht liegt es wirllich daran, ob das jemand mit SPI oder ohne
gelöst hat oder ob man nur das erste Bit ausliest. Ich weiss es nicht.
Fakt ist: Die Module funktionieren, man kann damit Daten senden und
empfangen. Grad mal mit dem Brett in der Hand losmarschiert, den Sender
aufs Autodach mit guter Groundplane und einem Schweissdraht als Antenne:
ca 100m klappt es, dann ist auf wenige Meter weiter schlagartig Schluss,
es gibt da eine sehr scharfe Reichweitengrenze. Mit gescheiter Antenne
schätze ich mal müssten 200m Freiluft drin sein. Antennen kann man sich
aus einer BNC Doppel Buchse mit Einbaukragen gut selbst bauen, vier
Stäbe als Masse an die Löcher des Kragens löten, schräg nach unten,
einen Stab in die BNC Buchse hinein und unten dann 50 Ohm BNC Kabel
einstecken. (Fotoapparat hat meine Frau grad leider mitgenommen) Ich
werde den sender morgen mal mit in die EMV Messkammer in der Firma
mitnehmen, mal schauen wieviel dbm er so rausspuckt direkt an der SMA HF
Buchse.
Für mich bleiben noch die Fragen übrig:
1. Welche Einstellung für die FSK Bandbreite des Senders und welche für
die bandbreite des Empfängers sind richtig bei den verschiedenen
Baudraten? Da unterscheiden sich Beispiele und Datenblätter, die
Beispiele sind alle mit 0x9850 initalisiert beim Sender und 134 khz beim
Empfänger.
2. Wieso floaten bei mir die Bits dermassen rum und wieso tut es das
FFIT Bit nicht? Das DQD und das RSSI funktioniert doch auch, also ist
die Auslesung richtig.
Die perfekte Abstimmung ist ohne Dämpfertzwerk und professionellen
Geräten kaum machbar und die wird mir die EMV Abteilung kaum leihen,
wenn die Stunde in der Absorberkammer (da passen auch Autos rein) dort
mit 250€ berechnet wird. Also losmarschieren, Distanz messen, Parameter
ändern und das slange bis man maximale Reichweite hat.
Hier mal der Sendecode von mir, auf das Lesen des Statusregisters. Nehme
ich den Befehl weg kommt kein nIRQ Signal als Reaktion auf ein Byte an
das TX Register
1
// >>>> TX: Senden einer Bytefolge + Checksumme <<<<<
Christian Julius wrote:
> Hallo Benedikt,>> Vielleicht liegt es wirllich daran, ob das jemand mit SPI oder ohne> gelöst hat oder ob man nur das erste Bit ausliest. Ich weiss es nicht.
Ich habe es schon mit SPI und ohne laufen lassen. Das kann ich also
ausschließen.
Deine Initialisierung sieht gut aus. Es gibt zwar einige Unterschiede zu
meinem Code, aber die sind alle unbedeutend.
Du verwendest Interrupts, ich polle nur das erste Bits. Dies könnte der
Unterschied sein. Ich wollte es mal mit Interrupts ausprobieren, bin
aber noch nicht dazu gekommen.
100m Reichweite sind auch in etwa mein Messergebnis. Mit hoher
Bandbreite und hohem Frequenzhub komme ich weiter als mit den Angaben
aus dem Datenblatt. Das ist klar: Es wird mehr Bandbreite
ver(sch)wendet, daher fallen Störungen nicht so sehr ins Gewicht.
> 2. Wieso floaten bei mir die Bits dermassen rum und wieso tut es das> FFIT Bit nicht? Das DQD und das RSSI funktioniert doch auch, also ist> die Auslesung richtig.
Bei mir wackeln alle Bits auch total rum, nur das FFIT Bit funktioniert
wunderbar. Und das ist eigentlich das einzigste was mich auch
interessiert.
Noch ein Zusatz speziell für Martin W.
Wenn Du das Modul in den RX Mode gesetzt hast, alle benötigten
Teileinheiten eingeschaltet sind und es richtig angeschlossen ist, dann
lösche mal testweise das Flag welches den Fifo abschaltet und die
Empfangsdaten auf den Data Pin ausgibt. Das Modul kann auf zweierlei Art
betrieben werden, musste Dir mal im Datenblatt von HOPE raussuchen
welche Bits das sind. Mit einem Oszi müsstest Du auf diesen Pin dann ein
Datenchnos sehen, nämlich digitales rauschen. Auf der Clock Leitung nach
aussen ebenfalls einen decodierten Clock. Dann weisst Du, dass Dein
Empfänger arbeitet. Wenn Du nun schrittweise den LNA Gain und RSSI
Threshold reduzierst, dann wird dieses Rauschen weniger bis es ganz
verschwindet.
Lege den nIRQ Pin auf einen Interruptsfähigen Pin des uC oder polle
meinetwegen auf einem anderen Pin. Wenn das Modul die 2DD4 Squenz
empfängt und in den Fifo schreibt geht dieses Signal auf Low und sofort
wieder auf High, wenn der Fifo ausgelesen wurde. Nimm dazu das B800
Kommando, das geht schneller.
So long,
Christian
(Autoschrauber und Scirocco Sammler)
Bei mir wackeln alle Bits auch total rum, nur das FFIT Bit funktioniert
wunderbar. Und das ist eigentlich das einzigste was mich auch
interessiert.
--------
Na toll, ich wackel grad auch, wenn ich die Dose Faxe hier auf habe, bei
der Hitze hier im Rheinland kriegt man ja einen an der Waffel....
Hier ist übrigens die Lösung für Dein Reichweitenproblem. Mit dem Ding
habe ich seinerzeit ca 10km geschafft, gespeist von einem Analog Modul
von Radiometrix. ;-)))
Mit dem RX Commando (&hB800) sollten doch die Empfangenen Daten, bzw
auch schrott, je nachdem, was grad auf der Welle reitet, auf der MISO
leitung zurück kommen .. oder täusche ich mich da? ... so, wie das
Statusbyte auf der MISO leitung ab dem ersten 0 Bit zurück geliefert
wird.
MfG
TPM
Martin W. wrote:
> Mit dem RX Commando (&hB800) sollten doch die Empfangenen Daten, bzw> auch schrott, je nachdem, was grad auf der Welle reitet, auf der MISO> leitung zurück kommen .. oder täusche ich mich da?
Ja, du täuschst dich. Das Modul läd die Daten nur dann ins FIFO wenn das
2DDA Syncword empfangen wurde. Alternativ kann man das auch umstellen,
dass das Modul jeden Mist ins FIFO läd, aber das macht eigentlich keinen
Sinn. Du kannst es ja mal ausprobieren: Im FIFO Mode Register al auf 1
(always fill) setzen. Dann sollte der FFIT Pin sofort aktiv werden.
Christian Julius wrote:
> Na toll, ich wackel grad auch, wenn ich die Dose Faxe hier auf habe, bei> der Hitze hier im Rheinland kriegt man ja einen an der Waffel....
Ich habe hier gerade angenehme 22°C bei mir im Keller...
> Hier ist übrigens die Lösung für Dein Reichweitenproblem. Mit dem Ding> habe ich seinerzeit ca 10km geschafft, gespeist von einem Analog Modul> von Radiometrix. ;-)))
Nett. Wiviel Leistung liefert dieser Verstärker ?
Ich habe schon seit Wochen eine halbfertige Platine mit einem 868MHz
RFM12 und einer Handy Endstufe mit 3,5Wspitze hier liegen. Ich denke mal
0,5W Dauerleistung wird das Ding schon schaffen...
Benedikt K. wrote:
> Nett. Wiviel Leistung liefert dieser Verstärker ?> Ich habe schon seit Wochen eine halbfertige Platine mit einem 868MHz> RFM12 und einer Handy Endstufe mit 3,5Wspitze hier liegen. Ich denke mal> 0,5W Dauerleistung wird das Ding schon schaffen...
7Watt ;)
FFIT: Thx. .. probier ich mal
MfG
TPM
7W Class D Endstufe von Mitsubishi. Die aus dem Handy tun es aber auch,
wenn man die Anschlussbelegung herauskriegt. Aber immer schon die Vdd
abkoppeln, viele Drosseln einbauen und NIE vergessen die Antenne
anzuschliessen, denn sonst raucht es, wie das Modul da oben, nur 47€ für
ein Neues gebe ich nicht mehr aus.
Wir sind ja alle gebildet und daher weiss ich auch dass man nicht
unerlaubt funken darf. Trotzdem liegt dieses Steinchen hier noch seit 3
Jahren herum..... ein 20W Nachbrenner für 430 Mhz Funken. Nur leider
kein Datenblatt mehr auftreibbar.
Christian Julius wrote:
> Trotzdem liegt dieses Steinchen hier noch seit 3> Jahren herum..... ein 20W Nachbrenner für 430 Mhz Funken. Nur leider> kein Datenblatt mehr auftreibbar.
Schau mal hier .. anderer Typ (warscheinlich anderer Frequenzgang) aber
selber baustein ->
http://www.alldatasheet.com/datasheet-pdf/pdf/4756/MOTOROLA/MHW720A1.html
MfG
TPM
Hi,
danke für den Link, scheint der Gleiche zu sein, nur minimal anders. Die
stammen aus den 90igern hatte sie mal für 1€ bei ebay geschossen und
seitdem liegen sie hier rum. Nachteil ist, dass die Dinger in Sekunden
hinüber sind, wenn das Design und die Kühlung nicht perfekt stimmt und
zudem brauchen sie 250mW Eingangsleistung. Des weiteren muss an den
Ausgang ein entsprechendes Bandpassfilter geschaltet werden, das erst
einmal dimensioniert sein muss, denn eine Class D Endstufe verursacht
nackt wohl ganz erhebliche Oberwellenanteile. Meist gibt es einen
Steuereingang für die Leistung. Und fürs testen muss man das eigene
Zimmer wohl komplett mit Akufolie auskleiden, denn sonst rücckt einem
schneller als lieb ist der Messwagenfuhrpark der ReTP auf die Pelle und
das wird sehr sehr teuer. Ohne H Messgeräte zudem sehr schwierig.
Einzige Anwendung, die ich sehe wäre eine Alarmalage für meine Halle, wo
meine Youngtimer stehen, die ist ca 5km weit weg von mir. Aber da passt
schon die Dogge des Landwirts auf, dass kein böser Bube meine Schätzchen
klaut ;-)
Ich glaube es reicht ein kleiner HF Transistor in Emitterschaltung aus,
wenn man diese Minimodule auf ein klein wenig mehr aufbohren will, mit
15mW kommt man schon fast 1km weit. Eine Endstufe mit Bandpassfilter für
100mW habe ich als Schaltplan noch hier liegen, arbeitet mit BFR 193
Transen, die hatte mir mal ein Hersteller solcher Module zugefaxt.
Werde das RFM12 heute mal in die EMW Kammer stecken und schauen wieviel
da rauskommt, auf 10mW ERP darf man ja kommen.
die motorola module sind recht fein, hab selbst ein paar im einsatz.,
aber wie gesagt für den anwendungsfall etwas überdimensioniert.
bin ja mal gespannt was bei deiner messung rauskommt...
Ich habe hier auch noch so ein Ding rumliegen. Sieht genauso aus, auch
von Motorola, hat nur eine dumme Bezeichnung: 33Z01, Datecode: 9316.
Stammt aus einem alten D1 Autotelefon.
Laut Datenblatt sollten die RFM12 etwa 6mW liefern. Kennt jemand eine
einfache Richtantenne (muss keine super Richtantenne sein, mir würde
schon eine reichen die nur in 180° sendet und emfpfängt, hauptsache
unkompliziert zu bauen) ?
Benedikt K. wrote:
> Ja, du täuschst dich. Das Modul läd die Daten nur dann ins FIFO wenn das> 2DDA Syncword empfangen wurde. Alternativ kann man das auch umstellen,> dass das Modul jeden Mist ins FIFO läd, aber das macht eigentlich keinen> Sinn. Du kannst es ja mal ausprobieren: Im FIFO Mode Register al auf 1> (always fill) setzen. Dann sollte der FFIT Pin sofort aktiv werden.
1A mit Sternchen! ... ENDLICH bekomm ich Datenchaos zurück ... und ich
dachte schon, ich bin blöde ,) ...
Der rest sollte dann wohl auch gehen, wenn der passende Code vorran
gesendet wird.
VIELEN DANK!
MfG
TPM
Hallo,
habe grad mal einen Schwatz mit unserem HF Freak gemacht, der auch
lizensierter Funkamateur ist und hier die EMV Messungen betreut. Diese
Module sind seiner Ansicht nach durch Hobbybastler gar nicht zu
dimensionieren, da muss man schon Stehwellenmessgeräte und Wobbler
haben, um die Ausgangsimpedanz von typisch 1 Ohm auf 50 Ohm zu bringen.
Besser wäre es 1:1 fertige Lösungen nachzubauen. Sonst kann es
passieren, dass die Module auf allen Frequenzen rausbrüllen. Kam
natürlich die eindringliche Warnung, dass er jeden Störer seiner Bänder
zur Anzeige bringen wird :-)
EMV Absorber Kammer heute leider nicht benutzbar, mal die Tage
schauen....
Gruss,
Christian
Christian Julius wrote:
>Eine Endstufe mit Bandpassfilter für>100mW habe ich als Schaltplan noch hier liegen, arbeitet mit BFR 193>Transen, die hatte mir mal ein Hersteller solcher Module zugefaxt.
Wie kan man einfach Edstufe auf Transceiver einfügen? Wie steht dan
mit RX-Teil Eingang-Impedanz/Störungen?
Grüße aus Croatien !
@ Christian Julius
hmm... das stimmt nicht ganz. grundsätzlich sind die module sogar recht
einfach zu handeln. ein freund von mir (auch afu) hat schon ein paar
endstufen mit den dingern aufgebaut. und ich müsst mich jetzt schon sehr
täuschen, aber normalerweise haben die dinger 50 Ohm ein und
ausgangsimpedanz.
das mit den störern auf den bänder stimmt natürlich :) das is mit den
10mw geräten schon schlimm genug. aber wenn du mit 7w rausbrüllst, wird
jeder amateurfunker im umkreis von 10km sofort nachschaun was da los
ist...
Also ich weiss ja nicht...
das mit den Richtantennen mag ja für 2.4 GHz praktikabel sein für
Heimanwendungen aber bei grob 400 MHz ist alles 6x grösser und wird dann
gross und unhandlich.
Gleichzeitig sammelt man sich mit der Antenne noch jede Menge "dreck"
von andern Bändern auf und die blasen auch munter in das RFM12 rein und
keiner weiss was die internen Filter des Moduls aushalten bzw welche
Frequenzen die Filtern und ruck zuck ist das ding hinüber.
Ich weiss sowieso nicht was ich von dieser etwas undefinierten
Ausgangsimpedanz des Moduls halten soll. Wenn ja wenigstens ne 50 Ohm
Leitung bis zum Rand des Moduls gehen würde oder im idealfall nen SMA
Verbinder dran wäre würd ich ja mal nix sagen aber so... ich weiss
nicht..
Man müsste mal bisschen rumprobieren aber dieser Lötübergang von dem
halben Bohrloch auf eine darunterliegende Platine scheint mir
Impedanztechnisch doch etwas undefiniert zu sein.
Zum Verstärkerproblem - ja es gibt da was was erkennt ob es grad "rein"
oder "raus" geht. Such mal nach WLAN verstärker - da hatte ich vor
einiger Zeit mal nachgefragt.
Tobi
Hallo,
hatte grad nochmal Rücksprache mit unserem Amateuerfunker. der hat mir
diese Nachbrenner empfohlen: MAR-1SM (DC bis 1 Ghz) + 17db.
http://www.minicircuits.com/pdfs/MAR-1SM+.pdf
Die blasen auf ca 15mW-202mW auf und garantieren, dass vielleicht 10mW
ERP an der Antenne anstehen, das wäre dann auch legal. Habe den Disti
mal angeschrieben, was die Dinger kosten. Klappt natürlich nur, wenn ein
Modul nur sendet, empfangen geht dann damit nicht mehr.
Gruss,
Christian
Das mit der Impedanz ist halb so wild:
Die Länge der Leiterbahn beträgt wenige mm, daher ist das ganze noch
weit von der Wellenlänge entfernt. Eine falsche Impedanz bewirkt also
fast nichts. Auch wenn es vielleicht nicht ganz ordentlich ist, für <5€
ist das schon OK. Bei dem Preis wäre ja alleine der SMA Stecker teurer.
Die Module sind halt einfach nur dafür ausgelegt, dass man ein Stück
Draht dranlötet, mehr nicht.
Eine Richtantenne sammelt bei ordentlicher Ausrichtung übrigends
meistens weniger Störungen ein, als eine normale Antenne, da die Signale
nur aus einer bestimmten Richtung empfangen werden.
Hi Benedikt
mit der Richtantenne geb ich dir recht - vorausgesetzt das der
Störstrahler nicht zufällig grad in Hauptstrahlrichtung liegt.
Mit der Leitungslänge hast Du recht.. ich denke immer noch in einigen
GHz... frag mich nicht warum mir das bei Leiterbahnen immer entfällt..
@ Christian
http://www.minicircuits.com/cgi-bin/modelsearch?search_type=model&model=MAR-1SM&tb_no=TB%2d411%2d1%2b
guckst Du da.. ca 1.30 USD / stück. Mach 2 Euro draus dann ist es
realistisch.
Wenn ich in England was von Minicircuits kaufe ist es meisst Pfund
gleich USD preis und zwischen Pfund und Euro steht ein Faktor 1.5 also
einfach das auf der Webseite ungefähr mal 1.5 rechnen und Du hast den
Preis.
Tobi
Hallo,
habe grad mit der Fa Municom telefoniert, die wäre bereit, da Gigacom
pleite ist auch Endkunden zu beliefern, Dollar = Euro,
Mindestbestellwert sind 50€. Einzelstück ca 2€. (1,03€ Listenpreis)
Wer will denn noch solche Minibooster haben? Und wieviele? Die sind Plug
& Play, also ideal geeignet.
Gruss,
Christian
Ich hätte prinzipiell interesse an den Dingern, Anzahl muss ich mir noch
überlegen, rechne aber mal mit 5-10Stück, wenn der Preis nicht (oder
nicht viel) über 2€ liegt.
Nur welcher ist jetzt der bessere?
http://www.minicircuits.com/products/amplifiers_monolithic.html
Ich meine der MAR 4SM+ bringt 12dbm am Ausgang, der 1SM nur 2,5db.
Kosten beide das gleiche.
Oder?
Ich sage der Frau dann Sie soll 50€ vollmachen, vorrausgestzt es finden
sich Leute, die noch welche brauchen, weil mehr als 10 brauche ich auch
nicht.
Wenn ich richtig gerechnet habe, schafft der MAR4 etwa 18mW, der MAR1
dagegen nur 1,8mW. Es wäre also kein Verstärker, sondern ein
Abschwächer.
Leider sagen mir die meisten Daten nichts. Könnte mich mal jemand
aufklären, was "N.F. (dB)" und "VSWR (:1), Out" bedeuten ?
VSWR ist mir an sich klar, aber was bedeuted der Wert im Zusammenhang
mit Ausgang ? "IP3 (dBm)" müsste die Verzerrung sein ?
Werde heute abend mal einen Thread starten und Interessenten sammeln.
Ich bestelle dann über die Firma die Dinger nachdem die mir ein Angebot
gemacht haben. Bezahlung bitte per Vorkasse (zB Paypal) da ich hier
niemanden persönlich kenne und das Risiko auch auf 50€ sitzen zu bleiben
minimieren will.
Hi nochmal,
habe grad mit dem FAE der Firma telefonoiert. Also die Module passen auf
die Applikation, wenn vorne ein Sinus reingeht kommt der hinten auch
verstärkt raus, jedoch nicht mehr mit 50 Ohm sondern weniger, das sollte
klar séin. Um den wieder auf 50 Ohm zu bringen muss ein Anpassnetzwerk
dran, was im einafchsten Falle aus einem Pi- Glied besteht aber eben
dimensioniert werden will. So ist das nunmal in der HF Technik. Ob man
an den Ausgang eine Antenne direkt machen kann weiss ich nicht, da
müssten dann mal die HF Freaks hier sich zu Worte melden.
Gruss,
Christian
also erst ma wärs interessant zu wissen welche leistung die rfm12 module
überhaupt von haus aus haben. laut datenblatt ja um die 6mw. von 6 auf
18mw zu verstärken bringt nämlich unterm strich fast garnix (faustformel
vierfache leistung für doppelte reichweite)
Die BR-27 von ITE (OOK Modulation) haben ein ERP von 15mW und mit einem
-103dbm Empfänger an einer abgestimmten Antenne habe ich damit 500m
erreicht. Das Geheimnis der Reichweite liegt übrigens im erzielbaren
Gewinn der Antenne, nur kriegt man die nicht für 2€ sondern muss schon
60€ auf den Tisch legen. Und 400m statt 200m sind mir schon 2€ wert.
Hallo Matthias,
hier erst einmal ein Link für das Impedance Netzwerk, wobei noch nicht
klar ist welche Impedanz dieser Verstärker am Ausgang hat.
http://bwrc.eecs.berkeley.edu/Research/RF/projects/60GHz/matching/ImpMatch.html
für das Entkopplungsnetz stelle ich hier einen Schaltungsvorschlag ein
RX=Empfänger, TX = Sender). es werden also zwei Antennen werden, da die
Pins im Chip miteinander verbunden sind. Nur befindet sich der
Verstärker hinter dem Netzwerkwerk. Da ich RFM01 und RFM02m verwende ich
das für mich weniger wichtig, ich will entweder nur senden oder nur
empfangen.
die Werte betragen:
C1 = 5,6pf
C2 = 5.6pf
L1 = 22nH
D1 = BAV 70
H1 = 50 Ohm Microstripline (2.7mm auf 1.6mm FR4 Epoxy mit Groundplane)
Bei geätzen Platinen muss die HF also über eine 2,7mm breite Leiterbahn
geführt werden, auf der Unterseite ist eine Groundplane. Für
Bastelzwecke ist dieses allerdings nebensächlich, da muss man eh mit
Verlusten leben.
Last but not least ein paar Erfahrungen mit den RFM12 von heute bei
"Distanzmessungen", die auf einem Feldweg stattfanden. Laptop im Auto um
den PIC schnell umzuprogramieren (die Leute hätten mich für gaga
gehalten, die da vorbeigingen als ein Irrer mit einer Platine und dem
Akku in der Hand losmarschierte ;-)
Die angegebene Optimalbandbreite von 30khz ist sicherlich so nicht
richtig, mehr Bandbreite des Senders ist so als wäre das Signal
"lauter", die Reichweite nimmt deutlich spürbar zu. Habe sie jetzt
senderseitig auf ca 90 khz eingestellt, den Empfänger auf 145 khz. Damit
kann man locker noch 40 Kanäle spezifizieren mit je 250 khz Abstand.
Mit den in den Codebeispielen angegebenen Einstellungen für LNA gain und
RSSI Threshold (alles auf Maximum) ist das DQD Bit immer an, d.h. der
Empfänger zieht sich jeden Müll rein. Trotzdem erkennt der die 2DD4
Sequenz noch. geht man mit dem Empfänger los so merkt man, dass die
Fehlerraten langsam immer grösser werden, ich habe ca 150m auf Sicht
erreicht bis gar kein Signal mehr vorhanden war.
Stellt man den LNA gain um 1 herunter und ebenfalls den RSSI Threshold
um 2 Punkte, so dass das DQD Bit im Takt des Senders blinkt ergeben
sich andere Verhältnisse. Der Empfang liegt bis ca 100m bei 0%
Fehlerrate, danach reisst er auf ca 5m schlagartig ab auf 0. Im Sinne
einer fehlerfreien Datenübertragung durchaus gewünscht.
So, das wars auch, gute Nacht!
Gruss,
Christian
Christian Julius wrote:
> Laptop im Auto um> den PIC schnell umzuprogramieren (die Leute hätten mich für gaga> gehalten, die da vorbeigingen als ein Irrer mit einer Platine und dem> Akku in der Hand losmarschierte ;-)
Ging mir genauso. Ich bin auch eine Runde ums Haus gefahren.
> Die angegebene Optimalbandbreite von 30khz ist sicherlich so nicht> richtig, mehr Bandbreite des Senders ist so als wäre das Signal> "lauter", die Reichweite nimmt deutlich spürbar zu. Habe sie jetzt> senderseitig auf ca 90 khz eingestellt, den Empfänger auf 145 khz. Damit> kann man locker noch 40 Kanäle spezifizieren mit je 250 khz Abstand.
Das deckt sich gut mit meinen Versuchen: Ein hoher Frequenzhub des
Senders bringt mindestens doppelte Reichweite wie die Werte aus dem
Datenblatt.
Welche Bandbreite hast du beim Empfänger ingestellt ? 145kHz gibt es
nämlich nicht.
Mein Problem ist: Wenn man 90kHz Modulation verwendet, und sagen wir mal
19200Baud, dann ergibt das insgesamt etwa 2x 110kHz, also 220kHz
Bandbreite des gesendeten Signals. Daher müsste man eigentlich
mindestens 220kHz einstellen. Oder liege ich dabei falsch ? Wo sind die
HF Speziallisten die sich mit sowas auskennen ?
> Der Empfang liegt bis ca 100m bei 0%> Fehlerrate, danach reisst er auf ca 5m schlagartig ab auf 0. Im Sinne> einer fehlerfreien Datenübertragung durchaus gewünscht.
Wenn man aber sowiso einen Fehlerkorrektur eingebaut hat, kann man auch
falsche Werte empfangen. Damit gewinnt man zusätzlich 50m Reichweite die
ab und zu funktionieren.
So, dieser "Elsa" hat mir geantwortet auf meine Mail warum die Bits
floaten. Verstehe er nicht. Rev 3.0 wäre bugfrei. Ich solle den Source
einschicken. Das Lo des nIRQ Pins wäre übrigens an das Lesen des Status
gekoppelt, liest man es geht der Pin nach High.
Witzig: Die Chinesen dort haben alle Dienst-Namen, damit die Europäer
sie sich besser merken können: Elsa, Tank, Spyder etc. In echt heisst
der Typ Hai Wu Fin Cheng oder so ;-)
Ich hab mal ein paar Details ergänzt.
'eb = Vergleichbar mit BrownOutDetection -> Erkennt eine zu geringe
Betriebsspannung, und schaltet dann in den RESET Modus (1 = An / 0 =
Aus)
Steht das irgendwo ? Ich dachte das erzeugt nur einen Interrupt nach
draußen, aber das Modul arbeitet normal weiter.
BrownOut .. hmm .. bi ich mir nicht ganz sicher, aber soweit ich das
"herausfiltern" konnte, scheint sich das Modul in den Sleep Mode zu
versetzen.
Will ich jezt aber keinerlei Garantien darüber abgeben!! Wie gesagt, die
Infos sind doch recht dürftig, zumindest das, was ich hier hab.
TXT: Danke fürs weiter auffüllen ... vieleicht wird das hier mal zu
einer guten Register-Beschreibung ;) wäre sicher auf für andere
hilfreich.
Weis jemand eventuell, was die fest definierten Werte (-unknow-) zu
bedeuten haben? .. kann da leider garkeien Infos zu finden.
MfG
TPM
Hallo,
wenn das Ov Bit gesetzt wurde heisst das nicht, dass nicht weiter
empfangen werden kann, nur dass die Daten sich ständig überschreiben.
Was anderes:
Habe grad mein RFM12 durch einen abgerutschten Tastkopf gehimmmelt, VDI
Pin und GND kamen zusammen -> Modul mausetot!
Pollin sagte Lieferzeiten von 14 Tagen, so wie das letzte Mal auch.
Ähmmmm..... hat vielleicht jemand noch ein RFM12 in der smd Variante und
könnte mir dieses morgen in einen Briefumschlag stecken? Mir seine
Kontodaten per Mail mitteilen, so dass ich die 8€ bezahlen kann? Sonst
ist bei mir die nächsten 2 Wochen nämlich Pause, ich hatte nur 2 Stück
bestellt.
Gruss,
Christian
Benedikt K. wrote:
> Was die Bits die fest auf 1 und 0 sind bedeuten, kann ich auch nicht sagen.> Dazu findet sich nirgends etwas.
Auch nicht bei dieser anderen Firma (ich komme gerade nicht auf den
Namen), von denen Hope offensichtlich sowohl die Chips als auch die Doku
abgekupfert hat?
Deren Doku schien mir noch etwas vollständiger zu sein, als die von
Hope, es könnte aber auch sein, daß Hope von einem früheren
Versionsstand der Chips ausgegangen ist, der manche Funktionen noch
nicht (dokumentiert) hatte.
@Martin:
Kannst Du die Liste bitte entweder zu einem Attachment machen oder so
editieren, daß alle Zeilen <80 Zeichen haben. So wie es im Moment ist,
muß man (zumindest mit Firefox) immer sehr weit nach rechts scrollen, um
an die "Antwort"-Links zu kommen.
Bei Integration stehen auch nur die Bits als 1 oder 0 im Datenblatt.
Und das mit dem Code ist wirklich ein dummer Bug in dem Forum. Ein Troll
könnte das bewusst ausnutzen indem der sehr langen Code postet...
Benedikt K. wrote:
> Bei Integration stehen auch nur die Bits als 1 oder 0 im Datenblatt.
Hmm - das riecht nach Bugs im Chip oder undokumentierten Features.
Einfach mal anders setzen und schauen, was passiert? ;)
Ich frage mich auch die ganze Zeit schon, ob es bei den Modulen nicht
auch undokumentierte Kommandos gibt, denn so ein richtiges System konnte
ich hinter den Bit-Kombinationen, die das jeweilige Kommando
identifizieren, bisher nicht entdecken.
Bei Integration gibt es noch Zusatzbefehle wie PLL Geschwindigkeit. Den
gibt es beim RF12 nicht, nur beim RF02. Ob dieser Befehl auch beim RF12
vorhanden ist kann ich leider nicht ausprobieren, man bräuchte einen
guten Spectrum Analyser um zu erkennen, wie schnell sich die Frequenz
bei der FSK ändert.
Wenn es die anderen Bits beim Integration ICs schon fehlen, wie gut hat
HopeRF die ICs dann nachgebaut ?
Wobei, das wäre nicht das erste IC, das mitsamt der nicht dokumentierten
Befehle nachgebaut wurde...
@Reinhard ... kann leider keine Texte Editieren .. is nur n Löschbutton
vorhanden. Aber, macht ja nix .. kanns ja nochmal schreiben ;)
...
Da ich gerne alle Register, und deren Funktion verstehen möchte, hab ich
eine kleine Liste erstellt, die jedes Bit in jedem Register genau
erklären soll. Leider hat das original RFM12B Datenblatt keine wirklich
genaue spezifikation der einzelnen Funktionen, bzw. Bits. definiert. Und
die anderen Datenbläter vom RF12 (ohne M) reichen leider auch nicht ganz
aus, dasmit ich genau verstehe, was die da eigentlich machen!. Daher
würde ich euch bitten, meine liste etwas z vervollständigen, soweit ihr
das schaft!
Schonmal VIELEN VIELEN Dank im vorraus, fürs komplitieren ;)
...
Ne andere Firma hat das entworfen? .. jezt würd mich echt interessieren,
wer das is .. vieleicht kann man mit denen Kontakt aufnehmen. Das wär ja
der hammer. .. Eventuell könnte man danna uch herausfinden, was diese
Fixen 0 und 1'sen zu sagen haben .. vieleicht ist das von HOPE n fester
wert, so wie bei Pollin mit dem Band, nur mit irgend einer anderen
einstellung.
PS: Jezt hab ich doch n Bearbeiten Button! .. nice ;) Eventuell gibts
das nur beim lezten Posting ... gut zu wissen.
PPS: Hab die aktuelle Version vom TXT angehängt.
MfG
TPM
Hi,
ich versuche grad das RFM02 zum Laufen zu kriegen. Das DQD Bit des
letzten verbliebenen RFM12 wird getriggert aber die Daten kommen nicht
an.
Ich frage mich was in den Hope Codebeispielen die Code CC00 und D040
(Rate/2) bedeuten? Die sind im Datenblatt nicht dokumentiert? Pollin
hat ja nu abgekupfert kotz
Und ist 4800 baud nun C847 oder C823?
Wo hast du all diese Einstellungen her ? Die gibt es beim RF02
nirgends...
Im RF02 Datenblatt ist alles richtig beschrieben. Die Baudrate wird beim
RF02 andersts berechnet als bei den anderen Modulen.
Hat eigentlich jemand Zugang zu einem Spektrum Analyser oder einem
anderen Messgerät mit dem man die Leistung messen kann ? Mich würde mal
interessieren, wieviel Leistung wirklich aus einem RFM12 rauskommt, ob
diese sich bei 3V Betriebsspannung ändert, und ob die Modulation sich
auf die Leistung auswirkt.
Meinen Messungen nach ändert sich zwischen 2V und 5V nämlich rein
garnichts an der Ausgangsleistung.
Weiterhin wäre interessant, ob die Module bei 50Ohm wirklich die größte
Leistung liefern.
Klar gibts die! I den beispielen von der Hope HP. D040 ändert laut Oszi
das Tastverhältnis des nIRQ Pins für Pollingbetrieh, sobnst snd es
scharfe Peaks für Interrupteingänge. Was CC00 macht weiss ich auch noch
nicht. Habe um 4 Uhr heute morgen augfgegeben gähn Die Signale sind
mit dem Oszi vermessen, der Abstand zwischen den Peaks stimmt aber, also
ist die Datenrate richtig, beim rfn12 sind 47 4800 baud, beim rfm02 sind
es 23, also die Hälfte.
Nur empfangen tue ich nicht, der Fifo geht nicht auf grübel
Analyser etc habe ich alles.... kosten rund 300€ für die Stunde
Benutzung, es sei denn ich warte mal bis ganz lange nach Dienstschluss
und überrede unseren Funk Amateur, dass er mal mitkommt in die
Absorberkammer. Der ist ganz begeistert von diesen Basteien :-)
Christian Julius wrote:
> Klar gibts die! I den beispielen von der Hope HP. D040 ändert laut Oszi> das Tastverhältnis des nIRQ Pins für Pollingbetrieh, sobnst snd es> scharfe Peaks für Interrupteingänge. Was CC00 macht weiss ich auch noch> nicht.
Die Beispielcodes habe ich direkt wieder gelöscht, da diese derart
voller Fehler waren. Fragt sich nur ob die Befehle nicht existieren, im
Datenblatt vergessen wurden, ober absichtlich gestrichen wurden. Frag
doch mal Elsa, was der zu den Befehlen und den Unterschieden zwischen
Datenblatt und Beispielcodes meint.
> Analyser etc habe ich alles.... kosten rund 300€ für die Stunde> Benutzung, es sei denn ich warte mal bis ganz lange nach Dienstschluss> und überrede unseren Funk Amateur, dass er mal mitkommt in die> Absorberkammer. Der ist ganz begeistert von diesen Basteien :-)
Du musst dazu ja nicht unbedingt in die Absorberkammer: Einfach das
Modul direkt an den 50Ohm Eingang klemmen (notfalls über Abschwächer,
falls der Spektrum Analyser nicht soviel Spannung verkraftet). Das
reicht ja um zumindest die Bandbreite, Leistung usw. zu messen.
Ich kann mit meinem selbstgebauten Spektrum Analyser leider nur
Relativmessungen machen. Auf dem Spektrum sind die Signale um etwa 20dB
schwächer wenn ich Daten senden, als wenn ich nur den unmodulierten
Träger sende. OK, ist irgendwie klar, da die Energie nun auf einen
größeren Frequenzbereich aufgeteilt ist, aber 20dB kommt mir etwas viel
vor. Es kann natürlich auch sein, dass mein Spectrumanalyser Mist misst.
Benedikt K. wrote:
> Martin W. wrote:>> Mit dem RX Commando (&hB800) sollten doch die Empfangenen Daten, bzw>> auch schrott, je nachdem, was grad auf der Welle reitet, auf der MISO>> leitung zurück kommen .. oder täusche ich mich da?>> Ja, du täuschst dich. Das Modul läd die Daten nur dann ins FIFO wenn das> 2DDA Syncword empfangen wurde. Alternativ kann man das auch umstellen,> dass das Modul jeden Mist ins FIFO läd, aber das macht eigentlich keinen> Sinn. Du kannst es ja mal ausprobieren: Im FIFO Mode Register al auf 1> (always fill) setzen. Dann sollte der FFIT Pin sofort aktiv werden.
Mir ist gerade aufgefallen, das du hier schreibst, 2DDA, jedoch im
Datenblatt 2DD4 steht .. is das n druckfehler im blatt, oder hast du
dich vertipt?
PS: hab das TXT nochmal etwas erweitert.
MfG
TPM
Benedikt,
frag bDu den Elsa doch mal, ich habe da derzeit etwas viel angefragt :-)
Und immer schon eine Firmensignaur unter die Mail schreien und immer
"we" sagen, das kiingt besser.
Es dürfte sich um eine undokumentierte Funktion handeln, wenn wenn der
uC keinen INMT hat, dann ist es schwierig einen Peak von 1,6us Länge
abzutasten.
Gruss,
Christian
Christian Julius wrote:
> Es dürfte sich um eine undokumentierte Funktion handeln, wenn wenn der> uC keinen INMT hat, dann ist es schwierig einen Peak von 1,6us Länge> abzutasten.
Kannst du mal genau beschreiben, was der Befehl deiner Meinung nach
bewirkt ? Was man also wie einstellen muss, damit ich das mal
ausprobieren kann.
Im Datenblatt von Integration steht nichts zu dem Befehl. Wenn das also
eine undokumentierte Funktion ist, dann haben die das IC gut nachgebaut.
Ich habe mal ein wenig die RF12 Software mit einer LCD Ansteuerung
kombiniert. Dieses kleine Modul lässt sich per RS232 ansteuern und zeigt
den Text dann auf dem LCD an.
Weshalb ich das Bild eigentlich zeige: Die Mini Antenne funktioniert
erstaunlich gut. Etwa 30m quer durchs Haus sind bei 19200Baud kein
Problem, solange der Metallrahmen des LCDs nicht zwischen Sender und
Antenne ist. Die HF muss also von hinten kommen.
Benedikt K. wrote:
> Die Mini Antenne funktioniert erstaunlich gut.
Hast Du die irgendwo ausgeschlachtet oder selst gewickelt?
Falls selber gewickelt, bin ich sicher nicht der einzige hier, der gerne
näheres darüber erfahren würde (Drahtlänge, Windungszahl, Steigung,
etc.)
Bei Pollin oder im Baumarkt gibt es oft so eine Funktürklingel (diese
hier: http://www.mitglied.lycos.de/bk4/433MHz.htm ). Von der habe ich
die Antenne abgeschaut: Etwa 18mm lang, 15 Windungen, gewickelt auf
2,5mm. Der Draht müsste in etwa 0,8mm² sein. Ich habe den nächstbesten
genommen den ich rumliegen hatte.
Das ganze ist sicher nicht optimal, und verbesserungsfähig, aber ich
denke es ist ein guter Einstiegspunkt.
Die 1/4 Wave Antenne ist auf jedenfall besser, aber natürlich auch
größer.
Wie gut die Planarantenne ist, weiß ich nicht.
Groundplane ist die Gegenelektrode zur Antenne. Bei 433MHz sollte diese
im Idealfall mindestens 30cm groß sein (ich bin aber auch nicht so der
HF Profi, daher keine Garantie dass das richtig ist).
Gemessen an den Kosten und dem Aufwand ist die Spulenantenne meiner
Meinung definitiv brauchbar.
Hier wieder mal ein Stück Software.
Da die Paketisierung usw. bisher auf 2 Dateien verteilt war (main.c und
rf12.c) war die Software nur schlecht für andere Projekte verwendbar.
Das habe ich jetzt behoben, und die Benutzung stark vereinfacht:
RF12 inititialisieren:
rf12_init();
RF12 konfigurieren:
rf12_config(RF_BAUDRATE, CHANNEL, POWER, RX_GAIN);
Daten übertragen:
rf12_putc(wert);
wert=rf12_getchar();
Dann gibt es noch 2 Funktionen die anzeigt ob Platz im Sendepuffer bzw.
Daten im Empfangspuffer sind.
Das ganze Interface läuft nur über einzelne Bytes ab. Die Paketbildung,
Fehlerprüfung usw. macht die Software in der rf12.c von alleine.
Als Beispielprogramm habe ich eine RS232 Funkbrücke geschrieben. Da die
gesamte Steuerung intern in den RF12 stattfindet, ist dieses Programm
nun nur noch 5 Anweisungen groß.
Das ganze läuft jetzt im Hintergund über einen Interrupt gesteuert. Das
macht das ganze flexibler, allerdings kann der Interrupt recht lange
dauern, da auch die Bestätigung im Interrupt gesendet wird. Ist keine
saubere Lösung, aber das kommt noch. Daher garantiere ich auch nicht,
das alles fehlerfrei ist, die langen Tests kommen noch.
Da der Interrupt High Level aktiv sein muss, wird INT1 mit einem
Inverter davor verwendet.
Hallo,
ich habe es inzwischen aufgegeben das RFM02 dazu zu bewegen mit dem
RFm12 eine Verbindung einzugehen, mir fällt nichts mehr ein. Das DQD Bit
des RFM12 blinkt, es kommt also was an aber das war es auch. Ansonsten
ist es ein Stochern im Dunklen, wenn man nicht messen kann, was wirklich
gesendet wird.
Dieser Befehl D040 bewirkt, dass das NIRQ Signal, welches den Mastertakt
für die Datenbits angibt, wann diese bereits zur Aufnahme sind, einen
50% Duty Cycle hat, statt nur dünne Peaks. Zwischen den Peaks messe ich
2ms, das ist die Zeit, die ein Bit bei 4800 baud braucht, stelle ich um
sind es wieder 2ms aber es ist eben kein Peak mehr, sondern ein breiter
Streifen auf dem Oszi. Die werden wohl gemerkt haben, dass langsame
Prozessoren oder solche die mit Batterie bei 32 khz betrieben werden es
nicht schaffen 1,6us im Polling Betrieb abzutasten. Der Chip ist
definitiv ein Nachbau, die Struktur haben auch die Nord-IC Chips,
ausserdem kann man ja Lizensen für IP's kaufen, das sind ja bloss VHDL
Codes bzw in diesem Falle noch Analog Cores, die da verbaut wurden.
Da kann einfach nichts mehr falsch sein...
Christian Julius wrote:
> ich habe es inzwischen aufgegeben das RFM02 dazu zu bewegen mit dem> RFm12 eine Verbindung einzugehen, mir fällt nichts mehr ein.
Passt deine Baudrate ? Die wird beim RF02 nämlich anderst berechnet.
> Der Chip ist> definitiv ein Nachbau, die Struktur haben auch die Nord-IC Chips,> ausserdem kann man ja Lizensen für IP's kaufen, das sind ja bloss VHDL> Codes bzw in diesem Falle noch Analog Cores, die da verbaut wurden.
Nord-IC ?
Hi,
wie wird denn die Baudrate anders berechnet? Ich kenne die Formeln, da
ist nur ein Bit anders (cs). Wichtiger wäre zu wissen wann der NIRQ Takt
das Bit erwartet, auf der steigenden Flanke oder auf der fallenden?
Was ich auch nicht kapiere ist, dass der Empfänger mit seinem DQD Bit
zappelt, auch wenn ich die Frequenz des Senders grob ändere.
Ansonsten: http://www.nordicsemi.no
Welches IC soll den Hope RF ICs entsprechen ? nRF905 ?
Die DQD und die VDI Bits sind bei mir nutzlos, die zappeln wie wild.
Ich nutze daher eigentlich nur das FFIT Bit.
Beim RF02 werden die Daten bei der fallenden Flanke übernommen.
Das DQD Bit funktioniert wunderbar, wenn Du LNA und RSSI heruntersetzt,
was eigentlich auch Sinn der Sache ist. Ist so wie die Squelch Taste an
einer Funke.
Findest Du einen Fehler in meinem Code für RF02?
http://www.nordicsemi.no glaub ich nicht .. das die von dem sind .. dort
finden sich zwar chips, aber die arbeiten alle nur auf max. 3 bänder, ab
433MHz
der Post von @Bengez M. jedoch, scheint passender zu sein. Die
Componenten arbeiten nämlich auf 4 Bänder, beginndend bei 315MHz.
Desweiteren können diese chips auch bis 256KBaud transferrate, als die
von nordic mit nur 70K
MfG
TPM
@ Martin W.
Bitte Win-config-tool downloaden , Chip-Configurator
fuer komplete family : IA422x,IA432x und IA442x chips,
WDS.exe
probieren, func excellent !!
Gruß !
Bengez M.
Genau:
IA4221 = RF02
IA4320 = RF01
IA4420/1 = RF12
Sind in der ZIP Datei brauchbare Programme oder Infos ? Ich hab leider
nur ISDN, daher ist mir die Datei etwas groß...
@Benedikt :
Könnte mal jemand die WDS.exe (falls diese nicht zu groß ist) posten,
damit ich nicht alles runterladen muss ?
Leider : WDS.exe ist cca. 11MB gross !
Gruß aus Croatien!
Bengez M.
@Benedikt
>Könnte mal jemand die WDS.exe (falls diese nicht zu groß ist) posten,>damit ich nicht alles runterladen muss ?
CD1 (070702_1151).zip und
CD2 (070702_1151).zip
sind excellente utility soft-package fuer arbeit mit Integration-s
IA422x,IA432x und IA442x chips !
Gruß !
Bengez M.
@ Martin W.
>Die von dir beschriebene Datei existiert in dem ZIP file nicht.
Look in path : \CD1 (070702_1151)\Software\Chip Configurator\WDS
Setup.exe
Gruß !
Bengez M.
Bitteschön.
Bei mir stürzt das Prog leider ab, wenn ich einen Chip auswähle.
PS: Das ist eine VB.NET Anwendung. Folglich wird die laufzeitumgebung
dafür benötigt.
MfG
TPM
@Martin W.
>Bei mir stürzt das Prog leider ab, wenn ich einen Chip auswähle.
WDS.exe exiestiert auf mein Acer-notebook und desk-comp.(WinXP)!
Func OK !
Bengez M.
Hallo,
ich habe spasseshalber mal bei beiden Firmen nachgefragt, ob die Kopien
aus China denn legal sind. Auf die Antworten bin ich mal gespannt. Die
Sache ist nämlich die, dass wenn hier jemand Chips bestellt hat und die
Frachtpapiere weisen diese als Clone aus, dann war es das mit den Chips,
die wandern dann in den Shredder und die Kohle ist weg.
Hintergrund ist auch der, dass wir hier im Prüfinstitut immer wieder
Bauteile aus China haben, die exakte Nachbauten sind aber keinesfalls
das Datenblatt einhalten. Da diese Bauteile auch in Sicherheitsanlagen
wandern ein lebengefährliches Spielchen.
Gruss,
Christian
@Benedikt
Respekt, respekt !
Hast du WDS.exe endlich ausprobieren!
@Christian Julius
Bin auch gespant was wird ELSA aus China antworten !
Informiren weiter, bitte !
Grusse!
Bengez M.
Christian Julius wrote:
> Die> Sache ist nämlich die, dass wenn hier jemand Chips bestellt hat und die> Frachtpapiere weisen diese als Clone aus, dann war es das mit den Chips,> die wandern dann in den Shredder und die Kohle ist weg.
Was ist dann mit den ganzen TS358, TS34063 usw. ? Was sollte denn in den
Frachpapieren stehen ? Second Source, oder garnichts ?
Bei mir läuft die WDS.exe. Es gibt zwischen den IA ICs und den RF ICs
kleine Unterschiede, vor allem beim RF02:
- kein Tasterinteface
- kein EEPROM Modus
- kein OOK
Oder sind die Sachen nur nicht im Datenblatt beschrieben ?
Diese funktionen "auszubauen" hätte ja immerhin ein kleines Redesign
erfordert.
Ich habe gerade mal ein paar Antennenmessungen gemacht.
Die RSSI Spannung liegt bei dem getesteten Modul bei 500mV ohne Signal
und etwa 1100mV mit maximalem Signal.
Der Empfänger war etwa 3m vom Sender entfernt, die Sendeleistung daher
auf minimal eingestellt, Modulation aus (also Dauersignal).
Mit einem 17cm langen Draht ist die Leistung maximal (etwa 850mV am
Empfänger).
Die Helixantenne (diese mini Kupferspule) bringt nur etwa 550mV, also
fast nichts. Interessant ist, dass selbst mit dieser eine Übertragung
quer durchs Haus möglich ist. Allerdings liegt in der anderen Ecke vom
Haus das Signal auch nur bei etwa 550mV, und das ist genau auch der
Punkt wo die Empfangsprobleme anfangen.
20mV RSSI Spannung entsprechen etwa 1dB. Die 17cm Drahtantenne ist also
um etwa 15dB besser als die Mini Spule.
Jetzt wären mal die anderen Antennen interessant, die es u.a. bei
Digikey gibt (also Chip und Planarantenne). Leider habe ich diese (noch)
nicht, daher kann ich diese nicht messen.
Ich werde aber sowiso erstmal bei der 17cm Drahtantenne bleiben, da
diese an Einfacheit und Reichweite nur schwer zu überbieten ist.
Die Antennen sehen nicht schlecht aus, vor allem die Back IFA gefällt
mir. Aber die scheint nur für 868MHz geeignet zu sein, da sie ansonsten
zu groß wird. Leider sind die Dinger relativ kritisch in der
Dimensionierung, und ohne geeignetes Messequipment nur schwer selbst zu
bauen, da man für jede Änderung eine neue Platine ätzen muss. Dazu kommt
noch, dass die Dimensionierung auch noch vom Platinenmaterial abhängt,
zu dem nicht unbedingt die Daten vorhanden sind.
Ich bin mal etwas mit einem tragbaren RFM12 + LCD durchs Haus gewandert.
Mit einem 17cm langen Draht ist das Signal etwa 10-15dB stärker als mit
der kleinen Drahtspulen Antenne. Die Reichweite ist geschätzt also
mindestens doppelt so hoch. In 20m erreiche ich unter günstigen
Bedingungen noch 700mV am RSSI Pin.
Das RSSI Bit ist bei minimalem Schwellwert immer gesetzt, egal ob der
Sender an ist oder nicht. Eine Stufe höher das gleiche. Erst ab der 3.
Stufe ist das RSSI Bit gelöscht, wenn der Sender aus ist. Allerdings ist
mit dieser Einstellung die Reichweite stark eingeschränkt. Je nach
Empfangsposition bekomme ich ab etwa 10m vereinzelt schon ein gelöschtes
RSSI Bit, während mit dem Schwellwert auf minmal oder eine Stufe darüber
selbst in 20m unter ungünstigen Bedingungen die Daten noch mit hoher
Warscheinlichkeit richtig ankommen.
Das Clock Recovery Bit, zusammen mit Data quality detector ist eine
bessere Anzeige, ob ein gültiges Signal anliegt. Dies erreicht man durch
die VDI Einstellung medium. Da aber auch ohne gültiges Signal, die
einzelnen Bits ab und zu erscheinen, ist wohl die Slow Einstellung oder
alternativ ein Filter am VDI Signal die bessere Wahl, wenn man dieses
Signal wirklich als Indikator für gültige Daten nutzt.
Ich werde bei meiner Software jetzt folgende Einstellungen verwenden, da
diese meiner Meinung nach optimal sind für eine hohe Reichweite:
LNA Gain: 0dB
Bandwidth: 200kHz
RSSI: -97dB
Frequenzhub: 90kHz
Kann es sein, dass die RFM12 Moduls sehr breitbandig senden ? Ich habe
mal ein paar Messungen gemacht (Frequenzhub 90kHz, Daten mit 20000Baud),
das Spektrum sieht aber sehr viel breiter aus. (Es kann natürlich auch
sein, dass mein Spektrum Anaylser Mist misst.)
Hallo,
lässt sich dieses Forum eigentlich für Trolle sperren? Bzw gibt es hier
aktive Moderatoren, die gelegentlich säubernd eingreifen, um den
anonymen Dünpfiff hier zu begrenzen? Grundsätzlich gilt aber: Don't feed
the Trolls, diese armen Menschen haben oft niemanden, der mit ihren
redet, daher versuchen sie wenigstens negative Aufmerksamkeit zu
erzeugen um überhaupt beachtet zu werden.
Es ist mein Beruf Fragen zu stellen, auch sehr unbequeme, ich darf das,
dafür werde ich bezahlt :-) Wir werden sehen was die Firmen antworten,
das sind Fragen die jeder Kunde auch stellen würde. Warum teuer in den
US kaufen, wenn man es zigfach billiger aus China haben kann? Es ist ja
auffällig, dass die beiden Datenblätter absolut identisch sind bis ins
kleinste Detail. HOPE hat keine deutschen Niederlassungen, es ist eine
Tochter der Shenzen Electric Company, einem sehr grossen Hersteller
elektronischer Waren, sie werden bei keinem deutschen Disti geführt,
verkaufen ihre RF Module ausschliesslich über Pollin. Und Pollin
versorgt mehr die Bastler und Schnäppchenjäger.
Auch das stellt HOPE her:
-------
MAR series RF wideband transistor
We can Supply all series of MAR SMD low power low noise high frequency
transistors to replace the brand of Philips,NEC,Toshiba and Motorola
etc..
-------
Die MAR Series sind bekanntlich ein Produkt der Minicircuits US.
Was China alles fälscht steht hier, das stimmen selbst die Bezeichnungen
der Hersteller überein wie IRF, Philips, MAR usw. Und Hope mischt da
kräftig mit, die sind mehrfach genannt.
http://www.made-in-china.com/products-search/hot-china-products/Transistor.html
Fälschungen der IRF Transistoren:
http://www.made-in-china.com/showroom/chickenv2/product-detailuMFxQsNUCEcS/China-MOSFET-Transistor-IRF540N-IRF740-IRF840-.html
Im letzten Fall, den ich dienstlich erlebte wurden zwangsgeführte
Sicherheitsrelais eines grossen deutschen Herstellers gefälscht und
ebenso die Zertifikate und Prüfsiegel, diese Relais habe ich, sie sind
wertloser Schrott, der im Falle eines Versagens Menschenleben kostet.
Über Umwege kamen sie nach Deutschland, versehen mit allem was die
Fälscherwerkstatt der Chinesen hergibt, damit sie so aussehen wie von
einem bekannten deutschen Hersteller. Was chinesische Technik oftmals
taugt habe ich ja im Falle des Geländewagens Landwind erlebt, dem wir
glücklicherweise zusammen mit dem ADAC die Markteinführung hier
versauert haben, damit es nicht noch mehr Tote im Verkehr gibt. Aber
vielleicht findet ein Herr "Senf" das ja gut und hat seine Freunde daran
wenn andere zu Schaden kommen.
Das aber nur nebenbei und etwas OT, sehe grad, dass hier saubergemacht
wurde ;-)
Christian Julius
Back to topic. Thema Antenne.
http://www.tfs.net/~petek/rockets/RDF/70ant.html
Diese habe ich gerade eben nachgebaut. Das ging ziemlich flott und die
Antenne ist, wie soll ich es am besten beschreiben, einfach nur spitze:
Das Signal mit dieser Antenne ist ohne Sendersignal um etwa 5dB
schwächer als mit der 17cm Drahtantenne, die unerwünschten
Hintergrundstörungen werden also gut unterdrückt (wenn nicht gerade der
Störer in der gleichen Richtung liegt). In 20m Entfernung quer durchs
Haus, ist der Empfänger mit dieser Antenne immer noch übersteuert
(zumindest das RSSI Signal): Das RSSI Signal hängt bei 1130mV fest,
genau dem gleichen Wert wie direkt neben dem Sender. Die Antenne ist
also um etwa 20dB besser als die 17cm Drahtantenne !
Wie groß die Reichweite ist, habe ich noch nicht ausprobiert, ich komme
mir nämlich etwas komisch vor, wenn ich mit einer 70cm langen Yagi
Antenne und einer Platine in der Hand die Straße entlang laufe... Ich
möchte nicht wissen, was die Nachbarn denken, wenn sie mich so sehen.
Mit 2 solcher Antennen sollte die Reichweite ziemlich hoch sein (ich
schätze mal 500m oder mehr).
Hallo,
netter Nachbau, allerdings fehlt etwas: Das Anpassglied vom 200 Ohm
Dipol auf das Koax Kabel. Eine Parallelschaltung aus zwei 75 Ohm Kabeln
würde passen, jedoch muss die Länge berechnet werden.
Hier ist noch eine Bauanleitung, allerdings für das 2m Band.
http://www.mydarc.de/dk7zb/5-el-2m/5Element.htm
Was ich noch nicht verstanden habe ist: Sehe ich das richtig oder sind
die beiden Litzen des Koax elektrisch miteinander über den Stab
verbunden?
Was dieser bfehl sonst noch bewirkt weiss ich nicht, der Chip kann
leider nicht viel sagen :-((( Werde gleich mal mit der 40 herumspielen,
die D0 ist j das Kommando.
Christian Julius wrote:
> netter Nachbau, allerdings fehlt etwas: Das Anpassglied vom 200 Ohm> Dipol auf das Koax Kabel. Eine Parallelschaltung aus zwei 75 Ohm Kabeln> würde passen, jedoch muss die Länge berechnet werden.
Denke ich nicht: bei deinem Link werden beide Stäbe angesteuert. Bei
meinem Link besteht der gespeiste Stab aus einer Schleife auf einer
Seite. Das dient vermutlich als Anpassung.
Ich werde mir jetzt noch eine zweite Antenne bauen und dann mal schauen
wie weit ich komme. Wenn die Reichweite bei >200m liegt, kann ich in die
Wildniss, dann sieht mich (hoffentlich) niemand mit der Antenne.
Besser ist das in der Wildnis, sonst sind die Herren mit den jackenm die
nach hinten zugeknöpft werden nicht allzu weit ;-)
Löte grad den letzen Chip ein, den ich noch habe...
OT:
>>Im letzten Fall, den ich dienstlich erlebte wurden zwangsgeführte>>Sicherheitsrelais eines grossen deutschen Herstellers gefälscht und>>ebenso die Zertifikate und Prüfsiegel, diese Relais habe ich, sie sind>>wertloser Schrott, der im Falle eines Versagens Menschenleben kostet.
Redest du von Fa. P*lz? Pollin hat schon ein Problem mit
Patentverletzungen gehabt. Die kleine Aderendhülsen-Quetschzange im
letzten Sonderkatalog haben sie wegen solcher Probleme zurückziehen
müssen...
Zum Thema:
Bin gerade auch am Basteln mit zwei RFM12. Zeichne gerade das Layout.
Ich will sie zur Datenübertragung zwischen einer Außen-Wetterstation und
einem Webserver verwenden. Welchen Mindestabstand sollte man zwischen
Modul und µC verwenden?
Gruß Elektrikser
So fertig, wird mal Zeit Adapterplatinen zu machen, das nervt auf Dauer
mit dem Silberdraht auf der Lochraster....
Ok, ich probiere noch ein wenig, morgen kommen meine Frau und die Kiner
wieder, dann geht nichts mehr über das WE.
Hallo Leute,
anbei mal eine Umwegleitung. Das Bild hat wohl schon
Altertumswert.
Die Verkürzungsfaktoren sind wohl zu erfahren.
Vielleicht kann es jemand gebrauchen.
Wigbert
@Christian Julius (Firma privat) (elektroniker1968) :
Du Pfeife, habe ich geschrieben die sitzen in Deutschland. Lesen kanner
also auch nicht.
Man sieht sich im Leben immer 2 mal. Bis demnächst.
Klasse! Sowas Ähnliches habe ich auch noch in meinen alte Röhrenbüchern.
Da der PIC auch grad zerschossen wurde dauert es jetzt etwas länger,
muss dringend mal wieder bei ebay auf die Jagd nach PICs gehen, die
gehen mir langsam aus...
Hi Christian,
richtig. Und lass doch nicht Deine Wut an den Pics aus,
überrasch uns lieber weiterhin mit Deinen konstruktiven
Beiträgen.
Es gibt immer neidische Zeitgenossen.
Wigbert
@Wigbert P. ... Hui .. is die seite zufällig aus dem Buch "Antennen"
(zeitraum: DDR) ?
PICs mag ich nicht .. die hab ich früher immer zerlegt, wie grass, das
im Wind bricht. Ich nutz nur noch AVRs, die sind robust, das is
teilweise schon wahnsinn. (PS: Habs mal nen Mega8 udn nen Tiny2313 mit
knapp über 50MHz angetacktet ... hrrr .. das macht spass! Power ohne
ende)
MfG
TPM
Errrrrrrrrrrrr gäääääääääääääääht ! DAS SCHEISS DING GÄÄÄÄÄÄÄÄHT!
(O-Ton Der Sachse, 200 Puls)
RFM02 und RFm12 reden miteinander und ich habe es nicht mal bemerkt!
Gucke grad auf dei Anzeige und da laufen die Zahlen. Verändert habe ich
nichts, vielleicht war der eine RFM02 einfach defekt.
Sapperlot und Kruzifix, da gehn ma gleich mal gschwind in den Keller und
machen uns ein Bierchen auf ;-)
Hallo Maritin,
>@Wigbert P. ... Hui .. is die seite zufällig aus dem Buch "Antennen"
(zeitraum: DDR) ?
ok, aber manchmal sind auch die einfachsten lösungen, die besten.
Man hat ja das Material der Umwegleitung sowieso über.
Die Yagi ist ja sowieso kompakt und da ist das eine "bequeme"
Lösung. Und spielen tut das Ding allemal.
Wigbert
Appropro RSSI ... kann es sein, das das RFM12 garkein RSSI ausgang
besizt, und ich folglich garkeine Signalstärke messen kann, abgesehen
vom DRSSI Bit im Status-register ?!?
@Wigbert .. ? .. verstehe deine Antwort in bezug auf meine Frage nicht
:]
MfG
TPM
PS: TXT nochmal etwas überarbeitet, udn n grossen fehler behoben g
(Dezibel/meter) meiomei .. so ein schmarn von mir ... tz tz tz
Martin W. wrote:
> Appropro RSSI ... kann es sein, das das RFM12 garkein RSSI ausgang> besizt, und ich folglich garkeine Signalstärke messen kann, abgesehen> vom DRSSI Bit im Status-register ?!?
Jain. Er existiert, aber nur auf dem Modul. Auf einer Seite sind 2 SMD
Kondensatoren. Davon ist es der vorderste Kontakt direkt an der Ecke.
Christian J. wrote:
> RFM02 und RFm12 reden miteinander und ich habe es nicht mal bemerkt!> Gucke grad auf dei Anzeige und da laufen die Zahlen. Verändert habe ich> nichts, vielleicht war der eine RFM02 einfach defekt.
Mit dem D040 Befehl aktiv ?
Hallo,
kurz eine Info, da sich alle Firmen gemeldet haben. Sehr erfreulich!
Hope kauft einfach nur die die's bei Integration ein und baut sie in
Module ein. Sie dürfen jedoch keine die's einzeln verkaufen ohne
Erlaubnis. Der freundliche Herr von Integration rief mich grad noch an
und fragte ausdrücklich, ob irgendwo die's aufgetaucht seien, da scheint
auch viel Misstrauen zu sein.
Der Befehl D0xx ist undokumentiert, das ist richtig, nähere Infos
darüber bekomme ich nächste Woche.
Ende gut alles gut ;-)
Gruss,
Christian
Benedikt K. wrote:
> Martin W. wrote:>> Appropro RSSI ... kann es sein, das das RFM12 garkein RSSI ausgang>> besizt, und ich folglich garkeine Signalstärke messen kann, abgesehen>> vom DRSSI Bit im Status-register ?!?>> Jain. Er existiert, aber nur auf dem Modul. Auf einer Seite sind 2 SMD> Kondensatoren. Davon ist es der vorderste Kontakt direkt an der Ecke.
Perfekt .. danke.. werd ich mal ein wenig rummessen müssen
@Christian J. ... bin schon auf die Antwort gespannt.
MfG
TPM
Interessant. Hätte ich jetzt eigentlich nicht erwartet. Das heißt, die
DIEs im RFM12 sind eigentlich von Integration hergestellte IA4421, oder
habe ich das falsch verstanden, und HopeRF hat nur die Lizenzen zum
Nachbauen gekauft ?
@wigbert
Sehe ich das richtig, dass der Abstand zwischen gespeistem Element und
Reflektor 15cm beträgt ?
Auf dem Foto und bei allen anderen Yagis die ich gefunden habe, sieht es
nämlich so aus, als wenn der Abstand zwischen Direktor und Reflektor
etwa 15cm beträgt, und das gespeiste Element dazwischen liegt.
Hallo Benedikt,
hier die Anrwort:
Christian,
HopeRF buy our die products and mount them on boards which they sell as
modules. HopeRF are not allowed to sell packaged parts or die directly
without authorization from IAI. There are a few examples where this
arrangement is in place.
Regards,
Nick
Ich war grad eben mal in unserer Absorberkammer und habe mir eine Yagi
Antenne (3m) mal genau angeschaut. Du darfst natürlich kein Holz als
Boom verwenden, die Stäbe werden in Metall eingebettet, so dass Ohmsch 0
Ohm überall bestehen. Ein Dipol hat immer 240 Ohm und muss durch einen
Balun angepasst werden, einfach 50 Ohm Kabel aus dem Baumarkt
entsprechend verarbeiten.
Hallo Benedikt,
ich hab die 4 El. Yagi nach meiner "Baumappe" für 70cm 5W digit.
Betriebsart(Packet) funktionstüchtig im Einsatz.
Die Abmaße stammen aus "Rothammel" Antennenbuch.
Also die 150mm sind Abstand Dipol-Reflektor.
Abstände Dipol-Direktoren sind unterschiedlich.
Anbei mal eine Anpassung mit Trimmer.
Wigbert
Christian Julius wrote:
> Ich war grad eben mal in unserer Absorberkammer und habe mir eine Yagi> Antenne (3m) mal genau angeschaut. Du darfst natürlich kein Holz als> Boom verwenden, die Stäbe werden in Metall eingebettet, so dass Ohmsch 0> Ohm überall bestehen.
Das hatte ich mich auch schon gefragt, ob das notwendig ist, denn die
ganzen Dachantennen bestehen ja alle komplett aus Metall. Andererseits
sind die Elemente alle Lambda/2, demnach ist die Spannung im Mittelpunkt
immer 0, also dürfte es wohl egal sein, oder ?
> Ein Dipol hat immer 240 Ohm und muss durch einen> Balun angepasst werden, einfach 50 Ohm Kabel aus dem Baumarkt> entsprechend verarbeiten.
Ich dachte dieses gebogene Element dient als Anpassung ? Ähnlich wie bei
einer J Antenne.
Selbst wenn die Antenne nicht optimal angepasst ist, die Antenne ist
definitiv um ein vielfaches besser als die 17cm Drahtantenne:
Sender mit 17cm Drahtantenne, minimale Sendeleistung. In 20m Entfernung
(quer durchs Haus) erreiche ich mit der Yagi nach der Anleitung von
wigbert noch etwa 850mV. Das ist mehr als ein Empfänger mit 17cm
Drahtantenne 2m neben dem Sender !
@wigbert
Danke. Es scheint irgendwo bei 6 Elementen eine Änderung in der Bauweise
zu geben.
Hallo Benedikt,
mal mit meinen bescheidenen Wissen:
>Ich dachte dieses gebogene Element dient als Anpassung
Es gibt Faltdipoldipole(gebogener gstreckter Dipol Breite = Lamda/2 *
Verkürzungsfaktor R0=240 Ohm) und Halbwellendipole(Stabform).
Beim Habwellendipol+gestreckten Dipol hast Du in der Mitte
Spannungsnulldurchgang und Strombauch, deshalb mittige Befestigung an
Metallträger möglich und beide Halbwellendipolhälften verbunden.
Faltdipol dann Übertrager zur Anpassung.
Die Gammaanpassung verschiebt den Anpasspunkt dahin, wo 50 Ohm
anliegen.
Aber das weisst Du ja alles.
Wer eine kleinere Antenne sucht sollte mal nach:
HB9CV
googeln
Wigbert
Wigbert P. wrote:
> Es gibt Faltdipoldipole(gebogener gstreckter Dipol Breite = Lamda/2 *> Verkürzungsfaktor R0=240 Ohm) und Halbwellendipole(Stabform).
OK, ganz langsam. Antennentechnik ist alles andere als mein Fachgebiet.
Halbwellendipol ist ein einfacher Stab (in diesem Fall etwa 34cm lang)
Faltdipol ist das ganze als gequetschter Kreis, also so ne Art Schlaufe,
ebenfalls 34cm lang ?
> Beim Habwellendipol+gestreckten Dipol hast Du in der Mitte> Spannungsnulldurchgang und Strombauch, deshalb mittige Befestigung an> Metallträger möglich und beide Halbwellendipolhälften verbunden.
Möglich bedeutet also nicht unbedingt notwendig ?
> Faltdipol dann Übertrager zur Anpassung.> Die Gammaanpassung verschiebt den Anpasspunkt dahin, wo 50 Ohm> anliegen.
Das ist soweit klar. Ohne SWR Meter ist die Anpassung für mich aber nur
schwer möglich.
Jetzt die große Frage. Was wird hier verwendet:
http://www.tfs.net/~petek/rockets/RDF/70ant.html
Das sieht auch wie der Faltdipoldipol aus, aber eine Hälfte ist auf
Lambda/4 gekürzt und wird gespeist.
> Aber das weisst Du ja alles.
Schön wäre es, dann bräuchte ich hier nicht soviele dumme Fragen
stellen.
> Wer eine kleinere Antenne sucht sollte mal nach:> HB9CV> googeln
Habe ich gestern schon gemacht, aber im Vergleich zur Yagi sieht die
sehr kompliziert aus und muss auch wieder abgestimmt werden.
Ich glaube ich muss mir doch mal ein SWR Meter bauen.
OK, schonmal Danke !
Ich habe mal ein paar Messungen zur Bandbreite gemacht:
Ein RFM12 als Dauersender, ein RFM12 als Spektrumanalyser (Frequenz
gesweeped, RSSI Spannung gemessen). So sieht ein Dauersignal auf
434,27MHz aus wenn ein RFM12 auf 67kHz Bandbreite eingestellt dieses
misst.
Aufgrund der Bandpassfunktion des Basisbandfilters, ist das RSSI Signal
schwächer, wenn die Sendefrequenz und Empfangsfrequenz genau
übereinstimmen.
Hallo Benedikt,
>Faltdipol
aus Parallelschaltung zweier Halbwellenstücke mit geringen
gegenseitigen Abstand D (D<0,05 Lamda) ist der Schleifendipol(Faltdipol)
entstanden. Mitte des Halbwellendipols V = 0, I = groß.
Fußpunktwiderstand grösser als ein eifacher gestreckter Dipol
Bandbreite grösser als ein eifacher gestreckter Dipol
> Möglich bedeutet also nicht unbedingt notwendig
es ist üblich Yagi-Antennen in Ganzmetallausführung aufzubauen.
Sämtliche Antennenelemente sind in ihrer geometrichen Mitte (U=0)
ohne Isolation direkt und leitend auf den Antennenträger zu montieren.
Diese Bauart bringt elektrisch keine Nachteile hat mechanisch und
hinsichtlich Blitzschutz Vorteile.
Ich hab schon Yagis auf Holzleisten aufgebaut gesehen.
auszüge aus "Antennenbuch"
>Was wird hier verwendet:
hab ich noch nie gesehen, muss ich mir erst übersetzen.
>im Vergleich zur Yagi sieht die>sehr kompliziert aus und muss auch wieder abgestimmt werden.
nun wo eine Pa da sollte auch ein SWR-Meter sein.
Ansonsten ist die HB9CV aus Baumarktteilen zu fertigen.
konnte meine Anleitung auf die Schnelle nur nicht finden.
Wigbert
Hallo,
eine Idee unsere HF Reaks: Einfach im Baumarkt eine aktive DVBT Antenne
kaufen, die +15db macht und schon ist der superempfindliche Empfänger
fertig. Kosten 20€ das Stück an 75 Ohm Buchsen.
Hab im TXT jezt 2 neue Kommandos hinzu gefügt, die ich noch vergessen
hatte. Einmal das PLL-Config-Command sowie das Syncron-Pattern-Command.
Damit kann man zum einen die Oszilatorparameter und zum anderen den
Syncronisations-Wert für den Datenfilter festlegen.
MfG
TPM
Hallo Martin,
>@Wigbert .. ? .. verstehe deine Antwort in bezug auf meine Frage nicht
wollte sagen Du hast recht.
@Benedikt
>ist das RSSI Signal>schwächer, wenn die Sendefrequenz und Empfangsfrequenz genau>übereinstimmen.
damit könnte ich die genaue Frequenzabstimmung prüfen.
aber woher weiss ich, ob ich völlig daneben liege, oder genau
drauf. Abgesehen vom Datenempfang.
Wigbert
Christian J. wrote:
> Hier auch noch was über einfache Helix Antennen und Whip's. 70cm Yagi's> kosten 39€ bei ebay, da lohnt der selbstbau nicht.
Naja, ich habe 45 Minuten für eine mit 6 Elemente gebraucht, inkl.
Werkzeug und Bauteilsuche. Also das lohnt sich meiner Meinung nach
schon.
Wigbert P. wrote:
>>ist das RSSI Signal>>schwächer, wenn die Sendefrequenz und Empfangsfrequenz genau>>übereinstimmen.>> damit könnte ich die genaue Frequenzabstimmung prüfen.> aber woher weiss ich, ob ich völlig daneben liege, oder genau> drauf. Abgesehen vom Datenempfang.
Das ganze war ohne Modulation. Mit Modulation ist das Basisbandsignal ja
ein Recheck und keine Gleichspannung. Daher gibt es dieses Abfall nicht.
Um also das RSSI Signal sinvoll nutzen zu können, muss der Sender ein
FSK Signal senden (z.B. abwechselnd 0 und 1) und der Empfänger wird auf
maximales RSSI Signal abgestimmt.
Das Bild hatte ich nur gemacht, um den Frequenzganz der Filter sehen zu
können.
Ja, die kann man messen. Laut Datenblatt entsprechen -100dBm etwa
300-600mV und -65dBm etwa 1000-1300mV. Bei mir geht die Spannung von
etwa 450mV bis 1150mV.
hmm .. ich kann irgend wie den Punkt auf der RFM12 Platine nicht finden,
wo ich das Analoge RSSI abgreifen kann. .. ich bekomm entweder 0V oder
5V raus .. an allen möglichen anschlüssen auf der platine ... an einem
kondensator hab ich noch die Quarzfrequenz messen können, aber kein
RSSI.
MfG
TPM
Benedikt K. wrote:
> Hier:> http://www.mikrocontroller.net/attachment/22519/rfm01.JPG
ahaaa .. danke .. hmm .. komisch .. da bekomm ich n ziemlich merkürdiges
Signal raus .. nix lineares, oder irgend n rauschsignal .. da liegt eher
eine mischung aus rechteck und dreieck an. und das extrem regelmässig.
MfG
TPM
genau Benedikt,
ich messe ohne Messender(Dauerträger) 0,9V
mit Empfang ohne Antenne 1,5V(na ja 1,5m zu Sender)
mit Stabantenne 1,6V.
Alles gegen GND
richtig?
kann man da rumlöten ?
Wigbert
also beim Text senden, springt natürlich der Spannungswert im
Zickzack.
Wie koppel ich das Signal aus ohne den RFM12 zu versauen,
dann den Effektivwert auf einer Balkenskala od. ähnlich bringen.
Wigbert
naja.. .. also .. mein meinem RFM12 sende ich garnichts ... ich nehme
ihn nur her, und empfange umgebungsrauschen, ohne irgend was explizit
empfangen zu wollen .. trotzdem zeigt er das ziemlich linear an ...
MfG
TPM
naja.. ich ging gerade davon aus, das der RSSI anschluss auch ein RSSI
liefert, udn nicht nur dann, wenn er etwas empfängt .. schliesslich ist
es ja eine art Feldstärkemessung. .. dazu noch analog ... das sollte
aus meiner sicht ein massives rauschen drauf sein, und kein stetig
lineares (taktähnliches) rechteck (oder sowas ähnliches) sein .. .. ?!?
MfG
TPM
Hallo Martin,
mein Oszi zeigt auch teilweise undefiniertes Zeug an.
aber nach Benedikt:
>Ja, die kann man messen.
hab ich ein Multimeter rangehangen, war das nicht richtig ?
Wigbert
Ich habe an den RSSI Pin einfach einen Tiefpass aus 10k und 10nF
gehängt. Bei einem statistisch zufälligen Datensignal ergibt das
natürlich ein Rauschen an dem Pin, genauso wenn kein Signal anliegt.
Das mit dem Dreieck/Rechteck kann ich auch erklären: Das müssten die
Daten sein, die empfangen werden.
Das Bild zeigt deutlich, dass noch Reste der FSK Frequenz und der Daten
auf dem Signal vorhanden sind (was ja auch klar ist).
Das RSSI Signal auswerten, wenn nur kurze Datenpakete empfangen werden,
ist also nicht ohne weiteres möglich. Eine Möglichkeit wäre aber einfach
mit einer Diode die die Spitzenspannung in ein RC Glied läd. So macht
man das ja auch bei einem VU Meter für Audio.
Ach ja, bevor jemand fragt: Der Peak bei 433,8MHz kommt aus der USB
Leitung an die das Modul angeschlossen ist. Keine Ahnung wiso, es ist
aber so.
Man sieht aber deutlich die beiden Frequenze 434,36MHz+/-90kHz.
mir ist gerade aufgefallen, das das Modul bei aktivem Daten-Request
(Hex:b800) irgend n schmarn mit dem RSSI signal macht ... wenn ich die
abfrage des fifos stoppe, dann habe ich ein lineares signal, das bei
aufgedrehtem V/Div ziemlich rauscht. wenn ich lese-routine wieder
aktiviere, dann fängt es wieder mit dem "rechteckigem dreieck" (kann ich
nicht anders beschreiben) an. sieht auch irgend wie so aus, als wenn
irgend ein kondensator geladen, udn wieder entladen wird .. irgend was
kleineres .. vieleicht 10n oder sowas ...
MfG
TPM
Martin W. wrote:
>irgend was kleineres .. vieleicht 10n oder sowas ...
Der Kondensator an dem du das Kabel angelötet hast, hat 4,7nF, das
könnte also passen.
Ich frage mich aber trotzdem, wiso er das macht. Nur mal damit ich das
richtig verstanden habe: Das Signal ist solange stabil, bis du das FIFO
ausliest ? Ob das FIFO aktiv ist oder nicht, hat keinen Einfluss ?
Hallo,
mal so ein Tipp, da ich die Auswertung des RSSI nicht so ganz verstehe,
denn das Signal ist einfach nur Murks, ebenso das RSSI Bit im Status,
das wackelt auch wie verrückt.
Das Riesenproblem bei diesen Modulen ist, dass der zuständige Controller
binnen 0,2ms (!) auf einen Datenempfang reagieren muss, egal was er
gerade macht. Meiner ist sehr beschäftigt, auch mit Dingen die bis zu
0,1s dauern, zB Infrarot oder Display bzw MMC Zugriffen. Und dabei sind
die INTs abgeschaltet.
Ich frage in der Zustandsmaschine der Hauptschleife des Empfängers
einfach immer wieder das DQD Bit ab. Der Sender wird mit aktiviertem
Synthesizer als reiner Müllsender betrieben, der den Fifo nicht auslöst
aber das DQD Bit bedient. Das kann der Empfänger erkennen und sich auf
den Empfang einstellen, der kurze Zeit später kommt.
Alles nicht ganz einfach, bei Duplex wird es noch schwieriger :-(
Christian
Christian J. wrote:
> Das Riesenproblem bei diesen Modulen ist, dass der zuständige Controller> binnen 0,2ms (!) auf einen Datenempfang reagieren muss, egal was er> gerade macht.
Naja, 0,2ms sind für einen µC eine ewig lange Zeit, immerhin etwa 3000
Befehle.
> Meiner ist sehr beschäftigt, auch mit Dingen die bis zu> 0,1s dauern, zB Infrarot oder Display bzw MMC Zugriffen. Und dabei sind> die INTs abgeschaltet.
Wiso schaltest du die INTs ab, die sind genau für solche Fälle gedacht ?
> Ich frage in der Zustandsmaschine der Hauptschleife des Empfängers> einfach immer wieder das DQD Bit ab.
Das DQD ist aber auch nicht besonders aussagekräftiger. Meinen Messungen
nach ist nur das gefilterte VDI Signal einigermaßen zuverlässig:
Beitrag "Re: bidirektionale RS232 Funkbrücke mit RFM12"
Mach das ganze doch einfacher:
Bau etwas ähnliches wie ich ein, so dass die Daten gesendet werden, der
Empfänger bestätigt den Empfang. Wenn keine Bestätigung kommt, wird
einige 10ms später nochmal gesendet. Damit sind dann auch 100ms
Empfangsblockade kein Problem. Allerding setzt sich auf diese Art die
100ms Blockade auf alle folgenden µC fort (d.h. der sendende µC ist dann
auch für 100ms ausgelastet.)
Hi,
die INTs sind sehr wohl ein Problem, da die bidirektionalen SPI
Datenströme mit Timeout der Slaves arbeiten, damit die nicht hängen,
wenn der Master spinnt. Und es sind 7 Slaves ;-) Habe mal versucht im
INT auch mit der SPI zu arbeiten, das gibt totales Chaos nach einiger
zeit.
Das DQD Signal ist bei mir sehr stabil, wenn man den Filter etwas
heruntersetzt.
Hi,
also ich habe LNA auf voll gelassen aber RSSI um 2 Punkte runter. Dann
blinkt DQD im Takt des Trägers.
Aber mal was anderes, lustiges ;-)
Antenne ist ja feritig, wie im Bild zu sehen. Habe mal aus Spass eine
schnelle Routine laufen lassen, die immer 1 Byte auf allen Frequenzen
eng um 433,92 Mhz schnell nacheinander sendet. bandbreite auf Maximum
eingestellt. Antenne ans Fenster gestellt und mal so den Nachbarn
zugeschaut :-)
Ähmm..... die kriegen ihre Autos mit den Funkschlüsseln nicht mehr auf
oder nur nach zigmal drücken ;-) prust *grins*
Nettes Spielzeug!
Christian J. wrote:
> also ich habe LNA auf voll gelassen aber RSSI um 2 Punkte runter. Dann> blinkt DQD im Takt des Trägers.
Allerdings verschenkst du damit Reichweite. Bei mir steht RSSI um 1
Punkt runter, und mit der Yagi Antenne sind 200m innerhalb bebautem
Gelände kein Problem. Später werde ich mal die andere Richtung in
Richtung Wildniss testen.
> Ähmm..... die kriegen ihre Autos mit den Funkschlüsseln nicht mehr auf> oder nur nach zigmal drücken ;-) prust *grins*
Würde ich auch gerne mal machen. Mein Nachbar hat eine Garage mit
Funkfernbedienung. Ich wollte schon lange mal schauen ob ich den Code
kopieren kann, aber leider hat dessen Kleinkind die Fernbedienung eines
abends vom Balkon geworfen, so dass die Garage mittlerweile nur noch per
Hand geöffnet wird.
Hallo Leute,
ein breitbandigen Träger setzen und Fernsteuerungen stören.
Das ist nun wirklich Mist was Ihr macht.
Wie weit seid ihr dann noch von der Funküberwachung entfernt?
Wigbert
Nur mal Anmerkung, ein Forum ist eigentlich nicht so der richtige Platz
für ein Zwiegespräch.
Wärs nicht besser, Ihr unterhaltet Euch per E-Mail weiter und postet nur
dann was, wenn es auch allgemein brauchbare Ergebnisse gibt ?
Das wäre zumindest für Beispielthreads wesentlich günstiger.
Ich denke mal, daß unter diesen vielen privaten Plaudereien kaum noch
jemand, der auch an dem Thema interessiert ist, die wirklich
informativen Perlen herauspicken kann.
Ich würde diesen Thread daher als verbrannt (durch uninformativen Müll
totgepostet) ansehen.
Peter
Mag sein....
... aber das ist Hobby und kein wiss. Projekt und solange nur ein Thread
zugespamt wird ist das ok. Schlimmer wirds, wenn zu jedem Pups ein neuer
Thread aufgemacht wird.
Und die Nachbarn mal zu ärgern, naja.... wenn ich meinen Humor nicht
hätte, dann wäre ich bei diesem trockenen E-Technikerberuf mit lauter
ernsten Ingenieuren um mich herum schon längst in der Klapse gelandet.
Also, lass uns unseren Spass hier, es wird ja niemand gezwungen Themen
zu lesen, die nicht seinem Geschmack entsprechen. Und an der Grenze zu
Legalität ist das sowieso spätestens seit der Bestellung der HF
Nachbrenner, die schon alle verkauft sind ;-)
Ich komme zwar nicht mehr mit, da ich die wichtigen Infos in dem Thread
nicht mehr finde. Aber mit den Garagentoröffnern könntet ihr Pech haben.
Hörmann sendet z.B. auf 35MHz... Bei den Autos sieht es anders aus.
Kann jemand von euch bitte einen Artikel in der Wiki eröffnen und das
wesentliche dort verewigen? Ich suche mir mittlerweile den Wolf...
Danke im voraus!
Gruß Elektrikser
>>Kann jemand von euch bitte einen Artikel in der Wiki eröffnen und das>>wesentliche dort verewigen?
Das ist nur leider mit Arbeit verbunden, Arbeit die niemand bezahlt und
die einem persönlich nichts bringt, alles Wissenswerte steckt im Code
oder ich habe es als pdf ausgedruckt bzw. in meinen "Tips & Tricks"
Ordner ausgedruckt. Wissen auf Webservern, digitales Wissen überhaupt
ist schnell vergänglich, da lohnt es einfach nicht. Nächstes Jahr sind
die Module überholt, dann kommt was Neues.... und dafür die viele
Arbeit?
Vielleicht fängst Du ja mal an, wenn Du ein Wiki bedienen kannst... ;-)
Einen Wiki Eintrag werde ich nicht erstellen, da ich dazu weder Zeit
noch Lust habe.
Da sich auch sowiso keiner für die Software interessiert (was ich daran
merke, dass die Software noch einige größere Bugs hat, sich aber noch
niemand beschwert hat, dass die Software nicht läuft), ist es ja auch
egal, wenn in dem Thread ein wenig über andere (durchaus für alle
interessanten) Themen über das RFM12 diskutiert wird.
@Benedikt
Ich habe mir auch einige der Module besorgt.
Ich interessiere mich für die Software! Für RS232 habe ich auf jeden
Fall Verwendung und möchte auch Funkthermometer Luftfeuchtemesser und
verschiedene elektrische Steckdosen damit ansteuern (weiss halt noch
nicht ob das prinzipiell möglich ist).
Möchte aber auch selbst etwas entwickeln und mit Bluetooth und/oder WLAN
etwas zusammenbrauen. Irgendetwas zusammenzulöten damit es, wenn es
funktioniert in der Ecke liegt, das ist nicht mein Ziel und war noch nie
so.
Ich persönlich brauche immer relativ viel Zeit, bis ich genau weiss wie
ich etwas realisiere. Die Realisation selbst ist dann in ganz wenig Zeit
gemacht. Aus diesem Grund habe ich mir nichtmal die Mühe gemacht etwas
runterzuladen, nicht weil deine Software möglicherweise Bugs enthält
sondern weil ich noch nicht weiss was ich damit anfangen kann.
Die meisten Blödmänner attestieren mir jetzt dass ich minderbemittelt
bin. Ich bin nur anspruchsvoll das ist alles. EIn paar Bugs stören mich
nicht eher schon, dass ich da von deiner Arbeit rumschnorre....
Hi
die Platinen sind endlich gekommen. Werde versuchen sie heute abend mal
aufzubauen und zu testen.
Benedikt hatte ja freundlicherweise was geschrieben was sich via
Software configurieren lässt.
Ich sag bescheid wie es läuft.
Grüsse
Tobi
Hallo,
eben kam die Antwort von integration zu undokumentierten Features des
RFM02, wie zB D040. Leider kein weiterer Kommentar dazu, weil für die
Funktion dieser Features keine Haftung übernommen wird. Wenn sie erst
einmal bekannt sind berufen sich Kunden darauf.
Tja, schade....
Gruss,
Christian
Schade. Vielleicht kann Integration weiterhelfen ?
Da die ICs ja von Integration stammen: RF02 sollte auch OOK können, und
sogar mit einem EEPROM alleine, ohne µC laufen. Der wäre somit ein
schöner Ersatz für die einfachen AM Sender.
Hallo Benedikt
>Da sich auch sowiso keiner für die Software interessiert
das ist nicht ganz die Wahrheit.
Also bei Deinen Code "Funkbrücke mit Baudrateneinstellung"
benutzt Du bei niedriger Baudrate schmalere Bandbreite.Mehr nicht
notwendig?
Verstärkung -6dB richtig? warum ?
DRSSI -103 db bedeutet das nicht kleinster Wert ? Warum ?
Zwischenzeitlich hattest Du andere optimale Werte reingestellt.
Sollte ich das ändern ?
Wigbert
Wigbert P. wrote:
> Also bei Deinen Code "Funkbrücke mit Baudrateneinstellung"> benutzt Du bei niedriger Baudrate schmalere Bandbreite.Mehr nicht> notwendig?
Das hatte ich anfangs gemacht, da ich dachte die optimalen Werte aus dem
Datenblatt wären optimal. Allerdings ist mit denen die Reichweite
teilweise um den Faktor 2 kleiner als mit mehr Bandbreite (ist ja
irgendwie klar: Mehr Bandbreite heißt eine Störung auf einer Frequenz
hat weniger Einfluss.)
> Verstärkung -6dB richtig? warum ?
Wo steht das ? Ich finde das nirgends.
> DRSSI -103 db bedeutet das nicht kleinster Wert ? Warum ?
Das ist der kleinste Wert. Dadurch reicht der schwächste Pegel aus,
damit Daten empfangen werden. Allerdings darf dann wirklich kein anderer
Sender in der Nähe sein, damit das funktioniert. Daher kann man ja die
Umgebungsbedingungen einstellen.
> Zwischenzeitlich hattest Du andere optimale Werte reingestellt.> Sollte ich das ändern ?
Wenn du willst, die bringen etwas mehr Reichweite. Demnächst gibt es
aber noch eine ganz neue Version, mit besserer CRC und ein paar
behobenen Fehlern.
Benedikt,
damit ich das richtig verstehe:
>-environment*6dB
Ich dachte LNA ist doch die Empfangsemfindlichkeit
DRSSI dachte ich ist die Analogausgabe der Feldstärke.
Also mit DRSSI stelle ich die Empfindlichkeit ein.Mit grösserer Gefahr
des "Zumüllens"
und was macht dann LNA (Gain heisst doch Gewinn)
Wigbert
Achso, jetzt weiß ich was du meinst.
Es gibt RSSIseth und LNA.
Das erste ist der Schwellwert, den das Signal mindestens haben muss um
Daten zu empfangen. LNA ist der Verstärker davor. Ich lasse den
Schwerwellert immer auf dem emfpindlichsten (mittlerweile eine Stufe
darüber), und verändere die Verstärkung, denn diese verstärkt ja auch
die Störungen mit, wenn welche vorhanden sind. Vermutlich kann man aber
auch genausogut den RSSI Schwellwert verändern.
Benedikt,
wohl die wichtigsten Fragen:
Der RSSI-Pin(Analogwert der Feldstärke) steht in welchen
Zusammenhang zur Eingangsfeldstärke (proportional.....Formel?)
Zum Eichen eines S-Meters notwendig.
>Demnächst gibt es aber noch eine ganz neue Version, mit besserer CRC und....
mein Boardentwurf kann der bleiben, oder wird an der Hardware
entscheidendes verändert.
Wigbert
Die Hardware wird bleiben, zumindest bei der RS232 Funkbrücke. Laut
Datenblatt entsprechen 300-600mV etwa -100dBm und 1000-1300mV -65dBm.
@ Martin W.
Die Recht und Dreiecke die du am RSSI Pin siehst, kann es sein dass das
die Daten sind ?
Ich erhalte bei mir nämlich auch Rechtecke, das sind aber die einzelnen
Datenpakete vom Sender.
Hallo,
habe nach Benedikts Einstellungen ein Reichweitentest gemacht.
Durch 2 Gebäude ca 100m (Fahrzeuge stehen zw. den RFM12)
fehlerlose Übertragung.
Als Sendeantenne:
http://www.mikrocontroller.net/attachment/24329/PICT0017.JPG
Als Empfangsantenne Drahtantenne.
wirklich erstaunlich.
Übrigens wer ein Multimeter mit Bargraphanzeige hat kann am
RSSI-Pin die Feldstärke verfolgen. Hatte max.4 Balken. Kein Balken >
kein Empfang. Einstellung Wechselspannung, da sich der Pegel pos.+ neg.
gegenüber dem Grundrauschen verhält.
Wigbert
Wigbert,
auch wenn es schon gesagt wurde, habe ich heute sät nachmittag noch mit
einem Herr Dutton von Integration telefoiert (auch wenn ich dem als
Begründung für meinen Wissensdrang das Blaue vom Himmel heruntergelogen
habe, denn Hobbyisten supporten die nunmal nicht)
LNA ist ein einstellbarer Analogverstärker, der all das was er sieht
verstärkt. Der RSSI Threshold ist die Schaltwelle ab der ein gültiger
Träger detektiert wird. Es ist egal, welchen Wert man anpasst, das
Ergebnis ist das Gleiche aber der Chip braucht mehr Strom bei
empfindlicher Einstellung, denn der Datenmüll erzeugt viele Schaltungen.
Legt man den Müll auf den Datenpin statt den Fifo zu nutzen kann man das
schön sehen. Die Gefahr bei sehr hoher Empfindlichkeit ist, dass 2DD4
häufiger kommt, mehr aber auch nicht. Ich fahre sehr gut mit reiner
Reduzierung der beiden Werte um jeweils einen Punkt, dann habe ich auch
ein zuverlässiges DQD Bit, um den Träger zu erkennen. Der
Reichweitenverlust ist leider nicht unerheblich, runde 50m sind es
schon, da 3db ja einer Verdoppelung entsprechen aber im Sinne einer
Übertragung, die nahezu 0% Fehler hat nehme ich das in Kauf.
Gruss,
Christian
Wichtiger Hinweis für die RFM02 Module
Integration: "The RATE/2 comment is there since in thiscase the IA4221
chip will sample the FSK pin both at rising and falling edges of the 50%
duty cycle signal on nRES this way keeping the same datarate as set by
the datarate command."
D.h. wenn das D040 Kommando für langsame uC benutzt wird, muss das Bit
auf der steigenden Flanke an den Chip gesendet werden UND das nächste
Bit auf der fallenden Flanke, sonst halbiert sich die Baudrate, was ich
auch bemerkt habe.
Gruss,
Christian
Hallo Christian,
den reichweitentest hatte ich nur gemacht, um zu sehen ob sich
die "Balkenanzeige" verringert. Musste echt dafür laufen.
>Reduzierung der beiden Werte um jeweils einen Punkt
Wenn ich Dich richtig verstehe würdest Du für
LNA -6dB
RSSI -97dBm
empfehlen.
Wigbert
Interessant. Weist du wie man das D040 Kommando wieder abschaltet ? Mit
D000 ?
Die LNA und RSSI Einstellungen sind abhängig vom Verwendungszweck. Wenn
das ganze z.B. nur eine drahthlose Tastatur mit max 5m Reichweite werden
soll, dann würde ich beide Werte etwas hoch setzen, damit man nicht
jeden Müll empfängt.
Ich habe mir eine Frequenz ausgesucht, auf der wirklich nichts los ist.
Dann ist selbst bei einem Punkt über dem empfindlichsten das DQD Bit
stabil. Allerdings ist dieser Zustand selten in stark bebauter Umgebung.
Ich lasse daher die Einstellungen auf dem empfindlichsten Level (bzw.
RSSI eines runter) und verwerfe die Pakete bei denen das Syncwort
fälschlicherweise empfangen wurde (das passiert etwa einmal alle 2-10h)
spätestens bei der Prüfsumme.
Benedikt K. wrote:
> @ Martin W.> Die Recht und Dreiecke die du am RSSI Pin siehst, kann es sein dass das> die Daten sind ?> Ich erhalte bei mir nämlich auch Rechtecke, das sind aber die einzelnen> Datenpakete vom Sender.
Das glaube ich nicht .. dafür ist das Signal viel zu gleichmässig. Das
sieht aus, wie von nem Generator generiert. es schwankt nicht. Zudem
habich garkeinen Sender laufen, der daten schickt. auch mitm Scanner
kann ich keine Quelle ausmachen, die auf dieser Frequenz was ausstrahlt.
@Wigbert P. Ichhabe hier ...
https://www.mikrocontroller.net/attachment/24947/RFM12.txt ... ein paar
beschreibungen zum LNA und RSSI .. aber nur für den RFM12 .. sollte
allerdings für RFM1 und 2 auch gelten.
MfG
TPM
Hallo Wigbert,
sobald meine bestellten Chipse eintreffen werde ich die Routinen so
umschreiben, dass Sender und Empfänger einen Komm.Test machen werden,
der Sender reduziert seine Stärke stufenweise, der Empfänger seine
Empfindlichkeit und beide messen dann die Fehlerraten und entscheiden
sich für eine ideale Konstellation. Das wird zwar einiges an Hirnschmalz
erfordern das zu realisieren aber es ist auf jeden Fall eine
Herausforderung ein dynamisch arbeitendes System zu haben, das sich der
Umgebung anpasst. Freue mich schon drauf das zu coden ;-)
Gruss,
Christian
Hallo Martin,
hab das Ding schon gesucht, dank Dir.
Hallo Christian,
Dein Vorhaben ist sicher gut gemeint, aber wenn Du die Funkbrücke,
wie ich über ein längeren Zeitraum nutzt und Störer auftreten,
würde das System sich immer wieder Synchronisieren...........
Bin aber schon gespannt.
Wigbert
Ich hatte mir auch schon den Kopf zerbrochen, wie man das ganze
ordentlich lösen kann. Es gibt einfach zu viele Fälle die Probleme
bereiten können, vor allem wenn es mehr als 2 Teilnehmer sind (A in
Reichweite von B, C in Reichweite von B, aber A und C außer Reichweite
usw.). Oder solche Fälle wie, dass ab und zu ein Funkthermomenter mal
für wenige 100ms dazwischenfunkt. Danach ist ja wieder alles OK. Ich
dachte an ein regelmäßig Statuspaket als Keep Alive Signal. Wenn dieses
für ein paar Sekunden ausbleibt wird automatisch ein Suchmodus
gestartet.
Bei Integration gibt es eine Funktastatur als Beispiel für diese ICs.
Die nutzen 3 Frequenzen um die Daten 3x zu übertragen + ein Suchsystem.
Da kann man vielleicht einiges abschauen.
Hi Benedikt,
ich habe zu Hause eine Application Note, in welcher der Aufbau von
Funknetzen mit vieles Nodes beschrieben wird, die Telegramme
durchreichen, bis sie den richtigen Mode treffen, auch wenn dieser
ausser der Reichweite des Masters ist. Kommt ein neuer Node hinzu webt
sich dieser in das Netz mit ein und bekommt eine IP zugewiesen. Gucken
ob ich das noch finde oder schon gelöscht habe, war jedenfalls recht
komplex. Aufbau war mit Solarzellen.
Gruss,
Christian
hört sich extrem interessant an, sowas ging mir auch schon durch den
kopf, aber dürfte ziemlich aufwändig zu realisieren sein das stabil
hinzubekommen?
@Benedikt: hast du mal den Sync-Pattern Befehl getestet ? Falls der bei
den RFM12 Modulen funktioniert dann ist der TRC102 richtiger. Allerdings
findet man nur im TRC101 Datenblatt das Umrechnungsdiagram vom RSSI
Signal von Volt zu dB. Auf Seite 10 oder 11 wenn ich mich recht
erinnere.
Gruß Hagen
ich habe mir auch mal ein Angebot für den IA4420/IA4421 machen lassen.
Die Teile kosten ab 97 Stück (Stange ) 2,60 EUR incl. MwSt.
Ist also immer noch teurer, als so ein Modul. Den Quarz sollte man auch
mit 0,40 EUR noch einrechnen.
Hi,
die App.note ist leider weg, ging wohl beim Aufräumen mal verloren. Wie
ich mich erinnere bestand die allerdings nur aus Software mit dem ARM
Controller. Der Aufwand gleichberechtigte Nodes miteinander reden zu
lassen, so dass sie Nachrichten weiterleiten ist allerdings enorm, vor
allem was Buskollisionen angeht, denn jeder Empfänger muss ja horchen
wann die Bahn für ihn frei ist. Neu ist die Idee auch nicht, es gab mal
so eine Produktidee mit einem kostenlosen Telefon, je mehr Leute das
Gerät haben umso grösser spannt sich das Netz auf, wobei jede Station
wieder als Relais wirkt. Lassen wir das lieber, keine Lust auf 2 Jahre
programmieren :-)
Gruss,
Christian