Прийоми та трюки використання вбудованого компаратора у контролерах Microchip
Для вимірювання тривалостей сигналу низького та високого рівнів у вхідному ШІМ-сигналі використовується комбінація компаратора та таймера 1 із зовнішнім входом роздільної здатності (рисунок 4). Коли вході контролера T1G низький рівень, то рахунок таймера 1 дозволено, коли високий рівень - заборонено. Використання компаратора на вході дозволяє організувати вимірювання тривалості між спадом та фронтом вхідного сигналу. Для вимірювання тривалості між фронтом і спадом необхідно задати інверсію виходу компаратора установкою біта CINV в регістрі CMCON.
Для синхронізації вхідного сигналу та таймера необхідно включити схему синхронізації установкою біта C2SYNC.
Для зниження кількості помилкових спрацьовувань схеми можна ввести гістерезис як компаратора верхньої межі, так і нижньої. Для цього використовуються формули для розрахунку резисторів із прийому #3. При цьому для компаратора верхньої межі сумарне значення R2 і R3 є значенням R2 для розрахунку гістерези.
У компаратор нижньої межі необхідно додати Req (1..10 кОм) між входом схеми і входом, що не інвертує компаратора. Далі необхідно розрахувати резистор зворотного зв'язку за формулами 4 і 5.
Приклад розрахунку: VDD = 5 В, VTH = 2,5 В, VTL = 2 В R1 = 12 кОм, R2 = 2,7 кОм, R3 = 10 кОм Отримані VTH = 2,57 В, VTL = 2,02 В
Резисторами R2 або R3 встановлюється необхідний рівень вихідного сигналу за відсутності вхідного: якщо встановлений резистор R2, то виході буде низький рівень за відсутності вхідного сигналу, якщо встановлений R3 - то високий. Їх значення має бути на два порядки більше, ніж R1.
Приклад: Швидкість передачі даних - 10 Кбіт/с, частота зрізу - 500 Гц Отримуємо R1 = 10 кОм, С1 = 33 мкФ, R2 = R3 = 500..1000 кОм
Коли в системінеобхідно фіксувати короткі імпульси, використовується схема одновібратора. По короткому вхідному імпульсу вона формує вихідний імпульс заданої тривалості, який зможе бути оброблений мікроконтролером. Схема на основі компаратора представлена на малюнку 8. Вона має два зворотні зв'язки: перша задає гістерезис, друга - час вихідного імпульсу (на основі RC-ланцюга). При появі на вході схеми фронту сигналу на виході генерується позитивний імпульс заданої тривалості.
Одновібратор працює наступним чином: коли на вході схеми низький рівень, С1 заряджається до рівня близько 0,7 (напруга обмежена діодом D1 і резистором R1). Значення резистора R1 значно менше R2 і не повинно впливати на напругу заряду. На виході компаратора присутній також низький рівень, а на вході, що не інвертує, - напруга нижче 0,7 В (через схему гістерезису, нижня межа в якій заданий на рівні 0,7 В). Конденсатор С2 заряджений на напругу між входом схеми і входом, що не інвертує компаратора.
Коли на вході схеми з'являється високий рівень, то на вході компаратора з'являється напруга вище 0,7 і викликає його перемикання. У цей час конденсатор С1 починає заряджатися через резистор R2. Коли напруга на ньому зростає вище верхньої межі гістерези, компаратор знову перемикається і конденсатор розряджається через діод D1 і резистор R1. Отже, схема перетворюється на своє початкове стан.
Спочатку необхідно розрахувати значення резисторів R3, R4 і R5, що задають гістерезис (див. прийом #3). Далі розраховуються значення C1 і R2 за формулою 8. Діод D1 - будь-який низьковольтний імпульсний діод, R1 - 0,01 від R2, С2 - 100..220 пФ.
Приклад: VDD = 5 В, VTH = 3.33 В, VTL = 1.66 В R1 = R2 = R3 =10 ком FOSC = 480 Гц => RT = 15 кОм, CT = 0,1 мкФ
9. Мультивібратор (пила)
Для отримання на виході мультивібратора сигналів пилкоподібної напруги потрібно невелика доробка схеми прийому #8 (рисунок 10).
На початку циклу часзадающий конденсатор СТ розряджений через діод. На виході компаратора з'являється високий рівень завдяки якому починається зарядка конденсатора СТ через резистор RT. Коли рівень напруги піднімається вище напруги гістерези, відбувається перемикання компаратора. У цей момент відбувається швидке розрядження конденсатора через діод і цикл повторюється.
Напруга на конденсаторі наростає за зворотним експоненційним законом; у початковий момент часу відрізок експоненти можна вважати лінійним, що використовується для генерування пилкоподібної напруги. Виходом схеми є напруга на конденсаторі.
При розрахунку важливо враховувати те, що напруга на виході задаватиметься межами петлі гістерези. Крім того, напруги гістерези повинні бути рівномірно розділені в робочій області напруг компаратора. Далі, за формулою 10 розраховуються значення RT та CT.
На початку циклу, коли на виході компаратора низький рівень, відбувається заряд С1 конденсатора через діод D1. Коли мультивібратор перемикається, на виході з'являється високий рівень, діод D1 закривається та заряд конденсатора зупиняється. Напруга на конденсаторі С1 складається з напругою на виході компаратора і виявляється рівним приблизно двом напруг живлення. Цією подвоєною напругою заряджається конденсатор С2 через діод D2, який зараз відкривається. Далі напруга на виході мультивібратора стає низького рівня, діод D2 закривається і на С2 залишається накопичений подвійний заряднапруги. У цей момент відкривається D1 і цикл заряджання/розряджання повторюється.
Напруга на виході схеми нестабільна щодо навантаження, тому такі схеми найчастіше використовують як джерела напруги з кінцевим внутрішнім опором. Еквівалентна схема представлена малюнку 13.
Для генерування ШІМ сигналу, керованого рівнем напруги, можна використовувати мультивібратор з пилкоподібним виходом (прийом #9).
Далі, за допомогою другого компаратора, вхідна напруга порівнюється з пилкоподібною напругою мультивібратора. На виході компаратора виходить ШІМ сигнал, шпару якого пропорційна вхідному напрузі (рисунок 14).
Для коректної роботи ШІМ генератора необхідно розрахувати мультивібратор за формулами прийому #9. Важливо врахувати, що верхній і нижній межі гістерези мультивібратора повинні бути відповідно вище і нижче максимального і мінімального значення напруги, що задає. Якщо вхідна напруга буде нижче, ніж нижня межа гістерези, то шпаруватість вихідних імпульсів дорівнюватиме 0, тобто. вихідні імпульси будуть відсутні, і на виході схеми буде низький рівень. Аналогічно, якщо напруга, що задає, буде вище верхньої межі гістерезису, то на виході буде високий рівень.
При обробці сигналів з датчика потрібне посилення для використання всього діапазону перетворення АЦП. Зазвичай для цього використовують операційні підсилювачі, але в додатках, де важлива ціна або розмір плати, додавання зовнішніх елементів не завжди виправдане.
Для такого типу програм використовується наступний прийом: для повільних сигналів вбудований компаратор можна змусити працювати у режимі посилення. Причому є можливість побудови як неінвертуючого, так і інвертуючого.підсилювача (рисунок 15 та малюнок 16).
Для розрахунку підсилювача, що інвертує, використовується формула 16. ФНЧ для цього підсилювача розраховуються аналогічно неінвертуючому.
Приклад: Gain = 6,156, R1 = R3 = 19,8 кОм R2 = 3,84 кОм, C1 = 0,047 мкФ, FCORNER = 171 Гц C2 = 0,22 мкФ
Для керування силовими ключами MOSFET потрібні спеціальні драйвера, що мають частотний або ШІМ сигнал на виході. Такий драйвер можна збудувати на основі компаратора. На малюнку 17 показано драйвер для верхнього MOSFET ключа.
Схема працює в такий спосіб. Спочатку ключ закритий і через навантаження не тече струм. Через струмовий датчик R1 струм не тече, відповідно на вході компаратора, що не інвертує, присутній нуль. На вході компаратора, що інвертує, присутня напруга, що задає більше нуля. На виході компаратора є низький рівень, який відкриває силовий ключ. Струм у ланцюзі навантаження починає наростати повільно, т.к. в ланцюзі присутня індуктивність.
Коли напруга на токовому датчику досягає значення напруги, відбувається перемикання компаратора. Ключ закривається та напруга починає падати через діод. Як тільки напруга на струмовому датчику R1 впаде нижче, компаратор знову перемикається і цикл повторюється. Для завдання часу перемикання служить ланцюжок R2C1. Вона дозволяє встановити оптимальний режим роботи для MOSFET ключа.
У результаті, струм у навантаженні коливається у заданого (рисунок 18).
Розрахунок параметрів драйвера починається із визначення робочої частоти FSWX. Вона визначається системними вимогами. Далі вибирається відповідний ключ MOSFET і діод відповідно до струму через навантаження. За цими параметрами розраховується ланцюг, що задає час (формула 17).
Знаючи напругу і струм у навантаженні,Формулі 18 розраховується значення індуктивності. По струму в навантаженні вибирається і струмовий датчик R1, який забезпечує падіння напруги близько 0,1 при максимальному навантаженні.
Приклад: FSWX = 10 кГц, R2 = 22 кОм, C1 = 0,01 мкФ IRIPPLE = 100 мА, VDD = 12 В, VL = 3,5 В L = 4,25 мГн
Цей прийом визначає побудова програмно-апаратного дельта-сигма АЦП. Такий перетворювач складається з інтегратора, компаратора, семплера та 1-бітного ЦАП (рисунок 19). В даному випадку, інтегратором є RC-ланцюг R1C1, компаратор - вбудований в мікроконтролер. Семплер реалізований програмно, а як ЦАП виступає порт контролера, вихід якого заведений на інтегратор через резистор R2. Опорна напруга VDD/2 утворюється за допомогою дільника на резисторах R3 та R4.
Принцип роботи перетворювача такий. На виході ЦАП (виведення порту) є прив'язана до квантів часу копія стану компаратора. Виходить ШІМ сигнал, шпаруватість якого обернено пропорційна величині вхідного сигналу, тобто. зі збільшенням вхідного сигналу шпару падає, при зменшенні - зростає. Саме аналого-цифрове перетворення ґрунтується на цифровому інтегруванні шпаруватості модулюючого сигналу ШІМ. Для цього використовується два лічильники: перший вважає повну кількість імпульсів у періоді, другий – кількість імпульсів, коли сигнал на виході нульовий. Відношення другого лічильника до першого еквівалентно відношенню вхідного сигналу до VDD. Важливо, що значення еквівалентні лише тому випадку, є R1=R2. Інакше вони пропорційні відношенню R2 до R1.
Більш повну інформацію щодо побудови дельта-сигма АЦП описано в документі AN700 «Make A Delta Sigma Converter Using a Microcontroller's Analog Comparator Module».
Приклад: R3 = R4 = 10 кОм R1 =R2 = 5,1 кОм C1 = 1000 пФ
На вході компаратора, що інвертує, необхідно задати рівень, що дорівнює половині вхідної перетворюваної напруги (VIN/2). Це можна зробити за допомогою зовнішнього дільника на резисторах R1 і R2, або за допомогою внутрішнього генератора опорної напруги, якщо він присутній в контролері. Затримка перетворення на вбудованому компараторі становить близько 300 нс.
Приклад: VIN = 0..2 В, VIN/2 = 1 В, VDD = 5 В R2 = 10 кОм, R3 = 3,9 кОм