flybrain. передатчик + приемник + автопилот. powered by stm32

EHOT

А материалы(пояснения) по случке FB c FlightGear будут?
И если можно о принципах взаимодействия АП с эмулятором окружащей среды и летательного аппарата?А тоя как ни пыжусь - не доезжаю.
из FG в FB должны передаваться координаты ЛА, текущие угловые и линейные скорости
а в обратную сторону - воздействия (команды) на ограны управления ЛА.

как оно происходит? насколько я знаю FB не первый АП, который умеет общаться с FG. Как это происходит? Посредством каких линий связи?

AlexSneg
EHOT:

А материалы(пояснения) по случке FB c FlightGear будут?

да, будут.

EHOT:

о принципах взаимодействия АП с эмулятором окружащей среды и летательного аппарата

В КП есть модуль прокладки. Он соединяется с одной стороны в COM порт АП, а с другой в FG UDP сокеты. Далее работает мостом. В АП гонятся данные по положению тела в пространстве, а обратно управление. АП счастлив и думает, что он в воздухе летает.

тигромух

Наконец-то приехали китайские платы, приступил к сборке. Началось все хорошо, но все-таки умудрился наступить на какие-то грабли.
Спаял датчики, СТМку и ее обвязку, получил на компе DFU, обрадовался, и начал допаивать остальное. Не тут то было… Когда собрал все, кроме видеочасти, оно перестало видеться на компе 😦
Питание стабильное, соплей не разглядел.
Нашел косяк: припаял IC7 (флешку) на место IC9 (операционника). Надо же, совпали и по расположению и по корпусу, заразы. 😦
Отпаял - не помогло. Мог что-то пожечь?
Хотел было начать удалять детали по одной, пока не появится DFU, но время позднее, решил отложить.

BAU
тигромух:

Мог что-то пожечь?

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

Drinker
AlexSneg:

Вчера сделал тестовый виртуальный вылет в FlightGear симуляторе. Скоро будет КП и прошивка для виртуальных полетов. Блин, вообще рульно все работает.

Привет. Закономерно автор вступил в виртуальное пространство. Там да, все летает.

EHOT
тигромух:

Нашел косяк: припаял IC7 (флешку) на место IC9 (операционника). Надо же, совпали и по расположению и по корпусу, заразы. 😦

Было дело. Переместил, работает. Однако термометр я не припаивал на тот момент.
Посмотри - правильно ли ключевая ножка размещена? (давно уже пора контакт первого пина микрух помечать чем-то более существенным, чем чернила маркера (плату приходится фанатично мыть спиртом несколько раз в процессе сборки, смывается)

Если позиционирование микрух было спутано - смотри по распиновке - было ли нехорошее наложение питания и земли?

Без флешки и термометра FB может завестись в штатном режиме. без датчиков (или не корректно работающими по I2C датчиками - нет. НО DFU режим будет.

smalltim
Drinker:

Привет. Закономерно автор вступил в виртуальное пространство. Там да, все летает.

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

тигромух

Алекс, Юрий, спасибо за подсказки.
Долгая история, но в итоге чудо все-же произошло - оно увиделось и даже прошилось! 😁
Теперь в DFU режим входит и выходит, но штатной работы пока нет. Ком-порт на компе не поднимается, при старте загораются красный + желтый диоды и не тухнут.
Иногда (похоже, когда пальцами что-то держу) при старте включается диагностика и диоды сообщают, что нет связи вообще ни с чем.
Если взяться руками за кварц, диагностика отрабатывает (редкие вспышки).
Сброс настроек работает.
Из этого я делаю вывод, что чип живой, прошивка нормально залилась и работает.
Снова поснимал всю активку с шины и нифига не изменилось, светит двумя диодами и ничего не происходит…
Что означает такое поведение? Залипает где-то на инициализации?

BAU
тигромух:

Что означает такое поведение?

А не проверяли шину на закорачивание с другими сигналами? Найти бывает не просто. Самый радикальный способ проверки подрезать дорожки у чипа.
Может конечно где то не про пай или сопля, но я исхожу из вашего рассказа что чип работал на первой проверке.

И еще если не подключен чип GPS подтяните GPS_TX к +3.3, что то припоминаю были у меня с этим заморочки…

AlexSneg

Константин, извините, что отвечаю с запозданием. Только сейчас заметил вопрос в теме.

По очереди качаем и заливаем тестовые прошивки. Затем подаем питание через USB и смотрим как моргают светодиоды

  1. …narod.ru/…/FlyingBrain-init0.hex

Если все хорошо, то моргает LED3(период примерно 1сек), LED2 горит.
На данном этапе внутренняя частота МК вышла на 168МГц, PLL запустились. В памяти создались все необходимые классы и структуры. На этом стоп.

  1. …narod.ru/…/FlyingBrain-init1.hex

Если все хорошо, то моргает LED3 (период примерно 1сек), LED2 горит.

На данном этапе дополнительно прошли процедуры инициализации ОСД класса. На этом остановились.

  1. …narod.ru/…/FlyingBrain-init2.hex

Если все хорошо, то моргает LED3(период примерно 1сек), LED2 горит.

Здесь инициализировались пины для дальнейшей работы с I2C датчиками

  1. …narod.ru/…/FlyingBrain-init3.hex

Если все хорошо, то LED2,LED3 должны поморгать 5 или 6 раз, затем потухнуть. Период моргания примерно 1 сек.
Здесь произошел тестовый опрос датчиков по I2C шине. Они все должны ответить о себе. Если все ОК, то будет моргать как описано выше. Если нет, то будет моргать как-то по другому. Можно будет сделать тест на каждый из датчиков.

Отписываемся в теме, на каком этапе происходит не так, как описано. Я скажу, что это означает.

На всякий случай проверяем сигнал сброса. Есть ли там +3.3В при подаче питания.
BOOT0 - должен быть притянут к нулю при подаче питания. На схеме он притянут резистором.

Для нормального старта должны буть обязательно установлены: МК, LSM303, L3G4200, BMP085, LM75AD, AT45DB161D.
Без ГПС модуля все равно будет стартовать и выходить в консоль.

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

P.S. заметил, что ссылки глючно вставились на 3ю и 4ю прошивку. Сейчас исправил. Должны быть ссылки по порядку на init0, init1, init2, init3

тигромух

Первые три прошли как положено. На четвертом затык: горят LED2 и LED3 и ничего не происходит. Точно так же как и с полной прошивкой. Датчики пока обратно не запаивал.
Уровни на шине постараюсь сегодня проверить.

тигромух

I2C в единице. Звонится 4.7кОм до 3.3в, как и положено.
BOOT0 в нуле.
NRST в единице.

AlexSneg

У меня сегодня корпоратив. Короче, я не в состоянии чего-то делать. Завтра сделаю под каждый датчик индивидуально тест. Будем запаивать по о одному, затем проверять.

AlexSneg

Во всех тестах норма - LED2,LED3 должны поморгать 5 или 6 раз, затем потухнуть. Период моргания примерно 1 сек.
Другое поведение - проблема с обнаружением соответствующего датчика

  1. тест присутствия магнитометра
    …narod.ru/…/FlyingBrain-mag.hex

  2. тест аселя
    …narod.ru/…/FlyingBrain-accel.hex

  3. bmp085
    …narod.ru/…/FlyingBrain-baro.hex

  4. lm75ad
    …narod.ru/…/FlyingBrain-temp.hex

  5. l3g4200d
    …narod.ru/…/FlyingBrain-gyro.hex

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

тигромух

Проще всего было запаять LM75 и BMP085. На них и потренировался.
С запаяным чипом соответствующая прошивка делает одну вспышку двумя диодами и молчит.
Если запустить прошивку от незапаяного чипа - вечное свечение LED2+LED3.

Проверил остальные датчики - все аналогично.
В качестве отчаянной попытки 😃 запаял все датчики одновременно, плюс флешку. Теперь на любой из тестов получаю одну вспышку LED2 + 3.

Ха! Залил полную прошивку и получил ком-порт! 😲
Буду разбираться дальше.

тигромух

Из замеченных косячков на сайте.

На страничке Схемотехника АП:

>Запаиваем MCP1702, C8, C9 и USB разъем
Надо бы поменять на “Запаиваем IC32, C8, C9, D7 и USB разъем”

>Далее запаиваем STM32 и резистивно-конденсаторный обвес к ней: кварц, C6, C7, C3,C4, C2,C2,R2,R1,C5.
На “Далее запаиваем STM32 и резистивно-конденсаторный обвес к ней: кварц Q1, C1, C2, C3, C4, C5, C6, C7, R1, R2.”

В разделе Прочий софт для проекта не качаются прошивалка и драйвера для VCP.

А в Фото готовых устройств фотки старой версии 😃

AlexSneg
тигромух:

С запаяным чипом соответствующая прошивка делает одну вспышку двумя диодами и молчит.

Странно. Возможно я в тестовых накосячил. Делал в слепую, на железке не проверял. Проверю позже.

тигромух:

Буду разбираться дальше.

Перед началом разборок обязательно сброс настроек в дефолт (через кнопку) и команда в консоли save config
Не помню точно, но начиная с какой0то прошивки есть команда cat flash Она показывает распозналась ли флешка.
Если GPS модуль запаял, то можно посмотреть cat gps PDF мануал содержит подробно инфу, как бороться с GPS модулем, если он EB600

тигромух:

Из замеченных косячков на сайте.

Исправил все за исключением фоток.

тигромух
AlexSneg:

Перед началом разборок обязательно сброс настроек в дефолт (через кнопку) и команда в консоли save config
Не помню точно, но начиная с какой0то прошивки есть команда cat flash Она показывает распозналась ли флешка.
Если GPS модуль запаял, то можно посмотреть cat gps PDF мануал содержит подробно инфу, как бороться с GPS модулем, если он EB600

Да, конечно, сбросил в дефолт первым делом. Все откалибровал, все норм со всеми датчиками и IMU. GPS тоже работает (EB800).
Команду cat flash не распознает, но log dir и log dump задумываются и что-то выводят, видимо все ок. 😃
Буду допаивать видео часть и начну собирать СТДАПП.

ЗЫ: Заметил опечатку в консольном хелпе: c u t control mixers - prints MIXER structures.

AlexSneg
тигромух:

Команду cat flash не распознает

Ок. Значит я для Юры делал. Появится в следующем обновлении. Это как диагностика, не более.

тигромух:

Заметил опечатку в консольном хелпе

Исправлю.

тигромух:

log dir и log dump задумываются

Так и должно быть. У тебя логов нет, сейчас все забито байтами 0xFF. Алгоритм ищет маркеры полетов по всей флешке, а их там нет. Некоторое время это занимает.

тигромух:

Буду допаивать видео часть и начну собирать СТДАПП.

ОК. Не забудь конденсатор, добавить по питанию MAX4090, как на фото. Без него белые пикселы косячно и смешно выглядят. Постараюсь до НГ зарелизить новую прошивку и КП, чтобы можно было в во FlightGear полетать пока на улице холодно.

тигромух
AlexSneg:

Постараюсь до НГ зарелизить новую прошивку и КП, чтобы можно было в во FlightGear полетать пока на улице холодно.

У меня есть свой FlightGear 😃
Я планирую, пока на улице некомфортно, поставить только ОСД, без собственно АП на KESL’а. На нем можно летать почти всегда!
Посмотрю на ОСД, пообвыкну, потестирую. Для IMU это будет стрессовым испытанием. 😃