Pic12f675 Етап 7
Розглянемо принцип роботи з аналого-цифровим перетворювачем (АЦП) мікроконтролера pic12f675. Запропоновану схему вольтметра не рекомендується використовувати у бойових умовах. Її слід розцінювати як навчальну модель вивчення принципів роботи АЦП цього МК.
Інформація Компіляція вихідного коду прошивки та налаштування програматора аналогічні першому етапу. Даташит на мікроконтролер pic12f675 українською мовою
Радіокомпоненти та прилади Аналогічні четвертому етапу.
Електрична принципова схема Від попередньої відрізняється лише наявністю щупа напруги на GP4. Вимірюваний елемент своїм позитивним полюсом повинен підключатися до GP4, а негативним - до загальної землі схеми.
Необхідні пояснення 10-бітний результат аналого-цифрового перетворення міститься у двох 8-бітових регістрах: ADRESH (старші біти результату) та ADRESL (молодші біти результату). Докладніше див. п. 7.1.6 даташита. 2 10 = 1024 рівня квантування, в якості опорного обрано напругу живлення, яка в нашому випадку (при використанні зібраного раніше джерела стабільної напруги) становить +5.0 В. Отже, 10-бітовий діапазон 0. 1023 (при правому вирівнюванні) відповідає діапазону напруг 0 5 В. Для перерахунку 10-бітного значення в десятковий результат необхідно виконати такі обчислення: V = (x / 1023) * 5, де x - результат аналого-цифрового перетворення. Проте, така математична операція потребує інших потужностей процесора, ніж цей МК. Проводимо нескладні математичні перетворення: V = x*(5/1023), тобто V=x*4.88*10 -3 . Однак, і таке рівняння не під силу нашому МК, тому вважатимемо не в вольтах, а в мілівольтах (множення на 4.88).Крім того, щоб позбутися ресурсомістких розрахунків чисел з плаваючою точкою, замість множення на 4.88 будемо множити на 49 і ділити на 10.
Для відображення чисел на дисплеї скористаємося раніше створеною функцією. Щоб конвертувати число unsigned int у символ unsigned char, необхідно додати до символу нуля (x + '0') або цифру 48 (x + 48). Це з тим, що коди цифр у таблиці ASCII чисельно рівні коду нуля (48) плюс значення цифри (код 49 - одиниця, код 50 - двійка etc).
У наведеній схемі немає ніяких дільників напруги, не варто ніяких фільтруючих стабілітронів, тому вимірювати напругу вище за опорну (вище 5 вольт) цим вольтметром не можна.