24.04.2024  Среда Главная  Каталог схем  Регистрация Вход Привет, Гость
Меню сайта
Главная
Схемы
Скачать полезности
Ремонт техники
Видеоуроки

Блог по электронике, есть очень полезные и интересные схемы. Рекомендую!

10 популярных схем
Самодельная паяльная станция (28433 просмотров)
Осциллографическая приставка к ПК (25299 просмотров)
Контроль напряжения на TL431 (22405 просмотров)
USB Осциллограф (20076 просмотров)
Цифровая паяльная станция своими руками (19115 просмотров)
Цифровые индикаторы для лабораторного блока питания (18362 просмотров)
Симисторный регулятор для сварочного аппарата (18226 просмотров)
Портативный осциллограф на микроконтроллере ATmega32 (17340 просмотров)
USB LC-метр на микроконтроллере PIC18F2550 (16617 просмотров)
Простой частотомер на PIC 16F628A (15516 просмотров)

Статистика

Реклама

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Форма входа

Главная » Схемы » Измерительные приборы » Другие измерительные приборы

Частотомеры Измерители емкости
Осциллограф Генераторы сигналов
Другие измерительные приборы
Цифровой вольтметр на PIC16F688
В этой статье рассказано, как создать свой цифровой вольтметр на микроконтроллере.
В качестве индикатора используется LCD на контроллере HD44780. Микроконтроллер, применяемый  в этом проекте, имеет 12 входов/выходов, из которых 8 могут быть настроены как аналоговые входы для встроенного АЦП (аналого-цифрового преобразования). В качестве опорного напряжения для АЦП выбрано напряжение питания Vdd (+5V).
В этой статье рассмотрим измерение напряжения в пределах 0-20 В.
Т.к микроконтроллер не может принимать 20 В непосредственно на вход АЦП, для понижения напряжения используется простая схема делителя напряжения на резисторах.
 
 
Для питания схемы используется линейный регулятор напряжения +5В (7805 или 78L05).
 
Расчет АЦП
 
Точность измерений зависит от правильного расчета резисторов для делителя и стабильности линейного регулятора +5В. По формуле, приведенной выше рассчитываем значения для R1 и R2, это 1267 и 3890 Ом. Измеренная стабильность регулятора +5.02 В. Расчеты для АЦП:
 
0 - 5.02 V (опорное) ---> 0-1023 (10-бит АЦП, Digital Count )
==> Разрешение (5,02-0)/(1023-0)=0,004907 В/шаг
Va = 1267*Vin/(1267+3890) = 0.2457*Vin
=>Vin= 4.07*Va = 4.07* Digital Count * 0.004907
= 0.01997 * Digital Count
= 0.02*Digital Count (округлили) 
 
Чтобы избавиться от плавающих чисел рассчитаем входное напряжение как  2*Digital Count
 
Например, измеряемое напряжение Vin = 7.6V. Тогда,
Va = 0.2457*Vin = 1.87V
=> Digital Count = 1.87/0.004907 = 381
=> Рассчитанное через АЦП напряжение = 2*381 = 0762 = 07.6V (Первые 3 цифры из 4.)
 
Программа для микроконтроллера
Код для микроконтроллера написан на mikroC:
 
// подключаем LCD модуль
sbit LCD_RS at RC4_bit;
sbit LCD_EN at RC5_bit;
sbit LCD_D4 at RC0_bit;
sbit LCD_D5 at RC1_bit;
sbit LCD_D6 at RC2_bit;
sbit LCD_D7 at RC3_bit;
sbit LCD_RS_Direction at TRISC4_bit;
sbit LCD_EN_Direction at TRISC5_bit;
sbit LCD_D4_Direction at TRISC0_bit;
sbit LCD_D5_Direction at TRISC1_bit;
sbit LCD_D6_Direction at TRISC2_bit;
sbit LCD_D7_Direction at TRISC3_bit;
char Message1[] = "Voltage";
unsigned int ADC_Value, DisplayVolt;
char *volt = "00.0";

void main() {
ANSEL = 0b00000100; // RA2/AN2 аналоговый вход 
ADCON0 = 0b00001000; // Выбран аналоговый вход @ AN2
ADCON1 = 0x00;
CMCON0 = 0x07 ; // Отключаем компаратор
TRISC = 0b00000000; // PORTC Все Выход
TRISA = 0b00001100; // PORTA Все выходы, исключая RA3 и RA2
Lcd_Init(); // Инициализация LCD
Lcd_Cmd(_LCD_CLEAR); // Очищаем дисплей 
Lcd_Cmd(_LCD_CURSOR_OFF);
Lcd_Out(1,4,Message1);
Lcd_Chr(2,10,'V');

do {

ADC_Value = ADC_Read(2);
DisplayVolt = ADC_Value * 2;
volt[0] = DisplayVolt/1000 + 48;
volt[1] = (DisplayVolt/100)%10 + 48;
volt[3] = (DisplayVolt/10)%10 + 48;
Lcd_Out(2,5,volt);
delay_ms(100);
} while(1);

}
 
 
 
 
 
 

 


При перепечатке данного материала ссылка на сайт transistor.3dn.ru ОБЯЗАТЕЛЬНА!
Категория: Другие измерительные приборы | Добавил: cxema (27.10.2010)
Просмотров: 13020 | Теги: цифровой вольтметр, вольтметр на микроконтроллере



Copyright transisor.3dn.ru © 2009-2024
Бесплатный конструктор сайтов - uCoz
radionet
Сервер радиолюбителей России - схемы, документация,
 соревнования, дипломы, программы, форумы и многое другое!