Вольтметр на ардуино: создание устройства своими руками по шагам

Arduino в роли вольтметра. Вывод напряжения на LCD дисплей

Всем привет сегодня я хотел бы показать, как превратить Arduino Uno в вольтметр.

Смотрите видео: Arduino в роли вольтметра. Вывод напряжения на LCD дисплей

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

Мы запитали 5 вольт по красному проводнику, в A0 на плату Arduino поступает значение напряжения, хотя можно было бы подключить маленькую батарейку и проверить ее вольтаж.

Давайте приступим к написанию скетча, и далее рассмотрим, как это все сделать. Хочу показать вам принципиальную плату, потом будет на сайте изображена схема, она похожа на пример, который мы собирали в прошлый раз с LCD дисплеем.

Обратите внимание, мы выводили текст на LCD экран, в принципе здесь отличие единственное это второе сопротивление. Здесь по подключению, я думаю вопросов не возникнет, мы используем 4, 6, 10, 11, 12, 13 разъемы, минус берём общий, он расходится по плате, минус на первый контакт, и на последний(16).

Он здесь обозначен на моей плате буквой К, на сколько я помню на разных схемах по-разному. На одних схемах A и K на других LED+ LED- . Давайте напишем скетч, поскольку мы использовали в ней контакты 4, 6, 10, 11, 12, 13 нам нужно будет их обозначить.

И поскольку мы опять работаем с LCD дисплеем, мы должны будем подключить библиотеку liquidcrystal , константу для нашего аналогового разъёма, объявим массив контактов, которые мы использовали.

Объявим переменную val, в которую мы будем считывать, преобразовывать, так сказать получать, исходя из значение A0.

В setup мы включим, в принципе это дело по пожеланию, для мониторинга последовательный порт, объявим LCD 16 символов по 2 строки и выведем текст не указывая конкретно на какой строке значение напряжения. Это будет первая строка. В цикле loop мы получим в переменную val значение с нашего разъема, которое у нас определяется как значение между плюс-минус и вот это выводится из A0 .

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

Теперь на первой строке, она по сути вторая строка, с 6 символа выводим значение нашей переменной val , символ вольтажа, английскую букву V и сделаем небольшую задержку в одну пятую секунды, или 200 миллисекунд. Сохраним наш скетч, в принципе, после этого плата Arduino может стать небольшим вольтметром, который можно проверить напряжение небольшой батарейки.

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

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

Полный текст скетча вольтметр на ардуино

Смотрите видео: Arduino в роли вольтметра. Вывод напряжения на LCD дисплей

Создать вольтметр на Ардуино своими руками

Среди начинающих разработчиков электронной техники популярно создавать амперметр и вольтметр на Ардуино. Эти устройства знакомы с курса физики, начиная с 7 класса.

В статье ниже подробно расписана инструкция о том, как создать собственный вольтметр на Ардуино с LCD дисплеем.

Принцип работы

Вольтметром называют приспособление, роль которого – измерение ЕДС, так называемой, электродвижущей силы. Измерения проводятся на определенном отрезке электрической цепи. Если сказать по-простому, задача прибора – замер напряжения.

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

Компоненты

Список компонентов для создания вольтамперметра на Ардуино или каждого устройства по отдельности:

  • 1 Arduino;
  • 1 Макет (не забудьте прокладки перемычек);
  • 1 Дисплей 1602А (16×2 с подсветкой);
  • 1 1×16 отсекают заголовки для фиксации дисплея;
  • 1 Зуммер;
  • 2 винтовые клеммы с двумя контактами;
  • 3 Тактильные переключатели (кнопки);
  • 1 потенциометр 10k;
  • 6 резисторов 10k;
  • 2 резистора 100k;
  • 1 резистор 100R;
  • 1 резистор 10R;
  • 1 0.47R 5W силовой резистор.

Компоненты должны быть собраны в макете следующим образом:

Программа для устройства

Ниже приведен отрывок из листинга программы «вольтметр на Ардуино»:

Настройка

В основном, требования к запуску проекта «вольтметр на Arduino» на независимой печатной плате – это источник питания 5 В, 16-мегагерцовый кварцевый генератор и, конечно же, связанные выводы микроконтроллера со всеми цифровыми и аналоговыми портами платы Arduino. Диаграмма ниже популярна в Интернете и объясняет, как нужно использовать схему для работы в качестве прототипа.

Новые компоненты, которые необходимо добавить в прототип для работы на печатной плате:

  • 1 28-контактный паяльник для пайки (для микроконтроллера Atmega);
  • 1 разъем питания для печатной платы;
  • 1 регулятор LM78L05;
  • 1 1uf конденсатор;
  • 1 конденсатор 10футов;
  • 1 кварцевый генератор 16 МГц;

С новыми компонентами и выводом микроконтроллера имеем следующую схему проекта «Ардуино-вольтметр»:

Еще на просторах Интернета можно найти такую схему вольтметра:

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

Проверка работоспособности

Для калибровки используются 3 кнопки. Центральная кнопка является конфигурационной и активирует режим калибровки, если нажата в течение 2 секунд, а также подтверждена звуковым сигналом.

Остальные кнопки – слева и справа, должны уменьшать и увеличивать калибровку соответственно, за чем следует один звуковой сигнал. Калибровка начинается с напряжения, затем, при нажатии кнопки конфигурации, снова переключается на ток, а при повторном нажатии сохраняет конфигурацию в EEPROM и возвращает устройство в нормальный режим.

Как повысить точность измерения

Для повышения точности созданного устройства потребуется провести эксперимент. Первое значение получаем от вольтметра на Ардуино с выводом на ПК, вторую – с помощью необходимой функции. Поменяем константу (1.1 * 1023.0 * 1000) на усовершенствованную:

Первый множитель означает – 1.1 * Vcc1 (с вольтметром) / Vcc2 (с нашей функцией).

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

Цифровой вольтметр 0-30 Вольт на базе Ардуино

Представлена полезная схема для любителей поэкспериментировать с Ардуино. Это простой цифровой вольтметр, которым надежно можно измерять постоянное напряжение в диапазоне 0 – 30В. Плату Ардуино, как обычно, можно питать от 9В батареи.

Как вам вероятно известно, аналоговые входы Ардуино можно использовать для измерения постоянного напряжения в диапазоне 0 – 5В и этот диапазон можно увеличить,
используя два резистора в качестве делителя напряжения. Делитель уменьшит измеряемое напряжение до уровня аналоговых входов Ардуино. А затем программа вычислит реальную величину напряжения.

Аналоговый датчик на плате Ардуино определяет наличие напряжения на аналоговом входе и преобразует его в цифровую форму для дальнейшей обработки микроконтроллером. На рисунке напряжение подается на аналоговый вход (А0) через простой делитель напряжения, состоящий из резисторов R1 (100кОм) и R2 (10кОм).

При этих значениях делителя на плату Ардуино можно подавать напряжение от 0 до
55В. На входе А0 имеем измеряемое напряжение деленное на 11,т.е.55В / 11=5В. Иначе говоря, при измерении 55В на входе Ардуино имеем максимально допустимое значение 5В. На практике лучше на этом вольтметре написать диапазон “0 – 30В”, чтобы оставался
Запас по безопасности!

Примечания

• Если показания дисплея не совпадают с показаниями промышленного (лабораторного) вольтметра, то необходимо точным прибором измерить величину сопротивлений R1 и R2 и вставить эти значения вместо R1=100000.0 и R2=10000.0 в коде программы. Затем следует измерить лабораторным вольтметром реальное напряжение между выводами 5В и “Земля” платы Ардуино. Получится значение меньшее, чем 5В, например, получилось 4.95В. Это реальное значение следует вставить в строке кода
vout = (value * 5.0) / 1024.0 вместо 5.0.
Кроме того, старайтесь применять прецизионные резисторы с допуском 1%.

• Резисторы R1 и R2 обеспечивают некоторую защиту от повышенных входных напряжений.Однако следует помнить, что любые напряжения выше 55В могут вывести из строя плату Ардуино. Кроме того, в этой конструкции не предусмотрены другие виды защиты(от скачков напряжения, от переполюсовки или повышенного напряжения).

Программа цифрового вольтметра

/*
DC Voltmeter
An Arduino DVM based on voltage divider concept
T.K.Hareendran
*/
#include

LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
int analogInput = 0;
float vout = 0.0;
float vin = 0.0;
float R1 = 100000.0; // resistance of R1 (100K) -see text!
float R2 = 10000.0; // resistance of R2 (10K) – see text!
int value = 0;
void setup() <
pinMode(analogInput, INPUT);
lcd.begin(16, 2);
lcd.print(“DC VOLTMETER”);
>
void loop() <
// read the value at analog input
value = analogRead(analogInput);
vout = (value * 5.0) / 1024.0; // see text
vin = vout / (R2/(R1+R2));
if (vin Перечень компонентов

• Плата Arduino Uno
• 100 кОм резистор
• 10 кОм резистор
• 100 Ом резистор
• 10кОм Подстроечный резистор
• LCD дисплей 16?2 ( Hitachi HD44780)

Вольтметр на Arduino

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

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

Модули Arduino построены на универсальном микроконтроллере с собственным загрузчиком, что позволяет легко прошивать его необходимым программным кодом, без использования дополнительных устройств. Программирование осуществляется на стандартном языке С++.

Одним из простейших примеров использования Arduino может стать реализация на базе этой сборки вольтметра постоянного напряжения повышенной точности с диапазоном измерения от 0 до 30 В.

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

Где, в данном случае, – максимальное измеряемое напряжение, – напряжение после делителя, поступающее на аналоговые вход Arduino, R1 и R2 – значения сопротивлений первого и второго элемента делителя, соответственно.

Чтобы установить определенный «запас прочности» разрабатываемого вольтметра и для простоты подсчетов можно принять величину сопротивлений R1=10кОм и R2=100кОм. В этом случае, на сборку можно подавать напряжение до 55 В.

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

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

Обычные резисторы, используемые в радиолюбительской массе, имеют среднюю погрешность 10 % от номинала. Использование же прецизионных сопротивлений высокой точности не всегда может быть возможным из-за их высокой стоимости.

Поэтому, если при проверке образцовым лабораторным измерительным прибором, обнаружилась погрешность измерения, необходимо проверить реальное сопротивление каждого элемента делителя и отредактировать программу (R1, R2).

Следующим шагом наладки должен стать замер напряжения между клеммами +5 и общей («земля») Arduino. В случае, если полученное значение не будет ровно 5 В, нужно также произвести изменения в коде (заменить число 5 в строке vout=(value*5)…) на действительное напряжение.

Следует не забывать, что даже небольшое превышение напряжения (выше 55 В)приведет к выходу из строя Arduino, поэтому, рационально не применять вольтметр для высоких величин, установив верхней планкой 30 В.

Схема вольтметра на Areduino

Код программы :

Автор: Николай Владимирович.

Источники:

http://arduinoplus.ru/voltmetr-arduino/

http://xn—-7sbgjfsnhxbk7a.xn--p1ai/cifrovoj-voltmetr-0-30-volt-na-baze-arduino

http://volt-index.ru/podelki-dlya-avto/voltmetr-na-arduino.html

http://samelectrik.ru/kak-provesti-380-volt-v-dom.html

Ссылка на основную публикацию