Прочитав статьи Edward Ned’а, я собрал DIP-версию и проверил ее в работе. Действительно вольтметр работал, ток через вывод микросхемы к индикатору не превышал 16 миллиампер в импульсе, так что работа микросхемы без резисторов, ограничивающих токи сегментов, вполне допустима и не вызывает перегрузок элементов.
Не понравилось слишком частое обновление показаний на дисплее и предложенная шкала «999». Хотелось подправить программу, но исходных кодов автор не выкладывает.
В это же мне потребовались вольтметр и амперметр для небольшого блока питания. Можно было собрать на PIC16F690 совмещенный вариант, а можно было собрать два миниатюрных вольтметра, причем габариты двух вольтметров получались меньше совмещенного варианта.
Свой выбор я остановил на микросхеме PIC16F684 и написал исходный код для посегментной развертки индикатора.
В процессе написания кода возникла идея программируемого переключения шкал и положения запятой, что и удалось реализовать.
Содержание статьи / Table Of Contents
↑ Что умеет мой вольтметр
• Автоматически определяется тип индикатора, поэтому в схеме будут работать как общий анод, так и общий катод.• С помощью кнопки выставляется желаемая шкала измерений «1023», «511», «343», «256» или «204». Это означает, что при входном напряжении 5 Вольт будет, зажигается максимальное число из вышеуказанных. Поскольку число 10 зажечь на первом элементе индикатора невозможно, то вместо него зажигается верхний сегмент.
• Кнопкой выставляется желаемое место запятой – после первого, второго знака или без запятой.
• Можно запрограммировать сдвиг значений на постоянную величину – потребовался этот режим для правильного измерения тока (вычитается ток измерителя напряжения). Этот вариант и был применен, что и отображено на блок-схеме приложенном примере.
Питание измерителя осуществляется от источника 7,5 – 12 Вольт, при токе 15 – 25 мA, потребление тока зависит от индикатора. Более яркие индикаторы потребляют больший ток.
↑ Выбор шкал измерителя
производится таким образом, чтобы можно было измерить наибольшее значение напряжения или тока. В этом случае будет наибольшая точность при минимальном воздействии помех.В измерителе программно реализована посегментная развертка индикатора, поэтому в каждый момент времени зажигается только один из сегментов в каждом из знаков. Это приводит к снижению нагрузки на выводы микроконтроллера по сравнению с поразрядной индикацией.
↑ Полная принципиальная схема измерителя
↑ Конструкция
Деталей в схеме очень мало, и все они расположены на плате между выводами индикатора 0,36".Кнопка используется только перед установкой в конечное устройство, при эксплуатации ей не пользуются.
↑ Описание программы
При включении происходит измерение падения напряжения на резисторе R4 и по результатам измерений происходит выбор примененного типа индикатора «Общий катод» или «Общий анод».Для отображения запятой выводов микроконтроллера не хватило, и поэтому запятая формируется переключением катодов или анодов через резистор R5. Величина этого резистора влияет на яркость свечения запятой и подбирается по отсутствию паразитной засветки незажженных запятых.
Сдвиг шкалы вычисляется автоматически по результатам измерения паразитного тока, протекающего по шунту блока питания, если это необходимо.
После установки нужных значений шкалы, положения запятой и сдвига показаний производится запись установленных значений в EEPROM и в дальнейшем эти данные вызываются из памяти при включении.
Программа написана на «mikroC for PIC» и снабжена достаточным количеством комментариев для понимания ее работы.
↑ Управление кнопкой
• Короткое нажатие вызывает смену шкалы. Шкалы меняются по кругу («1023», «511», «343», «256» или «204»). На индикаторе загорается максимальное значение шкала на 0,5 секунды, а затем высвечивается значение входного напряжения.• Длительное (0,5 – 1 сек) нажатие перемещает запятую вправо по кругу (после первого, второго знака или без запятой).
• Если кнопка удерживается при включении 0,5 - 2 сек, то измеритель ожидает 3 секунды, пока установятся режимы блока питания и записывает величину паразитного тока в память. При этом нагрузка от блока питания не должна быть подключена.
Если эту коррекцию надо изменить, то операцию можно повторить.
Если коррекцию надо убрать, то кнопку надо удерживать при включении более 3 секунд.
↑ Пример применения
Был собран малогабаритный блок питания, у него получились следующие параметры:
Напряжение 0 – 31,2 Вольта.
Ток 0 – 2,2 Ампера.
Как видно из блок-схемы, через шунт протекает ток, потребляемый измерителем напряжения, который сдвигает показания измерителя тока в сторону увеличения. Этот ток имеет постоянную величину, поэтому этот сдвиг можно учесть в программе измерителя.
Для измерения напряжения в этом случае удобными оказались значения: шкала «343» и запятая после 2-го знака. При этом максимальное значение шкалы составит 34,3 Вольта, что вполне приемлемо.
Для измерения тока удобными оказались значения: шкала «255» и запятая после 1-го знака, соответственно максимальное значение шкалы составит 2,55 Ампера. В связи с тем, что по токоизмерительному шунту протекает ток, потребляемый измерителем, показания тока были завышены. После проведения коррекции этот паразитный ток стал вычитаться из общих показаний и показания стали правильными.
После установки шкал в блоке питания были подобраны значения резисторов делителя R2, R3 и коэффициент усиления OP1 так, чтобы показания соответствовали контрольным.
↑ Ссылки
• Простейший вольтметр на PIC16F676.• Суперпростой вольтметр стал ещё проще!
• Готовые миниатюрные вольтметры с доставкой, кому недосуг паять.
• Семисегментные LED индикаторы с Али.
• Чипы PIC16F684.
↑ Файлы
🎁Исходный код и модель в Proteus 25.29 Kb ⇣ 159🎁Плата и схема 55.71 Kb ⇣ 148
Спасибо за внимание!
Камрад, рассмотри датагорские рекомендации
🌼 Полезные и проверенные железяки, можно брать
Опробовано в лаборатории редакции или читателями.