Пользовательский блок "железный" компаратор (AIN0:AIN1)
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Пользовательский блок "железный" компаратор (AIN0:AIN1)
В одном проекте мне оказалось нужным воспользоваться "железным" компаратором самой АТМеги. В Ардуине этот узел никак не используется, но выкладываю блок, может кому пригодится.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Dryundel
- Полковник
- Сообщения: 2434
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Благодарил (а): 3 раза
- Поблагодарили: 30 раз
Пользовательский блок "железный" компаратор (AIN0:AIN1)
Четыре года, 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, к примеру с аналогового датчика температуры, отслеживание пропадания питания и сохранения данных пока не "умер" контроллер, задействование дополнительных аналоговых входов для подобных операций и многое другое.
[spoiler=Обзорные видео о работе компаратора] https://www.youtube.com/watch?v=0vRF8Ce9umE https://www.youtube.com/watch?v=76vZglAhNY0[/spoiler]
[spoiler=Распиновка входов компаратора (по умолчанию)] [/spoiler]
Первое видео на английском, но весьма полезное и Яндекс браузер переводит озвучку достаточно качественно.
.
Ну и наконец... [spoiler=Схема для тестирования] [/spoiler]
.
Это стартовая, дефолтная версия блока железного компаратора
Описание:
Дефолтные входы D6 и D7
Принцип работы:
Если напряжение на входе D6 больше чем напряжение на входе D7
то на выходе Q устанавливается логическая единица.
В противном случае, если V(D6) < V(D7) то Q = 0.
Примечание: Входы D6 и D7 из списка доступных не исключаются. Будьте внимательны.
В дальнейшем постараюсь развить эту тему и сделать блок многофункциональным, задействовав функционал по максимуму.
.
Хотя с другой стороны, наверняка 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, к примеру с аналогового датчика температуры, отслеживание пропадания питания и сохранения данных пока не "умер" контроллер, задействование дополнительных аналоговых входов для подобных операций и многое другое.
[spoiler=Обзорные видео о работе компаратора] https://www.youtube.com/watch?v=0vRF8Ce9umE https://www.youtube.com/watch?v=76vZglAhNY0[/spoiler]
[spoiler=Распиновка входов компаратора (по умолчанию)] [/spoiler]
Первое видео на английском, но весьма полезное и Яндекс браузер переводит озвучку достаточно качественно.
.
Ну и наконец... [spoiler=Схема для тестирования] [/spoiler]
.
Это стартовая, дефолтная версия блока железного компаратора
Описание:
Дефолтные входы D6 и D7
Принцип работы:
Если напряжение на входе D6 больше чем напряжение на входе D7
то на выходе Q устанавливается логическая единица.
В противном случае, если V(D6) < V(D7) то Q = 0.
Примечание: Входы D6 и D7 из списка доступных не исключаются. Будьте внимательны.
В дальнейшем постараюсь развить эту тему и сделать блок многофункциональным, задействовав функционал по максимуму.
.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость