In offerta!

Modulo analizzatore d'antenna RigExpert AA-30.ZERO

£1,73£18,28

In Stock
£18,28

Disponibile

£5,22£94,08
£2,60£95,81

Disponibile

I prezzi indicati sono IVA esclusa (pagata solo in UE)

Descrizione

L'analizzatore d'antenna HF vettoriale più conveniente al mondo! Connessione USB e software gratuito. Utenti Arduino: aggiungi un analizzatore di impedenza vettoriale e un generatore RF al tuo progetto!

Perché l'AA-30.ZERO?

Creando l'AA-30.ZERO, abbiamo soddisfatto i numerosi desideri di radioamatori e hobbisti fai-da-te di fornire loro uno strumento di misurazione che potesse essere facilmente integrato nei propri progetti. L'analizzatore è disponibile come kit per soddisfare questo requisito.

Pronto per l'uso

L'analizzatore ha tutto il necessario a bordo: gli utenti possono collegare l'AA-30.ZERO al proprio PC (tramite un adattatore da USB a UART-TTL) ed eseguire tutte le normali serie di misurazioni di laboratorio, in soli cinque minuti. L'AA-30.ZERO è perfettamente compatibile con il nostro software AntScope.

Fallo da solo

Gli utenti esperti possono accoppiare AA-30.ZERO con schede Arduino realizzando il proprio progetto hardware/software, poiché AA-30.ZERO è compatibile con gli standard Arduino. Inoltre, abbiamo reso disponibili diversi esempi di utilizzo dell'AA-30.ZERO in progetti DIY.

Altre idee:
Vuoi creare il tuo sintonizzatore d'antenna automatico? Usa l'AA-30.ZERO in sostituzione dell'accoppiatore direzionale!
Vuoi eseguire l'analisi dei circuiti RF o dell'antenna da remoto? Associa l'AA-30.ZERO al SoM Wi-Fi ESP8266 e fallo facilmente!
Vuoi sintonizzare la tua antenna con elementi guidati? Usa l'AA-30.ZERO per la messa a punto.

Prezzo & POTENZA

Non c'è alcuna possibilità di trovare un analizzatore della concorrenza così potente a un prezzo così basso. Con l'AA-30.ZERO i sogni dei radioamatori diventano realtà!

 

RigExpert AA-30.ZERO – Specifiche

Intervallo di frequenze: da 0,06 a 30 MHz
Ingresso frequenza: Risoluzione 1Hz
Misura per Sistemi da 25, 50, 75 e 100 Ohm

Abitazione: nessuno, solo PCB – disponibile come kit
Schermo: 4 LED
Interfaccia di comunicazione: UART, 38400 baud

Intervallo di misurazione SWR: 1 a 100
Intervallo R e X: 0…10000, -10000…10000

Uscita RF
• Tipo di connettore: SMA
• Forma del segnale di uscita: quadrata, da 0,06 a 30 MHz
• Potenza in uscita: +13 dBm (a 50 Ohm di carico)

Potenza
• Alimentazione: esterna 5V
• Consumo di corrente (max) 150 mA

Dati generali
Dimensioni (L x A x P), solo PCB senza connettori: 55 mm x 69 mm x 5 mm (2,1 pollici x 2,7 pollici x 0,2 pollici)
Peso senza connettori: 65 g (2,29 once)
Temperatura di esercizio: 0…40 °C (32…104 °F)

 

Iniziare con .ZERO

Prima che inizi.

L'AA-30.ZERO è destinato agli utenti che richiedono flessibilità, basso costo e dimensioni ridotte. Viene fornito senza USB integrato o connettori pin per contenere i costi. È la scelta migliore per un nucleo di misura che si desidera lasciare incorporato in un progetto.

Si prega di notare che l'AA-30.ZERO funziona a 5V (come la maggior parte Arduino o Compatibile con Arduino tavole).
Assicurarsi di fornire l'alimentazione corretta e utilizzare componenti/adattatori la cui tensione operativa corrisponda all'AA-30.ZERO.

Collegamento dell'AA-30.ZERO al PC

L'AA-30.ZERO viene fornito senza un circuito USB integrato, quindi è necessario utilizzare un convertitore seriale da USB a UART-TTL esterno per comunicare con l'analizzatore.

L'AA-30.ZERO può comunicare con altri dispositivi attraverso una qualsiasi delle due interfacce UART integrate: UART1 (pin 0/TX1 e 2/RX1) e UART2 (pin 4/TX2 e 7/RX2). Per impostazione predefinita, viene utilizzato UART2.

Per realizzare il nostro primo progetto, potremmo ottenere, ad esempio, il file Breakout seriale UART USB SparkFun.

collegamento-zero-al-pc

L'adattatore USB2UART è collegato all'AA-30.ZERO utilizzando fili colorati.

NOTA: collegare il pin TX dell'adattatore USB al pin RX della scheda PC dell'analizzatore, quindi collegare il pin RX dell'adattatore USB al pin TX dell'analizzatore.
zero-plus-usb2uart-demo
Collegare USB2UART al PC utilizzando un cavo USB standard.

Assicurati che il sistema operativo riconosca l'adattatore da USB a UART e installi il driver:
snapcrab_noname_2017-10-20_12-17-20_no-00

Installazione del software AntScope

Per favore scaricare il software AntScope, apri l'archivio ed estrai i file (con le sottodirectory) nel tuo posto di lavoro, quindi esegui AntScope.exe:
snapcrab_antscope_2017-10-20_15-21-53_no-00

Se il software AntScope non rileva automaticamente AA-30.ZERO, selezionare il tipo di dispositivo connesso nel menu Configura:
selezionando-aa-30

Assicurati che il numero della porta COM sia impostato correttamente:
scelta-comportamento

Congratulazioni! Adesso è tutto pronto per la prima misurazione!

Inizia a misurare
Collega AA-30.ZERO all'antenna (o a qualsiasi altro carico che desideri misurare) utilizzando un adattatore per cavo flessibile, quindi fai clic sull'icona Intervallo di scansione proprio sotto la barra dei menu:
misure correnti

Fare clic sul pulsante Imposta intervallo completo e fare clic su OK per iniziare:
snapcrab_scan_2017-10-20_15-46-42_no-00

Notare il LED lampeggiante sulla scheda PC se l'AA-30.ZERO…

Pochi secondi dopo, viene visualizzato il risultato:
snapcrab_1-antscope_2017-10-20_16-8-45_no-00

Software AntScope2

Una versione più recente del software desktop, chiamata AntScope2, è disponibile; le istruzioni sono simili a quelle sopra.

Accoppiamento di AA-30.ZERO con Arduino Uno

 

Installazione delle intestazioni
L'AA-30.ZERO viene fornito con un kit testine a strappo diritte:
Vista laterale dall'alto

Se vuoi collegare il tuo analizzatore a una scheda Arduino, dovresti prima saldare le intestazioni di separazione. Dopodiché, collega semplicemente il tuo AA-30.ZERO alla tua scheda Arduino:
.ZERO abbinato ad Arduino Uno

Utilizzo dei pin

  • D0 – Interfaccia UART 1, TX, uscita dati
  • D1 - Interfaccia UART 1, RX, ingresso dati
  • D4 – Interfaccia UART 2, TX, uscita dati
  • D7 - Interfaccia UART 2, RX, ingresso dati

Puoi scegliere quale interfaccia UART utilizzare risaldando i jumper:
uart-selector-jumper
Per impostazione predefinita, AA-30.ZERO utilizza l'interfaccia UART2.

Installazione dell'IDE di Arduino e compilazione del tuo primo progetto

Compila ed esegui uno schizzo molto semplice sulla tua scheda Arduino. Scarica e installa IDE Arduino.

// Bridge UART per lo scambio di dati tra
// RigExpert AA-30 ZERO antenna e analizzatore di cavi e Arduino Uno
//
// Riceve da Arduino, invia a AA-30 ZERO.
// Riceve da AA-30 ZERO, invia ad Arduino.
//
// 26 giugno 2017, Rig Expert Ukraine Ltd.
//
#include “SoftwareSerial.h”
#define RX0_Pin 0
#define TX0_Pin 1
#define RX1_Pin 4
#define TX1_Pin 7#define HW_SERIAL#ifndef HW_SERIAL
SoftwareSerial ZERO(RX1_Pin, TX1_Pin); //RX,TX
#endifvuoto impostare() {
#ifdef HW_SERIAL
pinMode(RX0_Pin, INGRESSO);
pinMode(TX0_Pin, USCITA);pinMode(RX1_Pin, INGRESSO);
pinMode(TX1_Pin, USCITA);
1TP42 Telse
ZERO.inizio(38400); // init lato AA UART
ZERO.sciacquone()
Seriale.inizio(38400); // avvia UART lato PC
Seriale.sciacquone();
#endif
}

vuoto ciclo continuo() {
#ifdef HW_SERIAL
//digitalWrite(TX0_Pin, digitalRead(RX1_Pin));
//digitalWrite(TX1_Pin, digitalRead(RX0_Pin));
Se (PIND & (1 << 4)) PORTD |= (1 << 1); altro PORTD &= ~(1 << 1);
Se (PIND & (1 << 0)) PORTD |= (1 << 7); altro PORTD &= ~(1 << 7);

1TP42 Telse  
Se (ZERO.a disposizione()) Seriale.scrivere(ZERO.leggere()); // flusso di dati da AA a PC
Se (Seriale.a disposizione()) ZERO.scrivere(Seriale.leggere()); // flusso di dati dal PC all'AA
#endif  
}

Questo semplice codice "ripetitore seriale" fornisce una comunicazione bidirezionale tra il computer e la scheda dell'analizzatore. A proposito, poiché la scheda Arduino ora funge da ripetitore, puoi implementare qualsiasi codice al suo interno e moderare lo scambio di dati tra il tuo computer e AA-30.ZERO.

Protocollo di comunicazione seriale

Poiché l'AA-30.ZERO è stato creato per gli amatori che desiderano sempre costruire qualcosa di interessante, abbiamo dovuto occuparci di dare più libertà agli utenti dell'analizzatore.

Utilizzando i comandi elencati di seguito, non solo è possibile misurare i parametri delle antenne e dei cavi, ma anche automatizzare l'analizzatore, ad esempio fargli eseguire automaticamente misurazioni periodiche immediatamente dopo l'applicazione dell'alimentazione. Ciò potrebbe essere utile, ad esempio, nel caso in cui lo strumento faccia parte di un sistema più complesso, ad esempio un accordatore d'antenna.

Protocollo di comunicazione

Comando Descrizione Risposta
ver restituisce il tipo di analizzatore e la versione del firmware AA-30 ZERO XXX
fqXXXXXXXXX impostare la frequenza centrale su XXXXXXXXX Hz OK
swXXXXXXXXX impostare la gamma di scansione su XXXXXXXXX Hz OK
frxNNNN eseguire misurazioni NNNN nell'intervallo specificato frequenza di uscita (MHz), R e X per ogni misura

Esempio:

FQ14500000\r\n
SW1000000\r\n
FRX10\r\n14.000000,58.84,17.28\r\n
14.100000,69.74,16.79\r\n
14.200000,68.52,5.62\r\n
14.300000,62.49,2.79\r\n
14.400000,57.51,4.62\r\n
14.500000,55.38,9.11\r\n
14.600000,56.52,13.56\r\n
14.700000,59.40,17.41\r\n
14.800000,64.12,20.05\r\n
14.900000,71.13,22.01\r\n
15.000000,81.57,21.63\r\n

Visualizzazione dati

Uno dei modi più semplici per visualizzare i risultati delle misurazioni è creare la propria applicazione 🙂

Installa l'IDE di elaborazione
Innanzitutto, scarica e installa il file IDE di elaborazione. Dopo aver installato il software IDE, compiliamo questo schizzo abbastanza semplice:

// Visualizzazione 3D per misurazioni SWR
// Per RigExpert AA-30 ZERO antenna e analizzatore di cavi con Arduino Uno
//
// Riceve dati da AA-30 ZERO e crea una superficie
// che è una visualizzazione dell'SWR in funzione del tempo
//
// 26 giugno 2017, Rig Expert Ukraine Ltd.
//
elaborazione delle importazioni.seriale.*;Seriale ZERO;
int fare un passo; // Fasi del protocollo di comunicazione (0 – imposta Freq; 1 – imposta Range; 2 – avvia misurazioni)int maxSamples = 100; // Numero di punti da misurare
int maxSet = 50; // Profondità temporale
galleggiante punti[][]; // Dati di misurazione
int campione; // campione corrente
int impostare; // set di dati corrente
int colori[]; // colore della curva
int totale; // campioni totali acquisiti
booleano pronto; // schermo ridisegnato se True
int Frequenza; // Frequenza corrente
int Allineare; // intervallo corrente// Codice per inviare il comando ad Analyzer
vuoto serializzare(Stringa cmd) {
int len = cmd.lunghezza();
int charPos = 0;
mentre (len != 0) {
ZERO.scrivere(cmd.charAt(charPos));
charPos++;
}
}// Funzione di calcolo SWR
// Z0 – Impedenza del sistema (ovvero 50 per sistemi da 50 Ohm)
// R – valore R misurato
// X – valore X misurato
galleggiante computeSWR(galleggiante Z0, galleggiante R, galleggiante X) {
galleggiante ROS, Gamma;
galleggiante XX = X * X;
galleggiante denominatore = (+ Z0) * (+ Z0) + XX;
Se (denominatore == 0) {
Restituzione 1E9;
} altro {
galleggiante l = ( Z0) * ( Z0);
galleggiante t = (+ XX);
= t / denominatore;
Gamma = sqrt(t); // sempre >= 0
// NOTA:
// Gamma == -1 riflessione negativa completa, quando la linea è in cortocircuito
// Gamma == 0 nessuna riflessione, quando la linea è perfettamente abbinata
// Gamma == +1 riflessione positiva completa, quando la linea è a circuito aperto
Se (Gamma == 1.0) {
ROS = 1E9;
} altro {
ROS = (1 + Gamma) / (1  Gamma);
}
}

// restituisce i valori
Se ((ROS > 200) || (Gamma > 0.99)) {
ROS = 200;
} altro Se (ROS < 1) {
ROS = 1;
}
Restituzione ROS;
}

vuoto impostare() {
Frequenza = 115000000;
Allineare = 230000000;
campione = 0;
impostare = 1;
fare un passo = 0;
punti = nuovo galleggiante[maxSet + 1][maxSamples + 1];
colori = nuovo int[maxSet + 1];
pronto = falso;
totale = 0;

sfondo(0);
colpo(120240255255);
ictusPeso(1);
taglia(640480, P3D);

printArray(Seriale.elenco());
// Sostituisci il nome COM con uno che corrisponda alle tue condizioni
ZERO = nuovo Seriale(questo“COM21”38400);
ZERO.bufferUntil(13);
ritardo(1000);
serializzare(“SW0\r\n);
}

