Вольтметр на PIC мікроконтролері

  • Час 25-09-2015, 15:59
  • Автор admin
  • Коментарів 0 Комент.
  • Силка url

Цей вольтметр зібраний на мікроконтролері PIC16F688. Діапазон вимірювання від 0 до 20 вольт, його можна розширити або навпаки зменшити залежно від потреб. На один з восьми аналогових каналів мікроконтролера, надходить вимірюється напруга, далі воно перетворюється в 10-ти бітний сигнал внутрішнім АЦП. Виміряне напруга відображається на символьному ЖК дисплеї HD44780.

Вольтметр на PIC мікроконтролері

Мікроконтролер живити 20-ма вольтами не можна так як він вийде з ладу, нам потрібен буде дільник напруги (він наведено нижче). За допомогою резисторів R1 і R2 напруга знижується до 5 вольт. Якщо ж напруга в 20 вольт буде перевищено то на виході подільника буде більше 5 вольт і тоді мікроконтролер може згоріти. При підключенні стабилитрона на 5.1вольт, вихідна напруга не може бути більше 5.1 вольта, це дозволить захистити мікроконтролер від усіляких стрибків вхідної напруги. Напруга, що знімається з точки Va треба підключити до 11 ніжці мікроконтролера.

Вольтметр на PIC мікроконтролері

ЖК дисплей працює в 4-х бітному режимі. Регулювання контрастності здійснюється змінним резистором на 5 кОм між +5 вольтами і землею. Схема зібрана на макетної платі, також треба мати регульоване джерело живлення + 5вольт. Наприклад на LM7805.

Вольтметр на PIC мікроконтролері

Програмне забезпечення
Перед написанням прошивки я провів деякі математичні обчислення. Будь-який додаток використовує АЦП вимагає стабілізованого опорного харчування. У цьому проекті, опорного напруги для роботи АЦП вибирається Vdd (= + 5 V). Резистори R1 = 1267? і R2 = 3890?.
0 - 5 аналогових I / P відображається в одному з 1024 рівнів (0-1023 цифровий графи)
= Gt; Дозвіл = 5/1024 = 0,0049 V / граф
Крім того, Va = 1267 * Vin / (1267 +3890) = 0,2457 * Vin
= Gt; 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
= Gt; Цифрові графи = 1.13 / 0.0049 = 231
= Gt; Розрахункові 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-gt; Project Edit.

Oscillator -gt; Внутрішній RC, не годинник
Watchdog Timer -gt; вимкнено
Power Up Timer -gt; З
Master Clear Enable -gt; включено
Code Protect -gt; вимкнено
Data EE Read Protect -gt; вимкнено
Brown Out Detect -gt; BOD Enabled, SBOREN включено
Internal External Switch Over Mode -gt; включено
Monitor Clock Fail-Safe -gt; включено

Повна програма, написана на MikroC приведена в архіві нижче

Перевірка цифрового вольтметра

Вольтметр на PIC мікроконтролері

Змінний джерело живлення

Вольтметр на PIC мікроконтролері

Список радіоелементів

Позначення Тип Номінал Кількість R1 R2
МК PIC 8-бітPIC16F6881
Конденсатор0.1 мкФ1
Резистор10 кому1
Підлаштування резистор5 кОм1
Резистор68 Ом1
LCD-дисплей2x16 LCD HD447801
Кнопка1
Схема подільника напруги
Резистор1.3 кОм1
Резистор3.9 кОм1
СтабілітронBZX55C5V11 5.1 Вольт
Tags

Коментарі до новини