Упростите себе жизнь с аналоговым детектором окна (двухпороговым компаратором «с окном»)

Добавлено 24 сентября 2018 в 11:16

Данная статья, входящая в сборник рецептов аналоговой схемотехники, представляет детектор окна (двухпороговый компаратор «с окном») – простую, но эффективную замену детектирования окна на базе аналого-цифрового преобразователя.

По моему опыту, детектирование окон является распространенным требованием во встраиваемых системах, в частности в сенсорных устройствах. Общая идея заключается в следующем: у вас есть аналоговый сигнал, который постоянно контролируется интерфейсом или схемой управления. Состояние этого сигнала оценивается в соответствии с диапазоном значений. В некоторых случаях сигнал считается нормальным, если он находится в указанном диапазоне. В других случаях сигнал является нормальным, если он находится вне этого диапазона. В любом случае этот диапазон значений называется окном, и эти два сценария могут быть описаны, соответственно, как «внутри окна» и «вне окна».

Пример системы детектирования окна, встроенной в модуль АЦП микроконтроллера (взято из технического описания)
Пример системы детектирования окна, встроенной в модуль АЦП микроконтроллера (взято из технического описания)

Примером системы «внутри окна» является измерение температуры. Люди, животные и даже оборудование обычно предпочитают температуры, которые не слишком высоки и не слишком низки. Таким образом, системы контроля температуры часто требуют какого-то действия, когда температура превышает максимальное значение или падает ниже минимального значения. Другими словами схема управления должна быть предупреждена, когда температура не находится внутри указанного окна. Другим примером является монитор напряжения источника питания, который предпринимает какое-то действие, когда питание выходит выше максимально допустимого напряжения или ниже минимально допустимого напряжения.

Реализация «вне окна» встречается реже, и у меня небольшие проблемы с хорошим примером. Упорядоченные системы (биологические системы, химические системы, механические системы и т.д.) обычно чувствительны к экстремальным явлениям, а не к параметрам, которые попадают в ограниченный диапазон. Один из вариантов – это распознавание, т.е. устранение нерелевантных данных, поскольку они не создаются чем-то, что интересно системе. Я думаю здесь о чем-то вроде весов, которые должны анализировать вес только определенных типов объектов. Если измеренный вес находится за пределами указанного окна, объект считается несущественным, и дальнейший анализ не выполняется. Другая идея – это система, которая должна ослаблять сигнал переменной частоты, если он приближается к определенной частоте. Возможно, эта частота присутствует в другом месте в системе и должна быть защищена от любых помех. Преобразователь частоты в напряжение в сочетании с детектором окна может использоваться для оповещения системы, когда частота сигнала не находится за пределами указанного диапазона.

Аналог против цифры

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

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

Схема

Вот базовая схема:

Базовая схема детектора окна (двухпорогового компаратора «с окном»)
Базовая схема детектора окна (двухпорогового компаратора «с окном»)

Эта схема не выиграет награду за сложность, но, как мы увидим позже, она не так проста, как вы думаете. Принцип действия следующий. Детектирование окна имеет верхний порог и нижний порог, как показано на схеме. Если входное напряжение больше верхнего порога, выход U1 подтягивается к положительному выводу источника питания. Если входное напряжение меньше нижнего порога, выход U2 подтягивается к положительному выводу источника питания. Если входное напряжение находится между двумя пороговыми значениями, выходы обоих операционных усилителей подтянуты к отрицательному выводу источника питания. Таким образом, мы имеем на выходе высокий логический уровень всякий раз, когда входное напряжение находится за пределами окна, и низкий логический уровень, когда оно находится внутри окна.

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

Вот реализация в LTspice:

Схема детектора окна (двухпорогового компаратора «с окном») в LTspice
Схема детектора окна (двухпорогового компаратора «с окном») в LTspice

Я использую операционные усилители «rail-to-rail» («от шины до шины»), но учитывая, что это схема компаратора, а не усилителя, вы можете использовать вместо ОУ компараторы.

Ниже показана форма выходного сигнала.

Форма выходного сигнала детектора окна
Форма выходного сигнала детектора окна

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

Подробности

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

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

Третья сложность несколько коварна. Диодная схема на выходе принципиально отличается от типового двухтактного выходного каскада CMOS. Последний управляет выходом с помощью полевых транзисторов, чтобы установить низкоимпедансное соединение с шиной питания или землей, тогда как первый полагается на ток, протекающий через диод с прямым смещением. Это приводит к неприятному поведению в двух ситуациях. Во-первых, схема работает неправильно, когда очень высокое сопротивление нагрузки приводит к очень низкому току диода. Если я изменю сопротивление нагрузки на 10 МОм, то результат будет следующим.

Форма выходного сигнала детектора окна при нагрузке 10 МОм
Форма выходного сигнала детектора окна при нагрузке 10 МОм

Во-вторых (и это связано с первым), когда на выходах операционных усилителей установлен низкий уровень, диод не обеспечивает низкоомное соединение с землей. Скорее, он становится разомкнутой цепью. Это означает, что выход висит в воздухе, а не подтянут к земле, и, следовательно, если дальнейшая схема не обеспечивает резистивный путь на землю, то на выходе требуется подтягивающий к земле резистор.

Заключение

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

Если вы хотите сэкономить несколько минут, скачав мою схему LTspice, то ссылка приведена ниже.


На сайте работает сервис комментирования DISQUS, который позволяет вам оставлять комментарии на множестве сайтов, имея лишь один аккаунт на Disqus.com.


Сообщить об ошибке