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


von Cornelius F. (firlefranz)


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)


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)


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)


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)


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)


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)


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)


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)


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)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.