Có cách nào để tôi có thể làm cho Arduino hoặc bộ điều khiển vi mô khác phát hiện sự thay đổi điện dung không?
Tôi đang nghĩ rằng có một màn hình trên cửa của tôi chỉ bật khi bạn chạm vào tay nắm cửa kim loại.
Có cách nào để tôi có thể làm cho Arduino hoặc bộ điều khiển vi mô khác phát hiện sự thay đổi điện dung không?
Tôi đang nghĩ rằng có một màn hình trên cửa của tôi chỉ bật khi bạn chạm vào tay nắm cửa kim loại.
Câu trả lời:
Đúng.
Cách đơn giản nhất là sử dụng điện trở có giá trị cao (1-10M) và làm theo hướng dẫn trên bài đăng trên diễn đàn arduino cũ này: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1171076259
Dưới đây là hướng dẫn http://www.nerdkits.com/ideo/halloween_capacitive_touch_sensor/
Cảm biến thực tế được sử dụng để phát hiện sự hiện diện của một bàn tay được giải thích chi tiết trong video, nhưng đây là một cái nhìn tổng quan. Cảm biến của chúng tôi hoạt động theo cùng một nguyên tắc là cảm biến cảm ứng điện dung hoạt động trên bàn di chuột máy tính xách tay của bạn. Những cảm biến cảm ứng điện dung này hoạt động dựa trên tiền đề rằng con người chủ yếu là nước. Khi bạn đến gần một điện trường, bạn thay đổi điện dung đủ để cảm biến nhận thấy.
Trong hệ thống của chúng tôi, chúng tôi thiết lập một mạch RC với một tụ điện và điện trở song song. Chúng tôi sử dụng MCU để sạc tụ điện lên đến 5V (điện áp cao kỹ thuật số). Sau đó, chúng tôi biến pin thành một pin đầu vào, về cơ bản ngắt kết nối nút đó. Điều này cho phép các tụ điện xả qua điện trở. Lượng thời gian cần thiết để tụ phóng điện sẽ liên quan đến giá trị điện trở nhân với điện dung. Chúng tôi chọn một giá trị điện trở đủ lớn để hằng số thời gian RC đủ dài để chúng tôi đo bằng MCU. Trong trường hợp này 100K ohms làm việc tuyệt vời. Cảm biến trong trường hợp này là hai tấm nhôm, một tấm được kết nối với chân MCU và một tấm được kết nối với GND. Hai tấm này tạo ra một tụ điện mà MCU của chúng tôi đang sạc và xả. Khi tay bạn di chuyển giữa hai tấm, nó sẽ thay đổi điện trường, và do đó điện dung của chi tiết lá thiếc của chúng tôi. Do đó, tụ điện mất nhiều thời gian hơn để phóng điện và được phát hiện bởi mã trên vi điều khiển của chúng tôi!
Một trong những cách tốt nhất mà tôi tìm thấy để đo điện dung là sử dụng mạch RC. Sử dụng cổng I / O kỹ thuật số trên bộ vi xử lý để sạc và xả cảm biến điện dung thông qua một điện trở cố định. Bắt đầu hẹn giờ khi bạn bắt đầu chu kỳ sạc / xả. Sau đó sử dụng một bộ so sánh để phát hiện khi tụ đã được sạc / xả đầy đủ. Dừng bộ hẹn giờ khi bộ so sánh ngắt. Giá trị được lưu trong bộ định thời sau đó có thể được sử dụng để tính điện dung của cảm biến.
Không phải là một câu trả lời cụ thể của Arduino, nhưng Microchip có một lời giải thích về một cách để làm điều đó trên PIC - có thể sẽ hoạt động trên một AVR
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en545264
Chỉ quan tâm đến các phương pháp này là thiếu bảo vệ khỏi phóng tĩnh
Một cảm biến cảm ứng điện dung có thể được thực hiện mà không cần phần cứng bổ sung. Mẹo nhỏ là kích hoạt tính năng kéo bên trong của pin kỹ thuật số và đếm số chu kỳ CPU cần thiết để kéo pin lên.
Mã và giải thích: http://playground.arduino.cc/Code/CapacitiveSensor
Tôi thích lấy phần tương tự của công việc ra khỏi micront điều khiển bằng cách sử dụng tụ điện được kiểm tra như một phần của bộ tạo dao động và sau đó sử dụng bộ điều khiển để đo chiều rộng của puse. Nó là một phần bổ sung, nhưng tôi đã có kết quả tốt hơn theo cách này.