Saya memiliki 8 termistor dan saya harus memastikan bahwa masing-masingnya ada di dalam jendela suhu. Mereka semua memiliki jendela yang sama dan saya tidak peduli yang mana atau berapa banyak yang berada dalam rentang yang valid, saya hanya perlu tahu apakah mereka semua berada di dalam jendela (sama) atau tidak. Ini menjadi solusi perangkat keras saja, sehingga sequencing perangkat lunak dari ADC tidak ada pertanyaan.
Solusi terbaik saya saat ini adalah menggunakan banyak IC komparator dan mengimplementasikan komparator jendela terpisah untuk setiap termistor. Untuk mengoptimalkan solusi, saya dapat menggunakan sejumlah komparator quad, masing-masing dengan keluaran terbuka sehingga saya dapat menghubungkan semuanya. Namun, pada dasarnya itu adalah sirkuit yang sama. Referensi / pemicu tegangan yang bisa saya buat sekali, buffer, lalu suplai ke semua komparator.
Saya merasa bodoh karena hanya melemparkan banyak pembanding pada masalah. Saya tidak yakin jika tidak ada cara yang lebih baik, saya kebanyakan mencoba untuk mengoptimalkan ruang papan. Adakah cara kreatif yang Anda ketahui? Misalnya, pilih tegangan min / maks dari semua termistor dan gunakan komparator jendela tunggal (EDIT: dua komparator ofc), yang IMHO akan mengarah ke solusi yang lebih besar dan karenanya bukan jawaban yang baik, saya hanya menyebutkan ini untuk inspirasi.
EDIT: Saya tahu bahwa solusi berbasis perangkat lunak akan menjadi yang terbaik. Itulah sebabnya saya sebutkan di awal dan di muka untuk mencegah semua orang menyarankannya. Alasan masalahnya didefinisikan dengan cara ini adalah karena ini adalah sirkuit keselamatan, dan spesifikasi mengharuskan saya untuk mengimplementasikan solusi perangkat keras saja selain monitor perangkat lunak. Jadi solusi berbasis perangkat lunak sudah ada di sana, saya "hanya" perlu menemukan cara terbaik untuk mengimplementasikan yang berbasis perangkat keras.
sumber
Jawaban:
Satu komparator jendela, penghitung 3 bit, dan mux analog 8: 1 untuk menghubungkan satu termistor ke komparator.
Jika yang perlu Anda ketahui adalah semuanya baik-baik saja; itu 3 chip, pekerjaan selesai. (74HC163, 74HC4051, pembanding, ditambah sesuatu seperti 555 untuk mencatatnya).
Seperti yang dikatakan Andy, MUX (misalnya 74HC4051) memiliki resistansi ON yang cukup rendah, sehingga setiap termistor terhubung ke satu input analog, dan satu-satunya resistor di sisi lain menyediakan pembagi tegangan. Jika termistor semuanya terhubung ke GND, resistor menuju ke 5V.
mensimulasikan rangkaian ini - Skema dibuat menggunakan CircuitLab
Jika Anda perlu merekam / menampilkan yang tidak sesuai spesifikasi, Anda mulai menambahkan sirkuit seperti decoder baris 3-8 (satu IC lagi, 74HC138) untuk menggerakkan delapan LED; pihak-pihak yang bersalah akan bergiliran.
Jika Anda membutuhkan lebih dari itu, gunakan MCU dan perangkat lunak.
sumber
Saya pikir jawaban non-SW Brian adalah yang terbaik tetapi inilah solusi yang murni analog. Gunakan sirkuit yang secara inheren memilih input tegangan tertinggi (dari beberapa) dan menempatkannya ke output. Lakukan rangkaian untuk tegangan terendah.
Pertimbangkan penyearah presisi: -
Ini menghasilkan tegangan output yang mengikuti tegangan input sepanjang rentang positifnya. Sekarang pertimbangkan apa yang terjadi ketika Anda memiliki dua input seperti ini: -
V1 dan V2 mana pun yang tertinggi akan memenangkan pertempuran untuk menggerakkan garis output. Langkah dan ulangi untuk 8 input kemudian lakukan hal yang sama dengan dioda terhubung terbalik dan Anda memiliki solusi yang menghasilkan dua tegangan output yang mewakili level tertinggi dan terendah dari beberapa sumber tegangan yang berbeda.
Saya tidak 100% tetapi saya pikir Anda dapat menggunakan kembali op-amp untuk tegangan terendah. Mungkin saya salah dalam hal ini?
Kemudian gunakan komparator pada kedua garis untuk menentukan apakah satu dari delapan mungkin di luar jangkauan.
sumber
Saran untuk meningkatkan solusi multiplexed untuk digunakan sebagai sirkuit keselamatan: Siapkan salah satu input multiplexer untuk input yang dikenal di luar jendela aman (atau bahkan dua input, satu di bawah satu di atas). Periksa apakah ada respons "jendela luar" dari komparator ketika input yang relevan dipilih pada multiplexer.
Terbaik menggerakkan multiplexer dengan penghitung (sinkron adalah yang terbaik) yang memiliki resolusi satu bit lebih banyak dari yang Anda butuhkan (dan clock dua kali lebih cepat): Bit penghitung paling tidak signifikan menghasilkan sinyal pemicu yang hebat sehingga Anda dapat memuat status komparator ke dalam sebuah flipflop D yang dipicu tepi setelah memiliki banyak waktu untuk menyelesaikan - dan sinyal pemicu ini juga dapat dengan aman dilindungi oleh logika tergantung pada keadaan lawan untuk flipflop D yang berbeda (misalnya satu untuk setiap termistor, atau satu untuk termistor, satu untuk termistor dan satu untuk diri sendiri -test saluran yang saya sarankan di atas).
Agar lebih aman, duplikat seluruh rangkaian. Sementara termistor dan input terkait secara teoritis masih merupakan satu titik kegagalan, fakta bahwa Anda menggunakan komparator jendela harus mencegah pendek atau terbuka pada termokopel agar tidak salah dibaca sebagai OK yang salah (bias sesuai dengan itu).
sumber
Berikut ini adalah IC komparator 6 x jendela dan di sini adalah IC komparator jendela Quad .
No 8, sayang.
Anda dapat memenuhi kebutuhan dengan komparator drain terbuka quad LM339 quad 4 x kamu.
Ini dapat dimiliki dalam
1,7mm x 1,7mm (3mm x 3mm termasuk bantalan) QFN,
atau 6,4 x 5mm TSSOP
Datasheet di sini
Anda juga perlu tegangan referensi jendela atas dan bawah (3 resistor) dan satu output pullup.
sumber
U2 + akan menjadi max (input) - drop dioda.
U1- akan berupa min (input) + drop dioda.
R3,4,5 menetapkan ambang batas. Jika terlalu rendah pada input apa pun, U1- turun di bawah ambang batas pada U1 +, U1out menjadi tinggi. Jika terlalu tinggi pada input apa pun, U2 + naik di atas ambang batas. U2out menjadi tinggi.
Tidak yakin apa yang ingin Anda lakukan ketika kedua kondisi tersebut terjadi, tetapi ingatkan drive transistor / FET / SCR.
sumber
Anda dapat membeli IC komparator jendela untuk menghemat ruang papan. Misalnya, TPS3700 , LTC1042 , LMV7231 (hex), atau MAX969 (quad).
sumber
Solusi yang jelas adalah menggunakan mikrokontroler dengan setidaknya 8 input A / D. Sisanya adalah firmware.
Bahkan mikro yang lambat dapat mengimbangi 8 thermistor. Anda dapat dengan mudah membuat sistem yang merespons dalam milidetik, misalnya. Itu harusnya jauh lebih cepat daripada waktu respons dari termistor agar efektif secara instan.
Anda mengatakan bahwa urutan membaca A / D adalah "keluar dari pertanyaan", tetapi tidak memberikan pembenaran untuk persyaratan sewenang-wenang ini. Sebuah mikrokontroler kecil akan memakan ruang papan lebih sedikit daripada sekelompok pembanding. Karena mengoptimalkan ruang papan sebagian besar adalah tujuan Anda, ini adalah sesuatu yang perlu Anda jelajahi dengan serius.
sumber