Мазмұны:

Arduino - Servo және MPU6050 Gyro көмегімен GoPro үшін ролл мен қадам осі Гимбал: 4 қадам
Arduino - Servo және MPU6050 Gyro көмегімен GoPro үшін ролл мен қадам осі Гимбал: 4 қадам

Бейне: Arduino - Servo және MPU6050 Gyro көмегімен GoPro үшін ролл мен қадам осі Гимбал: 4 қадам

Бейне: Arduino - Servo және MPU6050 Gyro көмегімен GoPro үшін ролл мен қадам осі Гимбал: 4 қадам
Бейне: Lesson 24: Smart Car Part 2: Moving Forwared, Reverse, left and right and Controling Speed of Car 2024, Қараша
Anonim
Arduino - Servo және MPU6050 Gyro қолданатын GoPro үшін Roll and Pitch Axis Gimbal
Arduino - Servo және MPU6050 Gyro қолданатын GoPro үшін Roll and Pitch Axis Gimbal

Бұл нұсқаулық Оңтүстік Флорида университетінің Makecourse жобасының талаптарын орындау үшін жасалған (www.makecourse.com)

Бұл жобаның мақсаты Arduino нано + 3 серво қозғалтқыштары + MPU6050 гиро/акселерометр көмегімен GoPro үшін 3 осьтік Gimbal құрастыру болды. Бұл жобада мен MPU6050 гиро/акселерометрдің көмегімен 2 осьті (айналдыру және айналдыру) басқардым, үшінші ось (иіру) қашықтан және қолмен Android App Store дүкенінде HC-05 және Arduino BlueControl қосымшасының көмегімен басқарылады..

Бұл жұмыс сонымен қатар Gimbal механикалық компоненттерінің барлық 3D дизайн файлдарын қамтиды. Мен төменгі жағында 3D басып шығару мен 3D дизайн файлдары үшін.stl файлдарын бөлістім.

Менің жобамның басында менің жоспарым 3 қылшықсыз қозғалтқышы бар 3 осьті гимбал құрастыру болды, себебі щеткасыз қозғалтқыштар серво қозғалтқыштармен салыстырғанда тегіс және тез жауап береді. Қылқаламсыз қозғалтқыштар жоғары жылдамдықты қосымшаларда қолданылады, сондықтан біз қозғалтқышты ESC (контроллер) сатып алу жылдамдығын реттей аламыз. Бірақ Gimbal жобасында щеткасыз қозғалтқышты қолдану үшін мен щеткасыз қозғалтқышты серво сияқты жүргізу керек екенін түсіндім. Серво қозғалтқыштарда қозғалтқыштың жағдайы белгілі. Бірақ щеткасыз қозғалтқышта біз қозғалтқыштың орнын білмейміз, сондықтан бұл қозғалтқыштың жетіспеушілігі, мен оны қалай жүргізу керектігін түсінбедім. Соңында мен Gimbal жобасын қажет ететін жоғары момент үшін 3 MG995 сервоқозғалтқышын қолдануды шештім. Мен MPU6050 гиро көмегімен айналмалы және қадамдық оське арналған 2 серво қозғалтқышты басқардым, ал HC-05 bluetooth және Android қосымшасы арқылы айналу осінің серво қозғалтқышын басқардым.

1 -қадам: компоненттер

Компоненттер
Компоненттер
Компоненттер
Компоненттер
Компоненттер
Компоненттер
Компоненттер
Компоненттер

Мен осы жобада қолданған компоненттер;

1- Arduino Nano (1 бірлік) (Micro usb)

2- MG995 серво қозғалтқыштары (3 бірлік)

3- GY-521 MPU6050 3 осьті акселерометр/гироскоп (1 бірлік)

4- HC-05 Bluetooth модулі (айналу (Servo3) осін қашықтан басқару үшін)

4- 5В шағын USB портативті зарядтағыш

2-қадам: 3 Servo Motors + MPU6050 Gyro + HC-05 енгізу

3 Servo Motors + MPU6050 Gyro + HC-05 іске асыру
3 Servo Motors + MPU6050 Gyro + HC-05 іске асыру
3 Servo Motors + MPU6050 Gyro + HC-05 іске асыру
3 Servo Motors + MPU6050 Gyro + HC-05 іске асыру

Серво сымдары

Servo1 (Roll), Servo2 (Pitch), Servo3 (Yaw)

Серво қозғалтқыштарында 3 сым бар: VCC (қызыл), GND (қоңыр немесе қара), PWM (сары).

D3 => Servo1 PWM (сары сым)

D4 => Servo2 PWM (сары сым)

D5 => Servo3 PWM (сары сым)

Arduino 5В PIN коды => 3 серво қозғалтқышының VCC (қызыл).

Arduino -ның GND PIN коды => 3 servo қозғалтқыштың GND (қоңыр немесе қара)

MPU6050 гиро сымдары

A4 => SDA

A5 => SCL

3.3 Arduino PIN коды => MPU6050 VCC

Arduino GND PIN коды => MPU6050 GND

HC-05 Bluetooth сымдары

D9 => TX

D10 => RX

3.3 Arduino PIN коды => HC-05 Bluetooth VCC

Arduino GND PIN коды => HC-05 Bluetooth GND

3 -қадам: 3D дизайны мен функционалдығы

3D дизайны мен функционалдығы
3D дизайны мен функционалдығы
3D дизайны мен функционалдығы
3D дизайны мен функционалдығы
3D дизайны мен функционалдығы
3D дизайны мен функционалдығы
3D дизайны мен функционалдығы
3D дизайны мен функционалдығы

Мен Gimbal 3D дизайнын нарықта сатылатын басқа Gimbals -қа сілтеме жасай отырып аяқтадым. Серво қозғалтқыштармен айналатын үш негізгі компонент бар. Мен өлшеміне сәйкес келетін GoPro қондырғысын жасадым.

Өңдеуді жеңілдету үшін барлық 3D дизайнының.step файлы төменгі жағында ортақ пайдаланылады.

4 -қадам: Басқару механизмі

Image
Image

Менің Gimbal жобасының негізгі алгоритмі Эйлер бұрыштарына балама Quaternion айналуын қолданады. Мен Helper_3dmath.h кітапханасын Quaternion алгоритмін қолдану арқылы тегіс қозғалысты қамтамасыз ету үшін сілтеме ретінде қолдандым. Қозғалыс осінің реакциясы тегіс болғанымен, орама осі таяқтың қозғалысына жауап береді. Quaternion алгоритмін қолдана отырып, мен Roll және Pitch серво қозғалтқыштарын басқара алдым. Егер сіз иіру осін қолданғыңыз келсе, айналдыру осін басқару үшін сізге екінші MPU6050 пайдалану қажет болуы мүмкін. Балама шешім ретінде мен HC-05 конфигурацияладым және түймелердің көмегімен андроид қосымшасымен қашықтан басқару осін басқардым. Түймені басу үшін әр басқан кезде серпу осі 10 градусқа бұрылады.

Бұл жобада мен сырттан импорттауға мәжбүр болған кітапханалар келесідей;

1- I2Cdev.h // MPU6050-мен байланысты қосу үшін сыммен с.х қолданылады

2- «MPU6050_6Axis_MotionApps20.h» // Гироскоп кітапханасы

3- // Бұл сандық түйреуіштерді RX және TX түйреуіштеріне түрлендіруге мүмкіндік береді (HC-05 bluetooth модулі қажет)

4-

5- // Бұл екі деректер түйінін (SDA және SCL) пайдаланатын I2C құрылғыларымен байланысуға мүмкіндік береді => MPU6050

Негізгі кодты Джефф Роугберг құрды, мен оны жобаның функционалдығына сәйкес өзгерттім және ino файлындағы барлық функцияларды түсіндірдім.

Ұсынылған: