Многоканальный программно-аппаратный комплекс для измерения параметров переменных сигналов | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 4 мая, печатный экземпляр отправим 8 мая.

Опубликовать статью в журнале

Автор:

Рубрика: Технические науки

Опубликовано в Молодой учёный №41 (331) октябрь 2020 г.

Дата публикации: 08.10.2020

Статья просмотрена: 131 раз

Библиографическое описание:

Усмонов, Ё. М. Многоканальный программно-аппаратный комплекс для измерения параметров переменных сигналов / Ё. М. Усмонов. — Текст : непосредственный // Молодой ученый. — 2020. — № 41 (331). — С. 31-34. — URL: https://moluch.ru/archive/331/73991/ (дата обращения: 25.04.2024).



Представлен разработанный четырехканальный измерительно программно-аппаратный комплекс на базе микроконтроллера Arduino для измерения амплитуд, частот и периодов переменных сигналов с частотой от 50 до 9000 Гц и амплитудой до 9 В.

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

В работе представлено описание аппаратно-программного комплекса на базе микроконтроллера Arduino UNO [1, 2]. Известно, что особенностью микроконтроллера на базе процессора Atmega 328 является встроенное АЦП с разрядностью 10 бит. Наибольшее распространение этот микроконтроллер получил в схемах с постоянным током. Однако, его относительно высокая тактовая частота (16 МГц) позволяет добиться необходимой скорости получения выборки и вычисления данных и для переменных сигналов. Ниже представлен разработанный четырехканальный измерительный программно-аппаратный комплекс для работы с частотами до 9 кГц.

Для считывания и преобразования сигнала использовались функции: analogRead(pin), analogReference(type ). Кроме того, использование значения функции DEFAULT позволяет для служебных цепей использовать питание самого микроконтроллера [3].

На рисунке 1 представлена электрическая схема программно-аппаратный комплекс. Как известно, с помощью аналогового входа Arduino можно измерить напряжение от 0 до 5 В (при стандартном опорном напряжении 5 В). Но этот диапазон можно расширить, воспользовавшись делителем напряжения. Так же, Arduino не способно считывать отрицательные значения напряжения, для решения данной проблемы схема делителя построена так, что сигнал поднимается на 5 В. Гальваническую развязку с выходным источником обеспечивают конденсаторы C1–C4.

Электрическая схема включения Arduino UNO.

Рис. 1. Электрическая схема включения Arduino UNO.

Значения резисторов указывается и регулируется в соответствующих подстроечных переменных программы. Код расчета напряжения, поступающего на аналоговые входы Arduino представлен ниже:

value = analogRead(analogInput);

vout = ((value * 5.00) / 1024.00);

vin = vout / (R2/(R1+R2));

где R1 и R2 переменные значений резисторов, указываемые в шапке программы.

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

В результате выборок получаем одномерный массив из n количества измерений. Чем больше n, тем больше времени потребуется для определения значений, приходящих на аналоговый канал Arduino, но в то же время растет точность измерений. Экспериментально было выявлено оптимальное значение числа n подходящее под наши цели равное (93;112), что позволяет измерять параметры сигналов с частотой 9 кГц и обеспечить точность измерения амплитуды не хуже 0.1 В.

Ниже представлен код на языке C++ и в блок схема (рис 2).

for (int i = 0; i!= 101; i++)// цикл с предусловием

{

value = analogRead(Acanal); //получаем значения в ранее заданую переменную value

vout = ((value * 5.00) / 1024.00);//расчет единиц в вольты

vin1 = vout / (R2 / (R1 + R2));//с учетом делителя

naibolshe1 = max(vin1, naibolshe1);//находим максимум

naimen1 = min(vin1, naimen1);//находим минимум

lcd.setCursor(0, 0);

lcd.print(«A1:");

lcd.setCursor(3, 0);

lcd.print((naibolshe1-naimen1)/2);//выводим данные}

Блок схема программы на языке C++

Рис. 2. Блок схема программы на языке C++

АЦП Arduino UNO имеет разрешение 10 бит, т. е. позволяет выводить значения в десятичном виде от 0 до 1023. В относительных единицах деление шкалы 5/1024 = 4.9 мВ. В работе была произведена оценка быстродействия АЦП с использованием встроенной функции Analog Read, определили время, затрачиваемое для аналогово-цифрового преобразования данного сигнала, которое не превышает 100 мкс (рис. 3).

Рис. 3

Таким образом, разработан относительно простой измерительный аппаратно-программный комплекс позволяющий измерять амплитудное значение переменного напряжения с 4-х каналов одновременно в диапазоне частот от 50 до 9 кГц и максимальном входном напряжении до 9 В. Программное обеспечение позволяет организовать измерение частоты и периода напряжения и при необходимости требуемое графическое представление на экране компьютера.

Литература:

  1. Иго Т. Arduino, датчики и сети для связи устройств: Пер. с англ. — 2-е изд. — СБб.: БХВ-Петербург, 2015–544 с.:ил.
  2. Блум Джреми. Изучаем Arduino: инструменты и методы технического волшебства: Пер. с англ. — СПб.: БХВ-Петербург, 2015–336 с.:ил.
  3. Калибровка напряжения при измерении температуры. [Электронный ресурс] Сайт Arduino.ru https://robotclass.ru/tutorials/arduino_adc, 2020. (дата обращения 05.09.2020)
Основные термины (генерируются автоматически): UNO, DEFAULT, баз микроконтроллера, значение резисторов, программно-аппаратный комплекс, частота.


Похожие статьи

Разработка прототипа мобильного робота для работы с системой...

Аппаратная часть разрабатываемой системы состоит из трех основных частей: одноплатного компьютера, микроконтроллера и блока питания. Наглядно структура аппаратной части представлена на рисунке 3. Рис. 3. Аппаратная часть прототипа мобильного робота.

Похожие статьи

Разработка прототипа мобильного робота для работы с системой...

Аппаратная часть разрабатываемой системы состоит из трех основных частей: одноплатного компьютера, микроконтроллера и блока питания. Наглядно структура аппаратной части представлена на рисунке 3. Рис. 3. Аппаратная часть прототипа мобильного робота.

Задать вопрос