MEDIDOR
DE SWR SONORO - ARDUINO (for English please scroll down)
Mais uma
aplicação do Arduino, especial para
radioamadores cegos.
O primeiro desta
série foi o
frequencimetro falante ,
onde explicamos algumas coisas a mais que neste documento.
O segundo foi o medidor de SWR com
voz.
Como funciona
este novo equipamento :
Com uma ponte de
ROE / SWR comum o arduino mede a tensão de RF incidente e a
tensão refletida e calcula a relação de ondas
estacionarias.
Quando a antena esta desajustada e a relação de ondas
estacionarias for :
Maior que 1 : 5.0 (50 valor no Sketch) mostra um valor muito ruim e o
tom é de uma sirene de advertencia.
Menor que 1 : 5.0 (50) e maior que 1 : 1.10 (11) tem um tom variando
linearmente de 2400Hz com SWR a 1:5.0 e vai baixando o tom até
50Hz com SWR a 1:1.2 .
Quando a antena esta perfeita a relação de onda
estacionaria é de 1 : 1.0 ou até 1 : 1.1
Ao obter esta ROE o arduino gera um som de OK em codigo
morse.
Alguns ajustes de delay() podem ser refeitos para personalizar o
aparelho.
Esquema :
Montagem :
Como fiz apenas um prototipo, eu não montei em definitivo.
A ponte de SWR pode ser uma comercial, retirando apenas 3 fios
terra, voltagem incidente e voltagem refletida.
A minha ponte de SWR foi baseada no
link .
Neste outro link encontram-se informações sobre outra
otima ponte de SWR :
artigo do IK3OIL
Francesco .
O buzzer foi retirado de um antigo modem. Mas pode ser de outro tipo
testei vários e funcionaram. Para um som mais alto pode ser
usado um amplificador de audio normal.
Para uma potencia mais elevada devemos ter atenção a
não exceder 5V na entrada do arduino, para isto podemos usar um
diodo zener de 5V em cada entrada (pinos 2 e 3).
Um video
pode ser visto com este equipamento funcionando (lamento pelo meu
ingles)
73 de py2ohh mar 2020
SKETCH
float Vinc, Vref = 0, SWR;
int t;
int u = 30;
int r;
int ax;
void setup() {
Serial.begin(9600);
t = 5 * u;
r = 200;
}
void loop() {
Vinc = analogRead(2);
Vref = analogRead(3);
noTone(8);
if (Vinc > 100) {
delay(50);
SWR = (Vinc + Vref) / (Vinc - Vref);
SWR = SWR + 0.05;
ax = abs(10 * SWR);
Serial.println(ax); //4
Serial.println();
while (ax > 50) {
Vinc = analogRead(2);
Vref = analogRead(3);
SWR = (Vinc + Vref) / (Vinc - Vref);
SWR = SWR + 0.05;
ax = abs(10 * SWR );
for (int x = 800; x < 2300; x = x +
x) {
tone(8, x);
delay(300);
}
delay(500);
}
while ((ax < 12) && (ax > 9) ) {
Vinc = analogRead(2);
Vref = analogRead(3);
SWR = (Vinc + Vref) / (Vinc - Vref);
SWR = SWR + 0.05;
ax = abs(10 * SWR);
if ((ax > 11) || (ax < 9)) return;
tone(8, 1000, t);
delay(r);
tone(8, 1000, t);
delay(r);
tone(8, 1000, t);
delay(2 * r);
tone(8, 1000, t);
delay(r);
tone(8, 1000, 3 * u);
delay(r);
tone(8, 1000, t);
delay(600);
}
while (ax > 11 && ax < 50) {
Vinc = analogRead(2);
Vref = analogRead(3);
SWR = (Vinc + Vref) / (Vinc - Vref);
SWR = SWR + 0.05;
ax = abs(10 * SWR);
if ((ax < 12)) return;
int res = map(ax, 10, 50, 50, 2400);
tone(8, res);
delay(500);
}
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
SOUND SWR METER - ARDUINO (for English please scroll down)
Another application of Arduino, especially for blind radio amateurs.
The first in this series was the talking frequency meter,
where we explained a few more things than in this document.
The second was the SWR meter with
voice.
How this new equpment works :
With a standard SWR bridge the arduino measures the incident RF
voltage and the reflected voltage and calculates the stationary
waves ratio.
When the antenna is out of adjustment and the ratio of stationary
is:
greater than 1: 5.0 (50 value in Sketch) shows a very bad value and the
tone is that of a warning siren.
Less than 1: 5.0 (50) and greater than 1: 1.10 (11) has a tone ranging
linearly from 2400Hz with SWR at 1: 5.0.....going down to 50Hz
with SWR at 1: 1.2.
When the antenna is perfect, the stationary wave ratio is 1: 1.0 or
even 1: 1.1
When obtaining this SWR the arduino generates an OK sound in Morse code.
Some delay() settings can be readjusted to personalize the device.
Schematics :
Assembly :
As I only made a prototype, I did not assemble it for good.
The SWR bridge can be a commercial bridge, removing only 3 ground
wires, incident voltage and reflected voltage.
My SWR bridge was based on the link.
In this other link you will find information about another great SWR
bridge:
IK3OIL Francesco project.
The buzzer was removed from an old modem. But it can be of another type
I tested several and they worked. For a louder sound a normal audio
amplifier can be used.
For a higher power we must be careful not to exceed 5V at the arduino
input, for this we can use a 5V zener diode on each input (pins 2 and
3).
A video can
be seen with this equipment working (sorry for my English)
SKETCH
float Vinc, Vref = 0, SWR;
int t;
int u = 30;
int r;
int ax;
void setup() {
Serial.begin(9600);
t = 5 * u;
r = 200;
}
void loop() {
Vinc = analogRead(2);
Vref = analogRead(3);
noTone(8);
if (Vinc > 100) {
delay(50);
SWR = (Vinc + Vref) / (Vinc - Vref);
SWR = SWR + 0.05;
ax = abs(10 * SWR);
Serial.println(ax); //4
Serial.println();
while (ax > 50) {
Vinc = analogRead(2);
Vref = analogRead(3);
SWR = (Vinc + Vref) / (Vinc - Vref);
SWR = SWR + 0.05;
ax = abs(10 * SWR );
for (int x = 800; x < 2300; x = x +
x) {
tone(8, x);
delay(300);
}
delay(500);
}
while ((ax < 12) && (ax > 9) ) {
Vinc = analogRead(2);
Vref = analogRead(3);
SWR = (Vinc + Vref) / (Vinc - Vref);
SWR = SWR + 0.05;
ax = abs(10 * SWR);
if ((ax > 11) || (ax < 9)) return;
tone(8, 1000, t);
delay(r);
tone(8, 1000, t);
delay(r);
tone(8, 1000, t);
delay(2 * r);
tone(8, 1000, t);
delay(r);
tone(8, 1000, 3 * u);
delay(r);
tone(8, 1000, t);
delay(600);
}
while (ax > 11 && ax < 50) {
Vinc = analogRead(2);
Vref = analogRead(3);
SWR = (Vinc + Vref) / (Vinc - Vref);
SWR = SWR + 0.05;
ax = abs(10 * SWR);
if ((ax < 12)) return;
int res = map(ax, 10, 50, 50, 2400);
tone(8, res);
delay(500);
}
}
}
73 from py2ohh mar 2020