Wykrywanie pojemnościowe

10

Czy istnieje sposób, aby Arduino lub inny Mikrokontroler wykrył zmianę pojemności?

Mam na myśli ekran, który włącza się tylko po dotknięciu metalowej klamki.

littlebirdceo
źródło

Odpowiedzi:

11

Oto samouczek http://www.nerdkits.com/videos/halloween_capacitive_touch_sensor/

Rzeczywisty czujnik użyty do wykrycia obecności ręki jest szczegółowo wyjaśniony na filmie, ale tutaj jest przegląd. Nasz czujnik działa na tej samej zasadzie, że pojemnościowy czujnik dotykowy działa na touchpadzie laptopa. Te pojemnościowe czujniki dotykowe działają w oparciu o założenie, że ludzie są głównie wodą. Kiedy zbliżysz się do pola elektrycznego, zmień pojemność na tyle, aby być zauważonym przez czujnik.

W naszym systemie ustawiliśmy równolegle obwód RC z kondensatorem i rezystorem. Używamy MCU do ładowania kondensatora do 5 V (cyfrowe wysokie napięcie). Następnie przekształcamy pin w pin wejściowy, który zasadniczo rozłącza ten węzeł. Umożliwia to rozładowanie kondensatora przez rezystor. Czas potrzebny do rozładowania kondensatora będzie związany z wartością rezystora pomnożoną przez pojemność. Wybieramy wartość rezystora wystarczająco dużą, aby stała czasowa RC była wystarczająco długa, abyśmy mogli zmierzyć za pomocą MCU. W tym przypadku 100 000 omów działało świetnie. Czujnik w tym przypadku to dwa arkusze folii aluminiowej, jeden podłączony do styku MCU, a drugi do GND. Te dwa arkusze tworzą kondensator, który nasz MCU ładuje i rozładowuje. Kiedy dłonie poruszają się między dwoma arkuszami, zmienia to pole elektryczne, i dlatego pojemność naszego urządzenia z folii cynowej. Kondensator potrzebuje zatem więcej czasu na rozładowanie, co jest wykrywane przez kod naszego mikrokontrolera!

clabacchio
źródło
6

Jednym z najlepszych sposobów pomiaru pojemności jest użycie obwodu RC. Użyj cyfrowego portu we / wy mikroprocesora, aby naładować i rozładować czujnik pojemnościowy przez stały rezystor. Uruchom licznik czasu po rozpoczęciu cyklu ładowania / rozładowania. Następnie użyj komparatora do wykrycia, kiedy kondensator jest w pełni naładowany / rozładowany. Zatrzymaj stoper, gdy zadziała komparator. Wartość przechowywaną w zegarze można następnie wykorzystać do obliczenia pojemności czujnika.

mjh2007
źródło
1

Pojemnościowy czujnik dotykowy można wykonać bez dodatkowego sprzętu. Sztuczka polega na tym, aby umożliwić wewnętrzne wyciągnięcie cyfrowego styku i policzyć cykle procesora potrzebne do wyciągnięcia styku.

Kod i wyjaśnienie: http://playground.arduino.cc/Code/CapacitiveSensor

maxy
źródło
0

Wolę zabrać analogową część pracy mikrokontrolerowi, używając testowanego kondensatora jako części oscylatora, a następnie kontrolera do pomiaru szerokości pauzy. To dodatkowa część, ale dzięki temu uzyskałem lepsze wyniki.

Scott Seidman
źródło