Fehlerhafte CC1101 Module

Begonnen von gloob, 03 Oktober 2018, 21:25:21

Vorheriges Thema - Nächstes Thema

kpwg

#76
Exakt. Einen Versuch ist es allemal wert.

Mein in #58 gepostetes Modul ist übrigens auch betroffen. Kein anlernen möglich.

Edit: gerade mit dem Scanner mal drüber geschaut und bei 868.210 den Sensor "gefunden".

Edit2: Mit dem Tausch von C81 und C101 auf 12pF in Baugröße 0402 läuft das Modul auf Anhieb. Die Frequenz passt nun zu den anderen HM-Komponenten (so genau lässt sich das mit einem billigen RTL-SDR nicht feststellen, aber im direkten Vergleich ist das ok). Für entscheidend halte ich noch den Umstand, welche HM-Basis verwendet wird. Wer einen Nachbau-CUL nutzt, wird sicher weniger Probleme haben, da die HF-Seite auf den China-Modulen weniger sauber ausgeführt ist und dadurch toleranter (breiter) bei Signalen. Mein originaler CUL sieht das kritischer und konnte nichts empfangen, ein Nachbau-CUL an gleicher Stelle funktionierte zumindest bescheiden.

Edit3: Die ausgelöteten Kondensatoren wurden vermessen und lagen alle bei 18pF bis 20pF. Bei den letzten vier Modulen wurden nach erfolglosem Anlern-Versuch die Kondensatoren gewechselt, was zur sofortigen Funktion führte.

Noch ein Tip zum Löten der Kondensatoren im 0402-Gehäuse: Hier ist äußerstes Fingerspitzengefühl gefragt. Ich habe zuerst mit einer breiten flachen Spitze die C's längsseitig gleichzeitig an beiden Enden erfasst und zur Seite von den Pads geschoben. Danach mit etwas 1.5mm Entlötlitze die Pads vom restlichen Zinn befreit. Nun lohnt es, die Stellen Wattestäbchen und Spiritus zu reinigen. An dieser Stelle wechsle ich die Lötspitze (hier Weller WSP-80 mit LT1SA) und löte den neuen C mit 0.35mm Zinn zuerst auf der nicht-Masseseite an. Das geht sehr schnell, da die Spitze wenig Material zu erwärmen hat. Erst danach erfolgt die masseseitige Lötung am neuen C, denn hier ist viel Material zu erwärmen, was etwas länger dauert. Man muss sich zu dem Zeitpunkt nicht mehr aufs Festhalten des C konzentrieren. :)

Tom Major

Zitat von: kpwg am 16 Dezember 2018, 09:04:20
Die 12p sind plausibel. Mit 34pF ist es ein Wunder, das der Oszillator überhaupt sauber startet. Daher halte ich auch nicht viel vom Anpassen der Software, um elementare Fehler in der Hardware auszugleichen. Kann funktionieren, hinterlässt aber kein gutes Gefühl...
Ich habe leider daheim derzeit keine Möglichkeiten zu Messungen. Nachwievor ist auch die Quarzfrequenz ansich interessant sowie das Einschwingverhalten unter verschiedenen Temperaturbedingungen.

Wobei im Datenblatt 27pF angegeben sind, insofern sind die 34pF einigermaßen plausibel. Verwendeter Quarz (Lastkap.) und Streukapazität im Layout spielen wesentliche Rollen dabei wie auch im von kpwg verlinkten pdf  lesen ist.
Wenn der Hersteller das alles berücksichtigt und berechnet hat können 34pF durchaus Sinn machen. Wenn er einfach den nächstbesten lieferbaren Quarz nimmt und bestückt kann das richtig schiefgehen was die Einhaltung der genauen Frequenz betrifft.
Früher: FHEM 5.x
Jetzt: RaspberryMatic / ioBroker

Tom Major

Zitat von: papa am 15 Dezember 2018, 20:30:28
Vielleicht kann man ja auch einen Testsketch machen, der die Frequenz in einem bestimmten Bereich ändert und jeweils versucht ein Kommand an die Zentrale zu senden. Von der Antwort mit dem besten RSSI Wert wird die Frquenz bzw. die Registerwerte ausgegeben.

Ich finde papas Idee ziemlich gut.
Es gibt aber wahrscheinlich keine Möglichkeit den RSSI Wert von der Zentrale ins Device zurück zu bekommen, um die Sache automatisiert zu gestalten, oder?
Früher: FHEM 5.x
Jetzt: RaspberryMatic / ioBroker

kpwg

#79
Zitat von: Tom Major am 16 Dezember 2018, 14:29:21
Wenn der Hersteller das alles berücksichtigt und berechnet hat können 34pF durchaus Sinn machen. Wenn er einfach den nächstbesten lieferbaren Quarz nimmt und bestückt kann das richtig schiefgehen was die Einhaltung der genauen Frequenz betrifft.
Gut zusammengefasst. Der Quarz benötigt die passenden Lastkapazitäten. Der Quarz ist offenbar bei allen fehlerhaften Modulen bedruckt, bei allen funktionierenden Modulen mit einer Gravur beschriftet. Könnt ihr das bestätigen?

Edit: Der Hersteller empfiehlt 13pf, wenn ich das richtig deute? (Auszug aus dem Datenblatt anbei) Daher sind die 12p mit noch ein wenig Streukapazität im Layout schon ok.

noansi

Hallo Zusammen,

ZitatEs gibt aber wahrscheinlich keine Möglichkeit den RSSI Wert von der Zentrale ins Device zurück zu bekommen, um die Sache automatisiert zu gestalten, oder?
Da dass device selbst den cc1101 nutzt, kann man den Empfangs RSSI im device nutzen.
Die Zentrale könnte auch mit einer Antwort mit enthaltenem Empfangs-RSSI der Zentrale antworten.

Außerdem kann der cc1101 auch noch so eingestellt werden, dass er den Frequenzoffset beim Empfang optimiert, sofern die Modulationsart es erlaubt, was der Fall ist.
Siehe Register 0x0C: FSCTRL0 – Frequency Synthesizer Control, 0x19: FOCCFG – Frequency Offset Compensation Configuration und 0x32 (0xF2): FREQEST – Frequency Offset Estimate from Demodulator, sowie Kapitel 14.1 Frequency Offset Compensation.

D.h. grob etwa so
- Frequenz auf 868.3MHz einstellen und FOCCFG einstellen z.B. 0x26
- den Frequenzoffset in FSCTRL0 variieren, bis eine Paketantwort erfolgreich, mit erfolgreicher CRC-Prüfung von der Zentrale empfangen werden kann
- das FREQEST lesen und wieder in FSCTRL0 nutzen und gemittelt über mehrere Versuche und Antwortpakete als Offset nutzen.

Das setzt vorraus, dass der Frequenzfehler maximal etwa +/-200kHz beträgt.

Gruß, Ansgar.

Tom Major

Zitat von: kpwg am 16 Dezember 2018, 15:01:41
Gut zusammengefasst. Der Quarz benötigt die passenden Lastkapazitäten. Der Quarz ist offenbar bei allen fehlerhaften Modulen bedruckt, bei allen funktionierenden Modulen mit einer Gravur beschriftet. Könnt ihr das bestätigen?

Edit: Der Hersteller empfiehlt 13pf, wenn ich das richtig deute? (Auszug aus dem Datenblatt anbei) Daher sind die 12p mit noch ein wenig Streukapazität im Layout schon ok.

Ganz so einfach ist die Rechnung glaub ich nicht, sondern
CE = 2*CL - CS
CE gesuchter Wert für ext. C
CL Lastkapazität des Quarzes
CS Streukapazität (Layout)

AVR042 App. Note, der Abschnitt dort über  Quarzosz. sollte universell gelten.

Der screenshot von kpwg aus dem Datenblatt zeigt die vom Hersteller empfohlene Lastkapazität in deren Grenzen man den OSC des CC1101 sicher betreiben kann.
TI nennt weiter hinten in der BOM 2 Bsp. für Quarze:
NX3225GA -> CL = 8pF
AT-41CD2 -> CL = 16pF

Wenn man z.B. 6pF Streukapazität annimmt
ergibt sich laut Formel
NX3225GA ein CE von 10pF
AT-41CD2 ein CE von 26pF

D.h. wenn die Module einen Quarz ähnlich AT-41CD2 hätten wären 27pF perfekt, für den NX3225GA wären 27pF viel zu groß, da machen 12pF Sinn.

=> Ohne die CL des Quarzes zu kennen kann man CE nicht sinnvoll berechnen.
Früher: FHEM 5.x
Jetzt: RaspberryMatic / ioBroker

plombe

Hallo,
habe ein Modul mit geändertern Werten im Register und ein Modul mit geänderten Kondensatoren mit dem Sketch HM-LC-SWX-SM betrieben. Laut SDR sind die meisten der empfangenen Frequenzen meiner HM-Geräte nahezu deckungsgleich mit den Signalen, die die beiden Module jeweils aussenden. Dennoch kommt keine Kommunikation zustande.
Wenn ich auf der seriellen Konsole die Initialisierung beobachte und im selben Moment ein HM-Telegramm kommt, werden die 4 Schalterzustände gesendet und danach das empfangene Telegramm richtig dargestellt. Alle folgenden empfangenen Telegramme sind falsch und mit CRC-Fehlern.

Die ausgesendeten Telegramme werden weder vom CUL noch von HMUARTLGW empfangen.

Benutze ich die beiden Module mit einem NanoCUL, kann ich mit ihnen alle Geräte fehlerfrei empfangen und darüber ebenso schalten. Was mache ich jetzt mit 10xNanoCul?  ::)

jp112sdl

Gestern kam eine neue Lieferung von TENSTAR bei mir an.
Hab ein Modul fix ausgepackt und getestet - Anlernen klappte auf Anhieb.

Hier mal meine Aufzeichnungen bzgl. der Sendefrequenzen verschiedener Module:






ModulTX Freq. MHZ
CC1101 neueste Lieferung (i.O.)868.21
CC1101 ältere Lieferung (i.O.)868.26
Original eQ-3 TRX868.24
HM-MOD-UART868.25

Das CC1101 aus der neuen Lieferung liegt ca. 30-40kHz neben der Frequenz, auf der das originale HomeMatic Zeugs funkt.
Bei 300kHz Bandbreite liegt es noch im Bereich von "funktioniert".


gloob

Zitat von: jp112sdl am 18 Dezember 2018, 06:59:19
Gestern kam eine neue Lieferung von TENSTAR bei mir an.
Hab ein Modul fix ausgepackt und getestet - Anlernen klappte auf Anhieb.

Hier mal meine Aufzeichnungen bzgl. der Sendefrequenzen verschiedener Module:






ModulTX Freq. MHZ
CC1101 neueste Lieferung (i.O.)868.21
CC1101 ältere Lieferung (i.O.)868.26
Original eQ-3 TRX868.24
HM-MOD-UART868.25

Das CC1101 aus der neuen Lieferung liegt ca. 30-40kHz neben der Frequenz, auf der das originale HomeMatic Zeugs funkt.
Bei 300kHz Bandbreite liegt es noch im Bereich von "funktioniert".

Wärst du bitte so nett und würdest noch ein Bild vom Modul zeigen?
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

jp112sdl

Zitat von: gloob am 18 Dezember 2018, 07:39:50
Wärst du bitte so nett und würdest noch ein Bild vom Modul zeigen?

Klaro. Ist alles Relevante zu erkennen?


RaspiLED

Hi,
das bedeutet also, dass die Register beim nanoCUL (mit welcher Firmware?) richtig initialisiert werden, beim ASKSinPP Sketch (welcher genau, inkl. GitHub Link?) nicht. Oder?
Gruß Arnd


Gesendet von iPhone mit Tapatalk
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

noansi

Hallo jp112sdl,

ZitatBei 300kHz Bandbreite liegt es noch im Bereich von "funktioniert".
Wie kommst Du auf 300kHz Bandbreite?

100kHz Bandbreite wird bei HM verwendet! Schau mal, was in die Register reingeschrieben wird.

300kHz wird bei SlowRf verwendet. Nur da machen die 30-40kHz nicht so viel aus.

Gruß, Ansgar.


jp112sdl

Zitat von: noansi am 18 Dezember 2018, 08:42:28
Wie kommst Du auf 300kHz Bandbreite?

Stimmt, war mein Denkfehler!
Ich hatte auf Mikrocontroller.net in einem Beitrag nur die max. Bandbreite von 300kHz gefunden.
https://www.mikrocontroller.net/topic/258104#2672170

Klaus0815

Zitat von: plombe am 17 Dezember 2018, 19:00:32

Benutze ich die beiden Module mit einem NanoCUL, kann ich mit ihnen alle Geräte fehlerfrei empfangen und darüber ebenso schalten. Was mache ich jetzt mit 10xNanoCul?  ::)


Hast Du beim NanoCul auch die Frequenz verändert, oder alles auf Standart gelassen? Wäre hilfreich um den Fehler weiter einzugrenzen