В. Яценко - Твой первый квадрокоптер: теория и практика
- Название:Твой первый квадрокоптер: теория и практика
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2016
- Город:Санкт-Петербург
- ISBN:978-5-9775-3586-1
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
В. Яценко - Твой первый квадрокоптер: теория и практика краткое содержание
. Приведено краткое описание устройства и принципа работы систем GPS и Глонасс, а также современных импульсных источников бортового питания и литий-полимерных батарей. Подробно изложен принцип работы и процесс настройки систем, OSD, телеметрии, беспроводного канала
и популярных навигационных модулей
. Рассказано об устройстве и принципах работы интегральных сенсоров и полетного контроллера.
Даны рекомендации по подбору оборудования FPV начального уровня, приведен обзор программ дня компьютеров и смартфонов, применяемых при настройке оборудования квадрокоптера.
Для читателей, интересующихся электроникой, робототехникой, авиамоделизмом
Твой первый квадрокоптер: теория и практика - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Запомните номер порта, который появляется при подключении контроллера. В вашей системе он может отличаться от номера на иллюстрации. Номер также может измениться при включении в другое гнездо USB. Больше никакие действия по настройке подключения не требуются. Если драйвер установлен правильно, вы не должны вообще обращаться к настройкам порта, Windows все сделает автоматически.

Рис. 5.6. Виртуальный СОМ-порт полетного контроллера
Среда разработки Arduino IDE
Прошивка распространяется в виде набора файлов исходных кодов, включая специальный файл конфигурации. В общем случае, в файл конфигурации необходимо внести поправки в соответствии со своими нуждами, а затем скомпилировать прошивку и записать ее в полетный контроллер. Это несложно, даже если раньше вы никогда не сталкивались с программированием микроконтроллеров.
Прежде всего, скачайте с сайта vnvw.arduino.сс самую свежую версию среды разработки Arduino IDE. На момент написания книги это была версия 1.6.1. Если вы захотите использовать старую версию прошивки MultiWii v2.20, то для компиляции придется использовать архивную версию Arduino ГОЕ 1.0.5, иначе при компиляции будут возникать ошибки. Для установки достаточно запустить инсталлятор и подтвердить запросы на установку по умолчанию. Обе версии Arduino ГОЕ могут быть установлены на компьютер одновременно, но в разные папки.
После окончания установки подключите контроллер к компьютеру и запустите Arduino IDE. Откроется стартовое окно с пустым проектом. В терминах Arduino программа для микроконтроллера называется скетч. Теперь нужно настроить компилятор под нужный микроконтроллер и указать номер порта для связи. Выберите меню Инструменты | Плата | Arduino Mega 2560.
Затем выберите порт: Инструменты | Порти задайте номер порта СОМ, который соответствует вашей плате. Если плата не подключена, то нужный порт в списке не появится.
Примечание
Микроконтроллер АТМеда2560 оснащен энергонезависимой памятью (EEPROM) емкостью 4096 байт. В этой памяти хранятся настроечные константы прошивки MultiWii. Перед загрузкой новой прошивки EEPROM необходимо очистить. В противном случае прошивка может работать неправильно, либо не заработает вообще.
Для очистки EEPROM загрузите специальный короткий скетч из папки готовых примеров Arduino: Файл | Образцы | EEPROM | eeprom_dear. Скетч откроется в новом окне, но настройки платы и порта останутся прежними.
Примечание
Имейте в виду, что загрузка любой новой программы в память контроллера стирает записанную ранее. Если вы взяли чужой контроллер на время или не уверены, что хотите уничтожить имеющуюся прошивку, то не загружайте в память контроллера новые программы!
В строке
for (int i = 0; i < 512; i++)
исправьте значение 512 на 4096, чтобы очистить EEPROM полностью:
for (int i = 0; i < 4096; i++)
Теперь нажмите кнопку со стрелкой для загрузки программы в микроконтроллер. В течение нескольких секунд произойдет компиляция исходного текста программы в машинные коды, затем плата весело замигает светодиодами во время загрузки прошивки. Примерно через три секунды после загрузки светодиод А на плате начнет светиться постоянно. Это означает, что процесс очистки EEPROM завершен и контроллер готов к записи и настройке новой прошивки. Файлы примеров Arduino IDE защищены от записи, поэтому сохраните исправленный скетч очистки EEPROM в другое удобное место.
Память EEPROM нужно чистить, если:
• это первая загрузка прошивки в память контроллера, или предыдущая версия неизвестна;
• меняется версия прошивки;
• меняется тип коптера;
• меняется состав датчиков платы или их тип;
• после записи новой прошивки коптер стал вести себя неадекватно.
В остальных случаях, когда вы ограничиваетесь правкой настроечных параметров, стирать EEPROM перед повторной записью прошивки не надо.
Настройка базовых опций кода прошивки
Ранее вы скачали и разархивировали проект прошивки MultiWii. Проект состоит из нескольких файлов. Файлы скетчей имеют расширения ino или срр; файлы так называемых заголовков имеют расширения h. В среде Arduino имя папки проекта обязательно совпадает с именем главного файла проекта. Например, если папка носит имя MultiWiiAIOP, то главный файл в этой папке называется MultiWii_AIOP.ino.
Откройте главный файл двойным щелчком или через меню Файл | Открыть. При этом в среде Arduino IDE откроются все файлы проекта. Сейчас нас интересует только файл config.h. В нем подробно расписана конфигурация прошивки. Остальные файлы, если вы не имеете четкого понимания своих действий, лучше не трогать.
Механизм конфигурирования прошивки MultiWii, как, впрочем, и многих других программ для микроконтроллеров, основан на так называемых "дефайнах" — служебных директивах компилятора #define (определить). После этой директивы через пробел следуют имя параметра и его значение. В коде программы вместо конкретного значения указывают имя параметра. Во время обработки программного кода компилятор отыскивает имя параметра и автоматически подставляет вместо него соответствующее значение.
Например, если определен некий параметр
#define MY_PARAMETER 10
и он несколько раз используется в разных местах очень длинной программы, то впоследствии нам достаточно лишь один раз заменить его значение в определении, а остальные замены сделает компилятор. Для удобства настройки все необходимые определения вынесены в отдельный файл проекта и снабжены комментариями.
Наличие или отсутствие определений, указанных без значения, используется для того, чтобы иметь возможность скомпилировать разные варианты программы. Например, имеются два определения
#define HELICOPTER
//#define AIRPLANE
при этом второе определение закрыто символом комментария // и невидимо для компилятора. Теперь, если в программе встретятся такие два фрагмента:
#ifdef HELICOPTER
Фрагмент программы 1;
#endif
#ifdef AIRPLANE
Фрагмент программы 2;
#endif
то компилятор обработает первый фрагмент кода и проигнорирует второй, потому что определение airplane закомментировано и не существует. И наоборот, если мы закомментируем определение helicopter и раскомментируем airplane, to будет скомпилирован второй фрагмент кода.
Существуют и более сложные условные конструкции директив компилятора, но нам сейчас достаточно знать два метода, применяемые при пользовательском конфигурировании прошивки: задание численных значений и комментирование/раскомментирование имен параметров.
В группе однотипных параметров должна быть раскомментирована только одна строка. Если вы раскомментировали новую строку, не забудьте закрыть комментарием предыдущую. В противном случае возникнет неоднозначность, которая приведет к ошибке компиляции, либо неправильной работе прошивки.
Читать дальшеИнтервал:
Закладка: