В некоторых случаях для измерения напряжения нет смысла использовать аналоговый или цифровой вольтметр, а есть смысл сделать предлагаемый мной бюджетный прибор на микроконтроллере, который будет индицировать и издавать звуковой сигнал при заранее настроенных пороговых значениях напряжения.
Реализованный на микроконтроллере PIC16F628A алгоритм позволяет измерить напряжение с разрешением в 4 бита. Для этого в микроконтроллере задействован компаратор (однобитный АЦП) и ИОН, где ИОН пошагово изменяет напряжение, а компаратор сравнивает потенциалы. Принципиальная схема прибора приведена на рисунке 1. Используя делитель напряжения собранный на резисторах R2 и R3 можно задавать измеряемый диапазон напряжения. В таблице 1 указаны значения детектируемого напряжения и соответствующая им индикация в шестнадцатеричной системе на семисегментном индикаторе HL1. Если читателя не устраивает реализуемый диапазон, то можно путём подборки резисторов R2 и R3 сделать свой делитель напряжения. DA1 — любой операционный усилитель усиливающий ток.
Питание прибора осуществляется от постоянного или переменного источника напряжения 9 -15 В при токе 0.5 A, которое подключается к разъёму X1. Далее напряжение выпрямляется диодным мостом VD1 и фильтруется конденсаторами C1 – C4. Для стабилизированного питания микроконтроллера был выбран линейный стабилизатор напряжения DA2. При питании устройства постоянным напряжением 12 В максимальный потребляемый ток составляет 70 мА.
Напряжения, В
Индикация
0
0
(0, 1.042]
1
(1.042, 2.083]
2
(2.083, 3.125]
3
(3.125, 4.167]
4
(4.167, 5.208]
5
(5.208, 6.25]
6
(6.25, 7.292]
7
(7.292, 8.333]
8
(8.333, 9.375]
9
(9.375, 10.417]
A
(10.417, 11.458]
B
(11.458, 12.5]
C
(12.5, 13.542]
D
(13.542, 14.583]
E
(14.583, 15.625]
F
>15.625
-*
При включении прибора происходит чтение EEPROM памяти микроконтроллера в которой записаны настройки прибора. По умолчанию заданы: детектор включен, выбран «внутренний диапазон», первое пороговое значение 0, второе пороговое значение 0. (Т.е. после включения не подав детектируемое напряжение, прибор будет сигнализировать о нуле!) После чего прибор согласно настройкам детектирует напряжение. Если нажать кнопку менее 1 с, то прибор будет инвертировать работу детектора, включая или выключая его. При нажатии и удержании кнопки более 1 с, прибор переходит в режим настройки первого порогового напряжения детектора. Длительность удержания кнопки помогает различать звуковой сигнал. Так при нажатии и удержании кнопки менее 1 с происходит генерация звука, далее при удержании кнопки более 1 с генерация звука прекращается. Выбор первого порогового значения детектора происходит последовательным нажатием на кнопку менее 1 с. От 0 до F (т.е. от 0 до 15), после F происходит обнуление. Выбранное значение отображается на семисегментном индикаторе. Для перехода к настройке второго порогового значения напряжения детектора нужно нажать и удерживать кнопку более 1 с. Выбор второго порогового значения начинается с установленного первого порогового значения и инкрементируется последовательным нажатием на кнопку менее 1 с. После F прибор начинает выбор с установленного первого порогового значения. Выбираемые значения отображается на семисегментном индикаторе. Для выбора диапазона детектора нужно нажать и удерживать кнопку более 1 с. Нажатием на кнопку менее 1 с происходит выбор диапазона детектора. Если у HL1 горят сегменты «E», «D», «C», то выбран «внутренний диапазон», т.е. прибор в исходном состоянии будет сигнализировать о детектировании напряжении в диапазоне от первого до второго порогового напряжения. Если у HL1 горят сегменты «F», «A», «B», то выбран «внешний диапазон», т.е. прибор в исходном состоянии будет сигнализировать о детектировании напряжении в диапазоне от минимального (0) до первого порогового напряжения и от второго порогового до максимального (F) напряжения (где первое и второе пороговое значение не входят во «внешний диапазон»). После нажатия и удержания кнопки более 1 с прибор сохранит настройки в EEPROM памяти микроконтроллера и перейдёт в исходный режим.
Алгоритм управления прибором кнопкой изображен на рисунке 2.
В исходном состоянии прибор измеряет напряжение, поданное на вилку XP1. Если детектор включен и напряжение на вилке XP1 входит в детектируемый диапазон, то прибор сигнализирует об этом, т.е. происходит периодическое мерцание семисегментного индикатора HL1 (отображая напряжение) и излучатель звука P1 издаёт периодический сигнал. Если напряжение на вилки XP1 не входит в настроенный диапазон или детектор выключен, то прибор не сигнализирует о вхождении измеренного напряжения в детектируемый диапазон, а HL1 индицирует измеренное напряжение. При выходе за пределы измеряемого диапазона (смотреть таблицу *), то у HL1 горит сегмент «G», а P1 издаёт звуковой сигнал.
Микроконтроллер DD1 имеет функциональные выводы VREF, AN1, RA0, RB0 – RB2, CCP1, RB4 – RB7 которые служат для ввода и вывода информации. Тактовой кнопкой SB1 добиваются настройки прибора, которая подключена к выводу RA0 через токоограничивающий резистор R12. В отжатом положении тактовой кнопки SB1 резистор R13 имитирует низкий логический уровень. Cемисегментный индикатор HL1 подключается к выводам RB0 – RB2, RB4 – RB7 через токоограничивающие резисторы R4 – R10. К выводу CCP1 (аппаратная реализация ШИМ, частота 2.4 кГц, скважность 2) через токоограничивающий резистор R11 подключен излучатель звука P1. Микроконтроллер DD1 не имеет функции принудительного сброса, вывод для сброса подключен через резистор R1 к положительному потенциалу питания. Для генерации тактовой частоты в микроконтроллере используется встроенный RC-генератор тактовой частоты на кристалле.
В данном устройстве можно заменить следующие детали. Микроконтроллер DD1 из серии PIC16F628A-I/P-xxx с рабочей тактовой частотой 20 МГц в корпусе DIP18. Стабилизатор напряжения DA2 отечественный КР142ЕН5А (5 В, 1.5 А). Диодный мост VD1 можно применить любой из серии 2Wxx. Разъём питания X1 аналогичный указанному на схеме с центральным контактом d=2.1 мм. Угловая вилка XP1 с шагом контактов 2.54 мм. Неполярные конденсаторы С1 и С4 номиналом 0.01 – 0.47 µF x 50 V. Излучатель звука P1 с рабочей частотой 2.4 кГц. Cемисегментный индикатор HL1 с общим катодом.
Думаю, что данный прибор может быть применён в разных областях. К примеру, для автомобилистов, которым нужно знать напряжение на аккумуляторе.
Ниже вы можете скачать прошивку и исходник на ассемблере
Прикрепленные файлы:
- VD.rar (20 Кб)