Smalltim OSD and autopilot (часть 1)

foxtrot

Тим,

Провел сегодня «лабораторные» испытания телеметрии без самолета, видео- и RC передатчика в поле, в 150 метрах от места полетов. Видео брал с камкордера Sony, захватывал его пиннаклом на нетбук. Все проводилось в тепле машины.

В общем, стоит кикнуть модуль – сразу работает, начинает моргать еще в процессе кика. Если затем прошить 261, работает ровно одно включение после кика, при следующей подаче питания – молчит (одиночное подмигивание при включении не в счет).

Если его кикнуть еще раз или сразу прошить 254, то тоже работает только одно включение, если модуль зацеплен без желтого провода, а если с ним, то работает стабильно. Обычно юзаю с желтым проводом (фишки модуля скреплены скотчем). Ниже клипчик на 4 минуты с тестами. Кстати, что скажешь по процессу кика? Там сразу мусор, это сильно плохо?

Я так понял фраза «убрано переконфигурирование модулей “на лету”» в описании прошивки 261 как раз означает облом для моего модуля… В принципе, пока не критично – обойдусь прошивкой 254, но ведь впереди предстоит покупка мини-телеметрии с автопилотом. Там, наверное, подобные глюки «не поддерживаются»? Да и в целом, модуль какой-то ущербный, столько крови уже выпил.

Ты как-то предлагал замену модуля, пока не заставили его работать gpskick-ом, может обменяешь при переходе на мини-телеметрию?

vimeo.com/9599890

smalltim

>Ты как-то предлагал замену модуля, пока не заставили его работать gpskick-ом, может обменяешь при переходе на мини-телеметрию?

Да, можно.

Хочу выложить обновление по софту пилота, пока наблюдается плановое торможение поставок компонентов…

Как и обещалось, статусная строка автопилота теперь сообщает состояние автопилота в любой момент полета.

А именно:

  • При срабатывании одного или нескольких условий включения автопилота в строке появляется пиктограмма с самолетиком и текст, поясняющий причину включения автопилота.
  • Если таких причин несколько, то текстовые описания всех этих причин сменяют друг друга в цикле, каждое показывается 2 секунды.
  • Если все причины автовключения автопилота исчезают (например, появляется пропавшая связь с RC передатчиком, а пропадание связи было единственным условием автовключения), то автопилот НЕ ВЫКЛЮЧАЕТСЯ, а остается включенным до тех пор, пока не срабатывают условия автовыключения автопилота или его не выключают принудительно с передатчика.
    В таком состоянии в строке статуса пишется просто “АП активен”.

Напоминаю, что условия включения автопилота настраиваются независимо от условий мигания параметров на экране. Например, удобно, что можно задать мигание по расходу батареи, скажем, на 1200мА и включение автопилота по расходу батареи на 1800 мА. А полную емкость, для отображения заряда пиктограммой батарейки, задать как 2200 мА.

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

Ну, и, по многочисленным просьбам, всё, что нужно, теперь пишется на экране на русском языке.

Видео выкладывать не буду, потому что Вимео ацтой, выложу просто несколько скриншотов:

  1. Автопилот-телеметрия вклчились, телеметрия ждет, пока автопилот инициализируется (~2 сек):

  1. Всяческие варианты статусной строки. “C1” означает, что включен режим стабилизации 1:

>и все таки я думаю необходимо, крайне необходимо!!! добить функцию “быстрого разворота” на базу под управлением апилота, так как с уставленным 2 осевым гироскопом модель скорее всего не сможет уложиться в радиус разворота менее 500 метров, а если еще и скорость свыше 100 км/ч.

Принято к исполнению, как и режим управления чувствительностью гироскопов 😉

>Если еще не реализовано предлагаю еще рассмотреть режим - удержание текущего вектора движения и/или просто высоты, курса.

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

Djmork

Еще вопрос, в описании осд написано что при пропадании видео сигнала на VI осд переходит в спящий режим. При этом автопилот будет корректно работать? на случай если камера сдохнет или провод перетреться? И еще вопрос по калибровке датчика тока его нужно откалибровать не подключая регклятор к датчику только подать питание?

pionegger
smalltim:
  1. Добавлена шина I2C для расширения чем угодно

А через эту шину, непосредственно во время полёта, можно будет:

  1. Непрерывно( или достаточно часто <=1сек) читать текущие показания датчиков(GPS, баро-датчики, пирометры)?
  2. Читать байты из оперативной памяти, например, те же данные, что и в п.1?
    3)Читать данные о настройках АП, те что устанавливаются при настройке АП через комп и те параметры, которые он запомнил при включении, например точка для возвращения?
  3. Записывать в память изменённые значения, например, для п.3?
  4. Использовать эту шину для управления АП, например вкл/выкл, вместо отдельных каналов от приемника?
Djmork

Вопщем такая ситуация… Если подключаю питание телеметрии через балансирнй разьем то наинает очень сильно грется стабилизатор и через 30 сек телеметрия вырубаеться, на каждой банке показывает по 4.9-5 вольт и значения судорожно дергаються в пределах ± 0.2в. Нормально только если подключать к крайним контактам но так показано только напряжение всей батареи что же делать помогите? Можт я что то где то не правильно подклчил?

Dronavt
Djmork:

Можт я что то где то не правильно подклчил?

На трехбаночной “пилотажевской” батарейке мне пришлось передвинуть провода на балансирном разъеме.

Djmork

3 банки. Проблемма как то непонятно проявляеться… Пробовал по разному подключять то нормально то нет. Заметил что как начинает греться а это очень быстро за 5 сек и палец обжигает модуль тгпс помаргивает как то странно и все значения побаночного монитора к 4.7-5 вольтам прыгают. Сначала подумал на то, что включаю телеметрию раньше чем датчик тока, не подтвердилось иногда и так тоже нормально вопщем непойму ничего пока

baychi

У Вас, похоже где-то замыкание по +5В. Кренка то по КЗ срабатывает, то по тепловой защите…
Проверьте следующие вещи

  1. На канале ADC7 перемычка для калибровки датчика тока есть? Не перемыкает ли случайно +5В и землю (было у меня однажды)?
  2. Поотключайте всех потребителей и истчников (датчики, GPS, камера). Греется? Если нет, подключайте по одному и проверяйте нагрев.
  3. У Вас камера, случайно, не от телеметрии питается?
smalltim

>Еще вопрос, в описании осд написано что при пропадании видео сигнала на VI осд переходит в спящий режим. При этом автопилот будет корректно работать?

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

>И еще вопрос по калибровке датчика тока его нужно откалибровать не подключая регклятор к датчику только подать питание?

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

>3 банки. Проблемма как то непонятно проявляеться… Пробовал по разному подключять то нормально то нет. Заметил что как начинает греться а это очень быстро за 5 сек и палец обжигает модуль тгпс помаргивает как то странно и все значения побаночного монитора к 4.7-5 вольтам прыгают. Сначала подумал на то, что включаю телеметрию раньше чем датчик тока, не подтвердилось иногда и так тоже нормально вопщем непойму ничего пока

Без побаночного подключения всё нормально?
Контакты балансирного разъема точно не касаются соседних контактов телеметрии?
Без модуля ГПС работает и не греется?

Dronavt
Djmork:

Нормально только если подключать к крайним контактам но так показано только напряжение всей батареи

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

baychi
Djmork:

Нормально только если подключать к крайним контактам но так показано только напряжение всей батареи что же делать помогите?

То есть только в разъеме питания дело? А если прозвонить его на землю и +12 и +5? Какое сопротивление (в разных направлениях)?

Djmork

Уууфф… вроде нладил. Скорее всего косяк был в кабеле RC который управлят режимом отображения у телеметрии это меня сбило с толку насчет разьема. Перепоял его средний провод вопще урбрал. Наверно он где то контчил на питание и запитывал приемник. Включал выключал много рз после этого по всякому по 10 мин держал вроде ок все. Находит кстате до 9 спутников на 2 этаже 9этажки в 2 метрах от окна:) Еще я после случайно замкнул не ту пару контактов разьема при колибровке датчика тока красный на черный а не белый на красный работает но не скажеться птом?

Dronavt
Djmork:

Еще я после случайно замкнул не ту пару контактов разьема при колибровке датчика тока красный на черный а не белый на красный работает но не скажеться птом?

“+” на “-” = КЗ
Если не сказалось сразу - не скажется и потом:) ИМХО

Djmork

И еще вариант балансирный разьем снизу миеет оголенные как бы просветы или как еще их назвать… я их тоже заклил можт они касались контактов разьема для программатора которые как раз под питанием находяться

smalltim

Андрей, я сильнее тебя волновался 😃
Рад, что всё разрешилось.

Пока из того, сколько там телеметрий ушло, мертвыми вернулось 5 штук. Из них 3 трупика - балансирный разъем не туда воткнули(результат - выгоревшие дорожки на плате или мертвая Мега), 1 - залило растаявшим снегом после посадки в сугроб, результат - после просушки работает нормально, но перестраховавшись, решили поменять, 1 трупик - умер выходной видеоусилитель, причина неизвестна, но, вероятно, тоже подали на видеовыход питание или чего еще.

Старых телеметрий - 2 или 3 трупика, все - сломанные пополам платы при морковках.

>Еще я после случайно замкнул не ту пару контактов разьема при колибровке датчика тока красный на черный а не белый на красный работает но не скажеться птом?

Это замыкание питания телеметрии + 5В на землю. Стабилизатор питания на платке имеет защиту и от КЗ и от перегрева, так что ничего страшного. Ни одного стабилизатора на телеметриях-пилотах на моей памяти еще не выгорело.

>И еще вариант балансирный разьем снизу миеет оголенные как бы просветы или как еще их назвать… я их тоже заклил можт они касались контактов разьема для программатора которые как раз под питанием находяться

Да, это неприятная штука. Я одну платку в трупик превратил именно из-за такого балансирного разъема. Сейчас мы как раз думаем, какой переходничок на 4-контактный питательно-батареенюхательный разъем изобрести и положить в комплект.

pionegger:

А через эту шину, непосредственно во время полёта, можно будет:

  1. Непрерывно( или достаточно часто <=1сек) читать текущие показания датчиков(GPS, баро-датчики, пирометры)?
  2. Читать байты из оперативной памяти, например, те же данные, что и в п.1?
    3)Читать данные о настройках АП, те что устанавливаются при настройке АП через комп и те параметры, которые он запомнил при включении, например точка для возвращения?
  3. Записывать в память изменённые значения, например, для п.3?
  4. Использовать эту шину для управления АП, например вкл/выкл, вместо отдельных каналов от приемника?

Сейчас по факту просто выведен на разъем I2C, в коде вообще никакой обработки нет.

Все пункты, с 1-го по 5-й, можно реализовать, дав доступ к памяти, где лежат структуры АП, на чтение и запись через I2C. Частота обновления - любая, котороая покажется разумной.
Пакеты - например, по типу такого:

  • 1й байт - тип структуры и тип команды - чтение или запись.
  • 2й байт - смещение в структуре
  • 3й…стопицотый - данные для записи, если запись, или ничего, если чтение.
  • Стопицотпервый - контрольная сумма пакета.

Структур всего 3 типа:
1 - калибровочные и настроечные константы, читаемые из флеша. Изменяется раз в полет или по команде из Контрольной Панели
2 - параметры и данные текущего состояния автопилота. Изменяется 250 раз в сек.
3 - быстро изменяющиеся параметры, обновляемые из прерываний (АЦП там, входы ППМ, счетчики таймеров) и т.д. Изменяется хаотически, но есть стабильная копия этой структуры, обновляемая 250 раз в сек.

Дальше нужно будет только заголовочный файл с описанием структур опубликовать, и всё. С пилотом можно будет делать вообще всё что угодно. Только всё это будет сделано явно не прямо сейчас.

Djmork
smalltim:

Да, это неприятная штука. Я одну платку в трупик превратил именно из-за такого балансирного разъема. Сейчас мы как раз думаем, какой переходничок на 4-контактный питательно-батареенюхательный разъем изобрести и положить в комплект.

Еще хотел спосить касательно этого сейчас подумал и пришел к вывду что скорее всего таки там замкнуло, потому что до этого втыкал самодельный разьем из кабеля от CD ROM а как пробовал балансирный иначалось… если не трупик, все работает, то скорее всего и разьем для программатора-автопилота живой? Получаеться там в зоне риска были sck ss +5 gnd может как то можно их прозвонить?

smalltim

+5 В и GND звонить не надо, они явно в порядке если всё работает. А если SS и SCK умирают, то умирает и вся мега, проверено. Так что всё ок.

Скорее всего, на +5В попало как раз 3.6В с первой банки, и стабилизатор пытался перебороть первую банку, грелся и обижался. Отсюда и ~5в на экране телеметрии как раз: АЦП в качестве опорного напряжения вместо 5В получает 3.6В, и реальные 3.6В на банках кажутся ему пятью вольтами.

Dronavt

Андрей, как временный вариант, пины программатора можно заклеить узкой полоской скотча. Я так сделал на все свободные (голые) ноги. Если потребуется - скотч легко снимается.

Djmork

нашел какую то выгорвшую или потемневшую дорожку в углу микрухи под возле буквы R надписи PWR 😦 Буду надеяться что она работает

Dronavt
Djmork:

нашел какую то выгорвшую или потемневшую дорожку в углу микрухи под возле буквы R надписи PWR 😦 Буду надеяться что она работает

Если дорожка сгорела, то, возможно, она сработала в качестве плавкого предохранителя 😉. Лучший способ проверки - запустить телеметрию на прогон и оставить на некоторое время. Жизнь показала, что Тимометрия достаточно живучая штука и терпит жестокие издевательства…
А дорожку можно и напаять.