-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!ne
wsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl
!news.neostrada.pl.POSTED!not-for-mail
Reply-To: "dolczak" <d...@w...pl>
From: "dolczak" <d...@w...pl>
Newsgroups: pl.misc.elektronika
References: <b...@f...googlegroups.com>
Subject: Re: Dotykowy czujnik pojemnościowy [avr]
Date: Fri, 7 Jan 2011 14:59:26 +0100
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
X-RFC2646: Format=Flowed; Original
Lines: 49
Message-ID: <4d271c3b$0$2452$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 95.49.95.8
X-Trace: 1294408763 unt-rea-a-01.news.neostrada.pl 2452 95.49.95.8:1364
X-Complaints-To: a...@n...neostrada.pl
Xref: news-archive.icm.edu.pl pl.misc.elektronika:602510
[ ukryj nagłówki ]A rezystancja palca to kij???
Użytkownik "Jan Górski" <g...@o...pl> napisał w wiadomości
news:b4b00dce-cb56-4115-bff9-d6459f6b79b5@fu15g2000v
bb.googlegroups.com...
Obejrzałem sobie prezentację microchipa i powiedzieli tam, że w
przypadku czujników pojemnościowych, można liczyć na następującą
zależność. Po dotknięciu ręką izolowanej elektrody sensora, czas
ładowania i rozładowania wydłuża się, w stosunku do spoczynkowego. Bo
ciało jest kondensatorem dołączonym równolegle do pojemności własnej
czujnika.
I zmontowałem sobie taki czujnik na AVR, okazuje się jednak, że działa
to inaczej. Czas rozładowania (bo ten mierzę), spada, kiedy dotykam
ręką. Dlaczego ? Czy coś źle robię ?
Schemat tutaj : http://mathmed.blox.pl/resource/capSensor.png
Czas mierzony w cyklach, górna granica 200 cykli po 1ms :
http://www.youtube.com/watch?v=571syX3tXO8
Zastosowany algorytm :
c :
///////AVR GCC//////////////////////////////////////
int getData() {
int cykli=0;
DDRB |= 1; // set pin 1 as output
PORTB |= 1; // set pin 1 high
_delay_ms(20); // wait for the capacitor to charge
DDRB &=~1; // set pin 1 as input
PORTB &=~1; // set pin 1 tri/state
while((PINB&1) && (cykli<200)) {
// count the cycles within specified range (200),
// until pinb gets low depends on parallel resistance
// and capacitance values
_delay_ms(1);
cykli++;
}
return cykli;
}
////////////////////////////////////////////////////
//
text : Cykl zbierania danych rozpoczyna naładowanie kondensatora (port
jako wyjście - DDR =1, w stanie wysokim, PORT = 1) przez 20ms. Czas
należy dobrać indywidualnie, ten jest aż nadto wystarczający.
Następnie pin przełącza się jako wejście trójstanowe (DDR = 0; PORT =
0). W tym czasie następuje rozładowanie przez upływność układu. Jest
to mierzone w cyklach. Dołożenie palca sprawia, że rozładowanie jest
szybsze (zajmuje mniej cykli).
Następne wpisy z tego wątku
- 07.01.11 15:19 Piotr Gałka
Najnowsze wątki z tej grupy
- Fejk muzyczny czy nie fejk
- Raspberry Pi 3 Model B+
- Kuchenka elektryczna
- test
- Cewka elektrozaworu
- zapytanie o chip r5f21275nfp
- nie naprawiam więcej telewizorów
- Zrobił TV OLED z TV LCD
- Zasilacz USB na ścianę.
- Gniazdo + wtyk
- Aliexpress zaczął oszukiwać na bezczelnego.
- OpenPnP
- taka skrzynka do kablowki
- e-paper
- 60 mA dużo czy spoko?
Najnowsze wątki
- 2025-03-15 przegląd za mną
- 2025-03-15 Na co komu okna
- 2025-03-15 Mój elektryk
- 2025-03-15 Fejk muzyczny czy nie fejk
- 2025-03-15 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-15 Wrocław => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, Produk
- 2025-03-15 Błonie => Analityk Systemów Informatycznych (TMS SPEED) <=
- 2025-03-15 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-03-15 Warszawa => Java Full Stack Developer (Angular2+ experience) <=
- 2025-03-15 Warszawa => Java Full Stack Developer (Angular2+) <=
- 2025-03-15 KOMU w RP3 pasuje "Rumuńska łatwość gmerania w wyborach" i dlaczego nie PO-Trzaskanym?
- 2025-03-15 China-Kraków => Key Account Manager IT <=
- 2025-03-14 Spalił się autobus :-)
- 2025-03-14 Policjanci z Piątku
- 2025-03-14 Lublin => JavaScript / Node / Fullstack Developer <=