Компаратор ардуино: Расширенное управление АЦП Arduino. DirectADC

Содержание

Ардуино и микросхемы | Что такое компаратор

Компаратор (аналоговых сигналов) (англ. comparator — сравнивающее устройство[1]) — электронная схема, принимающая на свои входы два аналоговых сигнала и выдающая логическую «1», если сигнал на прямом входе («+») больше, чем на инверсном входе («−»), и логический «0», если сигнал на прямом входе меньше, чем на инверсном входе.

Одно напряжение сравнения двоичного компаратора делит весь диапазон входных напряжений на два поддиапазона. Двоичный логический сигнал (бит) на выходе двоичного компаратора указывает, в каком из двух поддиапазонов находится входное напряжение.

Простейший компаратор представляет собой дифференциальный усилитель. Компаратор отличается от линейного операционного усилителя (ОУ) устройством и входного, и выходного каскадов:

  • Входной каскад компаратора должен выдерживать широкий диапазон входных напряжений между инвертирующим и неинвертирующим входами, вплоть до размаха питающих напряжений, и быстро восстанавливаться при изменении знака этого напряжения.
  • Выходной каскад компаратора выполняется совместимым по логическим уровням и токам с конкретным типом входов логических схем (технологий ТТЛ, ЭСЛ и т. п.). Возможны выходные каскады на одиночном транзисторе с открытым коллектором (совместимость с ТТЛ и КМОП логикой).
  • Для формирования гистерезисной передаточной характеристики компараторы часто охватывают положительной обратной связью. Эта мера позволяет избежать быстрых нежелательных переключений состояния выхода, обусловленном шумами во входном сигнале, при медленно изменяющемся входном сигнале.

При подаче эталонного напряжения сравнения на инвертирующий вход входной сигнал подаётся на неинвертирующий вход, и компаратор является неинвертирующим (повторителем, буфером).

При подаче эталонного напряжения сравнения на неинвертирующий вход входной сигнал подаётся на инвертирующий вход, и компаратор является инвертирующим (инвертором).

Несколько реже применяются компараторы на основе логических элементов, охваченных обратной связью (см., например, триггер Шмитта — не компаратор по своей природе, но устройство с очень схожей областью применения).

Как работает блок питания Arduino

Этот блок питания Arduino предназначен для «правильных действий» независимо от того, какой источник питания подключен.

правильная вещь

«Правильная вещь» это:

  • Когда человек подключает только USB-кабель, процессор и все остальное, питаемое от линии + 5 В, получает питание от + 5 В USB.
  • Когда человек правильно подключает только 12-вольтовую стену, ЦП и все остальное, питаемое от линии + 5 В, питается от стабилизатора напряжения + 5 В, питаемого от стеновой бородавки.
  • Когда человек правильно подключает и кабель USB, и настенную розетку, подключенную одновременно, вся энергия поступает от настенной розетки, и никакое питание не «возвращается» на хост USB.
  • Когда человек продолжает подключать и отключать кабели, питание плавно переходит от одного к другому, так что до тех пор, пока хотя бы один из них подключен правильно, процессор продолжает работать непрерывно.
  • Когда (не «если»!) Человек неправильно подключает настенную 12-вольтовую стенку - обратная полярность - ток не течет к или из стенной бородавки, никакого повреждения не происходит, и система действует точно так же, как если бы эта бородавка вообще не подключена.

мощность бородавок

Многие системы используют 1 диод для каждого источника питания для питания системы от любого входного напряжения, которое автоматически удовлетворяет требованию «плавных переходов».

Диод прекрасно работает на стороне питания от бородавок.

Питание от USB

Увы, диод на стороне питания USB не будет работать для Arduino. При отключенном питании от USB, падение напряжения на диоде (обычно около 0,6 В) может привести к тому, что на всем диоде будет работать падение напряжения на диоде ниже, чем на питании от USB, поэтому обычно оно составляет 4,4 В, что, очевидно, (?) Неадекватно.

загадочные части

Более поздние версии схемы Arduino четко обозначают трехконтактную коробку «источник питания постоянного тока 21 мм», обозначая 21-миллиметровую заглушку ствола.

Таинственные выводы «4» и «8» в верхнем левом углу схемы Arduino - это выводы питания 8-контактного двойного операционного усилителя. Этот операционный усилитель используется здесь в качестве компаратора.

мысли

Я не знаю, почему разработчик не использовал компаратор IC, или почему дизайнер использовал оба операционных усилителя в упаковке, когда достаточно одного операционного усилителя - но так как он явно работает , я не собираюсь сказать, что это "неправильно".

Операционный усилитель и pFET реализуют что-то очень похожее на «идеальный диод»: когда подключен только USB-кабель, операционный усилитель жестко включает pFET, давая падение напряжения на pFET менее 0,1 В (так все работает на чем-то достаточно близко к 5,0 В).

Когда человек подключает USB-кабель к Arduino, к которому ранее ничего не подключалось, диод корпуса pFET «T1» пропускает питание от USB-кабеля, достаточное для того, чтобы перезапустить напряжение питания операционного усилителя примерно до 4,6 В. более чем достаточно, чтобы включить операционный усилитель, который затем включает этот pFET-аппарат, оставляя напряжение до 4,9 В.

Когда человек подключает настенную бородавку к разъему питания Arduino, операционные усилители отключают pFET. Диод корпуса pFET предотвращает обратную подачу питания от регулятора напряжения к хосту USB. В принципе, питание USB может продолжать течь через диод корпуса pFET в Arduino, но это будет довольно незначительным, так как питание USB близко к тому же напряжению, что и регулируемое напряжение, генерируемое настенной бородавкой.

PS: Когда крошечная компания продает 250 000 досок , я лично использую слово «успешный», а не «пустышки».

Arduino Nano ATmega168

В настоящее время существует 2 модификации разновидности плат Arduino Nano.
Версии 3.хх на микроконтроллере ATmega328 и версии 2.хх на микроконтроллере ATmega168.

Поговорим про версию 2.хх
Сразу оговорюсь, что отличаются они только:  

  • Микроконтроллер Atmel ATmega168 или ATmega328
  • Флеш-память 16 Кб (ATmega168) или 32 Кб (ATmega328) при этом 2 Кб используются для загрузчика
  • ОЗУ 1 Кб (ATmega168) или 2 Кб (ATmega328)
  • EEPROM 512 байт (ATmega168) или 1 Кб (ATmega328)

Все микроконтроллеры ATmega168 и ATmega328 установленные на Arduino Nano поставляются с уже записанным загрузчиком, что облегчает установку новых программ без внешних программаторов. 

Основные параметры Atmel ATmega168

ЦПУ: Ядро     AVR
ЦПУ: F,МГц     от 0 до 20
Память: Flash,КБайт     16
Память: RAM,КБайт     1
Память: EEPROM,Байт     512
I/O (макс.),шт.     23
Таймеры: 8-бит,шт     2
Таймеры: 16-бит,шт     1
Таймеры: Каналов ШИМ,шт     6
Таймеры: RTC    
Да
Интерфейсы: UART,шт     1
Интерфейсы: SPI,шт     1
Интерфейсы: I2C,шт     1
Аналоговые входы: Разрядов АЦП,бит     10
Аналоговые входы: Каналов АЦП,шт     6
Аналоговые входы: Быстродействие АЦП,kSPS     76.9
Аналоговые входы: Аналоговый компаратор,шт     2
VCC,В     от 1.8 до 5.5
ICC,мА    
10
TA,°C     от -40 до 85
Корпус     PDIP-28 MLF-32 TQFP-32


Посмотреть datasheet на этот микроконтроллер можно на странице Arduino Nano datasheet .

Полезные статьи про Arduino Nano:

 

 

Тендер 1899255: Поставка электронных комплектующих, радиодеталей и расходных материалов для ИЯТШ ТПУ.

Позиция Кол-во Ед. изм.
1. Светодиодная лента «WS2812B Smart 5050/60». Длина 1 метр, напряжение питания 5В, белая подложка. 1 шт
2. Микросхема «ATMEGA328P-PU DIP». Ширина шины данных 8-бит, тактовая частота 20 мгц, количество входов/выходов 23, объем памяти программ 32 кбайт. 1 шт
3. Микросхема «ATTINY13A-PU DIP8». Ширина шины данных 8-бит, тактовая частота 20 мгц, количество входов/выходов 6, объем памяти программ 1 кбайт. 1 шт
4. Отладочная плата "STM32F407G-DISC1 ST Microelectronics STM32F407VGT6».Микроконтроллер 32-Бит ARM Cortex-M4 с FPU ядром, 1-Мбайт Flash, 192-Кбайт RAM. 2 шт
5. Отладочная плата «ST Microelectronics STM32VLDISCOVERY». На базе MCU STM32F100RBT6B (ARM Cortex-M3), ST-LINK, разрядность шины данных 32 Бит. 2 шт
6. Отладочная плата «ST Microelectronics NUCLEO-F401RE».На базе MCU STM32F401RET6 (ARM Cortex-M4), ST-LINK/V2-1, Arduino-интерфейс. Разрядность шины данных 32 Бит. 2 шт
7. Плата расширения. Trema Shield для подключения модулей Arduino. Страна происхождения: Россия. 1 шт
8. Плата расширения «GPRS Shield интерфейс для Arduino проектов (SIM900)». Разъем внешнего питания - для подключения внешнего источника питания 4.8-5 В. 1 шт
9. Источник питания «ROBITON SN1000S». Стабилизированный блок питания 1000 мА. Выходное напряжение 1,5-12В. Страна происхождения: Россия. 1 шт
10. Источник питания. Выходное напряжение 12В. Выходной ток 2А. Страна происхождения: Россия. 1 шт
11. Блок питания «RUICHI». Вход: AC 100 В-240 В 50/60 Гц, выход: DC 9 В, 1A/1000мA. 1 шт
12. Дисплей. Shield для Arduino. TFT LCD 2.4. Размер 240х320 мм, с сенсорной панелью, microSD. 1 шт
13. Дисплей. LCD 1602, напряжение питания 5В, 2 строки по 16 символов. Цвет LED подсветки: желто-зеленый. 1 шт
14. Образовательный набор «Амперка «Введение в Интернет вещей». Набор на базе STM32 с платами расширения Troyka Shield и Troyka Slot Shield. Страна происхождения: Россия. 1 шт
15. Модуль расширения. GPRS/GSM A6 mini, GSM / GPRS четыре диапазона, включая 850900, 1800, 1900 МГц; Максимальная скорость GPRS: 85,6 Кбит/сек (загрузка), 42,8 Кбит/сек (передача). 1 шт
16. Модуль для двунаправленной радиосвязи. Bluetooth HC-05 на плате для Arduino, диапазон частот радиосвязи: 2,4–2,48 ГГц. 2 шт
17. Модуль расширения. GPS Ublox Neo-6M. 1 шт
18. 3-х осевой гироскоп + акселерометр «MPU-6050». Модуль для Arduino. Питание: 3,5 – 6 В. Ток потребления: 500 мкА. Акселерометр диапазон измерений: ± 2 ± 4 ± 8 ± 16 г. 1 шт
19. Мини термометр-гигрометр (измеритель влажности). Диапазон измерений температуры окружающей среды: от -50,0 до +70,0 °С. Диапазон измерений относительной влажности воздуха: от 0,0 до 99,0% с проводным датчиком. 1 шт
20. Датчик температуры и влажности. Модуль для Arduino FLASH-I2C. Диапазон измерений температуры окружающей среды: от -40,0 до +125,0 °С. 1 шт
21. Датчик влажности почвы. Датчик влажности почвы с дискретным и аналоговым выходом, построен на компараторе LM393. 1 шт
22. Цифровой датчик освещенности «Bh2750FVI». Для Arduino, чувствительность: 65536 градаций, точность в режиме высокого разрешения: 1 Лк. 1 шт
23. Датчик давления, влажности и температуры «BME280». Интерфейс: SPI, I2C, диапазон измерений давления 300-1100 кПа, диапазон измерений температуры окружающей среды: от -40,0 до +85,0 °С, диапазон измерений относительной влажности воздуха: от 0,0 до 100,0%. 1 шт
24. Датчик природного газа «Troyka-Mq4 gas sensor». Для Arduino, напряжение питания нагревателя: 5 В, напряжение питания датчика: 3.3–5 В, потребляемый ток: 150 мА, размеры: 25,4?25,4 мм. Страна происхождения: Россия. 1 шт
25. Датчик удара «SW-420». Модуль для Arduino. Рабочее напряжение 3.3-5 В, компаратор: LM393, чувствительность регулируемая. 1 шт
26. Датчик кислотности жидкости. pH-метр для Arduino, диапазон измерений: 0...14 pH, зависимость напряжения на выходе модуля от pH растворов: 1 pH = 2/7 В, температура измеряемых растворов: 0...60 ?, точность измерений: ± 0.1 pH (при температуре 25 ?). 1 шт
27. Десятиосный датчик положения «GY-91». Интерфейс: I2C (при частоте 3,4 МГц) и SPI (при частоте 10 МГц). Диапазон измерений с акселерометра: ± 2 ± 4 ± 8 ± 16 г, диапазон измерений с гироскопа: ± 250 500 1000 2000 °/с. 1 шт
28. Термометр. Модуль для Arduino DS18B20 в влагозащитном корпусе, погрешность измерения не более 0,5 С (для температур от -10С до +85 С), диапазон измерений температуры окружающей среды: от -55,0 до +125,0 °С. 1 шт
29. Радиоконструктор RP257. Бестрансформаторный стабилизатор напряжения.Входное напряжение: 220 В (АС). Выходное напряжение: 5-12 В. Максимальный ток нагрузки: 40 мА. Страна происхождения: Россия. 2 шт
30. Радиоконструктор RА220. Датчик движения. Номинальное напряжение питания: 12-15 В. Номинальный ток потребления: 30 мА. Ток коммутации: 0,5 А. Дальность обнаружения человека при скорости движения 3 км/ч: 1-1,5 м. Страна происхождения: Россия. 2 шт
31. Радиоконструктор "Автомат включения/выключения мощной нагрузки". На базе микросхемы К176ИЕ5 для включения и выключения мощной (до 1500 Вт) нагрузки. Страна происхождения: Россия. 5 шт
32. Радиоконструктор "Активный двухканальный фильтр стереосистем". 2 шт
33. Радиоконструктор «Стабилизатор напряжения 2-х полярный».Входящее напряжение питания: +14…+15 В, исходящее напряжение питания: +12 В. Выходной ток нагрузки: 1,5 А. Страна происхождения: Россия. 5 шт
34. Радиоконструктор "Импульсный преобразователь напряжения 9В". Импульсный преобразователь напряжения 9В для применения в любой аппаратуре, где используются гальванические батареи с питанием 6-12 В. Для сохранения работоспособности аппаратуры при снижении питания батареи до 3 В. Страна происхождения: Россия. 4 шт
35. Радиоконструктор "Импульсный регулятор частоты вращения". Для регулирования в широких пределах частоты вала миниатюрных электродвигателей постоянного тока (типа ДМП-20 и т.д.) напряжением 12-24 В. Страна происхождения: Россия. 5 шт
36. Радиоконструктор "Преобразователь напряжения +/-12В". Напряжение на входе: 8-12 В. 4 шт
37. Радиоконструктор "Стабилизатор напряжения питания 5В". Входящее напряжение питания: 7-8 В, исходящее напряжение питания: 5 В, выходной ток нагрузки: 1 А. Страна происхождения: Россия. 10 шт
38. Радиоконструктор "Универсальный усилитель ЗЧ". Назначение: конструктор - универсальный усилитель мощности звуковой частоты, который работает при различных сопротивлениях нагрузки и напряжениях питания. Страна происхождения: Россия. 5 шт
39. Часы реального времени. Модуль RTC, DS1307, поддерживаемый протокол I2C, для Raspberry Pi для Arduino. Частота 1 Гц, 4.096 кГц, 8.192 кГц, 32.768 кГц. 1 шт
40. Микро водяной насос «MICRO-WATER-PUMP (385)". Для Arduino проектов, рабочее напряжение 6?12 В. 1 шт
41. Двигатель «POLOLU-2265». Тип DC, вибрационный, номинальная скорость вращения двигателя 10000 об./мин, напряжение питания 2,4 - 3,5 В, рабочий ток максимальный 100 мА. 1 шт
42. Миниатюрный мембранный насос, модель: 385. Напряжение питания 6-12 В на 1,5 литра в минуту. 1 шт
43. Линейный привод. Длина 300 мм. Грузоподъемность 900Н. 1 шт
44. Энкодер «Keyes KY-040». Напряжение питания 5 В, 5 выходов. 1 шт
45. Модуль для питания микроэлектроники «Амперка AC/DC (Zelo-модуль)».Выходное напряжение с преобразователя: 5 В. Страна происхождения: Россия. 1 шт
46. Модуль реле «FLASH-I2C». 2 канала, напряжение питания логики: 5 В (постоянного тока), напряжение питания обмоток реле: 5 В (постоянного тока). 1 шт
47. Зуммер. Trema-модуль для Arduino, напряжение питания: 5 В, потребляемый ток: до 30 мА, интенсивность звука: >= 85 дБ, резонансная частота: 2048 Гц. 1 шт
48. Релейный модуль. Реле 1 канал, напряжение питания 5В, размеры: 50x26x18,5 мм. 1 шт
49. Поплавковый переключатель «SPST-NC 59630-4-T-02-A, серия 59630». Вертикальный. Рабочее напряжение 200 В, выходной ток: 1.2 А. Мощность 10 Вт. 1 шт
50. Модуль подключения. I2C Hub для Arduino. Для увеличения количество выводов на шине I2C. 1 шт
51. Модуль подключения «Pull Switch UP/DOWN Trema-модуль V2.0». Для подключения модулей Arduino при подключении для прижатия линии к земле (GND), или подтягивания к питанию(VCC). Напряжение: 3,3 – 5 В. Страна происхождения: Россия. 1 шт
52. Контроллер «Arduino Pro Micro». С микроконтроллером ATmega32u4, 12 аналоговых вводов, 20 цифровых вводов/выводов. 1 шт
53. Программируемый контроллер «Uno R3 (16U2)». На базе ATmega328 с USB кабелем. 1 шт
54. Контроллер «Arduino Pro Mini ATmega328». Рабочее напряжение 5В. Аналоговые входы 6 шт. 3 шт
55. Контроллер «Arduino nano v3.0». Тактовая частота 16 МГц. Размер памяти для программ 32 Кбайт. 2 шт
56. Тактовая кнопка «Ардуино». Размер 12x12 мм. 5 шт

Усиление импульсного сигнала (0,1 ... 0,5 В) на цифровом входе Arduino

Большинство микросхем ATMega уже имеют встроенный модуль аналогового компаратора (AC), поэтому нет необходимости использовать внешние схемы, если вы не хотите контролировать гистерезис.

Для Arduino Uno выводы переменного тока - это PD6 и PD7 (цифровой вывод 6 и цифровой вывод 7 в языке «Arduino»). К PD6 (AIN0) вы должны подключить опорное напряжение постоянного тока там, где вы хотите, чтобы ваш порог был (в вашем случае ~ 0,3 В), а к PD7 (AIN1) вы подключаете свой входной импульсный сигнал.

Если вы хотите иметь возможность измерять более одного сигнала (хотя и по одному), вы можете использовать любой из аналоговых входных контактов (с A0 по A5) вместо PD7. Выход мультиплексора АЦП внутри MCU может быть направлен на аналоговый компаратор. Однако имейте в виду, что АЦП нельзя использовать одновременно с аналоговым компаратором, если в качестве источника входного сигнала используется мультиплексор.


Для ATMega32U4 на Pololu Micro, согласно вашему комментарию, все немного по-другому. У них все еще есть аналоговый компаратор, но у них нет вывода AIN1. Вместо этого вы должны использовать ADC Mux в качестве источника сигнала, что означает, что вы можете подавать импульсный сигнал на любой из выводов A0 - A5 на микроплате.

Что касается опорного напряжения постоянного тока, AIN0, то есть на PE6, который соответствует цифровому выводу 7.


Для эталонного сигнала постоянного тока вы можете просто использовать пару резисторов в качестве делителя напряжения и, возможно, также небольшой (~ 100 нФ) развязывающий конденсатор для сглаживания шума.

Чтобы узнать, высокий или низкий уровень сигнала, вы можете либо проверить ACOбит ACSRрегистра, либо настроить процедуру обслуживания прерывания для ANALOG_COMP_vectвектора прерывания.

Если вас интересует синхронизация сигнала, ACOбит также можно внутренне направить непосредственно во входной регистр захвата таймера 1, чтобы вы могли установить временные метки переходов сигнала.

встроенный компаратора в контроллерах Microchip

Микроконтроллеры Microchip используются во многих устройствах, начиная от пожарных датчиков и заканчивая промышленной и автомобильной электроникой. Контроллеры PIC12F и PIC16F, имеющие встроенный аналоговый компаратор, сочетают в себе производительное RISC-ядро, Flash память программ и возможность обработки аналоговых сигналов. Перезаписываемая память программ и широкий выбор инструментальных средств (внутрисхемный отладчик ICD2, внутрисхемное программирование, эмулятор ICE2000) делают эти контроллеры незаменимыми для любых типов встраиваемых систем.

Приемы и трюки, рассмотренные ниже, помогут полностью использовать потенциал компараторов, как дискретных, так и встроенных в микроконтроллеры Microchip PIC.

Контроль батарейного питания

При работе системы от батареи важно знать, когда напряжение батареи снижается ниже допустимого уровня. Обычно для этого используется модуль PLVD (Programmable Low Voltage Detect). Однако, если его нет составе периферии контроллера, то можно построить простейшую схему на основе встроенного компаратора и нескольких внешних элементов. При питании микроконтроллера стабилизированным напряжением используется схема, указанная на рисунке 1, при нестабилизированном питании используется схема на рисунке 2.

Пример (стабилизированное питание):
Минимально допустимое напряжение VBATT = 5,7 В
VDD = 5 В, R1 = 33 кОм, R2 = 10 кОм, R3 = 39 кОм, R4 = 10 кОм

Резисторы R1 и R2 выбираются такими, чтобы напряжение на неинвертирующем входе компаратора было порядка 0,25 VDD; R3 и R4 – такими, чтобы напряжение на инвертирующем входе было таким же, как и на неинвертирующем при минимальном допустимом напряжении батареи.

Пример (нестабилизированное питание):
Минимально допустимое напряжение VBATT = 3 В
R1 = 33 кОм, R2 = 10 кОм и R3 = 470 Ом

Резистор R3 выбирается таким, чтобы диод был открыт при минимально допустимом напряжении батареи, а резисторы R1 и R2 задают напряжение на инвертирующем входе равное падению напряжения на диоде.

Процедура контроля изменения состояния компаратора

При использовании компаратора для контроля датчика важно знать как момент изменения состояния компаратора, так и сам факт изменения. Стандартный метод контроля основывается на сравнении текущего значения компаратора с его предыдущим значением, сохраненным в памяти контроллера (пример 2-1).

Test
MOVF hold,w ; предыдущее значение компаратора
XORWF CMCON,w ; сравниваем с текущим компаратором
ANDLW COUTMASK
BTFSC STATUS,Z
RETLW 0 ; если значения равны, то возвращаем 0
MOVF CMCON,w ; если не равны, то считываем текущее значение,
ANDLW COUTMASK ; маскируем ненужные биты и
MOVWF hold ; сохраняем в ячейке ОЗУ
IORLW CHNGBIT ; выставляем флаг изменения состояния компаратора
RETURN

Каждая проверка осуществляется за 5 команд, если изменение не происходило, 9 команд – если произошло. Помимо этого, требуется 1 ячейка ОЗУ для хранения предыдущего значения.

Усовершенствованная процедура контроля пригодна, если используется один компаратор: она использует флаг прерывания для контроля состояния (пример 2-2).

Test
BTFSS PIR1,CMIF ; проверяем флаг прерывания по компаратору
RETLW 0 ; если флаг не установлен, то возвращаем 0
BTFSS CMCON,COUT ; проверяем бит компаратора
RETLW CHNGBIT ; если 0 – возвращаем 0
RETLW COUTMASK + CHNGBIT ; если 1 – возвращаем маскированное значение

В данном случае проверка занимает 2 команды, если изменение произошло, то 3 команды. При этом не используется память ОЗУ.

Если в программе невозможно использовать флаг прерывания, либо ведется обработка состояния двух компараторов, то удобным является использование бита полярности выходного сигнала компаратора (пример 2-3).

Test
BTFSS CMCON,COUT ; анализируем бит компаратора
RETLW 0 ; если 0 – возвращаем 0
MOVLW CINVBIT ; если 1 – инвертируем выход
XORWF CMCON,f ; обнуляем бит компаратора
BTFSS CMCON,CINV ; анализируем инверсию выхода компаратора
RETLW CHNGFLAG ; если нет — возвращаем CHNGFLAG
RETLW COUTMASK + CHNGFLAG ; если есть – возвращаем маскированное значение

Если изменения не произошло, то цикл занимает всего 2 команды, иначе – 5 команд. Память ОЗУ также не используется.

Гистерезис

Когда на входах компаратора напряжения близки друг к другу, могут происходить нежелательные многократные переключения состояния компаратора под влиянием шумов и помех. Для исключения этого эффекта для компаратора вводится схема гистерезиса (рисунок 3). Эта схема смещает уровни срабатывания компаратора для исключения влияния шумов и помех.

Для определения значений резисторов необходимо знать уровни порогов петли гистерезиса VTH и VTL:

При расчетах важно учитывать, что через резисторы R1 и R2 течет постоянный ток, поэтому их суммарное значение должно быть не менее 1 кОм. Кроме того, это значение не должно быть выше 10 кОм: от этого зависит значение резистора R3, которое не должно быть выше 100 кОм. Большее значение этого резистора может вызвать смещение входного напряжения на неинвертирующем входе.

Пример расчета:
VDD = 5 В, VH = 3 В, VL = 2,5 В
VAVG = 2,77 В
R1 = 8,2 кОм и R2 = 10 кОм => VAVG = 2,75 В
REQ = 4,5 кОм
DR = 0,1
R3 = 39 кОм (получено 40.5 кОм, но такого номинала нет)
VHACT = 2,98 В
VLACT = 2,46 В

Измерение ШИМ-модулированного сигнала

Для измерения длительностей сигнала низкого и высокого уровней во входном ШИМ-сигнале используется комбинация компаратора и таймера 1 с внешним входом разрешения (рисунок 4). Когда на входе контроллера T1G низкий уровень, то счет таймера 1 разрешен, когда высокий уровень – запрещен. Использование компаратора на входе позволяет организовать измерение длительности между спадом и фронтом входного сигнала. Для измерения длительности между фронтом и спадом просто необходимо задать инверсию выхода компаратора установкой бита CINV в регистре CMCON.

Для синхронизации входного сигнала и таймера необходимо включить схему синхронизации установкой бита C2SYNC.

Если встроенный компаратор не имеет схемы синхронизации, то необходимо использовать внешний D-триггер. Триггер должен иметь синхронизацию по спаду для исключения некорректных состояний (рисунок 5).

Установка пределов полезного сигнала

При измерении аналогового сигнала важно знать, когда он выходит за рамки допустимых значений. Этот контроль можно осуществить на основе несложной схемы, состоящей из двух аналоговых компараторов и трех резисторов (рисунок 6). На соответствующих выходах схемы присутствует активный уровень тогда, когда входной сигнал выходит за пределы допустимых значений. Такая схема позволяет увеличить достоверность обработки сигнала и снизить риск перегрузки входных цепей системы.

Пределы допустимых значений входного сигнала устанавливаются с помощью делителя напряжения на резисторах R1, R2 и R3, рассчитать которые можно по формулам 6 и 7. Важно учесть, что через эти резисторы течет постоянный ток, поэтому для снижения потребления схемы необходимо выбирать их суммарное значение более 1 кОм, но не более 1 МОм, что может привести к появлению напряжения смещения на входах компаратора.

Для снижения количества ложных срабатываний схемы можно ввести гистерезис как для компаратора верхнего предела, так и нижнего. Для этого используются формулы для расчета резисторов из приема #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 В



Подавление постоянной составляющей

В системах передачи данных полезный сигнал может иметь постоянную составляющую, величина которой зависит от многих факторов, в том числе от температуры (температурный дрейф), токов в земляном проводнике и т.д. Наличие этой составляющей и ее нестабильность значительно усложняет дальнейшую обработку сигнала: простой детектор уровней не сможет адекватно восстановить полезный сигнал, т.к. значение постоянной составляющей может быть сопоставимо с уровнем самого сигнала. В таких ситуациях применяется схема подавления постоянной составляющей (рисунок 7). С помощью аналогового компаратора входной сигнал сравнивается со своим средним значением, полученным фильтрацией. ФНЧ на основе R1 и С1 должен иметь частоту среза выше, чем частота изменения постоянной составляющей и намного ниже частоты входного сигнала.

Резисторами 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 В, VTL = 2,5 В
По приему #3: R4 = 1 кОм, R5 = 1,5 кОм и R3 = 12 кОм
TPULSE = 1 мс, C1 = 0,1 мкФ и R2 = 15 кОм
Диод D1 – 1N4148, R1 = 220 Ом, C2 = 150 пФ

Мультивибратор (прямоугольный сигнал)

На основе компаратора или операционного усилителя можно построить генератор сигналов прямоугольной формы — мультивибратор. Как и в предыдущем приеме #7, в основе схемы лежат две обратные связи: цепочка гистерезиса на резисторах R1, R2 и R3 и времязадающая цепь RТCТ (рисунок 9).

Для начала необходимо рассчитать цепочку гистерезиса (см. прием #3), учитывая, что компаратор устойчиво работает при равномерно распределенных напряжениях переключения относительно рабочей точки VDD/2, т.е. VTH = 1,66 В и VTL = 3,33 В. Далее, по формуле 9 необходимо рассчитать значения RT и CT.

Пример:
VDD = 5 В, VTH = 3.33 В, VTL = 1.66 В
R1 = R2 = R3 = 10 кОм
FOSC = 480 Гц => RT = 15 кОм, CT = 0,1 мкФ



Мультивибратор (пила)

Для получения на выходе мультивибратора сигналов пилообразного напряжения требуется небольшая доработка схемы из приема #8 (рисунок 10).

В начале цикла времязадающий конденсатор СТ разряжен через диод. На выходе компаратора появляется высокий уровень, благодаря которому начинается зарядка конденсатора СТ через резистор RT. Когда уровень напряжения поднимается выше напряжения гистерезиса, происходит переключение компаратора. В этот момент происходит быстрая разрядка конденсатора через диод и цикл повторяется.

Напряжение на конденсаторе нарастает по обратно экспоненциальному закону; в начальный момент времени отрезок экспоненты можно считать линейным, что и используется для генерирования пилообразного напряжения. Выходом схемы является напряжение на конденсаторе.

При расчете важно учитывать то, что напряжение на выходе будет задаваться пределами петли гистерезиса. Кроме того, напряжения гистерезиса должны быть равномерно разделены в рабочей области напряжений компаратора. Далее, по формуле 10 рассчитываются значения RT и CT.

Пример:
VDD = 5 В, VTL = 1,66 В и VTH = 3,33 В
R1 = R2 = R3 = 10 кОм
FOSC = 906 Гц => RT = 15 кОм, CT = 0,1 мкФ

Для повышения линейности пилообразного напряжения необходимо заменить времязадающий резистор RT на токоограничительный диод (рисунок 11). Тогда параметры схемы рассчитываются по формуле 11.

Удвоитель напряжения

Используя мультивибратор из приема #8, можно построить удвоитель напряжения на конденсаторах (рисунок 12).

В начале цикла, когда на выходе компаратора низкий уровень, происходит заряд конденсатора С1 через диод D1. Когда мультивибратор переключается, на выходе появляется высокий уровень, диод D1 закрывается и заряд конденсатора останавливается. Напряжение на конденсаторе С1 складывается с напряжением на выходе компаратора и оказывается равным примерно двум напряжениям питания. Этим удвоенным напряжением заряжается конденсатор С2 через диод D2, который в данный момент открывается. Далее напряжение на выходе мультивибратора становиться низкого уровня, диод D2 закрывается и на С2 остается накопленный заряд удвоенного напряжения. В этот момент открывается D1 и цикл зарядка/разрядка повторяется.

Напряжение на выходе схемы нестабильно относительно нагрузки, поэтому такие схемы чаще всего используют как источники напряжения с конечным внутренним сопротивлением. Эквивалентная схема представлена на рисунке 13.

Для правильного расчета схемы необходимо знать максимальный выходной ток, который не может быть больше половины максимального выходного тока компаратора. На основе выходного тока нужно определить выходное сопротивление. Далее, по формуле 12 рассчитываются значение конденсатора и частота мультивибратора. Сам мультивибратор рассчитывается по формулам из приема #8.

Пример:
По приему #8 рассчитываем мультивибратор на частоту FOSC = 4,8 кГц
C1 = C2 = 10 мкФ
ROUT = 21 Ом

Генератор ШИМ

Для генерирования ШИМ сигнала, управляемого уровнем напряжения, можно использовать мультивибратор с пилообразным выходом (прием #9).

Далее, с помощью второго компаратора, входное задающее напряжение сравнивается с пилообразным напряжением мультивибратора. На выходе компаратора получается ШИМ сигнал, скважность которого пропорциональна входному напряжению (рисунок 14).

Операционный усилитель на основе компаратора

При обработке сигналов с датчика требуется усиление для полного использования всего диапазона преобразования АЦП. Обычно для этого используют операционные усилители, но в приложениях, где важна цена или размер платы добавление внешних элементов не всегда оправдано.

Как раз для такого типа приложений используется следующий прием: для медленных сигналов встроенный компаратор можно заставить работать в режиме усиления. Причем, есть возможность построения как неинвертирующего, так и инвертирующего усилителя (рисунок 15 и рисунок 16).

Резисторы R1 и R2 рассчитываются по формуле 13, исходя из нужного коэффициента усиления. Далее рассчитывается ФНЧ на R3 и С2 (формула 14).

Частота среза этого фильтра должна быть в 2-3 раза выше, нежели максимальная частота полезного сигнала. Резистор R3 должен иметь невысокое сопротивление, т.к. от него зависит выходное сопротивление. Частота среза входного фильтра на конденсаторе С1 должна быть такая же, как у выходного. Значение С1 рассчитывается по формуле 15.

Для расчета инвертирующего усилителя используется формула 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 пФ

Преобразователь логических уровней

Иногда, в системе требуется преобразовать уровень логического сигнала. Эта функция может быть реализована с помощью компаратора (рисунок 20).

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

Пример:
VIN = 0..2 В, VIN/2 = 1 В, VDD = 5 В
R2 = 10 кОм, R3 = 3,9 кОм

Логические функции

Во встраиваемых системах часто возникает необходимость реализации той или иной логической функции. Для этого приходиться ставить дополнительную микросхему, что не всегда удобно. В этом примере показано, как можно реализовать основные логические функции на основе встроенного в микроконтроллер компаратора.

Необходимо учесть следующее:
Для корректной работы схемы на входах должны быть следующие уровни: «0» – GND, «1» – VDD; Сопротивление R2 = 2*R1, при этом общее сопротивление должно быть достаточно большим, чтобы минимизировать потребление схемы. R3 = R4; Входные резисторы и входная емкость компаратора образуют интегрирующую цепочку, что влияет на быстродействие схемы; Сам компаратор имеет задержку порядка 300 нс, что также необходимо учитывать при проектировании.

Важно:
R1 = R2 = R3;
Ток через резистор R4 должен соответствовать прямому току через диоды.

RS-триггер

На основе компаратора можно построить RS-триггер (рисунок 28). На входах компаратора с помощью резистивных делителей R1..R4 заданы уровни напряжения VDD/2. На неинвертирующий вход подается сигнал положительной обратной связи с выхода компаратора. Для переключения полученного триггера в нулевое состояние необходимо подать низкий уровень на вход R, для переключение в единичное состояние — на вход S. Диоды на входах не позволяют подать одновременно два высоких уровня.

Задержка переключения триггера составляет порядка 300 нс, что определяется внутренней задержкой компаратора.

Резисторы R1..R5 должны иметь одинаковый номинал, при этом суммарное сопротивление резисторов R1, R2 и R3, R4 должно быть достаточно большим для уменьшения потребления схемы.

Источник — http://microchip.com.ru/Support/TipsComp.html

Модуль датчик света на LM393 от 29 грн

Модуль датчик света на LM393

Код товара: 103099

Производитель:
Описание: Датчик обнаружения света на фоторезисторе. Порог срабатывания компаратора регулируется переменным резистором. Выход компаратора более чем 15 мА, рабочее напряжение: от 3,3В до 5В, цифровой выход компаратора, компаратор: LM393
Тип: Датчик

В наличии/под заказ
27 шт - склад Киев
4 шт - РАДИОМАГ-Киев
7 шт - РАДИОМАГ-Львов
3 шт - РАДИОМАГ-Харьков
10 шт - РАДИОМАГ-Одесса
29 шт - РАДИОМАГ-Днепр
8 шт - ожидается


1+ 35 грн
10+ 29 грн
Производитель: Arduino
Конструкторы и наборы - Arduino
Описание: Датчик звука Arduino. Аналоговый выход напряжения с микрофона, цифровой выход порогового компаратора, компаратор: LM393, индикатор питания, индикатор состояния цифрового выхода, рабочее напряжение: 4-6В, крепежное отверстие 3мм, размеры модуля:32x17x8мм
Тип: Датчик 15 шт - склад Киев
6 шт - РАДИОМАГ-Киев
4 шт - РАДИОМАГ-Львов
6 шт - РАДИОМАГ-Харьков
9 шт - РАДИОМАГ-Одесса
13 шт - РАДИОМАГ-Днепр Производитель: Arduino
Конструкторы и наборы - Arduino
Описание: Цифровой датчик температуры и влажности. датчик содержит в себе АЦП для преобразования аналоговых значений влажности и температуры. Определение влажности: 20-90% RH ± 5%, определение температуры: 0-50 ºC, частота опроса: не более 1 Гц. Назначение выводов: 1. VCC (3-5VDC) 2. Data Out – Вывод данных 3. NC – не используется 4. GND. Габариты: 15,5x12x5,5 мм
Тип: Датчик 16 шт - склад Киев
5 шт - РАДИОМАГ-Киев
5 шт - РАДИОМАГ-Львов
5 шт - РАДИОМАГ-Харьков
4 шт - РАДИОМАГ-Днепр
10 шт - ожидается Производитель: Arduino
Конструкторы и наборы - Arduino
Описание: Цифровой датчик касания TTP223B. Используется для коммутации электрических цепей (включатель/выключатель), является отличной заменой традиционным механическим кнопкам. Питание:2...5,5V, габариты:24x24x7,2мм
Тип: Датчик 2 шт - склад Киев
13 шт - РАДИОМАГ-Киев
6 шт - РАДИОМАГ-Львов
3 шт - РАДИОМАГ-Харьков
6 шт - РАДИОМАГ-Одесса
17 шт - РАДИОМАГ-Днепр Производитель: Arduino
Конструкторы и наборы - Arduino
Описание: Лазерный модуль передатчика для Arduino, питание: 5 В, ток: 30 мА, длина волны: 650nm
Тип: Шилд коммуникации 23 шт - склад Киев
8 шт - РАДИОМАГ-Киев
5 шт - РАДИОМАГ-Львов
10 шт - РАДИОМАГ-Харьков
29 шт - РАДИОМАГ-Днепр
5 шт - ожидаетсяМодуль аналогового компаратора

в ATmega328P - переход на C

Предварительные требования:

Это продолжение следующих руководств:

ATmega328P и его архитектура

Доступ к вводу / выводу в ATmega328P с использованием сборки

Блок-схема

аналогового компаратора

:

«Аналоговый компаратор сравнивает входные значения на положительном выводе AIN0 и отрицательном выводе AIN1. Когда напряжение на положительном выводе AIN0 выше, чем напряжение на отрицательном выводе AIN1, устанавливается выход аналогового компаратора, ACO.

Выход компаратора может быть настроен на запуск функции захвата входа таймера / счетчика 1. Кроме того, компаратор может запускать отдельное прерывание, исключительное для аналогового компаратора. Пользователь может выбрать запуск прерывания при повышении, падении или переключении выхода компаратора. " - Manual

Контакты AIN0 и AIN1 модуля аналогового компаратора внешне подключены к контактам IO PD6 и PD7.

Даже несмотря на то, что AIN0 фиксируется как один из входов, AIN1 можно изменять с помощью выхода ADMUX, как показано в таблице ниже.

Регистр:

ACD - отключение аналогового компаратора: когда этот бит устанавливается путем записи 1, аналоговый компаратор выключается.

ACBG - Выбор ширины запрещенной зоны аналогового компаратора: Когда этот бит установлен, опорное напряжение фиксированной ширины запрещенной зоны заменяет положительный вход аналогового компаратора. Когда этот бит очищается, AIN0 применяется к положительному входу аналогового компаратора.

ACO - Выход аналогового компаратора: Выход аналогового компаратора синхронизируется и затем напрямую подключается к ACO.Синхронизация вносит задержку в 1-2 такта.

ACI - Флаг прерывания аналогового компаратора: Этот бит устанавливается аппаратно, когда выходное событие компаратора запускает режим прерывания, определенный ACIS1 и ACIS0. Процедура прерывания аналогового компаратора выполняется, если установлен бит ACIE и установлен бит I в SREG. ACI сбрасывается аппаратно при выполнении соответствующего вектора обработки прерывания. В качестве альтернативы ACI очищается записью логической единицы во флаг.

ACIE - Разрешение прерывания аналогового компаратора: когда бит ACIE записан в логическую единицу и установлен бит I в регистре состояния, активируется прерывание аналогового компаратора. Когда записан логический ноль, прерывание отключено.

ACIC - Разрешение захвата входа аналогового компаратора: если записана логическая единица, этот бит позволяет запускать функцию захвата входа в таймере / счетчике 1 аналоговым компаратором.

ACME - Включение мультиплексора аналогового компаратора:

Когда в этот бит записана логическая единица и АЦП выключен (ADEN в ADCSRA равен нулю), мультиплексор АЦП выбирает отрицательный вход аналогового компаратора.Когда в этот бит записывается логический ноль, AIN1 подается на отрицательный вход аналогового компаратора.

Demo:

В этой простой демонстрации два переменных резистора подключены к контактам AIN0 и AIN1 модуля аналогового компаратора, и когда напряжение на AIN0 больше, чем AIN1, светодиод, подключенный к PB0, включается, а светодиод подключен к PB1 выключен, когда напряжение на AIN1 больше, чем AIN0, светодиод, подключенный к PB0, выключен, а светодиод, подключенный к PB1, включен.

Потенциометр?

Потенциометр используется для подачи аналогового входа в качестве напряжения, поскольку сопротивление потенциометра можно изменять, регулируя скользящий контакт (используя простой принцип сопротивления, R прямо пропорционально длине проводника).

Определение значений регистров

Таким же образом ADCSRB также имеет значение 0x00, однако нет необходимости устанавливать его, поскольку значение по умолчанию для регистров обычно равно 0x00.

Для проверки выхода аналогового компаратора можно прочитать бит ACO, то есть бит 5 ACSR.

Для PORTB запись 0x02 устанавливает бит 1 в PORTB, а запись 0x01 устанавливает бит 0 в PORTB и очищает все остальные биты в обоих случаях.

Переход на C:

Кодирование на языке ассемблера может быть утомительным процессом, поэтому рекомендуется использовать язык C для кодирования с использованием простых методов обработки битов.

Вот сравнение сборки и C:

Вывод:

Аналоговый компаратор - Tom Almy's Blog

Аналоговый компаратор был проигнорирован в программном обеспечении библиотеки Arduino. Я обсуждал это в своей книге Far Inside The Arduino для частей ATmega328P, таких как Uno и Nano. Аналоговый компаратор в Arduino Nano Every ATmega4809 более универсален и имеет больше функций. Теперь есть внутренний ЦАП, который можно подключить к одному из входов компаратора, что позволяет сравнивать одиночное входное напряжение с регулируемым значением.Рассмотрим цифру из новой книги:

Желтая кривая представляет собой трапециевидную форму волны, генерируемую разверткой выходного сигнала ШИМ, проходящего через фильтр нижних частот. На той же плате Arduino компаратор используется для сравнения формы сигнала с фиксированными 2,5 вольтами от ЦАП. Выход компаратора показан фиолетовой кривой. Выход компаратора идет на вывод, который не выводится на плате Arduino Nano Every, однако система событий использовалась для направления вывода компаратора на существующий вывод на плате.Прерывания аналогового компаратора могут быть вызваны повышением, падением или обоими фронтами. В этом случае используются оба фронта, а другой вывод GPIO переключается при каждом прерывании. Это синий след.

Этот аналоговый преобразователь имеет регулируемый гистерезис. Поскольку трапеция зашумлена, если гистерезис выключен, выход будет слишком шумным, чтобы получить эти чистые формы волны, когда мы захватываем оба фронта. Этот пример был бы невозможен на микроконтроллере ATmega328P.

Для инициализации компаратора, опорного напряжения и системы событий использовался следующий код:

 EVSYS.КАНАЛ0 = EVSYS_GENERATOR_AC0_OUT_gc; // Подключаем переменный ток к выводу 5
EVSYS.USEREVOUTB = EVSYS_CHANNEL_CHANNEL0_gc;
VREF.CTRLA = VREF_AC0REFSEL_AVDD_gc; // Устанавливаем опорное напряжение для ЦАП переменного тока на VDD (5 вольт)
AC0_MUXCTRLA = 3; // A1 положительный, DAC отрицательный
AC0_DACREF = 128; // Средняя шкала, 2,5 вольта
AC0_CTRLA = 7; // Включение переменного тока с гистерезисом 50 мВ, прерывание по обоим фронтам
AC0_INTCTRL = 1; // Разрешить прерывание переменного тока 

Аналоговый компаратор: Arduino / ATmega328p

Примечание

Эта статья является частью Руководства по программированию встроенного микропрограммного обеспечения C Arduino / ATmega328p .Попробуйте изучить домашнюю страницу курса, чтобы найти статьи на похожие темы.

Учебное пособие по Arduino Уровень встроенного регистра C Мастер-класс Arduino

Также посетите страницу выпуска для Встроенная библиотека аппаратных абстракций C на уровне регистров и код для AVR .

Введение

В этой статье мы обсуждаем аппаратную функцию аналогового компаратора ATmega328P.

Распиновка корпуса Atmega328p DIP Dual Inline

Что вы узнаете

  • Как работает внутренний аналоговый компаратор в Arduino?
  • Какие регистры управляют аналоговым компаратором AVR ATmega328p?
  • Как аналоговый компаратор включен в ATmega328p?

Аналоговый компаратор

Аналоговый компаратор сравнивает входные значения на положительном выводе AIN0 и отрицательном выводе AIN1.Когда напряжение на положительном выводе AIN0 выше, чем напряжение на отрицательном выводе AIN1, устанавливается выход аналогового компаратора, ACO. Выход компаратора может быть настроен на запуск функции захвата входа таймера / счетчика 1. Кроме того, компаратор может запускать отдельное прерывание, исключительное для аналогового компаратора. Пользователь может выбрать запуск по прерыванию при повышении, падении или переключении выхода компаратора.

Блок-схема аналогового компаратора ATmega328P

Бит АЦП снижения мощности, PRADC должен быть отключен путем записи логического нуля, чтобы можно было использовать входной мультиплексор АЦП.

Аналоговый компаратор, мультиплексированный вход

Можно выбрать любой из выводов ADC7… 0 для замены отрицательного входа аналогового компаратора. Для выбора этого входа используется мультиплексор АЦП, и, следовательно, АЦП должен быть выключен, чтобы использовать эту функцию. Если бит включения мультиплексора аналогового компаратора (ACME в ADCSRB) установлен и АЦП выключен (ADEN в ADCSRA равен нулю), MUX2… 0 в ADMUX выберите входной вывод для замены отрицательного входа аналогового компаратора.Если ACME сброшен или установлен ADEN, AIN1 применяется к отрицательному входу аналогового компаратора.

4 014 9014 9014 906 4 9014 9014 901
ACME ADEN MUX2… 0 Отрицательный вход аналогового компаратора
0 x xxx AIN1 9014 9014 9014 9014 9014 9014 9014
1 0 000 ADC0
1 0 001 ADC1
1
1
011 ADC3
1 0 100 ADC4
1 0 101 ADC5 9014 9014 9014 9014 9014 9014 9014 9014 9014 9014 9014 1 0 111 ADC7

Описание регистра

ADCSRB - Регистр управления и состояния АЦП B
Бит 7 6 5 4 3 2 1 0
Чтение / запись R 9014 W6 9014 R R / W R / W R / W
Начальное значение 0 0 0 0 0 0 0 0 0 0
(0x7B) - ACME - - - ADTS2 ADTS1 ADTS0
  • Бит 6 - ACME: включение мультиплексора аналогового компаратора
    Когда в этот бит записана логическая единица и АЦП выключен (ADEN в ADCSRA равен нулю), мультиплексор АЦП выбирает отрицательный вход аналогового компаратора.Когда в этот бит записывается логический ноль, AIN1 подается на отрицательный вход аналогового компаратора.
ACSR - Регистр управления и состояния аналогового компаратора
R W
  • Бит 7 - ACD: отключение аналогового компаратора
    Когда в этот бит записана логическая единица, питание аналогового компаратора отключается.
  • Бит 6 - ACBG: Выбор ширины запрещенной зоны аналогового компаратора
    Когда этот бит установлен, опорное напряжение фиксированной ширины запрещенной зоны заменяет положительный вход аналогового компаратора. Когда этот бит очищается, AIN0 применяется к положительному входу аналогового компаратора.
  • Бит 5 - ACO: Выход аналогового компаратора
    Выход аналогового компаратора синхронизируется и затем напрямую подключается к ACO.
  • Бит 4 - ACI: флаг прерывания аналогового компаратора
    Этот бит устанавливается аппаратно, когда выходное событие компаратора запускает режим прерывания, определенный ACIS1 и ACIS0.
  • Бит 3 - ACIE: Разрешение прерывания аналогового компаратора
    Когда в бит ACIE записана логическая единица и установлен бит I в регистре состояния, активируется прерывание аналогового компаратора. Когда записан логический ноль, прерывание отключено.
  • Бит 2 - ACIC: Разрешение захвата входа аналогового компаратора
    Когда записана логическая единица, этот бит позволяет запускать функцию захвата входа в таймере / счетчике 1 аналоговым компаратором. Когда записан логический ноль, связь между аналоговым компаратором и функцией захвата входа отсутствует.
  • Биты 1, 0 - ACIS1, ACIS0: Выбор режима прерывания аналогового компаратора
    Эти биты определяют, какие события компаратора вызывают прерывание аналогового компаратора.
Бит 7 6 5 4 3 2 1 0
Чтение / запись R / W R / W R / W R / W R / W
Начальное значение 0 0 N / A 0 0 0 0
0x30 (0x50) ACD ACBG ACO ACI ACIE ACIC ACIS1 9024IS1 ACIS1 6
ACIS1 ACIS0 Режим прерывания
0 0 Прерывание компаратора при переключении выхода.
0 1 Зарезервировано
1 0 Прерывание компаратора при падающем фронте выходного сигнала.
1 1 Прерывание компаратора при нарастании выходного фронта.
DIDR1 - Регистр отключения цифрового входа 1
R 9014F ( 9014F 0
Бит 7 6 5 4 3 2 1 0
Чтение / запись R R R R / W R / W
Начальное значение 0 0 0 0 0 0 0 0 0 0 0 0 ) - - - - - - AIN1D AIN0D
  • Бит 7: 2 - Зарезервирован
    Эти биты являются неиспользуемыми битами и всегда читаются как ноль.
  • Бит 1, 0 - AIN1D, AIN0D: AIN1, AIN0 Отключение цифрового входа
    Когда в этот бит записана логическая единица, буфер цифрового входа на выводе AIN1 / 0 отключен.

Arduino с нуля Часть 5 - Выбор деталей компаратора

В части 4 мы описали способ, которым схема компаратора отключает напряжение 5 В USB при наличии напряжения на VIN. Этот пост был уже немного длинным, поэтому он будет посвящен выбору частей для построения этой подсистемы.

Создайте Arduino UNO R3 с нуля Содержание


Операционный усилитель компаратора

На официальной схеме показан номер детали, указанный для операционного усилителя компаратора как LMV358IDGKR. Еще не изучив его, я предполагаю, что это базовый двойной операционный усилитель (имеется в виду два операционных усилителя в одном корпусе), а фрагмент «IDGKR» в номере детали просто указывает на занимаемую площадь. Когда мы посмотрим на схему светодиода на контакте 13, мы увидим, как используется второй операционный усилитель в корпусе, поскольку только один необходим для работы в качестве компаратора.

Внесение этого номера детали в parts.io подтверждает мои подозрения, и хорошие новости заключаются в том, что это недорого, с низким уровнем риска, и их огромное количество имеется на складе дистрибьютора. Нам не придется искать подходящую замену.

Есть много спецификаций, связанных с усилителями, которые могут потерять вас в траве, но наше приложение очень простое: когда уровень VIN поднимается выше определенной точки, мы хотим направить выход прямо на шину VCC +. Если выход был подан обратно на один из входов, он не пошел бы до VCC +, но до некоторой промежуточной точки баланса, чтобы сделать оба входа равными, но в этом случае выход не взаимодействует с входами вообще, так что любая разница приведет к полному размаху выходного сигнала на одну или другую рейку.

VIN проходит через делитель напряжения 10K / 10K, а «определенная точка» - это опорное напряжение 3V3. Итак, как только VIN повысится до 3,3 В X 2, 6,60 В, уровень неинвертирующего входа заставит выход переключиться с GND на 5 В. Фиксированный LDO LD1117S50TR 5 В имеет падение напряжения около 1,1 В, поэтому вам понадобится минимум 6,1 В, чтобы заставить его что-либо делать. В конце концов, мы отключили источник USB на 5 В более чем на 500 мВ, прежде чем LDO может вступить в конфликт с ним.Поскольку никто реально никогда не будет подключать источник питания 6,60 В к VIN, вместо более реалистичных 7 В, 9 В или 12 В, это означает, что все спецификации хорошо сочетаются.

На вопрос «как быстро он будет реагировать» отвечает спецификация скорости нарастания напряжения. Скорость, с которой LMV358 может изменять свой выходной сигнал, указана в таблице как 1 В / мкс, так что около 5 мкс для перехода из одного состояния в другое.


Фиксированный стабилизатор LDO 3V3

Разработчики Arduino посчитали важным наличие на плате источника напряжения 3V3 и удобно используют его для обеспечения опорного напряжения компаратора, пока они находятся на нем.Я предполагаю, что они хотели, чтобы плата могла подавать напряжение на более широкий спектр компонентов, чем вы можете запитать с помощью всего лишь 5 В, и каждый день появляется намного больше компонентов 3 В 3.

Итак, мы должны сделать 3V3, а деталь, указанная на схеме, - это LP2985-33DBVR. Опять же, выглядит как деталь Texas Instruments, основанная на обозначении DBVR, а с цифрой 33 там определенно кажется фиксированным регулятором выходного напряжения 3V3. Конечно же, это фиксированный стабилизатор LDO TI 3,3 В с приятным низким уровнем 1.0 рисков. Падение напряжения составляет от 7 мВ при подаче выходного тока 1 мА до 280 мВ при нагрузке 150 мА.

Мы должны смотреть на ток покоя, количество тока, которое LP2985 потребляет, даже когда он ничего не делает. В таблице данных указано, что без нагрузки он потребляет 65 мкА, что совсем немного. Это говорит о том, что это не окажет большого влияния на все остальное, что мы можем подключить к 5V_LDO.


Фиксированные конденсаторы стабилизатора LDO 3V3

Это меня по-настоящему сбило с толку.В техническом описании LP2985 четко описаны входные и выходные конденсаторы, необходимые для стабильной работы, но на схеме показан только керамический конденсатор емкостью 1 мкФ на выходе и без входного конденсатора.

Поскольку напряжение, подаваемое на вход, гарантированно регулируется либо USB-хостом, либо Arduino 5V LDO, возможно, они решили, что им не нужно включать входной колпачок для дополнительной стабильности? В таблице данных очень четко указано, что входные и выходные конденсаторы необходимы для стабильной работы, и четко указаны допустимые значения емкости и ESR.

Без какого-либо разумного объяснения того, почему конденсаторы отсутствуют на схеме, я собираюсь следовать рекомендациям таблицы:

  • Входной конденсатор: минимум 1 мкФ (можно неограниченно увеличивать) без требований ESR.
  • Выходной конденсатор
  • : минимум 2,2 мкФ (можно неограниченно увеличивать) с ESR 0,01–0,8 Ом.

Поскольку компания Texas Instruments приложила огромные усилия для разработки регулятора напряжения с такими простыми характеристиками конденсаторов, а ESR не является фактором для входного конденсатора, выбор его становится относительно тривиальным.Я выберу C0805C105K8RACAUTO емкостью 1 мкФ от Kemet. Это не часть с наименьшим риском, но я знаком с Кеметом, и знакомство вызывает предвзятость выбора 🙂 Это всего лишь конденсатор на 10 В, но если он когда-либо увидит что-нибудь, кроме 5 В, на плате будет разрушено множество других вещей.

Что касается выходного колпачка, мы все еще можем оставаться керамическими, но нам нужно быть немного осторожнее с ESR. Вот в чем дело, я потратил два дня… ДВА ДНЯ… пытаясь понять, как эти вещи спроектировать, и заблудился в кроличьей норе, состоящей из столбов, дыр и частоты против.ESR в зависимости от тока нагрузки, и я решил отказаться от этого. Что мне нужно для дизайна на данный момент, так это НЕКОТОРЫЙ керамический конденсатор, желательно в корпусе 0805, от 2,2 мкФ до 3,3 мкФ. Существуют десятки тысяч таких вещей, и я найду подходящую. Только не сейчас, потому что мне нужно двигаться дальше, и я не хочу больше тратить время на сорняки. Итак, давайте просто вставим здесь булавку и отметим на схеме, что над ней нужно доработать.

ОБНОВЛЕНИЕ

Когда я собирал аннотированное изображение платы ниже, я увидел небольшой конденсатор слева от регулятора 3V3, и, посмотрев на него под увеличением, я подумал: «ну, ЭТО выглядит подозрительно, как будто он связан между дорожкой, идущей от операционный усилитель, LDO 3V3 и заземление.Бьюсь об заклад, это входной конденсатор! " После проверки проводимости с помощью моего мультиметра, конечно же, именно входной конденсатор не отображается на официальной схеме . Понятия не имею, какого это размера, какого сорта, чего угодно. Но, по крайней мере, он там есть, так что это немного решает эту загадку. Я все равно выберу ту, которую выбрал сам.


МОП-транзистор с P-каналом

Наш маленький силиконовый переключатель, который позволяет или предотвращает подключение USB_VCC к шине 5 В, указан на схеме как FDN340P, P-канальный MOSFET, потому что сопротивление истока-истока, R DS (on) , падает примерно до 80 мОм, когда напряжение затвора немного ниже, чем у источника.Просмотр таблицы данных для этой конкретной детали может сбивать с толку, потому что большинство значений напряжения указаны как отрицательные из-за P-канальной природы полевого МОП-транзистора. Нас интересует значение напряжения, которое должно присутствовать на затворе, чтобы управлять сопротивлением сток-исток в одном или другом направлении, пороговое напряжение затвор-исток, В GS (th) . В таблице это значение обозначено как -0,8 В. Когда ворота находятся на уровне USBVCC - 0,8 В или ниже, ворота широко открываются, и веселые маленькие электроны могут танцевать и делать свое дело.Выше USBVCC - 0,8 В сопротивление сток-исток повысится до уровня, который эффективно отключает USBVCC. Согласно спецификации USB, USBVCC будет находиться на некотором уровне от 4,75 В до 5,25 В, поэтому мы ожидаем, что точка баланса MOSFET будет между 3,95 В и 4,45 В. Он не должен колебаться, это просто уровень отклонения, допустимый для шины напряжения USB: у вас будет стабильное напряжение где-то между этими двумя.


Резисторы делителя напряжения

Это просто неинтересные резисторы на 10К.Ничего особенного, их нужно всего два. Arduino спроектирован для резистивных сетей, но я выберу отдельных людей.


Схема KiCad компаратора напряжения

Все вышеперечисленные решения по компонентам были включены в схему, в том числе оставлены пустые данные о производителе и номере детали для выходного конденсатора регулятора 3V3.

Вот спецификация для этой части схемы: Спецификация подсистемы компаратора напряжения Arduino UNO R3

В следующей части мы рассмотрим светодиод Pin 13, что не так просто, как вы думаете!

TLV3501 Интерфейсный модуль формирования высокоскоростного частотомера компаратора - Arduino Tech

Приложение продукта:

TLV3501 - одноканальный высокоскоростной двухтактный выходной компаратор с временем задержки 4.5 нс, напряжение питания: от +2,7 В до + 5,5 В и отличный диапазон входного синфазного сигнала за пределами качающегося входа, что делает его идеальным для приложений с низким напряжением. Выходы Rail-to-Rail могут напрямую управляться логикой CMOS или TTL. Модуль можно использовать для формирования широкого диапазона напряжений и периодических сигналов, а также он используется в качестве модуля предварительной обработки при измерении во временной области, например, частоты и разности фаз.

Приложение:

1. синусоида на Fang Bo
2.ноль над компаратором
3. Общий компаратор

Технические индикаторы:

1. Напряжение питания: 2,7-5 В постоянного тока
2. Входное напряжение: 10-1000 мВ (действительное значение)
3. Выходной уровень: выход от шины до шины, прямой driveTTL / CMOSlevel
4. Входная частота: DC – 200 МГц
5. Форма интерфейса: Заголовок SMA (внешнее отверстие для винта)
6. Входное сопротивление: 50 Ом
7. Корпус с экраном

Измеренная форма сигнала:

1, 1 МГц (вход синусоидального сигнала 1VPP, форма выходного сигнала после компаратора)

2, 10 МГц (вход синусоидального сигнала 1VPP, форма выходного сигнала после компаратора)

3, 50 МГц (вход синусоидального сигнала 1VPP, форма выходного сигнала после компаратора)

4, 100 МГц (вход синусоидального сигнала 1VPP, форма выходного сигнала после компаратора)

5, 150 МГц (вход синусоидального сигнала 1VPP, форма выходного сигнала после компаратора)

6, 200 МГц (вход синусоидального сигнала 1VPP, форма выходного сигнала после компаратора)


В пакет включено:

1 x TLV3501 высокоскоростной компаратор

Операционный усилитель

в качестве компаратора - Робо Индия || Учебники || Изучите Arduino |

Robo India в этом руководстве объясняет, как использовать операционный усилитель (операционный усилитель) в качестве компаратора.В этом руководстве используется микросхема LM358. Имеет 2 компаратора.
1. Введение: Операционный усилитель

(ОУ) может использоваться в качестве компаратора. В этом руководстве объясняется, как использовать операционный усилитель LM358 в качестве компаратора. LM358 имеет двойной компаратор. В этом уроке используется только один из них. Вы можете использовать и то, и другое в качестве упражнения.

Загрузите техническое описание LM358 здесь.

1.2 Перечень деталей

Следующие детали будут использоваться для выполнения этой схемы.

0 2 Схема

VCC и GND подаются на ИС через контакты № 8 и 4 соответственно. Кроме этих двух входов, входы были заданы на контакте 3 и контакте 4. Входное напряжение на контакте № 3 является фиксированным, и это будет половина напряжения батареи. На пине № Через 10K Pot подается 2 переменных входа. Эта ИС сравнит оба входа и выдаст цифровой выход на Pin1. Этот выход будет высоким до тех пор, пока напряжение на контакте 2 не станет меньше напряжения на контакте 3, и низким, наоборот.

Такое же расположение может быть выполнено на контактах 5, 6 и 7.Выход, снятый с контактов 1 и 7, может использоваться для запуска транзистора, полевого МОП-транзистора или в качестве входа для микроконтроллера.

Здесь на принципиальной схеме используется батарея 9В, можно использовать источник постоянного тока с помощью трансформатора. Щелкните изображение для увеличения.

3. Ресурсы:

Схема выпрямителя, если вы хотите использовать трансформатор вместо батареи.

Загрузите техническое описание LM358 здесь.

Купить этот комплект в магазине Robo India

Если у вас есть какие-либо вопросы, напишите нам по телефону support @ roboindia.ком

Благодарности и приветы
Команда разработки контента
Robo India
http://roboindia.com

Регистр Arduino (аналоговый компаратор) - Купил программист

Atmega328P имеет аналоговый компаратор.
Интернет-информации очень мало, официальный не может использовать библиотеку, но ее описание есть в руководстве по микросхеме, которое теперь суммируется.
Разобравшись с его использованием, вы можете написать библиотеку самостоятельно, просто объяснив метод использования аналогового компаратора через регистры.

  1. Компаратор вводит только один вывод AIN0, который является 6-м выводом; Конечно, можно использовать внутренний источник опорного напряжения.
  2. Отрицательный вход компаратора может иметь несколько контактов, AIN2 (контакт № 7), ADC0, ADC1, ADC2 ...


В этом регистре используется только 6-й бит компаратора.
Основанная точка зрения

  1. Когда ACME равен 0, AIN1 является отрицательным входом
  2. Когда ACME равен 1, а аден равен 0, вы можете выбрать связанный с АЦП вывод как отрицательный вход.


Этот регистр в основном управляется выборкой АЦП, где 7-й ADEN может использоваться для управления аналоговым компаратором.
Когда запись 1 включает АЦП, запись 0 закрывает АЦП.


Это в основном предназначено для управления выборкой АЦП, но когда ACME установлен, Аден равен 0, вывод АЦП может управляться как отрицательный вход компаратора.

Приведенное выше объяснение объясняет регистры, используемые на первом рисунке


  1. ACD: при записи 1 отключите питание компаратора; но если вы хотите изменить ACD, установите ACIE 0, иначе сработает прерывание от компаратора.
  2. ACBG: Входной компаратор управления; когда 1, используйте внутреннее опорное напряжение как положительный вход; когда 0, используйте AIN0 в качестве положительного входа аналогового компаратора
  3. ACO: Выход аналогового компаратора, будет задержка 1 ~ 2 такта
  4. ACI: Это не слишком много для понимания, что это такое? ·····
  5. ACIE: Разрешить прерывание от аналогового компаратора (установлен бит i в регистре состояния, о чем будет сказано позже)
  6. ACIC: Этот бит задействует таймер, будут такие функции, как захват ввода, он не используется, и он будет дополнен позже.
  7. ACIS1, ACIS0: установить режим прерывания аналогового компаратора
S. No. Артикул Количество
1. Основы платформы комплекта электроники (без трансформатора)
разъем
1
2. 9V с аккумулятором 1
3. Светодиодный индикатор
1
4. 1 K Сопротивление
1
5. Провода перемычки папа-папа

6

1 6 . Измеритель потенциала 10K
1
7. LM358 1
8. 4,7K Сопротивление 0 2
ACIS1 ACIS0 режим
0 0 Выходное прерывание компаратора времени срабатывания
0 1 Резерв
1 0 Прерывание по спаду выхода
1 1 Прерывание по нарастающему фронту выхода


Седьмое (i), разрешить глобальные прерывания.

Если установлен вышеуказанный регистр, по-прежнему невозможно использовать прерывание от компаратора, потому что требуется вывод инициализации.




Как я могу увидеть соответствующие контакты?
Здесь:
Portd6 соответствует ain0 (вывод 6)
Portd7 соответствует AIN1 (вывод 7)
Portc0 соответствует ADC0 (вывод A0)
Portc1 соответствует ADC1 (вывод A1)
·····

Считаны соответствующие регистры, следующий пример

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *