Как сделать цифровой вольтметр постоянного тока с помощью Arduino?

Вольтметр - это устройство для измерения напряжения, которое используется для измерения напряжения в определенных точках электрической цепи. Напряжение - это разность потенциалов, которая создается между двумя точками в электрической цепи. Есть два типа вольтметров. Некоторые вольтметры предназначены для измерения напряжения в цепях постоянного тока, а другие вольтметры предназначены для измерения напряжения в цепях переменного тока. Эти вольтметры можно разделить на две категории. Один из них - цифровой вольтметр, который показывает измерения на цифровом экране, а другой - аналоговый вольтметр, в котором стрелка используется для указания на шкале точных показаний.



Цифровой вольтметр

В этом проекте мы собираемся сделать вольтметр на Arduino Uno. В этой статье мы объясним две конфигурации цифрового вольтметра. В первой конфигурации микроконтроллер сможет измерять напряжение в диапазоне 0 - 5В. Во второй конфигурации микроконтроллер сможет измерять напряжение в диапазоне 0-50В.



Как сделать цифровой вольтметр?

Как мы знаем, есть два типа вольтметров: аналоговый вольтметр и цифровой вольтметр. Существуют еще несколько типов аналоговых вольтметров, которые зависят от конструкции устройства. Некоторые из этих типов включают вольтметр с подвижной катушкой с постоянным магнитом, вольтметр выпрямительного типа, вольтметр с подвижным железом и т. Д. Основная цель вывода цифрового вольтметра на рынок была связана с большей вероятностью ошибок в аналоговых вольтметрах. В отличие от аналогового вольтметра, в котором используются стрелка и шкала, цифровой вольтметр показывает показания непосредственно цифрами на экране. Это исключает возможность Нулевая ошибка . При переходе от аналогового вольтметра к цифровому вольтметру процент ошибки снижается с 5% до 1%.



Теперь, когда мы знаем аннотацию этого проекта, давайте соберем дополнительную информацию и приступим к созданию цифрового вольтметра с использованием Arduino Uno.



Шаг 1: Сбор компонентов

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

  • Arduino uno
  • Потенциометр 10 кОм
  • Перемычки
  • Резистор 100 кОм
  • Резистор 10 кОм
  • Адаптер 12 В переменного тока в постоянный (если Arduino не питается от компьютера)

Шаг 2: Изучение компонентов

Arduino UNO Плата микроконтроллера, состоящая из микрочипа ATMega 328P, разработана Arduino.cc. Эта плата имеет набор цифровых и аналоговых контактов данных, которые могут быть подключены к другим платам расширения или схемам. Эта плата имеет 14 цифровых контактов, 6 аналоговых контактов и программируется с помощью Arduino IDE (интегрированной среды разработки) через USB-кабель типа B. Для питания требуется 5 В НА и Код C работать.

Arduino uno



ЖК-дисплеи можно увидеть в каждом электронном устройстве, которое должно отображать для пользователей текст, цифру или любое изображение. ЖК-дисплей - это дисплейный модуль, в котором жидкий кристалл используется для создания видимого изображения или текста. А ЖК-дисплей 16 × 2 представляет собой очень простой электронный модуль, отображающий 16 символов в строке и одновременно на экране всего две строки. Матрица 5 × 7 пикселей используется для отображения символа на этих ЖК-дисплеях.

ЖК-дисплей 16 × 2

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

Макетная плата

Шаг 3: Принципиальная схема

Первая схема с диапазоном измерения от 0 до 5 В показана ниже:

Вольтметр на 0-5В

Вторая схема с диапазоном измерения от 0 до 50 В показана ниже:

Вольтметр 0-50В

Шаг 4: Принцип работы

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

В первой цепи, диапазон измерения которой составляет от 0 до 5 В, вход будет взят на аналоговый вывод 0. Аналоговый вывод будет читать любое значение от 0 до 1024. Затем это аналоговое значение будет преобразовано в цифровое путем умножения его на общее напряжение, которое составляет 5 В, и деления на общее разрешение, равное 1024.

Во второй схеме, поскольку диапазон должен быть увеличен с 5 В до 50 В, необходимо выполнить конфигурацию делителя напряжения. Схема делителя напряжения сделана с использованием резистора 10 кОм и резистора 100 кОм. Такая конфигурация делителя напряжения помогает нам довести входное напряжение до диапазона аналогового входа Arduino Uno.

Все математические расчеты выполняются в программе Arduino Uno.

Шаг 5: Сборка компонентов

Подключение ЖК-модуля к плате Arduino Uno одинаково в обеих схемах. Единственное отличие состоит в том, что в первой схеме входной диапазон низкий, поэтому он напрямую отправляется на аналоговый вывод Arduino. Во второй схеме конфигурация делителя напряжения используется на входной стороне платы микроконтроллера.

  1. Подключите выводы Vss и Vdd ЖК-модуля к земле и 5 В на плате Arduino соответственно. Штифт Vee - это штифт, который используется для регулировки ограничений дисплея. Он подключен к потенциометру, один вывод которого подключен к 5 В, а другой - к земле.
  2. Подключите контакты RS и E ЖК-модуля к контактам 2 и 3 платы Arduino соответственно. Вывод RW ЖК-дисплея подключен к земле.
  3. Поскольку мы будем использовать ЖК-модуль в режиме 4-битных данных, используются его четыре контакта с D4 по D7. Контакты D4-D7 ЖК-модуля подключены к контакту 4-контактный7 платы микроконтроллера.
  4. В первой цепи на входной стороне нет дополнительных цепей, поскольку максимальное измеряемое напряжение составляет 5 В. Во второй схеме, поскольку диапазон измерения составляет от 0 до 50 В, конфигурация делителя напряжения выполняется с использованием резистора 10 кОм и резистора 100 кОм. Следует отметить, что все основания общие.

Шаг 6: начало работы с Arduino

Если вы раньше не знакомы с Arduino IDE, не волнуйтесь, потому что ниже вы можете увидеть четкие шаги записи кода на плату микроконтроллера с использованием Arduino IDE. Вы можете скачать последнюю версию Arduino IDE из Вот и выполните шаги, указанные ниже:

  1. Когда плата Arduino подключена к вашему ПК, откройте «Панель управления» и нажмите «Оборудование и звук». Затем щелкните «Устройства и принтеры». Найдите имя порта, к которому подключена ваша плата Arduino. В моем случае это «COM14», но на вашем ПК он может быть другим.

    Поиск порта

  2. Нам нужно будет включить библиотеку для использования ЖК-модуля. Библиотека прикреплена ниже по ссылке для скачивания вместе с кодом. Идти к Эскиз> Включить библиотеку> Добавить библиотеку .ZIP.

    Включить библиотеку

  3. Теперь откройте IDE Arduino. В Tools установите для платы Arduino значение Arduino / Genuino UNO.

    Доска настроек

  4. В том же меню инструментов установите номер порта, который вы видели на панели управления.

    Настройка порта

  5. Загрузите прилагаемый ниже код и скопируйте его в свою среду IDE. Чтобы загрузить код, нажмите кнопку загрузки.

    Загрузить

Вы можете скачать код по нажав здесь.

Шаг 7: Код

Код довольно простой и хорошо прокомментирован. Но все же кое-что это объясняется ниже.

1. Вначале используется библиотека, чтобы мы могли связать ЖК-модуль с платой Arduino Uno и запрограммировать его соответствующим образом. Затем инициализируются контакты платы Arduino, которые будут использоваться для подключения к ЖК-модулю. Затем различные переменные инициализируются для хранения значений во время выполнения, которые будут использоваться позже в расчетах.

#include 'LiquidCrystal.h' // включаем библиотеку для сопряжения ЖК-модуля с платой Arduino LiquidCrystal lcd (2, 3, 4, 5, 6, 7); // выводы ЖК-модуля, которые будут использоваться, float Voltage = 0.0; температура поплавка = 0,0; // переменная для хранения цифрового значения входа int analog_value; // переменная для хранения аналогового значения на входе

2. установка void () - это функция, которая запускается только один раз при запуске устройства или нажатии кнопки включения. Здесь мы инициализировали ЖК-дисплей для запуска. Когда ЖК-дисплей запустится, отобразится текст «Цифровой вольтметр на базе Arduino». Скорость передачи также устанавливается в этой функции. Baud Rate - это скорость в битах в секунду, с которой Arduino обменивается данными с внешними устройствами.

void setup () {lcd.begin (16, 2); // запускаем связь с ЖК-дисплеем lcd.setCursor (0,0); // запускаем курсор с начала lcd.print ('на основе Arduino'); // Печатать текст в первой строке lcd.setCursor (0,1); // Перемещаем курсор на следующую строку lcd.print ('Digital Voltmeter'); // вывод текста во второй строке delay (2000); // ждем две секунды}

3. пустой цикл () - это функция, которая непрерывно выполняется в цикле. Здесь аналоговое значение считывается со стороны входа. Затем это аналоговое значение преобразуется в цифровую форму. Применяется условие, и окончательные измерения отображаются на ЖК-экране.

void loop () {аналоговое_значение = аналоговое чтение (A0); // Чтение аналогового значения temp = (analog_value * 5.0) / 1024.0; // преобразование аналогового значения в цифровое напряжение = temp / (0.0909); если (напряжение< 0.1) { voltage=0.0; } lcd.clear(); // Clear any text on the LCD lcd.setCursor(0, 0); // Mve the cursor to the initial position lcd.print('Voltage= '); // Print Voltgae= lcd.print(voltage); // Print the final digital value of voltage lcd.setCursor(13,1); // move the cursor lcd.print('V'); // print the unit of voltage delay(30); // wait for 0.3 seconds }

Приложения

Некоторые из применений цифрового вольтметра включают:

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