eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaDotykowy czujnik pojemnościowy [avr] › Dotykowy czujnik pojemnościowy [avr]
  • Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!lub
    lin.pl!uw.edu.pl!newsgate.cistron.nl!newsgate.news.xs4all.nl!194.109.133.84.MIS
    MATCH!newsfeed.xs4all.nl!newsfeed5.news.xs4all.nl!xs4all!feeder.news-service.co
    m!postnews.google.com!fu15g2000vbb.googlegroups.com!not-for-mail
    From: Jan Górski <g...@o...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Dotykowy czujnik pojemnościowy [avr]
    Date: Thu, 6 Jan 2011 14:01:29 -0800 (PST)
    Organization: http://groups.google.com
    Lines: 51
    Message-ID: <b...@f...googlegroups.com>
    NNTP-Posting-Host: 91.189.0.210
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    X-Trace: posting.google.com 1294351290 11141 127.0.0.1 (6 Jan 2011 22:01:30 GMT)
    X-Complaints-To: g...@g...com
    NNTP-Posting-Date: Thu, 6 Jan 2011 22:01:30 +0000 (UTC)
    Complaints-To: g...@g...com
    Injection-Info: fu15g2000vbb.googlegroups.com; posting-host=91.189.0.210;
    posting-account=BcK0kQoAAAClcQzNiDPwy7W9dMNJ4-fa
    User-Agent: G2/1.0
    X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0;
    User-agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;
    http://bsalsa.com) ; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET
    CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2),gzip(gfe)
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:602476
    [ ukryj nagłówki ]

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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: