flybrain. передатчик + приемник + автопилот. powered by stm32
Опубликовал материалы по сборке приемника версии с RFM22B: исходники схемотехники, PCB, герберы для заказа плат.
mozgolet-navigator.narod.ru/index/…/0-43
Опубликовал материалы по сборке приемника версии с RFM69HW: исходники схемотехники, PCB, герберы для заказа плат.
mozgolet-navigator.narod.ru/index/…/0-42
Наконец-то приехали китайские платы, приступил к сборке. Началось все хорошо, но все-таки умудрился наступить на какие-то грабли.
Спаял датчики, СТМку и ее обвязку, получил на компе DFU, обрадовался, и начал допаивать остальное. Не тут то было… Когда собрал все, кроме видеочасти, оно перестало видеться на компе 😦
Питание стабильное, соплей не разглядел.
Нашел косяк: припаял IC7 (флешку) на место IC9 (операционника). Надо же, совпали и по расположению и по корпусу, заразы. 😦
Отпаял - не помогло. Мог что-то пожечь?
Хотел было начать удалять детали по одной, пока не появится DFU, но время позднее, решил отложить.
Мог что-то пожечь?
Наврятли, хотя всяко бывает. Отпаивайте по очереди все что висит на шине I2C и проверяйте. Скорее всего гдето что то замкнули на периферие. ТОж такое было при сборке.
Вчера сделал тестовый виртуальный вылет в FlightGear симуляторе. Скоро будет КП и прошивка для виртуальных полетов. Блин, вообще рульно все работает.
Привет. Закономерно автор вступил в виртуальное пространство. Там да, все летает.
Нашел косяк: припаял IC7 (флешку) на место IC9 (операционника). Надо же, совпали и по расположению и по корпусу, заразы. 😦
Было дело. Переместил, работает. Однако термометр я не припаивал на тот момент.
Посмотри - правильно ли ключевая ножка размещена? (давно уже пора контакт первого пина микрух помечать чем-то более существенным, чем чернила маркера (плату приходится фанатично мыть спиртом несколько раз в процессе сборки, смывается)
Если позиционирование микрух было спутано - смотри по распиновке - было ли нехорошее наложение питания и земли?
Без флешки и термометра FB может завестись в штатном режиме. без датчиков (или не корректно работающими по I2C датчиками - нет. НО DFU режим будет.
Привет. Закономерно автор вступил в виртуальное пространство. Там да, все летает.
Напрасный сарказм. Некоторые плюшки, действительно, очень удобно не в небе, а в симе отлаживать.
Алекс, Юрий, спасибо за подсказки.
Долгая история, но в итоге чудо все-же произошло - оно увиделось и даже прошилось! 😁
Теперь в DFU режим входит и выходит, но штатной работы пока нет. Ком-порт на компе не поднимается, при старте загораются красный + желтый диоды и не тухнут.
Иногда (похоже, когда пальцами что-то держу) при старте включается диагностика и диоды сообщают, что нет связи вообще ни с чем.
Если взяться руками за кварц, диагностика отрабатывает (редкие вспышки).
Сброс настроек работает.
Из этого я делаю вывод, что чип живой, прошивка нормально залилась и работает.
Снова поснимал всю активку с шины и нифига не изменилось, светит двумя диодами и ничего не происходит…
Что означает такое поведение? Залипает где-то на инициализации?
Что означает такое поведение?
А не проверяли шину на закорачивание с другими сигналами? Найти бывает не просто. Самый радикальный способ проверки подрезать дорожки у чипа.
Может конечно где то не про пай или сопля, но я исхожу из вашего рассказа что чип работал на первой проверке.
И еще если не подключен чип GPS подтяните GPS_TX к +3.3, что то припоминаю были у меня с этим заморочки…
Константин, извините, что отвечаю с запозданием. Только сейчас заметил вопрос в теме.
По очереди качаем и заливаем тестовые прошивки. Затем подаем питание через USB и смотрим как моргают светодиоды
Если все хорошо, то моргает LED3(период примерно 1сек), LED2 горит.
На данном этапе внутренняя частота МК вышла на 168МГц, PLL запустились. В памяти создались все необходимые классы и структуры. На этом стоп.
Если все хорошо, то моргает LED3 (период примерно 1сек), LED2 горит.
На данном этапе дополнительно прошли процедуры инициализации ОСД класса. На этом остановились.
Если все хорошо, то моргает LED3(период примерно 1сек), LED2 горит.
Здесь инициализировались пины для дальнейшей работы с I2C датчиками
Если все хорошо, то 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 в единице.
У меня сегодня корпоратив. Короче, я не в состоянии чего-то делать. Завтра сделаю под каждый датчик индивидуально тест. Будем запаивать по о одному, затем проверять.
Во всех тестах норма - LED2,LED3 должны поморгать 5 или 6 раз, затем потухнуть. Период моргания примерно 1 сек.
Другое поведение - проблема с обнаружением соответствующего датчика
-
тест присутствия магнитометра
…narod.ru/…/FlyingBrain-mag.hex -
тест аселя
…narod.ru/…/FlyingBrain-accel.hex -
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.
А в Фото готовых устройств фотки старой версии 😃
С запаяным чипом соответствующая прошивка делает одну вспышку двумя диодами и молчит.
Странно. Возможно я в тестовых накосячил. Делал в слепую, на железке не проверял. Проверю позже.
Буду разбираться дальше.
Перед началом разборок обязательно сброс настроек в дефолт (через кнопку) и команда в консоли save config
Не помню точно, но начиная с какой0то прошивки есть команда cat flash Она показывает распозналась ли флешка.
Если GPS модуль запаял, то можно посмотреть cat gps PDF мануал содержит подробно инфу, как бороться с GPS модулем, если он EB600
Из замеченных косячков на сайте.
Исправил все за исключением фоток.
Перед началом разборок обязательно сброс настроек в дефолт (через кнопку) и команда в консоли 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.
Команду cat flash не распознает
Ок. Значит я для Юры делал. Появится в следующем обновлении. Это как диагностика, не более.
Заметил опечатку в консольном хелпе
Исправлю.
log dir и log dump задумываются
Так и должно быть. У тебя логов нет, сейчас все забито байтами 0xFF. Алгоритм ищет маркеры полетов по всей флешке, а их там нет. Некоторое время это занимает.
Буду допаивать видео часть и начну собирать СТДАПП.
ОК. Не забудь конденсатор, добавить по питанию MAX4090, как на фото. Без него белые пикселы косячно и смешно выглядят. Постараюсь до НГ зарелизить новую прошивку и КП, чтобы можно было в во FlightGear полетать пока на улице холодно.
Постараюсь до НГ зарелизить новую прошивку и КП, чтобы можно было в во FlightGear полетать пока на улице холодно.
У меня есть свой FlightGear 😃
Я планирую, пока на улице некомфортно, поставить только ОСД, без собственно АП на KESL’а. На нем можно летать почти всегда!
Посмотрю на ОСД, пообвыкну, потестирую. Для IMU это будет стрессовым испытанием. 😃
видимо все ок.
Дак а в чем была проблема? Просто вдруг заработало?
Дак а в чем была проблема? Просто вдруг заработало?
Я вначале паял с ЛТИ-120. Потом, когда снял м/c, обнаружил под ними жуткий рыжий налет. Умом я понимаю, что это, видимо, канифоль так высохла, но выглядело ужасно. Купил нормальный безотмывный флюс, отмыл все спиртом и перепаял. Это фактор номер раз.
Фактор номер два, это китайские кнопки. Доказательств нету, просто решил их поменять на всякий случай.
Это что касается входа в DFU.
Насчет второй проблемы есть подозрение, что прошивка не запускается без флешки, а я ее не паял, т.к. грешил на датчики на шине и возился только с ними.