vuoto drawSurface() {
pronto = falso;
luci();
galleggiante sp = 0.001 * frameCount;
telecamera((larghezza / 3) * peccato(sp)0800, larghezza / 2, altezza / 20010);

sfondo(000);
dimensione del testo(30);
riempire(255255255);
// —————- Asse ———————
colpo(255255255128);
linea(0, altezza, 0, larghezza altezza, 0);

linea(0000, altezza, 0);
linea(larghezza, 00, larghezza altezza, 0);

linea(0, altezza, 5 * maxSet, 0, altezza, 0);
linea(larghezza / 2, altezza, 5 * maxSet, larghezza / 2, altezza, 0);
linea(larghezza altezza, 5 * maxSet, larghezza, altezza, 0);

// —————- Freq. marcatori —————-
colpo(255255255128);
linea(larghezza / 200, larghezza / 2, altezza, 0);
textAlign(CENTRO);
testo(Frequenza / 1E3 + "kHz", larghezza / 2, altezza, 5 * maxSet);
testo(((Frequenza / 1E3)  (Allineare / 2E3)) + "kHz"0, altezza, 5 * maxSet);
testo(((Frequenza / 1E3) + (Allineare / 2E3)) + "kHz", larghezza altezza, 5 * maxSet);

// —————– Titolo modalità ——————
textAlign(SINISTRA);
dimensione del testo(36);
testo("SWR in funzione del grafico del tempo"01000);
dimensione del testo(30);
Se (topoY < altezza / 5) {
Se (topoX < larghezza / 2) {
riempire(25500);
textAlign(GIUSTO);
testo(“F = “ + Frequenza / 1E3 + "kHz", larghezza / 2  50500);
riempire(255255255);
textAlign(SINISTRA);
testo("Intervallo = " + Allineare / 1E3 + "kHz", larghezza / 2 + 50500);
} altro {
riempire(255255255);
textAlign(GIUSTO);
testo(“F = “ + Frequenza / 1E3 + "kHz", larghezza / 2  50500);
riempire(25500);
textAlign(SINISTRA);
testo("Intervallo = " + Allineare / 1E3 + "kHz", larghezza / 2 + 50500);
}
} altro {
riempire(255255255);
textAlign(GIUSTO);
testo(“F = “ + Frequenza / 1E3 + "kHz", larghezza / 2  50500);
textAlign(SINISTRA);
testo("Intervallo = " + Allineare / 1E3 + "kHz", larghezza / 2 + 50500);
}

// Ottieni gli estremi
galleggiante minV = 1E9;
galleggiante maxV = 1E9;
per (int io = 0; io  < impostare; io++) {
per (int j = 0; j  < maxSamples + 1; j++) {
Se (punti[io][j] > maxV) maxV = punti[io][j];
Se (punti[io][j] > maxV) minV = punti[io][j];
}
}

println(“Minimo = “ + minV + “; Massimo = “ + maxV);
minV = 1;
Se (maxV < 2) maxV = 2;
altro Se (maxV < 5) maxV = 5;
altro Se (maxV < 10) maxV = 10;
altro maxV = 100;
galleggiante HK = larghezza / maxSamples;
galleggiante VK = altezza / (maxV  minV);
galleggiante zK = 2;

// —————– Disegna marcatori orizzontali —————–
riempire(255255255);
textAlign(GIUSTO);
linea(0, altezza  VK, 0, larghezza altezza  VK, 0); // ROS = 2
testo("SWR = 2.0"0, altezza  VK, 0);
linea(0, altezza  2 * VK, 0, larghezza altezza  2 * VK, 0); // ROS = 3
testo("SWR = 3.0"0, altezza  2 * VK, 0);
linea(0, altezza  4 * VK, 0, larghezza altezza  4 * VK, 0); // ROS = 5
testo("SWR = 5.0"0, altezza  4 * VK, 0);

// Traccia le linee
per (int io = 0; io < impostare; io++) {
Se (colori[io] % 5 == 0) colpo(25500255 * io / impostare);
altro colpo(120240255255 * io / impostare);

per (int j = 1; j < maxSamples + 1; j++) {
// disegna solo se SWR < 100.0
Se (punti[io][ 1] < 100) {
linea(( 1) * HK, altezza  (punti[io][ 1]  1) * VK, io * zK, j * HK, altezza  (punti[io][j]  1) * VK, io * zK);  // Elabora i dati in entrata void serialEvent(Serial p) { String inString; inString = p.readString(); if (inString.indexOf(“OK”) >= 0) {
}
}
}
} vuoto disegnare() {
Se (pronto) {
drawSurface();
}
}
interruttore (fare un passo) {
Astuccio 0: serializzare("FQ" + Frequenza + \r\n);
fare un passo = 1;
rompere;

Astuccio 1: serializzare(“SW” + Allineare + \r\n);
fare un passo = 2;
rompere;

Astuccio 2: serializzare("FRX" + str(maxSamples) + \r\n);
fare un passo = 0;
campione = 0;
Se (impostare == maxSet) {
// sposta indietro le curve
per (int io = 1; io < maxSet + 1; io++) {
colori[io  1] = colori[io];
per (int j = 0; j < maxSamples + 1; j++) {
punti[io  1][j] = punti[io][j];
}
}
} altro {
impostare++;
}
colori[impostare] = totale++;
pronto = VERO;
rompere;
}

} altro {
galleggiante[] num = galleggiante(diviso(inStringa, ‘,’));
Se (num.lunghezza == 3) {
galleggiante ROS = computeSWR(50, num[1], num[2]);
punti[impostare][campione] = ROS;
campione++;
}
}
}

