Knacken im TEA5767 kommt evtl. aus der TX Leitung ?

Hallo,

ich bin ganz neu in Sachen Arduino unterwegs und habe mich als erstes mit einem FM Radio auf Basis eines TEA 5767 und einem Arduino Nano beschäftigt.

Wichtig ist mir dabei, das ich die Sender per Poti einstellen kann und nicht mit Tastern oder einem Drehgeber.

Soweit läuft auch alles, aber leider verzweifel ich an folgendem Problem.

Am Audio Ausgang des TEA 5767 höhre ich den Sender klar und deutlich aber im Hintergrund gibt es gleichzeitig ein Knackgeräusch in der gleichen Frequenz wie das Leuchten der TX LED auf dem Nano.

Unterbrechen ich die Verbindung von Pin A5 zum TEA 5767 SLC ist das Knacken weg.
Leider kann ich dann aber auch keinen Sender mehr verstellen.

Das ist das Scetch was ich nutze:

#include <Wire.h>

unsigned char frequencyH = 0;
unsigned char frequencyL = 0;

unsigned int frequencyB;
double frequency = 0;

void setup()
{
Wire.begin();
frequency = 106.8; //starting frequency
setFrequency();
Serial.begin(9600);
}

void loop()
{
int reading = analogRead(0);
//frequency = map((float)reading, 0.0, 1024.0, 87.5, 108.0);

frequency = ((double)reading * (108.0 - 87.5)) / 1024.0 + 87.5;
frequency = ((int)(frequency * 10)) / 10.0;

setFrequency();
Serial.println(frequency);
}

void setFrequency()
{
frequencyB = 4 * (frequency * 1000000 + 225000) / 32768;
frequencyH = frequencyB >> 8;
frequencyL = frequencyB & 0XFF;
delay(100);
Wire.beginTransmission(0x60);
Wire.write(frequencyH);
Wire.write(frequencyL);
Wire.write(0xB0);
Wire.write(0x10);
Wire.write((byte)0x00);
Wire.endTransmission();
delay(100);
}

Ich habe schon versucht ohne den Seriel Print befehl das Knacken weg zu bekommen, leider ohne Erfolg.
Auch eine Erhöhung des delay von 100 auf z.B. 1000 hatte auch nicht richtig was gebracht :frowning:

Leider komme ich jetzt nicht weiter und würde mich freuen, wenn mir jemand von Euch helfen könnte da Problem zu lösen....

Vielen Dank und tschau
Jo

Unterbrechen ich die Verbindung von Pin A5 zum TEA 5767 SLC ist das Knacken weg.

Solltest evtl. setFrequency() oder darin das Wire.xxTransmission nur bei Änderung der Frequenz ausführen.

Oder dich beim TEA-Hersteller beschweren.

Hallo,

um das Scetch so zu ändern, das nur beim Drehen am Poti die Daten zum TEA gesendet werden, dafür fehlt mir noch das Grundwissen.

Bin froh, das ich schon mal so alles zu laufen bekommen habe, leider komme ich nicht aus der Elektro / PC Branche und muß mir alles muhsam selber aneignen.

Ich hatte auch schon das TEA Modul in Verdacht aber auch mit einem Neuen ist es es das gleiche Ergebnis.

Ist es sehr aufwendig das Scetch zu ändern, um nur beim Drehen des Poti die neuen Daten zu senden ?
Was muß da geändert werden ?

Danke
Jo

johotrod:
.....
Leider komme ich jetzt nicht weiter und würde mich freuen, wenn mir jemand von Euch helfen könnte da Problem zu lösen....

Ich verwende den TEA5767 auch in meinem Radiowecker seit ca. 1,5 Jahren und das ohne Knacken.

Ich vermute das Problem in der Spannungsversorgung. Du brauchst eine absolut saubere Spannung, die per Kondensatoren gesiebt wird. Du solltest dazu das Datenblatt des TEA5767 genau studieren und dich an den Vorgaben orientieren.
Und wichtig sind Pullup-Widerstände am I2C-Bus.

Mal alles, was ich als unschön empfinde so gelassen, könntest du z.B. sowas machen, um nur bei Frequenz-Änderungen was zu übertragen:

void setFrequency()
{
 static byte freqH=0;
 static byte freqL = 0;

  frequencyB = 4 * (frequency * 1000000 + 225000) / 32768;
  frequencyH = frequencyB >> 8;
  frequencyL = frequencyB & 0XFF;
 
 if ((frequencyH == freqH) && (frequencyL == freqL)) return;  // keine Änderung
 freqH= frequencyH; 
 freqL= frequencyL;

  Wire.beginTransmission(0x60);
  Wire.write(frequencyH);
  Wire.write(frequencyL);
  Wire.write(0xB0);
  Wire.write(0x10);
  Wire.write((byte)0x00);
  Wire.endTransmission();
 delay(200);  // damit es nicht häufiger knackt als vorher :) 
}

