Donnerstag, 23. März 2017

Bau eines einfachen SWR-Analyzers

Angeregt durch diverse Beiträge im Internet habe ich beschlossen mir auch einen einfachen Antennen-Analyzer auf Basis eines Arduino zu bauen.

Mein Gerät soll auch ohne PC genutzt werden können. Das Konzept von DG7EAO hat mir recht gut gefallen und deswegen werde ich einen ähnlichen Analyzer bauen.

Abweichend von seiner Konfiguration werde ich einen Arduino Mega 2560 mit einem 3,2" TFT (HX8357) verwenden. Dadurch können etwas mehr Inhalte auf dem Bildschirm untergebracht werden. Das Display wird direkt auf den Mega gesteckt.






Display / Anzeige


Für die Darstellung der Daten möchte ich ein Koordinatensystem verwenden, das seinen Ursprung links unten hat. Das TFT-Display wird über eine Bibliothek anprogrammiert und hat seinen Ursprung links oben. Dies muss bei der Programmierung berücksichtigt werden.

Um die Fläche gut aus zu nutzen soll die Y-Achse eine logarithmische Teilung haben. Kleinere SWR-Werte lassen sich so besser ablesen.





Mit Hilfe einer Excel-Tabelle habe ich mir für SWR-Werte die dazugehörigen Y-Koordinaten ausrechnen lassen.

Mit einem Bildbearbeitungsprogramm habe ich zwei Darstellungen entworfen, wie ich sie auf dem Arduino umsetzen möchte.

Eine Darstellung umfasst den Frequenzbereich von 1 bis 30 MHz.





Die andere stellt einen Ausschnitt von 1 MHz aus dem Bereich von 1 bis 30 Mhz dar.


In einem etwas helleren Grauton werden die Amateurfunkbänder farblich hervorgehoben.

Aus einem anderen Projekt habe ich den Mega mit dem TFT-Display ausgebaut und habe angefangen obige Entwürfe in Code umzusetzen.

Für die Entwicklung wird die Arduino-Entwicklungsumgebung verwendet. Das Display lässt sich mit Hilfe der UTFT-Bibliothek anprogrammieren.

Der erste Wurf sieht schon recht vielversprechend aus.




Aufbau

Die Baugruppen und -teile sollen in ein schwarzes ABS-Gehäuse - 197,4 x 113 x 63 eingebaut werden. Das Gehäuse ist großzügig bemessen und es soll ausreichend Platz vorhanden sein um alle Teile ohne Klimmzüge verbauen zu können. Als Signal Generator soll das Adafruit Si5351A verwendet werden. Zurzeit hat das Si5351A bei meinem bevorzugten Händler etwas längere Lieferzeiten, sodass ich erstmal "trocken" programmieren muss. 

Die notwendigen Teile sind unterdessen bestellt, sodass es nur noch eine Frage der Zeit ist bis ich weiter bauen kann. In jedem Fall lässt sich die Zeit bis dahin sinnvoll nutzen.


Stückliste

Ich habe mal zusammen gestellt was ich so alles für den Bau benötige und komme in Summe auf etwas über 50 Euro, wobei ich ein paar Dinge aus meinem Bestand beziehe. Auch ist der Posten Diverses nicht enthalten, der erfahrungsgemäß immer anfällt.





Programmierung

Ich habe mir auch schon ein paar Gedanken gemacht, wie ich mir den Programmablauf vorstelle. Beim Start soll die letzte Analyse aus dem EEPROM geladen und angezeigt werden. Dabei werden die Daten nochmal an die serielle Schnittstelle übertragen. So kann eine durchgeführte Messung auch nachträglich auf einen PC übertragen werden.




In der Programmschleife des Arduino (loop) wird überprüft ob das Poti gedreht wurde und ggf. der Wert angezeigt. Zusätzlich wird überprüft ob der Start-Taster gedrückt wurde. In dem Fall wird eine Messung durchgeführt und die Werte werden angezeigt, gespeichert und an die serielle Schnittstelle übertragen.




Unterdessen ist auch das Adafruit Si5351A angekommen. 




Wenn jetzt noch die restlichen anderen Teile kommen, kann es mit dem Bau weiter gehen.

Die Teile sind unterdessen alle angekommen jedoch werde ich sie erst zu einem späteren Zeitpunkt geschenkt bekommen. 


