Hallo liebe Gemeinschaft, ich bin relativ neu hier in diesem Forum und hoffe niemanden auf den Schlips getreten zu sein! Also ich Arbeite seit kurzen (3 Wochen) auf diesem Gebiet und wage mich nun eine Stufe weiter. Also ich habe bereits einige Erfahrungen so wohl positiv als auch negative mit dem RF12 und dem Pollin Board machen müssen. Aber habe es geschafft auf 868Mhz zu senden wie auch zu empfangen das funktioniert unter bestimmten Voraussetzungen fehlerfrei, d.h geringer Abstand der Module (20cm). Ab dann wird mir mein String den ich übertrage nicht mehr vollständig sonder fehlerbehaftet ausgegeben. Habe ein bisschen recherchiert und andere wiederum sagten sie haetten 100m im freien ueberbruecken koennen was ist richtig? Wo liegt mein Fehler? Hier mal ein paar Daten: - MCU ATmega32 - 2* RF12 Funkmodule auf 868.3MHz - Pollin Board der Version 1.1 Des weiteren habe ich noch eine Frage, woher weiß ich welche Zeiten ich bei meiner Übertragung einhalten muss, vor senden oder empfangen, wie viele dammy byte's soll ich uebertragen, oder nach dem senden vor empfangen warten? Vielleicht liegt es ja auch daran, oder ich fuege wie mein Beitrag schon verlauten laesst eine Fehlerkorrektur durch, aber dazu habe ich noch zu wenig Erfahrung aber vielleicht koenntet Ihr mir ja helfen. BITTTE :-) Danke im voraus, bei weiteren Fragen stehe ich euch gerne zu Verfügung
Gast
#1805161
Nabend, Niko S. schrieb: > und hoffe niemanden auf den Schlips getreten zu sein! noch nicht. zum Thema RFM12 gibt es hier im Forum etliche Beiträge. Lese dir diese durch und probiere die Vorschläge aus! Ohne Angaben über deine verwendete Entwicklungsumgebung, Quellen und was du eigentlich vorhast ist eine Hilfe unmöglich. MfG
Vielen Dank fuer deine rasche Antwort, also ich arbeite mit AVR Studio4 und verwende den Quelltext von benedikt der ja jeden bekannt ist. Nur habe ich diesen etwas abgewandelt auf 868Mhz und uebertage eine Zeichenkette array[32]. Also habe ich versucht Fehler zu beheben und gegebenenfalls zu verbessern. Initialisierung:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
ready-Funktion abgeaendert
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
Sende Funktion habe ich die dummy byts hinzugefügt. Empfangsfunktion
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
Worauf ich hinaus will ist folgendes, und zwar moechte ich das was ich uebertrage, sicher machen. Da wie oben beschrieben nur eine Rechweite von 20cm erziehle und mir das zu wenig ist. Vielleicht liegt das auch an noch anderen Stellen aber soweit bin ich noch nicht, war erst einmal froh etwas uebertragen zu koennen. Es soll spaeter darauf hinauslaufen, dass man die beiden Boards + Module an 2 Rechner anschliesst und daruerb einfache daten versendet und ueber eine etwas groessere Reichweite empfangen kann. Im Moment funktioniert meine Uebertragung leider auch nur one way. Ich bitte um Hilfe vielen Dank. mfg
ups hier noch die Entwicklungsumgebung Pollin-Board in der Version 1.1 aber schon mit ausgeloetetem Optokoppler. mfg
Gast
#1805220
Nabend, Wieso nimmst du nicht Benedikts Beispiel, bringst dieses nach Änderung der Initialisierung (auf 868MHz) zum Laufen (ja es läuft, hier im Forum oft besprochen) und erweiterst es danach für deine Anwendung. Niko S. schrieb: > Da wie oben beschrieben nur eine Rechweite von 20cm erziehle und mir das > zu wenig ist. ein Stück Draht (als Antenne) am richtigen Penippel wirkt Wunder MfG
Guten Morgen, ja das habe ich ja probiert aber es wollte nicht so richtig funktionieren, somit habe ich etwas im Forum gestoebert und hier und da ein paar nuetzliche Dinge gefunden die mir dann den gewuenschten Erfolg brachten. Anfangs hat es mit seinem Code garnicht funktioniert! Erst nach den kleinen Abaenderungen und eine Antenne ein kleines Stueckchen Draht habe ich auch. lambda/4 8,5cm lang. Vielleicht hat jemand auch noch ein paar tipps zur Realisierung meiner Fehlersicherung oder Antworten auf die oben stehenden Fragen? Ich waere euch sehr dankbar. mfg
Hallo, leider hat sich auf meinen Beitrag keiner gemeldet, ich hoffe das kommt noch G. Habe hier mal ein Beispiel wie was gesendet bzw empfangen wird nur weiss ich noch nicht so ganz warum diese Zeitversetzt ankommen. Empfange wird nur von der UART uebertragen nicht vom RF12, habe ich eingebaut um zu unterscheiden was vom wem kommt. 12:01:10.832: E 12:01:10.834: m 12:01:10.860: p 12:01:10.860: fange 12:01:17.314: H 12:01:17.316: i 12:01:17.420: e 12:01:17.420: r wird auf 868.3MHz empfangen Danke fuer Eure Hilfe. mfg
Niko S. schrieb: > Vielleicht hat jemand auch noch ein paar tipps zur Realisierung meiner > Fehlersicherung <util/crc16.h> kennst du, ja?
nein kenn ich nicht werde mich gleich aber sofort mal auf die Suche machen danke Dir.
Weiß vielleicht auch jemand warum ich das gesendete nicht sofort empfange sondern in Stückchen wie oben. im Terminal kommt es komplett an da fällt es nicht auf nur im output-file. Vielen Dank im voraus. mfg
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.