Логгер с GPS

После того, как в моем авиапарке появился самодельный двухметровый электропланер,

актуальной стала задача объективного контроля параметров выполняемых полетов. Для этого в первую очередь было решено реализовать логгер - "черный ящик", записывающий координаты, скорость, высоту и другие доступные полетные параметры, получаемые из GPS приемника. В качестве GPS приемника уже довольно давно был приобретен OEM модуль GlobalSat EM-406A:

Вполне очевидно, что для построения логгера также необходимы микроконтроллер и энергонезависимая память. И тут я решил сделать "ход конем", а именно - не создавать логгер как отдельный прибор, а добавить функции логгера в приемный модуль нашего цифрового радиоканала. Поскольку модуль радиоканала имеет интерфейс RS-232 и 4 Мбит DataFlash EEPROM, то представлялось заманчивым использовать их для приема NMEA сообщений из GPS приемника и сохранения необходимой информации. Кроме очевидного аппаратного упрощения, такое решение имело еще одно преимущество - в приемнике доступны для сохранения в журнал (лог) значения управляющих каналов. Анализ производительности процессора показал, что наш приемник в состоянии выполнять такую дополнительную задачу при условии, что не будут вестись разбор и сложный анализ NMEA-сообщений. Поэтому было решено только отфильтровывать желаемые сообщения ($GPGGA и $GPGMC) и сохранять их целиком, никак не обрабатывая и не сжимая. Сохранение несжатой избыточной информации NMEA привело к тому, что 4-х Мбит EEPROM хватало примерно на час записи журнала. (Сначала я посчитал это приемлемым, но потом решил отказаться от приема сообщений $GPGMC, как не представляющих особого интереса, и это позволило увеличить время записи более чем в 2 раза). Также, каждую секунду в журнал прописываются значения каналов рулей и газа.

Таким образом, для аппаратной реализации логгера мне потребовался лишь соединительный кабель-преобразователь уровня TTL->RS232:

ВАЖНО! Применение такой схемы возможно лишь при питании приемника от BEC 4.5-5.5В. Питание с другим напряжением может быть недопустимо для модуля GPS!

Так это выглядит в реальности при проверке на столе:

А так - на борту планера:

Управляющая программа приемного модуля построена так, что запись в журнал начинается сразу после обнаружения приемником сигнала передатчика, причем полетные сессии в журнале разделяются пустым сектором. До этого момента приемник находится в режиме fail-safe и ждет команд управления журналом из RS232. Информация из EEPROM cчитывается в РС с помощью программы, реализованной на VB и сохраняется в файл с форматом CSV. Далее файл обрабатывается в MS Excel с помощью специально написанных VBA макросов и приводится к желаемому для меня виду. Вот так, например, выглядит график высоты и включения мотора в одном из полетов:

(В частности, на графике виден набор высоты до 270 метров в безмоторном полете после 4й затяжки. Затяжка номер 7 могла быть интересной - довольно сильный термик был пойман на высоте всего 30 метров и начался хороший подъем в потоке. Но севший в передатчике аккумулятор заставил бросить перспективный термик и спешно снижаться для приземления.)

Кроме этого, можно сохранять полетные данные в формате программы SkyPlotter для просмотра и анализа 3-D треков полета

Вот пример одного из моих полетов для SkyPlotter.

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

А вот очень интересная тема на rcdeign об опыте применения различных технических средств на радиоуправляемых планерах.

© Вадим Кушнир (aka Vad64)

На главную страницу

Hosted by uCoz