This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
et:examples:sensor:accelerometer [2014/10/10 08:27] – raivo.sell | et:examples:sensor:accelerometer [2020/07/20 09:00] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ~~PB~~ | ||
====== Kiirendusandur ====== | ====== Kiirendusandur ====== | ||
- | //Vajalikud teadmised: [HW] [[et: | + | //Vajalikud teadmised: |
+ | [HW] [[et: | ||
+ | [AVR] [[et: | ||
+ | [LIB] [[et: | ||
===== Teooria ===== | ===== Teooria ===== | ||
- | [{{ : | + | [{{ : |
Kiirendusandurit kasutatakse peamiselt kiiruste muutuste mõõtmiseks. Samuti saab kiirendusanduriga mõõta anduri nurka maapinna suhtes. Kiirendusandurid on konstrueeritud ja valmistatud mikroelektromehaanika tehnoloogial (inglise keeles // | Kiirendusandurit kasutatakse peamiselt kiiruste muutuste mõõtmiseks. Samuti saab kiirendusanduriga mõõta anduri nurka maapinna suhtes. Kiirendusandurid on konstrueeritud ja valmistatud mikroelektromehaanika tehnoloogial (inglise keeles // | ||
- | Tüüpiline kiirendusandur koosneb mikrofreesitud mahtuvuslikust andurelemendist (g-rakk) ja mõõte- ning andmetöötluselektroonikast. Mõõteelement koos elektroonikaga on suletud vee ja õhukindlalt anduri korpusesse. G-rakk on mikrokiipi söövitatud polüsilikooni kiht, mis koos kahe fikseeritud mahtuvusliku plaadiga moodustab kaks kondensaatorit. Kui andurile rakendada mingi kiirendus, siis g-raku keskmine kiht liigub vastavalt ühe või teise fikseeritud plaadi poole ning kondensaatorite mahtuvus muutub proportsionaalselt kiirendusele. | + | Tüüpiline kiirendusandur koosneb mikrofreesitud mahtuvuslikust andurelemendist (g-rakk) ja mõõte- ning andmetöötluselektroonikast. Mõõteelement koos elektroonikaga on suletud vee ja õhukindlalt anduri korpusesse. G-rakk on mikrokiipi söövitatud polüsilikooni kiht, mis koos kahe fikseeritud mahtuvusliku plaadiga moodustab kaks kondensaatorit. Kui andurile rakendada mingi kiirendus, siis g-raku keskmine kiht liigub vastavalt ühe või teise fikseeritud plaadi poole ning kondensaatorite mahtuvus muutub proportsionaalselt kiirendusele. Andurisse sisse ehitatud elektroonika tegeleb g-rakkude mõõtmisega ning analüüsimisega. Elementidest tulev informatsioon võimendatakse, |
- | + | ||
- | Andurisse sisse ehitatud elektroonika tegeleb g-rakkude mõõtmisega ning analüüsimisega. Elementidest tulev informatsioon võimendatakse, | + | |
===== Praktika ===== | ===== Praktika ===== | ||
- | [{{ : | ||
Kodulabori lisakomplektiga on kaasas lihtne 3-teljeline MMA7361L kiibil põhinev kiirendusandur. Kiirendusandur võimaldab valida kahe erineva mõõtepiirkonna vahel, milleks on ±1.5g ja ±6g. Anduril on sisseehitatud temperatuuri kompensatsioon, | Kodulabori lisakomplektiga on kaasas lihtne 3-teljeline MMA7361L kiibil põhinev kiirendusandur. Kiirendusandur võimaldab valida kahe erineva mõõtepiirkonna vahel, milleks on ±1.5g ja ±6g. Anduril on sisseehitatud temperatuuri kompensatsioon, | ||
+ | |||
+ | [{{ : | ||
^ Tähis plaadil ^ Signaali tüüp ^ Kirjeldus ^ | ^ Tähis plaadil ^ Signaali tüüp ^ Kirjeldus ^ | ||
- | | 0GD | Digitaalväljund | 0G tuvastamise signaal | | + | | 0GD | Digitaalväljund | 0G tuvastamise |
| X | Analoogväljund | X-telje väljundsignaal | | | X | Analoogväljund | X-telje väljundsignaal | | ||
| Y | Analoogväljund | Y-telje väljundsignaal | | | Y | Analoogväljund | Y-telje väljundsignaal | | ||
Line 24: | Line 25: | ||
| + | Toide | Toide 3.0-3.6 V | | | + | Toide | Toide 3.0-3.6 V | | ||
| G | Toide | Maa | | | G | Toide | Maa | | ||
- | | SLEEP | Digitaalsisend | Puhkerežiim, | + | | SLEEP | Digitaalsisend | Puhkerežiim, |
| GS| Digitaalsisend | Režiimi valik | | | GS| Digitaalsisend | Režiimi valik | | ||
| ST| Digitaalsisend | Enesetesti funktsioon | | | ST| Digitaalsisend | Enesetesti funktsioon | | ||
Line 31: | Line 32: | ||
<code c> | <code c> | ||
- | // Kiirendusanduri näiteprogramm | + | // Kodulabori kiirendusanduri näidisprogramm |
+ | // Loetakse kiirendusanduri kolme telje väärtused ja kuvatakse need ekraanil | ||
+ | // X ja Y telje näidud | ||
#include < | #include < | ||
#include < | #include < | ||
#include < | #include < | ||
- | // | + | // Väärtuste teisendusfunktsioon |
long map(long x, long in_min, long in_max, long out_min, long out_max) | long map(long x, long in_min, long in_max, long out_min, long out_max) | ||
{ | { | ||
Line 53: | Line 56: | ||
// Lõputu tsükkel | // Lõputu tsükkel | ||
- | while (true) | + | while (1) |
{ | { | ||
char buffer[60]; | char buffer[60]; | ||
Line 62: | Line 65: | ||
uint16_t z = adc_get_value(3); | uint16_t z = adc_get_value(3); | ||
- | // | + | // Kiirendusanduri telgede lugemite teisendamine ekraani |
+ | // mõõtkavasse, | ||
uint16_t x_map = map(x, | uint16_t x_map = map(x, | ||
uint16_t y_map = map(y, | uint16_t y_map = map(y, |