to-st.de | |||||||||
Home | Impressum | Datenschutz | Kolophon | Kontakt | |||||||||
PC-Radio SI4735 Set mit auf dem Lochrasterfeld aufgebautem Preselector
|
|||||||||
|
|||||||||
Preselector für das AK Modulbus PC-Radio | von Ralf Beesner, DK5BU
Das PC-Radio wird ohne Vorkreis-Abstimmung geliefert. Ein Preselector verbessert aber
deutlich die Empfindlichkeit auf UKW und den AM-Bändern und reduziert auf den letzteren
die Nebenempfangsstellen. Vorgestellt werden hier zwei Preselector-Lösungen auf Basis einer
UKW-Luftspule und Festinduktivitäten mit automatischer Umschaltung unter Ausnutzung
von einem GPO (AK Modulbus PC Radio, mittels ATtiny13) oder zwei GPO (eigener Lochrasteraufbau).
Inhalt
Vorbemerkungen und -versucheDas PC-Radio wird ohne Vorkreis-Abstimmung geliefert; ein Preselector verbessert aber deutlich die Empfindlichkeit auf UKW und den AM-Bändern und reduziert auf den letzteren die Nebenempfangsstellen, da Empfänger mit IQ-Mischern und 0 Hz ZF auch bei den Vielfachen der Mischoszillatorfrequenz sehr empfindlich sind (ein Vorkreis dämpft diese Nebenempfangsstellen stark).Bei den Vorversuchen ergaben sich folgende Erkenntnisse:
Automatische UmschaltungMan könnte die Umschaltung der AM-Induktivitäten von Hand vornehmen; eleganter ist es aber, dies programmgesteuert zu erledigen.Der Si4735 weist einige GPOs (general purpose outputs) auf; zwei sind grundsätzlich nutzbar. Zu beachten ist aber, daß sie eine Doppelfunktion aufweisen: beim "Hochfahren" des ICs fungieren sie als Eingänge und legen in den ersten msec den Modus für den Steuerbus fest. Für den I2C-Modus muß GPO1 auf high liegen und GPO2 auf low. Im laufenden Betrieb kann man dann beliebige Pegel über die beiden GPOs ausgeben. Abb. 1: Schaltplan Preselector-Lösung via 2 GPOs Grundsätzlich kann man die Schaltung nach Abb.1 verwenden, um die Induktivitäten umzuschalten. Als Schalter fungieren MOSFets, die entweder hochohmig sind und die Induktivität "in der Luft baumeln lassen" oder sie niederohmig gegen Masse ziehen. Da die MOSFet-Gates sehr hochohmig und gegen Überspannungen empfindlich sind, sorgen Gatewiderstände für die Ableitung von Spannungsspitzen (für den Fall, dass der Si4735 mal nicht in seiner Fassung steckt). Auf dem Lochraster-Aufbau eines Si4735-Empfängers funktioniert diese Variante recht gut. Die Gatewiderstände sind so an Plus bzw. Masse geschaltet, dass der Si4735 beim Hochfahren in den I2C-Modus geht. Sonderlösung für die AK Modulbus-PlatineLeider wurde GPO2 beim AK Modulbus PC-Radio fest und gründlich auf Masse gelegt, und es ist mit vertretbarem Aufwand nicht möglich, diese Masseverbindung aufzutrennen.Es bleibt nur GPO1, also ein einziger Pin, um drei Zustände zu übermitteln. Ein gangbarer Weg ist, über GPO1 jeweils ein einfaches Telegramm zu senden: Innerhalb einer Sekunde müssen ein, zwei oder drei Low-Impulse von etwa 100 msec an GPO1 erscheinen.
Die Auswertung der Telegramme erfolgt über einen Mikrocontroller ATtiny 13. Das erforderliche Programm besteht aus einigen Zeilen Bascom-Code: ' Attiny-13-AM-Umschalter für Si4735-USB ' ' Für den LW- Bereich liegt eine Festinduktivität 2,2 mH im Eingangskreis; ' auf MW werden 100 µH parallelgeschaltet; für den KW- Bereich 3,3 µH. ' Die Induktivitäten werden parallelgeschaltet, indem PB3 und PB4 das ' kalte Spulenende auf low ziehen ' ' Der Si4735 hat nur einen nutzbaren GPIO; das PC- Programm ' erzeugt bei Bedarf 1, 2 oder 3 Impulse ' die an PB0 des Attiny geführt werden (Low aktiv). ' Geht PB0 auf low, wacht der Attiny auf und zählt die Low- Impulse mit ' Bei 1 Impuls: Umschaltung auf MW -> PB3 niederohmig ' Bei 2 Impulsen: Umschaltung auf KW -> PB3 und PB4 niederohmig ' Bei 3 oder mehr Impulsen: PB3 und PB4 hochohmig ' Änderung gegenüber Version 2: ' Ausgangspins werden nicht auf niederohmig geschaltet, sondern ' geben ein "High" aus; ' die Spulenumschaltung erfolg mit separaten MosFETs '--------------------------------- $regfile = "Attiny13.dat" $crystal = 75000 ' gefust auf 1,2 MHz, auf 75 kHz wird mit CLKPR umgeschaltet $hwstack = 32 $swstack = 8 $framesize = 16 Dim N As Byte Dim A As Byte Dim B As Byte Portb = &B00000110 ' keine Pullups ausser PinB.1 und PinB.2 Ddrb = &B00011000 ' PB3 und PB4 Ausgang, Rest Eingang Acsr.acd = 1 ' Analog-Komparator ausschalten Clkpr = &B10000000 ' Taktumschaltung vorbereiten Clkpr = &B00000111 ' Umschalten auf 9,6 MHz / 128 Clkpr = &B00000111 Sreg.7 = 1 ' Global Interrupt Enable Pcmsk.0 = 1 ' Pin Change Interrupt PB0 aktivieren Gimsk.5 = 1 ' Pin Change Interrupt Enable '--------------------------------- A = 0 Do If Pinb.0 = 0 Then ' wurde wirklich PinB.0 an low gezogen? Gimsk.5 = 0 ' Pin Change Interrupt Disable Gosub Pulse_len If N < 30 And N > 3 Then ' Wenn Low- Impuls nicht zu kurz und nicht zu lang Incr A ' Pulszaehler inkrementieren End If Gosub Break_len If N > 30 Then ' Zeitfenster für weitere Impulse abgelaufen Select Case A ' Ummappen der Impulszahl auf Bitmuster an PortB Case 1 : B = 1 Case 2 : B = 3 Case Is > 2 : B = 0 ' bei 4 und mehr Impulsen alles auf Null End Select Shift B , Left , 3 ' In den Bereich PortB.3 bis PortB.4 shiften Portb = B And &B00011000 ' die 3 gültigen Bits filtern Gimsk.5 = 1 A = 0 B = 0 Powerdown ' ab hier ist der Takt aus. Aufwecken per Pin Change Interrupt End If End If Loop Pulse_len: ' Misst Dauer Low- Impuls For N = 1 To 50 Incr N If Pinb.0 = 1 Then Exit For End If Waitms 10 Next Return Break_len: For N = 1 To 50 ' Misst Dauer Pause Incr N If Pinb.0 = 0 Then Exit For End If Waitms 10 Next Return Der ATtiny 13 besitzt GPIOs, die als Ein- oder Ausgang fungieren können und im Eingangsbetrieb sehr hochohmig sind. Die Ausgänge sind über komplementäre MOSFets realisiert. Leider kann man mit ihnen die Induktivitäten nicht direkt schalten, da der ON-Widerstand dieser internen MOSFets ca. 50 Ohm beträgt und sie daher die Güte der Induktivitäten zu stark vermindern. Als niederohmige Schalter fungieren auch hier zwei (externe) MOSfets. Der Bauteile-Aufwand hält sich aber dennoch in Grenzen (Abb.2), so dass die gesamte Schaltung auf die Lochrasterfläche der PC-Radioplatine passt. Abb. 2: Schaltplan Preselector-Lösung mit 1 GPO und ATtiny13 Als Schalt-MOSFets kann man BS170 verwenden, elektrisch besser sind BSS138, die es aber (zumindest bei Reichelt) nur im SMD-Gehäuse gibt. Die Verarbeitung ist etwas "tricky"; einerseits sind sie wegen elektrostatischer Aufladung vorsichtig zu behandeln, andererseits sind die Anschlußfähnchen aus dünnem Stahlblech; die leichtgewichtigen Beuteile bleiben an jedem nur ganz schwach magnetisierten Werkzeug kleben und die Anschlüsse federn stark. Wenn man sie mit der Pinzette andrückt und abrutscht, hüpfen sie durch die Gegend (wie die Chips des Flohspiels, das einige Ältere vielleicht noch aus ihrer Kindheit kennen).... ATtiny 13 Firmware und Software zur Ansteuerung unter LinuxATtiny 13 Firmware
Versionen der Linux-Software für das USB PC RadioUnterstützung für beide Preselector-Lösungen befindet sich ab Version 0.1e in der Linux-Software.Derzeit wird dies noch über einen CLI Schalter aktiviert:
Aktueller Downloadder Linux-Software für das USB PC Radio
Bilder von der Preselector-LösungAbb. 3: AK Modul-Bus PC Radio mit Preselector-Lösung Abb. 4: Detailansicht der Preselector-Lösung Links und weiterführende Informationen... kommen ggf. noch ...Text: Ralf Beesner, mit Ergänzungen von Tobias Stöber — Erstellt: 2012/05/09 – Letzte Änderung: 2012/05/09 Bilder: Ralf Beesner (Kürzel RB, Schaltpläne), Tobias Stöber (TS bzw. ohne Kürzel) |