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

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. По умолчанию он сброшен.

AlexSneg
ssh1:

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

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

ssh1

Игорь, а можешь подсказать тип и размер кварца которые ты ставил на свои платы?

dundel1

Размер 0532 (MJ). 8МГц. Тип сам не знаю,:) там, где беру, не указан.

Олег, к сожалению, пока не имеет доступа к инету, но продолжает плодотворно трудиться на благо МРХ.😃))
По мере возможности буду транслировать.

ssh1:

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

Олег:

После удара кварц приотошел, а когда промывал - притер обратно.
Надо его пропаять, должно наладиться.
Аппаратные косяки (отвалившийся кварц) я резервировать не могу.
Эмпирически есть вариант юзать встроенный РЦ-генератор, но у него

  1. непредсказуемая частота,
  2. она почти в два раза ниже, чем нужно, т.е. все сервы сразу же уйдут в ограничители,
  3. слетит основной цикл и все тайминги.
    Т.е. в полете все равно будет краш. Таким онанизмом я заниматься не буду. Мертвых припарками не лечат.

Ожидаются в ближайшее время обновления прошивки и наземки.
Олег:

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

ssh1

А какая сейчас тактовая частота используется на MPX.
PLL на внутреннем генераторе может дать 64МГц максимум как я понимаю, у нас больше сейчас?
P.S. Настраиваемые индикаторы на OSD это классно!

Походу насчет 64 с внутреннего я не прав, надо покурить даташит.

Покурив документацию, нашел - внутренний генератор =16 МГц, то есть вдвое быстрее нашего внешнего кварца.
Получается что мы можем запуститься на той же тактовой частоте (настроив PLL) и от внутреннего генератора, откуда понижение в 2 раза?
Соответственно все тайминги и сервы съедут не на много, из-за неточности самого генератора. Но можно будет продолжить полет!
Вроде ±4% от -10 градусов до +85 градусов.

LaPart
AlexSneg:

Бракованные кварцы вовсе не экзотика.

Хех, про какой брак речь? МПХ-овские детальки и плата (у меня, например) уже выдержали немерянные удары и вибрации, но продолжают трудиться. Хоть приемку ставь. Кварцы и так не особо любят удары и вибрации, даже мойку УЗ не всегда переживают.
На днях закупил деталек для ремонта блока питания - наборы мосфетов n- и p- в одном корпусе. Как начали пыхать, решил проверить каждую оставшуюся детальку до применения, пока еще типа живые…
Из восьми нашел 3(!!!) набора n- и n-, вместо того, что надо. Маркировка у всех одинаковая, а фактически разные микрухи.
И возможно еще повезло, глаз да глаз нужен теперь, раньше таких безобразий в таких количествах не было.
Пардон за офф, накипело:) А может кто и повнимательнее приглядится, удачи всем…

MrHot

Подскажите пожалуйста - как откомпилировать MegaPiratePlaneB1.zip ?

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

Поставил самую последнюю среду Arduino.
Скачал и распаковал MegaPiratePlaneB1.zip и нажал на “проверить”.
как делал - всё на видео…

youtu.be/BX1YfdBDX5o

Вылезли несколько ошибок. Половину из них составляли ошибки банального изменения имён *.h файлов. Читая help-ы из зарубежных форумов я сократил количество ошибок до :

In file included from MegaPiratePlane.pde:31:
C:\Arduino\SRC\libraries\FastSerial/FastSerial.h:116: error: conflicting return type specified for 'virtual void FastSerial::write(uint8_t)'
C:\Arduino\hardware\arduino\cores\arduino/Print.h:48: error:   overriding 'virtual size_t Print::write(uint8_t)'

И тут я встал. Я всё понимаю, проект переполз на новый проц и всё такое… Может, я беру не тот проект для компиляции ?
Цель: поставить на самолёт плату Мегапирата с Кинга

Заранее спасибо.

DVE
MrHot:

Поставил самую последнюю среду Arduino.

Мне попадались проекты, которые компилялись только со старыми версиями, попробуйте разные начиная с 1.0 😃

Папку с библиотеками копировали тоже?

MrHot
DVE:

… попробуйте разные начиная с 1.0

Попробую

DVE:

Папку с библиотеками копировали тоже?

Да, это видно на видео.
Я так понимаю, что идёт речь о папке libraries которая включена в архив с исходниками MegaPiratePlaneB1.zip ?

Кроме MegaPiratePlaneB1 есть ещё и MegaPirateB8.zip и MegaPiratePlane2.24. Я тут тоже не пойму - что использовать ?..

Напишите хотябы диапазон страниц: сколько десятков страниц этой темы необходимо прочитать чтобы разрешить задачу… Я серьёзно… Я не могу понять - в какой момент соскочили с процов Mega пересели на другие процы.

dundel1
MrHot:

в какой момент соскочили с процов Mega

Вот в этот rcopen.com/forum/f90/topic243418/1741
А с начала темы и до этого момента всё про МегаПирата на Атмеге.

MrHot:

речь о папке libraries

Да, её нужно скопировать вместо родной аналогичной ардуиновской (которую предварительно надо стереть или переименовать, чтобы не мешала).
И ещё, чтобы избежать лишних ошибок при компиляции, используйте Ардуину 0.0.22.
MegaPiratePlaneB1 делался под ней.
В8, 2.24 более поздние версии с доработками. В этой теме до перехода на STM они все обсуждались.

DVE
MrHot:

Кроме MegaPiratePlaneB1 есть ещё и MegaPirateB8.zip и MegaPiratePlane2.24. Я тут тоже не пойму - что использовать ?.

Подробнее не знаю, я использовал квадрокоптерную прошивку, не самолетную. Насчет проца не понял, в APM 2.5 он и не менялся.

MrHot

2dundel1
Большое спасибо за номер версии Ардуины и за приём с библиотеками.
Попробую компильнуть по вашим советам.

проверил.
MegaPiratePlaneB1 компилится без ошибок на дуине 0.0.22 (детские болячки разработчиков дуины… блин…)
Стандартные библиотеки не трогал. Вернее пробовал их замещать теми что из проекта - но ничего доброго не получил.

dundel1

Замещение библиотек - требование разработчика (Олега Донцова). Поскольку они им изменены.
Об этом написано в release_notes.txt

INSTALLATION

*** TOTALLY erase your arduino IDE libraries folder prior copying the libraries
*** Select your plane type (wing or classic) and servo reverse i…

и неоднократно упоминалось в этой теме (до перехода на СТМ).

MrHot

Понял…
Ушел в лес читать ReadMe и тему…

P.S.
Хорошо что хоть что-то компилится вообще 😃

dundel1

Новая весточка от Олега 😃

2.0.4124 + наземка #76
dl.dropboxusercontent.com/u/…/mpx_gcs.zip
===
Обнова экстренная, ибо компас. Поэтому - только компас.

  • добавлена галка “заморозки” самокалибровки компаса. См. General -
    AHRS sensors - Stop MAG auto-adjust. Пока она установлена, компас
    подстраиваться не будет.

  • поправлены коэффициенты самокалибровки, чтобы “чечевицу” превратить
    в сферу - см. предыдущие рисунки

  • в наземку добавлены все пункты из будущей обновы: пороговая емкость батареи,
    пользовательские индикаторы… В еепром они сохраняются, но на ИЛС
    отображаться не будут, т.к. см. в начале поста. Останется только
    допилить и выложить бортовую часть.
    Описание не прилагаю, будет с прошивой.

Всем привет с края земли 😃

BindEm

2.0.4124

Облётано.
На Бикслере 30 минут чистого времени, на Скае - час.

На Скае были проблемы с компасом, точнее не проблемы, а иногда при виражах “перекручивал” указатель. Теперь всё ушло и на экране только правда. 😎 Морозить калибровку? - зачем!

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

P.S. Я как программа “Доброе утро” - прихожу КАЖДОЕ утро! 😈

ssh1
dundel1:
  • добавлена галка “заморозки” самокалибровки компаса. См. General -
    AHRS sensors - Stop MAG auto-adjust. Пока она установлена, компас
    подстраиваться не будет.

1.Получается что автокалибровка может не работать как положено?
Или этой галкой надо как-то хитро пользоваться?
Сам если честно пока не летал на автокалибруемом компасе.
2.Не понятно до конца по - rcopen.com/forum/f90/topic243418/4187
Вроде получается можно полностью подменить кварц на время? Или есть подводные камни? Или возможность есть но это считается не нужным для MPX?

Да, кстати, а где этот край земли? ))))

BindEm
ssh1:

Сам если честно пока не летал на автокалибруемом компасе.

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

ssh1:

Да, кстати, а где этот край земли? ))))

Наверное там, где не правильно калибруются компасы 😃

ssh1
BindEm:

забыл что такое в поле с ноутом крутить самолёт руками. Одной заморочкой меньше.

Так и я забыл, последний раз давным давно калибровал.