Forum: Mikrocontroller und Digitale Elektronik RFM12B bzw. TinyTX empfängt/sendet nichts


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Cornelius F. (firlefranz)


Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich bin dabei ein Thermometer auf Basis eines Atmega328 (Arduino 
Plattform) zu bauen. Für die Außentemperatur habe ich mir die schicken 
TinyTX Platinen von Nathan Chandrell besorgt zusammen mit ein paar 
RFM12B Funkmodulen von JeeLabs. Auf der Senderseite arbeitet ein 
Attiny84. Dieser liest einen DS18B20 Temperatursensor aus und schickt 
den Wert über das 433MHz RFM12B Modul zum Arduino. Auf der 
Empfängerseite habe ich das zweite RFM12B entsprechend dieses Schemas 
(http://openenergymonitor.org/emon/sites/default/files/Cookbook_RFM12B_connections.png) 
angeschlossen.
Als Antenne hatte ich erst Spiralantennen (angegeben für 433MHz). 
Inzwischen habe ich auch einfachen Silberdraht (17,3cm lang) versucht.
Wenn ich den Testsketch von Nathan aufspiele und dann am Empfänger über 
die Konsole den Temperaturwert abfragen will kommt einfach nichts an.

Es bleibt bei:


TinyTX Simple Receive Example
-----------------------------
Waiting for data



Mehr kommt nicht - auch über längere Zeit nicht.

Ich bin ratlos und hoffe ihr könnt mir helfen.

Gruß
Cornelius

von Blaurock (Gast)


Bewertung
0 lesenswert
nicht lesenswert
DIV8-Fuse?

Damit hatte ich bei meinen ersten Tests Probleme.
Ich meine, sie müsste aus sein, kann das aber gerade nicht bestätigen.

von Cornelius F. (firlefranz)


Bewertung
0 lesenswert
nicht lesenswert
Kannst du mir das bitte etwas näher erklären bzw. was ich genau machen 
soll? Ich habe zwar schon einige elektronische Sachen gebastelt, aber 
DIV8-Fuse sagt mir so ganz spontan erstmal nichts.

Gruß
Cornelius

von Christian K. (the_kirsch)


Bewertung
0 lesenswert
nicht lesenswert
Mit den Fuse werden bestimmte Parameter eingestellt (Taktquelle, 
Programmausleseschutz, ...), die man nur mit ISP oder JTAG ändern kann.

DIV8 bedeutet das der Takt-Vorteiler standardmäßig auf 1:8 gestellt ist 
und nicht auf 1:1. (Den Takt-Vorteiler kann man aber auch aus der 
Software heraus ändern)

http://www.mikrocontroller.net/articles/AVR_Fuses

: Bearbeitet durch User
von Matthias S. (Firma: matzetronics) (mschoeldgen)


Bewertung
0 lesenswert
nicht lesenswert
Cornelius Franz schrieb:
> Ich habe zwar schon einige elektronische Sachen gebastelt, aber
> DIV8-Fuse sagt mir so ganz spontan erstmal nichts.

Ist beim Arduino auch schon richtig gesetzt, allerdings läuft der mit 
16MHz.

Ansonsten sieht die SPI Belegung im Bild richtig aus. Beide Module 
müssen aber auf der gleichen Frequenz arbeiten und auf die gleiche 
Bitrate eingestellt sein, sonst klappt nix.

: Bearbeitet durch User
von Blaurock (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Matthias Sch. schrieb:
> Ist beim Arduino auch schon richtig gesetzt, allerdings läuft der mit
> 16MHz.

Ok, ich hatte keinen Arduino sondern "nur" einen Tiny84 mit internem 
Takt.
Ich habe nur dann eine Übertragung hinbekommen, als ich beide auf 8MHz 
stehen hatte (also ohne DIV8).

von Cornelius F. (firlefranz)


Bewertung
0 lesenswert
nicht lesenswert
Den Attiny habe ich über den Arduino (als ISP) mit dem passenden 
Bootloader (8MHz, internal Oscillator) bestückt und konnte die Firmware 
problemlos aufspielen.
Die Module stammen direkt von Jeelabs. Dort habe ich das 6er Pack 
bestellt. Sie sehen alle identisch aus und kamen in einer Tüte (einzeln 
verschweißt).

Gruß
Cornelius

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Bewertung
0 lesenswert
nicht lesenswert
Cornelius Franz schrieb:
> und konnte die Firmware
> problemlos aufspielen.
> Die Module stammen direkt von Jeelabs. Dort habe ich das 6er Pack
> bestellt. Sie sehen alle identisch aus und kamen in einer Tüte (einzeln
> verschweißt)

Das ist schön, sagt uns aber nicht, ob diese Firmware überhaupt für den 
RFM12B geeignet ist.
Die RFM Module sind nicht nur einfach Sender und Empfänger, sondern 
haben Eigenintelligenz und müssen vom MC richtig programmiert werden, 
damit überhaupt eine Übertragung stattfinden kann. Das Openenergy sieht 
richtig aus, aber bei den Jeelabs Teilen muss die Software auch für die 
RFM12B sein.

von Cornelius F. (firlefranz)


Bewertung
0 lesenswert
nicht lesenswert
Das hier ist der Code, den ich auf den Attiny84 geladen habe:

https://github.com/nathanchantrell/TinyTX/blob/master/TinyTX_DS18B20/TinyTX_DS18B20.ino

Auf der Empfängerseite sieht es so aus:

https://github.com/nathanchantrell/TinyTX/blob/master/TinyTX_RX_Simple/TinyTX_RX_Simple.ino

Gruß
Cornelius

von Cornelius F. (firlefranz)


Bewertung
0 lesenswert
nicht lesenswert
Meint ihr, das Problem besteht eher auf der Senderseite? Ich könnte 
alternativ auch mal eine Version mit einem Atmega328 aufbauen. Dann 
könnte man auch über die Konsole besser darauf zugreifen.

Gruß
Cornelius

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.