Sisällysluettelo:
Video: ADXL345 Arduino Uno R3: 5 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Tässä oppitunnissa opimme käyttämään kiihtyvyysanturia ADXL345.
Vaihe 1: Komponentit
- Arduino Uno -levy * 1
- USB -kaapeli * 1
- ADXL345 *1
- Leipälauta * 1
- Hyppyjohdot
Vaihe 2: Periaate
Kiihtyvyysmittaria käytetään mittaamaan kiihtyvyyden aikana syntyvää voimaa. Tärkein on yleisesti tunnettu painovoiman kiihtyvyys, joka on 1 g.
Mittaamalla painovoiman aiheuttamaa kiihtyvyyttä voit laskea laitteen kallistuskulman tasopintaan nähden. Dynaamisen kiihtyvyyden analysoinnin avulla voit kertoa, miten laite liikkuu. Esimerkiksi itsetasapainotuslevy tai leijulauta soveltaa kiihtyvyysanturia ja gyroskooppia Kalman-suodattimeen ja asennon korjaamiseen.
ADXL345
ADXL345 on pieni, ohut, pienitehoinen, 3-akselinen kiihtyvyysanturi, jonka tarkkuus (13-bittinen) mitataan jopa ± 16 g. Digitaalinen lähtötieto on muotoiltu 16-bittiseksi kahden komplementiksi ja siihen pääsee joko SPI (3- tai 4-johtiminen) tai I2C-digitaaliliitännän kautta. Tässä kokeessa käytetään digitaalista I2C -rajapintaa.
Se soveltuu hyvin staattisen painovoiman kiihtyvyyden mittaamiseen kallistusanturisovelluksissa sekä liikkeen tai iskun aiheuttamaa dynaamista kiihtyvyyttä. Sen suuri resoluutio (4 mg/LSB) mahdollistaa kaltevuuden muutoksen mittaamisen alle 1,0 °. Erinomainen herkkyys (3,9 mg/LSB @2 g) tarjoaa tarkan tuloksen jopa ± 16 g.
Kuinka ADXL345 toimii
ADXL345 tunnistaa kiihtyvyyden, kun anturikomponentti on edessä, ja sitten sähköisen signaalin tunnistava komponentti muuttaa sen sähköiseksi signaaliksi, joka on analoginen. Seuraavaksi moduuliin integroitu AD -sovitin muuntaa analogisen signaalin digitaaliseksi.
X_OUT, Y_OUT ja Z_OUT ovat arvot X-, Y- ja Z -akselilla. Aseta moduuli kuvapuoli ylöspäin: Z_OUT voi saavuttaa korkeintaan +1 g, vähintään X_OUT on -1 g akselin suuntaan ja minimi Y_OUT on -1 g kohti Ay -suuntaa. Toisaalta, käännä moduuli ylösalaisin: Z_OUT: n minimi on -1 g, X_OUT: n maksimimäärä on +1 g akselin suuntaan ja suurin Y_OUT on +1 g kohti Ay -suuntaa., kuten alla. Käännä ADXL345 -moduulia ja näet kolmen arvon muutoksen.
kun kanava A muuttuu korkealta tasolta matalalle tasolle, jos kanava B on korkealla tasolla, se osoittaa, että pyörivä anturi pyörii myötäpäivään (CW); jos kanava B on tällä hetkellä matalalla tasolla, se tarkoittaa pyörii vastapäivään (CCW). Joten jos luemme kanavan B arvon, kun kanava A on matalalla tasolla, voimme tietää mihin suuntaan pyörivä anturi pyörii.
Periaate: Katso alla oleva kaavio Rotary Encoder -moduulista. Siitä voimme nähdä, että kiertokooderin nasta 3, eli moduulin CLK, on kanava B. Nasta 5, joka on DT, on kanava A. Jos haluat tietää tallentimen pyörimissuunnan, lue vain CLK- ja DT.
Piirissä on 3,3 voltin jännitesäätimen siru, joten voit käyttää moduulia 5 V: n tai 3,3 V: n jännitteellä.
Koska SDO on kytketty GND: hen, ADXL345: n I2C -osoite on 0x53, 0xA6 kirjoitusta varten, 0xA7 lukemista varten
ADXL345 -moduulin nastatoiminto.
Vaihe 3: Toimenpiteet
Vaihe 1. Rakenna piiri.
Vaihe 2:
Lataa koodi osoitteesta
Vaihe 3:
Lataa luonnos Arduino Uno -levylle
Napsauta Lähetä -kuvaketta ladataksesi koodin ohjauspaneelille.
Jos "Valmis lataus" näkyy ikkunan alareunassa, se tarkoittaa, että luonnos on ladattu onnistuneesti.
Avaa lataamisen jälkeen Serial Monitor, jossa näet havaitut tiedot. Kun moduulin kiihtyvyys muuttuu, luku muuttuu vastaavasti ikkunassa.
Vaihe 4: Koodi
// ADXL335
/********************************
ADXL335
huomautus: vcc5v, mutta ADXL335 Vs on 3.3V
Piiri:
5V: VCC
analoginen 0: x-akseli
analoginen 1: y-akseli
analoginen 2: z-akseli
Polttamisen jälkeen
avaa sarjamonitorin virheenkorjausikkuna, jossa näet havaitut tiedot. Kun kiihtyvyys vaihtelee, luku vaihtelee vastaavasti.
*********************************
/Sähköposti:
// Verkkosivusto: www.primerobotics.in
const int xpin =
A0; // kiihtyvyysmittarin x-akseli
const int ypin =
A1; // y-akseli
const int zpin =
A2; // z-akseli (vain 3-akseliset mallit)
mitätön asennus ()
{
// sarjaliikenteen alustaminen:
Sarja.alku (9600);
}
tyhjä silmukka ()
{
int x = analoginenLue (xpin); // lukea xpinistä
viive (1); //
int y = analoginen lukema (ypin); // lukea ypinistä
viive (1);
int z = analoginen luku (zpin); // lukea zpinistä
float zero_G = 338,0; // ADXL335 -virtalähde
Vs 3.3V: 3.3V/5V*1024 = 676/2 = 338
//Sarjanjälki (x);
//Sarja.print ("\t ");
// Sarjanjälki (y);
//Sarja.print ("\t ");
//Sarjanjälki (z);
//Sarja.print ("\n ");
kellua
zero_Gx = 331.5; // x -akselin nolla_G -lähtö: (x_max + x_min)/2
kellua
zero_Gy = 329,5; // y -akselin nolla_G -lähtö: (y_max + y_min)/2
float zero_Gz = 340.0; //
z -akselin nolla_G -lähtö: (z_max + z_min)/2
kelluva asteikko =
67,6; // virtalähde Vs 3.3V: 3.3v/5v *1024/3.3v *330mv/g = 67,6g
kelluva asteikko_x =
65; // x -akselin asteikko: x_max/3.3v*330mv/g
float scale_y =
68,5; // y -akselin asteikko: y_max/3.3v*330mv/g
float scale_z =
68; // z -akselin asteikko: z_max/3.3v*330mv/g
Serial.print (((float) x
- nolla_Gx)/asteikko_x); // tulosta x -arvo sarjamonitorille
Serial.print ("\ t");
Serial.print (((float) y
- nolla_Gy)/asteikko_y); // tulosta y -arvo sarjamonitoriin
Serial.print ("\ t");
Serial.print (((kelluva) z
- nolla_Gz)/asteikko_z); // tulosta z -arvo sarjamonitorille
Serial.print ("\ n");
viive (1000); // odota 1 sekunti
}
Vaihe 5: Koodianalyysi
ADXL345 -kokeilun koodi sisältää 3 osaa: alusta jokainen portti ja laite, hanki ja tallenna antureilta lähetetty data ja muunna tiedot.
Suositeltava:
Raspberry Pi - ADXL345 3 -akselinen kiihtyvyysmittari Python -opetusohjelma: 4 vaihetta
Raspberry Pi-ADXL345 3-akselinen kiihtyvyysmittari Python-opetusohjelma: ADXL345 on pieni, ohut, erittäin pienitehoinen, 3-akselinen kiihtyvyysanturi, jonka tarkkuus (13-bittinen) mitataan jopa ± 16 g. Digitaalinen lähtötieto on muotoiltu 16-bittiseksi kaksoiskappaleeksi, ja se on saatavana digitaalisen I2 C-liitännän kautta. Se mittaa
Kiihtyvyyden mittaus käyttämällä ADXL345: tä ja hiukkasfotonia: 4 vaihetta
Kiihtyvyyden mittaus käyttämällä ADXL345: tä ja hiukkasfotonia: ADXL345 on pieni, ohut, erittäin pienitehoinen, 3-akselinen kiihtyvyysanturi, jonka tarkkuus (13-bittinen) mitataan jopa ± 16 g. Digitaalinen lähtötieto on muotoiltu 16-bittiseksi kaksoiskappaleeksi, ja se on saatavana digitaalisen I2 C-liitännän kautta. Se mittaa
Raspberry Pi - ADXL345 3 -akselinen kiihtyvyysanturin Java -opetusohjelma: 4 vaihetta
Raspberry Pi-ADXL345 3-akselinen kiihtyvyysmittari Java-opetusohjelma: ADXL345 on pieni, ohut, erittäin matala tehoinen, 3-akselinen kiihtyvyysanturi, jonka tarkkuus (13-bittinen) mitataan jopa ± 16 g. Digitaalinen lähtötieto on muotoiltu 16-bittiseksi kaksoiskappaleeksi, ja se on saatavana digitaalisen I2 C-liitännän kautta. Se mittaa
Kiihtyvyyden mittaus käyttäen ADXL345 ja Raspberry Pi: 4 vaihetta
Kiihtyvyyden mittaus ADXL345: n ja Raspberry Pi: n avulla: ADXL345 on pieni, ohut, erittäin pienitehoinen, 3-akselinen kiihtyvyysanturi, jonka tarkkuus (13-bittinen) mitataan jopa ± 16 g. Digitaalinen lähtötieto on muotoiltu 16-bittiseksi kaksoiskappaleeksi, ja se on saatavana digitaalisen I2 C-liitännän kautta. Se mittaa
Kiihtyvyyden mittaus käyttäen ADXL345 ja Arduino Nano: 4 vaihetta
Kiihtyvyyden mittaus ADXL345: n ja Arduino Nanon avulla: ADXL345 on pieni, ohut, erittäin pienitehoinen 3-akselinen kiihtyvyysanturi, jolla on suuri resoluutio (13-bittinen) mittaus jopa ± 16 g. Digitaalinen lähtötieto on muotoiltu 16-bittiseksi kaksoiskappaleeksi, ja se on saatavana digitaalisen I2 C-liitännän kautta. Se mittaa