Deskripsi
Penganalisis antena vektor HF paling menguntungkandable di dunia! Koneksi USB & perangkat lunak bebas. Pengguna Arduino: tambahkan penganalisis impedansi vektor dan generator RF ke proyek Anda!
Mengapa AA-30.ZERO?
Membuat AA-30.ZERO, kami memenuhi banyak keinginan amatir radio dan penghobi DIY untuk memberi mereka alat pengukur yang dapat dengan mudah diintegrasikan ke dalam proyek mereka sendiri. Alat analisa tersedia sebagai kit untuk memenuhi persyaratan ini.
Siap untuk digunakan
Alat analisa ini memiliki semua yang diperlukan: pengguna dapat menghubungkan AA-30.ZERO ke PC mereka (melalui adaptor USB ke UART-TTL) dan melakukan semua rangkaian pengukuran laboratorium biasa, hanya dalam lima menit. AA-30.ZERO sangat kompatibel dengan perangkat lunak AntScope kami.
Lakukan sendiri
Pengguna berpengalaman dapat memasangkan AA-30.ZERO dengan papan Arduino yang membuat proyek perangkat keras/perangkat lunak mereka sendiri, karena AA-30.ZERO kompatibel dengan standar Arduino. Selain itu, kami telah menyediakan beberapa contoh menjalankan AA-30.ZERO dalam proyek DIY.
Lebih banyak ide:
Ingin membuat tuner antena otomatis sendiri? Gunakan AA-30.ZERO sebagai pengganti directional coupler!
Ingin melakukan analisis sirkuit RF atau antena dari jarak jauh? Pasangkan AA-30.ZERO dengan ESP8266 Wi-Fi SoM dan lakukan dengan mudah!
Ingin menyetel antena Anda dengan elemen penggerak? Gunakan AA-30.ZERO untuk fine tuning.
Harga & KEKUATAN
Tidak ada peluang untuk menemukan penganalisa pesaing yang begitu kuat dengan harga serendah itu. Dengan AA-30.ZERO, impian para amatir radio menjadi kenyataan!
RigExpert AA-30.ZERO – Spesifikasi
Rentang frekuensi: 0,06 hingga 30 MHz
Entri frekuensi: resolusi 1 Hz
Pengukuran untuk Sistem 25, 50, 75 dan 100-Ohm
Perumahan: tidak ada, hanya PCB – tersedia sebagai kit
Menampilkan: 4 LED
Antarmuka komunikasi: UART, 38400 baud
Rentang pengukuran SWR: 1 sampai 100
Rentang R dan X: 0…10000, -10000…10000
Keluaran FR
• Jenis konektor: SMA
• Bentuk sinyal keluaran: persegi, 0,06 hingga 30 MHz
• Daya output: +13 dBm (pada beban 50 Ohm)
Kekuasaan
• Pasokan: 5V eksternal
• Konsumsi arus (maks) 150 mA
Data umum
Dimensi (L x T x D), hanya PCB tanpa konektor: 55 mm x 69 mm x 5 mm (2,1 in x 2,7 in x 0,2 in)
Berat tanpa konektor: 65 g (2,29 Oz)
Suhu pengoperasian: 0…40 °C (32…104 °F)
Memulai dengan .ZERO
Sebelum kamu memulai.
AA-30.ZERO ditujukan untuk pengguna yang membutuhkan fleksibilitas, biaya rendah, dan ukuran kecil. Itu datang tanpa USB on-board atau header pin untuk menekan biaya. Ini adalah pilihan terbaik untuk inti pengukur yang ingin Anda tinggalkan tertanam dalam proyek.
Harap dicatat bahwa AA-30.ZERO beroperasi pada 5V (seperti kebanyakan Arduino atau Kompatibel dengan arduino papan).
Pastikan untuk memberikan daya yang benar dan gunakan komponen/adaptor yang voltase pengoperasiannya sesuai dengan AA-30.ZERO.
Menghubungkan AA-30.ZERO ke PC Anda
AA-30.ZERO hadir tanpa sirkuit USB bawaan, jadi konverter serial USB ke UART-TTL off-board harus digunakan untuk berkomunikasi dengan penganalisis.
AA-30.ZERO dapat berkomunikasi dengan perangkat lain melalui salah satu dari dua antarmuka UART bawaan: UART1 (pin 0/TX1 dan 2/RX1) dan UART2 (pin 4/TX2 dan 7/RX2). Secara default, UART2 digunakan.
Untuk membuat proyek pertama kita, kita bisa mendapatkan, misalnya, Pelarian Serial USB UART SparkFun.
Adaptor USB2UART terhubung ke AA-30.ZERO dengan menggunakan kabel berwarna.
CATATAN: sambungkan pin TX adaptor USB ke pin RX papan PC penganalisis, lalu sambungkan pin RX adaptor USB ke pin TX penganalisis.
Hubungkan USB2UART ke PC Anda dengan menggunakan kabel USB standar.
Pastikan sistem operasi mengenali adaptor USB-ke-UART Anda dan menginstal driver:
Menginstal perangkat lunak AntScope
Silahkan unduh perangkat lunak AntScope, buka arsip dan ekstrak file (dengan subdirektori) ke tempat kerja Anda, lalu jalankan AntScope.exe:
Jika perangkat lunak AntScope tidak mendeteksi AA-30.ZERO secara otomatis, pilih jenis perangkat yang terhubung di menu Configure:
Pastikan nomor port COM diatur dengan benar:
Selamat! Sekarang semuanya siap untuk pengukuran pertama!
Mulailah mengukur
Sambungkan AA-30.ZERO ke antena Anda (atau beban lain yang ingin Anda ukur) menggunakan adaptor kabel fleksibel, lalu klik ikon Rentang pindai tepat di bawah bilah menu:
Klik tombol Set full range dan klik OK untuk memulai:
Perhatikan LED yang berkedip di papan PC jika AA-30.ZERO…
Beberapa detik kemudian, hasilnya ditampilkan:
perangkat lunak AntScope2
Versi yang lebih baru dari perangkat lunak desktop, disebut AntScope2, tersedia; instruksi serupa dengan yang di atas.
Memasangkan AA-30.ZERO dengan Arduino Uno
Memasang header
AA-30.ZERO dilengkapi dengan kit headres langsung:
Jika Anda ingin menghubungkan penganalisa Anda ke papan Arduino, pertama-tama Anda harus menyolder header yang terpisah. Setelah itu, cukup colokkan AA-30.ZERO Anda ke papan Arduino Anda:
Penggunaan pin
- D0 – Antarmuka UART 1, TX, data keluar
- D1 – Antarmuka UART 1, RX, data masuk
- D4 – Antarmuka UART 2, TX, data keluar
- D7 – Antarmuka UART 2, RX, data masuk
Anda dapat memilih antarmuka UART mana yang akan digunakan, dengan menyolder ulang jumper:
Secara default AA-30.ZERO menggunakan antarmuka UART2.
Menginstal Arduino IDE dan mengkompilasi proyek pertama Anda
Kompilasi dan jalankan sketsa yang sangat sederhana di papan Arduino Anda. Unduh dan pasang IDE Arduino.
// RigExpert AA-30 ZERO antenna & cable analyzer dan Arduino Uno
//
// Menerima dari Arduino, kirim ke AA-30 ZERO.
// Menerima dari AA-30 ZERO, kirim ke Arduino.
//
// 26 Juni 2017, Rig Expert Ukraine Ltd.
//
#ermasuk "SoftwareSerial.h"
#menentukan RX0_Pin 0
#define TX0_Pin 1
#menentukan RX1_Pin 4
#define TX1_Pin 7#menentukan HW_SERIAL#ifndef HW_SERIAL
SoftwareSerial ZERO(RX1_Pin, TX1_Pin); // RX, TX
#endifruang kosong mempersiapkan() {
#ifdef HW_SERIAL
pinMode(RX0_Pin, INPUT);
pinMode(TX0_Pin, OUTPUT);pinMode(RX1_Pin, INPUT);
pinMode(TX1_Pin, OUTPUT);
#else
NOL.mulai(38400); // init sisi AA UART
NOL.menyiram()
Serial.mulai(38400); // init UART sisi PC
Serial.menyiram();
#endif
}
ruang kosong lingkaran() {
#ifdef HW_SERIAL
//digitalWrite(TX0_Pin, digitalRead(RX1_Pin));
//digitalWrite(TX1_Pin, digitalRead(RX0_Pin));
jika (PIND & (1 << 4)) PORTD |= (1 << 1); kalau tidak PORTD &= ~(1 << 1);
jika (PIND & (1 << 0)) PORTD |= (1 << 7); kalau tidak PORTD &= ~(1 << 7);
#else
jika (NOL.tersedia()) Serial.menulis(NOL.Baca()); // aliran data dari AA ke PC
jika (Serial.tersedia()) NOL.menulis(Serial.Baca()); // aliran data dari PC ke AA
#endif
}
Kode “serial repeater” sederhana ini menyediakan komunikasi dua arah antara komputer Anda dan papan penganalisa. Omong-omong, karena papan Arduino sekarang berfungsi sebagai pengulang, Anda dapat menerapkan kode apa pun di dalamnya dan memoderasi pertukaran data antara komputer Anda dan AA-30.ZERO.
Protokol komunikasi serial
Karena AA-30.ZERO dibuat untuk para amatir yang selalu ingin membuat sesuatu yang menarik, kami harus memberikan lebih banyak kebebasan kepada pengguna penganalisis.
Dengan menggunakan perintah yang tercantum di bawah ini, Anda tidak hanya dapat mengukur parameter antena dan kabel Anda, tetapi juga mengotomatiskan penganalisa Anda, seperti membuatnya secara otomatis melakukan pengukuran berkala segera setelah daya dialirkan. Ini dapat berguna, misalnya, dalam kasus ketika instrumen merupakan bagian dari sistem yang lebih kompleks, misalnya, tuner antena.
Protokol komunikasi
Memerintah | Keterangan | Tanggapan |
---|---|---|
ver | mengembalikan tipe penganalisa dan versi firmware | AA-30 NOL XXX |
fqXXXXXXXXXX | atur frekuensi tengah ke XXXXXXXXX Hz | Oke |
swXXXXXXXXX | atur rentang sapuan ke XXXXXXXXX Hz | Oke |
frxNNNN | melakukan pengukuran NNNN dalam rentang yang ditentukan | frekuensi output (MHz), R dan X untuk setiap pengukuran |
Contoh:
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
Visualisasi data
Salah satu cara paling sederhana untuk memvisualisasikan hasil pengukuran adalah dengan membuat aplikasi sendiri
Instal IDE Pemrosesan
Pertama, unduh dan instal Memproses IDE. Setelah perangkat lunak IDE terinstal, mari kompilasi sketsa yang cukup sederhana ini:
// Untuk RigExpert AA-30 ZERO antenna & cable analyzer dengan Arduino Uno
//
// Menerima data dari AA-30 ZERO dan membuat permukaan
// yang merupakan visualisasi SWR sebagai fungsi waktu
//
// 26 Juni 2017, Rig Expert Ukraine Ltd.
//
pemrosesan impor.serial.*;Serial NOL;
int melangkah; // Langkah-langkah protokol komunikasi (0 – atur Frek; 1 – atur Rentang; 2 – mulai pengukuran)int maxSamples = 100; // Jumlah titik untuk diukur
int maxSets = 50; // Kedalaman waktu
mengambang poin[][]; // Data pengukuran
int Sampel; // sampel saat ini
int mengatur; // kumpulan data saat ini
int warna[]; // warna kurva
int total; // total sampel diperoleh
boolean siap; // layar digambar ulang jika Benar
int Frekuensi; // Frekuensi saat ini
int Jangkauan; // Kisaran saat ini// Kode untuk mengirimkan perintah ke Penganalisis
ruang kosong membuat cerita bersambung(Tali cmd) {
int len = cmd.panjangnya();
int charPos = 0;
ketika (len— != 0) {
NOL.menulis(cmd.charAt(charPos));
charPos++;
}
}// fungsi perhitungan SWR
// Z0 – Impedansi sistem (yaitu 50 untuk sistem 50 Ohm)
// R – nilai R terukur
// X – nilai X terukur
mengambang menghitungSWR(mengambang Z0, mengambang R, mengambang X) {
mengambang SWR, Gama;
mengambang XX = X * X;
mengambang penyebut = (R + Z0) * (R + Z0) + XX;
jika (penyebut == 0) {
kembali 1E9;
} kalau tidak {
mengambang l = (R – Z0) * (R – Z0);
mengambang t = (l + XX);
t = t / penyebut;
Gamma = persegi(t); // selalu >= 0
// CATATAN:
// Gamma == -1 menyelesaikan refleksi negatif, saat saluran dihubung pendek
// Gamma == 0 tidak ada pantulan, ketika garis benar-benar cocok
// Gamma == +1 selesaikan refleksi positif, saat saluran dalam rangkaian terbuka
jika (Gamma == 1.0) {
SWR = 1E9;
} kalau tidak {
SWR = (1 + Gamma) / (1 – Gamma);
}
}
// mengembalikan nilai
jika ((SWR > 200) || (Gamma > 0.99)) {
SWR = 200;
} kalau tidak jika (SWR < 1) {
SWR = 1;
}
kembali SWR;
}
ruang kosong mempersiapkan() {
Frekuensi = 115000000;
Jangkauan = 230000000;
Sampel = 0;
mengatur = –1;
melangkah = 0;
poin = baru mengambang[maxSets + 1][maxSamples + 1];
warna = baru int[maxSets + 1];
siap = Salah;
total = 0;
Latar Belakang(0);
pukulan(120, 240, 255, 255);
strokeWeight(1);
ukuran(640, 480, P3D);
printArray(Serial.daftar());
// Ganti nama COM dengan yang sesuai dengan kondisi Anda
NOL = baru Serial(ini, “COM21”, 38400);
NOL.penyanggaSampai(13);
menunda(1000);
membuat cerita bersambung(“SW0\r\n“);
}
ruang kosong drawSurface() {
siap = Salah;
lampu();
mengambang sp = 0.001 * frameCount;
kamera((lebar / 3) * dosa(sp), 0, 800, lebar / 2, tinggi / 2, 0, 0, 1, 0);
Latar Belakang(0, 0, 0);
ukuran teks(30);
mengisi(255, 255, 255);
// —————- Sumbu ———————
pukulan(255, 255, 255, 128);
garis(0, tinggi, 0, lebar tinggi, 0);
garis(0, 0, 0, 0, tinggi, 0);
garis(lebar, 0, 0, lebar tinggi, 0);
garis(0, tinggi, 5 * maxSet, 0, tinggi, 0);
garis(lebar / 2, tinggi, 5 * maxSets, lebar / 2, tinggi, 0);
garis(lebar tinggi, 5 * maxSet, lebar, tinggi, 0);
// —————- Frekuensi. penanda —————-
pukulan(255, 255, 255, 128);
garis(lebar / 2, 0, 0, lebar / 2, tinggi, 0);
textAlign(TENGAH);
teks(Frekuensi / 1E3 + ” kHz”, lebar / 2, tinggi, 5 * maxSets);
teks(((Frekuensi / 1E3) – (Jangkauan / 2E3)) + ” kHz”, 0, tinggi, 5 * maxSets);
teks(((Frekuensi / 1E3) + (Jangkauan / 2E3)) + ” kHz”, lebar tinggi, 5 * maxSets);
// —————– Judul mode ——————
textAlign(KIRI);
ukuran teks(36);
teks("SWR sebagai fungsi grafik waktu", 0, –100, 0);
ukuran teks(30);
jika (mouseY < tinggi / 5) {
jika (mouseX < lebar / 2) {
mengisi(255, 0, 0);
textAlign(BAIK);
teks(“F = “ + Frekuensi / 1E3 + ” kHz”, lebar / 2 – 50, –50, 0);
mengisi(255, 255, 255);
textAlign(KIRI);
teks(“Rentang =” + Jangkauan / 1E3 + ” kHz”, lebar / 2 + 50, –50, 0);
} kalau tidak {
mengisi(255, 255, 255);
textAlign(BAIK);
teks(“F = “ + Frekuensi / 1E3 + ” kHz”, lebar / 2 – 50, –50, 0);
mengisi(255, 0, 0);
textAlign(KIRI);
teks(“Rentang =” + Jangkauan / 1E3 + ” kHz”, lebar / 2 + 50, –50, 0);
}
} kalau tidak {
mengisi(255, 255, 255);
textAlign(BAIK);
teks(“F = “ + Frekuensi / 1E3 + ” kHz”, lebar / 2 – 50, –50, 0);
textAlign(KIRI);
teks(“Rentang =” + Jangkauan / 1E3 + ” kHz”, lebar / 2 + 50, –50, 0);
}
// Dapatkan ekstrem
mengambang minV = 1E9;
mengambang maksV = –1E9;
untuk (int saya = 0; saya < mengatur; saya++) {
untuk (int j = 0; j < maxSamples + 1; j++) {
jika (poin[saya][j] > maksV) maksV = poin[saya][j];
jika (poin[saya][j] > maksV) minV = poin[saya][j];
}
}
println(“Min = “ + minV + “; Maks = “ + maksV);
minV = 1;
jika (maksV < 2) maksV = 2;
kalau tidak jika (maksV < 5) maksV = 5;
kalau tidak jika (maksV < 10) maksV = 10;
kalau tidak maksV = 100;
mengambang hK = lebar / maxSamples;
mengambang vK = tinggi / (maksV – minV);
mengambang zK = 2;
// —————– Menggambar penanda horizontal —————–
mengisi(255, 255, 255);
textAlign(BAIK);
garis(0, tinggi – vK, 0, lebar tinggi – vK, 0); // SWR = 2
teks(“SWR = 2.0”, 0, tinggi – vK, 0);
garis(0, tinggi – 2 * vK, 0, lebar tinggi – 2 * vK, 0); // SWR = 3
teks(“SWR = 3.0”, 0, tinggi – 2 * vK, 0);
garis(0, tinggi – 4 * vK, 0, lebar tinggi – 4 * vK, 0); // SWR = 5
teks(“SWR = 5.0”, 0, tinggi – 4 * vK, 0);
// Gambar garisnya
untuk (int saya = 0; saya < mengatur; saya++) {
jika (warna[saya] % 5 == 0) pukulan(255, 0, 0, 255 * saya / mengatur);
kalau tidak pukulan(120, 240, 255, 255 * saya / mengatur);
untuk (int j = 1; j < maxSamples + 1; j++) {
// menggambar hanya jika SWR <100.0
jika (poin[saya][j – 1] < 100) {
garis((j – 1) * hK, tinggi – (poin[saya][j – 1] – 1) * vK, saya * zK, j * hK, tinggi – (poin[saya][j] – 1) * vK, saya * zK); // Memproses data yang masuk void serialEvent(Serial p) { String inString; inString = p.readString(); if (inString.indexOf(“OK”) >= 0) {
}
}
}
} ruang kosong seri() {
jika (siap) {
drawSurface();
}
}
mengalihkan (melangkah) {
kasus 0: membuat cerita bersambung(“FQ” + Frekuensi + “\r\n“);
melangkah = 1;
merusak;
kasus 1: membuat cerita bersambung("SW" + Jangkauan + “\r\n“);
melangkah = 2;
merusak;
kasus 2: membuat cerita bersambung(“FRX” + str(maxSamples) + “\r\n“);
melangkah = 0;
Sampel = 0;
jika (mengatur == maxSets) {
// menggeser kurva ke belakang
untuk (int saya = 1; saya < maxSets + 1; saya++) {
warna[saya – 1] = warna[saya];
untuk (int j = 0; j < maxSamples + 1; j++) {
poin[saya – 1][j] = poin[saya][j];
}
}
} kalau tidak {
mengatur++;
}
warna[mengatur] = total++;
siap = BENAR;
merusak;
}
} kalau tidak {
mengambang[] angka = mengambang(membelah(inString, ‘,’));
jika (angkapanjangnya == 3) {
mengambang SWR = menghitungSWR(50, num[1], num[2]);
poin[mengatur][Sampel] = SWR;
Sampel++;
}
}
}
// Ubah nilai Frekuensi & Jangkauan dengan Roda Mouse
ruang kosong roda mouse(Acara MouseEvent) {
mengambang e = peristiwa.getCount();
jika (mouseY < tinggi / 5) {
jika (mouseX < lebar / 2) { // Ubah Frekuensi. if (Frekuensi > 1E5) {
Frekuensi += e * 100000;
drawSurface();
}
} kalau tidak {
// Ubah Rentang
jika (Jangkauan > 1E5) {
Jangkauan += e * 1E5;
drawSurface();
}
}
}
}
Pemberitahuan Penting
Harap pastikan bahwa nomor COM yang benar digunakan di sini:
Menjalankan sketsa Pemrosesan
Setelah sketsa disalin ke editor IDE, tekan tombol RUN:
Beberapa detik kemudian, hasil pengukuran akan ditampilkan di layar Anda, seperti ini:
Mari bandingkan gambar yang dihasilkan dengan bagan yang digambar oleh program AntScope:
Untuk mendapatkan kesamaan 100%, Anda harus bermain sedikit dengan skala logaritmik.
File sumber untuk memulai
Anda dapat mengunduh file sumber dari repositori GitHub.
Teman kami Edward Maret (WB9RAA) membuat sketsa untuk Arduino, yang mem-parsing garis F,R,X dan menambahkan SWR dengan cepat.
// RigExpert AA-30 ZERO antenna & cable analyzer dan Arduino Uno
//
// Menerima dari Arduino, kirim ke AA-30 ZERO.
// Menerima dari AA-30 ZERO, kirim ke Arduino.
//
// 26 Juni 2017, Rig Expert Ukraine Ltd.
//
#ermasukSoftwareSerial ZERO(4, 7); // RX, TX
//
// Dimodifikasi oleh WB9RAA Ed Maret
// 6 Januari 2018
//
// berbicara dengan AA-30 Zero pada 38.400 baud dan
// jadikan data cocok untuk plot spreadsheet
//
// Sapu semua band ham sekitar 10K Freq. Langkah
// Hitung SWR dengan cepat jadi setiap baris teks
// terkirim adalah: “Freq,R,X,SWR \r\n”
// dicampur dengan perintah OK dan fq sw frx juga
// Dikompilasi dengan Arduino IDE 1.8.5
// total waktu sapuan sekitar 25 detik untuk band 160M-10M.
//
// Plot lebih cepat dengan "frx3" di semua band sehingga Hanya Frekuensi Tepi dan Tengah yang dicetak.
// Gagasan lain, sapu 1..30 Mhz dan hanya cetak F,R,X,SWR saat swr di bawah 2.0
//int j;
arang 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
{ “” }, // Penanda akhir //14
//
};
ruang kosong mempersiapkan()
{
NOL.mulai(38400); // init sisi AA UART
NOL.menyiram();
NOL.setTimeout(2500);
Serial.mulai(38400); // init UART sisi PC
Serial.menyiram();
menunda(50);
j = 0;
Serial.println(“\r\n\nProyek AA-30Zero Ver.20180107A oleh Ed March WB9RAA\n“);
Serial.println(“\nMenggunakan RigExpert 'AA-30 Zero' Antenna Analyzer\nPindai semua band Ham 1..30Mhz.\nSetelah selesai Tekan / untuk menjalankan lagi. Jika tidak, ketikkan perintah ke AA-30 Zero\n“);
Serial.println(“Perintah Nol AA-30”);
Serial.println(“ver : DAPATKAN VERSI FIRMWARE AA”);
Serial.println(“fq1234567 : SET FREKUENSI PUSAT DI HERTZ ex. fq7150000”);
Serial.println(“sw300000 : SET Sweep RANGE DI HERTZ ex. sw300000 menyapu 300Khz dari Awal Sampai Akhir”);
Serial.println(“frx123 : MULAI MENYAPU mengembalikan F,R,X Total 123 baris. frx3 mengembalikan 3 baris BEGIN,CENTER,END\n“);
}
panjang tmo = 250;
ruang kosong lingkaran()
{
jika (NOL.tersedia())
{
String s = NOL.readStringSampai(‘\n‘);
s.mengganti(“\r“, “”);
Serial.menulis(s.c_str()); // aliran data dari AA ke PC
int saya = s.Indeks(‘,’);
jika (saya > 0)
{
// Parsing string ke float R & X
saya++;
mengambang R = s.substring(saya).toFloat();
int ii = s.substring(saya).Indeks(‘,’);
mengambang X = s.substring(saya + ii + 1).toFloat();
//
// Hitung SWR dari R & X
//
mengambang XX = X * X;
mengambang Rp = (R – 50) * (R – 50);
mengambang Rp = (R + 50) * (R + 50);
mengambang N = persegi(Rp + XX);
mengambang D = persegi(Rp + XX);
mengambang G = N / D;
mengambang vswr = (1 + G) / (1 – G);
// Karena kita tidak bisa mencetak float, kita mendapatkan int & fraction sebagai 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;
jika (v1 < 0)
{
v1 = 99;
v2 = 0;
}
arang z[50];
sprintf(z, “,%d.%02d”, v1, v2); // menghitung swr sebagai string
Serial.menulis(z); // tambahkan ke string
}
Serial.menulis(“\r\n“); // dan akhiri dengan CR LF
tmo = 250;
}
jika (Serial.tersedia())
{
arang c1 = Serial.Baca();
jika (c1 == ‘/’)
{
j = 0;
}
kalau tidak
{
NOL.menulis(c1); // aliran data dari PC ke AA
}
tmo = 250;
}
menunda(1);
jika (—tmo < 0)
{
jika (HamBands[j][0] != 0)
{
untuk (int saya = 0; HamBands[j][saya] != 0; saya++)
{
int ch = HamBands[j][saya];
Serial.menulis(ch);
NOL.menulis(ch);
jika (ch == ‘\n‘)
{
untuk (int d = 0; d < 50; d++)
{
menunda(1);
jika (NOL.tersedia())
{
Serial.menulis(NOL.Baca()); // aliran data dari AA ke PC
}
}
}
}
tmo = 250;
j++;
}
}
}
Bersambung…
RigExpert AA-30.ZERO – Unduhan
perangkat lunak desktop
- Silakan masukkan halaman AntScope atau halaman AntScope2.
Manual pengguna
- Silakan lihat halaman Memulai untuk petunjuk lengkap tentang cara menggunakan penganalisis.
Skema & gambar
- Skema dan BOM.
- gambar PCB (ATAS dan BAWAH).
Ulasan
Belum ada ulasan.