Разработка свободного печатаемого модульного полетного тренажера

Комплект органов управления Simchair mark II тренажера. Процесс сборки рычагов циклического и общего шагов. Программное обеспечение для работы тренажера с компьютером в качестве джойстика. Подвесной блок бортовой электроники. Эксплуатация панели приборов.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид дипломная работа
Язык русский
Дата добавления 30.08.2016
Размер файла 5,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ

«ВЫСШАЯ ШКОЛА ЭКОНОМИКИ»

Московский институт электроники и математики

Выпускная квалификационная работа - магистерская диссертация

по направлению подготовки 11.04.04 «электроника и наноэлектроника»

Разработка свободного печатаемого модульного полетного тренажера

Студента образовательной программы магистратуры «инжиниринг в электронике»

Кудряшов Алексей Андреевич

Москва 2016

Введение

В процессе написания выпускной работы бакалавра мною была предложена модель тренажера, копирующая органы управления вертолета, которая могла подключаться к компьютеру и радиоуправляемым моделям. Тренажер функционировал и позволял ощутить процесс управления ЛА настолько, насколько это возможно, не находясь в нем физически.

Рис.1 Тренажер Simchair

Идея была в создании свободного комплекта органов управления, который каждый моделист - любитель или симуляторщик может изготовить по чертежам самостоятельно без какого - либо специального инструмента. Работа содержала подробные инструкции по изготовлению тренажера. После пробной эксплуатации комплекта, стало ясно, что устройство откровенно сырое и не дотягивает до уровня, при котором его можно назвать пригодным для массового производства. Вот самые существенные из проблем, с которыми я столкнулся:

- в конструкции использовались детали, доступные локально, в частности педали от советского велосипеда, подшипник от автомобиля ВАЗ. Эти детали вероятно было бы сложно найти в других странах;

- постройка тренажера подразумевала огромное количество ручного труда, который требовал наличия некоторого инструмента и навыков работы с ним;

- изначально в угоду прочности и механической надежности тренажера в основу рамы был заложен швеллер, это было существенной ошибкой, поставившей крест на эксплуатации комплекта в полевых условиях с радиомоделями;

- плохая транспортабельность и хрупкость, наличие неприкрытых хрупких деталей, регулировка осей сгибанием ножек микросхемы; значительная вероятность повреждения узлов при транспортировке до летного поля;

- из - за использования в основе конструкции рычага циклического шага джойстика с ss495a в корпусах штатных резисторов, значительный люфт и низкое количество отсчетов по осям ручки циклического шага;

- низкая надежность узлов: всегда существовала вероятность разрушения высоконагруженных деталей, сделанных с недостатком прочности из - за ограниченности в применяемом инструменте, для того чтобы сохранить комплект производимым силами одного человека из подручных материалов. В результате тренажер мог эксплуатироваться с радиомоделями только при условии наличия второго квалифицированного пилота, готового по команде перехватить управление и безопасно вернуть модель к точке взлета;

- прошивка для дпла заставляла пилота нервно потеть при попытке поднять вертолет в воздух.

Все это привело к тому, что тренажер никогда не был опубликован, несмотря на положительный опыт эксплуатации с симулятором на компьютере. Я использовал его для полетов в DCS, пока в какой- то момент не произошло разрушение коромысла педального узла, износившегося со временем. При попытке ремонта стало ясно, что исполнение конструкции неудачно и текущий ремонт ее затруднен и нецелесообразен, в результате тренажер некоторое время простоял в полуразобранном виде.

Осознавая трудности в регулярной эксплуатации радиоуправляемых вертолетов (цена запчастей, их уникальность и время доставки), я пришел к мысли о необходимости замены вертолета на трикоптер, как наиболее близкий (насколько это сравнение возможно) по характеристикам аппарат. Первый опыт полета на трикоптере был положительным, но, к сожалению, через некоторое время отпаявшийся провод блока питания платы управления привел к падению с полным разрушением рамы, дальнейшая эусплуатация была невозможна. При попытке купить еще одну такую же раму на запчасти оказалось, что их больше нет в наличии. Так был сделан вывод о необходимости собственного производства запчастей, в частности рамы.

Далее были попытки постройки коптеров из подручных материалов разной степени успешности, в целом вполне летавшие. В какой - то момент мне в руки попал неисправный 3д принтер, которого, впрочем, хватило, чтобы продемонстрировать возможности трехмерной печати.

Спустя некоторое время, регулярно летая на печатном трикоптере собственной разработки и постройки (о котором далее в этой работе), я уже имел опыт трехмерной печати, современное оборудование для нее (краткий обзор процесса постройки принтера был представлен в одной из моих работ ранее) и опыт разработки нагруженных деталей для печати.

В чем же преимущество печати на 3д принтере в сравнении с другими способами изготовления деталей? Ведь печать сравнительно дорога, медленна, а получившиеся детали обладают большим весом и не слишком высокой прочностью. Ответ прост: возможность создания объемных деталей практически любой формы в одно действие. От трехмерной модели до детали на столе - всего 1 шаг: печать. И если вы создали модель детали, отныне любой человек, у которого есть принтер, сможет воспроизвести ее у себя дома и собрать вашу конструкцию (если вы поделитесь ей, опубликовав ее под свободной лицензией). Это прекрасный способ поделиться со всем миром своими наработками. Те, у кого нет принтера, смогут распечатать вашу деталь на заказ. То есть, любой человек, которому понравится ваша деталь, сможет так или иначе воспроизвести ее в точности так, как было задумано вами, возможно, улучшить ее, внести что-то новое. Это.. отлично.

Стоит ли говорить, что после успешного опыта создания и эксплуатации трикоптера, я задумался о постройке нового тренажера, на этот раз более продуманного и готового к «массовому» производству путем печати. Все недостатки прошлой версии были учтены. Разработка начиналась в Google SketchUP, в котором был нарисован и трикоптер, но я быстро понял, что работа в непрофильном ПО означает тройной расход времени на разработку и худшее итоговое качество деталей. Поэтому в срочном порядке в базовом объеме был освоен Solidworks. Выбор этой САПР сомнителен, исходя из того что я писал о свободном ПО, было бы логично использовать OpenSCAD, но у меня просто не было времени на его освоение. Результатом работы стал новый комплект органов управления, для производства которого необходимы только печатные детали, подшипники zz608, крепеж M8, и … стул из IKEA (на самом деле вы можете использовать ваш любимый стул, и как нарисовать детали для крепления рамы тренажера к нему, или любые другие детали, я расскажу в отдельной главе). Итак, пожалуй, хватит лирики, время взглянуть на новый тренажер.

1. Simchair mark II - обзор и основные узлы

Основная деталь тренажера - комплект органов управления. Как и прежде, может подключаться к компьютеру и ДПЛА. Прошивка для работы с компьютером осталась неизменной, прошивка для ДПЛА теперь основана на Arduino RClib, и на момент написания этого текста все еще находится в разработке.

Рис.2 Тренажер Simchair mark II

Этот комплект превосходит своего предшественника во всем, но его все же надо к чему - то подключить, чтобы получить удовольствие от эксплуатации.

Второй важный элемент - трикоптер. По ряду причин на момент написания текста находится в разработке вторая версия рамы. Первая версия находится в состоянии полной готовности и хорошо себя показала в эксплуатации, поэтому приведу здесь ее. Трикоптер был опубликован на thingiverse.

На фото, к сожалению, без задней стойки шасси.

Рис.3 трикоптер первой версии

И третий важный элемент, которого мне так не хватало в прошлом году во время полетов, это комплект бортовой электроники в подвесном контейнере, реализующий комплект основных авиационных инструментов. Все это работает независимо от остального оборудования ЛА и может быть установлено на любом аппарате (включая пилотируемые), требуется только питание. Кроме базовых интструментов, предусмотрено подключение датчиков тока, температуры и батареи через делитель для измерения напряжения в ней.

Эти компоненты могут быть использованы вместе, или по отдельности, так как их взаимодействие происходит через стандартные интерфейсы. Здесь я опускаю многие детали, которые понадобятся для эксплуатации комплекса, не относящиеся непосредственно к нему, такие как монитор для отображения видеосигнала, компьютер для запуска ПО панели приборов, аппаратура управления (радио передатчик), источник питания наземной станции, штатив для крепления монитора. Эти компоненты приобретаются в магазине и могут быть разных производителей и моделей, на результате это не скажется (аппаратура должна принимать ppm сигнал в режиме тренера!). Комплектность наземной станции будет детально рассмотрена в главе о коптере.

Рис. 4. Подвесной контейнер с бортовой электроникой

Перейдем к детальному рассмотрению составляющих комплекса.

2. Комплект органов управления Simchair mark II

Рис. 5

2.1 Обзор

Комплект воспроизводит органы управления ЛА вертолетного типа без привязки к конкретной модели (может быть легко доработан для этой цели).

Рис. 6

Идеи и принципы, заложенные в реализацию, могут служить основой для постройки сим пита, повторяющего кокпит конкретного ЛА. Упор при разработке был сделан на мобильность, компактность, удобство в эксплуатации. На все элементы конструкции приведены списки материалов и детальные рисунки, отражающие процесс сборки. Перейдем к детальному рассмотрению отдельных элементов конструкции.

2.2 Рычаг циклического шага

Рис. 7. Механизм рычага циклического шага

Механизм обеспечивает 2 степени свободы с углом наклона ручки 20 градусов по каждой оси.

2.2.1 Список материалов

Механизм:

· подшипник zz608 4шт

· болт м8х40 2шт

· болт м8х80 1шт

· гайки м8 6шт

· пружинная шайба м8 4шт

· болт м3х50 2шт

· гайка м3 2шт

· шайба м3 2шт

· пружинная шайба м3 2шт

· ss495a 1шт

· магнит прямоугольный 10x5x4 2шт

· алюминиевый профиль прямоугольный 20х10мм 30 см

· провод

Ручка *:

· гайка м3 3шт

· болт м8х60 1шт

· шайба м8 1шт

· пружинная шайба м8 1шт

· профиль алюминиевый прямоугольный 20х10мм 20см

· провод

· кнопка PBS-10-B2 3шт

· джойстик или 4 тактовые кнопки для hat switch

· тактовая кнопка для курка

*в данный момент реализована только макетная версия ручки B8, для добавления в нее действующих кнопок потребуется небольшая доработка модели.

Механизм рычага содержит 7 печатных деталей: рама оси Х, рама оси У, держатель ручки, рама ss495a (2шт), держатель магнита (2шт).

Для сборки детали можно использовать эксизы, приведенные ниже.

2.2.2 Сборка

Рассмотрим процесс сборки рычага циклического шага. Сначала собирается механическая часть, после этого выполняется калибровка. Для наклеивания микросхем и магнитов на их рамы необходимо наличие Arduino Uno или nano (c atmega16u2) с ПО UnoJoy. Эту процедуру рассмотрим далее.

Рис. 8. «Взрывной вид» механизма

Порядок сборки справа налево: болт, подшипник, пружинная шайба, гайка, рама оси У, гайка (притянуть к раме оси У, гайка для ее фиксации), пружинная шайба, подшипник, гайка (убедиться, что пружинная шайба сжата, в случае необходимости добавить еще одну гайку), держатель магнита (навинчивается).

Рис. 9. Сборка оси Х

Рис.10. Сборка оси У

Порядок сборки левой половины оси от справа налево:

Болт, подшипник, пружинная шайба, гайка, держатель ручки циклического шага, гайка, держатель магнита. Правая половина собирается аналогичным образом.

Порядок сборки рамы ss495a:

На болты одеваются шайбы, затем болты продеваются в раму ss495a, далее снова одеваются шайбы, затем пружинные шайбы, затем гайки м3. Диаметр отверстий в раме ss495a больше м3 для регулировки положения ss495a относительно магнита.

Порядок сборки ручки (для макетной версии): 2 половины ручки распечатываются, в одну из них вставляется болт м8 с накрученной гайкой таким образом, чтобы попасть в посадочные места внутри боковин. Затем половины ручки склеиваются циакрином. Если в процессе печати деталей произошла деформация, щели и пустоты заполняются составом «холодная сварка». После высыхания ручка ошкуривается, красится и покрывается лаком. Распечатываются декоративные кнопки, собираются, красятся и вклеиваются в соответствующие отверстия.

Рис. 11. Оси Х и У, вид сверху

Готовый механизм одевается на алюминиевый профиль рамы тренажера. Ручка свободно вставляется в держатель. После сборки механической части необходимо наклеить на рамы микросхемы ss495a, магниты на держатели, разъем Ethernet, соединить монтажным проводом ss495a с разъемом по схеме: 1 и 2 контакт общие + и - соответственно, 3 ось Х 4 ось У. Затем необходимо откалибровать устройство. Если углы наклона ручки не менялись, магниты могут быть расположены так, чтобы по горизонтали магнит находился в центре рамы, а по вертикали - нижняя грань магнита совпадала с серединой рамы. Такое положение должно позволить осуществить калибровку в дальнейшем путем поворота рамы магнита и смещения рамы ss495a. В противном случае (например, требуется увеличить длину ручки и уменьшить угол ее поворота) следует подключить устройство к компьютеру с помощью Arduino uno (об этом ниже) подобрать взаимное положение магнита и рамы ss495a, наклеив магнит сначала на двусторонний скотч, таким образом получив возможность двигать его по раме, наблюдая за положением индикатора положения осей в программе «свойства игровых устройств windows». При изменении углов наклона ручки следует стремиться к их равенству.

2.3 Рычаг общего шага

Рис. 12. Общий вид рычага общего шага

Конструкция рычага общего шага позволяет регулировать как угол наклона, так и его начальное положение, адаптируясь к длине хода рычага и длине/ форме органов управления конкретной модели вертолета. Регулировка осуществляется изменением количества гаек (для большей эстетичности их можно заменить печатными проставками нужной длины) между верхней и нижней скобой ограничителя хода рычага (collective_travel_limiter).

В соответствии с выбранной длиной хода рычага выбирается длина контактных проставок фиксатора рычага (collective_fixator). Штатная конфигурация предполагает угол поворота рычага около 30 градусов. Начальное положение рычага может регулироваться также изменением наклона прямоугольного отверстия в модели скобы крепления рычага к стулу (см. раздел основная рама). По умолчанию рычаг установлен с небольшим наклоном. Скобы фиксатора рычага стягиваются денежными резинками.

В ручке газа устанавливается линейный переменный резистор 10к. Макет панели выключателей может быть заменен в соответствии с потребностями пользователя. Прилагаемая модель не имеет выключателей, но обеспечивает (на мой взгляд) комфортный угол наклона панели для работы с ними. Пользователю предлагается внести необходимые изменения в модель, или полностью заменить ее в соответствии с его пожеланиями. Процесс подключения ss495a к рычагу и последующей калибровки полностью повторяет таковой для ручки циклического шага. После выполнения регулировок ss495a закрывается крышкой, обеспечивающей возможность безопасной транспортировки. В случае необходимости, может быть установлено 2 ручки газа, также возможна конверсия в самолетный вариант.

2.3.1 Список материалов

· резистор переменный линейный 1шт

· болт м8х100 2шт

· болт м8х60 1шт

· болт м8х80 2шт

· гайка м8 19шт

· подшипник 608zz 2шт

· пружинная шайба 3шт

· ss495a 1шт

· магнит 5х10 1шт

· розетка Ethernet 1шт

· болт м3х30 2шт

· гайка м3 2шт

· шайба м3 2шт

· пружинная шайба м3 2шт

2.3.2 Сборка

Рис. 13. Сборка рычага общего шага, вид сверху

Сборка механизма рычага общего шага производится в следующем порядке:

Рис. 14. Сборка рычага общего шага, вид сбоку

Рис.15. Фиксатор рычага общего шага.

· профиль рычага запрессовывается в держатель рычага (collective_holder);

· подшипники запрессовываются в раму рычага (collective_frame), при необходимости отверстия растачиваются ножом;

· держатель рычага закрепляется в раме, как показано на рис. 12;

· собирается ручка газа, как показано на рис. 11;

· собираются скобы фиксатора рычага (рис.13).

· скобы фиксатора стягиваются резинкой, выбирается нужное количество витков резинки для комфортного хода рычага;

· устанавливается ss495a и рама с магнитом;

· осуществляется калибровка;

· одевается крышка ss495a.

2.4 Педали

Рис.16. Педали. Общий вид.

По сравнению с первой версией тренажера, где педали были сделаны по образцу вертолетов Bell, здесь я решил позаимствовать конструкцию из вертолета Ми-8. Такое решение обусловлено меньшим количеством печатных деталей, меньшим количеством подшипников, большей простотой в изготовлении, а значит- более высокой надежностью механизма. При этом потребительские качества страдают незначительно. Педали могут крепиться к гладкой поверхности с помощью двустороннего скотча, в грунт - с помощью колышков , или же к стулу с помощью веревки или алюминиевого профиля. Что касается эксплуатации педалей- на мой взгляд, их прочности достаточно. В случае возникновения незначительных механических деформаций алюминиевого профиля, это не должно отразиться на точности.

Я тестировал педали в течение месяца, ничего страшного с ними не произошло. Конструкция предусматривает, что пилот держит ноги на полу, прикладывая усилие к педали параллельно полу, и нажимает на педаль, смещая ногу вперед. Таким образом, вес ноги находится на полу, а не на механизме. Однако, в моменты активного маневрирования можно ставить ноги непосредственно на коромысло. Эксплуатация в течение длительного времени в таком режиме показала, что прочности конструкции достаточно. Опыт пользователя может отличаться в зависимости от используемого пластика.

2.4.1 Список материалов

· подшипник 608zz 6шт

· болт м8х60 2шт

· болт м8х80 1шт

· пружинная шайба м8 6шт

· гайка м8 9шт

· ss495a 1шт

· магнит 5х10 1шт

· розетка Ethernet 1шт

· болт м3х30 2шт

· гайка м3 2шт

· шайба м3 2шт

· пружинная шайба м3 2шт

· алюминиевый профиль 2х10см, 2х30см

2.4.2 Сборка

Рис.17. Сборка оси подшипника коромысла.

Рис.18 Сборка оси педали

Сборка педалей осуществляется следующим образом:

· собирается коромысло (main_bearing_frame, pedal_mount x2);

· собирается рама коромысла (main_frame_latest, рис.15);

· собирается основная рама;

· коромысло устанавливается на основную раму (запрессовывается)

· одеваются педали (рис.16)

· подключается ss495a

· после калибровки ss495a накрывается крышкой, розетка выводится на крышку. Крышка закрепляется изолентой.

2.5 Основная рама

Основная рама состоит из двух алюминиевых профилей (их длина определяется размерами стула), крепежных элементов, предназначенных для крепления и регулировки положения основной рамы на ножках стула, крепежного элемента рычага основного шага (предлагаются элементы с 2мя углами наклона для стула ikea ГУНДЕ). В случае необходимости нетрудно нарисовать необходимые элементы для другого стула.

Рис.19 Основная рама в сборе

Рама может устанавливаться на любой высоте (насколько это позволяет используемый стул), позволяет регулировать положение рычагов циклического и основного шага в 2х плоскостях. Сборка осуществляется следующим образом: рама устанавливается на стул на нужной высоте по уровню, либо параллельно элементам конструкции стула, затем устанавливаются задние части крепежных элементов рамы, передние и задние части стягиваются винтами м8 (используйте широкую шайбу и пружинную шайбу).

2.6 Электроника

Электронная начинка комплекта органов управления представляет собой плату Arduino в корпусе с необходимыми разъемами. Можно использовать Arduino Uno или Nano (или Mega, но это целесообразно только если вы строите реплику кокпита), стоит лишь обратить внимание на обязательное наличие на плате второго микроконтроллера atmega16u2.

Рис.20. Arduino Uno в коробке ДКС

Этот микроконтроллер понадобится для загрузки ПО UnoJoy, которое используется для работы комплекта в качестве джойстика для ПК. Если вы используете Uno, можно подключать его прямо к батарее питания наземной станции. Если же используется Nano, потребуется блок питания на 5 вольт, например, на LM2596. В качестве корпуса для электроники я использовал очень удачную коробку от российского производителя ДКС. Эта коробка отличается мягкостью пластика, возможностью многократного открывания- закрывания, морозоустойчивостью и безвинтовым креплением крышки. В качестве монтажного провода удобно применять жилы UTP16: это дешево, большое разнообразие цветов, жилы неплохо держатся в разъемах PBS и макетной плате. В качестве альтернативного варианта можно собрать все на пайке, воспользовавшись монтажной платой или вытравив свою. Выбор Ethernet разъемов обусловлен тем, что они имеют 8 контактов, можно использовать стандартные патчкорды для подключения, разъемы и патчкорды дешевы и их можно купить практически везде.

2.6.1 ПО для работы тренажера с компьютером в качестве джойстика

Для работы с компьютером используется прошивка UnoJoy Алана Четема (Alan Chatam).

Она требует наличия atmega8u2, поэтому заказывая клон Arduino, убедитесь, что usb - serial конвертер реализован именно на этом микроконтроллере. CH340 и прочие работать в качестве джойстика не будут.

Если комплект органов управления используется в стандартной комплектации, можно взять прилагающуюся прошивку и ничего в ней не менять. Если используются не все оси, обязательно необходимо заземлить неиспользуемые. Если необходимо увеличить количество осей или кнопок, их можно добавить. Рассмотрим этот процесс подробнее.

Итак, прошивка представляет из себя 2 части: прошивка, загружаемая в основной МК (atmega328 или 2560) и прошивка для atmega8u2 (или 16u2 в зависимости от версии Arduino), превращающая его в HID устройство. Первая прошивка получает значения потенциометров (в нашем случае датчиков Холла) и отправляет в usb2com чип (atmega16u2), который обеспечивает связь с операционной системой компьютера. Чтобы добавить больше осей или кнопок, надо отредактировать несколько файлов:

· usb_gamepad.c

· usb_gamepad.h

· data_for_controller.h

· unojoy.c (обратите внимание, этого момента нет в оригинальной инструкции)

· unojoy.ino

Необходимые изменения в usb_gamepad.c

Необходимо исправить HID дескриптор, который начинающийся со строки 133:

0xa1, 0x01, // COLLECTION (Application)

0x15, 0x00, // LOGICAL_MINIMUM (0)

0x25, 0x01, // LOGICAL_MAXIMUM (1)

0x35, 0x00, // PHYSICAL_MINIMUM (0)

0x45, 0x01, // PHYSICAL_MAXIMUM (1)

0x75, 0x01, // REPORT_SIZE (1)

0x95, 0x0d, // REPORT_COUNT (13)

0x05, 0x09, // USAGE_PAGE (Button)

0x19, 0x01, // USAGE_MINIMUM (Button 1)

0x29, 0x0d, // USAGE_MAXIMUM (Button 13)

0x81, 0x02, // INPUT (Data,Var,Abs)

0x95, 0x03, // REPORT_COUNT (3)

0x81, 0x01, // INPUT (Cnst,Ary,Abs)

0x05, 0x01, // USAGE_PAGE (Generic Desktop)

0x25, 0x07, // LOGICAL_MAXIMUM (7)

0x46, 0x3b, 0x01, // PHYSICAL_MAXIMUM (315)

0x75, 0x04, // REPORT_SIZE (4)

0x95, 0x01, // REPORT_COUNT (1)

0x65, 0x14, // UNIT (Eng Rot:Angular Pos)

0x09, 0x39, // USAGE (Hat switch)

0x81, 0x42, // INPUT (Data,Var,Abs,Null)

0x65, 0x00, // UNIT (None)

0x95, 0x01, // REPORT_COUNT (1)

0x81, 0x01, // INPUT (Cnst,Ary,Abs)

0x26, 0xff, 0x00, // LOGICAL_MAXIMUM (255)

0x46, 0xff, 0x00, // PHYSICAL_MAXIMUM (255)

0x09, 0x30, // USAGE (X)

0x09, 0x31, // USAGE (Y)

0x09, 0x32, // USAGE (Z)

0x09, 0x35, // USAGE (Rz)

0x75, 0x08, // REPORT_SIZE (8)

0x95, 0x04, // REPORT_COUNT (4)

0x81, 0x02, // INPUT (Data,Var,Abs)

Описание осей выглядит так:

0x26, 0xff, 0x00, // LOGICAL_MAXIMUM (255)

0x46, 0xff, 0x00, // PHYSICAL_MAXIMUM (255)

0x09, 0x30, // USAGE (X)

0x09, 0x31, // USAGE (Y)

0x09, 0x32, // USAGE (Z)

0x09, 0x35, // USAGE (Rz)

0x75, 0x08, // REPORT_SIZE (8)

0x95, 0x04, // REPORT_COUNT (4)

0x81, 0x02, // INPUT (Data,Var,Abs)

Добавим строку

0x09, 0x33, // USAGE (Rx)

перед Rz, увеличим REPORT_COUNT до 5:

0x95, 0x05, // REPORT_COUNT (5)

Таким образом мы добавим дополнительную ось Rx (имя оси определяется кодом 0х35, другие коды можно посмотреть в документации.

Схожим образом можно увеличить количество кнопок

0x95, 0x0d, // REPORT_COUNT (13)

0x05, 0x09, // USAGE_PAGE (Button)

0x19, 0x01, // USAGE_MINIMUM (Button 1)

0x29, 0x0d, // USAGE_MAXIMUM (Button 13)

0x95, 0x03, // REPORT_COUNT (3)

0x81, 0x02, // INPUT (Data,Var,Abs)

Обратите внимание на предпоследнюю строку. В ней мы дополняем количество кнопок до 2х байт (каждая кнопка содержит 1 бит информации, нажата или нет, 13 бит +3 = 16 бит = 2 байта). То есть, чтобы добавить кнопку, мы должны изменить REPORT_COUNT на 14 (0x0e в 16ричной системе), USAGE_MAXIMUM также на 0x0e, и уменьшить количество фейковых кнопок до 2

0x95, 0x02, // REPORT_COUNT (2)

Необходимые изменения в usb_gamepad.h

Добавим новую ось throttle_axis после строки 54:

uint8_t l_x_axis;

uint8_t l_y_axis;

uint8_t r_x_axis;

uint8_t r_y_axis;

uint8_t throttle_axis;

Необходимые изменения в файле data_for_controller.h

Добавим новую ось в структуру dataForController_t, после строки 41:

uint8_t rightStickY : 8;

uint8_t throttleStick : 8; //unsigned integer, 8 бит длиной

Необходимые изменения в файле unojoy.c

После строки 192 добавим:

serialWrite(7);

dataToSend.throttleStick= serialRead(25);

Мы получаем данные с atmega328p, посылая номер нужного байта в структуре dataForController_T, затем ждем, пока atmega328 вернет его. Значение 25 в вызове serialRead означает таймаут в миллисекундах. Таким образом, если произойдет ошибка передачи, мы не зависнем в ожидании.

Изменения в файле UnoJoy.ino

controllerData.throttleStick = analogRead(A4) >> 2;

Загрузка прошивки

Можно удалить ненужные оси похожим образом, для этого надо повторить те же действия, но вместо добавления новых строк, удалить ненужные, и уменьшить REPORT_COUNT в дескрипторе.

После внесения изменений необходимо перекомпилировать проект.

Для этого, например, можно использовать AVRStudio. Далее обычным способом загружаем прошивку для atmega328 из среды Arduino (или любым другим способом) и переводим ее в DFU mode замыканием контактов ISP разъема atmega16u2:

После этого плата перезагрузится и можно будет запустить файл TurnIntoAJoystick.bat из папки UnoJoy. После очередной перезагрузки плата определится как джойстик с 5 осями и 13 кнопками.

Все готово для подключения ss495a и калибровки!

Рис.21. Перевод Arduino uno в DFU режим.

2.6.2 Калибровка органов управления

После сборки на все органы управления необходимо установить датчики Холла (ss495a) и магниты, затем откалибровать. Рассмотрим эту процедуру подробнее. Для того, чтобы подобрать нужное положение магнита относительно датчика, необходимо наклеить двусторонний скотч на монтажную площадку магнита и приклеить магнит в то место, где он предположительно должен находиться, например, так.

Затем аналогичным образом приклеить на скотч ss495a к ее раме, подрезав раму так, чтобы датчик находился примерно посередине магнита. Собрать конструкцию и подключить к Arduino. Загрузить прошивку UnoJoy, внести необходимые изменения в нее (см. раздел ПО для компьютера). Изменяя положение рамы ss495a (она имеет увеличенные монтажные отверстия для регулировки положения) и при необходимости магнита, добиться, чтобы полный механический ход ручки соответствовал полному ходу индикатора отсчетов оси в «свойствах игровых устройств windows». Достигнув удовлетворительных результатов, удалить двусторонний скотч и приклеить магнит и датчик Холла на циакрин, после чего собрать узел снова и закрыть крышкой (при ее наличии).

Рис.22. Примерное положение магнита при стандартных углах поворота ручек

После завершения калибровки ваш комплект органов управления полностью готов!

2.6.3 ПО для управления ДПЛА

По основывается на ArduinoRClib и на данный момент предназначено для управления трикоптером, который будет описан далее, по 4м каналам. В дальнейшем возможна адаптация под 6ти канальный вертолет. В целом, ArduinoRClib хорошо документирована, и написание данной прошивки не составляет труда. К сожалению, на данный момент прошивка не готова, и не протестирована, поэтому публиковать ее здесь не имеет смысла. Старая прошивка (в приложении) отличается простотой и вполне может быть использована для управления по 4м каналам, но требует калибровки на живом оборудовании.

3. Трикоптер в.1

Рис.23. 3d printed tricopter v1 by hc625ma

Этот трикоптер хорошо летает, может поднимать большие батарейки, несет две камеры и может быть оборудован подвесным контейнером с авионикой (далее). Колесное шасси очень хорошо себя показало: во -первых, оно позволяет взлетать, разгоняясь до скорости косой обдувки. У него есть два основных недостатка: маловато места для крепления дополнительного оборудования (ультразвуковые дальномеры, дополнительные датчики и контроллеры) и он нарисован в SketchUp. Последнее плохо по двум причинам: непараметричность моделей и неумение работать с размерами меньше миллиметра. С непараметричностью я столкнулся, когда магазин, где я покупал сосновые рейки 10х10 закрылся, и я с удивлением обнаружил, что эти рейки- большая редкость. Тогда я решил перейти на алюминиевый профиль. И с удивлением обнаружил, что в ближайшем магазине есть бесконечные запасы профиля 8 и 12мм, а 10мм - нет и не предвидится. Кроме того, к этому моменту был готов комплект контейнера электроники, а подвесить его было особо некуда. Поэтому трикоптер было решено перерисовать и опубликовать новый вариант как 2ю версию. Однако, на данный момент она находится в стадии чертежей, и еще не все детали готовы. В планах - еще большее упрощение конструкции, переделка хвоста (в первой версии с ним ни разу не было проблем, но он получился слишком гибким), увеличение высоты рамы, добавление второй палубы для электроники, системы для подвески двух батарей и их параллельного подключения, смещение центра тяжести вниз.

Для сборки трикоптера достаточно распечатать все детали из прилагаемого архива, и установить электронику (список ниже). Перед установкой видеотракта рекомендуется выполнить пробный полет. Перед пробным полетом убедитесь, что можете управлять вертолетом в симуляторе для ПК, например, DCS.

3.1 Список материалов

· Моторы DT750 3шт

· Регуляторы RCX 30A opto 3шт

· Хвостовой сервопривод sky holic HDS-577 1шт

· KapteinKuk 5.5 полетный контроллер 1шт

· FRSKY d8rIIplus приемник (передатчик для наземной станции) 1шт

· 11 х 4,7 АРС пропеллеры 3шт

· Видеопередатчик и приемник (я использовал boscam 5,8G)

· Аналоговая камера 1шт

· Цифровая камера - регистратор (для записи видео в полете)

· Блок питания 5в

· Аквариумный резиновый шланг для вибропоглощающего подвеса камеры

· Комплект батарей (2200- 5000mah)

· Винты и гайки м5

· Винты и гайки м3

3.2 Сборка

Сборка коптера не составляет труда, все детали одеваются на рейки рамы, которые вставляются в крестовину. В предусмотренные крепежные отверстия заворачиваются винты. Особенно важно закрепить пилоны моторов и лучи рамы. В принципе, все достаточно интуитивно. Поскольку в данный момент готовится вторая версия рамы, более детально останавливаться на сборке не буду.

3.3 Рекомендации по печати

Все детали должны быть напечатаны таким образом, чтобы силы, действующие на деталь, действовали вдоль нити. Там, где силы действуют в двух и более направлениях, в некоторых случаях целесообразно стянуть деталь винтами. Проблема в том, что параметры печати для различных пластиков отличаются, как и механические свойства готовых деталей. Для того, чтобы не разбить модель из-за недостаточной межслойной адгезии, в критических местах обязательно стягивайте деталь винтом через шайбу. Печатайте силовые детали толстым слоем (0,4 - 0,5), это делает их прочнее.

3.4 Рекомендации по технике безопасности летной эксплуатации

Несколько простых правил помогут вам избежать неприятных ситуаций.

· Отказ любого узла вашего ЛА может произойти в любую секунду. Всегда помните об этом, планируйте, как вы будете искать, доставать ЛА в случае падения в данную секунду. Из этого следует второе правило:

· Никогда не летайте над людьми, машинами, дорогами, мостами, зданиями. Даже если вам кажется, что ничего плохого не произойдет. Не употребляйте алкоголь перед и во время полета.

· Каждая гайка в вашем ЛА одинаково важна. Первый коптер был потерян из-за отвалившегося от вибрации провода блока питания.

· Не поднимайтесь высоко, если находитесь не в аэроклубе, или если не заказали воздушное пространство заранее. Вы можете стать помехой большой авиации и принести множество проблем не только себе, но и сообществу моделистов.

· Опуская текущую ситуацию с законодательством (май 2016), если планируете летать высоко, заказывайте местный режим. Летая внутри МР, вы не представляете опасности для других ЛА. Убедитесь, что вы не представляете опасности ни для кого, выполняя полет в данной местности.

· Несмотря на то, что вес вашего ла составляет около 1кг, вы должны относится к каждому полету со всей серьезностью, присущей большой авиации. Перед полетом проверяйте затяжку всех гаек, визуально оценивайте состояние всех узлов. Ведите бортовой журнал. Записывайте в него все возникающие неполадки. Если машину неожиданно начало кренить в сторону, запишите это в журнал, и задумайтесь, не стоит ли поменять мотор и регулятор с этой стороны. Опыт показывает, что стоит. В какой- то момент при таких симптомах происходит потеря синхронизации мотора с регулятором.

· Перед каждым полетам проверьте напряжение на всех банках батареи.

· - Ну ладно, на еще один раз его хватит, и домой - скорее всего, не хватит. Не поднимайтесь в воздух с серьезными неполадками, или если вы не знаете причину неполадок. Если все же летите - прочитайте еще раз внимательно правило №1.

· Не летайте над водой, обрывами и другими местами, откуда не сможете извлечь ваш ЛА. Высокая трава смягчит падение, но вы можете не найти в ней аппарат. Всегда имейте на борту хотя бы пищалку. Включайте ее перед взлетом.

· Если летаете в компании, убедитесь, что кто-то регулирует воздушное движение. Как правило, устанавливается договоренность о том, что в воздухе в 1 момент времени находится 1 ЛА. В противном случае убедитесь, что все пилоты понимают территориальные ограничения, установленные для них, и могут (и хотят) следовать им.

· Старайтесь донести эти правила до других пилотов радиомоделей. К сожалению, на данный момент существует категория людей, халатно относящихся к хобби, не осознающих потенциальную опасность, которую они могут нести окружающим. Эти люди представляют опасность для моделизма в целом.

· Не забывайте получать удовольствие. Будьте вежливы и приветливы. Помните, что во время разговора с людьми вы можете формировать у них впечатление о сообществе моделистов в целом.

3.5 Рекомендации по летной эксплуатации

По восприятию трикоптер в целом похож на вертолет. Основное отличие в данном случае- фиксированный шаг винтов и отсутствие общей трансмиссии. Фиксированный шаг винтов обязывает при полете с большой нагрузкой просчитывать каждое следующее действие заранее, т.к. набор оборотов занимает некоторое время. В целом, основные положения довольно стандартны:

· Висение требует больше мощности двигателей, чем горизонтальный полет. Для того, чтобы летать дольше, старайтесь находится в движении.

· Выполняя разворот по ветру, добавьте газу, или будьте готовы к потере высоты.

· Будьте готовы к потере высоты при замедлении.

· Не снижайтесь вертикально. Вихревое кольцо никто не отменял.

· Не используйте режим полного газа в течение длительного времени - это приведет к перегреву регуляторов и моторов и скажется на их сроке службы.

· Охладите моторы, регуляторы и голову после полета.

· Начинайте выход из снижения (особенно выполняемого с большой вертикальной скоростью) заранее.

· Взлет и посадку по камере выполняйте с пробегом. Это позволяет видеть паразитные смещения ЛА.

· Следите за временем и напряжением батареи. Всегда проверяйте каждую батарею перед взлетом. Не забывайте устанавливать таймер перед взлетом.

3.6 Наземная станция

Наземная станция состоит из аппаратуры управления (на фото turnigy 9xr), монитора, козырька монитора, видеоприемника, антенны управления, антенны приемника, штатива. К аппаратуре управления (или к передатчику напрямую, но это нецелесообразно) подключается комплект органов управления Simchair mark II через тренер - разъем (в данном случае кабелем 3,5 jack - 3,5 jack). Антенны управления и видео приемника крепятся на монитор. Для полетов в радиусе 200-300 метров рекомендуется использование антенн круговой поляризации. Козырек необходим для лучшей читаемости монитора на солнце (обычно мы летаем в хорошую погоду). Конструкция будет доработана для удобной интеграции с комплектом органов управления и панелью приборов. В частности, планируется более удобный объемный сборный козырек из алюминиевого профиля, печатных деталей и пенопласта.

тренажер программный элетроника

4. Подвесной блок бортовой электроники

Рис.24 Подвесной блок бортовой электроники

4.1 Устройство блока

Внутри контейнера находится 10DOF плата GY-86, модуль связи HC12 с антенной, Arduino nano. Плата GY-86 содержит следующие датчики:

· 3х осевой акселерометр и гироскоп MPU6050;

· высокоточный датчик давления MS5611

· магнетометр HCL5883

Плата GY-86 зафиксирована в нужном положении в отведенном для нее в корпусе место. Arduino крепится на двусторонний скотч в специальное углубление, штыревые разъемы припаиваются, как показано на рис. 24. HC12 клеится на двусторонний скотч на Arduino, от которой предварительно отпаивается кнопка перезагрузки. Подойдет любая плата Arduino nano, с любым usb-com преобразователем.

Рис.25. Внутреннее устройство блока

4.2 Панель приборов наземной станции

Панель приборов написана на Processing, и требует компьютера для выполнения. Это может быть нетбук или одноплатный компьютер на базе ARM. Нетбука на intel Atom вполне достаточно для работы (к сожалению, на данный момент используется только одно ядро процессора). Приложение кросплатформенное, и может быть запущено в linux и windows. Для приема сигнала с подвесного контейнера потребуется модуль hc12 и usb-uart адаптер.

4.3 Программное обеспечение

4.3.1 Обзор

ПО состоит из двух частей: прошивки Arduino и наземной станции. Arduino собирает информацию с датчиков GY-86 и посылает в последовательный порт на скорости 38400, после чего модуль HC12, настроенный на ту же скорость, передает данные на наземную станцию.

4.3.2 Настройка HC-12

Выбор скорости связан с тем, что это минимальная скорость последовательного порта, при которой субъективно движение стрелок приборов на панели выглядит плавно. Однако, в инструкции к HC12 сказано, что скорость последовательного порта обратно пропорциональна дальности передачи:

Рис.26. Зависимость чувствительности приемника от скорости радиоканала

На рис.26 скорость радиоканала определяется из следующей таблицы (рис. 27).

Принимая во внимание информацию из таблиц, следует выбирать минимально возможную скорость передачи. В данном случае это 38400.

Рис. 27. Зависимость скорости радиоканала от скорости последовательного порта

По умолчанию, HC-12 настроен на скорость последовательного порта 9600 бод. Для того, чтобы сменить ее на 38400, надо:

· подключить HC12 к компьютеру через USB-UART адаптер;

· открыть терминал и соединиться с появившимся в системе последовательным портом на скорости 9600;

· ввести команду AT; если все соединено правильно, вы должны увидеть ответ ОК;

· ввести команду AT+С38400; дождаться ответа «ОК+B38400»;

· повторить последовательность действий на втором модуле HC12.

Поддерживаются и другие команды, рекомендую обратиться к официальной документации.

Модуль HC12 вносит небольшую задержку в передаваемые данные, но это не страшно, вы все равно не захотите залетать в тучу на коптере.

4.3.4 Особенности реализации ПО

Код для Arduino Nano основан на библиотеках и примерах работы с датчиками. Код для работы с MPU-6050 основан на библиотеке Джеффа Роуберга (Jeff Rowberg). Код для работы с MPU6050 основан на примере пользователя rcgroups.com KapteinKuk. Код для работы с магнетометром основан на библиотеке и примерах Корнелиуса Джарзебски (Corneliusz Jarzebski). Значительную помощь в написании кода индикатора мгновенной вертикальной скорости (IVSI) оказал пользователь youtube Милан Каракас (Milan Karakas).

В этом разделе я приведу некоторые изменения, которые надо сделать в библиотеках, а также поясню некоторые детали. Сам код прошивки Arduino и наземной станции будет размещен в приложении к диплому, а также доступен для скачивания на моем сайте http://hc625ma.twilightparadox.com.

Для начала, остановимся подробнее на библиотеке Джеффа Роуберга. Поскольку нам надо выводить много данных в последовательный порт, а это медленная операция, надо уменьшить частоту DMP. Сделать это можно в файле MPU6050_6Axis_MotionApps20.h в строке 305 (отмечена красным), заменив последнее значение в строке на 0х09 (отмечено зеленым):

0x07, 0x47, 0x04, 0xF1, 0x28, 0x30, 0x38, // CFG_9 inv_send_gyro -> inv_construct3_fifo

0x07, 0x6C, 0x04, 0xF1, 0x28, 0x30, 0x38, // CFG_12 inv_send_accel -> inv_construct3_fifo

0x02, 0x16, 0x02, 0x00, 0x09 //(0x07 -> 16Mhz) D_0_22 inv_set_fifo_rate (0x06 for first 8mhz board) (0x09 for 8Mhz board from Binoy)

// This very last 0x01 WAS a 0x09, which drops the FIFO rate down to 20 Hz. 0x07 is 25 Hz,

// 0x01 is 100Hz. Going faster than 100Hz (0x00=200Hz) tends to result in very noisy data.

// DMP output frequency is calculated easily using this equation: (200Hz / (1 + value))

// It is important to make sure the host processor can keep up with reading and processing

// the FIFO output at the desired rate. Handling FIFO overflow cleanly is also a good idea.

Это установит частоту FIFO буфера на 20 Герц.

Далее, рассмотрим работу с магнетометром. Дело в том, что он подключен к собственной шине i2c MPU6050, поэтому код Джеффа для DMP и стандартная библиотека HCL5883 работать не будут. MPU6050 без DMP нам малоинтересна, поэтому будем работать с магнетометром напрямую. Обратим внимание на следующий код в функции setup():

//отклоючаем мастер режим и включаем байпас i2c шины

mpu.setI2CMasterModeEnabled(0);

mpu.setI2CBypassEnabled(1);

//постоянный режим измерений магнетометра

Wire.beginTransmission(HMC5883L_DEFAULT_ADDRESS);

Wire.write(0x02);

Wire.write(0x00); // Set continuous mode

Wire.endTransmission();

delay(5);

//частота измерений 75Гц

Wire.beginTransmission(HMC5883L_DEFAULT_ADDRESS);

Wire.write(0x00);

Wire.write(B00011000); // 75Hz

Wire.endTransmission();

delay(5);

//диапазон измерений

Wire.beginTransmission(HMC5883L_DEFAULT_ADDRESS);

Wire.write(0x01);

Wire.write(B00100000); // 1_3GA range

Wire.endTransmission();

delay(5);

mpu.setI2CBypassEnabled(0);

// X axis word

mpu.setSlaveAddress(0, HMC5883L_DEFAULT_ADDRESS | 0x80); // 0x80 turns 7th bit ON, according to datasheet, 7th bit controls Read/Write direction

mpu.setSlaveRegister(0, HMC5883L_RA_DATAX_H);

mpu.setSlaveEnabled(0, true);

mpu.setSlaveWordByteSwap(0, false);

mpu.setSlaveWriteMode(0, false);

mpu.setSlaveWordGroupOffset(0, false);

mpu.setSlaveDataLength(0, 2);

// Y axis word

mpu.setSlaveAddress(1, HMC5883L_DEFAULT_ADDRESS | 0x80);

mpu.setSlaveRegister(1, HMC5883L_RA_DATAY_H);

mpu.setSlaveEnabled(1, true);

mpu.setSlaveWordByteSwap(1, false);

mpu.setSlaveWriteMode(1, false);

mpu.setSlaveWordGroupOffset(1, false);

mpu.setSlaveDataLength(1, 2);

// Z axis word

mpu.setSlaveAddress(2, HMC5883L_DEFAULT_ADDRESS | 0x80);

mpu.setSlaveRegister(2, HMC5883L_RA_DATAZ_H);

mpu.setSlaveEnabled(2, true);

mpu.setSlaveWordByteSwap(2, false);

mpu.setSlaveWriteMode(2, false);

mpu.setSlaveWordGroupOffset(2, false);

mpu.setSlaveDataLength(2, 2);

mpu.setI2CMasterModeEnabled(1);

Этот код позволяет работать с магнетометром и DMP одновременно.

Обратите внимание на процедуру tiltCompensate, в ней происходит вычисление значения курса с учетом наклона магнетометра.

// Tilt compensation

float Xh = mag.XAxis * cosPitch + mag.ZAxis * sinPitch;

float Yh = mag.XAxis * sinRoll * sinPitch + mag.YAxis * cosRoll - mag.ZAxis * sinRoll * cosPitch;

float heading = atan2(Yh, Xh);

Код все еще находится на альфа стадии и требует более тщательного тестирования, однако, в первом приближении, все работает. Обратите внимание, что MPU6050 и HCL5883 необходимо калибровать! Причем уже в собранном и подвешенном к ЛА виде. Для этого можно использовать скетчи из библиотек Корнелиуса Джарзебски (Corneliusz Jarzebski) и Джеффа Роуберга (Jeff Rowberg).

4.4 Эксплуатация панели приборов

Рис.28 Панель приборов

Панель приборов содержит следующие инструменты:

· гировертикаль

· указатель мгновенной вертикальной скорости со звуковой сигнализацией

· компас

· высотомер

· индикаторы датчиков тока, температуры двигателей

· индикатор заряда батареи

· таймер

Высотомер, компас, таймер имеют по 2 режима работы. Подключение датчиков температуры, тока и батареи пока не реализовано, но является тривиальной задачей. При этом пустые значения включены в вывод печати по последовательному порту, чтобы убедиться, что печать все еще укладывается во временной интервал между заполнениями буфера FIFO MPU6050.

4.4.1 Высотомер

Высотомер поддерживает режимы QNE (включается кнопкой R) и QFE (кнопка F). Первый показывает высоту относительно стандартного давления на уровне моря (1013 гПа). Второй - относительно точки взлета. Режим QFE требует некоторого времени на заполнение буфера фильтра. Дождитесь, пока текст «init» на приборе сменится цифрами.

4.4.2 Вариометр

Вариометр также требует некоторого времени на инициализацию. Дождитесь, пока погаснет индикация «init», и стрелка прибора займет нулевое положение. Одновременно с этим начнет воспроизводится звуковой сигнал. Громкость регулируется кнопками E и D. Низкий сплошной тон звукового сигнала означает снижение, прерывистый высокий - подъем, частота характеризует интенсивность.

4.4.3 Компас

Компас может работать в двух режимах - магнитном (кнопка S) и от акселерометра (кнопка A). Первый режим чувствителен к электромагнитным помехам от окружающей аппаратуры, второй- к тряске. Предполагаемый сценарий эксплуатации- установка компаса в режиме «acc» по курсу магнетометра (отображается зеленым) на земле до включения двигателей, и последующий полет по акселерометру. Со временем значение курса, выдаваемое DMP, накапливает ошибку, которая прямо пропорциональна вибрации, испытываемой контейнером, но при небольшом времени полета она может оставаться незначительной. В противном случае, следует улучшить виброизоляцию контейнера.

4.4.4 Таймер

Таймер работает в двух режимах: инкрементном и декрементном, которые могут быть включены одновременно. Пуск таймера и постановка на паузу, а также повторный запуск производятся кнопкой Z, сброс - кнопкой X. Переключение между режимами- кнопка C. Кнопками V и B осуществляется установка временного интервала таймера обратного отсчета. На данный момент присутствует баг в таймере прямого отсчета, который в некоторых случаях приводит к некорректному возобновлению работы таймера после паузы.

Заключение

В целом, соединение всех трех элементов тренажера позволяет передать ощущение управления легким ЛА. Свободная лицензия и применение широко доступных компонентов и 3д принтера для изготовления всех узлов, низкая цена используемых материалов и компонентов, гарантируют возможность самостоятельного изготовления всех элементов конструкции хоббистами и энтузиастами авиации в любой точке мира. В ближайшем будущем будет запущен сайт с документацией и файлами моделей, кроме того, они будут доступны на http://thingiverse.com. И хотя код панели инструментов на данный момент требует оптимизации, а отдельные узлы комплекта органов управления могут быть доработаны, в основном все работает, и составляет хорошую основу для дальнейшего развития идеи. По причине острой нехватки времени, многое осталось за рамками этой работы, и будет в дальнейшем опубликовано на сайте.

Список литературы

1. DCS. Модуль UH-1 использовался на всех этапах подготовки и постройки тренажера.

2. Формулы и расчет высоты из давления

3. страничка Джеффа Роуберга (MPU6050 DMP library и др.)

4. страничка Корнелиуса Джарзебски (магнетометр и многое другое)

5. страница Милана Каракаса

6. MilanKarakas и его канал на youtube

7. документация по языку processing

8. сайт автора, здесь позже будет выложена вся документация и модели

9. инструкция по работе с модулем HC12

10. реплика ручки B8, которая была доработана для использования с тренажером

11. Многофункциональный тренажер / система управление полета (А.А. Кудряшов)

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.