Текущая версия |
Ваш текст |
Строка 1: |
Строка 1: |
− | Проект, осуществляемый [[Клуб технического творчества|Клубом технического творчества]] при поддержке кафедры [["Теоретическая Механика"]]. | + | Проект, осуществляемый [[Клуб технического творчества|Клубом технического творчества]] и клубом [[YES^TM]] при поддержке кафедры [["Теоретическая Механика"]]. |
− | | |
| == Участники == | | == Участники == |
− | | + | *[[Веренинов Игорь]] |
− | * [[Веренинов Игорь]] | + | *[[Верховых Михаил]] |
− | * [[Верховых Михаил]] | + | |
− | * [[Кузькин Виталий]]
| + | =Трикоптер v1.0= |
− | * [[Пшенов Антон]]
| + | == Сборка и первый запуск == |
− | | |
− | == Трикоптер v1.0 ==
| |
| | | |
| === Оборудование === | | === Оборудование === |
− | *Платформа сборки: Arduino
| + | Платформа сборки: Arduino |
− | *Гироскопы: Melexis MLX90609 типа MEMS, 300 deg/sec
| |
− | *Радиолинк: Spektrum DSM2 FHSS-технология. Аппаратура все время меняет частоту передачи, обеспечивая надежную связь в радиусе до 1км.
| |
− | *Серво поворотного механизма: Hitec HS-81MG , с металлическим редуктором.
| |
− | *Аккумулятор: Li-Po 2.2Ah 25C 11.1V
| |
− | *Двигатели: 200Вт 1000kv бесколлекторные
| |
− | | |
− | === Рама ===
| |
− | | |
− | <gallery widths=300px heights=210px perrow = 2>
| |
− | Файл:Cptr1.JPG|Самое начало проекта, установлен только один мотор
| |
− | Файл:Cptr3.JPG|Поворотный механизм
| |
− | Файл:Cptr2 1749.JPG|Полностью собранный коптер установлен на стенд для настройки ПИД коэффициентов
| |
− | Файл:Cptr4.JPG
| |
− | </gallery>
| |
| | | |
| === Структурная схема === | | === Структурная схема === |
− |
| |
| [[Файл:3copter_scheme.jpg]] | | [[Файл:3copter_scheme.jpg]] |
| | | |
| === Программирование === | | === Программирование === |
| + | Программирование осуществлялось на языке/диалекте Wiring-C++ |
| + | Для связи с компьютером использовалась библиотека на Python |
| | | |
− | Программирование осуществлялось на языке/диалекте Wiring-C++ в среде Arduino.
| + | =трикоптер v1.1= |
− | Первым делом надо было просто заставить коптер полететь, поэтому алгоритмы обработки датчиков и управления предельно простые.
| |
− | | |
− | ==== Вычисление угловой скорости ====
| |
| | | |
− | В этом проекте использованы три гироскопа MLX90609 , они имеют аналоговые выходы для данных о угловой скорости и встроенный температурный датчик для устранения дрифта.
| + | После отладки алгоритма и тестовых полетов, рама коптера пришла в полную негодность, появились трещины и люфты. Для продолжения работы понадобился новый трикоптер. Версия 1.1 почти в два раза больше первой, лучи подросли до 30см, увеличилась и площадка под электронику .Новые шасси должны хорошо аммортизировать жесткие посадки и обеспечивать более стабильный взлет. |
− | Микроконтроллер получает от гироскопа значения в диапазоне 0-1024, затем с учетом чувствительности 300 градусов в секунду производит расчет угловой скорости. Кроме того вычитается байес - значение которое показывает сенсор при отсутствии вращения. Таким образом окончательная формула выглядит так:
| |
| | | |
− | for( int i=0; i<3; i++)
| + | Рама собрана, начинается разводка проводов. |
− | {
| |
− | float tmp=0;
| |
− | for(int j=0;j<10;j++)
| |
− | {
| |
− | tmp+=analogRead(pin[i]);// oversampling
| |
− | }
| |
− | tmp/=10.0;
| |
− | omega[i]=(tmp-bias[i])*gain[i];
| |
− | }
| |
| | | |
− | Использование оверсэмплинга, то есть многократного повторного чтения входа, позволяет увеличить разрешение на бит.
| + | [[Файл:wiring.JPG|400px]] |
| | | |
− | ==== Задание угловой скорости ====
| + | Почти вся электроника на своих местах |
| | | |
− | На данном этапе, управление аппаратом организовано посредством задания угловой скорости вокруг каждой оси с пульта управления. Данные о положении джойстиков кодируются и передаются на приемник, находящийся на коптере. Микроконтроллер получает информацию с приемника и приводит ее к формату удобному для вычисления.
| + | [[Файл:wiring1.JPG|400px]] |
| | | |
− | [[Файл:futaba.JPG|400px]]
| + | Коптер - первые минуты на ногах. |
| | | |
− | ==== ПИД-регулятор ====
| + | [[Файл:copter.JPG|400px]] |
| | | |
− | Пропорционально-интегрально-дифференциальный (ПИД) регулятор — устройство в цепи обратной связи, используемое в системах автоматического управления для формирования управляющего сигнала. ПИД-регулятор формирует управляющий сигнал, являющийся суммой трёх слагаемых, первое из которых пропорционально входному сигналу, второе — интеграл входного сигнала, третье — производная входного сигнала. [http://ru.wikipedia.org/wiki/%D0%9F%D0%98%D0%94-%D1%80%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%82%D0%BE%D1%80 Подробнее...]
| |
− |
| |
− | В каноническом виде уравнение ПИД-регулятора выглядит так:
| |
− |
| |
− | : <math>u(t) = P + I + D = K_p\,{e(t)} + K_i\int\limits_{0}^{t}{e(\tau)}\,{d\tau} + K_d\frac{de}{dt}</math>
| |
− |
| |
− | Программная реализация. Входом регулятора служит разность желаемой и текущей угловых скоростей.
| |
− |
| |
− | error = RCToDeg(RC[i+1]) - omega[i];
| |
− | Ipart+= error*Dt;
| |
− | Ipart= constrain(Ipart,-20,20);
| |
− | Dpart = (omega - oldomega)/float(Dt);
| |
− | oldomega =omega;
| |
− | axisPID = Pgain*error + Dgain*Dpart + Igain*Ipart;
| |
− |
| |
− | == Трикоптер v1.1 ==
| |
− |
| |
− | После отладки алгоритма и тестовых полетов, рама коптера пришла в полную негодность, появились трещины и люфты. Для продолжения работы понадобился новый трикоптер. Версия 1.1 почти в два раза больше первой, лучи подросли до 30см, увеличилась и площадка под электронику .Новые шасси должны хорошо аммортизировать жесткие посадки и обеспечивать более стабильный взлет. Электроника осталась прежней.
| |
− |
| |
− | <gallery widths=300px heights=210px perrow = 2>
| |
− | Файл:wiring.JPG|Рама собрана, начинается разводка проводов
| |
− | Файл:wiring1.JPG|Почти вся электроника на своих местах
| |
− | Файл:copter.JPG|Коптер - первые минуты на ногах
| |
− | Файл:DSC05675.JPG|Облетал v1.1 - [http://www.youtube.com/watch?v=bNR5G9Fad5g видео]
| |
− | </gallery>
| |
− |
| |
− | == Создание адаптивного регулятора ==
| |
− |
| |
− | === Моделирование ===
| |
− |
| |
− | Важной задачей для разработки эффективной системы управления является создание виртуальной модели коптера. На ней можно провести все испытания, не подвергая при этом опасности реальный аппарат.
| |
− | Модель была запрограммирована в среде [http://www.mathworks.com/products/simulink/ SIMULINK], управлять ей можно, как и настоящим коптером — при помощи пульта.
| |
− | [http://www.youtube.com/watch?v=qhvg1urI5EY Первые виртуальные полеты]
| |
− |
| |
− | Программа пока работает не очень точно, это связано с тем что не вводились параметры реального аппарата.
| |
− |
| |
− | === Регулятор ===
| |
− |
| |
− | ''Здесь будет про фази-ПИД...''
| |
− |
| |
− | === Алгоритм оптимизации ===
| |
− |
| |
− | Алгоритм swarm был написан [[Пшенов Антон|Антоном Пшеновым]].
| |
− |
| |
− | == Результаты ==
| |
| | | |
| + | === Результаты === |
| # Данный проект был представлен на международной конференции школьников [http://www.school.ioffe.ru/readings/2011/meeting.html Сахаровские Чтения 2011], где удостоился специального диплома "за успешное продвижение в работе над перспективной темой". | | # Данный проект был представлен на международной конференции школьников [http://www.school.ioffe.ru/readings/2011/meeting.html Сахаровские Чтения 2011], где удостоился специального диплома "за успешное продвижение в работе над перспективной темой". |
| # 15 Июня 2011г. трикоптер, совершил свой [http://www.youtube.com/watch?v=5WGxiVSGcUY&feature=player_embedded первый полет] | | # 15 Июня 2011г. трикоптер, совершил свой [http://www.youtube.com/watch?v=5WGxiVSGcUY&feature=player_embedded первый полет] |
− | # Первые фотографии с борта
| |
− | <gallery widths=220px heights=200px perrow = 3>
| |
− | Файл:Height.jpg
| |
− | Файл:Tree.jpg
| |
− | Файл:House2.jpg
| |
− | </gallery>
| |
| | | |
| == Планы == | | == Планы == |
− | | + | В дальнейшем планируется создать адаптивный (самонастраивающийся) PID-регулятор. |
− | В дальнейшем планируется создать адаптивный (самонастраивающийся) ПИД-регулятор. | |
− | | |
− | == Публикации по теме проекта ==
| |
− | | |
− | * Веренинов И.А., Кузькин В.А. Разработка математической модели и прототипа трикоптера // Сборник трудов конференции "Неделя науки СПбГПУ", 2011 [направлено в печать] ([[Медиа: Vereninov_2011_SW_05.pdf |prerint_v.01]], [[Медиа: Vereninov_2011_SW_04.pdf | prerint_v.02]])
| |
− | | |
− | == См. также ==
| |
− | | |
− | * [[Беспилотный летательный аппарат]]
| |
− | * [[Клуб технического творчества]]
| |
− | | |
| | | |
| [[Category: Студенческие проекты]] | | [[Category: Студенческие проекты]] |
− | [[Category: Проект "Трикоптер"]]
| |