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

smalltim
baychi:

Я сейчас прям напасть какая-то.

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

Зато сегодня вот втоплал в прошивки телеметрии без АП код заковыривания данных в видео. Если б года 3 назад кто-нибудь сказал, что в 8 кБ можно СТОЛЬКО вписать, я б даже смеяться не стал, пальцем у виска покрутил бы. И есть хитрожопый способ выделить еще около 1 кБ под код, это простора под развитие еще года на два вперед. Шучу 😃

В общем, получилось, что на землю утекает по 64 байта каждый полукадр, т.е. 64*50=3200 байт в секунду в PAL или 64*60= 3840 байт в секунду в NTSC. Вру, еще 16*50(60) байт всяческих идентификаторов и контрольных сумм. Вывел данные в видимую часть изображения, забавно выглядят мельтешащие полосочки да квадратики 😃
Код и протокол в принципе могу открыть, там ничего особенного нет. Зная Мегу8, можно при желании перенаправить вывод в звуковой канал через какой-нибудь пин AD7, ничего на плате не паяя.

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

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

grom-off:

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

Есть оно в КП, просто не отлажено и не доделано на 100%, посему и не открыто для пользования. Если кому-нибудь ну прямо очень хочется безвозмездно, то есть, даром поковыряться в КП и добить просмотровщик бортового журнала, могу выложить исходники КП с классами графопостроителя, парсера логов и т.д., разумеется, откусив те классы, которые которые я показывать на публику не хочу и не буду.

grom-off
baychi:

Напишите, Виктор.

AsMan:

Могу подсобить с заливкой в DBMS, ну и с запросами потом:-)

Мои познания в программировании заканчиваются на понятии ексель, что это такое вообще (только вчера узнал, что можно открыть ексель и из него лезть в другой файл за данными, хотя в НИРах диаграммы приходится частенько рисовать). А уж ДБМС для меня это просто аббревиатура. Время можно потратить (очень много) на глубокое изучение екселя и среды программирования или на полетушки. Я выбираю полетушки…

smalltim:

Есть оно в КП, просто не отлажено и не доделано на 100%,

Окнышко в КП присутствует, но неактивно, будем ждать…

river3

Здравствуйте,

Народ подскажите , почему у меня автопилот не хочет калибровать каналы
для управления. Кручу стики на пульте а ползунки на мониторе не
изменяются и только почему то два, а подключил 4 канала. (1.2.3.4)
Подключил вроде все правильно, единственное не подаю питание на
автопилот так как он питается в данный момент от usb и не подключал штекер от регулятора газа.
На фото видно , включены только серво. Приемник и передатчик рабочий , без ап работает все на ура. =(

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

rfo-river3.ru/00/0/1.JPG
rfo-river3.ru/00/0/2.JPG
rfo-river3.ru/00/0/3.JPG
rfo-river3.ru/00/0/4.JPG

Edward_tlt
river3:

и не подключал штекер от регулятора газа.

А чем тогда приёмник РУ питается?

smalltim

Сергей, подключите регулятор, чтоб приемник получил питание. АП не питает приемник.

river3

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

Pavel_K

на USB порт у старых компьютеров довольно малый ток выдается, так что вполне может быть, что питания не хватило системе, все же лучше дополнительное питание подавать с BECа

smalltim
Pavel_K:

на USB порт у старых компьютеров довольно малый ток выдается, так что вполне может быть, что питания не хватило системе, все же лучше дополнительное питание подавать с BECа

С рождения стандарта USB было 0.5А. Более того, каждое USB устройство обязано сообщать, сколько оно будет потреблять от USB. Я запрашиваю 150мА, этого для АП и ТМ хватает с головой.

Дело здесь в другом. АП принципиально не питает приемник и не берет с него питание, несмотря на то, что и у АП 5В, и у приемника 5В. У АП свой стабилизатор (или питание от USB ), у приемника - BEC. Питание не связано из соображений наибольшей помехозащищенности.

В то же время, АП передает питание с приемника на сервы и с серв (с ВЕС) приемнику. Физически это выглядит так: просто все плюсовые контакты всех сервохвостиков АП соединены между собой.

river3

Да уш, что за бред =( он опять перестал работать . только теперь вообще глухо все, горит на АП при включении только первая желтая лампочка и все , не чего не определяется не мигает, попробывал сброс и перешить тоже все глухо.

baychi
river3:

глухо все, горит на АП при включении только первая желтая лампочка и все , не чего не определяется не мигает, попробывал сброс и перешить тоже все глухо.

Прошивка слетела. 😦
Делаете так: запускаете в КП - обновление микропрограммы АП.
Пока она ждет ответа, нажимете обе кнопки на плате, затем отпускаете ресет, а через пару секунд вторую кнопку.
Должна перешиться.

PS: Тимофей, что то слеты прошивок зачастили. У меня за последний месяц дважды слетала последняя версия. Причем один раз не совсем (что еще хуже!), зависала только при считывании настроек из памяти платы (последней части). Хорошо, что дома заметил! Ввел бы ты хоть проверку КС, чтоль…

river3

Спасибо baychi , помогло. просто чудо техники =), а я уж даже успел огорчиться =)

PS: Интересно . а в полете она тоже может слететь?

smalltim
baychi:

Ввел бы ты хоть проверку КС, чтоль…

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

Но на старте телеметрия ресетится автопилотом, и в прошивке телеметрии стоит секундная пауза после старта.
Может быть, внешняя память по SPI долбится в чип, но это ей запрещено, и подтяжки на CS стоят.
В общем, разберусь подробно и отпишу.

В полете слетания прошивок ни разу не были зарегистрированы, всего слетание было замечено у ~5 человек, в момент подачи питания. Мало, но надо разобраться.

Вот сейчас обнаружил, что есть интервал в ~100 клоков на старте АП, когда состояние CS пина на внешней памяти не определено. Маловероятно, что это причина, но всё же.
Поправил, попробуй:

ChifAviator

Тимофей, стучусь в личку…как соловей, который ждет лета…

smalltim

В личку отчитался! 😃

Полезли первые приколы с наземной станцией.

  1. Умумукался ловить данные на земле, изнасиловал осциллограф, истыкал всю плату, но не вижу усиления на ОУ, и всё тут. Полез смотреть характеристики ОУ - всплакнул. Чем я вообще думал?
    Рабочая частота до 1 МГц, крутизна фронтов - 0.4В/мкс. А мне в идеале надо раз в 200 больше, а если не раскатывать губы - 100 или даже 50МГц пойдет. Меняем ОУ, переразвели плату.

  2. Разъем USB мешает уложить плату по фен-шую в механику поворотной антенны нашей разработки. Двигаем разъем USB.

  3. Линейник на плате пропускает ток с выхода на вход при питании платы от USB, далее со входа импульсник пытается питать от этого сервы. USB не надо обижать мощными сервами, ставим развязывающий диод.

blade
smalltim:

Меняем ОУ, переразвели плату.

А с этого места- нельзя поподробнее?
Цоколёвка ОУ не меняется уж как минимум лет 30?
Т.е. у одинарных: -2, +3, вых 7, g4, +7; ну и у двойных-четверных- своя…
Или- я что то пропустил?
При чём плата то?

smalltim

Я взял изначально SOT23-5, по цене был вкусен, ибо лоуэнд. А высокочастотных в SOT23-5 мало и дорогие, а в SOIC8 много разных, переходим на SOIC8.

pashteton
smalltim:

всего слетание было замечено у ~5 человек, в момент подачи питания. Мало, но надо разобраться.

Просто многие об этом не пишут 😃
Например, у меня раз 5 было. Один из слетов был замечен, что при подключении чегото к ап (непомню уже чего, возможно ЮСБ), взялся за контакты подключения к телеметрии. Другой, был из за втыкания ЮСБ трясущимися руками, немного по уверенней надо 😃.

Diramil

Тимофей, почему в режиме стабилизации при подачи газа отклоняетья руль высоты? (миксов нет), и когда будет инерционка?

baychi
Diramil:

Тимофей, почему в режиме стабилизации при подачи газа отклоняетья руль высоты?

Вверх или вниз? А при RTL как? У меня тоже уходит вниз (модель вниз) градусов на 10-15. Думал, что неправильно откалибровал или пиродатчик чем затенил, но модель старая - испытанная. Пока не разобрался… Но первое впечатлнение, что нейтрали стабилизации не совпадают с нейтралью в АП и ручном режиме.

Diramil

плоскость отконяется на верх градусов на 5-8. В ручном режиме все нормально.

baychi
Diramil:

плоскость отконяется на верх градусов на 5-8

Хм… Возможно у нас с Вами сервы в разные стороны настроены. А в режиме автовозврата не смотрели?