PIXHAWK PX4 Autopilot еще одна летающая железка

Cossack
Мечтатель:

Ура! Моторы запустились. Путем увеличения погрешности GPS <EK2 check scale> установив параметр 200%.Но радость моя была не долгой.Моторы армятся только только при отключенном ARMING CHECK. Пишет error compase variance. Компас 1(внешний) вообще не хочет колиброватся При попытке калибровки вообще не появлятся зеленая полоса. Крутишь вертишь а толку ноль.Вопрос: бывает ли такое что косяк в прошивке или порт I2C не работает? GPS в помещении ловит до 15 спутников.

Не надо путать зелёное с квадратным! GPS работает на SERIAL порту, компасы по I2C! Если компас не калибруется, варианты: 1. он физически умер; 2. На шине I2C два устройства с одним адресом. 3. Если компас совмещён с GPS модулем, не забывать, что питание, как правило, подаётся через разъём GPS, пины 1 и 6, если нет питания на GPS? соответственно, и компас без питания…

karadjia
Мечтатель:

Может китайцы SDA и SCL перепутали. Придется разбирать.

А зачем разбирать? (это если решили корпус M8N разбирать). Достаточно просто местами поменять провода на разьеме I2C
Ну и выложите все таки лист сообщений из меседжера (в МП вкладка) или еще лучше сообщения и лог когда все это происходило (с компасом). А то гадаем тут … Вон Виктор предположил-написал про питание GPS и компаса… (а спутники то ловит судя по Вашим словам постами выше). ППС. У Вас на вкладке компас в МП видно 2 компаса? Один 303 и второй на шине I2C должен (тот который внешний). Ну и еще. Если бы были перепутаны SDA и SCL то как бы полетник увидел внешний компас и соответственно дал его калибровать? На I2C два одинаковых устройства… опять с индификатором компаса в МП ничего бы не получилось (по моему).
Лог и лист меседжера в студию.
И поставьте посвежее чем 3…6 прошивку. Смысл Вам за нее держаться? не вижу абсолютно. Одни минусы в виде отсутствия новых возможностей и исправления старых багов.

karadjia

Есть вопрос. Pixhawk 2.4.7 на DEW 4.1.0 Поставил и настроил RPM фильтр. Все работает вроде бы. Попробовал полетать и по FPV получил вот такие сообщения


и потом

Я так понимаю что это что-то с кайманом и показанием датчика. Помогите разобраться. Вот лог полета. Реальный полет с 09:27:42 до 09:40:56 Время вывода сообщений 09:40:39 - 09:40:56. Все что с 09:48:19 это уже на земле после приземления события.
Вот лог полета www.mediafire.com/file/pgyzlflynarsf6p/…/file

karadjia
kasatka60:

может dev версия?

Таки да - очепятка. Читать нужно dev 4.1.0 версия

Мечтатель
karadjia:

Так там все по другому с калибровкой. Какие ESC используете (марка)? Стукнись в телеграмм - быстрее подскажу.

Иван , Спасибо большое за отклик на мои вопросы!Перепрошил на крайнюю прошивку, теперь компас калибруется, а ESC ни в какую. ESC LittleBee 30a BLHeli S

karadjia

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

  1. У тебя ESC BLHeli S. Они умеют DShot протокол. Это новые протоколы и с ними коптер летает, просто сказано без подробностей, намного стабильнее,плавнее… Какой DShot протокол крайний для твоих регулей - набери в гугле модель регулей и посмотри. Для твоих скорее всего крайним будет DShot 600. запоминаеш или записываеш.
  2. Наши пиксы не работают с DShot по классическим выходам. По инструкции ты подключил по классике регули в 1-4 порты (servo1-servo4) эти порты работают только с оншотом. Если нужно работать с DShot то поты с servo9 до servo14 (aux1 это servo9 и так далее по возрастанию номера идут) Подключаеш свои регули как и в случае с класикой 1-2-3-4 регули подключаеш на aux1-2-3-4 )выхода на пиксе в белой рамке)
  3. Идеш в параметр лист и ищеш параметр servo(1-4)_functions. Там стоят значения указывающие на номер мотора. Просто запомни или запиши их. И потом поставь там 0 (убери привязку к моторам). Ну и теперь заново пропиши-привяжи моторы уже к servo(9-12)_functions везде поставив номера моторов в порядке как для 1-4 (записывал-запоминал) Прописывать только номера моторов и не трогать остальные параметры этих servo
    Все - можеш идти на вкладку setup и пробовать мотор тест - проверить работу.Не забудь перед проверкой активировать сафети свитч (кнопка на самом коптере) иначе тест не запустится 😃 Если работает - то идеш на вкладку esc calibrations. выбираеш свой протокол DShot и жмеш там calibrate esc. далее отключаеш от коптера USB шнур и акб и заново подключаеш только акб. И сразу нажимаеш и держиш кнопку (на коптере) сафети свитч (та что с лампочкой) через секунд 10-15 будет долгий сигнал секунд 5 примерно. Короче держиш кнопку пока не прекратятся сигналы и потом для контроля еще секунд 10 (там будет длинный -калибруются регули и потом через пару секунд может быт короткий - типа принял настройки) А может короткого и не быть - все зависит от твоих регулей и их прошивок. У меня на моих razor только длинный.
    Все - ты регули откалибровал.
    Там еще можно прошивать и настраивать регули через прогу но это уже завтра напишу. Пока сделай подключение и калибровку.
    ППС. Да - написал много и тебе конечно страшно. Но поверь - там нет ничего страшного а результат поверь стоит того что бы заморочится.
    И еще у Вас можно прошить двусторонний Dshot, тем самым подняв телеметрию. И потом настроить RPM фильтрацию. Поверьте это вообще бомба функция. Себе поставил - тряска и прочее ушли сразу. Коптер летает намного стабильнее даже чем просто с DShotom
Shuricus

Многа букаф - а результат один. Дшот не подлежит калибровке.

karadjia

Дык и не надо калибровать (что калибровать то если в понимании простого PWM). Их нужно “инициализировать” и все. Я написал выше КАК переключится на новые протоколы и “уйти” от старых нонейм и оншотов. Ну если очень нужно откалибровать (читаем инициализировать-подключить) PWM то делаем во вкладке калибровки ESC тоже самое только выбрав протокол Normal вместо DShot. И естественно не заморачиваемся с переключением серво выходов на полетнике и потом их настройкой. А настройки регулей правятся и выставляются в проге от BlHeli. Время “пиков” прошло уже давно 😃 тем более для настроек BlHeli ESC. Там “заблудишся” по пикам с их реверсами, размагничиванием, и частотой шины 😃 Для “особенных” в мануале на реги есть и эти заветные “пики” и как с ними работать. Но лично мне анунах эти пики. Проще прога.Тем более что там и прошивки обновить можно сразу.
Вот тут про настройку через полетник. Правда там для 32 BlHeli и будет ли это работать (прога а не настройки) с обычным BlHeli s не знаю - надо самому пробовать. Естественно нужно запускать прогу для своих ESC. ardupilot.org/copter/docs/common-dshot.html и ardupilot.org/…/common-blheli32-passthru.html и телеметрию включить на полетнике ardupilot.org/…/common-dshot-blheli32-telemetry.ht…
Вот тут примерно показано как прошить двухсторонний DShot и запустить телеметрию на ESC. Ну и потом RPM фильтр

Сопоставив инфу по включению телеметрии на арду с инфой видео с ютуба (ссылка выше) можно запустить RPM фильтр. Тем самым прийти к искомому желанию не покупая дорогие 32 esc

Мечтатель

Доброе утро всем! Вообщем закрутились моторчики , причем как таковой ( в смысле проигрыша мелодии)калибровки не было. На регулях мелкими буквами написано DShot.хотя сигнольные провода подключены через аналоговый выход и протокол указал OneShot 125. Главное закрутилтсь! Буду дальше настраивать.Всем огромное спасибо. Особенно Иван тебе.Всем добра!

karadjia

Да не за что. Кстати - привязку движков можно делать без МП и компа. Просто передернул акб и процедура с нажатым сафети свитч. И все - привязку сделаеш.
Сергей. У тебя регули подключены в 1-4 серво выходы (разьем помеченный 1-8) или 1-4 AUX выходы (разьем помеченный 1-6)?. дело в том что, уже писал выше постом, на 1-4 серво DShot не работает. Это особенность наших пиксов и про это сказано в арду мануале.А твои регули прошиты 14 прошивкой (если не ошибаюсь и не изменилось что-то). Она заточена под DShot. И даже выбрав DShot в калибровке ESC в МП ты все равно останешся на PWM. Хотя МП тебе покажет что типа да - стоит DShot (эт если ты вернешся назад на вкладку калибровки то там увидиш выбранный тобой ранее режим. Дело в том что эти регули САМИ решают на каком протоколе им работать и начинают проверять этот протокол от высшего к низшему. И активируя ESC привязку на полетнике (сафети свитч + акб) ты подключаешся к протоколу который выдает порт полетника. А вот порт ты настраиваеш через МП . И тут как раз этот ньюанс порты серво с 1 по 8 работают только с PWM. Что бы понять как это то вот пример. Ты выбрал DShot 600 а сервовыход может давать только PWM или оншот. Твой ESC инициализирует протокол в момент когда ты передернул акб и зажал сафети свитч. И он подключится к тому протоколу который будет на этом порту выставлен и какой протокол этот порт может дать в данный момент. А это будет PWM или оншот максимум. И плевать им обоим, регулю и порту, на буковки DShot в МП которые ты выставил.
ППС. Сам так пол года летал на оншоте а думал 1200 DShot работает. Пока не зацепился по телеметрии и вроде бы все выставил по мануалу а оно (телеметрия и настройка через BlHeli конфигуратор не работала) и на телеграме один человек не ткнул носом в не правильное подключение ESC
По RPM фильтру - задумайся про его установку-активацию. В качестве плюшек получиш “по фигу” (для полетника а не для подшипников моторов конечно) балансировку пропов, движков, дребезг рамы, желе на видео полетной камеры. Все это уберет RPM. Поверь - оно того стоит. Тем более пока коптер находится в состоянии сборки и поменять местами разьемы не составляет большого труда.

karadjia:

Есть вопрос. Pixhawk 2.4.7 на DEV 4.1.0 …понимаю что это что-то с кайманом и показанием датчика.

Пока отвечаю сам себе и может кому пригодится. Виновник сего помирающий баро датчик. Пока сливал логи и “готовился с духом” баро сдох окончательно и заблокировал все датчики и I2C тоже. Замена на рабочий баро с АРМ оживило все. Пока екф молчит. Сегодня на даче полетаю, а там посмотрим - решил проблему или нет.

karadjia

Упустил, забыл, главное по DShot двухстороннему. Дело в том что для его реализации нужна отдельная прошивка. В мастере для некоторых моделей ее уже выложили на гюнсхабе. Но для Pixhawk1 или fmuv3 ее пока нет. И реализовать телеметрию на этих пиксах и дешевых BlHeli-S регуляторах пока не получится. Но это пока, выложат со временем прошивки. Пока из ближайших сородичей выложили для пиксрейсера. А вот нормальный DShot запустить на ESC и пользоваться уже можно. Плюс пробросить (подготовить) функции BlHeli тоже. Вроде бы мелочь - управление и настройка параметров ESC но, блин, когда с этим сталкиваешся (перенастроить ESC, обновить прошивку) на уже собранном коптере то руки опускаются когда подумаеш про разборку аппарата, отпайку-отсоединение ESC, программаторе…
Ну и по посту выше про настройку протокола управления ESC. Проверить какой порт что выдает по протоколам просто. Открываеш МП и на вкладке messages видиш такую строку

Где видно что для 1-8 порта активен-выдается PWM протокол а для 9-12 выдается DS1200 (DShot 1200). Соответственно если ESC инициализированы то работают тоже на протоколах порта (к какому они подключены). Это для моего сетапа так. Для Вашего это будет по другому. Вот по этим данным Вы точно будете знать на каком протоколе работает Ваш ESC в текущий момент.
А так работает RPM фильтр без точных доводок и поправок. Рама DJI-450 (говнопластик), движки 2212, пропы 9545. Движки и пропы балансированы.
Это без RPM полет (PosHold mode)

Это c RPM полет (PosHold mode)

Еще по RPM фильтр и рамы с 450+. Болезнь коптеров - расколбас при быстром снижении (1 и более метров в сек) Да - убирается пидами и прочим но убирается не полностью. C RPM и на стоковых пидах у меня расколбас ушел полностью. Правда пока снижаться вертикально выше 3 м/сек не пробовал (летун моя еще не опытный 😃 )

Cossack

Всем привет! Завалялся у меня сенсор GY-US42v2 (ультразвуковой дальномер), решил к пиксу подключить по i2c и использовать в качестве высотомера. Установил на коптер, подключил, как RANGEFINDER1 в соответствии с ardupilot.org/…/common-rangefinder-gy-us42.html, настроил параметры. Верчу коптер в руках- расстояние до препятствия определяется нормально, взлетаю - получаю показания, соответствующие RNGFND1_MIN_CM (т.е. ноль). Что не так? Кто-нибудь подключал подобное?

22 days later
suris2009
egunak95:

Проверка работоспособности цифрового датчика воздушной скорости MS4525DO с преобразователем уровней PCA9306 dual bidirectional I2C−bus voltage−level translator. Поскольку интефейсы I2C полётного контроллера Holybro Pixhawk 4 работают с уровнями сигнала 3,3 В, а цифровой датчик MS4525DO на 5 В, необходимо применить транслятор уровней. Для проверки использована Raspberry 3, через которую можно узнать адрес MS4525DO. Уровень сигнала транслятора на контактах SCL и SDA измерялся по осциллографу. Определён адрес MS4525DO 0х28Н, уровень сигнала 3,3 В. Ссылка видео:

Digital airspeed sensor 4525D 5 with PCA9306 dual bidirectional I2C−bus voltage−level translator

Добрый день. Насколько актуально ставить преобразователь сигналов? У меня тоже Holybro Pixhawk 4 и датчик скорости MS4525DO. MS4525DO нормально работает и калибруется без преобразователя. Или преобразователь влияет на долговечность и стабильность работы Holybro Pixhawk 4 ?

egunak95

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

Если посмотреть схемы старых АПМ2 там стоят трансляторы уровней, зачем они нужны наверное разработчики посчитали что надо

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

Если посмотреть схемы старых АПМ2 там стоят трансляторы уровней, зачем они нужны наверное разработчики посчитали что надо

Вот схема транслятор в красном кружке

suris2009

У меня длина кабеля не больше 10см. За схему спасибо, сейчас за сущие копейки продаются готовые. Надо только добавить LM 3.3V.

egunak95

У меня сейчас настоящая «железка» Durandal – корпус литой алюминий, ИМУ на виброразвязке с утяжелением металлический груз под золото на фото видно. Планирую на ДВС т.к. на классические вертолёты ставят

Также плюс у Durandal - наличие кнопки DFU она в доступе на плате после снятия корпуса.

Зачем кнопка DFU - от окирпичивания. На Н7 пока есть проблема её пытаются устранить подробности тут github.com/ArduPilot/…/release-notes.txt

Основной причиной этого выпуска является резервное копирование/восстановление параметра. Это
является постоянной проблемой в течение довольно продолжительного времени. Симптомом является
неожиданный полный параметр сброса на досках с помощью FRAM (также известный как
RAMTRON) для хранения, особенно тех, которые используют F7 или H7 на основе
Микроконтроллеры. Этот вопрос чаще всего видели на Hex CubeOrange
борту, но был замечен на досках от других поставщиков, а также.

Этот вопрос было удручающе трудно воспроизвести. Мы сделали узкий
вниз одна причина в прошлом году, который был плавающий CS контактный в загрузчик
инициирование коррупции до начала ArduPilot. Обновленный загрузчик
уменьшило возникновение вопроса много, и мы думали, что это было
Решена. С тех пор проблема все еще случалась несколько раз на
доски, которые имели обновление загрузчик.

Этот релиз позволяет избежать проблемы, сохраняя полную вторую копию
параметров во второй половине 32k FRAM устройств. На загрузке мы проверяем
целостность первичной области хранения параметров с помощью простой подписи
проверить, и если он был поврежден, то мы восстанавливаем из резервного копирования
Области. Мы также поднимаем внутреннюю ошибку под названием “params_restored”. Вы
затем необходимо перезагрузить, чтобы очистить ошибку, но ваши параметры будут
были автоматически восстановлены, избегая необходимости перезагрузки
параметров и перекалибровать.

H7 AutoPilot Will Not Initialize

ardupilot.org/…/common-when-problems-arise.html
AutoPilots с использованием H7 серии процессоров может, в редких случаях, попасть в состояние, когда они больше не будет завершать инициализацию. Симптомы: никогда не выходит из загрузчика (быстро мигает привело сразу после того, как запущено приложение и никогда не останавливается) или автопилот замерзает во время инициализации, и подключение к нему невозможно.
Считается, что это может быть проблема повреждения памяти, которая может быть вызвана прерывание флэш-памяти при записи (когда изменяются параметры). К сожалению, из-за архитектуры процессора, нет никакого способа в прошивки, чтобы исправить это автоматически. Если автопилот кажется “кирпичом”, попробуйте это, чтобы полностью сбросить автопилот в полностью не запрограммированное состояние. Это должно позволить установить прошивку и решить проблему повреждения.

Например Hex orange cube ADS-B Pixhawk2 не имеет кнопки DFU поэтому при кирпичном состоянии советуют отправить производителю

macrokernel

Кнопка DFU есть на многих полётниках, например, на Матеках и Омнибасах.