Мазмуну:
- 1 -кадам: Бизге эмне керек:
- 2 -кадам: Курулуш…
- 3 -кадам: Биз улантуудан мурун кээ бир кошумча маалымат
- 4 -кадам: Код:
- 5 -кадам: Тестирлөө жана Жыйынтык
Video: Gyro, Accelerometer жана Arduino менен бурчту өлчөө: 5 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:44
Бул түзмөк акыры өзүн -өзү тең салмакка айландыра турган роботтун прототипи, бул тешиктин экинчи бөлүгү (акселерометрди окуп, моторду тең салмактуулук үчүн башкарыңыз). Гирону камтыган биринчи бөлүктү бул жерден табууга болот. Бул көрсөтмө боюнча биз бурчту гиро менен акселерометрдин жардамы менен өлчөйбүз жана жылмакай сигнал алуу үчүн эки сенсорду бириктирүү ыкмасын колдонобуз. Техника "кошумча фильтр" деп аталат. Мурунку
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ден импорттоп, чыпкамдын канчалык жакшы экенин көрүү үчүн графикти түзүңүз. Жыйынтыктар укмуш. Албетте, сиз моторду же башка нерселерди айдоо үчүн сигналды колдонсоңуз болот. Ар кандай комментарийлер, кандайдыр бир шектенүү, кандайдыр бир маалымат жок болсо, мага айт жана мен аны оңдойм. Эгер бул жагып калса, баа коюңуз. Рахмат баарыңыздарга.
Сунушталууда:
Убакытты өлчөө (Тасманын өлчөө сааты): 5 кадам (Сүрөттөр менен)
Убакытты өлчөө (Тасманын өлчөө сааты): Бул долбоор үчүн биз (Алекс Фиел & Анна Линтон) күнүмдүк өлчөөчү куралды алып, аны саатка айландырдык! Баштапкы план учурдагы рулетканы моторлоштуруу болгон. Муну жасоодо, биз өзүбүздүн кабыгыбызды түзүү оңой деп чечтик
HIH6130 жана бөлүкчө фотонун колдонуу менен нымдуулукту жана температураны өлчөө: 4 кадам
HIH6130 жана Particle Photon аркылуу нымдуулукту жана температураны өлчөө: HIH6130 - бул санариптик чыгышы бар нымдуулук жана температура сенсору. Бул сенсорлор ± 4% RH тактыгын камсыз кылат. Өнөр жайдын алдыңкы узак мөөнөттүү туруктуулугу, чыныгы температуранын ордун толтуруучу санариптик I2C, индустриянын алдыңкы ишенимдүүлүгү, энергияны үнөмдөө
HDC1000 жана Raspberry Pi менен температураны жана нымдуулукту өлчөө: 4 кадам
HDC1000 жана Raspberry Pi менен температураны жана нымдуулукту өлчөө: HDC1000 - бул өтө аз кубаттуулукта мыкты өлчөө тактыгын камсыз кылган интегралдык температура сенсоруна ээ болгон санарип нымдуулук сенсору. Аппарат нымдуулукту жаңы сыйымдуу сенсордун негизинде өлчөйт. Нымдуулук жана температура сенсорлору бетке
HTS221 жана бөлүкчө фотонун колдонуу менен нымдуулукту жана температураны өлчөө: 4 кадам
HTS221 жана Particle Photon аркылуу нымдуулукту жана температураны өлчөө: HTS221 - салыштырмалуу нымдуулук жана температура үчүн өтө компакт сыйымдуу санарип сенсор. Бул санариптик серия аркылуу өлчөө маалыматын берүү үчүн сезгич элементти жана аралаш сигналдын атайын интегралдык схемасын (ASIC) камтыйт
MPU-6050 (GY-521) менен бурчту кантип өлчөө керек: 3 кадам
MPU-6050 (GY-521) менен бурчту кантип өлчөө керек: Бул нускамада биз бурчту Arduino менен өлчөйбүз. Бурчту өлчөө үчүн бизге кээ бир кабелдер керек, Arduino UNO жана GY-521 (MPU-6050)