Електроника за всеки
Блог за електроника
Почти всекиAVR ke има такава полезна джаджа катоаналогов компаратор. Това е почти стандартно устройство и се среща много често в много различни контролери. Дори в древния, като мамут, AT89S2051 вече съществува. Номерът е готин, позволява ви да сравните два аналогови сигнала и да направите присъдата си 0 първият е по-голям от втория, 1 вторият е по-голям от първия.
Можете да го използвате, например, за да следите нивото на заряд на батерията чрез спад на напрежението. Схемата е проста - ценеровият диод създава еталонно напрежение, което винаги е едно и също, а напрежението от резистивния делител зависи от входното напрежение.
Например, имаме 8 волта на входа. От ценеровия диод, проектиран за 3,3 волта, винаги излиза същото напрежение - 3,3 волта. И от симетричен резистивен делител излиза половината напрежение, тоест 4 волта. 4 е по-голямо от 3,3, (3,3 - 4 = -0,7 резултатът е по-малък от нула) компараторът извежда 0
Сега, ако батерията се изтощи и напрежението падне до 6 волта, тогава вече ще има 3 волта от делителя, а от референтната стойност, както беше, остават 3,3. Но сега ситуацията на компаратора се промени радикално - 3 е по-малко от 3,3 (3,3 - 3 = 0,3 резултатът е по-голям от нула), което означава, че ще има 1 на изхода
Така например можете лесно и просто да наблюдавате захранващото напрежение и да подадете аларма, ако батерията се изтощи.
Регистър за конфигурация на ACSR компаратор Битове:
- ACD активиране на компаратор 0 активиран, 1 деактивиран. По подразбиране има нула, което означава, че компараторът е включен при стартиране.
- ACBG — връзка към директния вход на компаратора на вътрешнияизточник на референтно напрежение (ION ) с 1,22+(-)0,05V. Ако 0, тогаваION не е свързан.
- ACO е резултатният бит. Всъщност това е изходът на компаратора.
- ACI - флаг за прекъсване. Мисля, че вече сте свикнали с факта, чеAVR има прекъсване за всяко кихане. Компараторът не е изключение. Задава се чрез събитие, нулира се след напускане на манипулатора или програмно, както винаги, като се напише 1 към него.
- ACIE - където има прекъсване, трябва да има и бит за разрешаване. Това е той. Чрез настройка на 1 разрешаваме прекъсвания от компаратора. По подразбиране, разбира се, нула.
- ACIC - свързване на компаратора към схемата за улавяне наtimer1. Когато сигнал достигне веригата за улавяне, текущата стойност от таймера незабавно се вписва в специален регистър за улавяне и таймерът продължава да брои по-нататък. И по отношение на компаратора, това е удобно, когато трябва да измерите продължителността на сигналите.
- БитоветеACIS1:ACIS0 определят условието за поява на прекъсване от компаратора:
- 00 — всяка промяна на входа.
- 01 - запазено за бъдещите поколения
- 10 - преход от 1 към 0
- 11 - преход от 0 към 1
Затова обичам ATMega, защото е кайма! Той дори има собствено референтно напрежение. Така че от веригата с ценеров диод можете спокойно да изхвърлите всичко, свързано с ценеровия диод :) Оставяйки само делителя, добре, вдигайки раменете на резисторния делител, така че да получите изходното напрежение малко по-високо от 1,22V. Освен това, ако контролерът имаADC, тогаваВСЯК ADC вход може да бъде свързан към изходаAIN1. Нереално готино! За да направите това ви трябва:
- В регистърSFIOR (специален функционален регистър), задайте битACME (изглежда, че ракетите са били наречени в анимационен филм за койот и щраус;) )
- ДеактивирайтеADC чрез изчистване на битADEN в регистъра на настройките на ADC (ADCSRA )
- В регистъраADMUX в битовеMUX2:MUX1:MUX0 посочва номера на входа на ADC.
Пример: Ще използвам моя робот като пример. Объркал му система за контрол на мощността. Напрежението от батерията преминава през делителя1.5:10, в резултат на това при 12 волта, нашият изход ще бъде(1.5/(1.5+10))*12=1.56 и едва когато напрежението падне до 9.5 волта, изходът на делителя ще бъде по-нисък от 1.22 волта. Използвам неизползвания входPC5 (това е входътADC5 ) Ще го подавам презADC към компаратора, а като референтно напрежение ще взема вграденотоION, което ще поставя наAIN0 отвътре. Когато напрежението падне, ще светна контролната лампа.
От какво се нуждаем: Първо, свържетеION - битACBG Следва битът за прекъсване - в манипулатора на прекъсвания ще включа светлината Е, задайте условието, за което ще има прекъсване от 0 до 1. Факт е, че 1,22 sION отива към плюсовия вход на компаратора и отива към минус вход 1.5 от делителя. Резултат1.22-1.5 AVRAnalogADCCComparatorMicrocontrollerDescription
113 мнения за „AVR. Курс на обучение. Използване на аналоговия компаратор”
1.22V референтно напрежение е постоянно за всички видове meg? особено интересно за 8535)