
Yakaturikidzana kubva pamifananidzo makumi mashanu. Nzira=B (R=12,S=44)
Munyika yanhasi yetekinoroji uye zvemagetsi, MEMS (Micro-Electro-Mechanical Systems) ma sensors ave chishandiso chakakosha kune ese marudzi emapurojekiti, kubva kumarobhoti kusvika kumba otomatiki uye zvinopfeka. Mamodule anosanganisa accelerometers uye gyroscopes, senge MPU6050 and the LSM9DS1, idzo mbiri dzeanonyanya kufarirwa sarudzo nekuda kwekuita kwavo kwakasiyana-siyana, mutengo wakaderera, uye nyore kubatanidzwa ne microcontrollers seArduino uye mamwe mapuratifomu. Kunyatsonzwisisa mashandiro avo, akasiyana maficha, misiyano, uye kunyangwe yakanakisa nzira yekuzvisimudzira yakakosha pakugadzira chaiwo masisitimu ayo kuyera kufamba, kutarisisa uye kurerekera.
Muchikamu chino tichakutora nhanho nhanho kuburikidza nezvose zvaunoda kuziva nezve sensors MPU6050 y LSM9DS1: mabatiro avanoita, mashandisiro api avanazvo, maitiro ekuabatanidza nawo mupurojekiti yako, kuenzanisa, kududzira kuverenga kwavo nenzira kwayo uye kushandisa zvakanyanya kugona kwavo, kusanganisa ruzivo rwakaunganidzwa mune akanakisa tutorial uye zvinyorwa zvehunyanzvi, pasi pechiono chinoshanda uye chakagadziridzwa nemutauro wepedyo, kuti. kuwana mhedzisiro yehunyanzvi mukukura kwako.
Chii chinonzi MEMS sensor uye inoshanda sei?
Usati waenda mune chaiwo mamodheru MPU6050 uye LSM9DS1, zvakakosha kuti uve pachena nezve pfungwa ye MEMS sensor. Midziyo iyi, inonziwo Micro Electromechanical Systems, batanidza microscopic mechanical components uye magetsi emagetsi mune imwe chip, kuitira kuti vaone kusiyana kwemuviri-zvakadai sekukurumidza, kutenderera, kana kudengenyeka-uye kuvashandura kuva zviratidzo zvemagetsi zvinogona kududzirwa nemagetsi emagetsi.
Panyaya yeMEMS accelerometers uye gyroscopes, kushanda kwavo kunobva pamisimboti yakadai se:
- Newton's law of acceleration (a = F/m), uchishandisa zvimiro zvemukati zvinoshanda sezvimedu zvisingaoneki nezvitubu.
- Iyo Coriolis mhedzisiro inoshandiswa kuona kufamba kweangular, kutora mukana wekutsauka kunowanikwa neruzhinji ruzhinji kana ichitenderera mukati me chip.
- Yemukati ADC inoshandura kushandura misiyano yemuviri kuita yakakwirira-resolution yedhijitari kukosha (kazhinji 16 bits).
Aya masimba anoita kuti MEMS ibatsire zvakanyanya mumashandisirwo anoda kuyerwa kwekutarisa, kurerekera kana kufamba muzvikamu zvitatu, senge navigation system, kudzikamisa kamera, smart wachi, drones, marobhoti, nezvimwe zvakawanda.
Zvinhu zvikuru zveMPU6050
El MPU6050 Iyo ingangove inonyanya kushandiswa MEMS motion sensor pakati pevagadziri, mainjiniya uye hobbyists vachitsvaga yehupfumi uye yakavimbika mhinduro yekuyera kukwirisa uye kutenderera mumatemo matatu.
Yayo yakakosha tekinoroji yakatarwa inosanganisira:
- 3-axis accelerometer: Inokwanisa kuona kukwidziridzwa pa X, Y uye Z axes, ine hurongwa hwehurongwa hwe ± 2g, ± 4g, ± 8g uye ± 16g.
- 3 axis gyroscope: Inoyera mavhiri emakona pamatemo ese ari matatu, ine inogadzirika kunzwa pa ± 250, ± 500, ± 1000 uye ± 2000 madhigirii pasekondi.
- Digital motion processor (DMP): Inobatanidza microprocessor yemukati yakatsaurirwa kuita zvakaoma kuverenga Motion Fusion (sensor fusion), kuverenga data senge quaternions, Euler angles uye kutenderera matrices pasina kurodha iwo macalculation pane main microcontroller.
- Digital kubuda kuburikidza neI2C: Kukurukurirana kuburikidza neI2C bhazi rine maviri anogoneka kero (inogadziriswa kuburikidza nepini AD0 kusvika 0x68 kana 0x69), ichibvumira kushanda neArduino yakawanda, ESP nemabhodhi akafanana.
- 16-bit ADC inoshandura: Inopa yakakwirira resolution mukuunganidza data.
- Integrated tembiricha sensor
- Kugona kwekuwedzera nekunze magnetometer: Kuburikidza neI2C yekubatsira bhazi, iyo MPU6050 inogona kuverenga mamwe ma sensors akabatana akadai seanozivikanwa HMC5883L (magnetometer), kuumba yakakwana 9-axis IMU.
- Flexible yekushandisa voltage: Inogona kushandiswa pa 3,3V kana kunyange 5V kana motherboard yakafanana neGY-521 inoshandiswa, iyo inosanganisira regulator.
Uyezve, iyo module's compact size (yakatenderedza 25 x 15 mm) uye chokwadi chekuti inouya yakagadzirira kubatanidzwa mubhokisi rechingwa inoita kuti ive yakakodzera kune ese kuyedzwa uye kwekupedzisira kusimudzira.
Chii chinonzi LSM9DS1 uye chakasiyana sei?
Kune chikamu chayo, the LSM9DS1 Iyo isarudzo yepamberi uye yemazuva ano mukati meMEMS IMU mhuri, kunyangwe isinganyanyozivikanwa pane iyo MPU6050 mumapurojekiti ekutanga. Inobatanidza zvinotevera pane imwe chip:
- Un 3-axis accelerometer
- Un 3 axis gyroscope
- Un magnetometer zvakare 3-axis
Izvi zvinoreva kuti iyo LSM9DS1 ndeye 9 DoF (Degrees of Freedom) IMU, ichikubvumidza kuyera kukurumidza, angular velocity uye Earth's magnetic field mumativi matatu, ichipa kuverenga kwakazara uye kwakaringana mhedziso nzvimbo uye orientation maererano neNyika.
Mabhenefiti ayo makuru pamusoro peMPU6050 anosanganisira:
- Inosanganisa iwo matatu masensa kuita imwechete yemuviri chip, kuchengetedza nzvimbo uye kurerutsa kubatanidza.
- Munokwanisa kutaurirana mose kuburikidza I2C se SPI, izvo zvinozvipa hukuru hukuru hwemapuratifomu akasiyana.
- Iwo masensa uye masensitiviti eimwe neimwe sensor (accelerometer, gyroscope, magnetometer) zviri nyore kugadzirika.
- Iyo ine advanced digital filtering uye chiitiko chekutsvaga sarudzo.
Iyo LSM9DS1 inowanzosarudzirwa mapurojekiti panodiwa kutarisisa kwakakwana (semuenzaniso, kambasi, masisitimu ekufambisa, kana kudzikamisa ndege) pasina kudiwa kwekuwedzera masensor ekunze.
Misimboti yekushandisa yeMEMS accelerometers uye gyroscopes
Kuti unyatsonzwisisa mashandiro anoita maMEMS modules, zvakakosha kuti unzwisise pfungwa dzemuviri uye kuti dzinoshandurirwa sei mudhijitari data:
Accelerometer
Un MEMS accelerometer inoyera kukwidzwa kwechinhu (kuchinja kwekukurumidza nekufamba kwenguva) maererano nematemo matatu emuchadenga. Mukati, inobva pakuvapo kwe a yakamiswa microscopic mass nezvibatiso zvinochinjika kana zvitubu zvidiki. Kana iyo sensor inomhanyisa, iyi misa inoshanduka zvishoma, uye iyi shanduko inoshandurwa kuita chiratidzo chemagetsi uchishandisa shanduko kana piezoelectric capacitors.
- Iyo accelerometer inogara ichiona kanenge kamwe kukwirisa: iyo giravhiti (9,81 m / s2), kunyange kana sensor ichiripo.
Izvi zvinoshandiswa kuverenga kurerekera maererano nendege yakachinjika. - Nekubatanidza kukwidziridzwa maererano nenguva, kukurumidza uye, zvakare, nzvimbo yakafambwa inogona kuwanikwa, kunyangwe izvi mashandiro anowanzo kuunganidza zvikanganiso.
Gyroscope
El MEMS gyroscope shandisa iyo Coriolis effect kuona kumhanya kunoita muviri kutenderedza X, Y uye Z. Kana iyo sensor ikasangana nekutenderera, mukati mezvivhitivhiti masasi anotambura kutsauka kwakaenzana kune angular velocity, uye shanduko iyoyo inoyerwa nemagetsi.
- Iyo gyroscope zviyero angular velocity: inokurumidza sei kutaridzika kwe sensor inochinja pane imwe neimwe axis.
- Kubatanidza iyo angular velocity nenguva kunopa kona yekutenderera (angular chinzvimbo), kunyangwe oparesheni iyi ichiburitsa zvikanganiso zvakaunganidzwa zvinodaidzwa. vasakukurwa.
Sei uchibatanidza accelerometer uye gyroscope?
Pachavo, ese ari maviri accelerometers uye gyroscopes ane painogumira pakusarudza mafambiro echinhu:
- Accelerometer: Yakarurama pakuona maitiro ane hukama neakisi yakatwasuka (uchishandisa simba rinokwevera zvinhu pasi), asi rinonzwa zvakanyanya kune kamwe kamwe kufamba, kukurumidza kwekunze kana kudengenyeka.
- Gyroscope: Yakanakira kuyera shanduko nekukurumidza mukutarisa, asi inotambura nekuunganidza kukanganisa kana kubuda kwayo kwakabatanidzwa kwenguva yakareba.
Naizvozvo, maapplication mazhinji anosanganisa data kubva kune ese ma sensors, ayo anovandudza zvakanyanya kurongeka uye kuvimbika kwekuverenga. kona, kurerekera kana chinzvimboKuti aite izvi, anoshandiswa digital processing filters senge Yekuwedzera sefa kana iyo Kalman sefa, iyo inosanganisa uye kuyera zvakanakira imwe neimwe sensor.
Kutanga neMPU6050: kubatana uye maraibhurari
Yakajairika yekubatanidza dhayagiramu
The module MPU6050 Inowanzoiswa pamhando yeplate GY-521, iyo inobatsira zvikuru kubatanidzwa ne microcontrollers seArduino.
Iwo akakosha ekubatanidza kushandisa module muI2C modhi anowanzo:
MPU6050 | Arduino Uno/Nano/Mini | Arduino Mega/DUE | arduino leonardo |
---|---|---|---|
VCC | 5V | 5V | 5V |
GND | GND | GND | GND |
SCL | A5 | 21 | 3 |
zviwanikwa | A4 | 20 | 2 |
Iyo module ine yakavakirwa-mukati yekudhonza-up resistors, saka kazhinji hazvifanirwe kuiwedzera kunze.
I2C kero uye AD0 pini
Iyo MPU6050 inokutendera iwe kugadzirisa yayo I2C kero kuti 0x68 (nekusagadzika, kana pini yeAD0 iri paGND kana isina kubatana) kana 0x69 (apo AD0 yakabatana nepamusoro / 5V). Izvi zvinoita kuti zvive nyore kushandisa akawanda sensors mubhazi rimwe chete.
Raibhurari inokurudzirwa: I2Cdevlib naJeff Rowberg
Kushanda zvakanaka neMPU6050 paArduino, nharaunda inokurudzira kushandisa maraibhurari anotevera:
- I2CDev: Inofambisa I2C kutaurirana nema sensor akawanda.
- MPU6050: Inokutendera iwe kuti uwane ese masensa mabasa, verenga akatemerwa tsika, offset, uye shandisa iyo DMP.
Anowanikwa mu: https://github.com/jrowberg/i2cdevlib
Kana yangodhaunirodwa, ingoisunungura woiisa muforodha makiraibhurari kubva kuArduino IDE.
Kuverenga yakakosha data: kukurumidza uye angular velocity
Kana iyo MPU6050 yakabatana uye yakagadziriswa, nhanho inotevera ndeyekuita kuverenga kwema accelerations uye angular velocities pamatemo matatu. Maitiro ekutanga, uchishandisa raibhurari yambotaurwa, inosanganisira:
- Tanga sensor uchishandisa basa sensor.initialize().
- Tarisa kubatana ne sensor.testConnection().
- Verenga RAW (isina kugadziridzwa) kukosha kubva kune accelerometer uye gyroscope kuita zvinosiyana sedemo, ay, az yekumhanyisa uye gx, gy, gz yekutenderera.
- Tumira data kune serial port kuratidza mhinduro.
Iyi data inoratidzika se 16-bit integers muhuwandu .
Kugadzirisa iyo MPU6050 sensor
Imwe yezvikamu zvakakosha kana uchishandisa iyo MPU6050 ndeye calibrationIzvo zvakajairika kuti sensor idzore asiri-zero kukosha, kunyangwe kana yakanyatso kutwasuka uye yakazorora, nekuda kwezvingaite misalignments paunenge uchitengesa chip pane module, kana kunyangwe zvidiki zvikanganiso zvekugadzira.
Calibrating sensor inosanganisira kusarudza iyo accelerometer uye gyroscope offsets pane imwe neimwe axis uye vagadzirise pane sensor kuitira kuti kuverenga kunoenderana neruzivo rwakarurama. Nzira yakajairika inogona kusanganisira:
- Verenga zvigadziriso zvazvino uchishandisa mabasa akafanana getXAccelOffset(), getYAccelOffset(), Etc.
- Isa iyo sensor munzvimbo yakatwasuka uye yakanyarara zvachose.
- Uchishandisa chirongwa, gadzirisa zvigadziriso kudzamara kuverenga kwakasefa (semuenzaniso, uchishandisa avhareji inofamba kana yakaderera-pasi sefa) yasangana kune yakanakira kukosha: mbezo = 0, ay = 0, az = 16384, gx = 0, gy = 0, gz = 0 mune raw mode (RAW).
- Seta izvi zvakakosha nemabasa setXAccelOffset(), setYAccelOffset(), Etc.
Kana ichinge yanyatsogadziriswa, iyo sensor ichapa zvakanyanya kwakaringana uye yakagadzikana kukosha, yakakosha kune yakakosha maapplication akadai sekudzikamisa kana kufamba.
Kuyera uye kushandura kuverenga kuita zvikamu zvemuviri
Iwo manyoro akaverengerwa kubva kuMPU6050 anofanirwa kushandurwa kuita SI (International System) zvikamu kuti zvidudzirwe uye zvishandiswe mukuverenga kwenyama kana kuona data:
- Kumhanyisa: Iyo yakagara iripo ndeye ± 2g, iyo yakaenzana ne ± 19,62 m/s2A RAW kukosha kwe16384 inoenderana ne1g; saka, kushandura kuita x am/s2: mbezo * (9,81/16384.0).
- Angular velocity: Nekusagadzikana, ± 250 °/s, saka kutendeuka kwaizove: gx * (250.0 / 32768.0) kushandura kubva kuRAW tsika kuita madhigirii pasekondi.
Izvi zvikero zvinhu zvinoshanduka kana ukagadzirisa sensor kune mamwe mazinga, saka zvakakosha kuti ugare uchitarisa fekitori kana zvigadziriso zvetsika usati wadudzira data.
Verenga tilt uchishandisa chete accelerometer
Kana iyo sensor iri pakuzorora kana chete pasi pesimba regiravhiti, iyo accelerometer kuverenga inogona kushandiswa kuverenga iyo angle yekurerekera maererano ne X uye Y axesYakajairika masvomhu mafomula anoshandisa trigonometric mabasa:
- Kune X-inclination: atan(demo / sqrt(ay² + az²)) × 180/π
- Pamusoro peY-slant: atan(ay / sqrt(ax² + az²)) × 180/π
Izvi zvinopa kona yekurerekera kune imwe neimwe axis inoenderana nendege yegiravhiti, kunyangwe kana sensor iri kufamba kana kugashira kumwe kukwidziridzwa, izvi zvakakosha zvinogona kuchinjwa.
Kuverengera kutenderera angles ne gyroscope
Iyo gyroscope inobvumira kuverenga iyo kuchinja kwekona nekubatanidzwa kweangular velocity kupfuuridza nguva. Masvomhu:
- Iyo kona yakaenzana neiyo inobatanidzwa yeangular velocity mune yakapihwa nguva yenguva: θ = θ0 + ∫w·dt
Mukuita, maverengero aya anogona kuitwa muzvishwe zvechirongwa, achipfupikisa nhanho yeangular velocity yakapetwa nenguva yesampling (dt) kuwana kona yakaunganidzwa.
Zvakakosha kudzora kukanganisa kwekubatanidza, sezvo zvikanganiso zviduku zvinounganidza, zvichikonzera vasakukurwa.
Sensor fusion mafirita: Anopindirana uye Kalman
Kudzikisa zvikanganiso zvekududzira uye kuita zvakanyanya sensor yega yega, data fusion algorithms inoshandiswa:
Complementary Sefa
Iyi sefa inosanganisa kona inofungidzirwa negyroscope (inoshanda zvakanaka munguva pfupi) nekona yakaverengerwa neaccelerometer (iyo inonyanya kuvimbika munguva refu asi ine ruzha). Yakajairika formula ndeye:
Final_angle = α × (Revious_angle + Angular_velocity×dt) + (1-α) × Accelerometer_angle
Iko α kazhinji iri pakati pe0,95 ne0,99. Inobvumira kuwana kuverenga kwakagadzikana uye kuderedza vasakukurwa.
Kalman sefa
Zvakanyanya kufambira mberi, iyi sefa inosanganisa zviyero, tichifunga nezvekusavimbika kwechiyero chimwe nechimwe uye kuwirirana kwavo, kuwana fungidziro chaiyo pamberi peruzha. Iyo inoshandiswa zvakanyanya mumafambisirwo emafambisirwo uye epamberi marobhoti, kunyangwe ichida rakakura simba remakomputa.
3D simulation uye yekutarisa kuona (Yaw, Pitch, Roll)
An inonakidza application ndeye chaiyo-nguva kuratidzwa kwe 3D orientation yechinhu, chakaita sechidhori kana robhoti, nekumiririra makona Yaw, Pitch uye Roll.
Izvi zvinowanikwa nekufambisa iyo data yakagadziridzwa kune yemifananidzo software, uchishandisa maturusi akaita seSerial Plotter kana chaiwo 3D zvirongwa zvekutarisa uye kuongorora mafambiro. Neiyi nzira, iwe unogona nekuona kunzwisisa kuti system yako yakatarisana sei muchadenga.
Kuwedzera kuverenga: kushandiswa kwemagnetometer uye LSM9DS1 sensor
El LSM9DS1 inobatanidza accelerometer, gyroscope uye magnetometer mune imwe chip, ichibvumira data kuwanikwa kubva mhedziso nzvimbo uye orientationPamusoro pekuyera kukurumidza uye kutenderera, inogona kuona Magineti ePasi ku:
- calculator the absolute azimuth, inobatsira mukufambisa uye makambasi edhijitari.
- Gadzira masisitimu ekutungamira pasina kudiwa kwemamwe ma sensors ekunze.
- Fuse data kubva kune ese ma sensors echinzvimbo chakanyanya uye yekufungidzira yekufungidzira (9-DoF).
Mazano anoshanda ekushandisa zvinobudirira kweMPU6050 uye LSM9DS1
- Nguva dzose gadzirisa masensa isati yashandiswa mumashandisirwo anokosha kuti uvandudze kururama.
- Dzivisa kukwirisa mamodule padhuze nenzvimbo dzekukanganiswa kwemagetsi, senge mota kana magineti.
- Shandisa nzira dzekusefa uye chengetedza kutonga chaiko kwenguva dzesampling.
- Kuti utarise zvachose nekuremekedza kuchamhembe, zvinokurudzirwa kushandisa a LSM9DS1 kana kusanganisa iyo MPU6050 ine ekunze magnetometer, senge HMC5883L.
- Kuita zviratidziro zvenguva-chaiyo kunobatsira kududzira zvirinani data rakaunganidzwa.
- Mabhuku akadai i2cdevlib Ivo vanoita kuti basa rive nyore, saka tungamira ivo kuti budiriro ive nyore.