chuyển đổi gỡ lỗi - sẽ chuyển đổi vẫn bật


7

Tôi đang đau đầu tranh luận kinh điển với Arduino. Công tắc có nghĩa là bật và tắt đèn led. Vì vậy, nếu tôi sử dụng nút chuyển đổi (SPDT) thì nó vẫn bị trả lại chứ? Có lẽ nó sẽ không vì nó không phải là một nút ấn. Mất bao nhiêu tiền để sử dụng chuyển đổi? Chỉ là đó là một dự án tôi đã được yêu cầu thực hiện cho phòng thí nghiệm Chế tạo địa phương của mình.


1
Hầu hết các công tắc sẽ bật lên: xúc giác, chuyển đổi, quay, vv Làm quen với nó. Tôi tự hỏi nếu bàn phím cao su là tốt hơn về mặt này? Có lẽ ai đó có thể nhận xét về điều đó.
Armandas

1
Tôi không rõ về vấn đề ở đây - có một số lý do bạn không thể gỡ bỏ công tắc trong phần sụn?
Oli Glaser

1
Khi bạn nói bạn đang bị đau đầu, các triệu chứng chính xác là gì? Nếu nó chỉ điều khiển một đèn LED, bạn thực sự có thể nói rằng công tắc đang nảy không?
Rocketmagnet

Câu trả lời:


10

Hầu hết các công tắc hoặc nút bấm SPST sẽ bật lên, bởi vì chỉ có hai trạng thái: tiếp xúc đóng (ví dụ mức thấp) và tiếp điểm mở (mức cao thông qua điện trở kéo lên). Điều này có vẻ rõ ràng, nhưng chính sự do dự khi mở / đóng gây ra sự bật lên; chỉ một lần là đủ để làm cho một chuyển đổi không hoạt động.

Bạn có thể gỡ bỏ công tắc bằng một tụ điện, nhưng vì bạn đang sử dụng nó với một bộ vi điều khiển nên việc làm nó trong phần mềm sẽ rẻ hơn. Tôi thường có bộ hẹn giờ 32 ms (phần mềm) để quét bàn phím và chỉ chấp nhận thay đổi trạng thái nếu nó vẫn tồn tại trong hai lần quét liên tiếp. Điều đó có nghĩa là bạn sẽ có độ trễ tối đa 64 ms, nhưng vì nút sẽ được vận hành thủ công nên bạn sẽ không nhận thấy độ trễ ngắn như vậy.

Bạn đề cập đến nút SPDT và đó là giải pháp tốt nhất nếu bạn muốn làm điều đó trong phần cứng.

Nhưng thành thật mà nói, tôi thấy không có lý do gì để không làm điều đó trong phần mềm và bạn sẽ có nhiều sự lựa chọn hơn trong các nút SPST so với các nút SPDT.

Nếu bạn muốn một nút hầu như không bị trả lại thì tôi có thể khuyên bạn nên chuyển đổi chiến thuật Alps SKQG

mà với các thiết bị tôi đã thử nghiệm có độ nảy ban đầu dưới 10 ns.


Như một quy tắc tốt, trừ khi bạn kích hoạt ngắt, việc gỡ lỗi phần mềm vẫn ổn. Nếu bạn đang lái xe bị gián đoạn, đôi khi phần mềm gỡ lỗi là tốt, đôi khi không.
Scott Seidman

Ngoài ra, việc gỡ lỗi với một nắp đòi hỏi một số suy nghĩ nếu nó xảy ra trên một pin được sử dụng bởi cổng lập trình, như tôi đã tìm ra một cách khó khăn.
Scott Seidman

Điều tôi làm với các nút là cài đặt bộ hẹn giờ ngắt và tự động lặp lại mỗi x mS tùy theo nhu cầu của tôi. Khi nó ngắt, nó đặt một chút ở đâu đó. Bit này được kiểm tra trong vòng lặp chính. Nếu bit được đặt, điều đó có nghĩa là đã đủ thời gian trôi qua và vì vậy tôi biết đã đến lúc có trạng thái nút, xử lý chúng và xóa bit. Ưu điểm của phương pháp này là ISR chỉ thiết lập một chút. Đây là ngắt nhanh nhất bạn có thể thực hiện.
CopperMaze

10

Nhóm Ganssle đã viết một báo cáo rất toàn diện có tên là Hướng dẫn về Nợ . Trong đó, tác giả, Jack Ganssle, đã lấy 18 công tắc khác nhau và nhấn mỗi lần 300 lần. Ông đã ghi lại các kết quả bằng cách sử dụng phạm vi MSO để xem tín hiệu tương tự thực tế cũng như biểu diễn kỹ thuật số để mô phỏng những gì vi điều khiển sẽ thấy.

tương tự so với kỹ thuật số

Tất cả các công tắc được kiểm tra bị trả lại khác nhau. Một số loại tồi tệ hơn những loại khác. Một số không phải ở tất cả. Nhưng ngay cả các công tắc giống hệt nhau cùng loại bị trả về khác nhau.

Công tắc giống hệt nhau không đặc biệt giống nhau. Hai cặp phù hợp đã được thử nghiệm; mỗi người sinh đôi khác với anh trai của nó bởi một yếu tố hai.

Vì vậy, nếu bạn định sử dụng một công tắc, việc phải gỡ bỏ nó chỉ là một thực tế của cuộc sống.

Phần 2 của hướng dẫn đưa ra nhiều phương pháp để xử lý vấn đề tranh luận.

Các chốt Set-Reset (SR) được đề cập bởi stevenvh sẽ được thảo luận:

Người báo cáo SR

Cũng như phương pháp RC rẻ hơn:

Người báo cáo RC

Nhưng, như đã đề cập trong các bình luận và các câu trả lời khác, nếu bạn có một vi điều khiển, có lẽ bạn nên làm điều đó trong phần mềm. Hướng dẫn cũng thảo luận về các thuật toán khác nhau có thể được thực hiện.

Từ một ISR rất đơn giản:

ISR đơn giản

Đến phiên bản mở rộng để xử lý toàn bộ cổng chuyển đổi:

ISR nhiều công tắc

Cung cấp cho toàn bộ báo cáo đọc tốt. Làm thế nào để từ chối một công tắc là một kỹ năng rất đáng có và bạn sẽ sử dụng trong suốt sự nghiệp của mình.


haha tất cả đều tốt vì không phải là kỹ sư điện tử. Là một thợ điện thực tập sinh rất quan tâm đến điện tử vì anh ta không có cơ hội để làm điều đó ở trường. Nhưng bạn có một điểm mặc dù tôi phải thừa nhận.
Ageis

+1 cho tiếng hét của Ganssle! Bài viết của ông về việc chuyển đổi công bố là THỰC SỰ tốt.
John R. Strohm

4

Tất cả các công tắc tiếp xúc cơ học khô * nảy. Số lượng thay đổi. Công tắc SPDT hầu như luôn luôn bị hỏng trước khi thực hiện vì vậy các mức thấp / opemn / cao.

Bạn CÓ THỂ thực hiện trước khi ngắt các công tắc SPDT nhưng ngay cả những công tắc đó cũng có thể bị trả lại.

* Làm ướt thủy ngân được sử dụng trong một số rơle để cải thiện khả năng xử lý hiện tại. Tôi nghĩ rằng những thứ này có thể có xu hướng không bị trả lại nhưng tôi không có kinh nghiệm thực tế về chúng, và chúng rất hiếm và làm ướt thủy ngân sẽ không được tìm thấy trong các công tắc đã hoạt động.

Phần mềm sẽ thông báo bất cứ điều gì - thời gian thực hiện tùy thuộc vào mức độ nảy cực kỳ dữ dội và đang diễn ra.

Một Schmitt kích hoạt đầu vào với độ trễ RC phù hợp thường làm tốt công việc gỡ lỗi. Bounce là có thể nếu độ trễ quá ngắn so với trường hợp xấu nhất.


Tôi nghĩ rằng làm ướt thủy ngân không còn được sử dụng vì RoHS.
amadeus
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.