| to-st.de | |||||||||
| Home | Impressum | Datenschutz | Kolophon | Kontakt | |||||||||
![]() Eyecatcher Image: /img/eyecatcher/si4735lin/teaser_780x175_si4735lin_SI4735_PC_Radio-Case-03.jpg
|
|||||||||
|
|||||||||
![]() ![]() 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ösung
Abb. 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) |