În activitatea de radioamator, măsurarea SWR-ului antenei utilizate respectiv a puterii de RF trimisă în antenă este imperios necesară. Sunt numeroase modele comerciale de aparate care pot face acest lucru. Mulți dintre noi am construit la începutul activități de radioamator astfel de aparate. Este adevarat mai simple și care indicau parametrii măsurați cu instrumente simple magnetoelectrice (cu ac).
O dată cu modernizarea aparatelor de emisie-recepție acestea au fost înzestrate cu posibilitatea măsurării numerice a parametrilor SWR , Power și afișarea lor pe ecranul aparatului.
Pentru cei pasionați de realizări practice le propun realizarea in regim de home-made a unui aparat pentru măsurarea raportului de unde staționare / puterii de RF cu afișare numerică. Aparatul are două module : 1. Cuplorul de măsură ; 2. Analizorul numeric cu afișaj.
1. Cuplorul de măsură
Cuplorul de măsură se bazează pe o punte RF foarte cunoscută, denumită Stockton Bridge. Am descoperit acest tip de cuplor la realizarea transceiverului Tulip. Analizând atent am realizat că tensiunile livrate de acest cuplor pot fi prelucrate numeric si afișate corespunzător cerinței. Acest lucru este făcut și de R6DAN în programul său din controlerul pentru Tulip. Eu am ales un microcontoler mai simplu ATmega328P prezent pe placa de dezvoltare Arduino uno. Dar despre asta vom vorbi în modulul 2.
Cine este interesat poate analiza teoria din cele doua fotografii de mai jos a unor ciorne de mână:
Realizarea practică s-a făcut pe un cablaj simplu placat dupa schema din transceiverul Tulip.
Transformatorul de cuplaj este realizat pe o ferită Amidon BN 43-302, fiecare bobina are 10 spire CuEm 0,3 iar firele centrale CuEm 1mm. Fotografiile de mai jos sper sa fie lămuritoare.
Am înlocuit cei doi potentiometri cu un divizor ½ format din două rezistoare 10k / 5k deoarece la puterea de 1200W tensiunea Fwd depășea 5 volți. Restul calibrarilor le-am realizat din soft.
2. Analizorul numeric cu afișaj
Informațiile de la cuplorul de măsură sunt preluate de un modul Arduino uno și afișate pe un display Nokia 5110. Am ales acest tip de display deoarece este foarte ieftin, se gasește ușor și are o rezoluție de 48x84 pixeli adresabili în mod graphic. Acest lucru permite realizarea unui bargraf cu o rezoluție de 60 de bare, suficient pentru un aspect plăcut și scrierea cu caractere de diferite mărimi.
Aparatul de alimentează de la o sursă stabilizată de 9V direct pe Arduino uno. Din punct de vedere hardware asta e tot. Trebuie precizat că în această configurație aparatul vă indică puterea medie sau PAVG . Pentru a vă indica PPEP adică Peak Envelope Power aveți nevoie de un circuit care să facă acestă conversie. Pentru a vă lămuri teoretic vă recomand un tutorial pe Youtube la adresa https://www.youtube.com/watch?v=i29pI7okLe4
De asemeni vă recomand cu căldura și articolele Puterea în radioamatorism de YO4AUP la adresa https://www.radioamator.ro/articole/view.php?id=164 și articolul Din nou despre puterea în radioamatorism de YO9FZS la adresa https://www.radioamator.ro/articole/view.php?id=191
Schema convertorului este prezentată în figura de mai jos :
Această schemă o utilizez la SWR/Power metrul din amplificatorul liniar și sunt foarte mulțumit cum funcționează. Pentru SWR/Power metrul extern ce face obiectul acestui articol am realizat cablajul sub forma unui shield care se moteaza direct pe Arduino. In foto se observă un conector, shild-ul a fost inițial proiectat pentru un afișaj 16x2.(o versiune mai simplă de SWR /Power metru ).
Softul utilizat are o mulțime de comentarii din care puteți să întelegeți cum lucrează. Din acest motiv voi adăuga în continuare conținutul sketch-ului:
/*
SWR & PWR Metru by YO2BOF
Acest Sketch este un exemplu de utilizare a afisajului Nokia 5110 SPI cu driver PCB8544 si libraria U8GLIB
Conexiuni Nokia 5110 SPI display la Arduino Uno
* RST = 8
* CE = 9
* DC = 10
* DIN = 11
* CLK = 12
* VCC = 3,3V (Atentie nu mai mult !)
* LIGHT = prin R (100 - 500 0hm , se va tatona )la +5V (sau 3,3V)
* GND = GND
Denumirea pinilor SPI poate diferi, in functie de fabricantul displayului Nokia.
Echivalente gasite
RST = RESET
CS = SCE = RS = SS
DC = D/C = A0 = SDI = DO = DOUT = SO = MRST
DIN = (DN)MOSI = R/W = SDO = DI = SI = MTSR = SDA = D1
CLK = SCLK = E = SCK = SCL = D0
Utilizati libraria Arduino: https://github.com/olikraus/U8glib_Arduino
Manual de referinta: https://github.com/olikraus/u8glib/wiki/userreference
Lista fonturilor: https://github.com/olikraus/u8glib/wiki/fontsize
Realizat 15/07/2020 revizuit 17.05.2022
*/
#include "U8glib.h" // Include libraria U8glib
// Se definesc legaturile la pinii Arduino
U8GLIB_PCD8544 u8g(12, 11, 9, 10, 8); // (CLK=, DIN=, CE=, DC=, RST=)
// Conversia A/D a tensiunii 0-5V in domeniul 0-1023
// Se defineste constanta de conversie care depinde de valoarea tensiunii obtinute de la
// cuplor. Valoarea constantei de mai jos este pentru 5V la 1200W
#define adc_count 0.0048828125
// Se definesc variabilele
float V_Fwd, V_Ref= 0, V_SWR, P_Fwd ;
int P;
void setup(void) // Start setup
{
u8g.setFont(u8g_font_6x12);//Se stabileste fontul implicit
} // Sfarsit setup
void loop(void) // Start bucla (loop)
{
// Se citesc porturile A0 si A1
V_Fwd = analogRead(0) * adc_count;
V_Ref = analogRead(1) * adc_count;
// Se calculeaza puterea
P_Fwd= (40.5 * V_Fwd * V_Fwd); // Constanta de proportionalitate, 40.5 pentru P max 1200W
// Se calculeaza SWR-ul
if ((V_Fwd - V_Ref) > 0.01)
{
V_SWR = (V_Fwd + V_Ref ) / (V_Fwd - V_Ref);
} else {
V_SWR = 0; // SWR = 0 daca V_Fwd nu este mai mare decat V_Ref
}
u8g.firstPage(); // Aici incepe bucla de tiparire
do // Includeti aici tot ce urmeaza a se afisa pe display
{
u8g.drawStr(0, 8, "FWD: "); // Afiseaza text la coloana x, linia y
u8g.drawStr(0, 20, "REF: ");
u8g.setFont(u8g_font_9x18B); // Se schimba fontul
u8g.drawStr(0, 34, "PWR:"); //
P = int(P_Fwd); // Se elimina virgula din valoarea puterii calculate
u8g.setPrintPos(38, 34); // Se stabileste pozitia de tiparire a variebilei la (x,y)
u8g.print(P); // Se tipareste P
delay(50);
u8g.drawStr(76, 34, "W");
u8g.drawStr(5, 48, "SWR:");
u8g.setPrintPos(45, 48);
u8g.print(V_SWR); // Se tipareste SWR-ul
delay(50);
u8g.setFont(u8g_font_6x12); // Se revine la fontul implicit
//FWD bargraf
float bar_Fwd = (V_Fwd * 60/2); // 60 nr de bare, 5 valoarea maxima a tensiunii pe A0 (1200W)
// la cuplorul descris in documentatie la 100W se obtin aprox. 2V deci vom inlocui 5 cu 2
for (int bar1 =1; bar1 < bar_Fwd; bar1=bar1+2) {
u8g.drawLine(23 + bar1, 0, 23 + bar1, 9); // se tiparesc bare in spatiul 23-83 functie de V_Fwd
}
//REF bargraf
float bar_Ref = (V_Ref * 60/2);// 60 nr de bare, 5 valoarea maxima a tensiunii pe A0 (1200W)
// la cuplorul descris in documentatie la 100W se obtin aprox. 2V deci vom inlocui 5 cu 2
for (int bar1 =1; bar1 < bar_Ref; bar1=bar1+2) {
u8g.drawLine(23 + bar1, 12, 23 + bar1, 21);
}
} while(u8g.nextPage()); // Sfarsit afisare pe display
} // Sfarsitul buclei
- Prof. Drăgan Aliodor YO2BOF
-