Вольтамперметр на микроконтроллере в лабораторный бп. Простой модульный вольтметр переменного напряжения на PIC16F676 4 разрядный вольтметр на микроконтроллере atmega8

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

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

Делитель напряжения R2, R3 позволяет измерять напряжения больше 5ти вольт. Для измерения малых напряжений входной сигнал пропускается через операционный усилитель DA2 с регулируемым коэффициентом усиления. Его коэффициент усиления задается резисторами R4, R5. Для измерения тока на входе прибора должен быть установлен шунт R1.
Основой схемы служит микроконтроллер Atmega8. После преобразования уровня сигнала он поступает на вход АЦП, встроенного в микроконтроллер. Микроконтроллер выводит полученное значение на трехразрядном сегментном индикаторе с общим анодом. Напряжение на аноды разрядов поступает через транзисторы. Резисторы в эмиттерах R9, R10, R11 задают яркость индикатора. Способ индикации — динамический.
Питание можно подавать напрямую от источника напряжения 5В, либо через стабилизатор. Обратите внимание, что минус питания и минус измерительного входа соединены друг с другом.

Печатная плата

Плата измерительного прибора

Плата односторонняя и содержит все элементы измерительного прибора. Резистор R1 (шунт амперметра) имеет несколько посадочных мест для корпусов разной мощности. Файл с платой, нарисованной в формате Sprint-Layout 5.0 можно скачать по ссылке .

Программа

При включении устройства в течении двух секунд на индикатор выводится приветствие «HI», после чего начинается работа прибора. В AVR-микроконтроллерах используется 10-ти разрядный АЦП. В нашем проекте мы используем только девять разрядов. Эта разрядность позволяет получить конечную приборную точность 1%. Для большей стабильности и плавности изменения показаний берется выборка из ста отсчетов и на дисплей выводится наибольший из них. Если входное напряжение превышает диапазон измеряемых значений на индикатор выводится сообщение: -0. Третий разряд не включается, если он не используется.
HEX-фал для каждой версии свой. Мы будем их прикладывать к каждой версии отдельно. Фьюз-биты всегда должны оставаться заводскими. Прошивка загружается через стандартный 6ти-пиновый разъем ISP-программирования.

Технические характеристики

  • напряжение питания, 5В либо 7-12В
  • потребляемый ток, не более 60мА
  • частота обновления индикатора, 56Гц
  • пределы измерения, 0.5В, 5В, 50В
  • входное сопротивление, не менее 10кОм
  • точность, не менее, 10%

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

Для сборки вольтметра с пределом измерения 50В нужно установить все элементы, кроме R1, R4, R5, DA2. Если вы не планируете использовать нестабилизированное питание, то можно не устанавливать также конденсатор C1 и стабилизатор DA1.

После сборки плата с лицевой стороны выглядит так:

…и с обратной стороны:

Элементы схемы на предел 50В:

  1. R2 — подстроечный резистор CA6V на 2,5кОм, 1шт
  2. R3 — чип-резистор 0805 на 10кОм, 1шт.
  3. Гребенка PLS-контактов

Прошивку для версии с пределом измерения на 50В можно скачать . Фьюз-биты оставляем без изменения.
Если все правильно собрано, то работать должно примерно так:

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

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

На плату необходимо установить следующие элементы:

  1. C2 — танталовый конденсатор, 22мкФ, 16В T491C226K016AT, 1шт.
  2. C1,C3,C4 — конденсаторы на 0,1мкФ в корпусе 0805
  3. DA1 — стабилизатор L7805 в корпусе D2PAK, 1шт.
  4. DD1 — микроконтроллер Atmega8a-au, 1шт.
  5. J1 — чип-резистор 1206 с сопротивлением 0 Ом, 1шт. (перемычка)
  6. HL1 — сегментный индикатор BA56-12YWA, 1шт. (желательно устанавливать через колодку)
  7. R2 — подстроечный резистор CA6V на 25кОм, 1шт
  8. R3 — чип-резистор 0805 на 1кОм, 1шт.
  9. R6-R8, R12 — чип-резисторы 0805 на 1кОм, 4шт.
  10. R9-R11 — чип-резисторы 0805 на 56Ом, 3шт. (можно взять с меньшим сопротивлением для увеличения яркости)
  11. VT1-VT3 — транзисторы BC807-40, 3шт.
  12. Гребенка PLS-контактов

Фактически отличаются только сопротивления резисторов в делителе напряжения R2, R3.
Прошивку для версии вольтметра на 5В можно скачать . Фьюз-биты оставляем без изменения. Отличие этой прошивки от предыдущей только в положении разрядной точки.
Видео работы вольтметра на 5В:

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

Для работы с пределом измерения от 0 до 300мВ потребуется дополнительный каскад на микросхеме LM358N. Принципиальная схема при этом принимает следующий вид:

Резисторы R4, R5 задают коэффициент усиления усилителя. R1 необходим для того, чтобы в отсутствии входного сигнала вольтметр показывал 0В.
Элементы платы:

  1. C2 — танталовый конденсатор, 22мкФ, 16В T491C226K016AT, 1шт.
  2. C1,C3,C4 — конденсаторы на 0,1мкФ в корпусе 0805
  3. DA1 — стабилизатор L7805 в корпусе D2PAK, 1шт.
  4. DA2 — операционный усилитель L358N в корпусе SO8, 1шт.
  5. DD1 — микроконтроллер Atmega8a-au, 1шт.
  6. J1 — чип-резистор 1206 с сопротивлением 0 Ом, 1шт. (перемычка)
  7. HL1 — сегментный индикатор BA56-12YWA, 1шт. (желательно устанавливать через колодку)
  8. R1 — чип-резистор 0805 на 10кОм, 1шт.
  9. R4 — чип-резистор 0805 на 1кОм, 1шт.
  10. R5 — подстроечный резистор CA6V на 25кОм, 1шт
  11. R6-R8, R12 — чип-резисторы 0805 на 1кОм, 4шт.
  12. R9-R11 — чип-резисторы 0805 на 56Ом, 3шт. (можно взять с меньшим сопротивлением для увеличения яркости)
  13. VT1-VT3 — транзисторы BC807-40, 3шт.
  14. Гребенка PLS-контактов

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

Предосторожности в работе и особенности эксплуатации

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

  1. Вольтметр рассчитан только для измерения постоянного напряжения
  2. У вольтметра нет встроенной защиты от смены полярности входного напряжения
  3. Измерения производятся относительно напряжения питания. Другими словами стабильность питающего напряжения определяет точность показаний вольметра.
  4. У вольтметра нет защиты по входу. Не стоит подавать на него напряжения больше предельного
  5. Вход вольметра не имеет гальванической развязки. Если вы питаете основную схему и предложенный вольтметр от одного и того же источника питания измерения можно производить только относительно общего провода . В случае, когда необходимо измерить разность потенциалов между двумя точками на которых есть напряжение, необходимо использовать для питания вольтметра отдельный источник питания с гальванической развязкой через трансформатор. И при этом обязательно подключать минус вольтметра к точке с меньшим напряжением!
  6. Если необходимо увеличить яркость индикатора, можно уменьшить сопротивление резисторов R9-R11. Однако не стоит ставить сопротивление меньше 20Ом
  7. Если вы планируете использовать вольтметр для индикации бортового напряжения в автомобиле вам потребует подключить только два провода: минус автомобиля к «GND» вольтметра, а плюсовой провод к выводам разъема «7-12V» и «+»

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

Мы будем очень рады, если вы поддержите наш ресурс и посетите магазин наших товаров .

Логика программы

В начале программы выполняются функции инициализации. Настраивается и запускается АЦП, конфигурируется порт, к которому подключен индикатор, и настраивается таймер Т0. Затем разрешаются прерывания, и микроконтроллер выполняет бесконечный цикл. В цикле опрашивается программный буфер АЦП и вычисляется значение напряжения. Вычисленное значение передается функции индикатора, которая преобразует его в двоично-десятичные цифры, затем в коды цифр индикатора и записывает их в массив (буфер).

Параллельно основной программе вызываются прерывания АЦП и таймера Т0. АЦП работает в режиме однократного преобразования, с внутренним опорным источником напряжения на 2,56В. Выравнивание вправо, используются все 10 разрядов. Результат преобразования АЦП накапливается 8 раз в переменной, усредняется и записывается в программный буфер.

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

Структура проекта

Проект состоит из 3-ех программных модулей.
main.c – основная программа
adc.c – функции для работы с АЦП
indicator.c – драйвер семисегментного 4-ех разрядного индикатора.

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

Основные характеристики устройства:

  • основа устройства - микроконтроллер AVR ATmega8 компании ;
  • диапазон измеряемого напряжения: 0 В - 30 В, шаг 10 мВ;
  • диапазон измеряемого тока: 0 А - 99 А, шаг 10 мА (шаг зависит от значения сопротивления шунта);
  • два вариатна конструкции: с микроконтроллером в TQFP и PDIP корпусе;
  • односторонняя печатная плата;
  • компактная конструкция;
  • отображение измеряемых величин на ЖК дисплее (однострочном или двухстрочном) на базе контроллера HD44780 .

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

При использовании двухстрочного дисплея (и соответствующего ПО для микроконтроллера) имеется возможность отображения значения сопротивления подключенной нагрузки. А при использовании блока питания для зарядки Li-Pol аккумуляторов имеется функция отображения электрической емкости аккумуляторов, что дает возможность оценить их состояние и уровень разряда.

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

Разрешение[мА] = 1/(R[Ом]×3.2)

Кроме того, падение напряжения на шунте не должно превышать 2.4 В, поэтому значение сопротивления шунта должно быть меньше 2.4/Imax[A]

  • вариант №1: применен микроконтроллер ATmega8 в корпусе TQFP32;
  • вариант №2: применен микроконтроллер ATmega8 в корпусе PDIP.

Принципиальная схема вольтамперметра (вариант №1)

Список электронных компонентов (вариант №1)

Обозначение в схеме

Номинал

Корпус

Примечание

Потенциометр

Потенциометр

C4, C5, C6, C7, C8, C9

Данные конденсаторы, указанные на схеме,
устанавливать на плату не нужно.
Они были необходимы для прежней версии
ПО для микроконтроллера.


вентилятора.

На плату не устанавливается

защитный диод

Опционально. Для защиты транзистора
от помехи по напряжению при включении
вентилятора.

Диод Шоттки: 100 В, 3 А

Регулятор напряжения +5 В

Регулятор напряжения +12 В

Микроконтроллер

коннектор 1×16

коннектор 1×2

коннектор 1×1

коннектор 1×3

N-канальный MOSFET
(ток вентилятора менее 200 мА)

Принципиальная схема вольтамперметра (вариант №2)

Ниже представлена схема подключения модуля в блоке питания.

Рассмотрим подробно процесс настройки вольтамперметра.

Кнопка S1 - сброс/установка параметров.
Для входа в режим установки параметров вольамперметра необходимо, удерживая кнопку нажатой, подать питание на схему. На дисплее появится надпись «www.elfly.pl», что означает вход в режим установки.

Первый параметр для настройки - опорное напряжение для АЦП микроконтроллера. Опорное напряжение является основным фактором погрешности измерений. Пользователь должен измерить опорное напряжение на выводе 20 микроконтроллера (для микроконтроллера в корпусе PDIP - вывод 21). Измеренное значение вы и должны прописать в этом «сервисном меню» при помощи этой же кнопки S1, иначе, по умолчанию, принимается значение опорного напряжения Vref = 2.56 В (соответственно техническому описанию на микроконтроллер).

После изменения значения опорного напряжения для сохранения параметра никаких манипуляций с кнопкой S1не должно проводится в течении 5 с.

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

Если значение сопротивления шунта неизвестно, то необходимо на выход блока питания подключить амперметр, выставить некоторый ток при помощи регулятора ограничения тока блока питания и нажать кнопку S1. Кнопку необходимо нажимать пока показания амперметра и нашего устройства (с правой стороны на дисплее, с левой стороны отображается значение шунта) не станут равными.

После проведения этой процедуры для сохранения параметров кнопку не нажимать в течении 5 с.

Кроме того кнопка S1 используется для сброса значения электрической емкости при зарядке Li-Pol аккумуляторов.

Резистор R9 - точная настройка поддиапазона делителя напряжения.
Чтобы исключить ошибки преобразования АЦП диапазон измерений разбит на два поддиапазона 0 В - 10 В и 10 В - 30 В. Для настройки необходимо на выход блока питания подключить вольтметр и установить выходное напряжение на уровне около 9 В, и регулируя R9 добиться одинаковых показаний вольтметра и нашего устройства.

Резистор R10 - грубая настройка поддиапазона делителя напряжения.
Процедура аналогичная точной настройке, но необходимо установить выходное напряжение блока питания около 19 В, и регулируя резистор R10 добиться совпадения показаний.

Резистор R1 - регулировка контрастности LCD.
Если после сборки устройства на дисплее ничего не отображается, то сперва необходимо отрегулировать контрастность дисплея.

Коннектор J1 - подключение вентилятора.

Коннектор J2 - питание модуля вольтамперметра (+12 В)
Если ваш блок питания имеет выход стабилизированного напряжения +12 В, то его можно подключить к этому коннектору, и в таком случае можно не использовать в схеме регулятор напряжения U2. Такое решение имеет свои плюсы т.к. возможно подключить более мощный вентилятор охлаждения.

Если выхода +12 В у вашего блока питания нет, то этот коннектор необходимо оставить не подключенным.

Примечание. Во втором варианте схемы (PDIP) данный коннектор отсутствует.

Коннектор J3 - питание модуля вольтамперметра (+35 В)
Напряжение питания +35 В подается с диодного моста блока питания. Перед подключением необходимо уточнить параметры используемого регулятора напряжения U2 и уровень напряжения с диодного моста, чтобы не повредить регулятор U2. Но с другой стороны, минимальное напряжение, подаваемое на этот коннектор, не должно быть ниже 9 В или 6.5 В, если используются регуляторы с низким падением напряжения (LDO).

Данный коннектор должен быть подключен независимо от того, подключен ли коннектор J2 к питанию +12 В.

Коннектор J4 - подключение линий измерения напряжения и тока.
Выводы коннектора подключаются:

  • Вывод 1 - подключается к клемме «+» блока питания;
  • Вывод 2 - подключается к клемме «-» блока питания;
  • Вывод 3 - «общий»

Коннектор LCD - подключение индикатора
Вольтамперметр работает корректно с однострочным LCD. Дисплей необходимо использовать со светодиодной подсветкой (ток потребления до 15 мА).

Программирование микроконтроллера

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

Помните, что при программировании микроконтроллера в схеме, необходимо подать напряжение питания +5 В. В зависимости от используемого программатора, напряжение питания может подаваться от самого программатора, либо от внешнего источника.

Соответствие сигналов переходника, коннектора LCD, микроконтроллера и программатора

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

При программировании и установке Fuse-битов необходимо учитывать, что микроконтроллер должен быть настроен на работу от внутреннего RC осциллятора 1 МГц, а также необходимо установить бит BODEN. Рекомендуемый порог срабатывания Brown-Out детектора - 4 В.

Программное обеспечение для микроконтроллера (HEX-файлы)

Описание

Вариант №1
(TQFP)

Вариант №2
(PDIP)

Дисплей 2×16

Дисплей 2×16
+ отображение емкости в мАч

Дисплей 2×16 + отображение емкости в мАч
+ отображение значения сопротивления нагрузки

  • В скриншоте есть фраза про вранье амперметра в разы из-за какой то узкой дорожки с большим сопротивлением. Как человек, собравший целую кучу зарядников и практически везде использовавший эти девайсы могу ответственно заявить, что текст - какой то самопиар автора. Не все модели показывают точно, но в разы - ГОНЕВО!
  • Здесь речь о БП на атмеге.. и Ваши скрины и речи не имеют к данной теме никакого отношения.
  • Вас это тоже касается. С навязыванием своих идей!
  • Я никому ничего не навязываю. И уже задолбался объяснять таким как вы, Ptaxa73, что если вы собрались сделать зарядное устройство, то не обязательно самому делать и винтики и отвёртку, которая их будет закручивать в самодельный же корпус. Я могу сделать импульсный блок питания для зарядки. И делал уже. Обратноходовик или полумост. Для этого надо мотать транс, разводить/травить/сверлить текстолит. Паять, колхозить корпус. Я это всё уже проходил. Только это долго и НАУЯ?!! Корпус купим в магазе, источником будет комповый бп или бп для питания светодиодных лент(оба надо допилить - вот где используется мозг, а не в тупом повторении чужих конструкций) и вуаля. Добавив китайское чудо с дигитал цифрами. Не, если вообще пытаетесь чему то научиться, паять например, как практика подойдёт. И гонора поменьше. Вы тут ещё не понятно, что вы за птаха, так пролётная или задержитесь. А я на форуме 11 лет уже.
  • Молодца! Так держать!
  • в общем заменил шунт на номинал 0.01 ом, всё работает, но вот количество тока не изменяется, если ток превышает 3 ампера(на данный момент заряжаю акб от авто), но вот если подключить слабую нагрузку, например в моём случае 100 мА, то счетчик работает. Кто сталкивался?
  • Сейчас ток снизился до 1.32 А и счетчик начал считать ёмкость. Почему с 1.32 А?
  • Приветствую коллеги! Также собрал показометр вариант №1 в корпусе TQFP32. Платка своя, точнее переделанная из имеющихся здесь, для "симметричного бутерброда" с индикатором 1602 на разъеме. Уже давненько борюсь с ситуацией, когда при увеличении тока падает измеряемое показометром напряжение в сравнении с параллельно подключеным эталонным вольтметром. Разница четко соответствует падению напряжения на шунте. Схема подключения стандартная Если чикнуть крестик и посадить "токовый" вход на общий, как показано красным, показания вольтметра становятся аналогичны эталонному и их точность на удивление достаточно неплоха. Ток измеряется нормально. Вход с выпрямителя БП не задействован, висение в воздухе и цепляние на общий не приводит к каким либо изменениям. Вчера уже ночью даже контроллер другой перепаял, прошил, скормил свежий Vref, откалибровал и.... отъимел аналогичный результат. Плата достаточно качественная, промыта многократно. На двух входах АЦП которые относятся к измерению напряжения (24, 25 лапы) напряжения неизменны как для "черного" так и для "красного" случая схемы подключения, а показания разные. Как оНо там чего-то калькулирует ума не приложу. Прошивки менял (UI/UIR). Шой-то я уже в отчаянии заблудившись в этих несчастной горстке деталек. И как оНо у кого-то из вас правильно работает ХЗ?
  • http://www....4&postcount=37 Моё мнение по ваще этой затее изначально. 2011 год.
  • Спаисбо за реплику, но меня не эмоциональные а технические аспекты интересуют. Гараж отапливаемый:) Цена 1602 $1,2 + mega8 $1 - c китайским гуном 3-х сегментным в те же деньги, даже при возникшей у меня ситуации, по точности и сравнивать неприлично. Вопрос мой в том, как оНо у кого-то в варианте TQFP32 корпуса с соответствующими прошивками умудрилось корректно работать? Может не то и не тем мерили? Малоомные шунты(0.01-0.03) малые токи до 3А могли не дать ощутить эту бяку. Вычитает падение на шунте, хоть тресни...
  • Привет народ! Видимо напрасно я тут бучу поднял, хотя никто толком в нее и не сунулся. Прошивка заточена для блоков питания куда дополнительно(при его отсутствии) добавляется шунт и показания напряжения соответствуют тому, что должно быть уже на их выходных клеммах, кда цепляют нагрузку. По этому в прошивке производится вычисление падения на шунте и "косвенный" вывод его на индикацию. Я собирался использовать этот показометр в чуть других целях(как измеритель в конструкции электронной нагрузки), где этого вычисления не должно быть, и я не мог сразу догадаться, что автор беря измерительный сигнал относительно одной конкретной точки схемы будет выводить его для другой расчетной точки. По сему вопрос снят, а сам показометр, могу сказать работает более чем хорошо, и это ИМХО, единственная уникальная на просторах инета схемка на меге8, которая во всем диапазоне 0-35В способна выводить напряжение с точностью до 0,0Х. Своими результатами присоединяюсь к тем, кто подтвердил ее отличную работоспособность для варианта схемы №1 в корпусе TQFP32. Всем успехов!
  • Похоже что тема умерла. Видимо придётся написать свою программу, а для этого научиться её писать. Напишу когда, выложу.
  • Вам уже ранее советовали другие шунты использовать. Могу сказать, что я пробовал с 0,1/0,05/0,01. С 0,01 брешет конкретно. С такими малыми падениями на шунте, схема без доп усилителя не работоспособна. С 0,1/0,05 - нормально. Счетчиком я не пользуюсь и не пробовал даже.
  • При мало токе через шунт, падение тоже малое, но именно при малом падении счетчик считает и весьма корректно.
  • И все же. У кого-то работает точно индикатор с показаниями тока. И до какого предела точно показывает ток?
  • до 15 ампер гонял, показания точные, даже очень
  • Работает точно до 2 цифры после запятой. 0-28 Вольт 0-3,5 А. Шунт 0,22 Ом Блок питания с стабилизацией напряжения и тока. При нагрузке напряжение не падает.
  • Я прошил атмегу. индикатор почемуто чист.При регулировке контрастности появляются квадратики верхней строке дисплея.подскажите в чем ошибка.
  • Ищите ошибку! Тема измусолена. Или больше информации.
  • Нашел ошибку в мнонтаже.Все заработало.

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

Вообще в подробности этой причуды я не вникал. Не так давно этот вольтметр опять попал ко мне у руки для доработки программы. Все работает как положено, но есть еще одна просьба, чтобы установить светодиод индикации работы микроконтроллера. Дело в том, что однажды, из-за дефекта печатной платы, пропало питание микроконтроллера, естественно функционировать он перестал, а так как ЖК-дисплей имеет свой контроллер, то данные, загруженные в него ранее, напряжение на аккумуляторной батарее и ток, потребляемый насосом, так и остались на экране индикатора. Ранее я не задумывался о таком неприятном инциденте, теперь надо будет это дело учитывать в программе устройств и их схемах. А то будешь любоваться красивыми циферками на экране дисплея, а на самом деле все уже давно сгорело. В общем, батарея разрядилась полностью, что для знакомого, как он сказал, тогда было очень плохо.
Схема прибора с индикаторным светодиодом показана на рисунке.

Основой схемы являются микроконтроллер PIC16F676 и индикатор ЖКИ. Так, как все это работает исключительно в теплое время года, то индикатор и контроллер можно приобрести самые дешевые. Операционный усилитель выбран тоже соответствующий – LM358N, дешевый и имеющий диапазон рабочих температур от 0 до +70.
Для преобразования аналоговых величин (оцифровки) напряжения и тока выбрано стабилизированное напряжение питания микроконтроллера величиной +5В. А это значит, что при десятиразрядной оцифровке аналогового сигнала каждому разряду будет соответствовать – 5В = 5000 мВ = 5000/1024 = 4,8828125 мВ. Эта величина в программе умножается на 2, и получаем — 9,765625мВ на один разряд двоичного кода. А нам надо для корректного вывода информации на экран ЖКИ, чтобы один разряд был равен 10 мВ или 0,01 В. Поэтому в схеме предусмотрены масштабирующие цепи. Для напряжения, это регулируемый делитель, состоящий из резисторов R5 и R7. Для коррекции показаний величины тока служит масштабирующий усилитель, собранный на одном из операционных усилителей микросхемы DA1 – DA1.2. Регулировка коэффициента передачи этого усилителя осуществляется с помощью резистора R3 величиной 33к. Лучше, если оба подстроечных резистора будут многооборотными. Таким образом, при использование для оцифровки напряжения величиной ровно +5 В, прямое подключение сигналов на входы микроконтроллера запрещено. Оставшийся ОУ, включенный между R5 и R7 и входом RA1, микросхемы DD1, является повторителем. Служит для уменьшения влияния на оцифровку шумов и импульсных помех, за счет стопроцентной, отрицательной, частотно независимой обратной связи. Для уменьшения шумов и помех при преобразовании величины тока, служит П образный фильтр, состоящий из С1,С2 и R4. В большинстве случаев С2 можно не устанавливать.

В качестве датчика тока, резистор R2, используется отечественный заводской шунт на 20А – 75ШСУ3-20-0,5. При токе, протекающем через шунт в 20А, на нем упадет напряжение величиной 0,075 В (по паспорту на шунт). Значит, для того, чтобы на входе контроллера было два вольта, коэффициент усиления усилителя должен быть примерно 2В/0,075 = 26. Примерно — это потому, что у нас дискретность оцифровки не 0,01 В, а 0,09765625 В. Конечно, можно применить и самодельные шунты, откорректировав коэффициент усиления усилителя DA1.2. Коэффициент усиления данного усилителя равен отношению величин резисторов R1 и R3, Кус = R3/R1.
И так, исходя из выше сказанного, вольтметр имеет верхний предел – 50 вольт, а амперметр – 20 ампер, хотя при шунте, рассчитанном на 50 ампер, он будет измерять 50А. Так, что его можно с успехом установить в других устройствах.
Теперь о доработке, включающей в себя добавление индикаторного светодиода. В программу были внесены небольшие изменения и теперь, пока контроллер работает, светодиод моргает с частотой примерно 2 Гц. Время свечения светодиода выбрано 25мсек, для экономии. Можно было бы вывести на дисплей моргающий курсор, но сказали, что со светодиодом нагляднее и эффектнее. Вроде все. Успехов. К.В.Ю.


.

Один из вариантов готового устройства, реализованного Алексеем. К сожалению фамилии не знаю. Спасибо ему за работу и фото.



КАТЕГОРИИ

ПОПУЛЯРНЫЕ СТАТЬИ

© 2024 «postavuchet.ru» — Автомобильный сайт