Auch die Programmierung ist soweit abgeschlossen, sodass  es jetzt tatsächlich nur an den Teilen hängt. Der Code ist noch nicht vollständig getestet aber das geht auch erst, wenn alles soweit zusammen gebaut ist.


Schaltplan

Den Schaltplan habe ich auch schon skizziert, sodass dem Zusammenbau auch nichts mehr im Wege steht.






Um die Genauigkeit der SWR-Messungen zu erhöhen, wird der AREF-PIN des Arduino Mega mit 3,3V verbunden. Dies ist die maximale Spannung, die vom Si5351A kommen kann. Bei einem 3,3V-Arduino Board ist dies nicht notwendig.
Im Code muss dafür vor dem ersten analogRead() mit analogReference(EXTERNAL) die Referenzspannung auf den externen Wert gesetzt werden.




Zusammenbau Plan

Vor dem Zusammenbau habe ich zuerst einmal skizziert wie ich mir den Aufbau vorstelle. Hierfür habe ich das Gehäuse und den Arduino nebst TFT-Display vermessen.

Die einzelnen Baugruppen habe ich dann in Powerpoint gezeichnet und dann so angeordnet wie ich es für sinnvoll halte. So ist die Anordnung der Baugruppen im Gehäuse.




Wie man unschwer erkennen kann, habe ich sehr viel Platz in dem Gehäuse. In der Skizze fehlt noch ein Akku, aber den unter zu bringen sollte nicht so schwer sein.

Mit der Anordnung der Baugruppen habe ich dann ein Chassis / einen Einbaurahmen skizziert und habe eine Korrektur der Einbaulage von den Baugruppen vorgenommen. 





Ich habe unterschiedliche Kieferleisten verwendet, weil ich sie in zwei Größen hier liegen habe. Man kann selbstverständlich auch nur eine Sorte verwenden. Die 3 x 8 mm Leisten sind vollkommen ausreichend.

Zusätzlich habe ich noch das Bedien- / Frontpanel skizziert. Die Bedienelemente werden unterhalb des Frontpanels auf einem separaten Träger befestigt und das Frontpanel wird nur darüber gestülpt. Beide Teile sollen aus Hobbyglas 2mm (gibt es im Baumarkt) hergestellt werden. Die Bereiche, die man von außen nicht sehen soll, werden mit Folie abgedeckt.





Der Bau eines Chassis hat enorme Vorteile bei der Wartung / Reparatur bzw. Umbau oder Erweiterung des Analyzers. Bei einem eventuellen Umbau kann der Analyzer als ganze Einheit mit dem Chassis aus dem Gehäuse gehoben werden und hinter wieder im Gehäuse platziert werden. 

Jetzt geht es an den Bau des Chassis.


Zusammenbau Praxis

Zuerst habe ich die benötigten Leisten nach meinen Skizzen zurecht geschnitten und danach zusammen geklebt. Hier für habe ich Sekundenkleber verwendet. Beim Einsetzen des Chassis im Gehäuse ist mir aufgefallen, dass das Gehäuse zum Boden hin enger wird. Deswegen musste ich das Chassis wieder auseinander nehmen und neu zusammenkleben. Dabei habe ich es schief gebaut. Dies ist aber nicht weiter tragisch, weil ich das beim weiteren Bau berücksichtigen kann.




Den Arduino Mega habe ich dann mit dem TFT zusammen in das Chassis eingesetzt. Das sieht so aus, wie ich es mir vorgestellt habe.





Auf dem Bedienpanel habe ich ich die einzelnen Bedienelemente platziert. Es ist ein Taster für das Senden der SWR-Daten an die serielle Schnittstelle hinzugekommen. Im Code habe ich den neuen Taster auch schon berücksichtigt. 




Die Bedienelemente sind soweit verkabelt und es sind bereits Flachbandkabel zum Anschluss des Si5351A sowie der SWR-Schaltung verlegt. Das Frontpanel ist auch hergestellt und ich habe das Chassis mal provisorisch in das Gehäuse eingesetzt.





Das Frontpanel wurde mit Folie bespannt. Hierfür habe ich ein rechteckiges Stück Folie mit ca. 1 cm Übermaß ausgeschnitten, auf der Rückseite der Folie den Ausschnitt für das TFT-Display gezeichnet und habe diesen ausgeschnitten. Danach habe ich die Glasscheibe gereinigt und die Folie aufgeklebt. Mit einem Rakel habe ich die Folie angedrückt. 

Danach habe ich die Folie an den Kanten und Bohrungen umgelegt.





Irgendwie hat sich doch dabei etwa Dreck zwischen die Folie und die Glasscheibe verirrt.





Auch sind im Gehäuse bereits Aussparungen für den USB-Anschluss des Arduino Mega und für die PL-Einbaubuchse vorhanden. 


Die SWR-Schaltung ist jetzt auch soweit aufgebaut. Für den Antennenausgang habe ich eine Steckverbindung mit RG 174 zur PL-Buchse vorgesehen. Die anderen Verbindungen (FWD, REF) werden an Stiften gelötet. 






Was jetzt noch fehlt ist die Verkabelung mit dem Arduino und der Test mit ggf. Korrekturen.

Die SWR-Schaltung ist mit dem Arduino verbunden worden. Danach erfolgten erste Tests und Korrekturen im Programm. Nach dem Drücken auf den Start-Knopf erfolgt die Aufnahme der SWR-Messreihe. Mit dem Frequenzzähler konnte ich die Frequenzveränderung der PLL messen. Leider funktioniert die Messung der Vorwärts- und Rückwärtsspannung nicht korrekt.




Dadurch kommen dann natürlich bei der Messung auch keine brauchbaren SWR-Werte bei raus.
Die Schaltung habe ich schon mehrfach optisch kontrolliert,  habe verschiedene Verbindungen nachgemessen und konnte bis jetzt keinen Fehler finden.
Ich habe die Bedienung jetzt schon soweit angepasst, dass beim Drehen des Potis sich die Frequenz ändert und der SWR-Wert ermittelt und angezeigt wird. Auch dies führte bis jetzt nicht zum Erfolg. Ich denke ich werde da nochmal eine Nacht darüber schlafen.

Nach ein paar Nächten des Darüberschlafens ging es weiter. Ich habe die Schaltung zum Messen des SWR leicht verändert und komplett neu aufgebaut. 



Ich denke der erste Aufbau war nicht sehr HF-freundlich.




Den Code zum Einstellen der Frequenz habe ich auch ausgetauscht und die angezeigte Frequenz weicht nur 2 kHz von der gemessenen Frequenz ab, wobei der Frequenzzähler sehr alt ist und auch bei anderen Geräten genau diese Abweichung hat.




Nun erscheint auch beim Durchmessen einer Antenne eine SWR-Kurve. Dieser Kurve schenke ich noch nicht mein 100%iges Vertrauen, weil die Resonanzfrequenz der Antenne nach der Anzeige weit daneben liegt. Wenn ich die Resonanzfrequenz der Antenne (magnetische Loop-Antenne) verändere, so ändert sich die Messkurve nicht.



Irgendwo habe ich immer noch ein Problem mit dem Analyzer. Das schreit mal wieder nach einer kreativen Pause. Ich werde noch ein paar Tests mit anderen Antennen durchführen.

Zur Verbesserung des HF-Verhaltens habe ich die SWR-Schaltung und den Si5351-Baustein in ein geschirmtes Gehäuse gebaut.





Für den Balkon habe ich mir eine kleine Vertikalantenne für 80m gebaut und habe diese mal mit dem Gerät gemessen. Bei verkürzten Strahlern scheint der Analyzer ganz gut zu funktionieren. Eine Kontrolle am Funkgerät hat die gemessenen Daten für 80m im Wesentlichen bestätigt. 




Lediglich die SWR-Werte im Optimum sind etwas zu optimistisch. Hier werde ich die Messwerte und den Code nochmal überprüfen. Auch stimmen die Anzeige der Minmal- und Maximalwerte noch nicht.

Bei der zukünftigen Verwendung des Gerätes werde ich versuchen es weiter zu optimieren.





Gruß,

Klaus


2 Kommentare:

  1. Hallo lieber OM Klaus.
    Ist ein sehr schönes Projekt den ich gerne nachbauen mochte, ist es möglich den Code für den Arduino von ihnen zu bekommen?

    Gruß
    Frederico CT7ABA

    AntwortenLöschen
  2. hallo klaus dem schliesse ich mich an wenn man den code bekommen könnte um den analyser nachzubauen wäre eine schöne sache
    do1nmn@outlook.de

    73 de do1nmn Marko

    AntwortenLöschen