Вы здесь: Главная » Простой цифровой вольтметр ch-c3200

Простой цифровой вольтметр ch-c3200
Простой цифровой вольтметр ch-c3200


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

Для реализации этого проекта нам потребуется PIC-контроллер с аналого-цифровым преобразователем (АЦП). По монтажному месту нам подойдут из серии PIC16 — PIC16F819 или PIC16F88.

Схема вольтметра.

Позиционное обозначение элементов сохранено согласно монтажной схемы платы. Питание подается на контакты 1,2 соединителя, контакты 3,4 используются для подключения индикатора или исполнительного устройства. Подается контролируемое напряжение на контакт 9. Контролируемое напряжение не должно превышать 100 вольт.Измерение напряжения. Для измерения напряжения будем использовать вход AN0. При помощи перемычек R20 и R18 сконфигурируем входную цепь. В качестве делителя входного напряжения будем использовать резисторы R1 и R2. Соотношение 20/1 позволит нам измерять постоянные напряжения до 100 вольт. В качестве опорного напряжения будем использовать напряжение стабилизатора питания контроллера.

В выбранных нами контроллерах встроен десяти разрядный АЦП, это значит, что выбранный нами диапазон опорного напряжения 5.0 вольт он «разделит» на 1024 значения. Т.е. если на вход контроллера AN0 подавать напряжение от 0 до 5 вольт, то с регистров АЦП ADRESH и ADRESL сможем сосчитать значение от 0 до 1023.

Значит, в нашем случае весовое значение одного разряда АЦП составит 5/1024 =0,0048828125 вольта.

Для вычисления напряжения необходимо полученное значение АЦП умножать на0,0048828125.

Например, при измерении мы получили значение 359. Для вычисления напряжения нам необходимо 359*0,0048828125 = 1,7529296875. Или округленно 1,8 вольта.

Но как нам измерять напряжения выше 5 вольт? Для этого и используется входной делитель на резисторах R1 и R2. Выберем R2=10 кОм, почему 10, потому если входные цепи АЦП требуют, что бы источник имел сопротивление не ниже 10 кОм. А в целях уменьшения входного тока, возьмём максимальное значение. R1 выберем равное = 200 кОм  для обеспечения необходимого диапазона входного напряжения.

Коэффициент деления 200/10=20. Это значит, что напряжение, поступающее на вход делителя, будет уменьшено на его выходе в 20 раз. При максимальном входном напряжении на входе контроллера 5 вольт мы сможем измерять напряжения 5*20=100 вольт,(или для нашего случая 99,9 вольта). Такой диапазон достаточен для многих устройств, включая и автомобильную технику.

И так если мы выбрали для индикации минимального значения 0,1 вольт, то диапазон индицируемых значений составит от 0,1 до 99,9 вольт.

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

Программа.

Для работы контролера, необходимо программа, которая будет выполнять все наши требования по работе устройства. Программа написана на ассемблере с применение среды MPLAB IDE v8.83.

Наша программа кроме измерения напряжения и вывода его значения на индикатор будет выполнять и необходимые функции по контролю напряжения. Так как параметры по контролю напряжения необходимо задавать во время эксплуатации устройства, то добавим к нашему устройству кнопки управления. Кнопки управления подключаются к порту B микроконтроллера и используются для ввода параметров работы и калибровочных констант. Для сохранения параметров в отключенном состоянии используется EEPROM контроллера. Запоминание происходить при выходе из режима настройки.

 

Выбор PIC-контроллера.

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

Сборочный чертеж верхняя сторона платы.

Сборочный чертеж нижняя сторона.

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

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

Для этого применяется соединитель CON1 (отверстие в плате).

От того как правильно будет выполнена калибровка зависит точность паказаний нашего вольтметра. Для этого необходимо выполнить три правила:

1. Калибруют по максимальному значению измеряемого диапазона.
Что это значит? Если вы планируете измерять диапазон напряжений например, от 0 до 30 вольт, то необходимо выставить 30 вольт и по этому уровню калибровать вольтметр.
2. Калибровать надо по прибору более высокого класса.
Если вы желаете получить точность +/- 0,1 вольта выставить с точностью до сотых — 30,00. Реально это сделать из того что есть под руками сложно, поэтому надо попытаться установить максимально точно.
3. Подгонять показания надо как можно точнее выбирать точку смены индикации.


Список файлов находящихся в папке Файлы проекта

Описание вольтметра. .pdf
Схема вольтметра. .pdf
Программа (ассемблер, MPLAB — V8.76) PIC16F88 (PIC16F819). .zip
Прошивка для контроллера PIC16F88. .zip
Сборочный чертеж платы. .zip

Автор: Catcatcat

Связь с автором: Нет данных

Веб сайт автора: http://open.e-voron.dp.ua

Прислал: Нет данных

Источник: http://radiokot.ru