Jak zrobić szybkie (o niskiej latencji) pojemnościowe przyciski dotykowe
Chcę stworzyć pojemnościowe przyciski dotykowe o niskim opóźnieniu dla instrumentu muzycznego. Czas reakcji (od dotyku fizycznego do dotyku zarejestrowanego w mikrokontrolerze) musi wynosić około ~ 2 ms lub mniej.
Z tego, co przeczytałem, wydaje się, że jest to możliwe (a nawet opracowano ekrany dotykowe z opóźnieniem poniżej 1 ms - patrz tutaj !). Biorąc pod uwagę, że chcę zaimplementować tylko jeden przycisk, wydaje się, że powinno to być osiągalne. Jednak szukałem układów scalonych i wszystko, co mogę znaleźć, wydaje się mieć czas reakcji 10-16 ms.
Czyli biorąc pod uwagę brak odpowiedniego układu scalonego, jak mogłem samemu stworzyć taki czujnik? Czy to tylko kwestia bardzo szybkiego pomiaru napięcia AC na macie sensorycznej? - W takim razie jaki jest tutaj czynnik ograniczający? Dlaczego wszystkie produkty na rynku są tak wolne?
Odpowiedzi
Wygląda na to, że znalazłeś produkty o niskim poborze mocy, które nie muszą być tak szybkie, ponieważ nie zostały zaprojektowane do użytku z instrumentami muzycznymi o wysokiej wydajności wymagającymi szybkiego czasu reakcji, ale jako proste przyciski interfejsu użytkownika, które muszą być niezawodne (pomyśl o piece i piekarniki, które muszą być solidne i mieć pewność, że nie uruchomią się łatwo przez przypadek lub dom może się spalić).
To, co możesz zrobić, to znaleźć dość wydajny mikrokontroler ze sprzętową obsługą wykrywania pojemnościowego i dostroić dołączoną bibliotekę oprogramowania czujnikowego do szybkiego czasu odpowiedzi. Najprawdopodobniej Twoje urządzenie i tak miałoby mikrokontroler, a przynajmniej skorzystałoby na tym.
Każdy zegar wykrywający sygnał sprzężony z ekranami dotykowymi nie potrzebuje więcej niż 10 cykli, a zatem jest poniżej 1 ms z odpowiednim progiem czułości. Wyregulowanie 10% f filtrem dolnoprzepustowym @ f-3dB = fc / 10 osiągnie 90% wejścia V w Tau po 10 cyklach. Używając znanego pojemnościowego progu dotykowego pF i nasadki odniesienia o podobnej wartości, wszystko, co możesz zrobić, to komparator ustawiony na 50%, aby wyprostować sygnał i wykryć wejście z RC <1 ms.
Wygląda na to, że ci, którzy głosowali w dół, nie rozumieją, jak to zrobić. Wsparcie. Albo nie rozumieją, jak skomentować lub wykryć przełącznik pojemności, wykrywając impedancję C za pomocą stałej czasowej RC wynoszącej 10 cykli przy szybkości MUX pikseli, przy użyciu obciążenia palcem i szybkiego odświeżania skanów. Lepsze pytanie Jak zaprojektować „przełącznik” ze specyfikacją impedancji on-off i histerezą przy użyciu HBM 100 pf dla palca z progiem 50 pF i 30% histerezą w <1 ms ?. Podpowiedź Zc = 1 / (2Pi f C) Nie projektuję tego dla ciebie, tylko mówię ci o zasadzie.
Opierając się na odpowiedzi Justme'a, wydaje się, że powodem, dla którego większość pojemnościowych układów scalonych dotykowych ma około 10 ms lub większe opóźnienia, jest to, że są one przeznaczone dla rynku, który przedkłada niezawodność nad prędkość .
Nie jest trudno zaprojektować szybszy czujnik przy użyciu mikrokontrolera zamiast gotowego pakietu.
Próbowałem tego z biblioteką CapacitiveSensor z Arduino Uno i udało mi się osiągnąć bardzo niskie opóźnienie czujnika. Ta biblioteka wykorzystuje prostą metodę opóźnienia cyfrowego, a więc opóźnienie jest określane głównie przez stałą czasową RC obwodu i liczbę próbek pobranych na odczyt. Pracując przy 5 V, z rezystorem 1M, przy założonej pojemności palca 20 pF i pobierając 10 próbek na odczyt, byłem w stanie uzyskać opóźnienia tak niskie, jak 0,3 ms.