MEDIDOR
DE SWR E POTENCIA EM LINHA === COM ARDUINO
Quando necessitei de um medidor de ondas estacionarias para o meu
ajuste automatico de antenas LOOP, acabei desenvolvendo este outro
equipamento interessante.
Esquema da ponte de ROE ou SWR:
Foto da ponte montada :
Baseada no artigo do
Francesco IK3OIL esta ponte pode medir até 25W como
descrito aqui e podendo medir maiores potencias (até 100W) com
modificações com divisor 2k2 com 47k, lembrando que a
tensão maxima para o arduino é de 5V.
Foto da ponte montada :
O circuito completo é este:
A montagem da ponte é simples, mas deve ser blindada do restante
do circuito, podendo ficar dentro de uma caixa ou em duas caixas
separado (ponte e Arduino/display).
Use um cabo coaxial de 50 Ohms, o ideal é dos finos RG174, mas
cheguei a usar o RG58U que é bem grosso. Um pedaço de 5
cm é o bastante .... que morar aqui por perto é só
pedir que tenho.
O diodo 1N5711 é encontrado no nosso comercio, mas os diodos
tipo BAT tambem funcionam, até 1N4148 funciona mas tera menos
sensibilidade ( neste caso o software tem que ser corigido ...é
só me escrever).
O diamero de fio de enrolamento não é critico mas fio #28
ou acima funciona. o numero de volas sim .... eu usei 25 voltas paar
ter uma tensão de retorno maior, mas a potencia cai para
25W ..já com 35 voltas e seguindo o projeto da ponte do
Francesco a potencia será de 100W.
O limite é a tensão de RF que após retificada (Vp)
que vai para o Arduino que é de 5V, para evitar problemas ... o
ideal é colocar um diodo zener de 5V nas entradas do Arduino (A2
e A3), assim a tensão de 5V não é ultra passada.
Quando montei o circuito original do Francesco (varios colegas montaram
e voce pode ver a montagem do Luciano PY2BBS
) usei os dados e circuito impresso do artigo, mas quando montei com
outro toroide necessitei ajustar o valor do capacitor, que esta em
paralelo com o trimer, para obter um nulo de estacionaria refletida.
Calibração :
No lugar da antena coloque uma carga fantasma de 50 Ohms que tenha
dissipação suficiente para a potencia do transmissor, a
ser usado.
Ligue o diodo e capacitor como aparece no esquema (ponto X com ponto X)
medindo a tensão de corrente continua (Vp) com um voltimetro
digital ou analogico.
Calcule a potencia com esta formula :
P= (Vp *Vp) / (2*50)
Caso voce use diodos schottky acrescente 0,5V na tensão lida
antes de colocar na formula. Caso seja um diodo comum 1N4148 acrescente
0,7V.
Anote os valores o calculado e o mostrado pelo medidor montado,
faça isso com varias medidas e em bandas diferentes.
Caso o valor esteja maior ou menor será necessario colocar um
fator para aumentar ou diminur o valor lido, no sketch.
O fator K deve ser determinado pela media das medidas calculadas
dividido pela media das medidas mostradas no LCD. Depois de
definido o valor k, substitua o valor dele na linha do sketch :
float k =1; // altere aqui o
valor do fator K
exemplo k=0.12
mude a linha para
float k =0.12; // altere aqui o
valor do fator K
Qualquer duvida escreva ...
=========================================
Eu montei varias outras pontes de SWR :
Esta semelhante a usada, mas com 2 toroides colados e 35 voltas de fio
Esta foi usada no projeto #1 de ajuste automatico de loop, os toroides
são T50-10 com 9 voltas cada. Funciona mas não tem o
ponto zero muito marcante como a que usei para o ajuste automatico de
loop #2.
Esquema :
Fotos desta ponte de SWR :
================
Eu montei muitas pontes de ROE / SWR
foto :
São seis na foto :
1. Ponte de SWR resistiva - somente testa SWR - não pode ficar
no circuito em operação normal.
2. Ponte de SWR montada do IK3OIL.
3. Ponte usada no ajuste de loop #2
4. Ponte de SWR analogica.
5. Ponte de SWR como descrita pelo IK3OIL 35 voltas, mas com
toroides de lampadas.
6. Ponte de SWR usada no ajuste de loop #1.
Eu devo ter mais algumas montadas rerere..
73 de py2ohh miguel
++++++++++++++++++++++++++++++++++++++++++++++++
Este é o sketch do arduino (IDE1.6.1)
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
float pwr;
float Vinc, Vref = 0, SWR;
float k =1; // altere aqui o
valor do fator K
LiquidCrystal_I2C
lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
void setup() {
Serial.begin(9600);
lcd.begin (16, 2);
lcd.setBacklight(HIGH);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" SWR PWR ");
lcd.setCursor(0, 1);
lcd.print(" PY2OHH QRP_BR "); // voce pode por seu prefixo
aqui
delay(3000);
}
void loop() {
Vinc = analogRead(2);
Vref = analogRead(3);
SWR = (Vinc + Vref) / (Vinc - Vref);
lcd.setCursor(0, 0);
lcd.print(Vinc);
Vinc = ((Vinc * 5.0) / 1024.0) + 0.5;
pwr = ((((Vinc) * (Vinc)) - 0.25 ) * k) ;
if (pwr > 0 ) (pwr = pwr + 0.25);
lcd.setCursor(4, 1);
lcd.print(SWR);
lcd.setCursor(0, 1);
lcd.print("SWR :1/ W");
lcd.setCursor(4, 1);
lcd.print(SWR);
lcd.setCursor(11, 1);
lcd.print(pwr);
}