Вольтметр-амперметр переменного тока с вычислением мощности на PIC16F690 [Обновлено]
При ремонтных работах или при проверке и испытаниях новых устройств часто требуется подавать напряжение от ЛАТР’а, при этом необходимо контролировать напряжение и ток. Для этих целей был разработан и собран вольтметр-амперметр на микроконтроллере с LCD индикатором. Поскольку, напряжение и ток измеряются, то легко вычисляется и полная мощность. В результате получился весьма компактный измеритель.
Технические характеристики
1. Пределы изменения измеряемого напряжения 0 – 255 Вольт , дискретность 0,5 вольта. Показания отображаются с шагом 1вольт.
2. Пределы изменения измеряемого тока 0 – 10 Ампер , дискретность 20 ма. Показания отображаются с шагом 10 ма.
3. Полная мощность вычисляется, как произведение величины тока на напряжение и отображается только целочисленное значение в Вольт -амперах.
Камрад, рассмотри датагорские рекомендации
? Полезные и проверенные железяки, можно брать
Опробовано в лаборатории редакции или читателями.
↑ Принципиальная схема
Исключён фрагмент. Полный вариант доступен меценатам и полноправным членам сообщества.
В схеме применено прямое измерение переменного напряжения и тока микроконтроллером.
Измеряемое напряжение через делитель R7, R9, R12 и C12 поступает на вход микроконтроллера через конденсатор C10. Конденсатор C12 совместно с делителем входного напряжения образует интегрирующую цепь, которая препятствует проникновению импульсных помех.
Измеряемый ток протекает по шунту R1, напряжение, снимаемое с него, усиливается операционным усилителем и через цепочку R8 и C8 поступает на вход микроконтроллера. Первый каскад на OP1 представляет собой инвертирующий усилитель с интегрирующим конденсатором C3 в цепи обратной связи. В связи с тем, что размах напряжения, снимаемого с OP1 должен быть около 5 Вольт , на микросхему усилителя поступает повышенное питание (9-15 Вольт ). Второй каскад на OP2 включен повторителем и особенностей не имеет. Конденсатор C3 служит для уменьшения помех при работе АЦП микроконтроллера.
На измерительные входы RA0 и RA1 поступает постоянное стабилизированное смещение 2,5 вольта через резисторы R11 и R13. Это напряжение позволяет правильно измерять положительный и отрицательный полупериоды входных напряжений.
К микроконтроллеру PIC16F690 подключен LCD дисплей, с отображением 2-х строк по 16 символов. Резистор R14 служит для установки оптимальной контрастности дисплея. Резистор R15 определяет ток подсветки дисплея.
Питание прибора осуществляется от отдельного трансформатора на 9 – 12 Вольт . Стабилизатор питания +5 Вольт собран на микросхеме 78L05 и особенностей не имеет.
↑ Программа
Программа написана на языке СИ (mikroC PRO for PIC), разбита на блоки и снабжена комментариями. В программе применено прямое измерение переменного напряжения микроконтроллером, что позволило упростить схему. Микропроцессор применен PIC16F690 с довольно большим объемом памяти, что позволило применить LCD дисплей и написать программу на языке высокого уровня без особых ухищрений. Тактовая частота внутреннего генератора выбрана 8 МГц.
Блок программы izm_U измеряет величины напряжения и тока. В версии V3 – применено прямое измерение напряжения и тока без привязки к фазе, что позволило получить правильные показания напряжения и тока при реактивной нагрузке.
Блок программы display — вывод текстовой информации на LCD дисплей.
Блок программы CustomChar – формирование символов русского алфавита, позволяет выводить на экран символы русского алфавита для нерусифицированных индикаторов.
В основном блоке main выполняется преобразование результатов измерений в текстовую форму для последующего вывода на дисплей.
↑ Детали и конструкция
Все детали установлены на печатной плате. Дисплей вставляется в разъемы платы и крепится винтами к стойкам длиной 12 мм. В связи небольшим расстоянием между платами конденсаторы применены небольшой высоты C4, C5 на 16 Вольт , остальные на 6,3 или 10 Вольт . Измерительный резистор R7 должен быть высоковольтным. Я установил резистор типа МЛТ1. Шунт взят от неисправного мультиметра. В связи с тем, что различные типы дисплеев могут иметь различное подключение питания (ножки 1 и 2), то на печатной плате питание на ножки дисплея 1 и 2 поступает через перемычки. Их надо коммутировать правильно, в соответствии с применяемым дисплеем. Наличие русского алфавита в дисплее необязательно, так как он формируется программно. Микроконтроллер устанавливается в цанговую панельку.
Исключён фрагмент. Полный вариант доступен меценатам и полноправным членам сообщества.
Я запитал прибор от телефонного адаптера. В связи с тем, что на плате есть свой мост Br1, полярность подключения не имеет значения. Важно, чтобы на конденсаторе C4 было напряжение в пределах 10 – 15 Вольт .
↑ Схемы подключения
Схема подключения могут быть и другими. Например, на вход подать 6,3 вольта, а к входу подключить накал радиоламп для измерения тока накала и т.п.
↑ Настройка
Необходимо проверить монтаж платы и включить устройство. На время настройки для подключения дисплея я сделал кабель — переходник длиной 10 – 15 см.
1. Вращая резистор R14, выставляем оптимальную контрастность дисплея. На индикаторе должны отобразиться нулевые значения напряжения, тока и мощности.
2. После этого на вход подают напряжение (можно сетевое 220 Вольт ), которое измеряется контрольным вольтметром, при этом на индикаторе должно отобразиться значение напряжения. Вращая резистор R12, устанавливаем показания напряжения на дисплее равным напряжению, поданному на вход. Возможно, потребуется изменить в некоторых пределах резистор R9.
3. Для настройки правильных показаний амперметра подключаем какую-либо нагрузку (можно лампу накаливания на 100 – 200 ватт) через контрольный амперметр. После этого на вход подают напряжение, при этом на индикаторе должны отобразиться значения напряжения и тока. Вращая резистор R6, устанавливаем показания тока на дисплее равными току на контрольном амперметре. В связи с тем, что шунт может иметь сопротивление, несколько другого номинала возможно, потребуется изменить в некоторых пределах значение резистора R5.
После проведения настройки дисплей можно включить без кабеля — переходника и прикрепить к плате.
↑ Замеченные недостатки при первом включении
При первых включениях без подключения нагрузки прибор показывал ток 10 – 30 ма. Оказалось, что конденсаторы давали некоторую утечку. После 5-10 минут работы ток падал до нуля. В дальнейшем конденсаторы «отформовались» и дефект исчез.
↑ Итоги
a) Мне прибор оказался очень полезен при проверке и испытаниях новых устройств.
b) Прибор легко меряет мощности, потребляемые различной бытовой техникой (лампа накаливания, экономичная лампа, фен, утюг, электропаяльник на 36 Вольт , автомобильные лампы и т.д.), а также компьютера и принтера.
c) Очень легко измеряются ток холостого хода трансформатора (оказалось, что он не всегда равен ожидаемому!).
↑ При разработке использованы следующие материалы
1. Идея прибора взята из описания “ Суперпростой амперметр и вольтметр на супердоступных деталях ”, автор Eddy71.
2. Даташиты на детали
↑ Файлы
Схема, печатная плата и программа с прошивкой
?Shema-VAvar.zip 12.09 Kb ⇣ 495
Наш файловый сервис предназначен для полноправных участников сообщества «Datagor Electronics».
Для получения файла зарегистрируйтесь и войдите на сайт с паролем.
Наш файловый сервис предназначен для полноправных участников сообщества «Datagor Electronics».
Для получения файла зарегистрируйтесь и войдите на сайт с паролем.
Наш файловый сервис предназначен для полноправных участников сообщества «Datagor Electronics».
Для получения файла зарегистрируйтесь и войдите на сайт с паролем.
Прошивка v2 с расширенным диапазоном измерений (28-12-2013)
Расширены пределы допустимых значений напряжения до 511V и тока до 20,46А
?Proshivka-v2-511V-2046A.7z 5.49 Kb ⇣ 264
Наш файловый сервис предназначен для полноправных участников сообщества «Datagor Electronics».
Для получения файла зарегистрируйтесь и войдите на сайт с паролем.
Прошивка v3 с расширенным диапазоном измерений (15-02-2014)
Расширены пределы допустимых значений напряжения до 255V и тока до 51А
?255V-51A-datagor.ru.7z 5.59 Kb ⇣ 220
Наш файловый сервис предназначен для полноправных участников сообщества «Datagor Electronics».
Для получения файла зарегистрируйтесь и войдите на сайт с паролем.
Иван Внуковский, г. Днепропетровск
Читательское голосование
Статью одобрили 58 читателей.
Для участия в голосовании зарегистрируйтесь и войдите на сайт с вашими логином и паролем.
22.10.16 изменил Datagor. Добавлена прошивка с расширенным диапазоном измерения
Поделись с друзьями!
Связанные материалы
«V6» — измеритель RMS-значений напряжения, тока, активной и полной мощности (Atmega 8). Весьма часто возникает необходимость знать величину потребляемой (активной) мощности различными.
Простой модульный вольтметр переменного напряжения на PIC16F676. Простой вольтметр переменного напряжения с частотой 50 Гц, выполнен в виде встраиваемого модуля.
Однофазный привод постоянного тока. В основе разработки электропривода лежит принцип работы следящего привода с одноконтурной системой.
Высоковольтный БП (0-350V, 0.5А max) с вольт-амперметром на PIC16F690. Иногда при регулировочных работах требуется сравнительно высокое напряжение питания устройств или.
Релейный стабилизатор напряжения 220V без разрыва цепи. В статье рассматривается возможность безразрывного переключения цепей переменного тока с помощью.
Стабилизатор напряжения сети 1,8 кВт на PIC12F675. В последнее время мощности бытовых нагрузок возросли: появились фены, обогреватели, утюги, СВЧ печи.
Универсальный привод с Системой Импульсно — Фазового Управления. Регулятор служит не только для плавного регулирования оборотов двигателя постоянного тока, но в.
Полный усилитель на микросхемах. Часть 5-4. Токовая помпа Хоуленда (подписка на платы завершена). Не мечтай, действуй! Howland Current Pump. Особенность построения УМЗЧ настоящего проекта.
V7 — Измерение RMS-значений напряжения, тока, активной и полной мощности. Облегченная версия. После публикации моей статьи «V6» — измеритель RMS-значений напряжения, тока, активной и полной.
Транзисторный фильтр питания с высоким КПД для аудиоаппаратуры. При создании прибора для ремонта телевизоров мне потребовался регулируемый источник питания 30-300.
Сумматор каналов на ОУ. Теория и практика. Не раз обращал внимание на то, что радиолюбители применяют в своих схемных решениях неоправданно.
Микроконтроллерный регулятор мощности на Atmega16. На фото представлен действующий макет регулятора мощности, схема которого (с небольшими.
Измерение тока STM32 АЦП HAL (шунт, дифференциальный усилитель)
Последовательно с нагрузкой включаем сопротивление малой величины.
Таким образом протекающий ток через R load и R sense будет одинаковый (здесь 690 мА), при этом зная сопротивление резистора-шунта R sense = 0.1 Ом и измерив напряжение на нем (U sense = 0.069 В) можно легко вычислить протекающий через цепь ток:
А теперь испытания на макетной плате, лампа накала в качестве нагрузки R load ( ИСКРА 13,5 В) , низкоомный резистор R sense 3.3 Ом 10 Вт.
Берем вольтметр и измеряем напряжение на резисторе.
Итак, падение на нем U sense = 0.2757 В. Вычисляем ток
Учитывая неточность резистора, всё отлично, почти такой же, как показывает мультиметр ( ламповый блок питания показывает неправильно!).
Выбор шунта
- малое сопротивление (чтобы уменьшить потери и вносимое влияние)
- высокая точность сопротивления
- малый ТКС (чтобы сопротивление мало изменялось при изменении температуры)
Схема
Понятно, что при маленьком значении сопротивления R sense будет падать и маленькое напряжение, а нам его еще и измерять, причем мы хотим получить диапазон от нуля то VCC (в данном случае от 0 В до 3.3 В), чтобы использовать все 12 разрядов внутреннего АЦП STM32.
В общем надо усилить сигнал в N раз. Применяем схему дифференциального (разностного, вычитающего) усилителя на операционном усилителе (питание однополярное).
Таким образом нам удастся усилить маленькое напряжение на R sense , а напряжение на выходе будет определятся соотношениями сопротивления резисторов, при R1 = R3, R2 = R4:
U1 — напряжение на инвертирующем входе;
U1 — напряжение на неинвертирующем входе;
R2=R4 — сопротивление резистора;
R1=R3 — сопротивление резистора;
Выбор операционного усилителя
Нам нужен ОУ с низким напряжением питания (т.к. он будет жить вместе с МК на стабилизаторе 3.3 В), маленьким входным напряжением смещения (input offset voltage) и маленьким (как можно ближе к нулю) выходным напряжением низкого уровня.
LMV321
Смотрим на эту гадость, ну такое.
Проверим в бою. На входе U sense = 100 мВ (падение на шунте):
При R1 = R3 = 1 кОм, R2 = R4 = 10 кОм, допуск резисторов 1% (также отобрал вручную самые точные), таким образом на выходе должно быть Usense*10 = 100 мВ*10 = 1000 мВ = 1 В (выражение выше):
Хорошо, усиление в 10 раз сработало отлично!
Помня про высокое значение выходного напряжения низкого уровня замыкаем шунт (на входе ноль), а на выходе:
Ой, нифига себе, примерно 80 мВ (собственно как и написано в документации). Нам такого не нужно, ведь тогда не удастся измерять малые токи.
Но, выходное напряжение высокого уровня действительно почти равно питающему, то есть чуть ниже 3.3В и по сути будет отличаться на 100 мВ максимум.
LM358
Сравнивая с предыдущим у этого выходное напряжение низкого уровня будет около 5 мВ, вот это уже неплохо.
После замены ОУ на макетке измеряем напряжение на выходе при нуле на входах.
Неплохо, даже ниже обычного, то что нужно!
А теперь проверим выходное напряжение высокого уровня (питание 3.3 В):
И еще раз, но при питании 5 В:
Вот это печально. Выход ниже на более чем вольт по сравнению с напряжением питания, то есть использовать этот ОУ в схемах с низким U пит не советую, ведь тогда будут полезными (использоваться) не 12 разрядов АЦП , а в данном случае всего чуть более 7-бит! (исп. от 30.10.2021)
MCP6002
Приобрел ОУ MCP6002 в SOIC-8 от Micropchip.
Здесь выходное напряжение (Voltage Swing) мин 25 мВ, на деле оказалось около 7 мВ, вот эта микросхема и будет использована!
Не забудь добавить фильтр!
Настоятельно советую отфильтровать измеряемый сигнал перед подачей на АЦП простейший фильтр нижних частот (ФНЧ) в виде последовательно соединённых резистора и конденсатора ( как работает можно глянуть здесь). Также дополнительно советую использовать программный цифровой фильтр среднего скользящего.
Для использований общего назначения обычно ставят:
R = 10 — 100 Ом
C = 100 нФ — 1000 нФ
Сборка схемы на макетной плате
Создание проекта в STM32CubeIDE
Новый проект: New -> STM32 Project
Выбор МК: STM32F103C8T6
Имя проекта: Project Name: Current-Measeument-Shunt
Настройки тактирования по умолчанию (ничего не изменено):
Отладчик: SYS -> Debug: Serial Wire
Включение АЦП, Канал 0. Запуск от тригера Таймера 3:
ADC_Regular_ConversionMode: External Trigger Conversion Source
Во вкладке настройки ПДП (DMA):
Add: ADC1
Mode: Circular
Ну и Таймер 3:
TIM3 -> Internal Clock
Prescaler: 800-1
Counter Period: 1000-1
Trigger Event Selection: Update Event
Программирование
Массив из одного элемента для сырого значения с АЦП и вещественная переменная для напряжения, а также вспомогательная переменная:
/* USER CODE BEGIN PV */ /* adc variables */ uint16_t ADC_Raw[1]; float Current; uint8_t sch_adc = 0; /* USER CODE END PV */
Запуск АЦП с ПДП, ну и потом таймер, который будет производить запуск 10 раз/с:
/* USER CODE BEGIN 2 */ HAL_ADCEx_Calibration_Start(&hadc1); HAL_ADC_Start_DMA(&hadc1, (uint32_t*)ADC_Raw, 1); HAL_TIM_Base_Start_IT(&htim3); /* USER CODE END 2 */
В функции обратного вызова переменная устанавливается равной 255, то есть положительное значение:
/* USER CODE BEGIN 4 */ void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* AdcHandle) < sch_adc = 255; >/* USER CODE END 4 */
В главном цикле проверяется переменная sch_adc, если положительная, то рассчитывается значение тока (здесь в мА):
Испытание (отладка)
При отсутствии тока на выходе ненулевое значение. Его можно обнулять каждый раз при включении (учитывая что вначале нагрузка не должна быть подключена) или записать значение и потом вычитать из измеренного:
Точность неплохая и может быть лучше, потому что напряжение питание чуть ниже 3.3В и шунт-резистор использован неточный.
Особенности разводки платы
На рисунке ниже видно, что входы дифференциального усилителя хитро подключаются непосредственно к Rsense, ведь нам не нужны еще и падения на дорожках и соединениях.
Таким образом дорожки, идущие на вход по красоте ведем из середин, устраняя влияние сопротивлений дополнительных участков меди снимая падение именно с резистора-шунта.
Также здесь стоит обратить внимание на фильтрующий конденсатор 100 нФ, он подключен наиболее близко к ножкам GND-VCC и питание подведено сначала к нему.
Измерения без использования ОУ
В некоторых случаях для измерения малых токов, когда напряжение источника изменяется в широких пределах (и высокое падение на шунте не важно) можно оставить тупо резистор и измерять напряжение непосредственно на нем.
Примером может служить мой тестер проверяльщик светодиодов, здесь нужно было измерять ток (0-100) мА, сначала хотел ставить шунт+ОУ, но из-за ограниченного напряжения питания и ненулевого выхода при нулевом токе схема была оптимизирована и упрощена вместе с решением проблемы измерения малых токов.
Готовые токоизмерительные усилители
Конечно существуют усилители с уже встроенными резисторами R1-R4, причем они имеет почти одинаковые параметры. К тому же мы экономим место на плате. Коэффициент усиления как-правило 20, 30, 50, но есть и такие, где он настраивается.
Самым подходящим я считаю решение INA180 от TI единственный недостаток — это низкая распространенность, ну и цена будет чутка выше.
Ваттметр на Arduino – измерение напряжения, тока и мощности
У инженеров и просто энтузиастов в мире электроники достаточно часто возникает необходимость в проведении каких-либо измерений, одним из которых является измерение мощности. Поэтому в данной статье мы рассмотрим создание самодельного ваттметра на основе платы Arduino, с помощью которого можно будет измерять напряжение, ток и мощность электрического сигнала.
Некоторые могут сказать зачем делать такой прибор если его можно сейчас сравнительно недорого купить. Да, это так. Но ведь наверняка некоторым из вас хочется сделать более продвинутый ваттметр чем тот, который можно просто купить. Используя плату Arduino для создания ваттметра мы можем выводить измеряемые значения на экран компьютера, строить их график, сохранять их значения на SD карту когда их значения находятся в заданных интервалах и многое другое.
Необходимые компоненты
- Плата Arduino Nano (купить на AliExpress).
- Операционный усилитель LM358 (купить на AliExpress).
- Регулятор напряжения LM7805 (купить на AliExpress).
- ЖК дисплей 16х2 (купить на AliExpress).
- Шунтирующий резистор 0.22 ohm 2Watt (купить на AliExpress).
- Подстроечный потенциометр 10 кОм (Trimmer pot) (купить на AliExpress).
- Резисторы 10 кОм, 20 кОм, 2,2 кОм, 1 кОм (купить на AliExpress).
- Конденсаторы 0,1 мкФ (купить на AliExpress).
- Тестируемая нагрузка.
- Перфорированная или макетная плата.
Работа схемы
Схема ваттметра на основе платы Arduino представлена на следующем рисунке.
Для облегчения понимания схема разделена на 2 части. Верхняя часть схемы – это ее измерительная часть, а нижняя часть схемы служит для проведения вычислений и отображения их результатов. Места соединения обоих частей схемы обозначены с помощью меток.
Схема спроектирована для работы с напряжением в диапазоне 0-24V с током 0-1A – эти параметры специально подобраны для работы с Solar PV (солнечная фотоэлектрическая система). Но если вы поймете принципы работы этой схемы вы легко можете расширить диапазоны ее работы до необходимых вам. Основополагающий принцип работы этой схемы заключается в измерении напряжения и тока в нагрузке чтобы затем рассчитать потребляемую нагрузкой мощность. Значения всех измеряемых параметров будут отображаться на экране ЖК дисплея 16х2.
Далее рассмотрим работу по отдельности небольших элементов представленной схемы чтобы лучше понять ее работу.
Измерительный блок
Измерительный блок схемы состоит из делителя напряжения на двух резисторах для измерения значения напряжения и шунтирующего резистора с неинвертированным операционным усилителем для измерения силы тока. Делитель напряжения показан на следующем рисунке:
Входное напряжение на этой схеме обозначено как Vcc. Как мы говорили ранее, схема спроектирована для измерения напряжений от 0V до 24V. Но плата Arduino не может измерять такие большие напряжения – она может измерять напряжения только в диапазоне 0-5V. Соответственно, мы должны преобразовать измеряемое напряжение в диапазоне 0-24V в диапазон 0-5V. Это преобразование как раз и осуществляется с помощью представленного делителя напряжения. Соответственно, и номиналы резисторов в схеме этого делителя (10 кОм и 2,2 кОм) как раз подобраны таким образом, чтобы преобразовывать диапазон 0-24V в диапазон 0-5V. Если вам нужно изменить диапазон измеряемых схемой напряжений вам всего лишь нужно изменить значения номиналов резисторов в представленной схеме делителя напряжения. Значение напряжение на выходе делителя напряжения можно рассчитать по хорошо известной формуле:
Vout = (Vin × R2) / (R1 + R2)
Преобразованное к диапазону 0-5V напряжение со средней точки делителя напряжения у нас на схеме обозначено меткой Voltage. В дальнейшем это преобразованное значение напряжения подается на аналоговый вход платы Arduino.
Далее мы должны измерять ток через нагрузку (LOAD). Поскольку микроконтроллеры могут считывать только аналоговые значения напряжения нам необходимо преобразовать значение тока в значение напряжения. Это можно сделать при помощи добавления шунтирующего резистора – в соответствии с законом Ома падение напряжения на нем будет пропорционально протекающему по нему току. Поскольку на шунтирующем резисторе падение напряжения будет очень маленькое мы будем использовать операционный усилитель чтобы усилить его. Схема для осуществления этого процесса показана на следующем рисунке:
Значение сопротивления шунтирующего резистора (SR1) в нашем случае равно 0.22 Ом. Как было указано ранее, наша схема спроектирована для измерения силы тока в диапазоне 0-1A, поэтому в соответствии с законом Ома при максимальном токе через нагрузку 1 А падение напряжения на нашем шунтирующем резисторе будет примерно 0.2V. Это напряжение мало для считывания микроконтроллером, поэтому мы используем операционный усилитель в неинвертированном усилительном режиме чтобы усилить это напряжение до значения, которое можно комфортно считать с помощью платы Arduino.
Операционный усилитель в неинвертированном режиме показан на вышеприведенной схеме. Усилитель спроектирован таким образом чтобы его коэффициент усиления составлял значение 21, итого получаем 0.2*21 = 4.2V. Формула для расчета коэффициента усиления представленного операционного усилителя выглядит следующим образом:
Gain = Vout / Vin = 1 + (Rf / Rin)
Если вам нужно изменить диапазон измеряемых схемой значений тока вам необходимо изменить значение сопротивления шунтирующего резистора, а также значения сопротивлений резисторов, влияющих на коэффициент усиления операционного усилителя.
В нашем случае значение сопротивления резистора Rf равно 20 кОм, а значение сопротивления резистора Rin равно 1 кОм, что обеспечивает коэффициент усиления 21 для операционного усилителя. Далее напряжение с выхода операционного усилителя подается на RC фильтр, состоящий из резистора 1 кОм и конденсатора 0,1 мкФ. Данный фильтр предназначен для фильтрации нежелательных шумов. Далее отфильтрованное напряжение подается на аналоговый вход платы Arduino.
И, наконец, последний компонент который нам необходимо рассмотреть в блоке измерений нашей схемы – это регулятор напряжения. Поскольку мы подаем на вход схемы изменяемое напряжение нам необходимо стабилизированное напряжение +5V для питания платы Arduino и операционного усилителя. Это регулированное (стабилизированное) напряжение в нашей схеме обеспечивается с помощью регулятора напряжения 7805. Конденсатор добавлен на выход схемы регулятора для фильтрации шума.
Блок вычислений и отображения информации
В блоке измерений мы спроектировали схему чтобы конвертировать измеряемые значения и тока в диапазон напряжений 0-5V, которые непосредственно подаются на аналоговые входы Arduino. В этой же части схемы мы подсоединяем эти провода с напряжениями к плате Arduino, а также подключаем к плате Arduino алфавитно-цифровой ЖК дисплей для отображения результатов измерений. Схема этого блока представлена на следующем рисунке.
Как вы можете видеть из схемы, контакт с значением напряжения подключается к аналоговому контакту A3, а контакт со значением тока – к аналоговому контакту A4 платы Arduino. ЖК дисплей запитывается от напряжения +5V с регулятора 7805 и подключен к цифровым контактам платы Arduino в 4-битном режиме. Мы также используем потенциометр 10 кОм, подключенный к контакту Con ЖК дисплея чтобы регулировать его контрастность.
Объяснение программы для Arduino
Полный код программы приведен в конце статьи, здесь же мы рассмотрим его основные фрагменты.
Цель функционирования программы – считать значения аналогового напряжения с контактов A3 и A4 и рассчитать напряжение, ток и мощность, а потом отобразить все это на экране ЖК дисплея.
Вначале программы нам необходимо инициализировать используемые контакты: A3 и A4 для измерения напряжения и тока соответственно, и цифровые контакты 3, 4, 8, 9, 10 и 11 для подключения ЖК дисплея.