// Cambia i valori di frequenza e intervallo con la rotellina del mouse
vuoto rotellina del mouse(Evento MouseEvent) {
galleggiante e = evento.getCount();
Se (topoY < altezza / 5) {
Se (topoX < larghezza / 2) { // Cambia freq. se (Frequenza > 1E5) {
Frequenza += e * 100000;
drawSurface();
}
} altro {
// Cambia intervallo
Se (Allineare > 1E5) {
Allineare += e * 1E5;
drawSurface();
}
}
}
}

Avviso IMPORTANTE
Assicurati che qui venga utilizzato il numero COM corretto:

ZERO = nuovo Seriale(questo“COM16”115200);

Esecuzione dello schizzo di elaborazione
Dopo che lo schizzo è stato copiato nell'editor IDE, premere il pulsante ESEGUI:
esecuzione-elaborazione-sketch
Pochi secondi dopo, i risultati della misurazione verranno visualizzati sullo schermo, in questo modo:
snapcrab_aa_30_superficie_zero_2017-10-24_14-35-6_no-00

 

Confrontiamo i disegni risultanti con il grafico disegnato dal programma AntScope:

antscope-vs-elaborazione-confronto

Per ottenere la somiglianza 100%, dovrai giocare un po' con una scala logaritmica.

File di origine da cui iniziare
È possibile scaricare i file sorgente dal file Deposito GitHub.

Il nostro amico Edoardo Marzo (WB9RAA) ha fatto uno schizzo per Arduino, che analizza la linea F, R, X e aggiunge in SWR al volo.

// Bridge UART per lo scambio di dati tra
// RigExpert AA-30 ZERO antenna e analizzatore di cavi e Arduino Uno
//
// Riceve da Arduino, invia a AA-30 ZERO.
// Riceve da AA-30 ZERO, invia ad Arduino.
//
// 26 giugno 2017, Rig Expert Ukraine Ltd.
//
#includeSoftwareSerial ZERO(47); //RX,TX
//
// Modificato da WB9RAA Ed marzo
// 6 gennaio 2018
//
// parla con AA-30 Zero a 38.400 baud e
// rende i dati adatti al grafico di un foglio di calcolo
//
// Spazza tutte le bande radioamatoriali in circa 10K Freq. passi
// Calcola l'SWR al volo quindi ogni riga di testo
// inviato è: "Freq,R,X,SWR \r\n"
// mescolato anche con i comandi OK e fq sw frx
// Compilato con Arduino IDE 1.8.5
// il tempo di scansione totale è di circa 25 secondi per le bande 160M-10M.
//
// Grafici più veloci con "frx3" su tutte le bande in modo che vengano stampate solo le frequenze Edge e Center.
// Altre idee, sweep 1..30 Mhz e stampa solo F, R, X, SWR quando swr è inferiore a 2.0
//int j;
char HamBands[][35] = {
{ \r\nver\r\n } , //0
{ “fq1900000\r\nsw200000\r\nfrx20\r\n }//1{ “fq3750000\r\nsw500000\r\nfrx50\r\n }//2{ “fq5331900\r\nsw2800\r\nfrx3\r\n }//3
{ “fq5347900\r\nsw2800\r\nfrx3\r\n }//4
{ “fq5358900\r\nsw2800\r\nfrx3\r\n }//5
{ “fq5404900\r\nsw2800\r\nfrx3\r\n }//6

{ “fq7150000\r\nsw300000\r\nfrx35\r\n }//7

{ “fq10125000\r\nsw50000\r\nfrx10\r\n }//8

{ “fq14150000\r\nsw300000\r\nfrx30\r\n }//9

{ “fq18118000\r\nsw100000\r\nfrx10\r\n }//10

{ “fq21225000\r\nsw450000\r\nfrx45\r\n }//11

{ “fq24940000\r\nsw100000\r\nfrx10\r\n }//12

{ “fq28985000\r\nsw1970000\r\nfrx50\r\n }//13
{ “” }// Indicatore di fine //14
//

};

vuoto impostare()
{
ZERO.inizio(38400); // init lato AA UART
ZERO.sciacquone();
ZERO.setTimeout(2500);
Seriale.inizio(38400); // avvia UART lato PC
Seriale.sciacquone();
ritardo(50);
= 0;
Seriale.println(\r\n\nIl progetto AA-30Zero Ver.20180107A di Ed March WB9RAA\n);
Seriale.println(\nUtilizzo dell'analizzatore d'antenna RigExpert 'AA-30 Zero'\nScansiona tutte le bande Ham 1..30Mhz.\nAl termine, premere / per eseguire di nuovo. Altrimenti digita i comandi su AA-30 Zero\n);
Seriale.println("Comandi Zero AA-30");
Seriale.println("ver : OTTIENI LA VERSIONE DEL FIRMWARE AA");
Seriale.println(“fq1234567 : IMPOSTA FREQUENZA CENTRALE IN HERTZ es. fq7150000”);
Seriale.println(“sw300000 : IMPOSTA INTERVALLO SWEEP IN HERTZ es. sw300000 spazza 300Khz dall'inizio alla fine");
Seriale.println(“frx123 : START SWEEPING restituendo F,R,X Totale di 123 righe. frx3 restituisce 3 righe BEGIN,CENTER,END\n);
}
lungo tmo = 250;

vuoto ciclo continuo()
{
Se (ZERO.a disposizione())
{
Stringhe = ZERO.readStringUntil(\n);
S.sostituire(\r“”);
Seriale.scrivere(S.c_str()); // flusso di dati da AA a PC

int io = S.indice di(‘,’);
Se (io > 0)
{
// Analizza la stringa in float R e X
io++;
galleggiante R = S.sottostringa(io).galleggiare();
int ii = S.sottostringa(io).indice di(‘,’);
galleggiante X = S.sottostringa(io + ii + 1).galleggiare();
//
// Calcola SWR da R & X
//
galleggiante XX = X * X;
galleggiante Rm = ( 50) * ( 50);
galleggiante Rp = (+ 50) * (+ 50);
galleggiante n = sqrt(Rm + XX);
galleggiante D = sqrt(Rp + XX);
galleggiante G = n / D;
galleggiante vswr = (1 + G) / (1  G);
// Dal momento che non possiamo stampare float otteniamo int e frazione come INT
// if swr is 4.12 then v1=4 and v2=12 — 1.04 then 1 and 4 printed as 1.04 using %d.%02d
int v1 = vswr;
int v2 = (vswr  v1) * 100;
Se (v1 < 0)
{
v1 = 99;
v2 = 0;
}
char z.z[50];
sprintf(Z, “,%d.%02d”, v1, v2); // calcola swr come stringa
Seriale.scrivere(z.z); // aggiunge alla stringa
}
Seriale.scrivere(\r\n); // e terninate come era con CR LF
tmo = 250;
}
Se (Seriale.a disposizione())
{
char c1 = Seriale.leggere();
Se (c1 == ‘/’)
{
= 0;
}
altro
{
ZERO.scrivere(c1); // flusso di dati dal PC all'AA
}
tmo = 250;
}
ritardo(1);
Se (tmo < 0)
{
Se (HamBands[j][0] != 0)
{
per (int io = 0; HamBands[j][io] != 0; io++)
{
int cap = HamBands[j][io];
Seriale.scrivere(cap);
ZERO.scrivere(cap);
Se (cap == \n)
{
per (int d = 0; d < 50; d++)
{
ritardo(1);
Se (ZERO.a disposizione())
{
Seriale.scrivere(ZERO.leggere()); // flusso di dati da AA a PC
}
}
}
}
tmo = 250;
j++;
}
}
}

 

Continua…

RigExpert AA-30.ZERO – Download

Software desktop

Software AntScope

Manuali dell'utente

  • Si prega di consultare il Pagina per iniziare per istruzioni complete su come utilizzare l'analizzatore.

Schemi e disegni

Informazioni aggiuntive

Recensioni

Ancora non ci sono recensioni.

Solamente clienti che hanno effettuato l'accesso ed hanno acquistato questo prodotto possono lasciare una recensione.