Mikromechaniczne czujniki przyśpieszenia ADXL2XX


Opis czujnika

Budowa wewnętrzna czujnika
Zasada działania

Blok funkcjonalny

Plan ćwiczenia

Czujnik w akcji


Opis czujnika

Układ ADXL jest dwuosiowym, mikromechanicznym czujnikiem przyspieszenia. Służy do pomiaru zarówno dynamicznych jak i statycznych przyspieszeń. Układ posiada wyjścia analogowe (XFILT, YFILT) oraz wyjścia cyfrowe (XOUT, YOUT) sygnałów z obu osi. Uzyskany na wyjściach cyfrowych sygnał ma stały okres (czas próbkowania) i wypełnienie proporcjonalne do kąta nachylenia w danej osi.
Pasmo może być ustawiane między 0.01Hz, a 5kHz (5 kHz - tylko wyjście analogowe). Zakres pomiarowy czujnika ±2g (ADXL 202) ±10g (ADXL 210). Układ może być podłączony bezpośrednio do licznika mikroprocesora bez udziału przetwornika A/C.


adxl-schemat
Ogólny schemat mikromechanicznego czujnika przyśpieszenia ADXL2xx

Budowa wewnętrzna czujnika

Sensor zawiera międzypalczasty kondensator różnicowy. W układzie ADXL ma on konfigurację lateralną zrealizowaną w technice mikromechaniki powierzchniowej w polikrzemie.




krzemowe palce

Widok uproszczony struktury mikromechanicznej czujnika

Centralna ruchoma belka tworząc wraz z nieruchomymi belkami strukturę grzebieniową (46 kondensatorów), jest wychylana z położenia równowagi przez siły bezwładności. Ruchoma belka jest jednocześnie ruchomą okładką w strukturze kondensatora różnicowego, który utworzony jest przez odpowiednie połączenia elektryczne belek struktury grzebieniowej.



palce-widok rzeczywisty
Widok rzeczywistej struktury czujnika


Zasada działania

Napięcia przyłożone do dolnej i górnej elektrody są przesunięte w fazie o 180 stopni. Napięcie to (o przebiegu prostokątnym) jest generowane w oscylatorze o częstotliwości 1MHz.


schemat - zasada dzialania


Gdy elektroda środkowa jest w położeniu równowagi (obie pojemności równe) sygnał wyjściowy VOUT = 0.

Wychylenie tej elektrody o x daje napięcie równe (dla v1 = V0sin wct, v2 = -V0sinwct)
wzorek

d0 - odległość spoczynkowa między elektrodami

Jeżeli x zmienia się harmonicznie z częstotliwością ws, to sygnał wyjściowy (zmodulowany) można zapisać jako:

wzorek

Sygnał ten poddaje się następnie demodulacji i filtracji aby uzyskać wyjściowe napięcie o częstotliwości ws, proporcjonalne do przyspieszenia.

Blok funkcjonalny akcelerometru

modulator


Zmodulowane napięcie wyjściowe z centralnej elektrody sensora po przejściu przez bufor podawane jest na demodulator synchroniczny (demodulator postaci czteroćwiartkowego układ mnożącego). Zewnętrzny kondensator Cdem (CX,Y) ustala pasmo przenoszenia demodulatora (dalej opisany filtr dolnoprzepustowy).
Sygnał z demodulatora jest podawany na przedwzmacniacz pomiarowy, na wyjściu którego uzyskuje się sygnał VPR. Sygnał ten podawany jest jako sprzężenie zwrotne na wewnętrzną okładkę kondensatora, przywracając pozycję spoczynkową elektrody ruchomej i jest jednocześnie miarą badanego przyspieszenia.
Dodatkowy stopień wzmacniacza (nie uwzględniony na rysunku) pozwala dobrać współczynnik skali i offset napięcia wyjściowego.
Układ "self test" po aktywizacji napięciem zewnętrznym, powoduje przyłożenie do okładek kondensatora napięcia odchylającego elektrodę ruchomą, co jest równoważne przyspieszeniu 800mg.

Filtr dolnoprzepustowy tworzą: kondensator CX,Y oraz rezystory kolektorowe demodulatora Rc = 33kOhm.
Na wyjściu demodulatora pojawia się napięcie o składowych:
- częstotl. sygnału ws;
- częstotl. bocznej 2wc-ws;
- częstotl. bocznej 2wc+ws;
Składowe boczne zostają odfiltrowane.
Częstotliwość graniczna wynosi:

wzorek

Sygnały odfiltrowane podawane są na 14 bitowy modulator DCM (o zmiennym wypełnieniu), na wyjściu którego uzyskuje się impulsy o określonym czasie powtarzania. Czas T1 jest zależny od wychylenia czujnika. Dla 0g wypełnienie sygnału wynosi 50%, i zwiększa się o 12,5% / 1g dla ADXL202 (o 4% / 1g dla ADXL210)

