CC1101 library für Arduino NANO

[color=#333333]Moin,
Ich nutze das [iurl=https://www.mikrocontroller.net/part/CC1101]CC1101[/iurl] Funkmodule auf einem Arduino Nano und dazu die 
ELECHOUSE_CC1101 library.
Man kann mit ELECHOUSE_cc1101.SendData(buffer, len); zwar prima 
Daten/Strings senden - ich würde aber gerne ein einfaches ASK 
moduliertes Signal senden und dazu etwas in der Art
digitalWrite(PIN,HIGH);
delay(1);
digitalWrite(PIN,LOW);
senden.
Weiß jemand, ob ich dazu die ELECHOUSE_CC1101 library überhaupt nehmen 
kann und welchen PIN ich dazu verwenden könnte?

Vielen Dank![/color]

Ach, jetzt mit einem neuen User-Profile ?

Hier habe ich doch schon geantwortet.

Ein Kollege hat mich diese Frage gefragt, aber anscheinend hat er selber auch schon nachgefragt :smiley:

Danke auf jeden Fall :wink:

alextbg:
Ein Kollege hat mich diese Frage gefragt, aber anscheinend hat er selber auch schon nachgefragt :smiley:
Danke auf jeden Fall :wink:

Ok, alles klar.
Jedenfalls funktioniert das mit dem CC1101 nicht so einfach, da dieser nur per SPI angesteuert werden kann.
Die einfachen Sender haben einen reinen digitalen Eingang der mit HIGH und LOW bedient werden kann.
Und auch ASK macht.

Hallo
Werfe mal einen Blick in dieses[ Tutorial.](RF Communication between Arduino using RF Modules | IoT Design Pro RF module consists of a 433 MHz,hence consumes only low power in battery operation.")

Ein Kollege hat mich diese Frage gefragt, aber anscheinend hat er selber auch schon nachgefragt :D

Danke auf jeden Fall ;)

Ich konnte ja nicht ahnen, wie vernetzt ihr alle seid!
Vielen lieben Dank für die schnellen Antworten in jedem Fall!

paulpaulson:
Hallo
Werfe mal einen Blick in dieses[ Tutorial.](RF Communication between Arduino using RF Modules | IoT Design Pro RF module consists of a 433 MHz,hence consumes only low power in battery operation.\\")

Ja, das Teil habe ich schon ausprobiert und aufgebaut.
Das funktioniert grundsätzlich gut -allerdings sendet das Modul nicht auf 433.89 Mhz (wie ich es gern hätte) sondern effektiv auf 434.05 Mhz - also ca. 160 kHz daneben.
Wie bekomme ich denn den “Frequency-Pull” hin?

In diesem Frequenzbereich sind da ja so geringe Kapazitäten/Induktivitäten (ca. 1pF und wenige nH) notwendig, dass man das auf einem Breadboard wahrscheinlich gar nicht vernünftig hinbekommt.

steffl:
Ich konnte ja nicht ahnen, wie vernetzt ihr alle seid!
Vielen lieben Dank für die schnellen Antworten in jedem Fall!
Ja, das Teil habe ich schon ausprobiert und aufgebaut.
Das funktioniert grundsätzlich gut -allerdings sendet das Modul nicht auf 433.89 Mhz (wie ich es gern hätte) sondern effektiv auf 434.05 Mhz - also ca. 160 kHz daneben.
Wie bekomme ich denn den “Frequency-Pull” hin?

In diesem Frequenzbereich sind da ja so geringe Kapazitäten/Induktivitäten (ca. 1pF und wenige nH) notwendig, dass man das auf einem Breadboard wahrscheinlich gar nicht vernünftig hinbekommt.

Hallo
einfach mal schauen und suchen ob ein Amateuerfunker, mit einem Messplatz, in deiner Nähe ist.

steffl:
Ich konnte ja nicht ahnen, wie vernetzt ihr alle seid!
Vielen lieben Dank für die schnellen Antworten in jedem Fall!
Ja, das Teil habe ich schon ausprobiert und aufgebaut.
Das funktioniert grundsätzlich gut -allerdings sendet das Modul nicht auf 433.89 Mhz (wie ich es gern hätte) sondern effektiv auf 434.05 Mhz - also ca. 160 kHz daneben.
Wie bekomme ich denn den "Frequency-Pull" hin?

In diesem Frequenzbereich sind da ja so geringe Kapazitäten/Induktivitäten (ca. 1pF und wenige nH) notwendig, dass man das auf einem Breadboard wahrscheinlich gar nicht vernünftig hinbekommt.

Ja, das wird sicher nicht mal so eben funktionieren.
Auch der besagte Funkamateur wird das nicht mal eben machen können. Die Frequenz ist von dem Resonator abhängig, der auf dem Board ist und der ist fest auf 433,92 MHz.
Wenn du eine andere Frequenz brauchst, geht das wohl nur mit dem CC1101 und einer angepassten Library nebst Sketch.

Genau.

Mit dem CC1101 habe ich das Problem mit der Frequenz und Modulation schon gelöst - das geht mit diesen Befehlen:

ELECHOUSE_cc1101.setModulation(2);


// set modulation mode. 0 = 2-FSK, 1 = GFSK, 2 = ASK/OOK, 3 = 4-FSK, 4 = MSK.


ELECHOUSE_cc1101.setMHZ(433.92);


// Here you can set your basic frequency. The lib calculates the frequency automatically (default = 433.92).The cc1101 can: 300-348 MHZ, 387-464MHZ and 779-928MHZ. Read More info from datasheet.


Mit dem 433.92 Mhz Resonator dagegen, (der wie gesagt 434.05 Mhz laut SDR aussendet), habe ich das richtige Signal mit der richtigen Clockrate - aber, wie gesagt, 160 kHz neben der angepeilten Frequenz.

Jetzt muss ich irgendwie noch beides zusammen bringen.

HotSystems:
Ok, alles klar.
Jedenfalls funktioniert das mit dem CC1101 nicht so einfach, da dieser nur per SPI angesteuert werden kann.

Nicht so einfach ist ok - daher wende ich mich ja an euch :slight_smile:
Ich bin wie gesagt auf der Suche nach einer Bibliothek die das kann - notfalls muss ich selber ran.
Bin dennoch über jeden Tipp dankbar!

Verstehe ich es richtig, du brauchst 433,92 MHz ?

Wenn ja, sollte es doch mit den einfachen Sendern gehen.
Das Problem ist nur, die haben eine sehr große Teleranz durch den verwendeten Resonator.
Da müsste man mehrere testen.

Es gibt aber kompatible Module, die die Frequenz mit Quarz und PLL. Diese sollen genauer sein.
Allerdings habe ich auf die Schnelle keine gefunden.

Wie hast du die Frequenz gemessen ?

Edit:
Z.B. diese hier!

Das habe ich mit SDR Sharp gemessen, ich bräuchte 433.89 Mhz.

Ja, ich habe auch schon überlegt, einfach mehrere Resonatoren zu testen.
Ich war aber so überrascht, dass mein Exemplar mit 434.05 Mhz so weit daneben liegt, dass ich mich frage, ob das nicht vielleicht sogar normal ist?!
Die Seite, die du vorgeschlagen hast, kannte ich jedenfalls noch nicht.
Das Modul wäre sicherlich einen Versuch wert - allerdings muss man da wieder 12 EUR Versand zahlen.
Ich überlege noch.

Angeblich kann man mit dieser Schaltung die Frequenz beinflussen:
(siehe Anhang)

Das Beispiel zeigt allerdings Werte für 20 Mhz.
Nach der Formel T = 2π R C bräuchte ich für 433 Mhz bei einer Kapazität von 10 pF -> 36.8 Ohm.
Bei 1 pF entsprechend 368 Ohm.
Hat jemand damit Erfahrung, ob man in diesem Frequenzbereich die Trägerfrequenz mit Trimkondensatoren dann auf 10 kHz genau einstellen kann?

steffl:
Das habe ich mit SDR Sharp gemessen, ich bräuchte 433.89 Mhz.

Na ob das genau genug ist ?

Ja, ich habe auch schon überlegt, einfach mehrere Resonatoren zu testen.
Ich war aber so überrascht, dass mein Exemplar mit 434.05 Mhz so weit daneben liegt, dass ich mich frage, ob das nicht vielleicht sogar normal ist?!

Du könntest mittels Kondensatoren am Resonator die Frequenz minimal ändern.
Dadurch wird das aber unstabiler.

Angeblich kann man mit dieser Schaltung die Frequenz beinflussen:

Diese Schaltung hilft dir am 433,92 MHz-Sender nicht weiter. Du musst die Frequenz direkt an deiner Schaltung anpassen.

Hallo,
ich habe jetzt mal einige Versuche sowie Messungen an den Sendern mit Resonatoren gemacht und festgestellt, dass die alle nicht sehr genau sind. Die schwanken schon im Bereich von 433,5 bis 434,2 MHz. Daher müssen die zugehörigen Empfänger in der Bandbreite auch recht breit ausgelegt werden. Wenn du für dein Projekt eine genaue Frequenz benötigst, solltest du auch auf ein genaueres Modul umsteigen.
Da erscheint mir der CC1101 schon die bessere Wahl zu sein.
Oder du versuchst es einfach mal mit einem dieser einfachen Sender.
Evtl. ist ja der Empfänger ebenso breit ausgelegt und kann das Signal schon empfangen und auswerten.

Hallo Dieter,

I

Die schwanken schon im Bereich von 433,5 bis 434,2 MHz

Ganz genau.
Wenn man mit dem Finger die Kupferwicklungen berührt, kann man in SDR Sharp sehen, wie die Frequenz hin und her wandert.
Durch Zufall habe ich jetzt 2 Fälle gehabt, die erfolgreich waren! (Trägerfrequenz und übermittelter Code wurden angenommen).
Leider kann ich das, auch nach zig Versuchen, nicht reproduzieren ...
Mit dem CC1101 bin ich leider auch nicht weitergekommen, da der "Bitstream" aus mir unerfindlichen Gründen nach ein paar Bits abbricht (siehe http://https://forum.arduino.cc/?topic=720500#msg4871513).
Ich sende ja gerade einmal 13 Bytes...
Ich habe jetzt testweise noch das nrf905 und das rfm24w Modul vor mir liegen.
Beide Datenblätter sind sehr unvollständig - ich finde aber leider keine besseren Produkte :frowning:
Der nrf905 kann nur GFSK.
Das rfm24w Modul sollte OOK und "Umgehung" der FIFO Register können, so dass man den Bitstream am Arduino programmieren kann, und den Chip nur zur Bereitstellung die Trägerfrequenz nutzt. Das geht, sofern ich das Datenblatt richtig verstehe, über die GPIO PINS.
Ich melde mich wieder!

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.