Измерительные приборы на ардуино. Создание измерительного прибора на Arduino: пошаговое руководство

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

Содержание

Компоненты и принцип работы измерительного прибора на Arduino

Для создания измерительного прибора на базе Arduino потребуются следующие основные компоненты:

  • Плата Arduino (например, Arduino Uno или Nano)
  • Датчик для измерения нужной величины (например, датчик тока/напряжения)
  • Дисплей для вывода показаний (LCD или OLED)
  • Кнопки управления
  • Источник питания

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

  1. Датчик преобразует измеряемую физическую величину в электрический сигнал
  2. Arduino считывает этот сигнал через АЦП
  3. Полученное значение обрабатывается в программе с учетом калибровки
  4. Результат выводится на дисплей в понятном для пользователя виде

Особенности калибровки нелинейной шкалы измерений

Одна из главных сложностей при разработке измерительного прибора — это калибровка нелинейной шкалы. Как правильно выполнить эту процедуру?


  • Снимите показания в нескольких опорных точках во всем диапазоне измерений
  • Постройте график зависимости показаний от реальных значений
  • Подберите аппроксимирующую функцию (например, полином 2-3 степени)
  • Коэффициенты этой функции используйте в программе для пересчета показаний АЦП

Такой подход позволит компенсировать нелинейность датчика и получить точные результаты во всем диапазоне.

Пошаговая инструкция по сборке измерительного прибора

Рассмотрим основные этапы создания измерительного прибора на примере вольтметра:

  1. Соберите схему, подключив делитель напряжения к аналоговому входу Arduino
  2. Загрузите базовый скетч для считывания значений с АЦП
  3. Проведите калибровку, измерив напряжение мультиметром в нескольких точках
  4. Доработайте программу, добавив формулу пересчета и вывод на дисплей
  5. Поместите схему в корпус, добавьте разъемы и органы управления

Не забудьте провести финальное тестирование и подстройку прибора для достижения максимальной точности измерений.

Программирование Arduino для обработки измерений

Ключевые моменты при написании скетча для измерительного прибора:


  • Используйте усреднение нескольких измерений для уменьшения шумов
  • Примените калибровочную формулу для компенсации нелинейности
  • Добавьте фильтрацию резких выбросов в показаниях
  • Реализуйте автоматический выбор диапазона измерений
  • Предусмотрите возможность установки нуля и калибровки

Грамотно написанная программа — залог точной и стабильной работы прибора.

Выбор и подключение дисплея для вывода показаний

Для отображения результатов измерений можно использовать различные типы дисплеев:

  • Символьные LCD-дисплеи — простые и недорогие
  • Графические OLED-дисплеи — яркие, контрастные, но дороже
  • TFT-дисплеи — полноцветные, подходят для сложных интерфейсов

При подключении дисплея обратите внимание на следующие моменты:

  • Используйте соответствующую библиотеку для управления дисплеем
  • Правильно подключите питание и интерфейсные линии
  • Настройте контрастность и яркость для оптимальной читаемости

Повышение точности измерений: советы и рекомендации

Чтобы улучшить точность создаваемого измерительного прибора:


  • Используйте внешний стабилизированный источник опорного напряжения
  • Применяйте прецизионные резисторы в делителях напряжения
  • Экранируйте чувствительные цепи от наводок и помех
  • Используйте дифференциальные измерения вместо одиночных
  • Откалибруйте прибор в нескольких точках во всем диапазоне

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

Создание пользовательского интерфейса измерительного прибора

Удобный интерфейс — важная составляющая любого прибора. При его разработке учитывайте следующие аспекты:

  • Отображайте измеряемую величину крупным шрифтом в центре экрана
  • Добавьте индикацию единиц измерения и выбранного диапазона
  • Реализуйте меню настроек с помощью кнопок управления
  • Предусмотрите функции сброса, калибровки, выбора режимов
  • Используйте понятные обозначения и подсказки на экране

Грамотно спроектированный интерфейс сделает работу с прибором удобной и интуитивно понятной.


Создание измерительного прибора на Arduino.

 

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

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

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


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


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


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

 

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

 

Где 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 на вашем компьютере найдется. Открываем его и заносим наши данные вот в такую табличку.

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

 

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

 

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

 

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

 

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

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

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

 

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

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

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

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

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

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

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

 

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

 

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

 

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

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

Измерительные приборы

Измерительные приборы

4 250 руб

ESR-micro v5.0S+ Измеритель емкости и esr с аккумулятором

2%