przebieg z czujnika
Czas T2, określający szybkość próbkowania ustawiany jest rezystorem RSET

wzorek w przedziale 0,5 - 10ms

Przyspieszenie wyskalowane w g wynosi: A(g)=(T2/T2-0.5)/12.5%

W układzie wykorzystano CX,Y = 1µF, RSET = 1MOhm, co daje wg = 5Hz, oraz T2 ok. 6ms

w górę



Plan ćwiczenia

Pełny plan ćwiczenia w formacie doc/zip dostepny jest tutaj.

1. Kalibracja czujnika.
2. Obserwacja działania czujnika jako miernika nachylenia.
3. Obserwacja przebiegów na wyjściach X i Y oraz XFILT, YFILT.
4. SELF TEST.
5. Pomiar charakterystyki UX=f(ax), UY=f(ay). Pomiar charakterystyki dx=f(UX), dy=f(UY).
6. Obserwacja wpływu uśredniania na dokładność pomiaru.
7. Obserwacja zmian długości T2.

1. Kalibracja czujnika

Uruchomić program accel.exe. Nastąpi automatyczna detekcja portu (w razie braku sygnału użytkownik sam może wybrać port). Po wyborze portu jeśli czujnik nie jest jednak włączony na monitorze pojawi się ekran oczekiwania na transmisję z czujnika. Po włączeniu czujnika powinien pokazać się ekran z procedurą kalibracji.

Podczas kalibracji czujnik należy trzymać w taki sposób, aby jego aktualnie kalibrowana oś była jak najbardziej równoległa do pionu (pozwala to najdokładniej zmierzyć sygnał przy pobudzeniu czujnika statycznym przyspieszeniem ziemskim, które pełni tu rolę wzorca). Dla dwukrotnego zwiększenia czułości w stosunku do wykonania jednego pomiaru wykonuje się dwa pomiary mierząc +1g i -1g.

Dla wyeliminowania błędów od szumów własnych czujnika dla każdego z 4 ustawień dokonywane jest uśrednienie 60 pomiarów.

Po skalibrowaniu czujnika, należy odpisać dla kanałów X i Y czułość oraz współczynnik wypełnienia impulsu dla 0g

2. Obserwacja działania czujnika jako miernika nachylenia

Po wciśnięciu SPACJI można obserwować graficznie aktualnie mierzone nachylenie płaszczyzny czujnika.

3. Obserwacja przebiegów na wyjściach X i Y oraz XFILT, YFILT

Podłączyć wyjścia XOUT, YOUT do oscyloskopu, wyjścia XFILT, YFILT do woltomierza. Zaobserwować jak zmieniają się przebiegi i napięcia wraz z pochylaniem czujnika. Odpisać czasy i napięcia dla +1g, 0g, -1g.

4. SELF TEST

Układ czujnika posiada wejście SELF TEST, które można sterować z urządzenia nadrzędnego, w naszym przypadku wejście to uaktywniane jest przyciskiem na płytce interfejsu.
Po wciśnięciu przycisku SELF TEST odpisać zmiany napięć i wypełnienia przebiegów.
Zmianę wartości wypełnienia przeliczoną na zmianę "g" należy umieścić w sprawozdaniu.

5. Pomiar charakterystyki UX=f(ax), UY=f(ay) oraz dx=f(UXfilt), dy=f(UYfilt)

Zmierzyć zależność wypełnienia impulsów od napięcia dla kanałów X i
( dx=f(UXfilt), dy=f(UYfilt) ). Jeśli jest to możliwe, zmierz także kąt nachylenia czujnika. Charakterystyki umieścić w sprawozdaniu.

6. Obserwacja wpływu uśredniania na dokładność pomiaru

Zaobserwować wpływ uśredniania na zmiany wyników pomiaru (zmieniając liczbę uśrednianych pomiarów).
Jak zmienia się zmierzone przyspieszenie (przy nieruchomym czujniku) dla uśredniania 4 oraz 16 próbek?

7. Obserwacja zmian długości czasu T2

Odpisać czas T2 (większa cyfra przy współczynniku wypełnienia). Czas ten powinien pozostawać stały.
Zaobserwować zmiany czasu T2 podczas:

Czy ewentualne zmiany należy uwzględniać przy pomiarach, czy można przyjąć okres T2 jako stały?

w górę

Czujnik w akcji

płytki - widok ogólny
Płytki drukowane - widok całościowy.

Widoczny kabel zasilający, kabel łączący poprzez interfejs RS232 z komputerem PC (po lewej) oraz kabel z wtykiem PS/2 łączący z czujnikiem (po prawej), płytka czujnika widoczna u góry zdjęcia.




płytka bazowa
Płytka bazowa.

Tutaj znajduje się mikrokontroler AT80C2051 mierzący czasy przebiegów z czujnika oraz układ dopasowujący do poziomów napięć portu RS232 (-10V, +10 V). Całość zasilana ze stabilizatora monolitycznego LM78L05 (5V). Gniazda BNC umieszczone na płytce umożliwiają obserwacje oscyloskopowe oraz pomiary napięć przebiegów z czujnika. Przycisk Self Test - ciekawe, co on robi? :)



płytka bazowa - druk
Płytka bazowa - strona druku.


test połączenia
Test połączenia z komputerem.

W przypadku błędów w transmisji nieznanego pochodzenia (np. płytka uległa uszkodzeniu podczas wykonywania ćwiczenia :) ), program TEST pozwala ręcznie wybrać dowolny port szeregowy i obejrzeć poprawność przesyłanych danych. W przypadku braku aktywności łączność można sprawdzic za pomocą zwykłego terminala. Brak jakiejkolwiek aktywności może być spowodowany brakiem zasilania, oberwaniem kabelka od czujnika, zawieszeniem mikrokontrolera (wbrew pozorom, mimo poprawnego oprogramowania mikrokontrolera, może się tak zdarzyć (chociaż bardzo rzadko)), wreszcie uszkodzeniem któregoś z komponentów.



Kalibracja osi X
Kalibracja w osi X, pomiar -1g.

Procedura kalibracji polega na pomiarach, osobno dla osi X oraz Y, współczynnika wypełnienia przy przyspieszeniu +1g oraz -1g. Przyspieszenie ziemskie jest najłatwiej dostępnym oraz bardzo dokładnym wzorcem. Niebagatelne znaczenie ma odpowiednie ustawienie czujnika względem pionu - oś poddawana kalibracji powinna być ustawiona dokładnie pionowo. Niedokładność na tym etapie jest głównym źródłem błędu pomiaru (zobacz kolejne zdjęcie :)). Dla podniesienia dokładności dokonywane jest uśrednianie kolejnych sześćdziesięciu pomiarów.



Kalibracja osi X
Kalibracja w osi X, pomiar +1g (no, prawie :)).


Kalibracja osi Y
Kalibracja w osi Y, pomiar -1g.


Kalibracja osi Y
Kalibracja w osi Y, pomiar +1g.


ekran programu
Ekran programu ACCEL.

To tutaj można odczytać parametry czujnika po kalibracji: czułość oraz wypełnienie dla 0g w obu osiach, a także aktualne wypełnienie przebiegu, również w rozbiciu na odpowiednie czasy, aktualny stan przyspieszenia mierzonego przez czujnik oraz kąt pochylenia czujnika.



fun, FUN, FUN!!!
Widok płaszczyzny czujnika.

Ciężko się od tego oderwać. Ale o tym można się przekonać na odpowiednim przedmiocie obieralnym :)



inny widok płaszczyzny
Inny widok płaszczyzny.


obudowy czujników ADXL
Czujniki ADXL w dostępnych obecnie obudowach.

Widoczny po lewej, oraz na płytce drukowanej, czujnik ADXL202AQC. Po prawej czujnik ADXL202E - wersja o zmniejszonych szumach i gabarytach, widok od góry oraz od strony wyprowadzeń. Czujnik ADXL202, ze względu na dużą czułość, nadaje się najlepiej do pomiaru kąta nachylenia.



szybszy układ
Układ szybszy.

Wersja "niećwiczeniowa" interfejsu czujnika może być znacznie zmniejszona. Poprzez dołożenie bramek XOR odpowiednio przełączających wejścia czujnika oraz wykorzystanie systemu przerwań mikrokontrolera, układ może dokonywać pomiarów czterokrotnie szybciej. W wersji nie wymagającej odczytu poszczególnych czasów, wystarczy również przesyłać obliczony przez mikrokontroler współczynnik wypełnienia (2 B/kanał zamiast 5 B/kanał). Do zapisania współczynnika wypełnienia wystarczy dokładność 14-bitowa, zaś pozostałe 2 bity mogą być użyte do oznaczenia kanału (np. bity najstarsze kolejnego, młodszego oraz starszego bajtu). Taki sposób przesyłu wymaga od programu komputera PC utrzymania ciągłej synchronizacji z napływającym strumieniem danych.





w górę
Autorzy: Paweł Miękina i Jerzy Panasiewicz.
Ćwiczenie powstało w ramach projektu w przedmiotu "Inteligentne układy sensorowe" - opiekun W. Maziarz.