Nội dung bài viết
Đăng ký học lập trình C++
Tại STDIO bạn được dạy nền tảng lập trình tốt nhất.
Đăng ký học
Vũ Quang Huy Trong xử lý tín hiệu điện, nhiễu / loạn tín hiệu là điều gần như không thể tránh được. Việc nhiếu tín hiệu phụ thuộc vào rất nhiều yếu tố khác nhau. Ví dụ như khi ta bấm vào một nút nhấn, do đặc điểm vật lý của nút mà tín hiệu nhận được không đồng bộ. Vì vậy, một giải pháp đơn giản và hữu hiệu trong trường hợp này là ta sử dụng tụ điện.

Giới thiệu

Trong xử lý tín hiệu điện, nhiễu tín hiệu là điều gần như không thể tránh được. Việc tín hiệu bị nhiễu xảy ra thông thường do tính chất vật lý của các thành phần điện tử gây ra. Ví dụ xét trường hợp ta sử dụng nút bấm để nhận tín hiệu. Do đặc điểm cấu tạo của nút nhấn sử dụng lò xo, vì vậy khi ta buông tay ra, lò xo vẫn còn nảy lên – xuống vài nhịp trước khi kết thúc. Điều này sẽ làm cho tín hiệu của ta nhận được không còn đúng đắn nữa.

Vì thế, để khắc phục, ta sẽ mắc thêm vào mạch một hay nhiều tụ - và nhờ có tụ điện, tín hiệu của chúng ta được lọc nhiễu và sẽ hoạt động như đã định sẵn.

Tiền đề bài viết

Bài viết nằm trong chuỗi các chủ đề thuộc chương trình Tự Học Arduino.

Đối tượng hướng đến

Chương trình này hướng đến các bạn ĐANG LÀM QUEN với việc lập trình Arduino và có trong tay bộ STDIO Starter Kit v2 hoặc có các thành phần tương đương.

Bạn đọc có thể tham khảo các bài viết khác về Arduino tại Chuyên Mục Arduino.

Tụ điện

Tụ điện là một linh kiện điện tử có khả năng lưu trữ / xả điện tích với tốc độ rất nhanh. Tụ điện cấu tạo từ 2 tấm kim loại có khả năng tích điện và một lớp không dẫn điện nằm giữa chúng. Khi có dòng điện chạy sang, tụ sẽ được nạp đầy tới khi điện tích trong tụ bằng điện tích dòng thì tụ sẽ ngưng nạp điện và tiến hành xả điện khi có sự chênh lệch về điện tích giữa trong tụ và ngoài tụ.

ss_1

Đơn vị đo tụ điện

Người ta sử dụng đơn vị farad (được đặt theo tên của nhà hóa học / vật lý đã đóng góp rất nhiều cho sự phát triển của lĩnh vực điện từ học / điện hóa học – Michael Faraday) để đo độ tích điện của tụ điện. Một đơn vị farad cho biết khả năng tích trữ điện năng của tụ là rất lớn. Do đó thông thường ta chỉ thấy tụ điện có mức ở vài trăm pico-farad hay vài chục micro-farad.

Một pico-fard (pF) tương đương với 0.000000000001 farad và một micro-farad (μF) là 0.000001 farad. Ngoài ra, mỗi tụ còn có thể chịu được một ngưỡng hiệu điện thế tối đa. Nếu vượt qua ngưỡng này, tụ điện sẽ bị mất đi chức năng của nó, trở thành một đơn vị dẫn điện và có thể gây ra cháy / nổ.

Phân loại tụ điện

Việc phân loại tụ điện chủ yếu phụ thuộc vào thành phần tạo nên tụ, hiện nay phổ biến có 2 loại chính là tụ gốm và tụ hóa.

Tụ gốm

Tụ gốm (ceramic capacitor) có độ tích điện nhỏ, vào khoảng vài trăm pico-farad. Do có điện tích nhỏ nên tụ gốm có thể tích điện / xả rất nhanh và một ưu điểm nữa là loại tụ này không phân cực.

Giá trị của tụ điện được in ngay trên thân tụ, được chia làm 2 phần và tính theo đơn vị pico-farad (pF)

  • 2 kí tự đầu đại diện cho giá trị của tụ
  • 1 kí tự sau đại điện cho hệ số nhân.

Ví dụ như trong bộ STDIO Starter Kit, trên thân tụ gốm có in số 104, áp dụng quy tắc vừa rồi ta có: 10 x 104 = 100 000 pF = 100 nF (nano-farad).

ss_2

Tụ hóa

Ngược lại với tụ gốm, tụ hóa cho khả năng tích điện lớn nên thường được dùng để ổn định dòng điện hơn là việc lọc tín hiệu nhiễu. Và không như tụ gốm, tụ hóa có phân biệt cực vì vậy cần phải lưu ý khi nối các loại tụ hóa vào trong mạch điện.

Giá trị của tụ hóa cũng như điện cực được in ngay trên thân của tụ.

ss_3

Ứng dụng thực tế

Trong ví dụ STDIO :: Sử Dụng Button Trong Arduino, ta đã biết được cách dùng button cùng với Arduino để bật / tắt tín hiệu điện. Song song đó, ở các bài viết trước như STDIO :: Lập Trình Điều Khiển Đèn LED Với Arduino ta cũng đã nắm được các sử dụng các pin I/O để bật / tắt đèn LED.

Ngoài chức năng truyền tín hiệu điện, các pin I/O này còn có khả năng nhận tín hiệu điện và dựa vào tín hiệu nhận được, ta sẽ có các xử lý phù hợp. Để cấu hình pin này có tác dụng gửi hay nhận tín hiệu, ta sử dụng hàm pinMode với tham số  INPUT hay OUTPUT.

Sơ đồ dưới đây minh hoạ việc nhận tín hiệu, dùng Arduino đọc tín hiệu này và bật / tắt đèn sau mỗi lần nhấn nút.

ss_4

Tuy nhiên, khi nhấn nút tín hiệu sẽ không chạy đúng như mong muốn do nút bấm là một linh kiện vật lý, vì vậy nó còn một độ nảy nhất định sau khi không còn lực tác động lên nó nữa, gây ra sự nhiễu loạn tín hiệu.

Do đó, để xử lý việc này, ta sẽ mắc thêm một tụ điện có giá trị 100nF vào trong mạch để ổn định tín hiệu.

ss_5

Về chi tiết cách sử dụng digital input trong Arduino, nguyên nhân và các giải pháp khắc phục vấn đề trên sẽ được tôi đề cập cụ thể trong bài viết sau.

THẢO LUẬN
ĐÓNG