Для реализации этого проекта нам потребуется PIC-контроллер с аналого-цифровым преобразователем (АЦП). По монтажному месту нам подойдут из серии PIC16 — PIC16F819 или PIC16F88.
Схема вольтметра.
В выбранных нами контроллерах встроен десяти разрядный АЦП, это значит, что выбранный нами диапазон опорного напряжения 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