238 руб

Модуль RI056.

Вольтметр 2,5…30 В (Красный дисплей 7 мм)

8%

313 руб

Модуль RI030. Вольтметр в корпусе 4.5-30 В (синий).

216 руб

Модуль RI007. Вольтметр 2,5…30 В (Зелёный дисплей)

441 руб

Модуль RI0105. Ампервольтметр DC 0…100 В (100 А). СИНЕ-КРАСНЫЙ

22%

337 руб

Модуль RI048. Цифровой ампервольтметр DSN-VC288

21%

455 руб

Модуль RA095. Термостат от -50 до +110 гр. Цельсия в пластиковом корпусе

387 руб

Модуль RI0111. TP101. Термометр кухоный

609 руб

Модуль RI092. Ампервольтметр DC 0…100 В (10 А). КРАСНЫЙ

35%

341 руб

Модуль RI0110-BK. Цифровой термометр-гигрометр с выносным датчиком. ЧЁРНЫЙ

1%

277 руб

Модуль RI008. Вольтметр 0…100 В (Зелёный дисплей)

2 700 руб

FC50 — Частотомер встраиваемый от 1 Гц до 50 МГц.

Вы смотрели

Бренд, изготовитель

  • Радио КИТ (2)
  • VDG (4)
  • DIY (84)
  • Mastech (1)
  • Мробот (1)
  • PeakMeter (1)
  • KitLab (4)
  • SINOMETER (1)
  • WeiHeng (2)
  • CEM (1)
  • MASTECH (1)
  • Uni-Trend International Limited. (1)
  • DSO (1)
  • RDDV (2)
  • Matrix (1)

Быстрый заказ

Фамилия:

Телефон:

E-mail:

Подписаться на новости магазина

Устройство измерения угла с использованием Arduino и MPU6050

08 июль

0 комментариев 2136 просмотров Проект Arduino

Здравствуйте, В этом уроке мы узнаем, как сделать устройство для измерения угла с помощью Arduino и MPU-6050, которое также можно использовать в качестве спиртового уровня.


  • Ардуино Нано
  • Отображать
  • МПУ6050
  • Соединительные кабели
  1. Ардуино IDE
  • МПУ6050 представляет собой 6-осевое устройство отслеживания движения. Он состоит из трехосного акселерометра и трехосного гироскопа. Это помогает нам измерять скорость, ориентацию, ускорение, смещение и другие характеристики движения.
  • MPU6050 состоит из цифрового процессора движения (DMP), способного выполнять сложные вычисления.

  • MPU6050 состоит из 16-битного аналого-цифрового преобразователя. Благодаря этой функции он одновременно фиксирует трехмерное движение.

  • Этот модуль использует модуль I2C для взаимодействия с Arduino.


  • MPU6050 — это очень экономичный вариант с точки зрения гироскопа и акселерометра, который можно использовать во многих проектах в области электроники и робототехники.


Шаги

  1. Подключите MPU6050 к Arduino Nano.
  2. Подключите Arduino Nano к дисплею.
  3. Подключите аккумулятор к Arduino через переключатель. Также прикрепите к Arduino кнопку сброса.
  4. Схема цепи показана на рисунке ниже.



Контакты на Arduino Nano                           Контакты на MPU6050

5 В                                                             VCC

GND                                                         GND

A5                                                              SCL

A4                                                              ПДД


Контакты на Arduino Nano                           Контакты на дисплее I2C

5 В                                                              VCC

GND                                                            GND

A4                                                              ПДД

A5                                                              SCL

Контакты на Arduino nano                          9клемма батареи V

VIN                                                            Положительный результат

GND                                                          GND








  1. Перейти к » Эскиз Включить библиотеку Управление библиотеками» и ищите библиотеку» MPU6050_light «. Установите библиотеку.
  2. Скомпилируйте код Arduino.
  3. Загрузите код Arduino Nano.




  • Чтобы поместить схему внутри корпуса, мы использовали напечатанный на 3D-принтере корпус, разработанный Indianlifehacker, и напечатали его на 3D-принтере. На фото ниже снимок корпуса.
  • Нажмите здесь скачать .stl файл для корпуса





Соберите все части. Прикрепите MPU6050 к внутренней стенке корпуса с помощью двустороннего скотча и закройте корпус.



Метки: Угол , измерение , Ардуино , мпу6050 , дух , уровень ,

Ультразвуковое измерение объема с помощью физического программирования Arduino

Mesut ULU

В этом сценарии обучения он направлен на определение объемного количества с использованием высоты (глубины) жидкого или твердого продукта в резервуаре или контейнере. с помощью измерения уровня. Измерение уровня — это измерительное приложение, часто встречающееся во многих различных областях техники. В исследовании, проведенном с помощью ультразвукового метода определения уровня, использовались ультразвуковой датчик HC-SR04 и плата сбора данных и управления Arduino Uno. Наша емкость для заполнения определяется как цилиндрическая емкость с радиусом 5 см и высотой 20 см. Было принято π = 3,14, и эти измерения были закодированы в блоке m, и был измерен объем. Кроме того, предупреждение о занятости также обеспечивается загоранием светодиодных ламп на определенных уровнях, что предупреждает о заполнении бака. Благодаря физическому программированию Arduino было замечено, что существует 99% соответствие между значением объема, полученным с помощью ультразвукового измерения объема, и значениями объема, измеренными с помощью градуированного цилиндра.

Ключевые слова

Ардуино, м Блок, Объем, Ультразвук

Проблемная ситуация:

Проблемная ситуация: Архимед и Ньютон учатся в школе со своими учителями, которые участвуют в эксперименте, в ходе которого производятся точные измерения объема. Их учителя попросили их отмерить 630 мл алкоголя для использования в эксперименте. При измерении градуированным цилиндром он внезапно выскользнул из рук и упал, а градуированный цилиндр сломался. Когда они не смогли найти в лаборатории других градуированных цилиндров, их эксперименты остались незавершенными, и они очень расстроились из-за этой ситуации. В связи с этим их учителя попросили их изучить, есть ли материал, подходящий для современных технологий и с помощью которого они могут более точно измерить объем, и получить помощь от учителей информационных технологий в этом отношении. Их учителя ожидают, что эти студенты будут думать как ученый и разработают материал, используемый для измерения объема, с помощью простых материалов Arduino. Несмотря на описанную выше ситуацию, ожидается, что учащиеся разработают инструмент для измерения объема, который будет работать быстрее и точнее, чем градуированный цилиндр, в соответствии с современными технологиями.

11-13

Teaching resources (material)

Arduino uno

HC-SR04 Ultrasonic sensor

jumper cables

led bulbs

Resistance

Laptop

ИК-трансивер

Модуль ИК-приемника Беспроводной пульт дистанционного управления,

средняя и большая макетная плата,

ЖК-экран 16×2

Картон,

Стирофуамская пена

, клейкая и двусторонняя лента

Buzzer


97. Научное направление деятельности: электрические цепи, соединительные элементы схем на макетной плате, дисперсная природа вещества и жидкостей, измерение объема.

2. Технологическое измерение: физическое программирование с помощью Arduino, выбор материала для измерения объема, полезность и стоимость продукта.

3. Математическое измерение: Распознавание контейнеров геометрической формы для использования при измерении объема с учетом критериев и ограничений. Для решения задачи, используя процессы оценивания, индукции, описания, обобщения и проверки математического мышления и достижения решения задачи с учетом всех факторов (рассуждения-рассуждения). Знание формул объема в цилиндрах и призмах и применение их в программе кодирования24

4. Инженерное измерение: В процессе проектирования системы материалов, которая будет использоваться для измерения объема, определение критериев и ограничений, схематизация проекта с учетом формы, размера и внешнего вида, прототипирование, тестирование, разработка.

5. Измерение изобразительного искусства: Распознавание свойств геометрических фигур, использование визуальности и симметричной совместимости в дизайне создаваемого дизайна.

6. Информационные технологии: знание основных программ на компьютере, использование программы m Block, кодирование формул, применяемых при измерении объема в программе

Электрические методы измерения

1) Электрод (проводящий)

2) Ультразвуковой

3) Радиолокационный

4) Лазерный

5) Магнитный емкостный 9000it на основе поля

STEM Тема

Делается вывод о том, что измерение объема занимает важное место в нашей повседневной жизни и используется в пищевой и энергетической промышленности вне науки. Разрабатывает уникальный инструмент для измерения объема. Понимает, что наука и техника тесно связаны. Он знает, что инженеры-электрики используют свой творческий потенциал, а также свои научные и математические знания для решения своих проблем. Знает, что процесс инженерного проектирования состоит из шагов, которые можно использовать для решения проблем. Развивает навыки решения проблем, работы в команде, общения и творческого мышления, решая задачи инженерного проектирования.

Инженерный проект

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

Тестирование и уточнение кода

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

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *