Sonntag, 19. August 2018

Helically Wound Magnetic Loop Antenna

(Spiralförmig gewickelte magnetische Loop Antenne) 

Um zumindest etwas auf Kurzwelle aktiv sein zu können, habe ich beschlossen eine magnetische Loop für 10m und eventuell 15m zu bauen, die dann zeitweise auf dem Balkon aufgebaut werden kann.

Die "normale" 80cm Loop ist mir etwas zu groß. Deswegen habe ich beschlossen sie kleiner zu bauen. Weil der Wirkungsgrad von der "helically wound loop" besser sein soll, habe ich diese Ausführungsvariante gewählt.


Planung

Also habe ich mich etwas schlau gemacht und mal geschaut wie andere OMs diese Antenne umgesetzt haben. Dokumentationen gibt es hauptsächlich von den amerikanischen OMs. Diese haben die Antenne häufig aus PVC-Rohren in Achteckiger Form gebaut.

Bei uns im Baumarkt konnte ich die verwendeten Rohre nicht finden. Deswegen habe ich beschlossen sie aus Rohrisolierung oder "Schwimmnudeln" zu bauen.

Dann habe ich eine kleine Stückliste für die eigentliche Antenne zusammengestellt.




Zusätzlich habe eine Stückliste für die Fernabstimmung der Antenne aufgestellt. Die Fernabstimmung erfolgt mit einem Arduino und einem Servo.



Aus anderen Projekten hatte ich schon einige Teile im Bestand.


Antennenbau

Die Antenne habe ich aus zwei 1m Rohrisolierungen und zwei 10cm HT-Rohr-Stücken zusammen gesetzt.




Für die PL-Buchse habe ich ein Loch in das HT-Rohr gebohrt. Danach habe ich den Antennenkörper mit der Kupferfolie bewickelt und die PL-Buchse angelötet.





Die gewickelte Antenne habe ich auf einem Holzstab montiert und den Drehkondensator an die Kupferbandenden angelötet.




Den 130pF Drehkondensator hatte ich zuvor auf ca. 30pF umgebaut. Hier gibt es dazu eine kleine Anleitung.
Meiner sah danach so aus.




Die Einspeisung erfolgt mit einem Gamma-Match. Diesen habe ich mit 2,5 mm2 Kupferdraht gebaut, aber zuvor die richtige Länge mit einem Krokidilklemmenkabel ermittelt.

Hiermit ist der Bau der eigentlichen Antenne abgeschlossen.



Bau der Fernabstimmung

Für eine komfortable Abstimmung der Antenne erfolgte der Einbau eines Standardservos mit einer Gelenkwelle.



Der Anschluss des Servos erfolgt mit einem CAT6-Kabel (Ethernet).
Zur Abstimmung wird ein Arduino mit ein paar Zeilen Programmcode verwendet. 




Die notwendigen Komponenten wurden in ein Gehäuse eingebaut.



Mit der Abstimmung der Antenne auf zwei Frequenzen und Übertragung der Einstellwerte in den Programmcode konnte die Anzeige grob kalibriert werden.




Test der Antennenabstimmung.




Damit ist der Bau der Antennenabstimmung abgeschlossen.



Antennenverkleidung

Es erfolgte die Verkleidung der Antenne mit einer "Untertapete" / XPS-Platten. Das Material lässt sich sehr gut mit einem Cutter bearbeiten. Klebungen erfolgen mit UHU-Por. Alternativ geht auch wasserfester Holzleim, Pattex 100% oder ähnliche.
UHU-Por ist ein Kontaktkleber und haftet nach 10 minütiger Ablüftzeit sofort.




Ein paar Versteifungen in der Mitte können nicht schaden.
So sieht die Antenne fertig verkleidet aus.



Die Antenne wurde als Smiley dekoriert. Somit ist sie ein Dekorationsgegenstand für meinen Balkon. Als anständige Antenne bekommt sie auch einen Namen: "Big Grin Loop".




Alternativ kann man die Antenne auch mit GFK-Matten laminieren, wie die Modellbauer es gelegentlich mit ihren Modellen machen.

Der Holzmast wurde so modifiziert, dass er in ein HT-Rohr DN50 gesteckt werden kann.




Das dazugehörige HT-Leerrohr wurde am Balkongeländer mit Kabelbindern befestigt.





Antennentest

Die Antenne ist so von 15m bis 10m zu verwenden. Das SWR lag bei ca. 1,1 und die Antenne wurde nach bestem Empfang abgestimmt. Nach der Abstimmung muss der Arduino abgeschaltet werden, weil der Arduino auf Kurzwelle stört und weil beim Senden der Arduino zumindest auf 10m ausfällt. Auf 15m spielt er weiter.
Klappferrite habe ich bereits eingebaut, aber vielleicht muss ich den Arduino auch in ein Blechgehäuse einbauen.

Alternativ zum Arduino werde ich in Zukunft einen Servotester ausprobieren. Es entfällt dann die Frequenzanzeige (geschätzt), aber das kann man auch verkraften.

Subjektiv spielt die Antenne sehr gut. Eine Ortrunde auf 10m war sehr gut mit zu verfolgen.
Signal aus EA waren heute mit S7 zu hören.




Ein weiterer Vorteil dieser Ausführung ist, dass die Antenne breitbandiger ist als bei herkömmlicher Bauweise. 
Bei einem maximalen SWR von 2 hat die Antenne auf 10m eine Bandbreite von 400kHz!


vorläufiges Fazit
  • Das CAT6-Kabel aus dem Baumarkt ist zu steif. Hier ist das aus dem Computerfachhandel zu bevorzugen.
  • Damit die Antenne auch auf 20m spielt, sollte man mit dem Kondensator auf 50pF gehen.
  • Für die Abstimmung muss noch eine Einstrahlungssichere Alternative gefunden werden (Servotester?).




Links
k8nds
eham.net
Drehkondensatoren
Drehkondensatoren






Samstag, 2. Juni 2018

Drahtloses Mikrofon aus 2 Funkgeräten (Crossband-Repeater)

Aus zwei günstigen 70cm Handfunkgeräten möchte ich ein drahtloses Mikrofon bauen, damit ich dieses in Verbindung mit einem Mobil-Funkgerät als Crossband-Repeater nutzen kann. So kann ich aus meinem Hobbyraum heraus funken, obwohl sich die Antenne und das Funkgerät auf der anderen Seite der Wohnung befinden.
Ich habe mich für Baofeng BF-888S Clones entschieden, weil diese sehr günstig im Paar zu bekommen sind. Leider habe ich für die Geräte keinen Schaltplan gefunden, sodass ich es ohne Schaltplan versuchen werde.





Damit der Akku lange hält und ich mit dem drahtlosen Mikrofon nicht kilometerweit zu hören bin, habe ich beschlossen den Endstufentransistor / FET aus den Handfunkgeräten rauszuwerfen.

Der fehlende FET wird dann überbrückt.





Durch den Entfall der Endstufe kann auch der große Kühlkörper entfernt werden.



Was übrig bleibt, bekommt ein neues Zuhause.




Der Lautsprecheranschluss des BF-888 wird mit dem Mikrofoneingang des Transceiver verbunden, der Mikrofonanschluss des BF-888 wird mit dem Lautsprecherausgang des Transceivers verbunden. Die Verbindung erfolgt jeweils mit einem Trimmer und einem Elko.





Die PTT des Transceivers wird mit einem Relais, welches von der Ansteuerung der Empfangs-LED ausgelöst wird, "gedrückt". Da der Transistor mit GND durchgesteuert wird, war noch ein Inverter bei der Relaisansteuerung notwendig. Das Anlöten des 0,2 mm Kupferlackdrahtes war eine kleine Herausforderung.
Weil ich verschiedene Versuche mit der Ansteuerung des Relais gemacht habe, ist die Region um die LED herum etwas verbraten aber noch funktional.





Der BF-888 sendet VOX-gesteuert, wenn der Transceiver ein Signal empfängt.

Fertig aufgebaut sieht das Ganze dann so aus.




Die Antenne des BF-888 habe ich auf BNC umgebaut.



Damit der BF-888 auch mit anderen Geräten kommunizieren kann, fehlte noch der dazu passende Adapter. Bei mir ist das Partnergerät ein Icom IC-2000H.



Es erfolgen Einstellmaßnahmen an den Spindeltrimmern um die Modulation zu optimieren. Nach diversen Korrekturen an der Schaltung und an der Verdrahtung waren erste Tests vielversprechend. Jetzt kommt das Feintuning inklusive von Reichweitentests.




Das Einstellen gestaltet sich schwieriger als gedacht. Ich werde wohl noch ein paar Versuche benötigen bis das Teil halbwegs zufriedenstellend läuft.


Gruß, Klaus















Donnerstag, 15. März 2018

Arduino - variable PWM-Frequenz

Für meine Minieisenbahn (Diorama) habe ich mal einen Fahrregler mit einem Arduino gebaut, der mit einer variablen Gleichspannung und einem PWM-Signal mit variabler Impulsweite funktioniert.




Der Fahrregler funktioniert sehr gut.

Nun gab es den Vorschlag die Frequenz des PWM-Signal bei höheren Geschwindigkeiten zu erhöhen.

Um eine variable Frequenz des PWM-Signal zu testen, habe ich einen "frischen" Arduino Nano genommen und habe in Ermangelung eines Oszilloskops eine LED zur Visualsierung der variablen Frequenz genommen. Weil das menschliche Auge höhere Frequenzen nicht mehr als flackerndes Licht wahrnimmt, habe ich den Test für Frequenzen von ca. 30 bis 50 Hz durchgeführt. Der Fahrregler würde später von 30 bis 120 Hz betrieben werden.



Mann kann erkennen, dass das Licht zunehmend schneller flackert und dann dauernd leuchtet.

Die Grundlagen für den Code habe ich im www gefunden und auf meine Bedürfnisse angepasst.
Zu beachten ist, dass die verschiedenen PWM-Ports teilweise an unterschiedlichen Timern hängen und dass die Frequenzen unterschiedlich sind.
Der Code sollte ohne Änderungen auch auf einem UNO laufen.

Um einen größeren Frequenzbereich abzudecken muss man noch den Prescaler mit berücksichtigen und passend zur Frequenz setzen.




//----------------------------------------------------------------------
void setup()
{
  //untere (255 = ~30Hz) und untere (150 = ~50Hz) Frequenz
  f1 = 255;
  f2 = 150;
  
  //aufsteigend / vorwärts
  fwd = false;

  // ein paar Variablen für die Test-Zeitschleife
  time1 = millis();
  time2 = time1;
  

  //Initialize Timer2
  TCCR2A = 0;
  TCCR2B = 0;
  TCNT2 = 0;

  // Verwendung PIN 3 als Output
  // PIN3 und PIN11 gehen runter bis 30 Hz
  pinMode(3, OUTPUT);

  //setzen Register Timer2 (PIN3 wird von Timer2 bedient)
  bitSet(TCCR2A, COM2B1);
  
  // Setzen "Phase correct PWM"
  bitSet(TCCR2A, WGM20);
  bitSet(TCCR2B, WGM22);

  // Prescale auf max. Wert 1024 setzen um niedrige Frequenzen zu bekommen
  bitSet(TCCR2B, CS20);
  bitSet(TCCR2B, CS21);
  bitSet(TCCR2B, CS22);

  // Timer zählt hoch und runter (bei TOP 255 sind 510 Zyklen)
  // Zähler x Prescale x 0.0000625ms
  // (0.0000625 ms ist ein Zyklus bei 16MHz)
  // 510 x 1024 x 0.0000625 = 32.64ms      30.6 Hz   --> MIN
  //  2 x 1024 x 0.0000625 = 0.128 ms   7812.5 Hz   --> MAX
  // bei einem Prescale von 1024 sind PWM-Frequenzen 
  // von ca. 30 bis 7812 Hz möglich
  // und das ist so weit weg von stufenlos, 
  // aber ab ca. 122Hz kann man auf den 256er Prescale wechseln
  // somit ist der optimale Bereich bei einem Prescale 
  // von 1024 von ca. 30 bis 122Hz
  // dies entspricht TOP 255 - 64
  OCR2A = 255;

  //6% "duty cycle"  (zulässige Werte 1-155)
  OCR2B = 10;   

}//----------------------------------------------------------------------
void loop() {
    // Zeit seit Start Arduino abfragen
    time2 = millis();

    //Wenn mehr als 1 Sek. seit letzter Setzung der Frequenz vergangen
    if ((time2 - time1)>1000)
    {
      // neue Zeit merken
      time1 = time2;
      
      //wenn vorwärts / aufsteigend
      if (fwd==false){
        
        //Frequenzwert verkleinern (= Frequenz erhöhen)
        frq = frq - 10;

        //wenn aktuelle Frequenz kleiner gleich Minimalwert
        if (frq <= f2){
          //Richtung umkehren
          fwd = true;

          //Frequenz auf Minimum setzen
          frq = f2;
        }
      }else{
        //Frequenzwert erhöhen (= Frequenz verringern)
        frq = frq + 10;

        //wenn Frequenzwert größer gleich Maximum
        if (frq >= f1){
          //Richtung umkehren
          fwd = false;

          //Frequenz auf Maximum setzen
          frq = f1;
        }
      }
      
      //Frequenzwert dem Timer zuweisen
      OCR2A = frq;
    }
  }
//-----------------------------------------------------------------------

Freitag, 23. Februar 2018

Erstellung einer App zur Ermittlung der Kabeldämpfung von Koaxkabeln

Vorwort

Zur Ermittlung der Kabeldämpfungen von Koaxkabeln stehen von Herstellern, Händlern und Anderen Tabellen bzw. Diagramme zur Verfügung.

In den Tabellen sind zu den Kabeln Dämpfungen je 100 Meter abhängig von der Frequenz eingetragen. Die Wertetabellen sind hinsichtlich der enthaltenen Frequenzen und den dazugehörigen Dämpfungen sehr unterschiedlich. Ist eine Frequenz in einer Tabelle nicht enthalten, so muss man schätzen. Wenn man eine andere Länge als 100m benötigt, muss man interpolieren.

In den Diagrammen ist für jedes Kabel eine Kurve Dämpfung über Frequenz vorhanden. Den Dämpfungswert für 100 Meter Kabel muss man hier grafisch ermitteln und den ermittelten Wert auf die benötigte Kabellänge umrechnen.

Entwicklung

Diese Vorgehensweise ist nicht sehr komfortabel und soll durch eine Smartphone-App für Android unterstützt werden.
Für Android habe ich mich entschieden, weil Android Marktführer ist.

Die Entwicklung der App hat für mich auch das Ziel mich mit der Technologie vertraut zu machen.

Die Kabeldaten werden in der App als Funktion hinterlegt. Mit den Parametern Kabeltyp, Frequenz, Kabellänge und Eingangsleistung werden Dämpfung, Verlust in Prozent und Ausgangsleistung berechnet.




Zielgruppe für die Anwendung sind Funkamateure und CB-Funker. Die enthaltenen Kabel werden auf diese Zielgruppe abgestimmt. 
Der Name lautet erst mal "HAM COAX".


Bereitstellung und Installation

Ein erster Wurf ist fertig und ich werde noch versuchen das Design auf "Light" (dunkle Schrift auf hellem Grund) umzustellen.

Zurzeit verteile ich die App noch über Email. Falls genügend Interesse vorhanden ist, werde ich über eine Veröffentlichung im Play-Store nachdenken.

Zur Installation aus einer Mail muss man (temporär) unter Einstellungen, Sicherheit die Installation aus unbekannten Quellen zulassen. 



Hat man das Android Package (apk) als Anhang in einer Mail bekommen, so muss man lediglich einen Doppeltipp (heisst das so?) auf den Anhang machen und dann wird man gefragt ob die Anwendung installiert werden soll. Dies sollte man nur tun, wenn man dem Absender vertraut.



Die App erfordert keine besonderen Rechte.


Beschreibung

Beim ersten Start der Anwendung wird das Kabel RG 58 CU ausgewählt und einige Standard-Parameter eingetragen. Aus der Liste der 23 Kabel kann man nun ein anderes Kabel wählen und die Parameter Frequenz, Länge und Eingangsleistung anpassen. Die Berechnung der Ergebnisse - Dämpfung, Verlust in % und Ausgangsleistung - erfolgt ad-hoc. 




Beim Wechsel des Kabeltyps werden die Ergebnisse neu berechnet und man kann sofort die Auswirkung erkennen.



Das Programm merkt sich die letzten Einstellungen und stellt sie beim Neustart wieder her.


Universal Windows App

Unterdessen habe ich auch eine Version für mein Windows Phone erstellt. Weil für mich die Entwicklung von Windows-Anwendungen einfacher ist, ist sie auch gleich etwas hübscher geworden.


Auch diese Version ist nicht im Windows Store und wird im Entwicklermodus installiert.

.