Проект Мегапират на самик!

MrHot

2alex-ber
Спасибо.

alex-ber:

На это железо станет прошивка от Мегапирата (порт АрдуПилота). предыдущий проект …

Т.е. есть более старая прошивка этого же автора (которая перестала дорабатываться в 2011 году.) ? И она летабельная…
Т.е. на то железо что я привёл, надо ставить вот это ? Я верно понял ?

alexbakunov
dundel1:

Больше всего это похоже на то, что у Вас “гуляет” (пропадает) контакт в цепях датчика тока и ВС.

Игорь, спасибо за наводку:)
Проблема оказалась в разьеме датчика ВС и сервоудлиннителе на датчике тока. Контакты видимо окислились и напряжение с датчиков не доходило до мозгов.

alex-ber
MrHot:

2alex-ber
Спасибо.

Т.е. есть более старая прошивка этого же автора (которая перестала дорабатываться в 2011 году.) ? И она летабельная…
Т.е. на то железо что я привёл, надо ставить вот это ? Я верно понял ?

Да - она летабельна (более того - сейчас на Блеквортексе(плата АП - разновидность того, что ты спрашивал) летает мой знакомый (я ему свой старый БВ продал)).
прошивки вроде те, но лучше проверить темы за 2011 год - там ссылка гтето на поправленную прошивку (обозвали мы ее тогда - Ежеуж) - на ней нормально леталось, хотя конечно совсем не сравнить с МПХ!
а если еще платы АП нет - то лучше сразу покупать МПХ (поверьте - разница как ехать на велике и на Мерсе… и там и там можно ехать…).
Так что - вам решать…

ssh1

В общем обновился сегодня до 4090, походу зря, видно криво прошился или хз.
Такое ощущение что все стало работать в 10 раз медленнее, OSD вообще не видно.
Стартует секунд 30. Сначала 2 пачки миганий красного по 5 раз, потом начинает мигать и зеленый, красный продолжает мигать.
На комп данные валятся но явно не чаще раза - двух в секнду вместо 10 герц.
При попытке обновиться - calling bootloader и виснет. Плата как будто перезапускается, как и при старте начинает подавать признаки жизни секунд через 30.
Данные в наземке то правильные, то нет.
То напруга батареи 38 вольт, то 0. То высота 5324 метра, но все норм. Ща вот тангаж ушел на 40 градусов.

youtu.be/DFTNy0Dur-8

Вот видео с миганиями.
Кстати у всех все норм с прошивкой 4090 ?

Главный цикл теперь то 2560 то 3500
Не могли слететь настройки тактовой частоты при перепрошивке?
Кстати, приехал недавно логический анализатор с частотой выборки до 24MHz, могу посмотреть где какие сигналы. Вопрос где и что смотреть )))

Вот кусок лога из сниффера ком порта:
Запрос:29.06.2013 21:30:29.84664 (+0.4385 seconds)
CB 02 3C F5 Ë.<õ
Ответ:29.06.2013 21:30:40.86364 (+11.0174 seconds)
2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B +++++++++++

Как я понимаю сначала идет команда на сброс и запуск бутлоадера, потом (через 10 секунд) что-то отвечает плюсами(2B).
B далее, секунд еще через 10 начинает переть телеметрия.
Может наземка не дожидается бутлоадера, так как у меня все жутко тормозит на плате?

log_13.zip

ssh1

Попробовал передернуть питание сразу после команды от наземки на рестарт.
Плюсы в ответ пошли в течении секунды - наземка все равно не видит бутлоадер.
Тут несколько гипотез:
1.Плюсы идут с большой паузой между ними(около 0.3-0.5 секунд).
2.Неправильная скорость порта, и там должны быть вовсе не плюсы.
Тут уже гадать можно долго, Олег как определяется бутлоадер?

BindEm

Чистый налёт на 4090 около 5-ти часов. Стоит с дня выпуска. Аномалий не замечено совсем никаких.

ssh1

Продолжаем исследования.
Оказывается при старте MPX кидает не плюсы в ком порт а пятибайтовые посылки:
0xCB,0x03,0x7D,0x00,0xB5
11 таких посылок, но проблема вся в том, что битовая скорость у них около 180450 бод.
Длина одного бита - 5.5417 микросекунд.
Походу гипотеза про уехавшую тактовую частоту подтверждается.

BindEm:

Чистый налёт на 4090 около 5-ти часов. Стоит с дня выпуска. Аномалий не замечено совсем никаких.

Получается криво залилась наверное.

ssh1

Вести с полей.
Получилось даже прошить еще раз.
Подменил скорость 57600 на 180450 на переходнике USB-UART
Наземка нашла бутлоадер, и залила прошивку.
После ребута - та же фигня, поведение абсолютно такое же, все тормозит как будто.
У кого нибудь есть предложения куда копать дальше?

alex-ber
ssh1:

Вести с полей.
Получилось даже прошить еще раз.
Подменил скорость 57600 на 180450 на переходнике USB-UART
Наземка нашла бутлоадер, и залила прошивку.
После ребута - та же фигня, поведение абсолютно такое же, все тормозит как будто.
У кого нибудь есть предложения куда копать дальше?

Смотреть скорость переходника после ребута…
Вполне может быть…

ssh1
alex-ber:

Смотреть скорость переходника после ребута…
Вполне может быть…

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

alex-ber
ssh1:

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

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

ssh1

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

AlexSneg
ssh1:

Не могли слететь настройки тактовой частоты при перепрошивке?

Серег там нет никаких настроек. Скорее всего кварц не запускается. Если не запускается, и Олег использовал стандартную библиотеку настроек PLL, то скорее всего (при не найденом кварце) запускается от внутреннего генератора и все частоты по умолчанию низкие. Если есть осцил, то ткнись на кварц, посмотри есть ли генерация. Если нет осцилла, звякни мне, у меня есть приборы. Если чего, можем попробовать кварц сменить прям сразу. Хотя конечно именно повышение частоты на УАРТЕ, как бы противоречит теории запуска на низкой частоте.

ssh1

Олег, Игорь есть какие нибудь гипотезы? Планирую пока посмотреть кварц.

dundel1

Гипотез совсем немного. Гораздо больше вопросов.

  1. До перешивки на 4090 работало всё нормально, похожих странностей не было?
  2. Если перешиться обратно на ту версию, которая была, нормальное поведение восстанавливается, или остаётся этот “приобретённый” глюк?
  3. Во всех случаях проявления глюка плата запитывается откуда? Через основной разъём (Vbat), или через УСБ (регуль)?
    В зависимости от ответов на эти вопросы можно придумывать гипотезы и пути устранения.

Предварительно:
-если прошивка “обратно” помогает (глюк уходит) - ждать ответа Олега, я не подскажу.

  • –"-- не помогает :
    возможны варианты.
    Все алгоритмы расписывать долго и муторно, поэтому проще в зависимости от ответов более конкретные советы дать.
ssh1

Снял, долго и упорно мыл спиртом особенно место около кварца, теперь все нормально.
Видно совпало просто: отказ кварца с перепрошивкой.

Красный кстати должен мигать если все ок (который рядом с зеленым)?
Теперь очкую летать на всем этом, а если это неконтакт где-то, а не загрязнения на плате? Вдруг опять проявится но уже в полете…
Олег, есть предложение - реализовать переход на внутренний генератор в случае отказа внегшнего кварца, благо железо позволяет. Пусть он будет не точный, плавающий от температуры, но можно будет долететь до дома - а это важно. Плюс к этому оповестить на OSD типа OSC Failed

BindEm

Теперь и мой Скай контролируется пиратом 😉

P.S. ssh1, так до двойного резервирования всех компонентов системы скоро дойдем.

dundel1
ssh1:

Теперь очкую летать на всем этом, а если это неконтакт где-то, а не загрязнения на плате?

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

ssh1
dundel1:

Скорее, из-за паразитной ёмкости грязи ушла частота.

Нет, она не ушла, он вообще не стартовал походу. Так как все процессы старт, мигания и т.д. происходили раз в 5 медленнее чем в нормальном режиме.

dundel1
BindEm:

так до двойного резервирования всех компонентов системы скоро дойдем.

😃))))

ssh1
BindEm:

P.S. ssh1, так до двойного резервирования всех компонентов системы скоро дойдем.

А что в этом плохого если эти механизмы уже заложены производителем микроконтроллера. При том для этого не нужно никакого изменения железа. Мы все же летаем, и если это раз произошло на земле не вижу причин не ожидать такого в воздухе.
Вроде одни преимущества или есть и минусы?

Если подробнее, то я вот про что - easyelectronics.ru/arm-uchebnyj-kurs-taktovyj-gene…
----------------------------------------------
Стоит рассказать еще об одном блоке, который сам в генерации тактовых сигналов участия не принимает, но иногда может оказаться весьма полезным. На схеме он обозначен как CSS Из схемы видно, что на вход ему подается тактовая частота с HSE а выход из этого блока заведен на блок выбора источника системного тактового сигнала. Итак, что же это за блок какой-то защиты? Назначение этого блока — следить за тактовыми сигналами поступающими с HSE и если с ними случится какой-то косяк, например они пропадут (кварц там у нас отвалился или еще что произошло), то этот блок может вмешаться в ситуацию и тогда происходит следующее:
-Автоматически отключается HSE.
-Посылается событие на останов работы расширенных таймеров TIM1 и TIM8.
-Генерируется прерывание CSSI, которое внутри процессора заведено на немаскируемое прерывание NMI, т.е. пропустить его невозможно.
-Если в качестве источника системной частоты использовался HSE напрямую либо через PLL, то источник системной частоты автоматом переключается на HSI.
-Если PLL был активен и входом ему служил сигнал с HSE, то PLL отключается.

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

Ну и для того, чтобы эта прелесть заработала ее надо включить программно через установку бита CSSON регистра RCC_CR. По умолчанию он сброшен.