Blitz-news call (+95) 559-3770

ard sw 01

 

Попробуем рассмотреть вопрос создания измерительных приборов с нелинейной шкалой на Arduino, на примере ВАТТ-КСВ-метра.

Казалось бы все просто, ведь у Arduino есть АЦП, который сможет измерить напряжение и выдать нам нужную цифру на экран или индикатор. Но в действительности все не так уж и просто.

Даже при первом взгляде на шкалу обычного измерителя мощности или обычного вольтметра переменного тока, мы заметим, что измерительная шкала у него не линейная. И связано это как с особенностями входных цепей измерительного устройства, так и с тем, что нам надо преобразовывать (детектировать) переменное напряжение в постоянное, которое и в состоянии показать измерительная головка прибора. Попробуем разобрать способ создания и калибровки измерительных приборов с нелинейной шкалой, на примере КСВ-Ватт-Метра. Ведь тут нам необходимо будет измерять как раз такие величины.


Тут у нас и начинается самое интересное. Как же нам правильно измерять мощность в нашем устройстве?


Пусть мы сконструировали датчик прямой и отраженной мощности. Причем для нас не важно, по какой схеме вы его собрали. Лишь бы на выходе измерительной части было напряжение, достаточное для измерения с помощью АЦП Arduino (желательно иметь максимальное напряжение не ниже 5 вольт).


Ну и первая сложность, это то, что, Arduino измеряет напряжение. А мощность, как мы знаем из школьного курса физики, находится по формуле:

ard_sw_02.jpg

 

Получается, что нам необходимо возводить измеренное напряжение в «квадрат». Но мы же не знаем, во сколько раз выданное измерительной напряжение ниже того, что у нас в реальность подведено к измерительной части. Поэтому мы для начала «запутаем» процесс, пытаясь вычислять подводимую мощность исходя из обычного квадратного уравнения.

ard_sw_03.jpg

 

Где U — это измеренное нами напряжение на входе Arduino, а A, B и C — соответствующие коэффициенты, описывающие реально получившуюся у нас систему измерения.


Мы надеемся, что за счет коэффициентов этого уравнения, мы сможем компенсировать все неоднородности и перекосы получившейся у нас измерительной схемы.
В теории вроде все понятно, но как описать получившуюся систему на практике?

С помощью измерительных приборов вряд ли вы сможете вычислить эти коэффициенты. Но на самом деле нам этого и не нужно. Пусть Arduino поможет нам снять мерки с получившейся у нас измерительной системы.

Для этого нам необходимо подключить наш измеритель к нагрузке с заведомо известным КСВ, желательно, если это будет стандартная радиолюбительская 50-омная нагрузка, с КСВ=1.
После чего, либо используем «специальные режимы» имеющегося скетча, либо берем пример из библиотеки Arduino, который выводит нам значения на аналоговом входе, к которому подключена наша измерительная система. Все что нам нужно, это увидеть, какие фактические значения попадают к нам на аналоговый вход Arduino.

Так как наша измерительная система может выдавать на выходе значения напряжения превышающие максимальный порог в 5 вольт, рекомендую на входе Arduino установить потенциометр (подстроечный резистор), чтобы «вогнать» измеряемые параметры в рамки возможностей АЦП Arduino.

Для этого, в нашем примере (измерение мощности), нам необходимо, выставить на трансивере максимальную мощность (например 100 ватт) и с помощью потенциометра на входе Arduino выставить измеряемые значения в районе 800-900 единиц. Максимальное измеряемое значение может быть 1023, поэтому не будем лишний раз перегружать вход микроконтроллера, а оставим небольшой запас по измерению мощности выше нынешней.

Таким образом мы «растянули» наш диапазон измеряемой величины на достаточную «ширину» будущей шкалы измерений. Теперь нужно как-то эту шкалу отградуировать.
Для этого делаем несколько замеров показаний входного напряжения на АЦП Arduino, для мощностей в 0, 5, 10, 20, 30, 50, 75, 100 ватт (чем больше точек измерений у вас будет, тем точнее получится откалибровать наш прибор). Не забывая при этом записывать показания выдаваемые Arduino.

Мы не будем вникать в различные математические методы, которые позволят нам из нашего набора данных получить искомые коэффициенты, мы просто воспользуемся MS Excel. Надеюсь пакет программ MS Office на вашем компьютере найдется. Открываем его и заносим наши данные вот в такую табличку.

ard_sw_04.jpg

Теперь выделяем получившуюся таблицу с данными и вставляем на лист точечную диаграмму, через ленту команд «Вставка».

ard_sw_05.jpg

 

На получившемся графике жмем правой кнопкой мышки и добавляем линию тренда.

ard_sw_06.jpg

 

Настраиваем нужные нам параметры — «Полиномиальная 2-й степени», «Показывать уравнение на диаграмме» и «достоверность аппроксимации».

ard_sw_07.jpg

 

В результате вы получите примерно вот такой график.

ard_sw_08.jpg

 

На нем виден график по результатам снятым нами с устройства данным (толстая линия с точками) и тонкой черной линией обозначен график функции, которая описывает наш набор данных.

На графике вы видите в формуле коэффициенты функции до 6 знаков после запятой. Это связано с тем, что измеряемые Arduino данные лежат в пределах от 0 до 1000, а 1000 в квадрате даст нам 1 000 000. А мы хотим иметь точность измерения в единицы ватт, поэтому и коэффициенты функции, по количеству значащих цифр, должны соответствовать входным данным.

Для того, чтобы получить такое отображение коэффициентов функции, необходимо нажав правой кнопкой на формуле, выбрать пункт «Формат подписи линии тренда» и в появившемся окне указать нужную нам точность.

ard_sw_09.jpg

 

Полученные коэффициенты теперь необходимо прописать в скетч нашего измерителя. Скомпилировать и загрузить в Arduino.

Измерительный прибор Готов!

Таким образом мы получили математическое описание сделанной нами системы измерения подручными средствами. Причем мы сразу учли все недостатки и нелинейности нашей как измерительной, так и детектирующей системы, заменив тем самым сложные электронные преобразования математикой, не мучаясь с подбором значений элементов схемы и режимов их работы.

Но есть и еще один плюс в нашем с вами подходе к калибровке таких измерительных устройств.

Если у трансивер выдает мощность до 100 ватт, а вам хотелось бы сделать измеритель мощности и КСВ для своего усилителя, на выходе которого целых 500 ватт. То мы можем математически расширить шкалу нашего измерительного прибора.

Если вы согласны мириться с некоторой погрешностью, то можно пойти следующим способом.Раз у нас мощность, которую мы хотим измерять, превышает имеющуюся для калибровки в 5 раз, значит напряжение на входе Arduino будет примерно в 2.5 раза выше. Ну и нам необходимо будет с помощью потенциометра установить уровень измеряемого сигнала, при подведенных 100 ваттах, до уровня примерно в 400 единиц. После чего провести всю вышеописанную процедуру по снятию показаний с аналогового входа АЦП Arduino и построению получившегося графика.

Чтобы оценить получившуюся систему измерения, нам необходимо построить прогноз для нашей измерительной системы на больший предел измерений. Для этого нажав правой кнопкой мыши на линии тренда, выбираем пункт «Формат линии тренда».

ard_sw_10.jpg

 

Вписываем в разделе «Прогноз», в поле «Вперед» значение 600 периодов (400+600=1000, что близко к пределу измерения АЦП Arduino). Получаем вот такой график нашей измерительной системы.

ard_sw_11.jpg

 

Как видите, в данном варианте, при максимальном входном напряжении на АЦП Arduino, мы сможем измерять мощность около 800 ватт. Понятно, что погрешность на высоких мощностях будет выше, чем на откалиброванном участке, но при таких мощностях +/- 10-20 ватт наверняка для вас не будут столь уж критичны, ведь в случае КСВ-Ватт-метра, для нас важны не сами значения, а динамика их изменений, с чем наша система должна справится.

 

Для тех, кто совсем не дружит с MS Excel, можно скачать готовый шаблон с графиком ОТСЮДА.

Добавить комментарий

Защитный код
Обновить

Login Form


Подать телеграмму

Call, name or nick

Ведите текст телеграммы до 255
символов, не более

 
            

Фотогаллерея

gal cr

Solar Flux

Заказать напоминание

Введите свой e-mail для получения напоминания о открытом (для всех) Кубке Черниговщины телеграфом CW CRCUP contest

Последние материалы

To Alex: Спасибо за добрые слова о сайте. Точнее о блоге, сайте о личном :-) Стараюсь писать не...
Пришли, наконец, зимние морозы. Похоже на Новый Год снег всё-таки будет. Если верить прогнозу. Но у нас в Славутиче есть...
Хорошо забытое старое.... Все помнят: новое - это хорошо забытое старое :-) Совершенно случайно наткнулся на фотки из прошлой жизни...
Утро выходного дня у радиолюбителя особый час. Не надо спешить с кофе, потому что на работу не надо идти.
П О Л О Ж Е Н Н Я про обласні відкриті змагання учнівської молоді з радіозв’язку на КХ – "Юр’єва...
К сожалению 3Y0I едет домой, не радует и прохождение. Цифры очень скромные, K и A индексы не вселяют оптимизма. Soalr...
Попробуем рассмотреть вопрос создания измерительных приборов с нелинейной шкалой на Arduino, на примере ВАТТ-КСВ-метра. Казалось бы все просто, ведь у...
Для того, чтобы оценить преимущества пенсионера, сначала надо вернуться на работу ..... Приготовил себе 1000 и...
Оборудование для 6-ти сантиметрового диапазона всегда требовало тщательного подхода как к используемым радиокомпонентам, так и к изготовлению антенн. Хоть физику...
Диапазон в 2.4 ГГц хоть и является довольно таки замусоренным ISM диапазоном (Industrial, Scientific, Medical: индустриальный, научный и медицинский...

Кто у нас в гостях

Сейчас 20 гостей и один зарегистрированный пользователь на сайте

  • UR5FIL_mm

HAM history in Pictures

Call-QSL-MGR search

QRZ.COM callsign lookup:
 

QRZ.RU Callbook'e:  
 

IK3QAR QSL Manager
 

CR HAMRADIO PHOTO

  • UV3RT
  • UX1RX и UV3RT URFF