Themabewertung:
  • 2 Bewertung(en) - 4.5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Autophon HF-TR-Wiedergabegerät E60 Umbau die Zweite
#1
   

"die Zweite" deshalb, weil ich vor einem Jahr schon mal ein solches Wiedergabegerät vorgestellt habe:

Autophon HF-TR-Wiedergabegerät E60 Umbau

bei diesem zweiten Modell ging ich einen anderen Weg zur Nutzbarkeit. Im Original werden über einen Drehschalter 6 Langwellensender eingestellt, welche über Kabel eingespeist werden. Den Drehschalter wollte ich beibehalten, allerdings mit UKW Stationen versehen. Neben dem Bedien-Charakter wollte ich auch diesmal nichts an der Optik verändern.

Der 6-stufige Drehschalter schränkte die Auswahl der Empfangsstationen sehr ein. Aber ich hatte noch einige Lorlin BCD-kodierte Drehschalter in meinem Vorrat. Die Anzahl der Schaltstufen ist bei diesen Schaltern über eine Rastscheibe bis 15 einstellbar.

   

Mit einem Mikroprozessor kann ich nun mit nur 4 I/O-Ports die 15 Stellungen abfragen. Da ich keine 5V-Komponenten für das Empfangsgerät benötige wählte ich einen Arduino Pro Mini in der 8MHz - 3,3V - Version aus. Der Spannungsregler ist schon onboard, so dass ich direkt mit der per Einweg gleichgerichteten Heizspannung meine Platine betreiben kann. Eine Pegelwandlung für den SI4703-Empfänger entfiel dadurch ebenfalls. Und so ist eine ganz einfache Beschaltung entstanden:

   

   

Hier bin ich noch in der Entwicklungsphase. Der Pro Mini hat keinen USB-Port, und man programmiert ihn mit einem FTDI-Adapter.

   

schon fast Endzustand:

   

diese sehr dünnen hochflexiblen Leitungen gewann ich durch das Ausschlachten einer defekten PC-Maus. Davon stammt auch der Taster. Der hat im Moment noch keine Funktion. Ich habe ihn vorgesehen um irgendwann mal ein Autotune einzuprogrammieren. So weit bin ich aber noch nicht. Also schnappte ich mir ein Digitalradio und fuhr zu einer Stelle in meiner Nähe wo guter Empfang ist. Ich notierte mir die 15 am stärksten empfangbaren UKW-Sendestationen und übertrug sie zuhause hartcodiert in meine software.

Mehr war nicht zu tun. So präsentiert sich das Gerät:

   

   

   

   

   

   
Gruß,
Jupp
-----------------------------
wenn man nur den Hammer kennt, sieht jedes Problem aus wie ein Nagel
--------
Zensur findet im Endgerät statt (CCC)
Zitieren
#2
der zweite post ist wieder der software gewidmet.

Sie ist diesmal sehr knapp gehalten. Den 4 Leitungen des Drehschalters gebe ich Wertigkeiten (1, 2, 4, 8), die mit dem Abfrageergebnis der Schalter (1 oder 0) multipliziert werden. Weil ich gegen Masse schalte sind die internen PullUp's aktiviert und ich muss die Schalterabfragen jeweils negieren. Die 4 Ergebnisse werden addiert und es entsteht ein Wert von 1 bis 15. Bei der Abfrage des arrays wird wieder eine 1 subtrahiert, weil das array nicht mit 1 sondern mit 0 beginnt.

Desweiteren habe ich noch eine Entprellung eingebaut. Erst wenn eine Wertänderung 200ms ansteht wird der Sender umgeschaltet. Das wäre wahrscheinlich nicht notwendig gewesen, aber es verhindert unnötige Frequenzumschaltungen beim zappen.

Code:
/// Wiring
/// ------
/// The SI4703 board has to be connected by using the following connections:
/// | Arduino UNO pin    | Radio chip signal  |
/// | -------------------| -------------------|
/// | 3.3V (red)         | VCC                |
/// | GND (black)        | GND                |
/// | A5 or SCL (yellow) | SCLK               |
/// | A4 or SDA (blue)   | SDIO               |
/// | D2 (white)         | RST                |

#define NUMBER_STATIONS 15        // Anzahl Feststationen

#include <Arduino.h>
#include <Wire.h>
#include <radio.h>
#include <Si4703_Breakout.h> //Monk

int frequency = 880;           ///< The station that will be tuned by this sketch is 88.00 MHz
int volume = 0;                ///< The volume that will be set by this sketch is level 4.

/*SI4703 - Pins*/
int resetPin = 2;
int SDIO = A4;
int SCLK = A5;
int RDSInterruptPin = 3; // GPIO2 for RDS Interrupt

Si4703_Breakout radio(resetPin, SDIO, SCLK, RDSInterruptPin);

const int PA = 3;
const int PB = 4;
const int PC = 5;
const int PD = 6;

int preset = 0;
int preset_neu = 0;

#define REFRESH_PERIOD_MS 100

struct STATIONS {
     char name[17];
     int frequency;
  } stations[NUMBER_STATIONS] = {{"SR 1 Europawelle",  880},
                                 {"DLF Kultur      ",  886},
                                 {"SWR 3           ",  900},
                                 {"SWR 2           ",  930},
                                 {"RTL Radio       ",  933},
                                 {"SR3Saarlandwelle",  955},
                                 {"SWR 1 RP        ",  977},
                                 {"big fm          ",  995},
                                 {"RPR 1           ", 1001},
                                 {"ClassicRockRadio", 1009},
                                 {"Radio Salue     ", 1017},
                                 {"ClassicRockRadio", 1028},
                                 {"SWR 4           ", 1071},
                                 {"SR Unser Ding   ", 1037},
                                 {"DLF Kultur      ", 1079}};
                                 
void setup()
{
 
 Serial.begin(9600);
 
 // Initialize the Radio
 
 //Initialize and Power up the SI4703
 radio.powerOn();
 radio.powerOn();
 radio.setVolume(volume);
 radio.setMono(false);
 //radio.setChannel(frequency);
 
 pinMode (PA, INPUT_PULLUP);
 pinMode (PB, INPUT_PULLUP);
 pinMode (PC, INPUT_PULLUP);
 pinMode (PD, INPUT_PULLUP);
   
}


void loop()

{
 
preset_neu = (!digitalRead(PA) + !digitalRead(PB) * 2 + !digitalRead(PC) * 4 + !digitalRead(PD) * 8);

if (preset_neu != preset) {
 radio.setVolume(0);
 delay (200);
 if (preset_neu = (!digitalRead(PA) + !digitalRead(PB) * 2 + !digitalRead(PC) * 4 + !digitalRead(PD) * 8)) {
 preset = preset_neu;
 Serial.print(preset);
 Serial.print("  ");
 frequency = (stations[preset-1].frequency);
 Serial.println(frequency);
 //radio.setChannel(stations[preset].frequency);
 radio.setChannel(frequency);
 radio.setVolume(30);
 }
}
 delay (REFRESH_PERIOD_MS);
}
Gruß,
Jupp
-----------------------------
wenn man nur den Hammer kennt, sieht jedes Problem aus wie ein Nagel
--------
Zensur findet im Endgerät statt (CCC)
Zitieren
#3
Desweiteren habe ich noch eine Entprellung eingebaut. Erst wenn eine Wertänderung 200ms ansteht wird der Sender umgeschaltet. Das wäre wahrscheinlich nicht notwendig gewesen, aber es verhindert unnötige Frequenzumschaltungen beim zappen.

zusätzlich wird während der Verzögerung die Lautstärke auf Null reduziert, so dass keine Knackgeräusche etc.
bei der Senderumschaltung entstehen.

Clever gemacht, schönes Projekt Jupp!
Grüße aus Wassenberg,
Norbert.
Zitieren
#4
Was ihr macht...
Ich kann nur träumen es zu lernen.
Respekt!
Gruß!
Ivan
Zitieren
#5
(31.03.2018, 06:48)norbert_w schrieb: Desweiteren habe ich noch eine Entprellung eingebaut. Erst wenn eine Wertänderung 200ms ansteht wird der Sender umgeschaltet. Das wäre wahrscheinlich nicht notwendig gewesen, aber es verhindert unnötige Frequenzumschaltungen beim zappen.

zusätzlich wird während der Verzögerung die Lautstärke auf Null reduziert, so dass keine Knackgeräusche etc.
bei der Senderumschaltung entstehen.

Clever gemacht, schönes Projekt Jupp!

richtig, das muting hatte ich vergessen zu erwähnen. Ich hab mir auch schon überlegt den Ton sanft aus- und einzublenden.

Was ich in der Monk-Bibliothek nicht gefunden habe ist den Empfänger auf Mono umzuschalten, um etwas Empfangsempfindlichkeit zu gewinnen. So klemme ich einfach nur über 2 Widerstände das Stereosignal zusammen.

Danke für eure Anerkennung!
Gruß,
Jupp
-----------------------------
wenn man nur den Hammer kennt, sieht jedes Problem aus wie ein Nagel
--------
Zensur findet im Endgerät statt (CCC)
Zitieren
#6
Das ist wirklich sehr interessant. Mit Autotune meinst du wahrscheinlich den Suchlauf wie bei einem Scanradio.
Das Umprogrammieren wäre bei wechselnden Standorten auch zu umständlich.
Ich muss mich da auch mal mit beschäftigen.
sicheres Auftreten bei völliger Ahnungslosigkeit
Zitieren
#7
ein einfacher Suchlauf wäre nicht das Problem. Ich stelle mir vor daß man die Taste auf der Platine drückt und einen scan auslöst, wobei die Frequenzen ab einem bestimmten Empfangspegel ins eeprom geschrieben werden. Auf Tastendruck wird also die Tabelle selbstständig angelegt. Da dies nur selten vorkommt (bei Standortwechsel oder wenn sich an den lokalen Sendern was ändert) kann die Taste im Geräteinneren verbleiben, oder sie kommt an die Rückseite. Im Betrieb wird wie jetzt auch mit dem Drehschalter zwischen den Senderplätzen umgeschaltet.
So ist es z.B. auch bei dem Bluetooth Decoder Board sowie bei dem Serial Port Frequency Board gelöst. Diese beiden boards kann man aber nicht mit einem Drehschalter oder mit einem Rotary-Encoder kombinieren ohne einen µPC zwischenzuschalten. Der µPC muss bei Einsatz eines Rotary-Encoder die Drehrichtung erkennen und dann einen Tastendruck simulieren. Bei einem Drehschalter sehe ich gar keine Möglichkeit gezielt einen Programmplatz bei einem der erwähnten Module anzusteuern.
Gruß,
Jupp
-----------------------------
wenn man nur den Hammer kennt, sieht jedes Problem aus wie ein Nagel
--------
Zensur findet im Endgerät statt (CCC)
Zitieren
#8
da hätte ich noch mal eine kleine Bilderserie. Die Antenne hab ich an einer Buchse angeschlossen welche ich an einer Rückwandöffnung angeschraubt habe. Das Radiomudul musste ich austauschen, da ist mir durch Zug an der Antennenleitung eine Miniaturleiterbahn abgerissen die zum Antenneneingang des Chip führt. Keine Chance mehr auf Kontaktierung. Den Umbau auf externe Antenne führe ich jetzt anders aus, so daß ich noch Halt bekomme an dem SMD-Kondensator vor dem Antenneneingang.

Nach einer Stunde Spielzeit begann der Ton zu verzerren. Ich vermute einen Defekt an der ECC40. Ich muss im Lager erst noch eine andere raussuchen. Es sind aber auch noch ein paar Papierkondensatoren drin die sehr gut vergossen sind und eine überdurchschnittlich gute Qualität vermuten lassen. Evtl. muss ich da auch noch ran.

   

   

   
Gruß,
Jupp
-----------------------------
wenn man nur den Hammer kennt, sieht jedes Problem aus wie ein Nagel
--------
Zensur findet im Endgerät statt (CCC)
Zitieren
#9
Moin,

eine sehr schöne Arbeit. So erfüllt das Radio wieder seinen Zweck und schön anzusehen ist es auch noch.

Beste Grüße

Peter
Zitieren


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Eigener DAB Sender, die Zweite Bernhard45 0 378 10.07.2019, 17:09
Letzter Beitrag: Bernhard45
  Autophon-Internetradio saarfranzose 26 1.719 15.12.2018, 16:10
Letzter Beitrag: saarfranzose
  Grundig Micro Boy, Umbau mit DSPM2-Baustein saarfranzose 22 6.915 04.06.2018, 19:15
Letzter Beitrag: TKOFreak61
  Graetz 290WF UKW Umbau saarfranzose 8 3.363 20.07.2017, 07:26
Letzter Beitrag: radioharry
  Biennophone Minitel 43-NB UKW-Umbau saarfranzose 3 2.039 16.04.2017, 20:28
Letzter Beitrag: saarfranzose

Gehe zu: