Съдържание:
- Стъпка 1: Какво ще ни трябва:
- Стъпка 2: Изграждане …
- Стъпка 3: Няколко допълнителна информация, преди да продължим
- Стъпка 4: Код:
- Стъпка 5: Тестване и заключение
Видео: Измерване на ъгъла с помощта на жироскоп, акселерометър и Arduino: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:56
Устройството е груб прототип на това, което в крайна сметка ще се превърне в робот за самобалансиране, това е втората част на дупката (прочетете акселерометъра и контролирайте мотора до самобаланс). Първата част само с жироскопа може да бъде намерена тук. В тази инструкция ще измерим ъгъла с помощта на жироскоп и акселерометър и използвайки техника за обединяване на двата сензора, за да получим гладък сигнал. Техниката се нарича "допълващ филтър". Предишна
Стъпка 1: Какво ще ни трябва:
Някои части могат да бъдат заменени и някои модификации в кода трябва да бъдат направени, за да отговарят на вашия хардуер. В този проект ще използваме:- Breadboard- Микроконтролер, използвах Arduinoboard- Wire- Jumper Wires- Gyroscope XV-8100- Nunchuck Wii (за акселерометъра)- Nunchuck Wii адаптер за Arduino
Стъпка 2: Изграждане …
Веригата се състои от жироскоп, свързан директно към порт 0 на вашия arduino и nunchuck wii свързване към порта I2C. Сглобяване на жироскопа: 1. - включете жироскопа към платката2. - проводник винаги:- Vo пин от жироскоп, свързан към аналогов порт 0 на arduino (светло оранжев проводник)- G щифт от жироскоп, свързан към земята (бял проводник)- V+ щифт от жироскоп, свързан към Vdd (3.3V) (оранжев проводник) Сглобяване акселерометър: 1. - включете адаптера към nunchuck2. - включете nunchuck към arduino с помощта на адаптера3. - поставете сензора за ускорение като снимката по -горе
Стъпка 3: Няколко допълнителна информация, преди да продължим
От двата сензора можем да измерим ъгъла, но използвайки две различни техники. За да измерим ъгъла с помощта на жироскопа, трябва да интегрираме сигнала. Но защо трябва да направим това? Тъй като жироскопът ни дава ъгловата скорост, така че прост начин да получите ъгъла е ъгловата скорост да се умножи по времето [ъгъл = ъгъл + w * dt] За да се измери ъгълът с помощта на акселерометър, ние трябва да усетим гравитацията във всеки ос на акселерометъра, какво означава това, проекцията на ускорението на гравитацията във всяка посока на сензора ни дава представа за ъгъла. [angle_accel = arctg (Ay / sqrt (Ax^2 + Az^2))] Така че защо ще използваме два сензора вместо един? За да се възползвате от двете свойства на сензора. Ако погледнете графиката, гироскопичните данни непрекъснато се увеличават, това се нарича дрейф и данните за акселерометъра се променят много за малко време. И как да обединим двата сигнала? Ще използваме техника, наречена допълващ филтър. Не знам точната теория зад това, но работи добре. Има известна информация в интернет, просто я потърсете в 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: Код:
Кодът е адаптация от код, който използвах в друг проект. Вероятно има някои неизползвани променливи. Използвах библиотека, за да прочета данните за nunchuck от https://todbot.com/blog/. Благодаря ти Тод Е. Кърт. Коментарите към кода са на португалски, веднага щом имам свободно време, ще го преведа. Изходният код през серийния ред някои числа с този модел: dt: w: teta: pitch: filter_teta $ time: angular_velocity: gyro_angle: accel_angle: filtered_angle $ Така че можете да запишете тези стойности в сериен терминал и да начертаете графика или да използвате ъгъла за други неща. с цип Просто разархивирайте, отворете и го качете на вашия arduino.
Стъпка 5: Тестване и заключение
За да тествам системата, запазих данните с помощта на програма, наречена Termite, след това импортирайте тези данни в excel и начертайте графиката, за да видите колко добър е филтърът ми. Резултатите са изумителни. Разбира се, можете да използвате сигнала за задвижване на двигател или други неща. Всички коментари, всякакви съмнения, липсваща информация, просто ми кажете и ще я коригирам. Моля, ако ви харесва, оценете. Благодаря на всички.
Препоръчано:
Акселерометър за контролер Xbox 360/Жироскоп Управляващ режим: 7 стъпки
Акселерометър за контролер на Xbox 360/Модел на управление на жироскоп: Играл съм на Assetto Corsa с моя контролер Xbox 360. За съжаление, управлението с аналоговия стик е много тромаво и нямам място за настройка на колело. Опитах се да измисля начини, по които мога да обуча по -добър кормилен механизъм в
MPU6050-акселерометър+сензор за жироскоп: 3 стъпки
MPU6050-Accelerometer+Gyroscope Sensor Основи: MPU6050 е много полезен сензор. Mpu 6050 е IMU: Инерционната измервателна единица (IMU) е електронно устройство, което измерва и отчита специфичната сила на тялото, ъгловата скорост и понякога ориентацията на тялото, използвайки комбинация
SmartPhone Game Simulator- Играйте игри на Windows с помощта на IMU за управление на жестове, акселерометър, жироскоп, магнитометър: 5 стъпки
SmartPhone Game Simulator- Играйте игри на Windows с помощта на IMU за управление на жестове, акселерометър, жироскоп, магнитометър: Подкрепете този проект: https://www.paypal.me/vslcreations, като дарите за кодове с отворен код & подкрепа за по -нататъшно развитие
Arduino Nano и Visuino: Преобразуване на ускорението в ъгъл от акселерометър и жироскоп MPU6050 I2C сензор: 8 стъпки (със снимки)
Arduino Nano и Visuino: Преобразуване на ускорението в ъгъл от акселерометър и жироскоп MPU6050 I2C сензор: Преди време публикувах урок за това как можете да свържете MPU9250 акселерометър, жироскоп и компас сензор към Arduino Nano и да го програмирате с Visuino за изпращане на пакетни данни и дисплей на обхват и визуални инструменти. Акселерометърът изпраща X, Y
Arduino Nano: Акселерометър Жироскоп Компас MPU9250 I2C сензор с Visuino: 11 стъпки
Arduino Nano: Акселерометър Жироскоп Компас MPU9250 I2C сензор с Visuino: MPU9250 е един от най -модерните комбинирани сензори за акселерометър, жироскоп и компас, налични в момента. Те имат много разширени функции, включително нискочестотно филтриране, откриване на движение и дори програмируем специализиран процесор