
Kustakwe ezithombeni ezingama-12. Indlela=B (R=44,S=4)
Ezweni lanamuhla lobuchwepheshe nezinto zikagesi, izinzwa ze-MEMS (Micro-Electro-Mechanical Systems) seziphenduke ithuluzi elibalulekile lazo zonke izinhlobo zamaphrojekthi, kusukela kumarobhothi kuya ezishintshayo zasekhaya nezinto ezigqokekayo. Amamojula ahlanganisa ama-accelerometers nama-gyroscopes, njenge- MPU6050 futhi i I-LSM9DS1, yizinketho ezimbili ezidume kakhulu ngenxa yokuguquguquka kwazo, izindleko eziphansi, kanye nokulula kokuhlanganiswa nama-microcontrollers afana ne-Arduino namanye amapulatifomu. Ukuqondisisa kahle ukusebenza kwazo, izici ezihlukile, umehluko, ngisho nendlela engcono kakhulu yokuzisebenzisa kubalulekile ekuklameni amasistimu anembayo kala ukunyakaza, umumo nokuthambekela.
Kulesi sihloko sizokuthatha isinyathelo ngesinyathelo kukho konke odinga ukukwazi mayelana nezinzwa MPU6050 y I-LSM9DS1: basebenza kanjani, yiziphi izinhlelo zokusebenza abanazo, ungazihlanganisa kanjani kuphrojekthi yakho, uzilinganise, uhumushe ukufundwa kwazo ngendlela efanele futhi usebenzise amakhono abo ngokugcwele, ukuhlanganisa imininingwane eqoqwe ezifundweni ezinhle kakhulu nezindatshana zobuchwepheshe, ngaphansi kombono osebenzayo nobuyekeziwe ngolimi oluseduze, ukuze ukuzuza imiphumela yobungcweti ekuthuthukeni kwakho.
Iyini inzwa ye-MEMS futhi isebenza kanjani?
Ngaphambi kokungena kumamodeli athile we-MPU6050 kanye ne-LSM9DS1, kubalulekile ukucaca ngomqondo we Inzwa ye-MEMS. Lezi zixhobo, ezibizwa nangokuthi Amasistimu we-Micro Electromechanical, ihlanganise izakhi zemishini engabonakali kanye namasekhethi e-elekthronikhi ku-chip eyodwa, ukuze ikwazi ukubona ukuhlukahluka okubonakalayo—njengokusheshisa, ukujikeleza, noma ukudlidliza—futhi iziguqule zibe izimpawu zikagesi ezingachazwa izinhlelo zedijithali.
Endabeni yama-accelerometers we-MEMS nama-gyroscopes, ukusebenza kwawo kusekelwe ezimisweni ezifana nalezi:
- Umthetho ka-Newton wokusheshisa (a = F/m), kusetshenziswa izakhiwo zangaphakathi ezisebenza njengezixuku neziphethu.
- Umthelela we-Coriolis usetshenziselwa ukuthola ukunyakaza kwe-angular, kusizakala ukuchezuka abantu abancane abakutholayo lapho bezungezisa ngaphakathi kwe-chip.
- Iziguquli zangaphakathi ze-ADC ukuze ziguqule ukuhlukahluka ngokomzimba kube amanani edijithali anokulungiswa okuphezulu (imvamisa amabhithi ayi-16).
Lawa makhono enza i-MEMS ibe usizo kakhulu ezinhlelweni ezidingayo isilinganiso sokuma, ukuthambekela noma ukunyakaza ngezilinganiso ezintathu, njengezinhlelo zokuzulazula, ukuqiniswa kwekhamera, amawashi ahlakaniphile, ama-drones, amarobhothi, nokunye okuningi.
Izici eziyinhloko ze-MPU6050
El MPU6050 Cishe iyinzwa yokunyakaza ye-MEMS esetshenziswa kakhulu kunazo zonke phakathi kwabakhi, onjiniyela nabazilibazisayo abafuna isixazululo esiyongayo nesinokwethenjelwa sokulinganisa ukusheshisa nokuzungezisa ngezimbazo ezintathu.
Ukucaciswa kwayo okubalulekile kobuchwepheshe kufaka:
- I-3-axis accelerometer: Iyakwazi ukuthola ukusheshisa kuma-axes X, Y kanye no-Z, enobubanzi obuhlelekayo obungu-±2g, ±4g, ±8g kanye no-±16g.
- 3 i-axis gyroscope: Ikala isivinini se-angular kuzo zontathu izimbazo, ngokuzwela okulungisekayo kokuthi ±250, ±500, ±1000 kanye ±2000 degrees ngomzuzwana.
- I-Digital motion processor (DMP): Ihlanganisa i-microprocessor yangaphakathi ezinikele ekwenzeni izibalo eziyinkimbinkimbi I-Motion Fusion (i-sensor fusion), ibala idatha efana nama-quaternion, ama-engeli e-Euler namatrices wokuzungezisa ngaphandle kokulayisha lezo zibalo kusilawuli esincane esiyinhloko.
- Ukukhishwa kwedijithali nge-I2C: Ukuxhumana ngebhasi le-I2C elinamakheli amabili angaba khona (alungiseka ngephinikhodi AD0 kuya ku-0x68 noma 0x69), okuvumela ukusebenza ngamabhodi amaningi e-Arduino, ESP namabhodi afanayo.
- I-16-bit ADC converter: Inikeza ukulungiswa okuphezulu ekuqoqweni kwedatha.
- Inzwa yokushisa ehlanganisiwe
- Amathuba okwandisa nge-magnetometer yangaphandle: Ngebhasi elingumsizi le-I2C, i-MPU6050 ingafunda ezinye izinzwa ezixhunyiwe njenge-HMC5883L ethandwayo (magnetometer), ukuze yakhe i-IMU ye-9-axis ephelele.
- I-voltage yokusebenza eguquguqukayo: Inganikwa amandla ku-3,3V noma ku-5V uma kusetshenziswa i-motherboard efana ne-GY-521, ehlanganisa isilawuli.
Ngaphezu kwalokho, usayizi ohlangene wemojuli (cishe u-25 x 15 mm) kanye neqiniso lokuthi ifika isilungele ukuhlanganiswa ebhodini lezinhlawulo kuyenza ilungele kokubili ukuhlolwa nokuthuthukiswa kokugcina.
Iyini i-LSM9DS1 futhi ihluke kanjani?
Ngokwengxenye yayo, i I-LSM9DS1 Kuyinketho ethuthuke kakhulu futhi yesimanje phakathi komndeni we-MEMS IMU, nakuba ingadumile kune-MPU6050 kumaphrojekthi aqalayo. Ihlanganisa okulandelayo ku-chip eyodwa:
- Un I-3-axis accelerometer
- Un 3 i-axis gyroscope
- Un I-magnetometer nayo i-3-eksisi
Lokhu kusho ukuthi i-LSM9DS1 iyi- 9 DoF (Amadigri Enkululeko) IMU, okukuvumela ukuthi ulinganise ukusheshisa, isivinini se-angular kanye nenkundla kazibuthe yomhlaba ngezinhlangothi ezintathu, inikeze ukufundwa okuphelele nokunembile indawo ephelele kanye nokumayo mayelana noMhlaba.
Izinzuzo zayo eziyinhloko ngaphezu kwe-MPU6050 zifaka:
- Ihlanganisa izinzwa ezintathu zibe chip eyodwa ebonakalayo, ukonga isikhala nokwenza ukuxhumana kube lula.
- Ungakwazi ukuxhumana kokubili ngokusebenzisa I-I2C njenge-SPI, okuyinikeza ukuguquguquka okukhulu kwamapulatifomu ahlukene.
- Ububanzi nokuzwela kwenzwa ngayinye (i-accelerometer, i-gyroscope, i-magnetometer) kulungiseka kalula.
- Inokuhlunga okuthuthukisiwe kwedijithali nezinketho zokubona umcimbi.
I-LSM9DS1 ivamise ukukhethwa kumaphrojekthi lapho kudingeka khona ukuqondiswa okuphelele (isb., amakhampasi, amasistimu okuzulazula, noma ukuqiniswa kwendiza) ngaphandle kwesidingo sezinzwa ezengeziwe zangaphandle.
Izimiso zokusebenza ze-MEMS accelerometers nama-gyroscopes
Ukuze uqonde ngempela ukuthi la mamojula we-MEMS asebenza kanjani, kubalulekile ukuqonda imiqondo ebonakalayo nokuthi ihunyushwa kanjani kudatha yedijithali:
I-Accelerometer
Un I-MEMS i-accelerometer ikala ukusheshisa kwento (ukushintsha kwejubane ngokuhamba kwesikhathi) uma kuqhathaniswa nezimbazo ezintathu zesikhala. Ngaphakathi, kusekelwe ebukhoneni buka a i-microscopic mass emisiwe ngamahange aguquguqukayo noma iziphethu ezincane. Lapho inzwa isheshisa, lesi sisindo sishintsha kancane, futhi lokhu kuhlukahluka kuguqulwa kube isignali kagesi kusetshenziswa ama-variable or piezoelectric capacitors.
- I-accelerometer ihlala ithola okungenani ukusheshisa okukodwa: i amandla adonsela phansi (9,81 m/s2), noma ngabe inzwa imile.
Lokhu kusetshenziselwa ukubala ukuthambekela ngokuphathelene nendiza evundlile. - Ngokuhlanganisa ukusheshisa ngokuphathelene nesikhathi, isivinini kanye, futhi, isikhundla esihanjiwe singatholakala, nakuba le misebenzi ivame ukuqoqa amaphutha.
IGyroscope
El I-gyroscope ye-MEMS sebenzisa i- Umphumela we-Coriolis ukuthola isivinini umzimba ozungeza ngaso izimbazo zawo X, Y kanye no-Z. Uma inzwa izwa ukuzungezisa, izixuku zokudlidliza zangaphakathi ziba nokuchezuka ngokulingana ne- isivinini se-angular, futhi lolo shintsho lukalwa ngogesi.
- Izilinganiso ze-gyroscope isivinini se-angular: ukuthi umumo wenzwa ushintsha ngokushesha kangakanani ku-eksisi ngayinye.
- Ukuhlanganisa isivinini se-angular nesikhathi kunikeza i-engeli yokuzungezisa (indawo eyi-angular), nakuba lokhu kusebenza kudala amaphutha anqwabelene abizwa ngokuthi. ukushayela.
Kungani uhlanganisa i-accelerometer ne-gyroscope?
Ngokwazo, kokubili ama-accelerometer nama-gyroscopes anemikhawulo lapho enquma umumo wento:
- I-Accelerometer: Inembile ekutholeni ukuthambekela okuhlobene ne-eksisi eqondile (usebenzisa amandla adonsela phansi), kodwa izwela kakhulu ukunyakaza okuzumayo, ukusheshisa kwangaphandle noma ukudlidliza.
- I-Gyroscope: Ilungele ukukala izinguquko ezisheshayo ku-orientation, kodwa ihlushwa ukunqwabelana kwamaphutha uma okukhiphayo kuhlanganiswe isikhathi eside.
Ngakho-ke, izinhlelo zokusebenza eziningi zihlanganisa idatha evela kuzo zombili izinzwa, okuthuthukisa kakhulu ukunemba nokuthembeka kokufundwayo. i-engeli, ukuthambekela noma indawoUkufeza lokhu, zisetshenziswa izihlungi zokucubungula zedijithali njengesihlungi Esihambisanayo noma isihlungi se-Kalman, esihlanganisa futhi sikale izinzuzo zenzwa ngayinye.
Ukuqalisa nge-MPU6050: uxhumano nemitapo yolwazi
Umdwebo wokuxhumana ojwayelekile
Imodyuli MPU6050 Ivamise ukugxunyekwa ohlotsheni lwepuleti I-GY-521, okusiza kakhulu ukuhlanganiswa nama-microcontrollers afana ne-Arduino.
Uxhumo oluyisisekelo lokusebenzisa imojuli kumodi ye-I2C kuvame ukuba:
MPU6050 | Arduino Uno/Nano/Mini | I-Arduino Mega/DUE | U-Arduino Leonardo |
---|---|---|---|
I-VCC | 5V | 5V | 5V |
I-GND | I-GND | I-GND | I-GND |
SCL | A5 | 21 | 3 |
I-SDA | A4 | 20 | 2 |
Imojula inezinqamuleli zokudonsa ezakhelwe ngaphakathi, ngakho-ke ngokuvamile akudingekile ukuzifaka ngaphandle.
Ikheli le-I2C nephinikhodi ye-AD0
I-MPU6050 ikuvumela ukuthi ulungiselele ikheli layo le-I2C 0x68 (ngokuzenzakalelayo, uma iphinikhodi ye-AD0 iku-GND noma ingaxhumekile) noma 0x69 (uma i-AD0 ixhunywe kokuphezulu/5V). Lokhu kwenza kube lula ukusebenzisa izinzwa eziningi ebhasini elilodwa.
Ilabhulali enconyiwe: I2Cdevlib kaJeff Rowberg
Ukuze usebenze ngokunethezeka ne-MPU6050 ku-Arduino, umphakathi uncoma ukusebenzisa imitapo yolwazi elandelayo:
- I2Cdev: Isiza ukuxhumana kwe-I2C ngezinzwa eziningi.
- MPU6050: Ikuvumela ukuthi ufinyelele kuyo yonke imisebenzi yezinzwa, ufunde amanani alinganiselwe, ama-offset, futhi usebenzise i-DMP.
Atholakala ku-: https://github.com/jrowberg/i2cdevlib
Uma isilandiwe, vele uwavule uziphu bese uwabeka kufolda imilabhulali kusuka ku-Arduino IDE.
Ukufunda idatha eyisisekelo: ukusheshisa kanye nesivinini se-angular
Uma i-MPU6050 isixhunyiwe futhi isilungisiwe, isinyathelo esilandelayo ukwenza ukufundwa kwama-acceleration nama-angular velocities ezimbazweni ezintathu. Inqubo eyisisekelo, kusetshenziswa umtapo wolwazi oshiwo ngenhla, ihlanganisa:
- Qalisa inzwa usebenzisa umsebenzi inzwa.initialize().
- Hlola uxhumano nge sensor.testConnection().
- Funda amanani angu-RAW (angacutshunguliwe) ukusuka ku-accelerometer kanye ne-gyroscope kuya kokuguquguqukayo njenge-ax, ay, az ye-acceleration kanye ne-gx, gy, gz ye-spin.
- Thumela idatha embobeni ye-serial ukuze ubonise imiphumela.
Le datha ivela njengama-16-bit integers kububanzi .
Ilinganisa inzwa ye-MPU6050
Esinye sezigaba ezibalulekile uma usebenzisa i-MPU6050 yi ukulinganisaKuvame kakhulu ukuthi inzwa ibuyisele amanani angewona aziro, ngisho noma ivundlile ngokuphelele futhi iphumule, ngenxa yokungahleleki kahle okungenzeka lapho i-soda i-chip kumojuli, noma ngisho nokungapheleli okuncane kokukhiqiza.
Ukulinganisa inzwa kuhlanganisa ukunquma i-accelerometer kanye ne-gyroscope offsets ku-eksisi ngayinye futhi uzilungiselele kwinzwa ukuze ukufundwa kusekelwe olwazini olulungile. Inqubo evamile ingase ihlanganise:
- Funda ama-offsets amanje usebenzisa imisebenzi efana getXAccelOffset(), getYAccelOffset(), Njll
- Beka inzwa endaweni evundlile futhi inganyakazi ngokuphelele.
- Usebenzisa uhlelo, lungisa ama-offset kuze kube yilapho ukufundwa okuhlungiwe (isibonelo, kusetshenziswa isilinganiso esinyakazayo noma isihlungi sephasi eliphansi) kuhlangana amanani afanelekile: izembe = 0, ay = 0, az = 16384, gx = 0, gy = 0, gz = 0 kumodi eluhlaza (RAW).
- Setha lawa manani ngemisebenzi setXAccelOffset(), setYAccelOffset(), Njll
Uma isikalwe kahle, inzwa izohlinzeka ngamavelu anembe kakhulu futhi azinzile, abalulekile ezinhlelweni zokusebenza ezibalulekile njengokuzinzisa noma ukuzulazula.
Ukukala nokuguqula ukufundwa kube amayunithi aphathekayo
Ukufundwa okungavuthiwe okuvela ku-MPU6050 kufanele kuguqulwe kube amayunithi e-SI (Isistimu Yamazwe Ngamazwe) ukuze kuhunyushwe futhi kusetshenziswe ezibalweni ezibonakalayo noma ekuboneni idatha:
- Ukusheshisa: Ububanzi obuzenzakalelayo bungu-±2g, okulingana no-±19,62 m/s2Inani RAW lika-16384 lihambisana no-1g; ngakho-ke, ukuguqulela ku-x am/s2: izembe * (9,81/16384.0).
- Isivinini se-Angular: Ngokuzenzakalelayo, ±250°/s, ngakho-ke ukuguqulwa kuzoba: gx * (250.0 / 32768.0) ukuguqula kusuka kumanani we-RAW kuya kumadigri ngomzuzwana.
Lezi zici zesikali ziyashintsha uma ulungiselela inzwa kobunye ububanzi, ngakho-ke kubalulekile ukuthi uhlale uhlola ifekthri noma izilungiselelo zangokwezifiso ngaphambi kokutolika idatha.
Bala ukutsheka usebenzisa i-accelerometer kuphela
Uma inzwa iphumule noma ingaphansi komphumela wamandla adonsela phansi kuphela, ukufundwa kwe-accelerometer kungasetshenziswa ukubala i-engeli yokuthambekela ngokuphathelene nezimbazo zika-X kanye no-YAmafomula ajwayelekile ezibalo asebenzisa imisebenzi ye-trigonometric:
- Okwe-X-inclination: atan(izembe / sqrt(ay² + az²)) × 180/π
- Okwe-Y-slant: atan(ay / sqrt(ax² + az²)) × 180/π
Lokhu kunikeza i-engeli yokuthambekela ngokuphathelene ne-eksisi ngayinye ehlobene nendiza yamandla adonsela phansi, nakuba uma inzwa inyakaza noma ithola okunye ukusheshisa, lawa manani angase ashintshwe.
Ibala ama-engeli ajikelezayo nge-gyroscope
I-gyroscope ikuvumela ukubala inani ukuhlukahluka kwe-engeli ngokuhlanganisa isivinini se-angular ngokuhamba kwesikhathi. Ngokwezibalo:
- I-engeli ilingana nengxenye yesivinini se-angular esikhathini esinikeziwe: θ = θ0 + ∫wdt
Empeleni, lezi zibalo zingenziwa ngamaluphu ohlelo, kufingqe isivinini se-angular esiphindwe isikhathi sokusampula (dt) ukuze kutholwe i-engeli eqoqiwe.
Kubalulekile ukulawula iphutha lokuhlanganisa, njengoba amaphutha amancane aqoqa, abangela ukushayela.
Izihlungi zokuhlanganisa izinzwa: Ezihambisanayo ne-Kalman
Ukuze unciphise amaphutha okuhumusha futhi usebenzise inzwa ngayinye, kusetshenziswa ama-algorithms okuhlanganisa idatha:
Isihlungi Esihambisanayo
Lesi sihlungi sihlanganisa i-engeli elinganiselwe yi-gyroscope (esebenza kahle esikhathini esifushane) ne-engeli ebalwa nge-accelerometer (ethembeke kakhulu esikhathini eside kodwa enomsindo). Ifomula evamile ithi:
I-engeli_Yokugcina = α × (I-engeli_yangaphambili + I-Angular_velocity×dt) + (1-α) × I-Accelerometer_angle
Lapho u-α ngokuvamile ephakathi kuka-0,95 no-0,99. Ivumela ukuthola ukufundwa okuzinzile futhi unciphise ukushayela.
Isihlungi se-Kalman
Okuthuthuke kakhulu, lesi sihlungi sihlanganisa izilinganiso, kucatshangelwa ukungaqiniseki kwesilinganiso ngasinye nokuhlobana kwakho, sifinyelela izilinganiso ezinembile lapho kukhona umsindo. Isetshenziswa kakhulu ezinhlelweni zokuzulazula namarobhothi athuthukile, nakuba idinga amandla amakhulu okuhlanganisa.
Ukulingisa kwe-3D nokubuka ngeso lokuma (Yaw, Pitch, Roll)
Isicelo esithokozisayo yi- isibonisi sesikhathi sangempela sokuma kwe-3D wento, njengedrone noma irobhothi, ngokumela ama-engeli Yaw, Pitch and Roll.
Lokhu kufinyelelwa ngokudlulisela idatha ecutshunguliwe kusofthiwe yezithombe, kusetshenziswa amathuluzi afana ne-Serial Plotter noma izinhlelo ezithile ze-3D zokuqapha nokuhlaziya ukunyakaza. Ngale ndlela, ungaqonda ngokubukeka ukuthi isistimu yakho igxile kanjani emkhathini.
Ukufundwa okunwetshiwe: ukusetshenziswa kwe-magnetometer kanye nenzwa ye-LSM9DS1
El I-LSM9DS1 ihlanganisa i-accelerometer, i-gyroscope ne-magnetometer ku-chip eyodwa, okuvumela idatha ukuthi itholakale indawo ephelele kanye nokumayoNgaphezu kokulinganisa ukusheshisa nokujikeleza, ingathola inkambu kazibuthe Yomhlaba ukuze:
- Bala i- i-azimuth ephelele, iwusizo ekuzulazuleni nasezikhampasini zedijithali.
- Thuthukisa amasistimu okuqondisa ngaphandle kwesidingo sezinzwa zangaphandle ezengeziwe.
- Fuse idatha evela kuzo zonke izinzwa ukuze uthole indawo enembe kakhulu nokulinganisa kokuma (9-DoF).
Amathiphu asebenzayo okusetshenziswa ngempumelelo kwe-MPU6050 kanye ne-LSM9DS1
- Njalo linganisa izinzwa ngaphambi kokusetshenziswa ezinhlelweni ezibucayi ukuthuthukisa ukunemba.
- Gwema ukukhweza amamojula eduze kwemithombo yokuphazamiseka kazibuthe kagesi, njengamamotho noma ozibuthe.
- Sebenzisa amasu okuhlunga futhi ugcine ukulawula okunembayo kwezikhathi zamasampula.
- Ukuze uthole ukuma okuphelele ngokuphathelene nenyakatho, kunconywa ukusebenzisa i-a I-LSM9DS1 noma uhlanganise i-MPU6050 ne-magnetometer yangaphandle, njenge-HMC5883L.
- Ukusebenzisa ukubonwa kwesikhathi sangempela kusiza ukuhumusha kangcono idatha eqoqiwe.
- Izitolo zezincwadi like i2cdevlib Benza umsebenzi ube lula kakhulu, ngakho-ke zibeke phambili ukuze wenze intuthuko ibe lula.