Мазмуну:

Gyro, Accelerometer жана Arduino менен бурчту өлчөө: 5 кадам
Gyro, Accelerometer жана Arduino менен бурчту өлчөө: 5 кадам

Video: Gyro, Accelerometer жана Arduino менен бурчту өлчөө: 5 кадам

Video: Gyro, Accelerometer жана Arduino менен бурчту өлчөө: 5 кадам
Video: Как использовать гироскоп, акселерометр, магнитометр MPU-9250 для Arduino 2024, Ноябрь
Anonim
Gyro, Accelerometer жана Arduino менен бурчту өлчөө
Gyro, Accelerometer жана Arduino менен бурчту өлчөө

Бул түзмөк акыры өзүн -өзү тең салмакка айландыра турган роботтун прототипи, бул тешиктин экинчи бөлүгү (акселерометрди окуп, моторду тең салмактуулук үчүн башкарыңыз). Гирону камтыган биринчи бөлүктү бул жерден табууга болот. Бул көрсөтмө боюнча биз бурчту гиро менен акселерометрдин жардамы менен өлчөйбүз жана жылмакай сигнал алуу үчүн эки сенсорду бириктирүү ыкмасын колдонобуз. Техника "кошумча фильтр" деп аталат. Мурунку

1 -кадам: Бизге эмне керек:

Бизге эмне керек
Бизге эмне керек
Бизге эмне керек
Бизге эмне керек
Бизге эмне керек
Бизге эмне керек
Бизге эмне керек
Бизге эмне керек

Кээ бир бөлүктөрү алмаштырылышы мүмкүн, жана кээ бир коддор сиздин жабдууларыңызга туура келиши үчүн жасалышы керек. (акселерометр үчүн)- Arduino үчүн Nunchuck Wii адаптери

2 -кадам: Курулуш…

Курулууда…
Курулууда…
Курулууда…
Курулууда…
Курулууда…
Курулууда…

Район ардуиноңуздагы 0 портуна түз туташкан гироскоптон жана I2C портуна nunchuck wii туташуусунан турат. - нанбордго гироскопту сайгыла2. - зым качандыр бир нерсе:- arduino аналогдук порт0го туташкан гиродон келген Vo пин (Ачык кызгылт сары зым)- жерге туташкан гиродон G пин (Ак зым)- Vdd туташкан гиродон Vdd (3.3V) (Кызгылт сары зым) Ассамблея акселерометр: 1. - адаптерди nunchuck2ге туташтырыңыз. - адаптер3 аркылуу arduinoдогу нунчукту сайыңыз. - Аксел сенсорун жогорудагы сүрөттөгүдөй коюңуз

3 -кадам: Биз улантуудан мурун кээ бир кошумча маалымат

Улантуудан мурун кээ бир кошумча маалымат
Улантуудан мурун кээ бир кошумча маалымат
Улантуудан мурун кээ бир кошумча маалымат
Улантуудан мурун кээ бир кошумча маалымат
Улантуудан мурун кээ бир кошумча маалымат
Улантуудан мурун кээ бир кошумча маалымат

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

4 -кадам: Код:

Код - бул башка долбоордо колдонгон коддон адаптация. Балким, колдонулбаган кээ бир өзгөрмөлөр бар. Http://todbot.com/blog/ сайтынан nunchuck маалыматын окуу үчүн китепкананы колдондум. Рахмат Tod E. Kurt. Код боюнча комментарийлер бош убактым болгондо португал тилинде, мен аны котором. Код чыгаруу сериялык линия аркылуу ушул үлгүдөгү кээ бир сандар аркылуу чыгат: dt: w: teta: pitch: filter_teta $ time: angular_velocity: gyro_angle: accel_angle: filtered_angle $ Ошентип, сиз бул маанилерди сериялык терминалда сактай аласыз жана графикти түзө аласыз же башка нерселер үчүн бурчту колдоно аласыз. Эгерде сиз код жөнүндө кандайдыр бир түшүндүрмө керек болсо, сурап алсаңыз болот. ziped Жөн эле бышырбаңыз, ачыңыз жана ардуиного жүктөңүз.

5 -кадам: Тестирлөө жана Жыйынтык

Тестирлөө жана корутунду
Тестирлөө жана корутунду
Тестирлөө жана корутунду
Тестирлөө жана корутунду

Системаны тестирлөө үчүн мен маалыматтарды Termite деп аталган программаны колдонуп сактап койгом, андан кийин бул маалыматты excelден импорттоп, чыпкамдын канчалык жакшы экенин көрүү үчүн графикти түзүңүз. Жыйынтыктар укмуш. Албетте, сиз моторду же башка нерселерди айдоо үчүн сигналды колдонсоңуз болот. Ар кандай комментарийлер, кандайдыр бир шектенүү, кандайдыр бир маалымат жок болсо, мага айт жана мен аны оңдойм. Эгер бул жагып калса, баа коюңуз. Рахмат баарыңыздарга.

Сунушталууда: