Dotykowy czujnik pojemnościowy [avr]

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Polish to

Threaded View
ObejrzaB3%em sobie prezentacjEA% microchipa i powiedzieli tam, BF%e w
przypadku czujnikF3%w pojemnoB6%ciowych, moBF%na liczyE6% na nastEA%pujB1%c=
B1%
zaleBF%noB6%E6. Po dotkniEA%ciu rEA%kB1% izolowanej elektrody sensora, cza=
s
B3%adowania i rozB3%adowania wydB3%uBF%a siEA%, w stosunku do spoczynkowego=
. Bo
ciaB3%o jest kondensatorem doB3%B1czonym rF3%wnolegle do pojemnoB6%ci wB3%
asnej
czujnika.

I zmontowaB3%em sobie taki czujnik na AVR, okazuje siEA% jednak, BF%e dzia=
B3%a
to inaczej. Czas rozB3%adowania (bo ten mierzEA%), spada, kiedy dotykam
rEA%kB1%. Dlaczego ? Czy coB6% BC%le robiEA% ?

Schemat tutaj :
http://mathmed.blox.pl/resource/capSensor.png
Czas mierzony w cyklach, gF3%rna granica 200 cykli po 1ms :

http://www.youtube.com/watch?v3D%571syX3tXO8


Zastosowany algorytm :
c :
///////AVR GCC//////////////////////////////////////
int getData() {
    int cykli3D%0;
    DDRB |3D% 1; // set pin 1 as output
    PORTB |3D% 1; // set pin 1 high
    _delay_ms(20); // wait for the capacitor to charge
    DDRB &3D%~1; // set pin 1 as input
    PORTB &3D%~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 naB3%adowanie kondensatora (port
jako wyjB6%cie - DDR 3D%1, w stanie wysokim, PORT 3D% 1) przez 20ms. Czas
naleBF%y dobraE6% indywidualnie, ten jest aBF% nadto wystarczajB1%cy.
NastEA%pnie pin przeB3%B1cza siEA% jako wejB6%cie trF3%jstanowe (DDR 3D% 0=
; PORT 3D%
0). W tym czasie nastEA%puje rozB3%adowanie przez upB3%ywnoB6%E6 ukB3%adu.=
 Jest
to mierzone w cyklach. DoB3%oBF%enie palca sprawia, BF%e rozB3%adowanie jes=
t
szybsze (zajmuje mniej cykli).

Re: Dotykowy czujnik pojemnościowy [avr]
A rezystancja palca to kij???

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?v57%1syX3tXO8


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).



Re: Dotykowy czujnik pojemnościowy [avr]

Quoted text here. Click to load it

Pisał: "Po dotknięciu ręką _izolowanej_ elektrody sensora".
P.G.

Quoted text here. Click to load it


Site Timeline