Компактный встраиваемый вольтметр на PIC12F675 с программной калибровкой

В этой статье описывается практическая схема встраиваемого вольтметра построенного по принципу, описанному в предыдущей моей статье, а именно, управление 4-разрядным LED индикатором четырьмя портами МК через регистр 74HC595. Там же подробно описан алгоритм организации динамической индикации (ДИ) для этого случая.  Данный вольтметр предназначен для применения как в качестве автономного устройства (например, в автомобиле), так и встроенного вольтметра для разного рода блоков питания.

Предлагаемая схема встраиваемого вольтметра имеет следующие технические характеристики:

  •    Диапазон измеряемого напряжения …………………….….  0 – 80 В
  •    Дискретность измерения ……………………………………… 0.1 В
  •    Точность ………………………………………………………… 0.5% + ед. мл. разр.
  •    Напряжение питания ………………………………………….. 7 – 15 В
  •    Ток потребления не более ……………………………………. 30 мА
  •    Калибровка …………………………………………………….  Программная
  •    Размеры устройства …………………………………………. 36 х 40 мм

Схема устройства  

Как видно из схемы, управление регистром и разрядами индикатора совмещено. Сегменты индикатора управляются с выходов регистра DD2. В устройстве решено применить посегментную ДИ (в каждый момент включен один сегмент, а на разрядных выводах присутствует код, где в каждом разряде: 0 – если в данном разряде должен гореть данный сегмент и 1 – в противном случае), при котором пиковые токи перекладываются на регистр. Этому есть две причины: первая – максимальная нагрузочная способность выходов 74HC595 35 мА против 25 мА у PIC; вторая и главная – близкий к предельному ток через порт МК может повысить выходной потенциал до уровня переключения входов регистра. А так, в порты МК втекают токи 6-7 мА и на выходах потенциалы не превышают TTL-уровни. 

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

Данный способ ДИ, кроме всего прочего, позволил вдвое уменьшить количество токоограничительных резисторов (R3-R7). У примененного в конструкции МК PIC12F675 остаются незадействованными в ДИ порты GP0 и, установленный в данном случае как обычный вход, GP3. Первый используется в режиме входа АЦП и на него подается измеряемое напряжение через делитель R1,R2,C1. На вывод же GP3 подан высокий потенциал через резистор R3, а подача на него логического нуля замыканием контактов J1 используется для калибровки прибора.

В данном приборе предусмотрен, на мой взгляд, простой и удобный способ программной калибровки. При включении устройства с незамкнутыми контактами J1, на индикаторе светится значение 80.0 v, где знак «v» моргает с частотой 1 Гц. Для калибровки на вход прибора следует подать точно такое напряжение (80.0 Вольт), например, с движка потенциометра, подключенного к напряжению 80-120 В, контролируя напряжение образцовым вольтметром, и замкнуть на короткое время контакты J1. При этом, прибор вычисляет калибровочный коэффициент, который в последствии будет использоваться для корректировки показаний. Надо учесть, что 80 Вольт — достаточно значительная величина и у некоторых могут быть затруднения с такой калибровкой. На этот случай предусмотрено следующее: если прибор выключить в момент индикации калибровочного значения и снова включить, то появится значение «60.0v», далее – «40.0v», «20.0v» и далее по кругу снова «80.0v». Прибор следует откалибровать на максимально доступном значении напряжения, имея в виду, что чем с большим значением будет произведена калибровка, тем выше будет ее точность. После калибровки контакты J1 следует окончательно замкнуть каплей припоя перед следующим включением, иначе, калибровку придется повторить. Если в момент калибровки входное напряжение слишком сильно отличается от требуемого («неправдоподобно»), коэффициент не вычисляется и на индикатор выводится «Err_».

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

Питается прибор напряжением 5В с интегрального стабилизатора DA1. Применять вместо указанного на схеме стабилизатор типа 7805 можно лишь в самом крайнем случае, потому что у него стабильность выходного напряжения на порядок хуже (не забываем, что ток потребления меняется в зависимости от текущих показаний, а значит, высокая температурная и нагрузочная стабильность тут не помешает). Без ухудшения параметров его можно заменить на LP2951. Стабилитрон VD1 на напряжение 5.6 В совместно с внутренним защитным диодом защищает МК от превышения входным напряжением максимальных значений. Без него, в таком случае, в момент отсутствия тока через индикатор может критически увеличиться напряжение питания МК. Его можно заменить любым стабилитроном на 5.6 Вольт.

Устройство собрано на печатной плате  размерами 40мм на 36мм из односторонне фольгированного стеклотекстолита толщиной 1-1.5 мм.

Большинство резисторов и конденсаторов использованы в SMD исполнении, типа 0805. Резистор R1 для надежной работы при напряжениях до 100 Вольт (выделяемая мощность – до 0.25 Вт) применен выводной на мощность 0.5 Вт. Индикатор можно заменить любым из серии 3641А или на 3-х разрядный 3631А без переделки платы.

Программа управления МК написана на языке Си и оттранслирована в среде MikroC. Ввиду малого объема памяти программ примененного микроконтроллера были проблемы с умещением выходного кода в районе 1 кБайт, например, пришлось непомерно большого объема встроенную процедуру 32-битного деления (занимала почти половину памяти) заменить собственной, написанной на ассемблере. Знаю, что на сайте многими не приветствуются подобные ухищрения (мол, возьми другой контроллер с большей памятью и т.д.), но мне лично по душе, когда примененный МК используется «по максимуму».

Ниже приводятся фотографии собранного прибора.

В прилагаемом файле имеются: проект и код в MikroC, прошивка HEX, Proteus-модель, плата-LAY. 

Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот

DD1
МК PIC 8-битPIC12F6751
DD2
Регистр74HC5951
DA1
LDO регуляторLP29501
VD1
Стабилитрон1N47341
5.6 ВHL1
ИндикаторFYQ36411
C1
Конденсатор4.7 мкФ1
C2, C3
Конденсатор47 мкФ2
C4
Конденсатор0.47 мкФ1
R1
Резистор39 кОм1
R2
Резистор2.2 кОм1
SMDR3
Резистор30 кОм1
SMDR4-R7
Резистор470 Ом4
SMDR8
Резистор01
SMD = 0 ОмДобавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Добавить комментарий

Ваш адрес email не будет опубликован.