Hallo,

mit dem neuen Scatch ist das Knacken jetzt weg :slight_smile:
Ganz herzlichen Dank für die schnelle Hilfe !!!!

ich werde aber noch einmal die Anleitung zum TEA studieren, evtl. habe ich doch etwas in der Verdrahtung übersehen.

Danke nochmals :slight_smile:

Tschüß
Jo

mit dem neuen Scatch ist das Knacken jetzt weg :slight_smile:

Schön, allerdings dürfte TX jetzt unnötigerweise auf Dauerfeuer stehen, wenn grade nicht am Poti gedreht wird.

Kannst ja das Serial.println(frequency); nur ausgeben, wenn eine Änderung erkannt wurde.
Viel Spaß beim rausfinden, wie das geht.

Hallo,
ich habe ein ähnliches Problem mit dem TEA5767 Modul. Ich habe an dem i2c Bus das TEA 5767 Modul und zusätzlich noch ein Display auf dem ich die Uhrzeit anzeigen lasse, angeschlossen. Immer wenn das Display ein Signal bekommt knackt das Radio. Also jede Sekunde.
Hat jemand eine Idee wie ich das wegbekommen?
Meine einzige Idee bislang ist ein Relais vorzuschalten das nur dann schließt denn die Frequenz eingestellt wird. Diese Lösung wäre allerdings mit Kanonen auf Spatzen geschossen.

Momomom:
Hallo,
ich habe ein ähnliches Problem mit dem TEA5767 Modul. Ich habe an dem i2c Bus das TEA 5767 Modul und zusätzlich noch ein Display auf dem ich die Uhrzeit anzeigen lasse, angeschlossen. Immer wenn das Display ein Signal bekommt knackt das Radio. Also jede Sekunde.
Hat jemand eine Idee wie ich das wegbekommen?
Meine einzige Idee bislang ist ein Relais vorzuschalten das nur dann schließt denn die Frequenz eingestellt wird. Diese Lösung wäre allerdings mit Kanonen auf Spatzen geschossen.

Und was willst du mit dem Relais dann schalten ?
Sicher ist das keine gute Lösung.
Du solltest ebenso auf eine saubere Spannung und auf eine optimale Signalführung achten.
Dann bekommt man das hin.

Was meinst du mit einer optimalen Signalführung?
Ich habe momentan das Display und das Radiomodul parallel an die scl und sda Anschlüsse am arduino nano angeschlossen. Das Display hat die i2c HEX Adresse 0x27 und das Radiomodul 0x60. Ich habe auch schon verschiedene pull-up Widerstände versucht, doch das ändert nichts.
Als Spannungsversorgung für den Nano nutze ich ein 12V Netzteile und das Radiomodul wird über die 5v vom Nano versorgt. An der Spannungsversorgung liegt es vermutlich nicht, denn wenn ich von dem Radiomodul die Signalleitungen (scl, sda) abziehe, nachdem ich die Frequenz eingestellt habe, ist das knacken weg.
Mit dem relais würde ich die Signalleitungen von dem Modul trennen wenn die Frequenz gerade nicht eingestellt wird. Um diese sehr unelegante Lösung nicht umsetzen zu müssen suche ich hier gerade nach Alternativen

Momomom:
Was meinst du mit einer optimalen Signalführung?
Ich habe momentan das Display und das Radiomodul parallel an die scl und sda Anschlüsse am arduino nano angeschlossen. Das Display hat die i2c HEX Adresse 0x27 und das Radiomodul 0x60. Ich habe auch schon verschiedene pull-up Widerstände versucht, doch das ändert nichts.

Damit möchte ich ausdrücken, dass die NF-Leitungen nicht zu dicht an den digitalen Leitungen verlaufen.
Und eine optimierte Spannungsversorgung.....

Als Spannungsversorgung für den Nano nutze ich ein 12V Netzteile und das Radiomodul wird über die 5v vom Nano versorgt. An der Spannungsversorgung liegt es vermutlich nicht, denn wenn ich von dem Radiomodul die Signalleitungen (scl, sda) abziehe, nachdem ich die Frequenz eingestellt habe, ist das knacken weg.
Mit dem relais würde ich die Signalleitungen von dem Modul trennen wenn die Frequenz gerade nicht eingestellt wird. Um diese sehr unelegante Lösung nicht umsetzen zu müssen suche ich hier gerade nach Alternativen

wie z.B. die Spannung aus dem Arduino nehmen.
Ich verwende eine 5Volt.Versorgung mittels Stepdown und speise damit den "Uno" und das Radiomodul. Zusätzliche Kondensatoren an VCC können helfen, Störungen zu unterdrücken.

Die I2C-Leitungen abzutrennen ist eine ganz schlechte Lösung. Die kann im ungünstigen Fall den Arduino zum Absturz bringen.