G8JCFSDR am SDR Shield
Vor 13 Jahren hat Peter Carnegie sein SDR-Programm entwickelt und
dann immer wieder an neue Hardware angepasst. Und jetzt ist auch das
Elektor SDR-Shield dabei. Dabei hat es sich als Vorteil erweisen, dass
alles über den Arduino gesteuert wird. Peter konnte damit nämlich
einige Schwächen ausbügeln, die in der ursprünglichen Firmware
steckten. So ist nun eine Hz-genaue Abstimmung möglich geworden. Und
auch eine individuelle Kalibrierung des VFO ist jetzt ein
Kinderspiel.
Beim
ersten Einschalten ist der SDR noch "Off". Zuerst muss man die
gewünschte Hardware auswählen. Außerdem muss man unter Serial I/F die
verwendete Schnittstelle (z.B. CMO2) einstellen. Beim ersten
Einschalten stellt das Programm dann fest, ob schon die erforderliche
Firmware vorhanden ist. Wenn nicht, öffnet sich ein Fenster mit einem
automatischen Upload. Das ist eine große Hilfe für Leute, die sonst
nicht viel mit Arduino zu tun haben. Keine Probleme mehr mit
Kompilieren, Software-Versionen und derlei Schwierigkeiten.
Wie
bereits im Zusammenhang mit WSPR aufgefallen ist, reicht die
Grundgenauigkeit des VFO nicht für alle Fälle aus, weil der
25-MHz-Oszilaltor Abweichungen von einigen kHz haben kann. Bisher habe
ich mir mit einer individuellen Kalibrierung über eine Konstante in der
Firmware beholfen. Hier gibt es aber eine vereinfachte Kalibrierung.
Einfügen Fenster Upload
Man stellt eine Station mit bekannter Frequenz ein, klickt dann
Calibrate und erhält ein weiteres Menü. Dann stellt man den Sender
möglichst genau ein klickt auf Apply. Damit ist der VFO kalibriert. Je
nach Vorgeschichte des verwendeten Arduino kann beim ersten Start eine
völlig falsche Kalibrierung vorliegen. Dann reicht ein Klick auf RESET,
um erst einmal in die Grundeinstellung zu kommen, in der man einen
Fehler von wenigen kHz erwarten kann. Für eine optimale Kalibrierung
sollte man übrigens in Stellung USB auf Schwebungsnull eines Trägers
einstellen, wobei die Oszilloskop-Darstellung des NF-Ausgangs helfen
kann (AF OUT, Scope>Time).
Externe Abstimmung
Damit
man mit der gleichen Firmware auch andere SDR-Programme nutzen kann,
habe ich mein Abstimmprogramm angepasst. Es sendet nun die Frequenz in
Hz im Format "f 7000000" mit 115200 Baud. Der obere Schieber hat jetzt
eine Auflösung von durchgehend 1 kHz. Mit dem ZF-Schieber kann man eine
Feinabstimmung in Hz durchführen. Man sieht nun direkt die VFO-Frequenz
und zusätzlich die Empfangsfrequenz, bezogen auf eine ZF von 12 kHz.
Der Empfangsbereich konnte nun bis herunter auf 50 kHz vergrößert
werden.
16.10.19: Problemlösungen für Win10
Kürzlich habe ich einen neuen PC mit Win10 bekommen. Als ich nun
G8JCFSDR installieren wollte, gab es zwei kleine Probleme. Zuerst
konnte ich das Config-Menü nicht erreichen. Aber nach dem Lesen der
Bedienungsanleitung war klar: Im Feld Display (links oben neben Power)
muss ich auf Full umschalten, dann habe ich die volle Anzeige. Die
Seite von Peter Carnegie ist inzwischen umgezogen auf http://www.g8jcf.uk/. Auf der Download-Seite stehen auch die Instructions for Use
Beim ersten Start erkennt die Software wie geplant, dass noch nicht die
passende Firmware im Controller arbeitet. Es öffnet sich ein Fenster, wo
ich auf Upload klicke. Aber dann passiert nichts, und nach einiger Zeit
erscheint eine Fehlermeldung. Peter schrieb mir dazu: The downloading
problem is caused (I think) because I did not include libusb0.dll in
the installer, so Averdude can't work UNLESS the user has also
installed the ARDUINO IDE and started it up at least once.
Ich hatte zwar die neueste Arduino-IDE schon installiert und auch
verwendet und habe es noch einmal mit einer älteren Version der IDE
versucht. Aber das brachte keinen Erfolg. Möglicherweise packt Win10
die DLL an einen ungewohnten Ort. Aber Peter hat noch eine zweite
Lösung:
For all the people who have contacted me about this problem, the simplest fix for them has been as follows.
Download XLoader from
http://www.hobbytronics.co.uk/arduino-xloader or
https://github.com/xinabox/xLoader the Hobbytronics link is cleaner
Using Xloader, find the .hex firmware file, usually at
"C:\Program Files (x86)\G8JCF\G8JCFSDR\ArduinoCode\si5351vfoGM8JCF.hex"
and upload it to the Arduino connected to the Elektor SDR shield.
Das hat funktioniert! Ich habe mir XLOAD besorgt, den Uno als
Zielsystem gewählt, das Hexfile geladen und den Upload gestartet. Der
Code wurde erfolgreich geladen. Beim nächsten Start von G8JCFSDR
funktionierte das SDR-Shield völlig problemlos.
G8JCFSDR(Build 280) Full Install
In der neuesten Version ist das Upload-Problem gelöst! http://www.g8jcf.uk/g8jcfsdr_drt1/g8jcfsdr_download.htm
Ich hatte zuletzt andere Firmware im Arduino. Mit dem ersten Start der
Software erschien das Upload-Window. Mit einem Click auf Upload wurde
das Programm (Arduino Driver SW) übertragen. Nach dieser Vorbereitung
funktionierte das SDR-Shield perfekt.