تخفيض!

وحدة محلل هوائي RigExpert AA-30.ZERO

£1,74£18,33

In Stock
رمز المنتج: وحدة RigExpert AA-30.ZERO التصنيفات: , , ,
£18,33

متوفر في المخزون

£5,23£94,32
£2,61£96,06

متوفر في المخزون

الأسعار المعروضة بدون ضريبة القيمة المضافة (مدفوعة في الاتحاد الأوروبي فقط)

الوصف

محلل هوائي dable Vector HF الأكثر تكلفة في العالم! اتصال USB وبرامج مجانية. مستخدمو Arduino: أضف محلل مقاومة متجه ومولد RF إلى مشروعك!

لماذا AA-30.ZERO؟

عند إنشاء AA-30.ZERO ، حققنا الرغبات العديدة لهواة الراديو وهواة الأعمال اليدوية لمنحهم أداة قياس يمكن دمجها بسهولة في مشاريعهم الخاصة. المحلل متاح كمجموعة لتلبية هذا المطلب.

جاهز للاستخدام

يحتوي المحلل على كل ما هو ضروري على متنه: يمكن للمستخدمين توصيل AA-30.ZERO بأجهزة الكمبيوتر الخاصة بهم (من خلال محول USB إلى UART-TTL) وإجراء جميع مجموعات القياسات المعملية المعتادة ، في غضون خمس دقائق فقط. AA-30.ZERO متوافق تمامًا مع برنامج AntScope الخاص بنا.

افعلها بنفسك

يمكن للمستخدمين المتمرسين إقران AA-30.ZERO مع لوحات Arduino مما يجعل مشروع الأجهزة / البرامج الخاصة بهم ، نظرًا لأن AA-30.ZERO متوافق مع معايير Arduino. أيضًا ، وفرنا العديد من الأمثلة لتشغيل AA-30.ZERO في مشاريع DIY.

المزيد من الأفكار:
هل تريد أن تصنع موالف الهوائي الأوتوماتيكي الخاص بك؟ استخدم AA-30.ZERO كبديل للمقرن الاتجاهي!
هل تريد إجراء تحليل دوائر الترددات اللاسلكية أو الهوائي عن بُعد؟ قم بإقران AA-30.ZERO مع ESP8266 Wi-Fi SoM وافعل ذلك بسهولة!
هل تريد ضبط الهوائي باستخدام عناصر مدفوعة؟ استخدم AA-30.ZERO للضبط الدقيق.

السعر والقوة

لا توجد فرصة للعثور على محلل منافس قوي مثل هذا السعر المنخفض. مع AA-30.ZERO ، تتحقق أحلام هواة الراديو!

 

RigExpert AA-30.ZERO - المواصفات

نطاق الترددات: 0.06 إلى 30 ميجا هرتز
إدخال التردد: دقة 1 هرتز
قياس أنظمة 25 و 50 و 75 و 100 أوم

السكن: لا شيء ، ثنائي الفينيل متعدد الكلور فقط - متوفر كمجموعة
عرض: 4 المصابيح
واجهة الاتصالات: UART ، 38400 باود

نطاق قياس SWR: من 1 إلى 100
نطاق R و X: 0… 10000 ، -10000… 10000

خرج RF
• نوع الموصل: SMA
• شكل إشارة الخرج: مربع ، 0.06 إلى 30 ميجاهرتز
• طاقة الإخراج: +13 ديسيبل (عند حمل 50 أوم)

سلطة
• العرض: خارجي 5 فولت
• الاستهلاك الحالي (بحد أقصى) 150 مللي أمبير

البيانات العامة
الأبعاد (العرض × الارتفاع × العمق) ، لوحة الدوائر المطبوعة فقط بدون موصلات: 55 مم × 69 مم × 5 مم (2.1 بوصة × 2.7 بوصة × 0.2 بوصة)
الوزن بدون موصلات: 65 جم (2.29 أونصة)
درجة حرارة التشغيل: 0 ... 40 درجة مئوية (32 ... 104 درجة فهرنهايت)

 

الشروع في العمل مع .ZERO

قبل ان تبدا.

تم تصميم AA-30.ZERO للمستخدمين الذين يحتاجون إلى المرونة والتكلفة المنخفضة والحجم الصغير. يأتي بدون USB أو رؤوس دبوس على اللوحة للحفاظ على انخفاض التكلفة. إنه الخيار الأفضل لنواة القياس التي تريد تركها مضمنة في المشروع.

يرجى ملاحظة أن AA-30.ZERO تعمل بجهد 5 فولت (مثل معظم اردوينو أو متوافق مع اردوينو المجالس).
تأكد من توفير الطاقة الصحيحة واستخدم المكونات / المحولات التي يتطابق جهد تشغيلها مع AA-30.ZERO.

قم بتوصيل AA-30.ZERO بجهاز الكمبيوتر الخاص بك

يأتي AA-30.ZERO بدون دائرة USB مدمجة ، لذلك يجب استخدام محول تسلسلي خارج اللوحة من USB إلى UART-TTL للتواصل مع المحلل.

يمكن لـ AA-30.ZERO التواصل مع الأجهزة الأخرى من خلال أي من واجهتي UART المدمجتين: UART1 (الطرفان 0 / TX1 و 2 / RX1) و UART2 (الطرفان 4 / TX2 و 7 / RX2). بشكل افتراضي ، يتم استخدام UART2.

لإنشاء مشروعنا الأول ، يمكننا الحصول ، على سبيل المثال ، على SparkFun USB UART المسلسل اندلاع.

ربط الصفر بالكمبيوتر

يتم توصيل محول USB2UART بـ AA-30.ZERO باستخدام الأسلاك الملونة.

ملاحظة: قم بتوصيل دبوس TX الخاص بمحول USB بدبوس RX بلوحة جهاز الكمبيوتر الشخصي ، ثم قم بتوصيل دبوس RX الخاص بمحول USB بدبوس TX للمحلل.
صفر زائد usb2uart التجريبي
قم بتوصيل USB2UART بجهاز الكمبيوتر الخاص بك باستخدام كبل USB قياسي.

يرجى التأكد من أن نظام التشغيل يتعرف على محول USB إلى UART ويقوم بتثبيت برنامج التشغيل:
snapcrab_noname_2017-10-20_12-17-20_no-00

تثبيت برنامج AntScope

لو سمحت قم بتنزيل برنامج AntScope، افتح الأرشيف واستخرج الملفات (مع الدلائل الفرعية) في مكان عملك ، ثم قم بتشغيل AntScope.exe:
snapcrab_antscope_2017-10-20_15-21-53_no-00

إذا لم يكتشف برنامج AntScope AA-30.ZERO تلقائيًا ، فيرجى تحديد نوع الجهاز المتصل في قائمة التهيئة:
اختيار- aa-30

يرجى التأكد من تعيين رقم منفذ COM بشكل صحيح:
اختيار التوافق

تهانينا! الآن كل شيء جاهز للقياس الأول!

ابدأ القياس
قم بتوصيل AA-30.ZERO بالهوائي الخاص بك (أو بعض الأحمال الأخرى التي ترغب في قياسها) باستخدام محول كابل مرن ، ثم انقر فوق رمز نطاق المسح أسفل شريط القائمة:
قياسات الجري

انقر فوق الزر "تعيين النطاق الكامل" وانقر فوق "موافق" للبدء:
snapcrab_scan_2017-10-20_15-46-42_no-00

لاحظ وميض LED على لوحة الكمبيوتر الشخصي إذا كان AA-30.ZERO…

بعد ثوانٍ قليلة ، يتم عرض النتيجة:
snapcrab_1-antscope_2017-10-20_16-8-45_no-00

برنامج AntScope2

إصدار أحدث من برنامج سطح المكتب يسمى AntScope2، متاح؛ تعليمات مماثلة لتلك المذكورة أعلاه.

إقران AA-30.ZERO مع Arduino Uno

 

تثبيت الرؤوس
يتم تزويد AA-30.ZERO بمجموعة رؤوس انفصالية مستقيمة:
عرض الجانب العلوي

إذا كنت تريد توصيل المحلل الخاص بك بلوحة Arduino ، فيجب عليك أولاً لحام الرؤوس المنفصلة. بعد ذلك ، ما عليك سوى توصيل AA-30.ZERO بلوحة Arduino:
يقترن .ZERO مع Arduino Uno

استخدام دبابيس

  • D0 - واجهة UART 1 ، TX ، خرج البيانات
  • D1 - واجهة UART 1 ، RX ، البيانات بتنسيق
  • D4 - واجهة UART 2 ، TX ، خرج البيانات
  • D7 - واجهة UART 2 ، RX ، البيانات بتنسيق

يمكنك اختيار واجهة UART التي تريد استخدامها ، عن طريق إعادة لحام وصلات العبور:
وصلات العبور uart-selector
بشكل افتراضي ، تستخدم AA-30.ZERO واجهة UART2.

تثبيت Arduino IDE وتجميع مشروعك الأول

قم بتجميع وتشغيل رسم بسيط للغاية على لوحة Arduino الخاصة بك. تنزيل وتثبيت اردوينو IDE.

// جسر UART لتبادل البيانات بين
// RigExpert AA-30 زيرو محلل هوائي وكابل واردوينو أونو
//
// يستقبل من Arduino ، ويرسل إلى AA-30 ZERO.
// يستقبل من AA-30 ZERO ، ويرسل إلى Arduino.
//
// 26 يونيو 2017 ، Rig Expert Ukraine Ltd.
//
1TP42 بما في ذلك "SoftwareSerial.h"
حدد RX0_Pin 0
# تعريف TX0_Pin 1
حدد RX1_Pin 4
# تعريف TX1_Pin 7حدد HW_SERIAL#ifndef HW_SERIAL
البرامج(RX1_Pin ، TX1_Pin); // RX ، TX
1TP42فارغ اقامة() {
#ifdef HW_SERIAL
pinMode(RX0_Pin ، INPUT);
pinMode(TX0_Pin ، الإخراج);pinMode(RX1_Pin ، الإدخال);
pinMode(TX1_Pin ، الإخراج);
#else
صفر.يبدأ(38400); // init AA جانب UART
صفر.دافق()
مسلسل.يبدأ(38400); // init جانب الكمبيوتر UART
مسلسل.دافق();
1TP42
}

فارغ عقدة() {
#ifdef HW_SERIAL
// digitalWrite (TX0_Pin ، قراءة رقمية (RX1_Pin)) ؛
// digitalWrite (TX1_Pin ، قراءة رقمية (RX0_Pin)) ؛
إذا (PIND & (1 << 4)) بورتد |= (1 << 1); آخر بورتد &= ~(1 << 1);
إذا (PIND & (1 << 0)) بورتد |= (1 << 7); آخر بورتد &= ~(1 << 7);

#else  
إذا (صفر.متوفرة()) مسلسل.اكتب(صفر.قرأ()); // دفق البيانات من AA إلى الكمبيوتر الشخصي
إذا (مسلسل.متوفرة()) صفر.اكتب(مسلسل.قرأ()); // دفق البيانات من جهاز الكمبيوتر إلى AA
1TP42  
}

يوفر رمز "المكرر التسلسلي" البسيط هذا اتصالًا ثنائي الاتجاه بين الكمبيوتر ولوحة المحلل. بالمناسبة ، نظرًا لأن لوحة Arduino تعمل الآن كمكرر ، يمكنك تنفيذ أي كود فيها وتعديل تبادل البيانات بين جهاز الكمبيوتر الخاص بك و AA-30.ZERO.

بروتوكول الاتصال التسلسلي

منذ أن تم تصنيع AA-30.ZERO للهواة الذين يرغبون دائمًا في بناء شيء مثير للاهتمام ، كان علينا الاهتمام بمنح المزيد من الحرية لمستخدمي المحلل.

باستخدام الأوامر المدرجة أدناه ، لا يمكنك قياس معلمات الهوائيات والكابلات فحسب ، بل يمكنك أيضًا أتمتة المحلل الخاص بك ، مثل جعله يقوم تلقائيًا بإجراء قياسات دورية فور توصيل الطاقة. قد يكون هذا مفيدًا ، على سبيل المثال ، في حالة عندما يكون الجهاز جزءًا من نظام أكثر تعقيدًا ، على سبيل المثال ، موالف الهوائي.

بروتوكول الاتصالات

يأمر وصف إجابة
الإصدار إرجاع نوع المحلل وإصدار البرنامج الثابت AA-30 زيرو XXX
fqXXXXXXXXX اضبط تردد المركز على XXXXXXXXX هرتز نعم
swXXXXXXXXX قم بتعيين نطاق المسح على XXXXXXXXX Hz نعم
frxNNNN إجراء قياسات NNNN في النطاق المحدد تردد الخرج (MHz) ، R و X لكل قياس

مثال:

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

عرض مرئي للمعلومات

واحدة من أبسط الطرق لتصور نتائج القياس هي إنشاء التطبيق الخاص بك 🙂

تثبيت معالجة IDE
أولاً ، قم بتنزيل وتثبيت ملف IDE المعالجة. بعد تثبيت برنامج IDE ، دعنا نجمع هذا الرسم البسيط:

// التصور ثلاثي الأبعاد لقياسات SWR
// للحصول على محلل هوائي وكابل RigExpert AA-30 ZERO مع Arduino Uno
//
// يستقبل البيانات من AA-30 ZERO ويجعل السطح
// وهو تصور لـ SWR كدالة للوقت
//
// 26 يونيو 2017 ، Rig Expert Ukraine Ltd.
//
معالجة الاستيراد.مسلسل.*;المسلسل صفر;
int خطوة; // خطوات بروتوكول الاتصال (0 - تعيين التكرار ؛ 1 - مجموعة النطاق ؛ 2 - بدء القياسات)int maxSamples = 100; // عدد النقاط المراد قياسها
int maxSets = 50; // عمق الوقت
يطفو نقاط[][]; // قياسات البيانات
int عينة; // العينة الحالية
int تعيين; // مجموعة البيانات الحالية
int الألوان[]; // لون المنحنى
int المجموع; // مجموع العينات التي تم الحصول عليها
منطقية جاهزة; // إعادة رسم الشاشة إذا كان صحيحًا
int تكرار; // التردد الحالي
int نطاق; // النطاق الحالي// كود لإرسال الأمر إلى المحلل
فارغ تسلسل(سلسلة كمد) {
int لين = كمد.الطول();
int شاربوس = 0;
في حين (لين != 0) {
صفر.اكتب(كمد.charAt(شاربوس));
شاربوس++;
}
}// وظيفة حساب SWR
// Z0 - مقاومة النظام (أي 50 لنظام 50 أوم)
// R - قيمة R المقاسة
// X - قيمة X المقاسة
يطفو احسب(يطفو Z0 ، يطفو R ، يطفو X) {
يطفو SWR ، جاما;
يطفو XX = X * X;
يطفو المقام - صفة مشتركة - حالة = (ص + Z0) * (ص + Z0) + XX;
إذا (المقام - صفة مشتركة - حالة == 0) {
إرجاع 1E9;
} آخر {
يطفو ل = (ص  Z0) * (ص  Z0);
يطفو ر = (ل + XX);
ر = ر / المقام - صفة مشتركة - حالة;
جاما = الجذر التربيعي(ر); // دائمًا> = 0
// ملاحظة:
// جاما == -1 انعكاس سلبي كامل ، عندما يكون الخط قصير الدائرة
// جاما == 0 لا انعكاس ، عندما يكون الخط متطابقًا تمامًا
// Gamma == +1 انعكاس إيجابي كامل ، عندما يكون الخط مفتوحًا
إذا (جاما == 1.0) {
SWR = 1E9;
} آخر {
SWR = (1 + جاما) / (1  جاما);
}
}

// إرجاع القيم
إذا ((SWR > 200) || (جاما > 0.99)) {
SWR = 200;
} آخر إذا (SWR < 1) {
SWR = 1;
}
إرجاع SWR;
}

فارغ اقامة() {
تكرار = 115000000;
نطاق = 230000000;
عينة = 0;
تعيين = 1;
خطوة = 0;
نقاط = الجديد يطفو[maxSets + 1][maxSamples + 1];
الألوان = الجديد int[maxSets + 1];
جاهز = خاطئة;
المجموع = 0;

معرفتي(0);
السكتة الدماغية(120240255255);
الوزن(1);
بحجم(640480، P3D);

printArray(مسلسل.قائمة());
// استبدل اسم COM بآخر يطابق شروطك
صفر = الجديد مسلسل(هذه"COM21"38400);
صفر.عازلة حتى(13);
تأخير(1000);
تسلسل("SW0\ r);
}

فارغ رسم السطح() {
جاهز = خاطئة;
أضواء();
يطفو ص = 0.001 * الإطار;
كاميرا((العرض / 3) * الخطيئة(ص)0800، العرض / 2، ارتفاع / 20010);

معرفتي(000);
حجم الخط(30);
يملأ(255255255);
// —————- المحور ————————
السكتة الدماغية(255255255128);
خط(0، ارتفاع، 0، عرض ارتفاع، 0);

خط(0000، ارتفاع، 0);
خط(العرض، 00، عرض ارتفاع، 0);

خط(0، ارتفاع، 5 * maxSets 0، ارتفاع، 0);
خط(العرض / 2، ارتفاع، 5 * maxSets ، العرض / 2، ارتفاع، 0);
خط(عرض ارتفاع، 5 * maxSets ، عرض ، ارتفاع ، 0);

// —————- التكرار. علامات —————-
السكتة الدماغية(255255255128);
خط(العرض / 200، العرض / 2، ارتفاع، 0);
محاذاة(المركز);
نص(تكرار / 1E3 + "كيلو هرتز"، العرض / 2، ارتفاع، 5 * maxSets);
نص(((تكرار / 1E3)  (نطاق / 2E3)) + "كيلو هرتز"0، ارتفاع، 5 * maxSets);
نص(((تكرار / 1E3) + (نطاق / 2E3)) + "كيلو هرتز"، عرض ارتفاع، 5 * maxSets);

// —————– عنوان الوضع ——————
محاذاة(اليسار);
حجم الخط(36);
نص("SWR كدالة للرسم البياني الزمني"01000);
حجم الخط(30);
إذا (فأري < ارتفاع / 5) {
إذا (الماوس < العرض / 2) {
يملأ(25500);
محاذاة(حقا);
نص("F =" + تكرار / 1E3 + "كيلو هرتز"، العرض / 2  50500);
يملأ(255255255);
محاذاة(اليسار);
نص("النطاق =" + نطاق / 1E3 + "كيلو هرتز"، العرض / 2 + 50500);
} آخر {
يملأ(255255255);
محاذاة(حقا);
نص("F =" + تكرار / 1E3 + "كيلو هرتز"، العرض / 2  50500);
يملأ(25500);
محاذاة(اليسار);
نص("النطاق =" + نطاق / 1E3 + "كيلو هرتز"، العرض / 2 + 50500);
}
} آخر {
يملأ(255255255);
محاذاة(حقا);
نص("F =" + تكرار / 1E3 + "كيلو هرتز"، العرض / 2  50500);
محاذاة(اليسار);
نص("النطاق =" + نطاق / 1E3 + "كيلو هرتز"، العرض / 2 + 50500);
}

// احصل على أقصى الحدود
يطفو مينف = 1E9;
يطفو maxV = 1E9;
إلى عن على (int أنا = 0; أنا  < تعيين; أنا++) {
إلى عن على (int ي = 0; ي  < maxSamples + 1; ي++) {
إذا (نقاط[أنا][ي] > maxV) maxV = نقاط[أنا][ي];
إذا (نقاط[أنا][ي] > maxV) مينف = نقاط[أنا][ي];
}
}

println("الحد الأدنى =" + مينف + "؛ ماكس = " + maxV);
مينف = 1;
إذا (maxV < 2) maxV = 2;
آخر إذا (maxV < 5) maxV = 5;
آخر إذا (maxV < 10) maxV = 10;
آخر maxV = 100;
يطفو ح = العرض / maxSamples;
يطفو vK = ارتفاع / (maxV  مينف);
يطفو ضك = 2;

// —————– ارسم علامات أفقية —————–
يملأ(255255255);
محاذاة(حقا);
خط(0، ارتفاع  vK ، 0، عرض ارتفاع  vK ، 0); // SWR = 2
نص("SWR = 2.0"0، ارتفاع  vK ، 0);
خط(0، ارتفاع  2 * vK ، 0، عرض ارتفاع  2 * vK ، 0); // SWR = 3
نص("SWR = 3.0"0، ارتفاع  2 * vK ، 0);
خط(0، ارتفاع  4 * vK ، 0، عرض ارتفاع  4 * vK ، 0); // SWR = 5
نص("SWR = 5.0"0، ارتفاع  4 * vK ، 0);

// ارسم الخطوط
إلى عن على (int أنا = 0; أنا < تعيين; أنا++) {
إذا (الألوان[أنا] % 5 == 0) السكتة الدماغية(25500255 * أنا / تعيين);
آخر السكتة الدماغية(120240255255 * أنا / تعيين);

إلى عن على (int ي = 1; ي < maxSamples + 1; ي++) {
// ارسم فقط إذا كانت SWR <100.0
إذا (نقاط[أنا][ي  1] < 100) {
خط((ي  1) * ارتفاع  (نقاط[أنا][ي  1]  1) * vK ، أنا * ضك ، ي * ارتفاع  (نقاط[أنا][ي]  1) * vK ، أنا * ضك);  // معالجة البيانات الواردة باطلة serialEvent (المسلسل p) {String inString؛ inString = p.readString () ، إذا (inString.indexOf (“OK”)> = 0) {
}
}
}
} فارغ سحب() {
إذا (جاهز) {
رسم السطح();
}
}
تحول (خطوة) {
قضية 0: تسلسل("FQ" + تكرار + \ r);
خطوة = 1;
فترة راحة;

قضية 1: تسلسل("جنوب غربي" + نطاق + \ r);
خطوة = 2;
فترة راحة;

قضية 2: تسلسل("FRX" + شارع(maxSamples) + \ r);
خطوة = 0;
عينة = 0;
إذا (تعيين == maxSets) {
// تحول المنحنيات للخلف
إلى عن على (int أنا = 1; أنا < maxSets + 1; أنا++) {
الألوان[أنا  1] = الألوان[أنا];
إلى عن على (int ي = 0; ي < maxSamples + 1; ي++) {
نقاط[أنا  1][ي] = نقاط[أنا][ي];
}
}
} آخر {
تعيين++;
}
الألوان[تعيين] = المجموع++;
جاهز = حقيقي;
فترة راحة;
}

} آخر {
يطفو[] الأعداد = يطفو(ينقسم(inString ، ‘,’));
إذا (الأعداد.الطول == 3) {
يطفو SWR = احسب(50، الأعداد[1]، الأعداد[2]);
نقاط[تعيين][عينة] = SWR;
عينة++;
}
}
}

// تغيير قيم التردد والمدى بواسطة عجلة الماوس
فارغ عجلة الفأرة(حدث MouseEvent) {
يطفو ه = حدث.getCount();
إذا (فأري < ارتفاع / 5) {
إذا (الماوس < العرض / 2) { // تغيير التكرار. إذا (التردد> 1E5) {
تكرار += ه * 100000;
رسم السطح();
}
} آخر {
// تغيير المدى
إذا (نطاق > 1E5) {
نطاق += ه * 1E5;
رسم السطح();
}
}
}
}

ملاحظة هامة
يرجى التأكد من استخدام رقم COM الصحيح هنا:

صفر = الجديد مسلسل(هذه"COM16"115200);

تشغيل رسم المعالجة
بعد نسخ الرسم التخطيطي إلى محرر IDE ، اضغط على زر RUN:
تشغيل-تجهيز-رسم
بعد بضع ثوانٍ ، سيتم عرض نتائج القياس على شاشتك ، مثل هذا:
snapcrab_aa_30_zero_surface_2017-10-24_14-35-6_no-00

 

دعنا نقارن الرسومات الناتجة مع المخطط الذي يرسمه برنامج AntScope:

antscope مقابل المعالجة المقارنة

للحصول على تشابه 100% ، سيتعين عليك اللعب قليلاً بمقياس لوغاريتمي.

ملفات المصدر للبدء منها
يمكنك تنزيل ملفات المصدر من ملف مستودع جيثب.

صديقنا إدوارد مارش (WB9RAA) قام بعمل رسم تخطيطي لـ Arduino ، والذي يوزع الخط F و R و X ويضيف SWR أثناء الطيران.

// جسر UART لتبادل البيانات بين
// RigExpert AA-30 زيرو محلل هوائي وكابل واردوينو أونو
//
// يستقبل من Arduino ، ويرسل إلى AA-30 ZERO.
// يستقبل من AA-30 ZERO ، ويرسل إلى Arduino.
//
// 26 يونيو 2017 ، Rig Expert Ukraine Ltd.
//
بما في ذلكالبرامج(47); // RX ، TX
//
// تم التعديل بواسطة WB9RAA Ed March
// 6 يناير 2018
//
// محادثات إلى AA-30 Zero عند 38400 باود و
// اجعل البيانات مناسبة لمخطط جدول البيانات
//
// قم بمسح جميع نطاقات لحم الخنزير في حوالي 10 كيلو متري. خطوات
// يحسب SWR أثناء التنقل بحيث يكون كل سطر من النص
// المرسل هو: "Freq، R، X، SWR \ r \ n"
// مختلطًا بأوامر OK و fq sw frx أيضًا
// تم تجميعه مع Arduino IDE 1.8.5
// إجمالي وقت المسح حوالي 25 ثانية لنطاقات 160M-10M.
//
// مخططات أسرع باستخدام "frx3" على جميع النطاقات ، لذلك تتم طباعة التكرار المركزي والحافة فقط.
// أفكار أخرى ، اكتساح 1..30 ميجا هرتز وطباعة F و R و X و SWR فقط عندما يكون SWR أقل من 2.0
//int ي;
شار العصابات[][35] = {
{ \ rالإصدار\ r } , //0
{ "fq1900000\ rsw200000\ rfrx20\ r }//1{ "fq3750000\ rsw500000\ rfrx50\ r }//2{ "fq5331900\ rsw2800\ rfrx3\ r }//3
{ "fq5347900\ rsw2800\ rfrx3\ r }//4
{ "fq5358900\ rsw2800\ rfrx3\ r }//5
{ "fq5404900\ rsw2800\ rfrx3\ r }//6

{ "fq7150000\ rsw300000\ rfrx35\ r }//7

{ "fq10125000\ rsw50000\ rfrx10\ r }//8

{ "fq14150000\ rsw300000\ rfrx30\ r }//9

{ "fq18118000\ rsw100000\ rfrx10\ r }//10

{ "fq21225000\ rsw450000\ rfrx45\ r }//11

{ "fq24940000\ rsw100000\ rfrx10\ r }//12

{ "fq28985000\ rsw1970000\ rfrx50\ r }//13
{ “” }// علامة النهاية // 14
//

};

فارغ اقامة()
{
صفر.يبدأ(38400); // init AA جانب UART
صفر.دافق();
صفر.setTimeout(2500);
مسلسل.يبدأ(38400); // init جانب الكمبيوتر UART
مسلسل.دافق();
تأخير(50);
ي = 0;
مسلسل.println(\ rمشروع AA-30Zero الإصدار 2010107A بواسطة Ed March WB9RAA);
مسلسل.println(استخدام محلل الهوائي RigExpert "AA-30 Zero"امسح جميع نطاقات هام 1..30 ميجا هرتز.عند الانتهاء اضغط / للتشغيل مرة أخرى. وإلا اكتب الأوامر إلى AA-30 Zero);
مسلسل.println("AA-30 صفر أوامر");
مسلسل.println("ver: احصل على نسخة من AA FIRMWARE");
مسلسل.println("fq1234567: تعيين تردد المركز في HERTZ ex. fq7150000 ");
مسلسل.println("sw300000: اضبط النطاق السريع في HERTZ ex. sw300000 تكتسح 300 كيلو هرتز من البداية إلى النهاية ");
مسلسل.println("frx123: بدء SWEEPING بإرجاع F ، R ، X إجمالي 123 سطرًا. يقوم frx3 بإرجاع 3 أسطر BEGIN و CENTER و END);
}
طويل tmo = 250;

فارغ عقدة()
{
إذا (صفر.متوفرة())
{
سلاسل = صفر.readStringUntil();
س.يحل محل(\ r“”);
مسلسل.اكتب(س.ج_ستر()); // دفق البيانات من AA إلى الكمبيوتر الشخصي

int أنا = س.دليل ل(‘,’);
إذا (أنا > 0)
{
// تحليل السلسلة إلى عوامات R & X
أنا++;
يطفو ص = س.سلسلة فرعية(أنا).تعويم();
int ثانيا = س.سلسلة فرعية(أنا).دليل ل(‘,’);
يطفو X = س.سلسلة فرعية(أنا + ثانيا + 1).تعويم();
//
// حساب SWR من R & X
//
يطفو XX = X * X;
يطفو جمهورية مقدونيا = (ص  50) * (ص  50);
يطفو ر = (ص + 50) * (ص + 50);
يطفو ن = الجذر التربيعي(جمهورية مقدونيا + XX);
يطفو د = الجذر التربيعي(ر + XX);
يطفو جي = ن / د;
يطفو vswr = (1 + جي) / (1  جي);
// نظرًا لأننا لا نستطيع طباعة العوامات فإننا نحصل على الكسور والكميات على أنها 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 الإصدار 1 = vswr;
int الإصدار 2 = (vswr  الإصدار 1) * 100;
إذا (الإصدار 1 < 0)
{
الإصدار 1 = 99;
الإصدار 2 = 0;
}
شار ض[50];
سبرينتف(ض ، “,%d.%02d”، v1 ، v2); // comput swr كسلسلة
مسلسل.اكتب(ض); // إلحاق بسلسلة
}
مسلسل.اكتب(\ r); // و terninate كما كان مع CR LF
tmo = 250;
}
إذا (مسلسل.متوفرة())
{
شار ج 1 = مسلسل.قرأ();
إذا (ج 1 == ‘/’)
{
ي = 0;
}
آخر
{
صفر.اكتب(ج 1); // دفق البيانات من جهاز الكمبيوتر إلى AA
}
tmo = 250;
}
تأخير(1);
إذا (tmo < 0)
{
إذا (العصابات[ي][0] != 0)
{
إلى عن على (int أنا = 0; العصابات[ي][أنا] != 0; أنا++)
{
int الفصل = العصابات[ي][أنا];
مسلسل.اكتب(الفصل);
صفر.اكتب(الفصل);
إذا (الفصل == )
{
إلى عن على (int د = 0; د < 50; د++)
{
تأخير(1);
إذا (صفر.متوفرة())
{
مسلسل.اكتب(صفر.قرأ()); // دفق البيانات من AA إلى الكمبيوتر الشخصي
}
}
}
}
tmo = 250;
ي++;
}
}
}

 

يتبع…

RigExpert AA-30.ZERO - التنزيلات

برنامج سطح المكتب

برنامج AntScope

كتيبات المستخدم

  • الرجاء مراجعة صفحة البدء للحصول على إرشادات كاملة حول كيفية استخدام المحلل.

المخططات والرسومات

معلومات إضافية

المراجعات

لا توجد مراجعات بعد.

يسمح فقط للزبائن مسجلي الدخول الذين قاموا بشراء هذا المنتج ترك مراجعة.