Съвети и трикове за използване на вградения компаратор в контролери Microchip

За измерване на продължителността на ниските и високите нива на сигнала във входния ШИМ сигнал се използва комбинация от компаратор и таймер 1 с външен активиращ вход (Фигура 4). Когато входът на контролера T1G е нисък, отчитането на таймера 1 е разрешено, когато високото ниво е деактивирано. Използването на компаратор на входа ви позволява да измервате продължителността между падащия ръб и ръба на входния сигнал. За да измерите продължителността между покачването и спада, трябва просто да зададете обратната стойност на изхода на компаратора, като зададете бита CINV в регистъра CMCON.

За да синхронизирате входния сигнал и таймера, трябва да активирате веригата за синхронизация, като зададете бита C2SYNC.

За да се намали броят на фалшивите аларми на веригата, може да се въведе хистерезис както за компаратора с висока граница, така и за ниския. За да направите това, използвайте формулите, за да изчислите резисторите от трик # 3. В този случай за сравнителя на горната граница общата стойност на R2 и R3 е стойността на R2 за изчисляване на хистерезиса.

В компаратора на долната граница добавете Req (1.10 kΩ) между входа на веригата и неинвертиращия вход на компаратора. След това трябва да изчислите резистора за обратна връзка съгласно формули 4 и 5.

Пример за изчисление:
VDD = 5V, VTH = 2,5V, VTL = 2V
R1 = 12 kΩ, R2 = 2,7 kΩ, R3 = 10 kΩ
Получено VTH = 2,57V, VTL = 2,02V

Резисторите R2 или R3 задават необходимото ниво на изходния сигнал при липса на входен сигнал: ако резисторът R2 е инсталиран, тогава изходът ще бъде нисък при липса на входен сигнал, ако R3 е зададен, тогава е висок . Стойността им трябва да бъде с два порядъка по-голяма от R1.

Пример:
Скорост на предаване на данни - 10 Kbps, гранична честота - 500 Hz
Получаваме R1 = 10 kΩ, C1 = 33 μF, R2 = R3 = 500.1000 kΩ

Когато е необходимо да се уловят кратки импулси в системата, се използва еднократна схема. На входния къс импулс той генерира изходен импулс с определена продължителност, който може да бъде обработен от микроконтролера. Схемата, базирана на сравнение, е показана на фигура 8. Тя има две обратни връзки: първата задава хистерезис, а втората задава времето на изходния импулс (въз основа на RC-веригата). Когато на входа на веригата се появи ръб на сигнала, на изхода се генерира положителен импулс с определена продължителност.

Моновибраторът работи по следния начин: когато входът на веригата е нисък, C1 се зарежда до ниво от около 0,7 V (напрежението е ограничено от диод D1 и резистор R1). Стойността на резистора R1 е значително по-малка от R2 и не би трябвало да има голям ефект върху зарядното напрежение. Също така има ниско ниво на изхода на компаратора и напрежение под 0,7 V на неинвертиращия вход (чрез хистерезисна верига, долната граница на която е зададена на 0,7 V). Кондензаторът С2 се зарежда към напрежението между входа на веригата и неинвертиращия вход на компаратора.

Когато на входа на веригата се появи високо ниво, на входа на компаратора се появява напрежение по-високо от 0,7 V и го кара да превключва. В този момент кондензаторът С1 започва да се зарежда през резистора R2. Когато напрежението в него се повиши над горната граница на хистерезиса, компараторът се превключва отново и кондензаторът се разрежда през диод D1 и резистор R1. По този начин веригата преминава в първоначалното си състояние.

Първо трябва да изчислите стойността на резисторите R3, R4 и R5, които задават хистерезиса (вижте рецепция №3). Освен това стойностите на C1 и R2 се изчисляват по формула 8. Диод D1 - всеки импулсен диод с ниско напрежение, R1 - 0,01 от R2, C2 - 100.220 pF.

Пример:
VDD = 5V, VTH = 3.33V, VTL = 1.66V
R1 = R2 = R3 = 10 kΩ
FOSC = 480 Hz => RT = 15 kΩ, CT = 0,1 μF

9. Мултивибратор (трион)

За да се получат трионни сигнали за напрежение на изхода на мултивибратора, е необходима лека модификация на веригата от прием # 8 (Фигура 10).

В началото на цикъла кондензаторът за синхронизация на CT се разрежда през диода. На изхода на компаратора се появява високо ниво, поради което започва зареждането на CT кондензатора през резистора RT. Когато нивото на напрежението се повиши над напрежението на хистерезиса, компараторът превключва. В този момент кондензаторът бързо се разрежда през диода и цикълът се повтаря.

Напрежението в кондензатора се повишава по обратен експоненциален начин; в началния момент от време сегментът на степенния показател може да се счита за линеен, който се използва за генериране на трионното напрежение. Изходът на веригата е напрежението в кондензатора.

При изчисляването е важно да се вземе предвид, че изходното напрежение ще бъде зададено от границите на хистерезисната верига. Освен това напреженията на хистерезиса трябва да бъдат равномерно разпределени в работния диапазон на напреженията на компаратора. Освен това, използвайки формула 10, се изчисляват стойностите на RT и CT.

В началото на цикъла, когато изходът на компаратора е нисък, кондензаторът С1 се зарежда през диода D1. Когато мултивибраторът превключи, изходът се повишава, диодът D1 се затваря и кондензаторът спира да се зарежда. Напрежението в кондензатора С1 се добавя към напрежението на изхода на компаратора и се оказва равно на приблизително две захранващи напрежения. Това удвоено напрежение зарежда кондензатора С2 през диода D2, който в момента се отваря. Освен това напрежението на изхода на мултивибратора става ниско, диодът D2 се затваря и натрупаният заряд на удвоеното напрежение остава на C2. В този момент D1 се отваря и цикълът на зареждане/разреждане се повтаря.

Напрежението на изхода на веригата е нестабилно по отношение на товара; следователно такива вериги най-често се използват като източници на напрежение с крайно вътрешно съпротивление. Еквивалентната схема е показана на фигура 13.

Мултивибратор с трион може да се използва за генериране на ШИМ сигнал с контролирано напрежение (трик # 9).

След това, използвайки втори компаратор, входното референтно напрежение се сравнява с трионното напрежение на мултивибратора. На изхода на компаратора се получава ШИМ сигнал, чийто работен цикъл е пропорционален на входното напрежение (Фигура 14).

За правилна работа на ШИМ генератора е необходимо да се изчисли мултивибраторът съгласно формулите от прием №9. Важно е да се вземе предвид, че горната и долната граница на мултивибраторната хистерезис трябва да бъдат съответно по-високи и по-ниски от максималните и минималните стойности на референтното напрежение. Ако входното напрежение е по-ниско от долната граница на хистерезис, тогава работният цикъл на изходните импулси ще бъде 0, т.е. няма да има изходни импулси и веригата ще извежда ниско. По същия начин, ако еталонното напрежение е над горната граница на хистерезис, тогава изходът ще бъде висок.

При обработка на сигнали от датчик е необходимо усилване, за да се използва изцяло целият обхват на преобразуване на ADC. Обикновено за това се използват операционни усилватели, но в приложения, където цената или размерът на платката са важни, добавянето на външни елементи не винаги е оправдано.

За този тип приложения се използва следният трик: за бавни сигнали вграденият компаратор може да се накара да работи в режим на усилване. Освен това е възможно да се създадат както неинвертиращи, така и инвертиращи усилватели (Фигура 15 и Фигура 16).

За изчисляване на инвертиращия усилвател се използва формула 16. LPF за този усилвател се изчисляват по подобен начин на неинвертиращия.

Пример:
Коефициент на усилване = 6,156, R1 = R3 = 19,8 kΩ
R2 = 3.84 kΩ, C1 = 0.047 μF, FCORNER = 171 Hz
C2 = 0,22 μF

За управление на MOSFET-тата на превключвателите на захранването се изискват специални драйвери, които имат честота или ШИМ сигнал на изхода. Такъв драйвер може да бъде изграден въз основа на компаратор. Фигура 17 показва драйвера за горния MOSFET ключ.

Схемата работи по следния начин. В началото ключът е затворен и през товара не протича ток. През токовия сензор R1 не протича ток; следователно има нула на неинвертиращия вход на компаратора. На инвертиращия вход на компаратора присъства еталонно напрежение, по-голямо от нула. На изхода на компаратора има ниско ниво, което отваря превключвателя на захранването. Токът в веригата на товара започва да расте бавно, тъй като има индуктивност във веригата.

Когато напрежението на токовия сензор достигне еталонното напрежение, компараторът се превключва. Ключът се затваря и напрежението започва да пада през диода. Веднага щом напрежението на токовия сензор R1 падне под еталонното, компараторът се превключва отново и цикълът се повтаря. Веригата R2C1 се използва за задаване на времето за превключване. Позволява ви да зададете оптималния режим на работа за клавиша MOSFET.

В резултат токът в товара се колебае около даден (Фигура 18).

Изчисляването на параметрите на драйвера започва с определяне на работната честота на FSWX. Определя се от системните изисквания. След това се избира подходящ MOSFET ключ и диод според тока през товара. Според тези параметри се изчислява времевата верига (формула 17).

Знаейки напрежението и тока в товара, използвайки формула 18, се изчислява стойността на индуктивността. Чрез тока в товара се избира и токовият сензор R1, който осигурява спад на напрежението от около 0,1 V при максимално натоварване.

Пример:
FSWX = 10 kHz, R2 = 22 kΩ, C1 = 0,01 μF
IRIPPLE = 100mA, VDD = 12V, VL = 3.5V
L = 4,25 mH

Тази техника описва как да се изгради хардуерно-софтуерен делта-сигма ADC. Такъв преобразувател се състои от интегратор, компаратор, семплер и 1-битов ЦАП (Фигура 19). В този случай интеграторът е R1C1 RC верига, компараторът е вграден в микроконтролера. Пробоотборникът е реализиран в софтуер, а портът на контролера действа като ЦАП, изходът на който е свързан към интегратора чрез R2 резистора. Референтното напрежение VDD/2 се формира от разделител на резистори R3 и R4.

Принципът на действие на преобразувателя е както следва. На изхода на ЦАП (порт щифт) има копие на времето на сравнителното състояние. Получава се ШИМ сигнал, чийто работен цикъл е обратно пропорционален на величината на входния сигнал, т.е. с увеличаване на входния сигнал, работният цикъл намалява, с намаляване се увеличава. Самото аналогово-цифрово преобразуване се основава на цифрова интеграция на работния цикъл на сигнала на основната лента на ШИМ. За това се използват два брояча: първият отчита общия брой импулси в периода, вторият - броя импулси, когато сигналът на изхода е нула. Съотношението на стойността на втория брояч към първия е еквивалентно на съотношението на входния сигнал към VDD. Важно е стойностите да са еквивалентни само ако има R1 = R2. В противен случай те са пропорционални на съотношението R2 към R1.

За повече информация относно изграждането на делта-сигма ADC, вижте AN700 "Направете конвертор на Delta Sigma с помощта на аналогов модул за сравнение на микроконтролера".

Пример:
R3 = R4 = 10 kΩ
R1 = R2 = 5.1 kΩ
C1 = 1000 pF

На инвертиращия вход на компаратора задайте нивото, равно на половината входно преобразувано напрежение (VIN/2). Това може да се направи или с външен разделител на резистори R1 и R2, или с вътрешен генератор на референтно напрежение, ако присъства в контролера. Закъснението на преобразуването във вградения компаратор е около 300 ns.

Пример:
VIN = 0.2V, VIN/2 = 1V, VDD = 5V
R2 = 10 kΩ, R3 = 3,9 kΩ