Сообщения без ответов | Активные темы
Автор |
Сообщение |
RM1F
|
Заголовок сообщения: Согласующее устройство с автоматическим КСВ-метром Добавлено: Пн 04 мар 2019 21:37 |
|
Зарегистрирован: Вт 02 май 2017 15:39 Сообщений: 196 Откуда: KO59FW
|
Поделюсь с коллегами своим творчеством. Собственно, в названии темы все сказано
Вложения: |
Antenna Tuner.jpg [ 47.71 Кб | Просмотров: 15513 ]
|
_________________ 73, Влад RM1F
|
|
Вернуться наверх |
|
|
RM1F
|
Заголовок сообщения: Re: Согласующее устройство с автоматическим КСВ-метром Добавлено: Пн 04 мар 2019 21:51 |
|
Зарегистрирован: Вт 02 май 2017 15:39 Сообщений: 196 Откуда: KO59FW
|
Тюнер собран по стандартной Т-образной схеме. Рефлектометр также по стандартной схеме. Измеритель КСВ реализован на Arduino-совместимой плате RobotDyn Nano v3, напряжения падающей и отраженной волн подаются на входы встроенного АЦП, и программным способом вычисляется значение КСВ. Значение КСВ индицируется стрелочным прибором, шкала которого проградуирована непосредственно в значениях КСВ. Автоматический цифровой вычислитель позволяет добиться того, что индицируемое значение КСВ стабильно в диапазоне мощностей от 10 Вт до примерно 300 Вт.
Вложения: |
IMG_0665.jpg [ 72.36 Кб | Просмотров: 15507 ]
|
_________________ 73, Влад RM1F
|
|
Вернуться наверх |
|
|
RM1F
|
Заголовок сообщения: Re: Согласующее устройство с автоматическим КСВ-метром Добавлено: Пн 04 мар 2019 22:11 |
|
Зарегистрирован: Вт 02 май 2017 15:39 Сообщений: 196 Откуда: KO59FW
|
Ну и прошивка (скетч) ардуинки: Код: /* Измеритель КСВ на ардуинке. * Аппаратура: RobotDyn Nano v3, ATMega 328P * (c) RM1F 2019 */
// Для моей платы настройки: // плата Arduino Nano // процессор ATMega328 (old bootloader) - это важно! // программатор ArduinoISP.org // порт COM84
#include "Arduino.h" // for digitalRead and digitalWrite #include <limits.h>
// ====== START CONFIGURATION SETTINGS ======== // Скорость порта для отладки #define BAUD_RATE (115200)
// I/O pin definitions
// встроенный синий светодиод на плате: (13) for built-in LED on UNO // #define LED_BUILTIN (13)
// аналоговый вход для падающей волны (FWD) #define FWD_PIN (0) // аналоговый вход для отраженной волны (REF) #define REF_PIN (1) // выходной контакт на прибор, будет использоваться ШИМ выход #define OUT_PIN (3) // индикатор включения или перегрузки #define LED_PIN (7) #define LED_FLASH_PERIOD (250)
// максимальный SWR #define MAX_SWR (20) // длительность цикла поллинга в миллисекундах #define TIME_SLOT (50)
// максимальное значение АЦП const int AD_MAX = 1023;
// когда включать индикацию перегрузки ADC (90% max) const int ADC_OVERLOAD = 920;
// не реагировать на слишком маленькие значения FWD и REF - могут быть наводки const int ADC_LOW_LIMIT = 4;
// константы для сглаживания const float alphaFwd = 0.5; const float alphaRef = 0.5;
// измеренные значения падающей и отраженной волн int forward = 0; int reflected = 0;
// фиксируем момент перегрузки bool overload = false; int overloadCount = 0;
int math_round(float x);
//===================== собственно работа =======================
void setup() { // put your setup code here, to run once: Serial.begin(BAUD_RATE);
// the A/D inputs pinMode(FWD_PIN, INPUT); pinMode(REF_PIN, INPUT); // выход pinMode(OUT_PIN, OUTPUT); // индикатор включения pinMode(LED_PIN, OUTPUT); analogWrite(OUT_PIN, 0); digitalWrite(LED_PIN, HIGH); }
void loop() { // put your main code here, to run repeatedly:
forward = (alphaFwd * analogRead(FWD_PIN)) + ((1.0 - alphaFwd) * forward); reflected = (alphaRef * analogRead(REF_PIN)) + ((1.0 - alphaRef) * reflected);
// что вывести на приборчик - соотношение ref/fwd float ratio = 0.; if (reflected <= ADC_LOW_LIMIT) { ratio = 0.; } else if (reflected >= forward) { ratio = 1.0; } else { ratio = (float)reflected / (float)forward; } // индикация перегрузки overload = (forward >= ADC_OVERLOAD || reflected >= ADC_OVERLOAD); if (overload) { overloadCount = ++overloadCount % 10; if (overloadCount == 0) digitalWrite(LED_PIN, digitalRead(LED_PIN)^1); } else { digitalWrite(LED_PIN, HIGH); overloadCount = 0; // ШИМ выходного пина int val = math_round(ratio * UCHAR_MAX); analogWrite(OUT_PIN, val); } delay(TIME_SLOT); }
int math_round(float x) { return (int)(x + 0.5); }
_________________ 73, Влад RM1F
|
|
Вернуться наверх |
|
|
RA1CAG
|
Заголовок сообщения: Re: Согласующее устройство с автоматическим КСВ-метром Добавлено: Пн 04 мар 2019 22:53 |
|
Зарегистрирован: Вт 22 ноя 2011 00:44 Сообщений: 1423 Откуда: Eastside Murino
|
Как ведет себя МК, при большом КСВ и мощности 100 Вт?
|
|
Вернуться наверх |
|
|
RM1F
|
Заголовок сообщения: Re: Согласующее устройство с автоматическим КСВ-метром Добавлено: Вт 05 мар 2019 10:13 |
|
Зарегистрирован: Вт 02 май 2017 15:39 Сообщений: 196 Откуда: KO59FW
|
Прекрасно ведет себя даже при 300 Вт и КСВ (СУ не настроено) порядка 8...10. Даже в этом случае наводок не отмечаю. Хотя более правильным мне представляется следующий подход: сначала при сравнительно небольшой мощности (порядка 30-40 Вт) добиться хорошего согласования с антенной, чтобы КСВ был где-нибудь 1,1 ... 1,5, затем увеличить мощность и при необходимости подстроить СУ. Хотя пока такой необходимости не возникало, настройка СУ при мощности 30-40 Вт и 300 Вт совпадает. Раньше была другая проблема: я использовал несколько другую схемотехнику рефлектометра - вот там да, при большой мощности и солидном КСВ иногда "выгорали" элементы рефлектометра. (Был другой делитель и диоды 1Д507 - вот они и выгорали... всего 30 В обратного напряжения. ) Ну да сам рефлектометр первоначально был рассчитан на меньшую мощность, 20-30 Вт. Сейчас я его пересчитал и перебрал. (Ну и ежели модераторы читают эту ветку, вопрос: как спрятать под кат код скетча?)
_________________ 73, Влад RM1F
|
|
Вернуться наверх |
|
|
RA1AGX
|
Заголовок сообщения: Re: Согласующее устройство с автоматическим КСВ-метром Добавлено: Ср 06 мар 2019 16:37 |
|
Зарегистрирован: Чт 25 дек 2008 01:00 Сообщений: 117 Откуда: С. Перербург
|
А кто нибудь применял КСВ метры отсюда - https://www.rv3yf.com/shop-8 ??
_________________ Всё будет так, как должно быть, даже если будет иначе. (восточная мудрость)
|
|
Вернуться наверх |
|
|
RM1F
|
Заголовок сообщения: Re: Согласующее устройство с автоматическим КСВ-метром Добавлено: Вт 19 мар 2019 17:21 |
|
Зарегистрирован: Вт 02 май 2017 15:39 Сообщений: 196 Откуда: KO59FW
|
RA1AGX писал(а): А кто нибудь применял КСВ метры отсюда - https://www.rv3yf.com/shop-8 ?? Ну, выглядит оно на фото вполне прилично. Если все сделано по фен-шую, то не думаю, что с КСВ-метрами от RV3YF будут какие-нибудь проблемы. Вообще же КСВ-метр по моему скромному мнению не шибко сложная штука, отнюдь не рокет сайенс Самый "хитрый" узел - это первичный датчик, рефлектометр. Если он дает правильные показания падающей и отраженной волн, то посчитать КСВ - это уже детская забава. А вот если он врет - то никакими ухищрениями уже не поможешь. Я сначала изготовил рефлектометр точно "по расчету". Ну, думаю, если что - подстроечниками "слабину" выберу. Ан нет! Пришлось подбирать дополнительные конденсаторы в нижних плечах (на схеме по 56 пФ). Вот после этого рефлектометр сбалансировался на удивление хорошо и в широком диапазоне - проверял от 3,5 до 28 МГц. Балансировал, кстати, по настоящему олдскульному советскому еще стрелочному прибору ТЛ-4М, потому что на китайский тестер 830 пошли наводки (даже при небольшой мощности), и он показывал все, что угодно, вплоть до температуры на Марсе, но только не величину отраженной волны
_________________ 73, Влад RM1F
|
|
Вернуться наверх |
|
|
RL1L
|
Заголовок сообщения: Re: Согласующее устройство с автоматическим КСВ-метром Добавлено: Вт 19 мар 2019 22:01 |
|
Зарегистрирован: Пт 26 фев 2016 21:49 Сообщений: 1087 Откуда: Славянка
|
RM1F писал(а): RA1AGX писал(а): А кто нибудь применял КСВ метры отсюда - https://www.rv3yf.com/shop-8 ?? Балансировал, кстати, по настоящему олдскульному советскому еще стрелочному прибору ТЛ-4М, потому что на китайский тестер 830 пошли наводки (даже при небольшой мощности), и он показывал все, что угодно, вплоть до температуры на Марсе, но только не величину отраженной волны Я по 830 нормально балансировал, нет ни каких наводок. На фото один из моментов настройки.
Вложения: |
DSC_0041.JPG [ 229.89 Кб | Просмотров: 14907 ]
|
DSC_0040.JPG [ 229.24 Кб | Просмотров: 14907 ]
|
_________________ Анатолий Анатольевич. ex.( RA0C, EY9AF, RA6XPL, RA6PS, RA6PGY).
|
|
Вернуться наверх |
|
|
RM1F
|
Заголовок сообщения: Re: Согласующее устройство с автоматическим КСВ-метром Добавлено: Вт 19 мар 2019 22:36 |
|
Зарегистрирован: Вт 02 май 2017 15:39 Сообщений: 196 Откуда: KO59FW
|
RL1L писал(а): Я по 830 нормально балансировал, нет никаких наводок. Вполне допускаю, значит, это у меня звезды так неудачно сошлись Но у меня 830-й чуточку другой.... возможно, это и сыграло роль?
_________________ 73, Влад RM1F
|
|
Вернуться наверх |
|
|
RM1F
|
Заголовок сообщения: Re: Согласующее устройство с автоматическим КСВ-метром Добавлено: Ср 16 сен 2020 13:04 |
|
Зарегистрирован: Вт 02 май 2017 15:39 Сообщений: 196 Откуда: KO59FW
|
По просьбе одного из (более молодых) коллег небольшое дополнение: Измеритель индицирует на самом деле соотношение отраженной и падающей волн - Uотр/Uпад, однако это соотношение однозначно определяет КСВ. В соответствии с этим и отградуирована шкала прибора P1. Вложение:
Шкала.jpg [ 9.41 Кб | Просмотров: 11328 ]
Настройка измерителя проста: Подайте от вспомогательного источника напряжения (например, "пальчиковой" батарейки или от резистивного делителя) напряжение порядка 1.5-4 В одновременно на оба входа измерителя и вращением движка резистора R9 установите стрелку на конец шкалы (КСВ=бесконечности). Снимите напряжение со входа отраженной волны и убедитесь, что стрелка прибора установилась на начало шкалы (КСВ=1). Все!
_________________ 73, Влад RM1F
|
|
Вернуться наверх |
|
|
RL1L
|
Заголовок сообщения: Re: Согласующее устройство с автоматическим КСВ-метром Добавлено: Чт 21 янв 2021 11:35 |
|
Зарегистрирован: Пт 26 фев 2016 21:49 Сообщений: 1087 Откуда: Славянка
|
Владимир, а можно к схеме кнопку или тумблер приладить, что бы в основном КСВ метр показывал прямую волну, а КСВ только при замыкании кнопки (тумблера)?
_________________ Анатолий Анатольевич. ex.( RA0C, EY9AF, RA6XPL, RA6PS, RA6PGY).
|
|
Вернуться наверх |
|
|
RM1F
|
Заголовок сообщения: Re: Согласующее устройство с автоматическим КСВ-метром Добавлено: Пт 22 янв 2021 11:18 |
|
Зарегистрирован: Вт 02 май 2017 15:39 Сообщений: 196 Откуда: KO59FW
|
Разумеется. Например, так: Вложение:
RL1L mini.jpg [ 4.25 Кб | Просмотров: 9617 ]
Ну и немного изменить прошивку, чтобы реализовать два переключаемых режима работы: Код: /* Измеритель КСВ на ардуинке. * Аппаратура: RobotDyn Nano v3, ATMega 328P * (c) RM1F 2019-2021 * Версия с индикацией падающей волны для RL1L */
// Для моей платы настройки: // плата Arduino Nano // процессор ATMega328 (old bootloader) - это важно! // программатор ArduinoISP.org // порт COM6
#include "Arduino.h" // for digitalRead and digitalWrite #include <limits.h>
// ================== START CONFIGURATION SETTINGS ================== // Скорость порта для отладки #define BAUD_RATE (115200)
// I/O pin definitions
// встроенный синий светодиод на плате: (13) for built-in LED on UNO // #define LED_BUILTIN (13)
// analog input pin for FORWARD power reading #define FWD_PIN (0) // analog input pin for REFLECTED power reading #define REF_PIN (1) // выходной контакт на прибор, будет использоваться ШИМ выход #define OUT_PIN (3) // индикатор включения или перегрузки #define LED_PIN (7) // контакт выбора режима: SWR или индикатор падающей волны #define MODE_PIN (5) #define LED_FLASH_PERIOD (250)
// максимальный SWR #define MAX_SWR (20) // длительность цикла поллинга в миллисекундах #define TIME_SLOT (50)
// Maximum Arduino A/D reading; used only to scale the power readings. const int AD_MAX = 1023;
// когда включать индикацию перегрузки ADC (90% max) const int ADC_OVERLOAD = 920;
// не реагировать на слишком маленькие значения FWD и REF - могут быть наводки const int ADC_LOW_LIMIT = 1;
// константы для сглаживания const float alphaFwd = 0.5; const float alphaRef = 0.5;
// измеренные значения падающей и отраженной волн float forward = 0.; float reflected = 0.;
// фиксируем момент перегрузки bool overload = false; int overloadCount = 0;
int math_round(float x);
//===================== собственно работа =======================
void setup() { // put your setup code here, to run once: Serial.begin(BAUD_RATE);
// the A/D inputs pinMode(FWD_PIN, INPUT); pinMode(REF_PIN, INPUT); // выход pinMode(OUT_PIN, OUTPUT); // индикатор включения pinMode(LED_PIN, OUTPUT); // пин выбора режима pinMode(MODE_PIN, INPUT_PULLUP); analogWrite(OUT_PIN, 0); digitalWrite(LED_PIN, HIGH); digitalWrite(MODE_PIN, HIGH); }
void loop() { // измеренные значения падающей и отраженной волн со сглаживанием forward = (alphaFwd * analogRead(FWD_PIN)) + ((1.0 - alphaFwd) * forward); reflected = (alphaRef * analogRead(REF_PIN)) + ((1.0 - alphaRef) * reflected);
float ratio = 0.; if (digitalRead(MODE_PIN) == LOW) { // режим измерения КСВ // что вывести на приборчик - соотношение ref/fwd if (reflected <= ADC_LOW_LIMIT) { ratio = 0.; } else if (reflected >= forward) { ratio = 1.0; } else { ratio = reflected / forward; } } else { // режим измерения падающей волны ratio = forward / static_cast<float>(AD_MAX); } // индикация перегрузки overload = (forward >= ADC_OVERLOAD || reflected >= ADC_OVERLOAD); if (overload) { overloadCount = ++overloadCount % 10; if (overloadCount == 0) digitalWrite(LED_PIN, digitalRead(LED_PIN)^1); } else { digitalWrite(LED_PIN, HIGH); overloadCount = 0; // ШИМ выходного пина int val = math_round(ratio * UCHAR_MAX); analogWrite(OUT_PIN, val); } delay(TIME_SLOT); }
int math_round(float x) { return (int)(x + 0.5); }
Настройку прибора необходимо по-прежнему производить в режиме измерения КСВ, как описано выше. Необходимо учесть, что максимальное допустимое напряжение, подаваемое на входы АЦП Ардуинки, составляет 5 В. Поэтому они защищены стабилитронами VD2, VD4. Кроме этого, в прошивке реализована программная индикация перегрузки - при напряжении на любом из входов АЦП, превышающем 90% максимально допустимого, светодиод HL1 начнет мигать.
_________________ 73, Влад RM1F
|
|
Вернуться наверх |
|
|
RL1L
|
Заголовок сообщения: Re: Согласующее устройство с автоматическим КСВ-метром Добавлено: Пт 22 янв 2021 12:39 |
|
Зарегистрирован: Пт 26 фев 2016 21:49 Сообщений: 1087 Откуда: Славянка
|
Огромное спасибо!
_________________ Анатолий Анатольевич. ex.( RA0C, EY9AF, RA6XPL, RA6PS, RA6PGY).
|
|
Вернуться наверх |
|
|
RL1L
|
Заголовок сообщения: Re: Согласующее устройство с автоматическим КСВ-метром Добавлено: Вс 31 янв 2021 13:40 |
|
Зарегистрирован: Пт 26 фев 2016 21:49 Сообщений: 1087 Откуда: Славянка
|
Не удается с компилировать, программа выдает это.
Вложения: |
скрин.jpg [ 83.18 Кб | Просмотров: 9300 ]
|
_________________ Анатолий Анатольевич. ex.( RA0C, EY9AF, RA6XPL, RA6PS, RA6PGY).
|
|
Вернуться наверх |
|
|
UA1AQC
|
Заголовок сообщения: Re: Согласующее устройство с автоматическим КСВ-метром Добавлено: Вс 31 янв 2021 22:29 |
|
Зарегистрирован: Вт 03 фев 2015 16:12 Сообщений: 216 Откуда: KO59ar Красное Село
|
Скопировал текст, все скомпилировалось. Вы наверно не в пустое окно вставляли и там есть "рыба" компилятора.Надо просто после delay(TIME_SLOT); }
все прибить.
|
|
Вернуться наверх |
|
|
Кто сейчас на форуме |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1 |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения
|
|