eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaAtmega i problem z czujnikiem pojemnościowymRe: Atmega i problem z czujnikiem pojemnościowym
  • Data: 2015-12-22 13:24:54
    Temat: Re: Atmega i problem z czujnikiem pojemnościowym
    Od: Uzytkownik <a...@s...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu 2015-12-21 o 14:19, AlexY pisze:

    > Zachciało mi się gadżetu w formie schodów podświetlanych indywidualnie
    > na każdy stopień z oświetleniem podążającym za osobnikiem, do tego
    > wymyśliłem żeby było to niewidoczne więc jako czujnik obecności ma być
    > czujnik pojemnościowy zrealizowany na atmega8 (bo takich trochę mam).
    > Drut w poprzek stopnia pod wykładziną ma wykryć obecność stopy.
    > Wypróbowałem już chyba wszystkie dostępne metody realizacji tego
    > czujnika bez pełnego sukcesu, albo za mała czułość albo pomiar pływa w
    > zbyt dużym zakresie.
    > Zatem pytanie:
    > Czy ktoś zrealizował czujnik zbliżeniowy działający na odległość
    > minimum 1cm? To musi być wykonalne bo niektóre telefony mają detekcję
    > palca wiszącego nad ekranem właśnie w takiej odległości.
    >
    >

    Dawno, dawno temu za czasów zamierzchłej komuny (ponad 20 lat temu)
    realizowałem takie projekty detekcji opierając się na prostym
    rozwiązaniu klawiatury komputerowej.
    Układ był genialny w swojej prostocie i w 100% pewny w działaniu.

    Projekt wyglądał tak, że była sobie bramka z dwoma wejściami EX-OR w
    technologii CMOS a każde poprzedzone bramkami Schmitta.
    Bramka EX-OR spełnia zależność, że 1 logiczna pojawia się na jej wyjściu
    tylko wtedy, kiedy na wejściach są różne stany logiczne.
    Jeżeli na obydwu wejściach stany logiczne są takie same, niezależnie czy
    dwa zera czy dwie jedynki to na wyjściu mamy zero logiczne.
    Na wejścia tychże bramek Schmitta podajemy sygnał z generatora przebiegu
    prostokątnego o wypełnieniu 50% poprzez dwa identyczne układy RC lub CR
    Jeżeli elementy w obydwu obwodach RC są identyczne to na wyjściu bramki
    EX-OR mamy cały czas stan logiczny "zero", ponieważ stany obydwu wejść
    zmieniają się w tym samym czasie.
    Oczywiście w praktyce trudno jest tak idealnie dobrać elementy, dlatego
    na wyjściu mogą się pojawiać szpilki stanów logicznych 1
    ale te można odfiltrować kolejnym układem RC i kolejnym przerzutnikiem
    Schmitta.

    Teraz w jednej z gałęzi RC jako C podłączamy kondensator utworzony np. z
    dwóch zatopionych w stopniu pasków folii czy też dwóch drutów.
    W drugiej gałęzi pojemność C musisz dobrać tak, aby zrównoważyć
    pojemność Twojego utworzonego kondensatora zatopionego w stopniu schodów.
    Kiedy stawiamy stopę na stopniu schodów to zwiększamy pojemność
    utworzonego kondensatora, a tym samym na wyjściu bramki EX-OR pojawiają
    się szersze impulsy 1 logicznej.
    Po przepuszczeniu takiego impulsu poprzez układ RC, impulsy będą się
    pojawiały na kolejnej bramce Schmitta tylko wtedy, kiedy długość impulsu
    za bramką EX-OR będzie dłuższa od czasu wyznaczonego przez filtr RC.
    Dalej wystarczy tylko jakiś uniwibrator, który wygeneruje impuls dłuższy
    od okresu przebiegu z generatora.
    Stawiamy stopę, zwiększa się pojemność, zwiększa się długość impulsu za
    bramką EX-OR, impulsy pojawiają się na kolejnej bramce Schmitta, zostaje
    cyklicznie pobudzany uniwibrator, który na wyjściu utrzymuje stan
    logiczny 1 tak długo jak długo trzymamy na stopniu stopę.

    Podpowiem, że w klawiaturze, na której się wzorowałem pod klawiszami
    były przyklejone kawałki folii aluminiowej i po naciśnięciu przycisku ta
    folia była zbliżana do do dwóch padów utworzonych na płytce laminatu
    powodując zwiększenie pojemności, a sterowanie natomiast było
    multipleksowane. Klawisze były obsługiwane jako rzędy i kolumny.
    Z tego co sobie przypominam multiplekserami oraz pomiarem długości
    impulsów sterował procesor 8051
    Jak chcesz to mogę sprawdzić, bo do dnia dzisiejszego mam te klawiatury.
    Tak, że w wolnej chwili mogę zajrzeć jak jest to tam rozwiązane, bo
    obecnie nie pamiętam szczegółów.
    Byłem wtedy zaskoczony prostotą tego rozwiązania i na jego bazie
    zrobiłem kilka układów detekcji ruchu jako pionowe elektrody w drzwiach,
    a także klawiatur dotykowych w montowanych przez siebie układach
    elektronicznych.
    Jako przerzutników Schmitta możesz żyć układów scalonych serii CMOS:
    http://www.cmos4000.com/functions/schmitt-trigger.ht
    ml
    Jako EX-OR lub EX-NOR możesz użyć układów:
    http://www.cmos4000.com/functions/exclusive-or.html
    http://www.cmos4000.com/functions/exclusive-nor.html
    Jedyny problem na jaki napotkasz to znalezienie dobrego dielektryka i
    dobre odizolowanie od betonu, którego zmiana wilgotności będzie
    powodowała zmiany pojemności Twojego kondensatora. Ale można to obejść
    poprzez odpowiednie dopasowanie długości generowanego impulsu w gałęzi
    odniesienia. Zamiast obwodu RC można podawać z procesora impuls o
    zmiennej długości, którego czas trwania będzie podążał za wolnymi
    zmianami pojemności kondensatora w stopniu.

    Oczywiście zamiast bramek EX-OR całość można zrealizować na Atmega,
    zwłaszcza, że chyba wszystkie wejścia poza analogowymi w tych
    mikrokontrolerach posiadają wejścia typu Schmitt i to o bardzo dużej
    oporności wejściowej.
    W tym przypadku mikrokontroler musiałby wykrywać szybkie, chwilowe
    zmiany w długości impulsu generowanego za układem najlepiej CR
    (różniczkującym), a nie sam czas generowanego impulsu. Należy też
    pamiętać, aby odciąć ujemny impuls generowany przez taki układ przy
    pomocy diody Schottky-ego. Choć szczerze mówiąc nie wiem na ile odporne
    są wejścia Atmeg na ujemne polaryzacje na tych wejściach. Być może nie
    mają one znaczenia.
    No i jeszcze pozostaje kwestia detekcji i eliminacji zakłóceń, ale z tym
    nie powinno być problemu, bo zmiana pojemności powoduje cykliczne
    pojawianie się wydłużonego impulsu zgodnie z taktem zegara.

    Hehehe ... dawno już się nie bawiłem Atmelami :)

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: