mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Funkverbindung zwischen AVRs !


Autor: Elektrofuzzi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Ich interessiere mich gerade für Funkmodule für meinen AVR, und habe
mir überlegt, ob von euch schon einer Erfahrung mit dem Sende-Modul
STX433saw und dem Epmfangsmodul ERX-01 bzw. EBCNBK von Funkmodule.com
hat.

Ich brauche 2-wege-Kommunikation, und daher müsste ich wohl einen
Empfänger und Sender pro avr anschliessen.

Falls ihr etwas darüber (oder etwas besseres) wisst, dann lasst es mich
bitte wissen.

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
CC1000 von ChipCon...

Arbeitet recht zuverlässig und es gibnt Ref-Designs für AVRs.

Gruß,
Patrick...

Autor: Sebastian Wille (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Patrick,

arbeitest Du mit den CC1000-Chips noch?

Ich arbeite mit dem Modul von "steve" (Herzstück: CC1000):

http://www.compotek.de/
http://www.compotek.de/html/news/index.php3?news_id=48

Ich habe alles zusammengelötet und die Doku und Beispiele ewig gewälzt:
Und ich bekomme tatsächlich eine Funkverbindung zustande: Allerdings
nur max. 1m.

Ich denke, ich konfiguriere die Register falsch. Ich verwende zwar das
SmartRF-Studio, aber trotzdem ist mir noch nicht jedes Register 100%ig
klar.

Falls es bei Dir besser klappt, wäre es toll, wenn Du mir vielleicht
helfen könntest! :-)

Sebastian

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klar, kein Problem!
Ich habe mich da echt durchkämpfen müssen...

Hast Du Messequipment? Welches?

Autor: Sebastian Wille (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Patrick,

vielen Dank! :-)

Messequipment? Bitte nicht lachen: Nur ein Multimeter, nichtmal Oszi.
Ich will mir zwar ein Digi-Speicher-Oszi anschaffen, weiß aber noch
nicht genau, welches.

Meine "Schaltung" sieht so aus: Ein Mega8 mit Schalter,
USART-Interface und dem CC1000-Modul. Je nach dem wie der Schalter
steht, sendet die Schaltung immer ein Byte bzw. versucht eben eines zu
empfangen und es auf dem USART auszugeben.

Ich hab' mein Programm mal angehängt. Die CC1000-Register kann ich
schreiben und auslesen. Und irgendwie klappt auch alles schon ein
bisschen. Aber - wie gesagt - viele Details sind mir immer noch unklar.
Zuwas brauche ich FSAHPEx?!? Welche "Lock Indicator"-Einstellung ist
am sinnvollsten? usw.

Verwendest Du auch das Modul von compotek (bzw. hast Du es von
"steve")?!? Oder selbstgebaut?

Vielen Dank schonmal! :-)

Sebastian

Autor: Sebastian Wille (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier der Anhang, sorry...

Autor: Sebastian Wille (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat er gerade wohl nicht angenommen...

Autor: Sebastian Wille (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Was lange währt...

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achherrje...

Du hast ja so ziemlich alles vergessen, was man für die Kommunikation
und das timing und überhaupt benötigt :)

Hm, ich habe das alles in C gemacht, und für nen MSP430, aber ich
denke, die Probleme liegen eher in elementaren Fehlern.

Heute bekomme ich das nicht mehr auf die Reihe, aber ich werde auf
jedenfall mal was zusammenstellen...

Gruß,
Patrick...

Autor: Sebastian Wille (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Patrick,

ist es so schlimm? ;-)

Das Timing bestimmt doch der CC1000, oder? In meinen In- und
Output-Routinen warte ich aber immer bis DCLK High bzw. Low ist,
insofern müßte das Timing eigentlich stimmen, oder?

Im Moment werden halt nur 1 und 0 nacheinander ausgegeben (noch keine
Bytes), das stimmt... Die Preamble habe ich zur Zeit auch noch nicht
implementiert.

Vielen Dank auch schonmal für Deine Mühen! :-)

Sebastian

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau doch mal in die Elektor 12/03 dort findest Du eine simple
bidirektionale RS232-Verbindung mit ER400TRS Transceivern von LPRS
http://www.lprs.co.uk/pdf_directory/23861049807229.pdf
Kostenpunkt ca. 55Euro/Stück

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Präambel ist das wichtigste an der ganzen sache!
Damit Schwingt der freilaufende Filter ein, sonst kann der Dekoder die
Einsen und Nullen nicht sauber erkennen!

Nach der Präambel muss dann auch auf jeden fall der freilaufende Filter
"festgesetzt" werden, sonst kommts da wieder zu störungen.

Ahja, übernehmen solltest Du bei steigender Flanke und übergeben bei
fallender.

Kann der AVR das erkennen?

Gruß,
Patrick...

Autor: Sebastian Wille (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Patrick,

daß die Präambel wichtig ist, war mir klar. Meine Idee: Ich sende
permanent Einsen und Nullen: So kann sich der Empfänger einpendeln und
mir danach eben Einsen und Nullen nacheinander ausgeben.

Nun sagst Du etwas von "Filter festsetzen". Das ist mir noch nicht
ganz klar. Muß ich die Länge des Einschwing-Vorgangs selber abpassen
und dann irgendein Register setzen (nach z.B. 20ms)?

Das mit der steigenden und fallenden Flanke scheint zu klappen. Ich
warte halt immer so lange, bis mein Pin low bzw. High ist und setze
dann das Programm fort.

Laufen Deine Module auch mit 868MHz? Sind die Baugleich mit denen von
compotek?

Danke!

Sebastian

Autor: A. Arndt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Mike,

wie sind die Erfahrungen mit dem Dingern (Easy) in bezug auf die
Antenne, abstimmen ?

Gruss
A. Arndt
... und wo kriegt man sie zu kaufen...?

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also: nach dem Erfolgreichen erkennen mehrerer 0xAA oder 0x55 (das ist
die Präambel, die länge ist relativ egal, es sollten glaub ich
mindestens 4 Bytes erkannt werden), muss der Filter festgesetzt werden.
Such mal im Datenblatt nach averaging freerunning filter oder so
ähnlich.
Meine Module arbeiten ebenfalls auf 868MHz, und sie sind auch
weitestgehend Baugleich mit denen von Compotek... So fern man sich an
die Anweisungen von Smart RF-Studio hält, kann man ja auch fast nichts
anderes Bauen. Ich habe allerdings kein Antennen-Matching eingebaut!

Gruß,
Patrick...

Autor: Sebastian Wille (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Patrick,

entschuldige, daß ich mich so lange nicht gemeldet habe... Leider hatte
ich erst heute wieder Zeit, mich mit den Modulen zu beschäftigen.

Also den "free running filter" muß man wohl bei Manchester nicht
festsetzen: "If Synchronous Manchester mode ist used, the bit slicer
averaging filter can be left free-running, and does not need to be
locked manually."

Eine Datenübertragung bekomme ich ja auch hin, leider nur bis zu einer
maximalen Distanz von ca. 30cm. Es sollten wohl aber schon so 50m sein.
Wie weit kommst Du denn?

Vielleicht liegts ja auch an meiner Antenne. Ich habe eine
Lambda/4-Antenne mit 8,7cm. Verwendest Du eine spezielle Antenne?

Kannst Du mir vielleicht mal Deine Einstellung vom SmartRF-Studio
mailen? Die kann man dort ja abspeichern. Danke! :-)

Sebastian

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verwende eine print-Loop-Antenne, ebenfalls Lamda/4.
Ich schicke Dir mal die Einstellungen am Montag zu, allerdings verwende
ich nur Sync. NRZ. Bei Manchester hast Du natürlich recht ;) allerdings
braucht man da auch eine Präambel (mehrfach 0x33CC...).

Gruß,
Patrick...

Autor: Sebastian Wille (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Patrick,

danke für Deine Info!

Präambel verwende ich natürlich trotzdem. Aber was noch seltsam ist:
Selbst wenn PA_Pow 0xFF ist, verbraucht mein Modul nur 6,4mA. Laut
Datenblatt müßte es aber um die 26mA verbrauchen. Dadurch sendet es
wahrscheinlich auch zu schwach... Weißt Du, an was das liegen könnte?

Ansonsten freue ich mich auf Montag, danke schonmal! :-)

Sebastian

Autor: Sebastian Wille (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Patrick,

ich wollte nochmal fragen, ob Du mir die Einstellungen vielleicht noch
zusenden könntest?

Ich würde mich wirklich sehr freuen, vielen Dank! :-)

Sebastian

Autor: OldBug (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Oh, sorry, ich hatte den Thread aus den Augen verloren...
Du findest die Config im Dateianhang...

Autor: OldBug (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Und hier das ganze nochmal für TX...

Autor: OldBug (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
...

Autor: A. Arndt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich würde eine Sammelbestellung für die Easy-Radio-Module machen,
allerdings nur für Transciever, egal ob 868 oder 433 MHz, ich finde die
Modell einfach genial, klein , sehr simple zu programmieren und
RS-232-Standard.

Preis ca. 48,00 EUR / Stk. zzgl. Versand, je mehr es werden, desto
günstiger, ich gehe mal von 16 Stück aus.

Gruss
A. Arndt

Autor: Sebastian Wille (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Patrick,

vielen Dank für Deine Uploads! :-))

Ich hab's gerade nur geschafft, anstatt 3,5V ganze 12V anzuschließen
--> Mist! :-(

Ich muß mir am Wochenende erst ein neues Modul zusammenlöten. Dann
melde ich mich nochmal.

Ach, und noch 'ne Frage: Wie weit kannst Du denn ca. mit Deinen
Modulen senden?

Danke!

Sebastian

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oha, keine ahnung... aber so einige Hundert meter schon...

Autor: Sebastian Wille (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Patrick,

naja, ich komm' ja nur auf so 5m im Moment. Aber gut zu wissen, daß
weit höhere Reichweiten möglich sind. Das motiviert weiterzumachen,
danke! :-)

Sebastian

Autor: Sebastian Wille (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Patrick,

so, nun habe ich ein neues Modul gelötet und es mit Deinen Parametern
getestet. Es hat mir aber leider noch nicht den Erfolg gebracht... :-(

Aber eine andere Sache habe ich gelöst: Ich hatte bisher immer bei der
Kalibrierung das CAL_Complete-Bit gepollt. Nun warte ich einfach 50ms
und siehe da, plötzlich verbraucht mein Sender auch um die 26mA.
Verrückt, oder? Denn die Kalibrierung hat auch mein Pollen
funktioniert.

Ich habe das Gefühl, irgendwo in meinem Programm steckt noch eine
Macke. Könntest Du mir vielleicht mal Deinen Code mailen oder hier
posten? Dann könnte ich mal jeden Schritt einzeln vergleichen.

Sebastian

Autor: Sebastian Wille (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

und noch eine Erkenntnis: Wenn ich CAL_Complete nicht polle, schleichen
sich ab und zu kleine Fehler ein. Polle ich wieder, sind diese
Fehlerchen weg, es wird aber nur noch 12mA verbraucht.

Und das obwohl ich ohne Pollen 50ms warte, 34ms würden im "worst
case" aber genügen...

Sebastian

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kann Dir die Grundsätzlichen sachen zur Verfügung stellen, aber die
gibts auch von Chipcon...
Ist alles in C genau wie bei mir.
Ich kann Dir allerdings (falls Du die Sachen von Chipcon verwenden
möchtest) bei den Startschwierigkeiten damit gerne helfen!

Autor: Sebastian Wille (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Patrick,

danke erstmal für die Antwort! :-)

Ich habe auch die AppNote 009 von Chipcon. Ich habe versucht, das
Beispiel vom C-Code in Assembler zu übersetzen.

Nun kann ich ja auch senden. Also scheint das ja geklappt zu haben.
Nur, daß ich eben nicht so weit komme (so ca. 10m bisher).

Wie hast Du das gemacht? Das Beispiel 1 zu 1 übernommen?

Und pollst Du das CAL_Complete-Bit?

Danke!

Sebastian

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, ich polle das CAL_Complete bit. Genauso, wie in der AppNote...
Aber da sind noch mehr, mit Beispielen für AVR, PIC und MSP430...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.