Спрощення багатьох компараторів вікон


10

У мене є 8 термісторів, і я повинен переконатися, що кожен з них знаходиться в температурному вікні. Усі вони мають одне вікно, і мені байдуже, яке або скільки знаходяться в допустимому діапазоні, мені просто потрібно знати, чи всі вони знаходяться всередині (одного) вікна чи ні. Це має бути лише апаратне рішення, тому послідовне програмне забезпечення зчитування АЦП не викликає сумніву.

Моє найкраще рішення на даний момент - використовувати купу ІС компараторів та впровадити окремий віконний компаратор для кожного термістора. Для оптимізації рішення я можу використовувати декілька квадратичних компараторів, кожен з яких має вихід з відкритим зливом, щоб я міг з'єднати їх усіх. Все-таки по суті це та сама схема. Опорний / тригерний напруги, які я можу зробити один раз, буфер, а потім подати на всі компаратори.

Я почуваюся дурним за те, що просто кидаю купу порівнянь на проблему. Я не впевнений, чи немає кращого способу, я в основному намагаюся оптимізувати простір на дошці. Чи знаєте якийсь творчий шлях? Наприклад, виберіть мінімальні / максимальні напруги всіх термісторів і використовуйте один віконний компаратор (EDIT: два компаратора ofc), який IMHO призведе до більш широкого рішення і, таким чином, не є гарною відповіддю, я лише згадую це для натхнення.

EDIT: Я знаю, що програмне рішення було б найкращим. Ось чому я згадав це прямо на початку та вперед, щоб не допустити всіх, хто їх пропонує. Причина, за якою проблема визначається таким чином, полягає в тому, що це схема безпеки, і специфікації вимагають від мене реалізувати лише апаратне рішення на додаток до монітора програмного забезпечення. Тому рішення на базі програмного забезпечення вже є, мені "просто" потрібно знайти найкращий спосіб реалізувати апаратне рішення.


1
Ви можете мультиплексувати входи в один віконний компаратор. Але тоді вам знадобиться щось для послідовного вимірювання та об'єднання результатів. Обмеження "без програмного забезпечення" - це біль, оскільки ви могли зробити все це за допомогою одного мікроконтролера із вбудованим АЦП, що призведе до найменшого сліду, як я можу бачити. Оскільки я апаратний хлопець, я шкодую, що визнаю це, але UC та невелику програму тут важко перемогти.
Bimpelrekkie

4
Якщо потрібна точність не надто «тісна», ви можете використати діодний АБО затвор з резистором, що знищується, для високого обмеженого вікна, керованого термістами через діод від кожного. Напруга резистора буде найвищою напругою за вирахуванням падіння діода. Повторіть для низького вікна з підтягуючим резистором та зворотними полярними діодами. | Поки ви говорили, що це не програмне рішення - спеціально призначений Arduino (або просто процесор, який вибирає виключно цю задачу) може бути близьким до настільки ж компактної та низької вартості.
Рассел Макмахон

1
"Програмування послідовності АЦП зчитування не виникає". З цим ви кинули найпростіший і менший варіант рішення.
Олдфарт

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

2
Чи FPGA вважається програмним забезпеченням?
Ерік Джонсон

Відповіді:


11

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

Якщо все, що вам потрібно знати, це те, що вони все добре; це 3 фішки, робота виконана. (74HC163, 74HC4051, компаратор плюс щось на зразок 555 для його годинника).

Як каже Енді, MUX (наприклад, 74HC4051) має досить низький опір включення, тому кожен термістор підключається до одного аналогового входу, а самотній резистор з іншого боку забезпечує дільник напруги. Якщо термістори всі підключені до 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 секунди, це (а) ОК та (б) дає досить помітну частоту моргання (швидкість гудіння, як би там не було). Ви знаєте характеристики системи, я можу лише здогадуватися.
Брайан Драммонд

13

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

Розглянемо точний випрямляч: -

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

Він виробляє вихідну напругу, яка слід за вхідною напругою протягом усього його позитивного діапазону. А тепер подумайте, що станеться, якщо у вас є два входи на зразок цього: -

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

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

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

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


У нас був такий самий питання ще деякий час тому, і я думаю, що це рішення є прихованою дорогоцінною коштовністю.
Янка

@Janka, може, ти можеш її знайти і пов’язати? Я хотів би це побачити.
Енді ака

+1 Мені це подобається. Можливо, 4 LM324s + провідний або LM393, і ви закінчили. Він може відфільтрувати * & * $$ з нього, щоб запобігти помилковим спрацьовуванню.
Spehro Pefhany

У мене склалося враження, що це було не більше місяця тому, і в ньому було слово величини , але я думаю, що я помилився: не можу його знайти.
Янка

Привіт! Спасибі за вашу відповідь. Я думаю, хоча це фактично збільшує витрати в кожному аспекті. Наївно для побудови 8 віконних компараторів, як в оригінальному питанні, потрібно 16 компараторів. У цьому пропонованому рішенні також потрібно 16 для побудови min + max, потім додаткові 4 для фактичного порівняння плюс масив діодів. Зрозуміло, різниця в кількості фактичних ІМ менша за рахунок чотирьохпамп, але, тим не менш, це не виграш.
ultimA

3

Пропозиції щодо вдосконалення мультиплексованих рішень для використання в якості схеми безпеки: Поставте один із входів мультиплексора заздалегідь на вхід, який відомий за межами безпечного вікна (або навіть два входи, один під одним вище). Перевірте, чи є відповідь "зовнішнього вікна" від компаратора, коли відповідні входи вибрані на мультиплексорі.

Найкраще керувати мультиплексором із (ліпший синхронний) лічильник, який має на один біт більше роздільну здатність, ніж вам потрібно (і спрацьовує вдвічі швидше): Найменш значущий біт лічильника робить чудовий тригерний сигнал, щоб ви могли завантажити стан компаратора в крайовий триггер D спрацьовує після того, як він мав достатньо часу для осідання - і цей сигнал тригера також може бути безпечно затворений логікою залежно від стану лічильника для різних D-тригерів (наприклад, один для кожного термістора, або один для термісторів і один для самостійної роботи -тест-канали, які я запропонував вище).

Щоб бути ще більш безпечним, дублюйте всю схему. Хоча термістори та пов'язані з ними входи теоретично все ще є єдиною точкою відмови, той факт, що ви використовуєте віконний компаратор, повинен запобігти неправильному читанню повного короткого або відкритого на термопарі помилкового помилки (відповідно зміщення).


3

Ось 6 x віконний компаратор IC і ось Quad віконний компаратор IC .
Ні 8, на жаль.

Ви могли б задовольнити потребу за допомогою 4-річних компакторів з відкритим зливом 4 x ye olde LM339.
Вони можуть бути в
1,7 мм х 1,7 мм (3 мм х 3 мм, включаючи прокладки) QFN,
або 6,4 х 5 мм ЦСОП

Таблиця тут

Вам також знадобляться опорні напруги верхнього та нижнього вікон (3 резистора) та один підключення виходу.


Привіт. Так, я також згадував у первісному запитанні, що можна використовувати масиви, що безперечно знижує кількість ІС. Напевно, питання стосувалося більше того, чи можна зменшити кількість компонентів, використовуючи іншу архітектуру, ніж просто використання пристроїв вищої інтеграції. Я прийняв відповідь Брайана, тому що, використовуючи лише 5-6 фізичних компонентів, ви можете побудувати схему для 16 або навіть 32 термісторів з цим рішенням. Можливо, не для низької кількості НТК, таких як <8, але що-небудь більше, ніж це, і це рішення явний переможець. Тим не менше, дякую (також за ваші коментарі раніше).
ultimA

2

Чому так складно?

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

U1- буде min (входи) + падіння діода.

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

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


1

Ви можете придбати ІС для порівняння вікон, щоб заощадити місце на дошці. Наприклад, TPS3700 , LTC1042 , LMV7231 (шестигранний) або MAX969 (квадратичний).


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

Очевидним рішенням є використання мікроконтролера з щонайменше 8 в / д входами. Решта - це прошивка.

Навіть повільний мікрофон може йти в ногу з 8 термісторами. Ви можете тривіально створити систему, яка відповідає, наприклад, за мілісекунду. Це повинно бути набагато швидше, ніж час реакції термісторів, щоб бути фактично миттєвим.

Ви говорите, що послідовність A / D читання "не викликає сумніву", але не дала жодних обґрунтувань цій довільній вимозі. Невеликий мікроконтролер займе менше місця на платі, ніж купа компараторів. Оскільки оптимізація простору на дошці - це саме те, що ви прагнете, це те, що вам потрібно серйозно вивчити.


6
Так, ні, ти не помилився. Ніякої релігії не стосується, є просто часи, коли рішення на основі апаратних засобів є вимогою, періодом. Я не бачу, чому мені потрібно виправдовувати свої вимоги, тому що навіть якщо ви вважаєте, що вимога є нісенітницею, правильна відповідь має викладацьке значення для всіх. Але, звичайно, в цьому є причина, яку я надав у редакції наприкінці питання.
ultimA

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

3
Що б ви не сказали, це не змінить факт вашої відповіді неправильним, грубим і недоброзичливим
MCG

3
Звучаю лише тому, що можу. Рішення "Використовувати мікро", хоча доречне в багатьох випадках справді не має значення. Це врешті-решт форум з електроніки і розміщення відповідей про те, як це зробити лінійним способом, є більш повчальною відповіддю. Якби не з якоїсь іншої причини, ніж для того, щоб виділити, наскільки дешевшим і меншим було б використовувати мікро.
Trevor_G
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.