Агуулгын хүснэгт:

Gyro, Accelerometer, Arduino ашиглан өнцгийн хэмжилт: 5 алхам
Gyro, Accelerometer, Arduino ашиглан өнцгийн хэмжилт: 5 алхам

Видео: Gyro, Accelerometer, Arduino ашиглан өнцгийн хэмжилт: 5 алхам

Видео: Gyro, Accelerometer, Arduino ашиглан өнцгийн хэмжилт: 5 алхам
Видео: Gesture Controlled Robot Using ARDUINO 2024, Долдугаар сарын
Anonim
Gyro, Accelerometer, Arduino ашиглан өнцгийн хэмжилт хийх
Gyro, Accelerometer, Arduino ашиглан өнцгийн хэмжилт хийх

Энэхүү төхөөрөмж нь өөрөө тэнцвэржүүлэгч робот болох эцсийн загвар юм. Энэ бол нүхний хоёр дахь хэсэг юм (акселерометрийг уншиж, моторыг тэнцвэржүүлэхийн тулд удирдана уу). Зөвхөн тойрог замтай эхний хэсгийг эндээс олж болно. Энэхүү зааварчилгааны дагуу бид өнцөгийг хэмжигч ба акселерометрийн тусламжтайгаар хэмжиж, хоёр мэдрэгчийг нэгтгэн жигд дохио авах болно. Энэхүү техникийг "нэмэлт шүүлтүүр" гэж нэрлэдэг

Алхам 1: Бидэнд хэрэгтэй зүйл:

Бидэнд хэрэгтэй зүйл
Бидэнд хэрэгтэй зүйл
Бидэнд хэрэгтэй зүйл
Бидэнд хэрэгтэй зүйл
Бидэнд хэрэгтэй зүйл
Бидэнд хэрэгтэй зүйл
Бидэнд хэрэгтэй зүйл
Бидэнд хэрэгтэй зүйл

Энэ төсөлд бид ашиглах болно:- Breadboard- микроконтроллер, би Arduinoboard- утас- холбогч утас- гироскоп XV-8100- Nunchuck Wii-ийг ашигласан болно. (акселерометрийн хувьд)- Arduino-д зориулсан Nunchuck Wii адаптер

Алхам 2: Барилга…

Барьж байна…
Барьж байна…
Барьж байна…
Барьж байна…
Барьж байна…
Барьж байна…

Энэ хэлхээ нь таны arduino дээрх 0 порт руу шууд холбогдсон гироскоп, I2C порт дээр nunchuck wii холболтоос бүрдэнэ. - гироо талхны самбар дээр залгаарай2. - утастай холбоотой бүх зүйл:- arduino дээрх аналог порт0-тэй холбогдсон гиро гаралтай Vo зүү (Цайвар улбар шар утас)- Газартай холбогдсон гиройн G зүү (Цагаан утас)- Vdd (3.3V) -д холбогдсон гироос V+ зүү (Улбар шар утас) Угсрах хурдасгуур: 1. - адаптерийг nunchuck2 залгаарай. - адаптер ашиглан nunchuck -ийг arduino дээр залгаарай3. - Хурдасгуур мэдрэгчийг дээрх зураг шиг байрлуулна уу

Алхам 3: Үргэлжлүүлэхээсээ өмнө зарим нэмэлт мэдээлэл

Үргэлжлүүлэхийн өмнө зарим нэмэлт мэдээлэл
Үргэлжлүүлэхийн өмнө зарим нэмэлт мэдээлэл
Үргэлжлүүлэхийн өмнө зарим нэмэлт мэдээлэл
Үргэлжлүүлэхийн өмнө зарим нэмэлт мэдээлэл
Үргэлжлүүлэхийн өмнө зарим нэмэлт мэдээлэл
Үргэлжлүүлэхийн өмнө зарим нэмэлт мэдээлэл

Мэдрэгчийг хоёуланг нь хэмжих боломжтой боловч хоёр өөр техник ашиглан өнцгийг хэмжихийн тулд дохиог нэгтгэх ёстой, гэхдээ яагаад үүнийг хийх ёстой вэ? Гиро нь бидэнд өнцгийн хурдыг өгдөг тул өнцгийг олж авах энгийн арга бол өнцгийн хурдыг цаг хугацаагаар үржүүлэх явдал юм. акселерометрийн тэнхлэг, энэ нь юу гэсэн үг вэ, таталцлын хурдатгалын мэдрэгчийн чиглэл тус бүрийн төсөөлөл нь өнцгийн тухай ойлголтыг өгдөг. [angle_accel = arctg (Ay / sqrt (Ax^2 + Az^2))] Тэгвэл бид яагаад нэг мэдрэгчийн оронд хоёр мэдрэгч ашиглах болов? Мэдрэгчийн хоёр шинж чанарын давуу талыг ашиглахын тулд. Хэрэв та gyro өгөгдлийн тасралтгүй өсөлтийг харвал үүнийг дрифт гэж нэрлэдэг бөгөөд акселерометрийн өгөгдөл богино хугацаанд маш их өөрчлөгддөг бөгөөд хоёуланг нь хэрхэн нэгтгэх вэ? Бид нэмэлт шүүлтүүр техникийг ашиглах болно. Үүний цаад онолыг би сайн мэдэхгүй байна, гэхдээ энэ нь сайн ажилладаг. Интернет дээр зарим мэдээлэл байдаг, хэрэв танд илүү их мэдээлэл хэрэгтэй бол үүнийг Google -ээс аваарай. Энэ линк нь маш их мэдээлэлтэй бөгөөд хэрэг болно.filtered_angle = HPF*(filtered_angle + w*dt) + LPF*(angle_accel); хаана HPF + LPF = 1 HPF ба LPF -ийн утгыг filter.pdf файл дээрх линкээс олж болно. "The DIY Segway" -ийн залуусдаа баярлалаа. Туршилтын зорилгоор бид энэ утгыг HPF = 0.98 ба LPF = 0.02 болгож тохируулна.

Алхам 4: Код:

Код бол өөр төсөл дээр ашигласан кодын дасан зохицол юм. Ашиглагдаагүй зарим хувьсагч байдаг байх. Би номын санг ашиглан https://todbot.com/blog/ дээрээс nunchuck өгөгдлийг уншсан. Tod E. Kurt -д баярлалаа. Кодын талаархи сэтгэгдлүүд нь португал хэл дээр байдаг тул чөлөөт цаг гарангуут би үүнийг орчуулах болно. Код нь цуврал шугамаар ийм загвартай хэд хэдэн тоогоор гарна: dt: w: teta: pitch: filter_teta $ time: angular_velocity: gyro_angle: accel_angle: filtered_angle $ Тиймээс та энэ утгыг цуваа терминал дээр хадгалж, график зурж эсвэл өнцгийг өөр зүйлд ашиглаж болно. Хэрэв танд кодын талаар ямар нэгэн тайлбар хэрэгтэй бол асуухаас татгалзаарай. зип. Зүгээр л задалж, нээгээд arduino дээрээ байршуулаарай.

Алхам 5: Туршилт ба дүгнэлт

Туршилт ба дүгнэлт
Туршилт ба дүгнэлт
Туршилт ба дүгнэлт
Туршилт ба дүгнэлт

Системийг туршихын тулд би Термит хэмээх програм ашиглан өгөгдлийг хадгалсан бөгөөд үүнийг Excel дээр оруулж, миний шүүлтүүр хэр сайн болохыг харахын тулд график зур. Үр дүн нь гайхалтай. Мэдээжийн хэрэг та дохио ашиглан мотор жолоодох эсвэл бусад зүйлийг ашиглаж болно. Аливаа тайлбар, эргэлзээ, мэдээлэл дутуу байвал надад хэлээрэй, би үүнийг засч залруулаарай. Хэрэв танд таалагдсан бол үнэлгээ өгнө үү. Баярлалаа.

Зөвлөмж болгож буй: