Несмотря на то, что этот "черный ящик" (бортовой аварийный самописец) изрядно устарел (особенно после появления автопилотов с функцией записи) - в свое время он у меня очень активно использовался для записи перегрузок и сигналов с приемника. Давайте я его кратко опишу, а уж Вы решите - интересен ли он сейчас или нет. Сразу хочу сообщить, что кроме моего сайта, я еще о нем писал на сайте "РадиоКот"... на случай, если кому-то покажется, что это копипаст :)
Итак - Flight Data Recorder (FDR) - это официальное название таких приборов (черный ящик - распространенное ошибочное, так как ящик всегда яркого, чаще оранжевого, цвета). Собран на простом МК ATtiny2313 и акселерометре ADXL345 . Собран он был в то время, когда мультивий только только входил в популярность (и я вообще о нем тогда не знал).

Кроме записи значений ускорений по осях, так же мониторились данные каналов, поступающие с приемника модели. Чтобы знать, что пилот делал в последние секунды перед аварией :).

Ведь после аварии всегда хочется знать реальную причину (если конечно, она не лежит на поверхности - как то "зарулился" "отвалилось крыло" и т.д.). А если пилот сделал незаметную на видео ошибку пилотирования? А потом "ну я не знаю, я ручку тянул на себя, тянул... а он раз, и в землю. Я не виноват!". Ах значит ручку на себя? А ну-ка, где у нас графики записи данных с приемника.... :) И ведь не отвертишся :)

Сразу хочу огорчить - что исходник мне найти пока не удалось :(. Да и как я уже говорил - статья носит чисто исторический характер. Сейчас раздумываю над второй версией черного ящика, чтобы записывались уже 8 каналов и некоторые другие параметры (напряжение аккумулятора, температура двигателя и т.д.). Я, правда, еще не искал - есть ли готовые, не очень злобные по цене решения.
НА всякий случай - ссылка на статью на моем сайте http://luckytech.ru/fdr.html
Архив с прошивкой, схемой, платой, программою и примером обработки данных - вот здесь.

Принципиальная схема


На схеме не показан стабилизатор 3.3В. Все данные пишутся в энергонезависимую память AT45DB161 (когда-то давно купленную для экспериментов). Даже сейчас, когда появилась такая возможность - запись на SD карточку представляется проблемой из-за не очень хорошей надежности контактов при рабочих перегрузках (имеются в виду удары самолета об землю - когда бортовой самописец начинает исполнять свое предназначение).

Печатная плата

Вроде еще разрабатывал плату под другой тип корпуса микросхемы памяти, но так и не спаял. А все потому, что если соберусь делать новую версию этого черного ящика - выберу другой МК... во всяком случае с АЦП, чтобы была возможность мониторить напряжение аккумулятора. Да и память tiny2313 уже была использована почти на 100%.
Готовая плата

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

Самописец может работать в двух режимах: запись только ускорений, и запись ускорений и данных с приемника (шесть каналов). В первом режиме 2Мб памяти хватает на ~116 минут (три значения по 2 байта 50 раз в секунду), во втором - на ~38 минут. Для настройки и выгрузки записанных данных была написана простенькая программа.

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

Описание команд, которые обрабатываются самописцем. Команда - это буква, без символа перевода строки.

Z - стереть память (на самом деле, данные не стираются, просто обнуляется адресный счетчик)

М - поменять режим. Внимание! Автоматически выполняется обнуление адресного счетчика, т.е. выполняется команда Z (чтобы не путаться потом с записями разных режимов, хотя сейчас обдумываю идею, как автоматически отличать данные с приемника и ускорения. Но пока что будет так.). При смене режима "черный ящик" возвращает информацию о том, какой режим включен (1 - ускорения и приемник, 0 - только ускорения). По умолчанию включен режим записи ускорений и данных приемника.

P - прочитать информацию о записях. Сейчас эта информация не используется, хотя в некоторых случаях позволяет оценить, сколько раз запускалась запись данных. Часто почему-то проскакивают отрицательные значения длительности записи, пока что не исправлял, так как утратил к этому интерес.

R - дать команду на выгрузку данныхс самописца. После этой команды он начинает отдавать записанные данные, разделяя их символом ";". Никакой синхронизации не предусмотрено, поэтому синхронизация происходит в программе. Весьма серьезным недостатком получившегося устройства является большое время выгрузки данных, которое достигает 40 минут для полного объема.
Весьма серьезным недостатком получившегося устройства является большое время выгрузки данных, которое достигает 40 минут для полного объема.

Как пользоваться бортовым самописцем

Подключаем черный ящик при помощи шлейфа к приемнику и питанию (можно использовать бортовое питание с приемника +5В – так как на плате стоит стабилизатор 3.3В). Если все хорошо – загорится зеленый светодиод. В нужный момент (перед стартом) нажимаем кнопку, должен замигать красный светодиод – начнется запись данных. При переполнении памяти – запись останавливается, и красный светодиод перестает мигать (светится постоянно). При следующем нажатии на кнопку – запись остановиться.

Для выгрузки записанных данных - подать на него питание (можно прямо не снимая с самолета и не отключая от приемника), подключить UART-USB кабель, запустить программу, нажать кнопку "Подключится к FDR1", и "Прочитать память". Ни в коем случае не нажимайте кнопки "Режим" и "Стереть память"... иначе сотрете память (подтверждения стирания НЕТ!).

Начнется загрузка данных на компьютер, должен мигать зеленый светодиод. После того, как данные загрузились, сохраняем результаты. Перед этим можете изменить имя файла (по умолчанию там текущая дата и время). Проверяем - действительно ли загрузились данные (смотрим внутрь файла, просто запускаем - должен открыться в Екселе). И только после этого нажимаем кнопку "Стереть память". Должен вспыхнуть красный светодиод.

Программа выдает скачанные с прибора данные в формате csv, который потом можно открыть обычным Екселем. Потом эти данные можно обработать, так как в файле xls, который лежит в архиве вместе с прошивкой, чертежом печатной платы и программой.

Разбор одного из полетов

Во время одного из полетов на большой высоте, мне захотелось побыстрее спустить самолет на землю. Зная, что пенопласт не выдержит больших перегрузок, я решил выключить двигатель (наивно полагая, что это чем-то поможет), и направил самолет вниз. Этот момент хорошо виден на графиках – отсчет ~3054. Видно, как пунктирная синяя линия ушла в минимум – двигатель выключен. Дальше видно, как я взял ручку от себя – красная пунктирная линия пошла вниз. И тут же можно наблюдать перегрузки – сплошная синяя линия в этот момент показала вертикальную перегрузку в -3g. Затем на отсчете приблизительно 3150 (5 секунда видео) я слишком быстро взял ручку на себя (красная пунктирная линия пошла вверх). Вертикальная перегрузка моментально выросла до +4.3g… и в этот момент левая консоль самолета не выдерживает и ломается.
А вот видео:


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

Этот момент, кстати, нужно обязательно учесть во второй версии - чтобы питание было стабильным даже во время удара.
Всем спасибо за внимание и за терпение в прочтении этой длинной исторической статьи :)

P.S. Пунктирная зеленая линия - это руль направления. Мой знакомый, более опытный пилот-моделист, мне постоянно ставил в упрек, что я его не использую. А я всегда говорил "да использую я его... иногда". Так вот - посмотрев на эту ровненькую линию (на протяжении всего полета после взлета) - он иронично сказал "какая у тебя стабильная зеленая линия... хоть бы РАЗ ручку РН дернул :)". И ведь теперь не отвертишся... действительно - не использую я РН. Пришлось признаваться...