Схема. Миниатюрный вольтметр на микроконтроллере

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

      Ассортимент портативных электроизмерительных приборов, выпускаемых в настоящее время производителями, очень широк. Среди радиолюбителей заслуженную популярность получили доступные, практически каждому, цифровые мультиметры серии М83х. Но при всей своей популярности они не лишены недостатков. Так, отсутствие подсветки делает затруднительным процесс измерения в условиях недостаточной освещенности. Переключатель режимов измерения зачастую изнашивается раньше, чем выходит из строя сам мультиметр. Непрактичным является использование такого источника питания, как батарея 6F22 напряжением 9 В. Малый срок хранения и службы, а также склонность к вытеканию электролита знакомы многим. Поэтому радиолюбители разрабатывают различные измерительные приборы, которые лишены указанных недостатков и решают более ограниченный круг задач. Способствует этому доступность микроконтроллеров со встроенными аналого-цифровыми преобразователями (АЦП).

      Предлагаемый вольтметр имеет три предела измерения постоянного напряжения — 9,99, 99,9 и 999 В, которые переключаются автоматически, и два предела для переменного (50 Гц) — 70 и 700 В. При измерении постоянного напряжения шаг отсчета равен единице, а при измерении переменного -двум единицам младшего разряда.
Питание осуществляют от батареи из двух гальванических элементов напряжением по 1,5 В типоразмера ААА. Потребляемый ток зависит от отображаемого значения и изменяется от нескольких до 20 мА.

      Основой устройства (рис. 1) является микроконтроллер ATmega8L. Его выбор обусловлен наличием достаточного числа портов ввода—вывода для управления светодиодной матрицей HG1 без применения дополнительных микросхем, наличием встроенных десятиразрядного АЦП и источника образцового напряжения (2,56 В). Преобразование входного напряжения в цифровой код выполняет АЦП, а измеренное значение (три разряда) выводится в виде бегущей строки на светодиодную матрицу HG1.
При этом одновременно видны только два символа. Пример индикации напряжения 2,75 В показан на рис. 2. Как показала практика, такой способ вывода информации не вызывает затруднений при ее считывании. Поскольку в устройстве не требуется с большой точностью выдерживать временные интервалы, то с целью снижения потребляемого тока и упрощения схемы работа микроконтроллера DD1 тактируется встроенным RC-генератором с частотой 1 МГц.

      Программа для микроконтроллера написана на языке ассемблера, отлажена и откомпилирована в среде AVR Studio 4.14. В первой строке директивой .include имеется ссылка на файл m8def.inc. Он содержит описания предопределенных имен регистров и констант микроконтроллера и входит в состав среды AVR Studio 4.14.
