Страница 1 из 1

Пользовательский блок "железный" компаратор (AIN0:AIN1)

Добавлено: 23.02.2018{, 00:27}
ДедОк
В одном проекте мне оказалось нужным воспользоваться "железным" компаратором самой АТМеги. В Ардуине этот узел никак не используется, но выкладываю блок, может кому пригодится.

Пользовательский блок "железный" компаратор (AIN0:AIN1)

Добавлено: 29.07.2022{, 15:48}
Dryundel
Четыре года, 163 скачивания и ни одного лайка. Не вполне справедливо.
Хотя с другой стороны, наверняка 99% скачавших, посмотрели, не поняли что к чему и забыли, ибо автор даже об описании не позаботился. Поэтому не стал создавать новую тему, а сделал человекопонятный блок с описанием.
Вообще, "железный" компаратор, зарытый в дебрях AVR, весьма интересная штука.
Он очень быстрый и код для него практически не занимает память.

Итак что же такое Analog Comparator Control.

1. В ATmega328/168 (Arduino Nano, UNO, Pro Mini) есть встроенный компаратор.
2. Кроме аналоговых A0 - A7, есть еще два условно-аналоговых входа - это D6 и D7.
3. D6 и D7 по умолчанию являются входами этого аналогового (железного) компаратора.
4. Существует масса вариантов работы данного компаратора, как с аналоговыми входами A0 - A7 так и с GND, AREF, внутренним опорным напряжением.
5. По итогу, все очень просто. Измеряем два напряжения, сравниваем и если первое больше второго, то на выходе компаратора логическая единица. В противном случае - логический ноль.

Где это может пригодиться:
Реализация сигнала Alarm, к примеру с аналогового датчика температуры, отслеживание пропадания питания и сохранения данных пока не "умер" контроллер, задействование дополнительных аналоговых входов для подобных операций и многое другое.
Обзорные видео о работе компаратораПоказать
Распиновка входов компаратора (по умолчанию)Показать
1.jpg
Первое видео на английском, но весьма полезное и Яндекс браузер переводит озвучку достаточно качественно.
.
Ну и наконец...
2.jpg
2.jpg (3.26 КБ) 808 просмотров
Analog Comparator Control V0.1.flp
(297.05 КБ) 53 скачивания
Схема для тестированияПоказать
3.jpg
.
Это стартовая, дефолтная версия блока железного компаратора

Описание:
Дефолтные входы D6 и D7
Принцип работы:
Если напряжение на входе D6 больше чем напряжение на входе D7
то на выходе Q устанавливается логическая единица.
В противном случае, если V(D6) < V(D7) то Q = 0.
Примечание: Входы D6 и D7 из списка доступных не исключаются. Будьте внимательны.

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