eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaAtmega i problem z czujnikiem pojemnościowym › Re: Atmega i problem z czujnikiem pojemnościowym
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!goblin3!goblin1!goblin.stu.neva.ru!eternal-september.org!feeder.eterna
    l-september.org!mx02.eternal-september.org!.POSTED!not-for-mail
    From: AlexY <a...@i...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Atmega i problem z czujnikiem pojemnościowym
    Date: Fri, 8 Jan 2016 21:26:19 +0000
    Organization: A noiseless patient Spider
    Lines: 90
    Message-ID: <n6p9d5$slr$1@dont-email.me>
    References: <n58u3u$ml7$1@dont-email.me>
    <a...@t...pilczyce.net>
    <n5n8ba$lmj$1@dont-email.me>
    <a...@t...pilczyce.net>
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    Injection-Date: Fri, 8 Jan 2016 21:23:50 -0000 (UTC)
    Injection-Info: mx02.eternal-september.org;
    posting-host="bdb1cb97610caf7f312853cd1846f4e5";
    logging-data="29371";
    mail-complaints-to="a...@e...org";
    posting-account="U2FsdGVkX1/5+gmd7MchZ6KdkIpZeOj6"
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0
    SeaMonkey/2.39
    In-Reply-To: <a...@t...pilczyce.net>
    Cancel-Lock: sha1:Vu/Cn9rOdl1/SoY1xHZKGC34SCY=
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:691718
    [ ukryj nagłówki ]

    Mam jako-tako działającą wersję na ADC, ponieważ jest to jako/tako to
    mam do Ciebie parę pytań bo zrobiłeś i Ci działa.

    Marek Wodzinski pisze:
    > On Sat, 26 Dec 2015, AlexY wrote:
    [..]
    > QtouchADC to całkiem inna metoda. Masz jeden kondensator wewnątrz procka
    > na wejściu ADC, drugim jest elektroda. Ładujesz jeden, rozładowujesz
    > drugi, potem je łączysz razem i jak ładunek już przepłynie z jednego do

    Jak konkretnie je łączysz? Wyzwolenie pomiaru łączy kondensator
    przetwornika na 13.5 cyklu przetwornika przy pierwszym pomiarze od
    włączenia ADC lub 1.5 cyklu później, w tej chwili mam pierwszą metodę
    przy największym dzielniku preskalera ADC, ale czy ten czas wystarczy?
    Oscyloskop mi padł więc nie mogę chwilowo skalibrować zgodnie z
    zaleceniami Atmela. Jest jeszcze info, iż jeśli kanał pomiarowy nie
    zostanie zmieniony to po konwersji ponownie włącza Cs/h aż do startu
    kolejnego pomiaru.


    [..]
    > zakłóceniami). Jeżeli zrobisz 2 pomiary: raz ładując wewnętrzny C i
    > rozładowując elektrodę, drugi raz odwrotnie, to jak odejmiesz pomiary,
    > to zakłócenia się odejmą, a rzeczywista zmiana pojemności się doda. Samo
    > ADC da o wiele większą rozdzielczość pomiaru niż pomiar czasu w
    > 'tradycyjnym' układzie, a to przekłada się na większą czułość przy
    > mniejszych zakłóceniach (bo te się odejmują).

    Zrobiłem 2 wersje ładowania Cs/h
    1. z osobnego wejścia (jak poniżej) podciągniętego wewnętrznie do Vcc,
    wynik odejmowania jest wyraźniejszy, tylko jest ryzyko wystąpienia liczb
    ujemnych.
    2. z wejścia 14 "bandgap reference" jest na nim 1.3V w tym wypadku wynik
    dodawania daje lepsze rezultaty a odejmowania jest niemal stały.

    [..]
    > Atmelowa biblioteka jest binarna, pliki nagłówkowe plus skompilowane
    > obj-ty.
    > Jest tak duża, że wolałem napisać samemu. Sam odczyt to tylko kilka
    > instrukcji. Więcej jest zabawy z uśrednianiem długoterminowym,
    > ustawieniem sobie progów wykrycia dotyku itp.

    Możesz pokazać fragment odpowiedzialny za pomiar?
    U mnie w bascomie idzie tak:

    Samples = 16 'how many samples will be used for averaging
    Ddrc.5 = 0 : Portc.5 = 0 'C5 sensor input uses ADC
    Ddrc.2 = 0 : Portc.2 = 1 'C2 used for charging sample/hold capacitor

    'ADC INIT
    Config Adc = Single , Prescaler = 128 , Reference = Avcc

    Do
    For Cycle = 0 To Samples -1
    'discharge sensor
    Ddrc.5 = 1 : Portc.5 = 0
    'discharge ADC capacitor
    Start Adc
    Volt3 = Getadc(15)
    Stop Adc
    'charge sensor, assume during ADC conversion it was discharged
    Portc.5 = 1
    'switch to tristate and measure to share the charge with ADC capacitor
    Ddrc.5 = 0 : Portc.5 = 0
    Start Adc
    Volt1 = Getadc(5) + Volt1
    Stop Adc
    'discharge sensor and charge ADC capacitor
    Ddrc.5 = 1
    Start Adc
    Volt3 = Getadc(2)
    Stop Adc
    'again switch to tristate to share the charge and measure
    Ddrc.5 = 0
    Start Adc
    Volt2 = Getadc(5) + Volt2
    Stop Adc
    Next Cycle
    Volt1 = Volt1 / Samples
    Volt2 = Volt2 / Samples
    Ressum = Volt1 + Volt2
    Resdif = Volt1 - Volt2

    [..]


    --
    AlexY
    http://faq.enter.net.pl/simple-polish.html
    http://www.pg.gda.pl/~agatek/netq.html

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: