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:28] – 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 ===== | ||
| Line 15: | Line 15: | ||
| 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 25: | 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 32: | 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 54: | Line 56: | ||
| // Lõputu tsükkel | // Lõputu tsükkel | ||
| - | while (true) | + | while (1) |
| { | { | ||
| char buffer[60]; | char buffer[60]; | ||
| Line 63: | 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, | ||