Упрощение многих оконных компараторов


10

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

Мое лучшее решение в настоящее время состоит в том, чтобы использовать связку интегральных схем и реализовать отдельный оконный компаратор для каждого термистора. Чтобы оптимизировать решение, я могу использовать несколько квадрупольных компараторов, каждый из которых имеет выход с открытым стоком, чтобы я мог соединить их все вместе. Тем не менее, по сути, это та же схема. Опорные / триггерные напряжения я могу сделать один раз, буферизовать и затем подать на все компараторы.

Я чувствую себя глупо, просто бросая кучу компараторов в проблему. Я не уверен, что нет лучшего способа, я в основном пытаюсь оптимизировать пространство на доске. Есть ли какой-то творческий способ, которым ты знаешь? Например, выберите минимальное / максимальное напряжение всех термисторов и используйте один оконный компаратор (РЕДАКТИРОВАТЬ: два компаратора c), который, IMHO, приведет к большему решению и, таким образом, не является хорошим ответом, я просто упомянул об этом для вдохновения.

РЕДАКТИРОВАТЬ: Я знаю, что программное решение будет лучшим. Вот почему я упомянул об этом в самом начале и заранее, чтобы никто не предложил это. Причина, по которой проблема определяется таким образом, заключается в том, что это схема безопасности, а спецификации требуют от меня реализации аппаратного решения в дополнение к программному монитору. Таким образом, программное решение уже существует, мне просто нужно найти лучший способ реализовать аппаратное решение.


1
Вы можете мультиплексировать входы в один оконный компаратор. Но тогда вам нужно что-то, чтобы упорядочить измерения и объединить результаты. Ограничение «без программного обеспечения» - это боль, так как вы можете сделать все это с помощью одного микроконтроллера со встроенным АЦП, что приведет к наименьшей занимаемой площади, как я вижу. Поскольку я - специалист по аппаратному обеспечению, я сожалею, что признаю это, но ОК и небольшую программу здесь сложно превзойти.
Bimpelrekkie

4
Если требуемая точность не является слишком «жесткой», вы можете использовать диодный ИЛИ вентиль с понижающим резистором для высокой границы окна, управляемой термисторами через диод от каждого. Напряжение на резисторе будет наибольшим, за исключением падения диода. Повторите эти действия для низкого окна с подтягивающим резистором и диодами с обратной полярностью. | В то время как вы сказали, что это не должно быть программным решением - выделенный Arduino (или просто процессор, выполняющий исключительно эту задачу) может оказаться очень компактным и недорогим.
Рассел МакМахон

1
«Программная последовательность чтения АЦП исключена». С этим вы выбросили самое простое и меньшее решение.
Олдфарт

1
Какой стандарт требует, чтобы две независимые системы, одна из которых была аппаратной? Я видел спецификации для независимо внедряемых систем, но избыточность обеспечивает необходимую надежность. Например, вы можете реализовать две системы проверки на основе микроуровня для одного аппаратного пространства.
Олин Латроп

2
Считается ли ПЛИС программным обеспечением?
Эрик Джонсон

Ответы:


11

Один оконный компаратор, 3-битный счетчик и аналоговый мультиплексор 8: 1 для подключения одного термистора к компаратору.

Если вам нужно знать только то, что все в порядке; это 3 фишки, работа сделана. (74HC163, 74HC4051, компаратор, плюс что-то вроде 555 для синхронизации).

Как говорит Энди, MUX (например, 74HC4051) имеет довольно низкое сопротивление ON, поэтому каждый термистор подключается к одному аналоговому входу, а одиночный резистор на другой стороне обеспечивает делитель напряжения. Если все термисторы подключены к GND, резистор переходит на 5В.

схематический

смоделировать эту схему - схема, созданная с использованием CircuitLab

Если вам нужно записать / отобразить, какие из них не соответствуют спецификации, вы начнете добавлять схемы, такие как 3-8 линейный декодер (еще одна микросхема, 74HC138), для управления восемью светодиодами; виновные стороны по очереди мигают.

Если вам нужно больше, перейдите на MCU и программное обеспечение.


Источник возбуждения (резистор) может быть на стороне «1» MUX (низкочастотный MUX), но в противном случае +1 для того, чтобы побить меня.
Энди ака

@Andyaka Вот почему я не стал заниматься схемой! Кроме того, я не могу найти 74 (HCT) 4051, 74x163, 74x138 в онлайн-редакторе sch ... Я укажу эту деталь, но если вы захотите заполнить больше, это будет стоить одного или двух голосов.
Брайан Драммонд

Брайан, ты в порядке, поэтому я оставлю это с тобой.
Энди ака

1
Ладно, интересная идея. Есть небольшая проблема на выходе, в том, что если, например, один термистор находится вне диапазона, выход буквально скажет мне об этом только в 1/8-й раз. Вероятно, не такая уж большая проблема, поскольку я мог бы прокормить вывод win.comp. в регистр сдвига с выходами с открытым стоком. Мне нужно было бы синхронизировать его, но то же самое, что толкает мультиплексор, вероятно, может сделать это тоже. Определенно идея, которой стоит следовать, позвольте мне попытаться придумать более полную схему, и я вернусь к вам здесь.
ultimA

Хорошо, если вы синхронизируете его с частотой 4 Гц, а постоянная времени вашей тепловой системы> 2 секунды, это (a) нормально и (b) дает довольно заметную частоту мигания (частота гудения, что угодно). Вы знаете характеристики системы, я могу только догадываться.
Брайан Драммонд

13

Я думаю, что ответ Брайана, не относящийся к SW, является лучшим, но здесь есть чисто аналоговое решение. Используйте схему, которая по своей природе выбирает самый высокий вход напряжения (из нескольких) и подает его на выход. То же самое для цепи с самым низким напряжением.

Рассмотрим прецизионный выпрямитель: -

введите описание изображения здесь

Он производит выходное напряжение, которое следует за входным напряжением во всем его положительном диапазоне. Теперь рассмотрим, что происходит, когда у вас есть два входа, как это: -

введите описание изображения здесь

Какой из V1 и V2 наивысший, выиграет битву за выходную линию. Шаг и повторите для 8 входов, затем сделайте то же самое с обратными диодами, и у вас есть решение, которое генерирует два выходных напряжения, которые представляют самый высокий и самый низкий уровни от нескольких различных источников напряжения.

Я не на 100%, но я думаю, что вы можете использовать операционные усилители для самых низких напряжений. Может я в этом не прав?

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


У нас был примерно один и тот же вопрос некоторое время назад, и я думаю, что это решение - скрытое сокровище.
Янка

@ Янка, может быть, ты сможешь найти и связать это? Я хотел бы увидеть это.
Энди ака

+1 Мне это нравится. Может быть 4 LM324s + проводной или LM393, и все готово. Он может отфильтровать * & * $$ из него, чтобы предотвратить ложные срабатывания.
Спехро Пефхани

У меня было впечатление, что это было не более месяца назад, и в нем было слово « величина» , но я думаю, что я ошибался: я не могу его найти.
Янка

Здравствуй! Спасибо за ваш ответ. Я думаю, хотя это на самом деле увеличивает затраты в каждом аспекте. Наивное построение 8 оконных компараторов, как в первоначальном вопросе, требует 16 компараторов. Это предлагаемое решение также требует 16 только для построения мин + макс, а затем дополнительные 4 для фактического сравнения плюс массив диодов. Разница в количестве реальных микросхем меньше из-за четырех операционных усилителей, но, тем не менее, это не победа.
ultimA

3

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

Лучше всего управлять мультиплексором с (лучше всего синхронным) счетчиком, который имеет разрешение на один бит больше, чем вам нужно (и синхронизируется в два раза быстрее): младший бит счетчика дает отличный сигнал запуска, поэтому вы можете загрузить состояние компаратора в триггер D сработал с фронта после того, как у него было достаточно времени для установления - и этот сигнал триггера также может быть безопасно стробирован логикой в ​​зависимости от состояния счетчика для различных триггеров D (например, один для каждого термистора или один для термисторов и один для собственного -тесты, которые я предложил выше).

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


3

Вот ИС 6-оконного компаратора, а вот ИС оконного компаратора .
Нет 8-х, увы.

Вы можете удовлетворить эту потребность с помощью четырех четверных компараторов с открытым стоком LM339.
Они могут быть в
1.7мм х 1.7мм (3мм х 3мм, включая прокладки) QFN
или 6.4 х 5мм TSSOP

Лист данных здесь

Вам также понадобятся опорные напряжения верхнего и нижнего окон (3 резистора) и одно выходное подтягивание.


Привет. Да , я также упомянул в оригинальный вопрос , что можно использовать массивы, которые неоспоримо снижает количество IC. Я предполагаю, что вопрос был больше о том, возможно ли уменьшить количество компонентов, используя другую архитектуру, чем просто использование устройств с более высокой интеграцией. Я принял ответ Брайана, потому что, используя только 5-6 физических компонентов, вы можете построить схему для 16 или даже 32 термисторов с этим решением. Возможно, не для небольшого количества NTC, таких как <8, но что-то большее, чем это, и это решение - явный победитель. Тем не менее, спасибо (также за ваши комментарии ранее).
ultimA

2

Почему так сложно?

U2 + будет max (входы) - падение диода.

U1- будет минимум (входы) + падение диода.

R3,4,5 устанавливает пороги. Если на каком-либо входе слишком низкий уровень, U1- падает ниже порогового значения на U1 +, U1out становится высоким. Если слишком высокий на любом входе, U2 + поднимается выше порога. U2out идет высоко.

Не уверен, что вы на самом деле хотите делать, когда возникает какое- либо условие, но приводите транзистор / FET / SCR в голову.



-2
Я в основном пытаюсь оптимизировать пространство на доске.
Я чувствую себя глупо, просто бросая кучу компараторов в проблему.

Очевидное решение состоит в том, чтобы использовать микроконтроллер с как минимум 8 А / Ц входами. Остальное прошивка.

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

Вы говорите, что секвенирование A / D читает "вне вопроса", но не дало оправдания этому произвольному требованию. Маленький микроконтроллер займет меньше места на плате, чем группа компараторов. Поскольку оптимизация места на доске - это в основном то, к чему вы стремитесь, это то, что вам нужно серьезно изучить.


6
Да, нет, ты не прав. Религия не задействована, просто времена, когда аппаратное решение является требованием, точка. Я не понимаю, почему мне нужно оправдывать свои требования, потому что, даже если вы считаете, что требование является бессмысленным, правильный ответ имеет ценность обучения для всех. Но, конечно, есть причина для этого, которую я привел в редактировании в конце вопроса.
ultimA

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

3
Что бы вы ни говорили, это не меняет того факта, что ваш ответ неверен, груб и бесполезен
MCG

3
Звонит только потому, что я могу. Решение «Использовать микро», хотя и во многих случаях уместное, здесь не имеет значения. В конце концов, это электронный форум, и публикация ответов о том, как это сделать линейным способом, является более учебным ответом. Если не по какой-либо другой причине, кроме как подчеркнуть, насколько дешевле и меньше было бы использовать микро.
Trevor_G
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.