206 Cộng Hòa, Phường 12, Quận Tân Bình, TPHCM

electronichcm@gmail.com

Giới thiệu

Tin tức

Liên hệ

Vận chuyển

Toàn quốc (trả phí)

093 629 2319

Hotline tư vấn miễn phí

093 214 0397

Hotline tư vấn miễn phí

Tin tức

Kỹ thuật chống rung nút nhấn

Kỹ thuật chống rung nút nhấn

Trong bài viết này tôi sẽ thảo luận về hiện tượng rung phím và cách khắc phục hiện tượng này. Đầu tiên tôi sẽ nói qua về lý thuyết và sau đó tôi sẽ chỉ bạn khắc phục hiện tượng này bằng phần cứng, và cả phần mềm nữa.

Đối tượng

Dành cho người mới bắt đầu học điện tử.

Lý thuyết

Rung phím hay rung nút bấm là gì?

Khi bạn nhấn nút, công tắc, hai bộ phận kim loại chạm vào nhau. Đối với người sử dụng, nó có vẻ như tiếp xúc ngay lập tức. Nhưng không phải như vậy. Khi bạn nhấn công tắc, ban đầu nó sẽ tiếp xúc với nhũng vùng kim loại khác (có thể gọi là tiếp xúc chưa hoàn toàn), nhưng chỉ trong một khoảng thời gian cực ngắn, cỡ vài micro giây. Quá trình diễn ra dần dần cho đến khi tiếp xúc hoàn toàn.

Do phần cứng phản xạ cực nhanh với các tiếp xúc, nên khi trong quá trình nhấn nút như trên thì phần cứng nó hiểu rằng bạn nhấn công tắc nhiều lần. Đây chính là hiện tượng rung phím bấm.

Dưới đây sẽ là một minh họa cụ thể về hiện tượng này.

Như hình trên thì bạn có thể hoàn toàn thấy rằng trước khi nút nhấn tiếp xúc hoàn toàn thì trước đó tồn tại các tín hiệu đã tích cực trong một khoảng thời gian ngắn dẫn tới hiện tượng rung phím.


Mỗi một nút bấm có những đặc điểm riêng về hiện tượng rung phím. Để có thể có những so sánh khách quan tôi lấy ví dụ với 4 loại nút bấm. Tôi có 2 công tắc micro, 1 nút nhấn, và công tắc bật tắt:

Chống rung nút nhấn bằng phần cứng

Dưới đây tôi lấy một ví dụ: Với mỗi lần nhấn nút thì đèn LED sẽ sáng lần lượt. Tôi sử dụng nút nhấn với sơ đồ nguyên lý dưới đây.

Với cách nối thông thường này thì sẽ xảy ra hiện tượng rung phím, nó thể hiện rõ ở hình ảnh sau:

Điều đó cho thấy, khi bạn nhấn nút LED sáng rất khó chịu, nó không tuân thủ theo những gì bạn làm. Để khắc phục điều đó bạn hãy thêm 1 tụ gốm như hình sau.


Sau khi thêm 1 tụ gốm 0.1uF thì hiện tượng trên đã được khắc phục rất rõ nét và gần như không bị hiện tượng này nữa.

Chống rung nút nhấn bằng phần mềm

Khi làm việc với vi điều khiển, chúng ta có thể khắc phục hiện tượng này và điều đó làm cho giảm thiểu được phần cứng, tiết kiệm chi phí. Đa phần các lập trình viên sẽ thêm một trễ khoảng 50ms sau mỗi lần nhấn nút. Điều này làm cho vi điều khiển phải chờ một khoảng thời gian 50ms và sau đó mới tiếp tục với chương trình. Đây không phải là một giải pháp tốt, vì vi điều khiển mất một khoảng thời gian để đợi.

Một cách khác là sử dụng ngắt để khắc phục hiện tượng rung phím này. Sau đây là một phần mềm mã debounce đơn giản cho Arduino.

Đoạn mã trên được viết trên Arduino IDE.

Dưới đây là đoạn mã viết cho 2 đèn LED với vi điều khiển PIC

Lời kết

Trong bài tôi đã nối về trễ, nó ảnh hưởng thế nào đến hệ thống của bạn, và các giải pháp tốt. Các ví dụ được tối thiểu hóa và thực hiện đơn giản. Trong quá trình làm và thực hiện bạn nên có cái nhìn chính xác về hiện tượng bạn đang gặp phải và từ đó có thể hiệu chỉnh đối với loại nút nhấn bạn đang sử dụng sao cho phù hợp.