Kako Povezati Merilnik Pospeška Z Arduino

Kazalo:

Kako Povezati Merilnik Pospeška Z Arduino
Kako Povezati Merilnik Pospeška Z Arduino

Video: Kako Povezati Merilnik Pospeška Z Arduino

Video: Kako Povezati Merilnik Pospeška Z Arduino
Video: Как использовать гироскоп, акселерометр, магнитометр MPU-9250 для Arduino 2024, Maj
Anonim

Tokrat se bomo ukvarjali s priključitvijo analognega triaksialnega merilnika pospeška ADXL335 na Arduino.

Analogni merilnik pospeška ADXL335
Analogni merilnik pospeška ADXL335

Potrebno

  • - Arduino;
  • - merilnik pospeška ADXL335;
  • - osebni računalnik z razvojnim okoljem Arduino IDE.

Navodila

Korak 1

Merilniki pospeška se uporabljajo za določanje vektorja pospeška. Merilec pospeška ADXL335 ima tri osi in zahvaljujoč temu lahko določi vektor pospeška v tridimenzionalnem prostoru. Ker je gravitacijska sila tudi vektor, lahko merilnik pospeška določi svojo orientacijo v tridimenzionalnem prostoru glede na središče Zemlje.

Na sliki so slike iz potnega lista (https://www.analog.com/static/imported-files/data_sheets/ADXL335.pdf) za merilnik pospeška ADXL335. Tu so prikazane koordinatne osi občutljivosti merilnika pospeška glede na geometrijsko postavitev telesa naprave v vesolju, pa tudi tabela vrednosti napetosti iz 3 kanalov merilnika pospeška, odvisno od njegove orientacije v prostoru. Podatki v tabeli so podani za senzor v mirovanju.

Poglejmo si podrobneje, kaj nam kaže merilnik pospeška. Senzor naj leži vodoravno, na primer na mizi. Potem bo projekcija vektorja pospeška enaka 1g vzdolž osi Z ali Zout = 1g. Preostali dve osi bosta imeli ničli: Xout = 0 in Yout = 0. Ko je senzor obrnjen "na hrbet", bo usmerjen v nasprotni smeri glede na gravitacijski vektor, tj. Zout = -1g. Podobno se izvajajo meritve na vseh treh oseh. Jasno je, da je merilnik pospeška mogoče namestiti po želji v vesolje, zato bomo z vseh treh kanalov odčitali odčitke, ki niso nič.

Če sondo močno stresamo vzdolž navpične osi Z, bo vrednost Zout večja od "1g". Največji izmerljivi pospešek je "3g" v vsaki osi v katero koli smer (tj. Oba s "plus" in "minus").

Osi občutljivosti merilnika pospeška in tabela izhodnih vrednosti
Osi občutljivosti merilnika pospeška in tabela izhodnih vrednosti

2. korak

Mislim, da smo ugotovili princip delovanja merilnika pospeška. Zdaj pa poglejmo diagram povezave.

Analogni merilec pospeška ADXL335 je precej majhen in je vgrajen v BGA paket, doma pa ga je težko namestiti na ploščo. Zato bom uporabil pripravljeni modul GY-61 z merilnikom pospeška ADXL335. Takšni moduli v kitajskih spletnih trgovinah stanejo skoraj drobiž.

Za napajanje merilnika pospeška je treba na zatič VCC modula napajati napetost +3, 3 V. Merilni kanali senzorja so povezani z analognimi zatiči Arduino, na primer "A0", "A1" in " A2 ". To je celo vezje:)

Shema ožičenja merilnika pospeška ADXL335 v Arduno
Shema ožičenja merilnika pospeška ADXL335 v Arduno

3. korak

Naložimo to skico v Arduino spomin. Odčitke bomo prebrali z analognih vhodov na treh kanalih, jih pretvorili v napetost in jih poslali v serijska vrata.

Arduino ima 10-bitni ADC, največja dovoljena napetost pin pa je 5 voltov. Izmerjene napetosti so kodirane z bitami, ki imajo lahko le 2 vrednosti - 0 ali 1. To pomeni, da bo celotno merilno območje deljeno z (1 + 1) do 10. moči, tj. na 1024 enakih odsekih.

Če želite odčitke pretvoriti v volte, morate vsako vrednost, izmerjeno na analognem vhodu, razdeliti na 1024 (segmenti) in nato pomnožiti s 5 (volti).

Poglejmo, kaj v resnici izhaja iz merilnika pospeška, na primer za os Z (zadnji stolpec). Ko je senzor postavljen vodoravno in gleda navzgor, se prikažejo številke (2,03 +/- 0,01). Torej mora to ustrezati pospešku "+ 1g" vzdolž osi Z in kotu 0 stopinj. Obrnite senzor. Prispejo številke (1, 69 +/- 0, 01), ki naj ustrezajo "-1g" in kotu 180 stopinj.

Skica za branje pospeška
Skica za branje pospeška

4. korak

Vzemimo vrednosti merilnika pospeška pod kotom 90 in 270 stopinj in jih vnesite v tabelo. Tabela prikazuje kote vrtenja merilnika pospeška (stolpec "A") in ustrezne vrednosti Zout v voltih (stolpec "B").

Zaradi jasnosti je prikazana ploskev napetosti na izhodu Zout glede na kot vrtenja. Modro polje je domet v mirovanju (pri pospešku 1 g). Rožnato polje na grafu je rob, tako da lahko izmerimo pospešek do + 3g in do -3g.

Pri rotaciji za 90 stopinj ima os Z pospešek nič. Tisti. vrednost 1,67 voltov je pogojna nič Zo za os Z. Nato lahko najdete pospešek tako:

g = Zout - Zo / občutljivost_z, tukaj je Zout izmerjena vrednost v milivoltih, Zo vrednost pri ničelnem pospešku v milivoltih, občutljivost_z je občutljivost senzorja vzdolž osi Z. umerite merilnik pospeška in izračunajte vrednost občutljivosti posebej za vaš senzor po formuli:

občutljivost_z = [Z (0 stopinj) - Z (90 stopinj)] * 1000. V tem primeru je občutljivost merilnika pospeška vzdolž osi Z = (2, 03 - 1, 68) * 1000 = 350 mV. Podobno bo treba izračunati občutljivost za osi X in Y.

Stolpec "C" tabele prikazuje pospešek, izračunan za pet kotov pri občutljivosti 350. Kot lahko vidite, praktično sovpadajo s tistimi, prikazanimi na sliki 1.

Ustreznost kotov vrtenja merilnika pospeška odčitkom
Ustreznost kotov vrtenja merilnika pospeška odčitkom

5. korak

Če se spomnimo osnovnega tečaja geometrije, dobimo formulo za izračun kotov vrtenja merilnika pospeška:

kot_X = arctg [sqrt (Gz ^ 2 + Gy ^ 2) / Gx].

Vrednosti so v radianih. Če jih želite pretvoriti v stopinje, jih delite s Pi in pomnožite z 180.

Posledično je na sliki prikazana celotna skica, ki izračunava kote pospeška in vrtenja merilnika pospeška vzdolž vseh osi. V komentarjih so pojasnila programske kode.

Pri izhodu v vrata "Serial.print ()" znak "\ t" označuje znak zavihka, tako da so stolpci enakomerni, vrednosti pa ena pod drugo. "+" pomeni združevanje (združevanje) nizov. Poleg tega operator "String ()" prevajalniku izrecno pove, da je treba številsko vrednost pretvoriti v niz. Operator round () zaokroži vogal na najbližjo 1 stopinjo.

Skica, ki izračuna pospešek in kote merilnika pospeška
Skica, ki izračuna pospešek in kote merilnika pospeška

6. korak

Tako smo se naučili, kako jemati in obdelovati podatke iz analognega merilnika pospeška ADXL335 z uporabo Arduina. Zdaj lahko merilnik pospeška uporabljamo pri svojih modelih.

Priporočena: