В этом приборе автор использовал оригинальный метод управления четырёхразрядным семиэлементным светодиодным индикатором сигналами всего с четырёх выводов микроконтроллера. В программе микроконтроллера предусмотрен режим автоматической калибровки вольтметра.
Ставшее уже традиционным соединение светодиодного цифрового индикатора с микроконтроллером через преобразователь последовательного кода в параллельный 74HC595 требует использовать три вывода микроконтроллера для управления преобразователем кода и ещё по одному выводу для каждого разряда индикатора. Следовательно, для четырёхразрядного индикатора требуются семь выводов. Это не даёт возможности применять такие индикаторы с маловыводными микроконтроллерами, например, c PIC12F675, имеющим всего шесть выводов (не считая выводов питания).
Предлагаю совместить управление преобразователем кода и разрядами индикатора, используя всего четыре вывода микроконтроллера. При этом заложенный в программу алгоритм обеспечит отсутствие влияния индикатора на работу с преобразователем и паразитной засветки элементов индикатора.
Как обычно, информация выводится на индикатор разряд за разрядом по запросам прерывания от таймера микроконтроллера, следующим с периодом 2 мс. Процедура обработки каждого запроса состоит из пяти этапов. На первом этапе она устанавливает низкий уровень на выводе 10 микросхемы 74HC595, обнуляя этим её сдвиговый регистр. Этот этап - единственный, на котором через элементы индикатора течёт паразитный ток, но поскольку продолжительность его импульсов всего 1 мкс при периоде повторения 2000 мкс, паразитное свечение незаметно даже в темноте.
На втором этапе нарастающий перепад уровня на выводе 12 микросхемы 74HC595 переписывает нулевое содержимое сдвигового регистра в регистр хранения. Это полностью гасит индикатор.
На третьем этапе происходит загрузка информации в сдвиговый регистр микросхемы 74HC595 последовательным кодом, формируемым микроконтроллером на выводе 14 микросхемы. На её вывод 11 поступают тактовые импульсы.
На четвёртом этапе нарастающим перепадом уровня на выводе 12 микросхемы 74HC595 информация из её сдвигового регистра поступает в регистр хранения, причём благодаря высоким уровням на катодах разряды индикатораостаются погашенными.
На пятом этапе на общем катоде разряда, для которого предназначен выведенный на выходы микросхемы 74HC595 параллельный код, программа устанавливает низкий уровень, включая его элементы в соответствии с этим кодом. На этом обработка прерывания завершается, а установленное состояние индикатора сохраняется неизменным до следующего прерывания.
Для управления восьмиразрядным индикатором потребуются восемь выходов микроконтроллера. При этом сигналы с дополнительных четырёх выводов просто управляют уровнями на катодах разрядов. Стоит отметить, что в этом случае возможно применение индикаторов как с общими катодами, так и с общими анодами, подключая к выходам преобразователя кода соответственно элементы или разряды. По причинам, изложенным ниже, динамическую индикацию в первом случае предпочтительно организовать поэлементно, а во втором - поразрядно.
Теперь расскажем о вольтметре, в котором использован описанный принцип.
Основные технические характеристики
Измеряемое напряжение, В ............... 0...80
Дискретность измерения, В .......0,1
Погрешность.................0,5% + ед. мл. разр.
Напряжение питания, В............7...15
Ток потребления, мА, не более ........................30
Схема вольтметра показана на рис. 1. В нём применена поэлементная динамическая индикация. В каждый момент времени высокий уровень установлен на анодах одной группы одноимённых элементов всех разрядов индикатора HG1. На общих катодных выводах разрядов, в которых эти элементы должны светиться, устанавливают низкий уровень, в противном случае - высокий. Обратите внимание, что одноимённые элементы могут быть включены одновременно во всех разрядах, но в каждом разряде в текущий момент времени включён только один элемент. Именно поэтому выбрано подключение анодов элементов к выходам микросхемы DD2, нагрузочная способность которых выше, чем выходов микроконтроллера.
Рис. 1. Схема вольтметра
При периоде прерываний 2 мс частота обновления изображения на индикаторе равна 64 Гц и его мигание на глаз незаметно. Выбранный способ динамической индикации также позволил вдвое уменьшить число резисторов (R4-R7), ограничивающих ток через светодиоды индикатора.
У микроконтроллера PIC12F675-I/P (DD1) остаются не занятыми в динамической индикации линии ввода-вывода GP0 и GP3. Первая использована как вход АЦП, на неё подают через делитель R1R2 измеряемое напряжение. На линии GP3 в отсутствие перемычки S1 благодаря резистору R3 установлен высокий логический уровень, что служит сигналом, переводящим вольтметр в режим калибровки. Если перемычка установлена, уровень на этом выводе низкий и вольтметр работает в обычном режиме.
При первом включении вольтметра с отсутствующей перемычкой S1 на индикатор HG1 будет выведено с мигающим крайним правым знаком. В этом состоянии на вход прибора следует подать как можно более близкое к 80 В напряжение, контролируя его образцовым вольтметром. При кратковременном соединении контактных площадок, предназначенных для перемычки S1, прибор вычислит и запомнит калибровочный коэффициент и будет использовать его в дальнейшем.
Однако 80 В - довольно большое напряжение, не исключены затруднения с его получением. В таком случае во время индикации значения образцового напряжения прибор нужно выключить и снова включить. На индикаторе появится , а при следующих выключениях и включениях - , , снова и далее по кругу. Калибровку следует произвести при максимальном доступном из этих значений напряжения. Чем больше образцовое напряжение, тем точнее калибровка. Если в момент калибровки входное напряжение слишком сильно отличается от образцового, коэффициент вычислен не будет, а на индикатор выведено
После калибровки выключите вольтметр и окончательно установите перемычку S1, иначе при следующем включении всё придётся повторить заново. Вольтметр может работать и без калибровки, если при его первом включении перемычка S1 уже установлена. В этом случае он использует коэффициент, записанный в программе, но погрешность может превысить 10 %. Об этом предупредит включённая точка в крайнем правом разряде индикатора.
Аналого-цифровое преобразование производится в "спящем" режиме микроконтроллера для уменьшения помех со стороны его работающих узлов. Из этого состояния он автоматически выходит по окончании преобразования.
Питается прибор напряжением 5 В, полученным с помощью интегрального стабилизатора напряжения DA1. Использовать вместо указанного на схеме стабилизатор 78L05 можно только в крайнем случае, так как стабильность его выходного напряжения на порядок хуже. Без ухудшения параметров можно применить стабилизатор LP2951. Стабилитрон VD1 на напряжение 5,6 В совместно с внутренним защитным диодом микроконтроллера предохраняют последний от повреждения при превышении измеряемым напряжением допустимого значения. Без ограничителя напряжение питания микроконтроллера в этой ситуации может критически увеличиться.
Устройство собрано на печатной плате размерами 40x36 мм из односторонне фольгированного стеклотекстолита толщиной 1,5 мм, показанной на рис. 2. Большинство резисторов и конденсаторов - типоразмера 0805 для поверхностного монтажа. Резистор R1 для надёжной работы при повышенном напряжении применён выводной мощностью 0,5 Вт. Конденсатор C1 можно установить и керамический, и выводной оксидный, для которого на плате предусмотрено посадочное место, обозначенное C1'. Индикатор FYQ-3641AHR-11 можно заменить другим из серии 3641А или трёхразрядным серии 3631А без переделки платы. Фотоснимок собранной платы прибора показан на рис. 3.
Рис. 2. Печатная плата
Рис. 3. Фотоснимок собранной платы прибора
Программа микроконтроллера написана на языке C в среде разработки MikroC.
Файл печатной платы в формате Sprint Layout 5.0 и программа микроконтроллера можно скачать здесь.
Автор: Б. Балаев, г. Нальчик, Кабардино-Балкария