Đơn giản hóa nhiều bộ so sánh cửa sổ


10

Tôi có 8 nhiệt điện trở và tôi phải đảm bảo rằng mỗi cái đều nằm trong cửa sổ nhiệt độ. Tất cả chúng đều có cùng một cửa sổ và tôi không quan tâm cái nào hoặc bao nhiêu trong phạm vi hợp lệ, tôi chỉ cần biết liệu tất cả chúng có ở trong cửa sổ (giống nhau) hay không. Đây là một giải pháp chỉ dành cho phần cứng, do đó, trình tự phần mềm đọc ADC là không cần thiết.

Giải pháp tốt nhất của tôi hiện tại là sử dụng một loạt các IC so sánh và thực hiện một bộ so sánh cửa sổ riêng cho mỗi nhiệt điện trở. Để tối ưu hóa giải pháp, tôi có thể sử dụng một số bộ so sánh quad, mỗi bộ so sánh có đầu ra mở để tôi có thể kết nối tất cả chúng. Tuy nhiên, về bản chất nó là cùng một mạch. Các điện áp tham chiếu / kích hoạt tôi có thể thực hiện một lần, đệm, sau đó cung cấp cho tất cả các bộ so sánh.

Tôi cảm thấy ngu ngốc khi chỉ đơn giản là ném một loạt các so sánh vào vấn đề. Tôi không chắc có cách nào tốt hơn không, tôi chủ yếu cố gắng tối ưu hóa không gian bảng. Có một số cách sáng tạo mà bạn biết? Ví dụ: chọn điện áp cực tiểu / cực đại của tất cả các nhiệt điện trở và sử dụng một bộ so sánh cửa sổ duy nhất (EDIT: hai bộ so sánh ofc), mà IMHO sẽ dẫn đến một giải pháp lớn hơn và do đó không phải là một câu trả lời hay, tôi chỉ đề cập đến điều này để lấy cảm hứng.

EDIT: Tôi biết rằng một giải pháp dựa trên phần mềm sẽ là tốt nhất. Đó là lý do tại sao tôi đã đề cập đến nó ngay từ đầu và trả trước để ngăn chặn mọi người đề xuất nó. Lý do vấn đề được xác định theo cách này là vì đây là mạch an toàn và thông số kỹ thuật yêu cầu tôi thực hiện giải pháp chỉ dành cho phần cứng bên cạnh màn hình phần mềm. Vì vậy, giải pháp dựa trên phần mềm đã có sẵn, tôi "chỉ" cần tìm cách tốt nhất để thực hiện giải pháp dựa trên phần cứng.


1
Bạn có thể ghép các đầu vào vào một bộ so sánh cửa sổ. Nhưng sau đó, bạn cần một cái gì đó để sắp xếp các phép đo và kết hợp các kết quả. Hạn chế "không có phần mềm" là một nỗi đau vì bạn có thể thực hiện tất cả điều này với một vi điều khiển có ADC tích hợp, điều đó sẽ dẫn đến dấu chân nhỏ nhất như tôi có thể thấy. Là một người làm phần cứng, tôi rất tiếc phải thừa nhận điều đó nhưng một uC và một chương trình nhỏ rất khó bị đánh bại ở đây.
Bimpelrekkie

4
Nếu độ chính xác mà bạn muốn không quá 'chặt chẽ', bạn có thể sử dụng cổng HOẶC diode với điện trở kéo xuống cho cửa sổ cao được điều khiển bởi các nhiệt điện thông qua một diode từ mỗi diode. Điện áp sẽ là điện áp cao nhất ít hơn một giọt diode. Lặp lại cho cửa sổ thấp với điện trở kéo lên và điốt phân cực ngược. | Trong khi bạn nói rằng đây không phải là một giải pháp phần mềm - một Arduino chuyên dụng (hoặc chỉ là bộ xử lý lựa chọn chỉ thực hiện nhiệm vụ này) có thể gần như nhỏ gọn và chi phí thấp.
Russell McMahon

1
"trình tự phần mềm của ADC đọc là không cần thiết." Với điều đó bạn đã vứt bỏ giải pháp đơn giản và nhỏ hơn.
Oldfart

1
Tiêu chuẩn nào là yêu cầu hai hệ thống độc lập với một trong số chúng chỉ dành cho phần cứng? Tôi đã thấy thông số kỹ thuật cho các hệ thống được triển khai độc lập, nhưng sự dư thừa cung cấp độ tin cậy cần thiết. Ví dụ, bạn có thể triển khai hai hệ thống kiểm tra dựa trên vi mô cho không gian của một phần cứng.
Olin Lathrop

2
Là một phần mềm được coi là một phần mềm?
Eric Johnson

Câu trả lời:


11

Bộ so sánh một cửa sổ, bộ đếm 3 bit và mux tương tự 8: 1 để kết nối một nhiệt điện trở với bộ so sánh.

Nếu tất cả những gì bạn cần biết là tất cả đều ổn; Đó là 3 chip, công việc đã hoàn thành. (74HC163, 74HC4051, bộ so sánh, cộng với một cái gì đó giống như một chiếc đồng hồ 555 để xem nó).

Như Andy nói, MUX (ví dụ 74HC4051) có điện trở ON khá thấp, vì vậy mỗi nhiệt điện trở kết nối với một đầu vào tương tự và một điện trở đơn độc ở phía bên kia cung cấp một bộ chia điện áp. Nếu tất cả các nhiệt điện trở được kết nối với GND, điện trở sẽ đi đến 5V.

sơ đồ

mô phỏng mạch này - Sơ đồ được tạo bằng CircuitLab

Nếu bạn cần ghi / hiển thị MỌI cái nào không có thông số kỹ thuật, bạn bắt đầu thêm các mạch điện như bộ giải mã dòng 3-8 (thêm một IC, 74HC138) để lái tám đèn LED; các bên có tội sẽ thay phiên nhau chớp mắt.

Nếu bạn cần nhiều hơn thế, hãy tìm MCU và phần mềm.


Nguồn kích thích (điện trở) có thể ở phía "1" của MUX (MUX thấp) nhưng nếu không thì +1 để đánh bại tôi với nó.
Andy aka

@Andyaka Đó là lý do tại sao tôi không bận tâm với sơ đồ! Ngoài ra, tôi không thể tìm thấy 74 (HCT) 4051, 74x163, 74x138 trong trình chỉnh sửa sch trực tuyến ... Tôi sẽ điền vào chi tiết đó nhưng nếu bạn muốn điền thêm, nó sẽ có giá trị một hoặc hai phiếu.
Brian Drumond

Bạn đang ở trong một cuộn phim Brian vì vậy tôi sẽ để lại cho bạn.
Andy aka

1
Được rồi, ý tưởng thú vị. Có một vấn đề nhỏ ở đầu ra, ví dụ, nếu một nhiệt điện trở ngoài phạm vi, chẳng hạn, đầu ra theo nghĩa đen sẽ chỉ cho tôi biết như vậy trong 1/8 thời gian. Có lẽ không phải là một vấn đề lớn như tôi có thể cung cấp đầu ra của win.comp. đến một thanh ghi thay đổi với đầu ra cống mở. Tôi cần phải xem nó nhưng điều tương tự chọc vào bộ ghép kênh cũng có thể làm điều đó. Chắc chắn là một ý tưởng đáng để làm theo, hãy để tôi thử đưa ra một sơ đồ hoàn chỉnh hơn và tôi sẽ quay lại với bạn ở đây.
ultimA

Chà, nếu bạn đồng hồ ở tần số 4 Hz và hằng số thời gian của hệ thống nhiệt của bạn là> 2 giây thì (a) OK và (b) cho tốc độ chớp mắt khá nổi bật (tốc độ buzz, bất cứ điều gì). Bạn biết đặc điểm hệ thống, tôi chỉ có thể đoán.
Brian Drumond

13

Tôi nghĩ rằng câu trả lời không SW của Brian là tốt nhất nhưng đây là một giải pháp hoàn toàn tương tự. Sử dụng một mạch vốn đã chọn đầu vào điện áp cao nhất (từ một số) và đặt nó vào đầu ra. Ditto mạch cho điện áp thấp nhất.

Xem xét bộ chỉnh lưu chính xác: -

nhập mô tả hình ảnh ở đây

Nó tạo ra một điện áp đầu ra theo điện áp đầu vào trong toàn dải dương của nó. Bây giờ hãy xem xét những gì xảy ra khi bạn có hai đầu vào như thế này: -

nhập mô tả hình ảnh ở đây

Bất cứ ai trong số V1 và V2 là cao nhất sẽ giành chiến thắng trong cuộc chiến để điều khiển dòng đầu ra. Bước và lặp lại cho 8 đầu vào sau đó thực hiện tương tự với các điốt được kết nối ngược và bạn có một giải pháp tạo ra hai điện áp đầu ra đại diện cho các mức cao nhất và thấp nhất từ ​​một số nguồn điện áp khác nhau.

Tôi không 100% nhưng tôi nghĩ bạn có thể tái sử dụng op-amps cho điện áp thấp nhất. Có lẽ tôi sai về điều này?

Sau đó sử dụng các bộ so sánh trên cả hai dòng để xác định xem một trong tám dòng có thể nằm ngoài phạm vi không.


Chúng tôi đã có cùng một câu hỏi trước đây và tôi nghĩ giải pháp này là một viên ngọc ẩn.
Janka

@Janka có lẽ bạn có thể tìm thấy nó và liên kết nó? Tôi thích nhìn nó.
Andy aka

+1 tôi thích điều này Có thể 4 LM324 + một LM393 có dây hoặc bạn đã hoàn thành. Anh ta có thể lọc * & * $$ ra khỏi nó để ngăn chặn các kích hoạt sai.
Spehro Pefhany

Tôi đã có ấn tượng rằng nó đã không hơn một tháng trước và có từ độ lớn trong đó, nhưng tôi nghĩ rằng tôi đã sai: tôi không thể tìm thấy nó.
Janka

Chào! Cảm ơn về câu trả lời của bạn. Tôi nghĩ mặc dù điều này thực sự làm tăng chi phí ở mọi khía cạnh. Xây dựng 8 bộ so sánh cửa sổ như trong câu hỏi ban đầu đòi hỏi 16 bộ so sánh. Giải pháp đề xuất này cũng cần 16 chỉ để xây dựng min + max, sau đó thêm 4 để so sánh thực tế cộng với một loạt các điốt. Tất nhiên, sự khác biệt về số lượng IC thực tế là nhỏ hơn do các opamp quad, tuy nhiên nó không phải là một chiến thắng.
ultimA

3

Gợi ý cải thiện các giải pháp ghép kênh để sử dụng làm mạch an toàn: Có một trong các đầu vào của bộ ghép kênh đặt trước một đầu vào được biết bên ngoài cửa sổ an toàn (hoặc thậm chí hai đầu vào, một bên dưới một ở trên). Kiểm tra xem có phản hồi "cửa sổ bên ngoài" từ bộ so sánh không khi các đầu vào có liên quan được chọn trên bộ ghép kênh.

Ổ đĩa tốt nhất cho bộ ghép kênh với bộ đếm (đồng bộ là tốt nhất) có độ phân giải cao hơn một chút so với mức bạn cần (và được xung nhịp nhanh gấp đôi): Bit bộ đếm ít quan trọng nhất tạo ra tín hiệu kích hoạt tuyệt vời để bạn có thể tải trạng thái của bộ so sánh vào một cạnh đã kích hoạt flipflop D sau khi nó có nhiều thời gian để giải quyết - và tín hiệu kích hoạt này cũng có thể được kiểm soát một cách an toàn bằng logic tùy thuộc vào trạng thái bộ đếm với các flipflop D khác nhau (ví dụ một cho mỗi thermistor, hoặc một cho nhiệt điện trở và một cho bản thân -test kênh tôi đề nghị ở trên).

Để an toàn hơn nữa, nhân đôi toàn bộ mạch. Mặc dù các nhiệt điện trở và các đầu vào liên quan về mặt lý thuyết vẫn chỉ là một điểm thất bại, nhưng thực tế bạn đang sử dụng một bộ so sánh cửa sổ sẽ ngăn không cho hoàn toàn ngắn hoặc mở trên một cặp nhiệt điện bị hiểu nhầm là sai OK (sai lệch tương ứng).


3

Đây là IC so sánh cửa sổ 6 x và đây là IC so sánh cửa sổ Quad .
Số 8, than ôi.

Bạn có thể đáp ứng nhu cầu với bộ so sánh cống mở 4 x ye olde LM339.
Chúng có thể có trong
1.7mm x 1.7mm (3 mm x 3 mm bao gồm cả miếng đệm) QFN
hoặc 6,4 x 5 mm TSSOP

Bảng dữ liệu ở đây

Bạn cũng cần điện áp tham chiếu cửa sổ trên và dưới (3 điện trở) và một pullup đầu ra duy nhất.


Xin chào. Có, tôi cũng đã đề cập trong câu hỏi ban đầu rằng có thể sử dụng các mảng, điều này làm giảm đáng kể số lượng IC. Tôi đoán câu hỏi liên quan nhiều hơn đến việc có thể hạ thấp số lượng thành phần bằng cách sử dụng một kiến ​​trúc khác không chỉ sử dụng các thiết bị tích hợp cao hơn. Tôi đã chấp nhận câu trả lời của Brian, vì chỉ cần sử dụng 5-6 thành phần vật lý, bạn có thể xây dựng một mạch cho 16 hoặc thậm chí 32 nhiệt điện với giải pháp đó. Có thể không phải vì số lượng NTC thấp như <8, nhưng bất cứ điều gì hơn thế và giải pháp đó là một người chiến thắng rõ ràng. Tuy nhiên, cảm ơn bạn (cũng cho ý kiến ​​của bạn trước đó).
ultimA

2

Sao phức tạp thế?

U2 + sẽ là max (đầu vào) - Diode thả.

U1- sẽ là min (đầu vào) + thả diode.

R3,4,5 đặt ngưỡng. Nếu quá thấp trên bất kỳ đầu vào nào, U1- giảm xuống dưới ngưỡng trên U1 +, U1out tăng cao. Nếu quá cao trên bất kỳ đầu vào nào, U2 + tăng trên ngưỡng. U2out lên cao.

Không chắc chắn những gì bạn muốn thực sự làm khi một trong hai điều kiện xảy ra, nhưng điều khiển một bóng bán dẫn / FET / SCR xuất hiện trong tâm trí.



-2
Tôi chủ yếu đang cố gắng tối ưu hóa không gian bảng.
Tôi cảm thấy ngu ngốc khi chỉ đơn giản là ném một loạt các so sánh vào vấn đề.

Giải pháp rõ ràng là sử dụng một vi điều khiển có ít nhất 8 đầu vào A / D. Phần còn lại là phần sụn.

Ngay cả một micro chậm có thể theo kịp với 8 thermistors. Ví dụ, bạn có thể tạo một hệ thống phản hồi dưới một phần nghìn giây. Điều đó sẽ nhanh hơn rất nhiều so với thời gian đáp ứng của các thermistors để có hiệu quả tức thời.

Bạn nói rằng việc đọc A / D sắp xếp thứ tự là "ngoài câu hỏi", nhưng không đưa ra lời biện minh nào cho yêu cầu tùy tiện này. Một vi điều khiển nhỏ sẽ chiếm ít không gian bảng hơn một loạt các bộ so sánh. Vì tối ưu hóa không gian bảng chủ yếu là những gì bạn đang hướng tới, đây là điều bạn cần khám phá nghiêm túc.


6
Vâng, không có bạn sai. Không có tôn giáo liên quan, có những lúc chỉ đơn giản là một giải pháp dựa trên phần cứng là một yêu cầu, thời gian. Tôi không thấy lý do tại sao tôi cần phải chứng minh các yêu cầu của mình, bởi vì ngay cả khi bạn nghĩ rằng yêu cầu đó là vô nghĩa, câu trả lời đúng vẫn giữ giá trị giảng dạy cho mọi người. Nhưng tất nhiên, có một lý do cho nó, mà tôi đã cung cấp trong một chỉnh sửa ở cuối câu hỏi.
ultimA

6
Xây dựng trường hợp an toàn cho một hệ thống phần mềm (như câu hỏi được chỉnh sửa có thể cần thiết) có thể tốn kém hơn rất nhiều so với việc xây dựng một hệ thống phần cứng độc lập đơn giản.
Brian Drumond

3
Bất cứ điều gì bạn nói không làm thay đổi thực tế câu trả lời của bạn không chính xác, thô lỗ và không có ích
MCG

3
Chiming chỉ vì tôi có thể. Giải pháp "Sử dụng vi mô", mặc dù thích hợp trong nhiều trường hợp thực sự không liên quan ở đây. Đây là sau tất cả một diễn đàn điện tử và đăng câu trả lời về cách thực hiện nó theo cách tuyến tính là một câu trả lời mang tính hướng dẫn nhiều hơn. Nếu không vì lý do nào khác ngoài việc làm nổi bật thì sẽ rẻ hơn bao nhiêu và nhỏ hơn khi sử dụng micro.
Trevor_G
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.