После включения питающего напряжения линии РВО—РВ4 (выводы 14—18) микроконтроллера DD1 конфигурируются как выходы для управления строками, а линии PDO—PD6 (выводы 2—6, 11,12) — столбцами матрицы 1-1(31. Сигналы на линиях РС4, РС5 (выводы 27, 28) управляют излучающими диодами оптопары U1, резисторы R12, R13 — токоограничивающие. Линии ADC2 и ADC3 (выводы 25 и 26) сконфигурированы как входы встроенного АЦП. Переключателем SA2 осуществляют изменение режимов работы устройства:
— измерение постоянного напряжения с автоматическим выбором предела измерения;
— измерение переменного напряжения на пределе 700 В;
— измерение переменного напряжения на пределе 70 В.

      Входная цепь вольтметра состоит из резисторов R1—R7, R9, R10, диода VD1 и оптопары U1 и образует делитель напряжения с изменяемым коэффициентом передачи. Его изменение осуществляется подключением резисторов R9, R10 через полевые транзисторы оптопары U1. Когда они отключены, установлен предел измерения 9,99 В, при подключении резистора R10 будет установлен предел 99,9 В, а резистора R9 — 999 В. С выхода делителя напряжение, пропорциональное входному, поступает на линию ADC3 (вывод 26) микроконтроллера DD1. Выбор указанной оптопары обусловлен ее способностью работать при низком управляющем напряжении (1,1…1,6 В), кроме того, как показала практика, сопротивление открытого ключа уже при токе 0,5 мА через управляющий светодиод составляет около 10 Ом и практически не изменяется при дальнейшем повышении тока до номинального значения 5 мА. Использование последовательного соединения четырех резисторов R1—R4 мощностью 0,5 Вт обусловлено необходимостью обеспечить надежную работу, поскольку их максимальное рабочее напряжение составляет 250 В.

      Напряжение минусовой полярности на входе микроконтроллера DD1 не должно превышать 0,5 В. Диод VD1 ограничивает напряжение этой полярности до 0,5…0,6 В. Поскольку на вход АЦП микроконтроллера это напряжение поступает через делитель напряжения R5—R7, оно не превысит 0,25…0,3 В на любом из пределов. Кроме того, при измерении переменного напряжения диод VD1 выполняет функции выпрямителя.
Защитный диод VD2 ограничивает значение напряжения на входе АЦП микроконтроллера до 3,1…3,2 В, что снижает вероятность его выхода из строя при нарушении работы управляемого делителя напряжения. Дроссель L1 и конденсатор СЗ образуют фильтр питания аналоговых узлов микроконтроллера DD1. Конденсатор С4 снижает уровень помех на встроенном источнике образцового напряжения 2,56 В. Резисторы R11, R8 образуют делитель напряжения источника питания, с его выхода напряжение поступает на второй вход АЦП (вывод 25) микроконтроллера DDL Необходимость использования резистивного делителя обусловлена тем, что напряжение на входе АЦП не должно превышать 2,56 В.

      По окончании конфигурирования выводов микроконтроллера на индикатор HG1 выводятся символы «ПР», после которых отображается трехзначное число номера версии программы микроконтроллера (константа vers в программе). Затем выводится условный символ батареи, затем отображается ее напряжение. Если переключатель SA2 установлен в положение «= Автомат», микроконтроллер DD1, начиная с большего предела измерения (999 В), измеряет напряжение и сравнивает полученное значение с верхним порогом переключения предела. Если это значение равно или больше порога, микроконтроллер DD1 с помощью встроенного мультиплексора отключает вывод 26 от входа АЦП и подает управляющее напряжение на оба светодиода оптопары U1, снижая коэффициент передачи входного делителя до минимума. Одновременно на индикаторе HG1 появляется сообщение о перегрузке в виде символов «OL». Если напряжение, вызвавшее перегрузку, не будет отключено, символы начнут мигать.

      При входном напряжении, меньшем верхнего порога, микроконтроллер сравнивает его с нижним порогом переключения предела, и если напряжение меньше, будет включен предел 99 В и процедура измерения повторится. При напряжении, большем нижнего порога, его значение запоминается. Измерение будет повторяться столько раз, сколько указано в константе midlcikl Микроконтроллер выберет максимальное из измеренных значений и выведет его на индикатор HG1. Использование максимального значения, а не среднего, по мнению автора, на практике оказывается более востребовано.

      Минимальное напряжение питания микроконтроллера ATmega8L составляет 2,7 В, но, как правило, он сохраняет работоспособность при снижении напряжения до 2,1…2,2 В. Однако при таком снижении питающего напряжения встроенный источник образцового напряжения теряет стабильность и напряжение на выводе 21 становится практически равным напряжению питания, что в конечном счете приведет к завышению показаний. Для устранения этого недостатка и расширения интервала питающего напряжения в программе микроконтроллера предусмотрены контроль напряжения источника питания и коррекция результатов измерений.

      Коррекция основана на измерении напряжения еще одного встроенного в микроконтроллер источника образцового напряжения (1,3 В) и в сравнении измеренного значения с истинным (константа lowbat). Процедура измерения питающего напряжения выполняется перед началом каждого цикла измерения. При напряжении более 2,6 В измеренное значение совпадет со значением константы, при меньшем — оно превысит это значение, что и будет сигналом для выполнения процедуры коррекции. Коэффициент коррекции, на который умножается результат преобразования АЦП, определяется, как отношение значения константы lowbat к измеренному значению напряжения источника
образцового напряжения 1,3 В. Для информирования о том, что напряжение питания менее 2,6 В и индицируемое значение прошло программную коррекцию, на индикатор HG1 выводится символ примерного равенства. Следует отметить, что при снижении напряжения питания уменьшаются и границы переключения пределов измерения. Так, при напряжении питания 2,2 В и измерении постоянного напряжения пределы составят 8,58, 85,8 и 858 В, а при измерении переменного напряжения — 60,6 и 606 В.

      При измерении переменного напряжения на одном из выбранных пределов микроконтроллер также выполняет измерение и сравнивает его с верхним порогом переключения предела. Если порог превышен, то осуществляются операции, как и при измерении постоянного напряжения. Число измерений задает константа midlcikl, после этого определяется среднее значение, которое умножается на 1,111 (перевод в действующее значение) и затем на 2 (выпрямление однополупериодное), при необходимости также выполняется программная коррекция.

      В устройстве предусмотрены меры по снижению потребляемого тока. Так, модуль АЦП микроконтроллера включается только на время измерения и выполняет преобразование входного напряжения в код в режиме шумопонижения (ADC Noise Reduction), при котором вычислительное ядро и некоторые другие модули микроконтроллера отключены. Такая организация процесса измерения повышает точность преобразования. Предусмотрено также автоматическое выключение устройства по истечении заданного числа полных циклов отображения на индикаторе HG1 (константа offcikl) при этом потребляемый ток уменьшается до 20 мкА. Продолжительность одного полного цикла составляет 2,3…2,5 с. При указанном в программе значении этой константы выключение произойдет примерно через 15 мин, но только при выполнении одного из следующих условий:
— установлен предел 9,99 В;
— установлен предел 99,9 или 999 В, и входное напряжение равно нулю.
      Такой порядок автоматического выключения применен для уменьшения вероятности повреждения выключенного прибора при не отключенном входном напряжении. Для предупреждения о предстоящем автоматическом выключении предусмотрено соответствующее сообщение — анимированное изображение часов. При указанном в программе значении константы message предупреждение появляется примерно за одну минуту до отключения.

      Все детали смонтированы на печатной плате из двусторонне фольгированного стеклотекстолита толщиной 1 мм (рис. 3 и рис. 4). Применены резисторы МЛТ, оксидный конденсатор -импортный, остальные — К10-17, дроссель — ЕС24. Можно применить оптопару КР293КП4 с любым буквенным индексом, диод 1N4007 заменим на КД257Д, КД258Д, 1N4249, ERB12-10, КД102А — на КД102Б, КД103А, светодиодная матрица АЛС340А1 — на ЗЛС340А1. Переключатель SA1 — движковый EG1249 на два положения, SA2 — также движковый EG2308 на три положения, у них с корпуса удалены крепежные выводы.

      Гнезда XS1, XS2 -одиночные цанговые зажимы от импортного разъема, с платой они соединены гибкими изолированными проводами, которые закреплены проволочным бандажом с последующей пайкой. Взамен низковольтного микроконтроллера ATmega8L можно применить микроконтроллер ATmega8, рассчитанный для работы с напряжением питания 4,5…5,5 В, но предварительно следует убедиться в его работоспособности при питании от напряжения 3 В. Микроконтроллер устанавливают в панель, при этом ее выводы 1,9,10, 13и19 удалены, а отверстия на плате для них не предусмотрены. Для гальванических элементов на плате смонтированы пружинящие металлические пластины. Внешний вид платы показан на рис. 5, она установлена в пластмассовый корпус с габаритными размерами 57x37x19 мм (рис. 6).

      Загрузку кодов программы в память микроконтроллера можно выполнить программой PonyProg www.   www.lancos.com . Разряды конфигурации устанавливают в соответствии с рис. 7. В исходном тексте программы предусмотрена константа koef, позволяющая задавать коэффициент перевода кода АЦП в напряжение, отображаемое на индикаторе HG1. Это, в свою очередь, позволяет использовать резисторы R1—R7, R9, R10 с номиналами, отличными от приведенных на схеме. Значение этой константы можно определить по формуле
koef = 100 Uo6p (R1+R2+R3+R4+R5+ +R6+R7)/(1024R7),
где Uобр — фактическое значение источника образцового напряжения (2,56 В), мВ. В исходном тексте koef =1000, что соответствует Uобр = 2,58 В. При выборе значений сопротивления резисторов R1—R7 и заданном значении 11обр должно выполняться условие 978 < koef <1000.

      При налаживании устройство подключают к источнику напряжения, значение которого измеряют с высокой точностью эталонным вольтметром. На пределе 9,99 В подают напряжение около 9 В, и подборкой резисторов R3—R5 уравнивают показания. Затем увеличивают выходное напряжение до 90 В и сравнивают показания подборкой резистора R10. Аналогичную процедуру повторяют с резистором R9, подав на вход напряжение 200…300 В. Сопротивления резисторов R11 и R8 могут отличаться от приведенных на схеме, но неизменным должно остаться их отношение R11/R8 = = 0,5, поэтому их следует подобрать с отклонением не более 1 %.

      Как было отмечено выше, для программной коррекции показаний предусмотрен контроль снижения напряжения питания . При налаживании необходимо выполнить измерение фактического значения напряжения встроенного образцового источника 1,3 В при питающем напряжении 2.6…3 В, а затем откорректировать константу lowbat в исходном тексте программы и откомпилировать ее заново. Поскольку источник образцового напряжения 1,3 В не имеет внешнего выхода, измерение его напряжения выполняется программно. Для этого при включенном устройстве вывод 13 микроконтроллера DD1 временно соединяют с общим проводом. При этом на индикаторе HG1 отобразится трехзначное число, соответствующее напряжению этого образцового источника. Значение константы lowbat в программе следует увеличить на одну-две единицы относительно измеренного значения.

Прилагаемые файлы:    12_27_44__13_05_2010.zip

В. КЕЛЕХСАШВИЛИ, г. Волгодонск
«Радио» №4 2009г.

Похожие статьи:
Частотомер на микроконтроллере
Восстановление конфигурации микроконтроллеров AVR
Миниатюрный импульсный источник питания
Лабораторный блок питания на микроконтроллере
Преобразователь USB-COM-LPT на микроконтроллере
Усовершенствованный термометр-термостат на микроконтроллере
Часы с термометром и барометром на микроконтроллере ATmega8
Автомат световых эффектов на микроконтроллере
Лабораторный источник питания с микроконтроллерным управлением
Универсальный таймер на PIC-контроллере

Читайте также:

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *