Akcelerometer ADXL 335


Popis


   Na ilustračnom obrázku je zobrazené malé PCB s osadeným trojosovým akcelerometrom ADXL335 od Analog Devices. Ide o najnovší analógový senzor v dlhej osvedčenej línií akcelerometrov. ADXL335 je trojosový akcelerometer s veľmi nízkym šumom a spotrebou - iba 320 uA! Senzor má rozsah do ± 3 g.
   Môžeme ho použiť pre meranie stacionárneho zemského zrýchlenia pre meranie uhla náklonu, ale je vhodný aj pre meranie dynamických zrýchlení ako sú vibrácie a zrýchlenia pri pohybujúcich sa objektoch. Šírku frekvenčného pásma je možné nastaviť pomocou kondenzátorov Cx, Cy a Cz pripojených na výstupné piny X,Y a Z osi. Pre osi citlivosti X a Y vieme nastaviť šírku frekvenčného pásma v rozsahu 0,5 Hz – 1600 Hz. Pre os citlivosti Z je šírka frekvenčného pásma v rozsahu 0,5 Hz – 550 Hz.


Parametre snímača


  • Nelinearita: ± 0,3%
  • Chyba ortogonality v púzdre: ± 1°
  • Napájacie napätie: 1,8 - 3,6 V
  • Výstupné napätie pri 0 g a Unap = 3V: 1,5 V ±0,15 V
  • Citlivost pri Unap = 3V: 300 ± 30 mV/g
  • Pracovná teplota: -40 °C až +80 °C

Maximálne parametre, ktoré snímač vydrží bez poškodenia

  • Zrýchlenie: ± 10 000g
  • Napájacie napätie Unap: 3,6 V

Rozmery

  • Doska s osadeným snímačom: 1,78 x 1,78 cm
  • Samotný snímač: 4 mm × 4 mm × 1.45 mm


   Akcelerometer ma pin ST (Self Test). Ak na daný pin pripojíme napájacie napätie, tak vznikne elektrostatická sila pôsobiaca na citlivé časti snímača, takže vieme skontrolovať funkčnosť snímača.

  • V osi X sa vytvorí zrýchlenie: -1,08 g
  • V osi Y sa vytvorí zrýchlenie: +1,08 g
  • V osi Z sa vytvorí zrýchlenie: +1,83 g

   Ak akcelerometer funguje správne, tak toto pôsobiace zrýchlenie spôsobí zmenu výstupného napätia:

  • V osi X : -325 mV
  • V osi Y : +325 mV
  • V osi Z : +550 mV

   Na pin ST nemôžeme pripojiť napätie väčšie ako Unap+0,3 V.

link na datasheet

Zapojenie s Arduino Duemilanove


   Program číta hodnoty X, Y, a Z z akcelerometra pripojeného na analógový vstup 0, 1 a 2, v tomto poradí. Načítané hodnoty napätia po A/D prevode sú vypísané na monitor sériovej komunikácie a ďalej sú prepočítané na aktuálne zrýchlenia, ktoré sú tiež vypísané na monitor sériovej komunikácie. Výpis programu pre Arduino:



float x, y, z, Ax, Ay, Az;

void setup()
{
   Serial.begin(9600); // inicializujeme seriovu komunikaciu
}

void loop()
{
   x = analogRead(0); // nacita napatie na analogovom pine 0
   y = analogRead(1); // nacita napatie na analogovom pine 1
z = analogRead(2); // nacita napatie na analogovom pine 2

   Serial.print("nacitane hodnoty po A/D prevode v osiach x, y, z su: ");
   Serial.print(x); // vypise hodnotu napatie po A/D prevode v osi X
   Serial.print(" ");
   Serial.print(y); // vypise hodnotu napatie po A/D prevode v osi Y
   Serial.print(" ");
   Serial.print(z); // vypise hodnotu napatie po A/D prevode v osi Z
   Serial.println(" ");

   Ax=(5000*x/1023-1500)/300; // prepocet z nacitanej hodnoty
   Ay=(5000*y/1023-1500)/300; // prepocet z nacitanej hodnoty
   Az=(5000*z/1023-1500)/300; // prepocet z nacitanej hodnoty

   Serial.print("zrychlenia v osiach x, y, z su: ");
   Serial.print(Ax); // vypise hodnotu zrychlenia v osi X
   Serial.print(" ");
   Serial.print(Ay); // vypise hodnotu zrychlenia v osi Y
   Serial.print(" ");
   Serial.println(Az); // vypise hodnotu zrychlenia v osi Z axis
   Serial.println();
   Serial.println();
   delay(100); // pocka 100 ms a nasleduej dalsie nacitavanie napatia na analogovych pinoch
}