HF GENERATOR MET
DE RASPBERRY PI

2017

CLICK HERE FOR THE ENGLISH VERSION


De Raspberry Pi in gebruik als HF generator.
Het gele antenne draadje is verbonden met de HF uitgang GPIO_4 pin 7.

HF generator met de Raspberry Pi
De Raspberry Pi heeft een ingebouwde klok oscillator die je kunt gebruiken als HF generator!
Jan Panteltje (http://panteltje.com/) heeft daarvoor een programma geschreven dat je in een terminal venster kunt uitvoeren. En zo heb je dan een eenvoudige HF generator gekregen met een frequentie bereik van 240 kHz tot wel 150 MHz. De klok oscillator zelf gaat tot 500 MHz, maar de output poorten van de Raspberry Pi zijn niet geschikt voor die hoge frequenties. Wat de maximale frequentie is, moet je uitproberen. Het uitgangssignaal vind je op GPIO_4 pin 7.
Ook heeft het programma een sweep generator functie die ik wilde gebruiken voor het maken van frequentie karakteristieken van mijn simpele ontvangertjes. En door een kleine aanpassing was het mogelijk om ook AM en FM modulatie toe te passen met een 1 kHz testtoon voor het afregelen van ontvangers.
Om het programma uit te voeren moet je "command lines" in een terminal venster typen:

Example for 1 MHz, with +39.4 parts per million correction :
freq_pi -f 100000000 -y 39.4

Example for a sweep from 1 MHz to 100 MHz step 1 MHz with 100 ms delay between steps:
freq_pi -b 1000000 -e 100000000 -i 1000000 -d 100000

Het typen van "command lines" in een terminal venster is niet zo handig. Maar het was niet zo heel moeilijk om een eenvoudige GUI te maken in Python. Jenny List G7CKF had een soortgelijk programma gemaakt dat ik als voorbeeld kon gebruiken. Je kunt met de muis op knopjes drukken en het programma maakt de juiste "command lines" en verstuurt die naar het leuke programma van Jan Panteltje. Dit programma werd ook nog een beetje aangepast, zodat je een FM of een AM gemoduleerde burst van 20 seconden kunt maken.

Installatie
Maak een nieuwe directory en copieer de files in de volgende ZIP file naar die directory:

Wijzig de permissions van de script file "compile.sh" naar execute "Anyone".
Klik op de script file "compile.sh" en kies "Execute in Terminal".
De file "freq_pi_oh1.c" wordt gecompileerd naar het uitvoerbare programma "freq_pi_oh1". Je ziet deze file verschijnen in de directory.
Voor Python versie 2 open je in het menu: Programming --> Python 2 (IDLE) en open daarmee "Freq_piVFO-v01a_Python2.py"
Voor Python versie 3 open je in het menu: Programming --> Python 3 (IDLE) en open daarmee "Freq_piVFO-v01a_Python3.py"
Kies vervolgens "Run Module".


De Grafische User Interface waarmee het eenvoudiger is om de commando's te geven.

ON & OFF
Schakelt de HF generator aan- en uit.

SetStart & SetStop
Zet de start- en stopfrequentie van de sweep gelijk aan de afstemfrequentie.

TimeStep- & TimeStep+
Zet de tijdstap van de sweep per frequentiestap en bepaalt dus de snelheid van de sweep.

StartSweep
Start de sweep.

Frequency- & Frequency+
Afstemming.

FreqStep- & FreqStep+
Zet de frequentie stap grootte van de afstemming en ook van de sweep.

AM & FM wide & FM narrow
Geeft een gemoduleerde HF burst met een lengte van 20 seconden. Na 20 seconden stopt het signaal en moet je de toets opnieuw indrukken.


Metingen van de audio karakteristieken van ontvangers
Verbind de audio uitgang van de ontvanger met de soundcard van een PC met een audio spectrum analyzer programma.
Bijvoorbeeld: 11sa.htm
Programmeer nu de frequentie sweep als volgt:
Startfrequentie op zero beat met de ontvanger (0 Hz audio toon)
Stopfrequentie: Startfrequentie plus audio bereik dat je wilt meten.
Frequentie stap: 10 Hz
Tijdstap: 100ms
Zet de trace van het audio spectrum programma op Max Hold en start de sweep, de trace zal op het scherm getekend worden zoals hieronder te zien is. Wil je twee metingen met elkaar vergelijken, sla dan de eerste meting op in het trace geheugen. Hieronder zie je de brede bandbreedte groengekleurd. De oranje gekleurde smalle bandbreedte is eerst gemeten en is opgeslagen in het trace geheugen.


Audio karakteristiek regeneratieve ontvanger met buizen

Audio karakteristiek 80 meter CW transceiver
Groen: Wide band CW karakteristiek
Oranje: Narrow band CW karakteristiek


Metingen van de ontvanger voor QRSS signalen (zwakke langzaam geseinde Morse code)
Deze meting is gelijk aan de "Metingen van de audio karakteristieken van ontvangers" zoals hierboven beschreven. Bij het meten van de ongewenste lage zijband wordt de stopfrequentie op zero beat met de ontvanger (0 Hz audio toon) gezet en de startfrequentie gelijk aan de stopfrequentie min het audio bereik dat je wilt meten. De gewenste zijband is de oranje trace, de ongewenste de groene trace. De zijband onderdrukking is het verschil tussen beide traces. De piek van de gewenste oranje zijband en de dip van de ongewenste groene zijband zouden bij de rode pijl moeten liggen. Kan dus wat beter!


Bandbreedte van de QRSS ontvanger

Zijband onderdrukking van de QRSS ontvanger


Afregeling van de AM onderdrukking van een direct conversion ontvanger
Van de 30 meter QRP transceiver moet de 500 ohm instel potentiometer in het ontvangstdeel afgeregeld worden op maximale onderdrukking van de detectie van sterke AM signalen in de naastliggende omroepband. De HF generator wordt AM gemoduleerd en afgestemd op een frequentie midden in deze band. Het niveau wordt zodanig afgeregeld (positionering en aanpassen lengte van de antenne) dat er een duidelijk signaal hoorbaar is. Vervolgens wordt de potentiometer zodanig afgeregeld dat dit signaal minimaal hoorbaar is.


De 500 ohm instel potentiometer van de directe conversie ontvanger moet afgeregeld worden op maximale AM onderdrukking.


Meting van de zijband onderdrukking van de 80 meter CW transceiver
Stem de HF generator af op de gewenste zijband en meet het niveau. Vervolgens stem je de HF generator af op de ongewenste zijband en meet je weer het niveau. Het verschil is de zijband onderdrukking. Het was spannend om die zijband onderdrukking te meten. Want 20 jaar geleden moest de ontvanger vrij nauwkeurig afgeregeld worden voor een zijband onderdrukking beter dan 40 dB. En... Na 20 jaar gebruik was deze nog steeds gelijk, 41 dB!


Hoe is de zijband onderdrukking van de directe conversie ontvanger na 20 jaar gebruik?


SOFTWARE

Benodigde Python versie:

Wijzigen aan het programma freq_pi_oh1.c
Voor de Raspberry Pi versie 2b moest een variabele PLL0_FREQUENCY gewijzigd worden naar 1000000000.0 Hz. Dit kun je doen met de tekstverwerker Geany met basic features van een integrated development environment. Deze variabele was al eens eerder gewijzigd voor andere versies. Mocht je zelf wat willen wijzigen, vergeet dan niet het programma opnieuw te compileren!


Wijzigen aan het programma freq_pi_oh1.c kun je doen met de tekstverwerker Geany
met basic features van een integrated development environment.

De toegevoegde code om een FM of AM burst te genereren
Wanneer voor een frequentie sweep de startfrequentie hoger ligt dan de stopfrequentie, geeft het oorspronkelijke programma een foutcode. Deze foutcode is gewijzigd in een code die een FM burst geeft van 20 seconden. De HF frequentie toggled dan 1000x per seconde tussen beide frequenties. En dezelde code wordt ook gebruikt voor AM modulatie! Hoe? Een van de frequenties is gelijk aan de test frequentie. De andere wordt zo hoog gekozen dat deze boven het maximale bereik van de hardware van de output poorten ligt van de processor en ook ver buiten het bereik van de ontvanger. Simpel en het werkt prima!


De toegevoegde code voor het genereren van een FM of AM burst.


TERUG NAAR DE INDEX PA2OHH