Этот вольтметр собран на микроконтроллере PIC16F688. Диапазон измерения от 0 до 20 вольт, его можно расширить или наоборот уменьшить в зависимости от потребностей. На один из восьми аналоговых каналов микроконтроллера, поступает измеряемое напряжение, далее оно преобразуется в 10-ти битный сигнал внутренним АЦП. Измеренное напряжение отображается на символьном ЖК дисплее HD44780.
Микроконтроллер питать 20-ью вольтами нельзя так как он выйдет из строя, нам нужен будет делитель напряжения (он приведен ниже). С помощью резисторов R1 и R2 напряжение понижается до 5 вольт. Если же напряжение в 20 вольт будет превышено то на выходе делителя будет больше 5 вольт и тогда микроконтроллер может сгореть. При подключении стабилитрона на 5.1вольт, выходное напряжение не может быть больше 5.1 вольта, это позволит защитить микроконтроллер от всевозможных скачков входного напряжения. Напряжение, снимаемое с точки Va надо подключить к 11 ножке микроконтроллера.
ЖК дисплей работает в 4–х битном режиме. Регулировка контрастности осуществляется переменным резистором на 5 кОм между +5 вольтами и землей. Схема собрана на макетной плате,также надо иметь регулируемый источник питания +5вольт. Например на LM7805.
Программное обеспечение
Перед написанием прошивки я провел некоторые математические вычисления. Любое приложение использующее АЦП требует стабилизированного опорного питания. В этом проекте, опорного напряжения для работы АЦП выбирается Vdd (=+5 V). Резисторы R1 = 1267 Ω и R2 = 3890 Ω.
0 - 5 аналоговых I / P отображается в одном из 1024 уровней (0-1023 цифровой графы)
=> Разрешение = 5/1024 = 0,0049 V / граф
Кроме того, Va = 1267 * Vin / (1267 +3890) = 0,2457 * Vin
=> I / P напряжение = 4,07 * Va = 4,07 * Цифровая графа * 0,0049
= 0,01994 * Цифровая графа
= 0,02 * Цифровая графа(прибл.)
Чтобы избежать плавающей точкой, надо использовать I / P напряжение = 2 * Цифровая графа.
Как это работает?
Предположим, Vin = 4,6 В. Тогда,
Va = 0,2457 * Vin = 1.13V
=> Цифровые графы = 1.13/0.0049 = 231
=> Расчетные I / P напряжение = 2 * 231 = 0462
Измеренное напряжение будет 04,62 V. Будут отображаться только первые три цифры (04,6 В).
Прошивка разработана в С и скомпилирована с MikroC Pro для PIC, компилятор Микроэлектроника. Микроконтроллер PIC16F688 использует внутренний тактовый генератор на 4,0 МГц. MCLR включен и таймер включения питания. Вам нужно определить RA2/AN2 вход, аналоговый, установив соответствующий бит в ANSEL регистре. ADCON0 = 8 соединяет AN2 входной канал для внутренней выборки-хранения цепи. порты А и С компараторы, контакты должны быть тоже отключены (присвоение CMCON0 = 7). Биты конфигурации для предохранителей приведены ниже. Вы можете установить их в MikroC через Project-> Project Edit.
Oscillator -> Внутренний RC, не часы
Watchdog Timer -> выключено
Power Up Timer -> С
Master Clear Enable -> включено
Code Protect -> выключено
Data EE Read Protect -> выключено
Brown Out Detect -> BOD Enabled, SBOREN включено
Internal External Switch Over Mode -> включено
Monitor Clock Fail-Safe -> включено
Полная программа, написанная на MikroC приведена в архиве ниже
Проверка цифрового вольтметра
Переменный источник питания
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот | |
---|---|---|---|---|---|---|---|
МК PIC 8-бит | PIC16F688 | 1 | Поиск в магазине Отрон | ||||
Конденсатор | 0.1 мкФ | 1 | Поиск в магазине Отрон | ||||
Резистор | 10 кОм | 1 | Поиск в магазине Отрон | ||||
Подстроечный резистор | 5 кОм | 1 | Поиск в магазине Отрон | ||||
Резистор | 68 Ом | 1 | Поиск в магазине Отрон | ||||
LCD-дисплей | 2x16 LCD HD44780 | 1 | Поиск в магазине Отрон | ||||
Кнопка | 1 | Поиск в магазине Отрон | |||||
Схема делителя напряжения | |||||||
R1 | Резистор | 1.3 кОм | 1 | Поиск в магазине Отрон | |||
R2 | Резистор | 3.9 кОм | 1 | Поиск в магазине Отрон | |||
Стабилитрон | BZX55C5V1 | 1 | 5.1 Вольт | Поиск в магазине Отрон | |||
Скачать список элементов (PDF)
Прикрепленные файлы:
- pic_voltmeter.rar (2 Кб)
Комментарии (1) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация
А ADCON1 (6,5,4 биты) определяет тактовый генератор для встроенного АЦП. Автор установил в качестве тактового генератор, встроенный генератор МК, с делителем частоты пополам, то есть 1/2 Fosc