1. Уважаемый Гость! При написании вопросов в раздел форума [ArduCopter] Вопросы, проблемы и решения обязательно придерживаться шаблона сообщения, оговоренного в правилах раздела! Если сообщение не будет оформлено должным образом, то и ответ на вопрос будет с наименьшим приоритетом. Старайтесь дать максимально полную информацию по вашей проблеме, чтобы можно было более детально рассматривать вопрос!
    Скрыть объявление
  2. Уважаемый Гость! Хотите получать кэшбэк с покупок в online-магазинах? Сервис "Zozi.ru" дает такую возможность!
    Скрыть объявление
  3. Друзья! Для нашего ресурса необходим дополнительный объем пространства в облаке Dropbox. Подробнее.
    Скрыть объявление

Swift-Flyer (Firmware для F4BY)

Тема в разделе "F4BY / Swift-Flyer Project", создана пользователем strizhmax, 11 мар 2015.

Реклама. Купить это место.
  1. strizhmax

    strizhmax Coder Команда форума

    Регистрация:
    11 мар 2015
    Сообщения:
    37
    Город:
    Москва
    Имя:
    Максим Стринжа
    тарегет для платы F4BY c процессором 407 в репозитории ardupilot: F4BY
    тарегет для платы F4BY c процессором 427 в репозитории ardupilot: F4BY_F427
    название папки с готовыми прошивками соответсвует таргету
    готовые прошивки:
    https://firmware.ardupilot.org/Copter/


    Обсуждаем прошивку Swift-Flyer для полетного контроллера F4BY. Вопросы, предложения, замечания.
    Вопросы о железе, подключении обсуждаем в другой ветке.


    итак пакет дополнений m1:
    * e7f6fee 2015-09-08 | Enable ADC channels 14/15 for board and servo voltage monitoring (origin/relay_pin, origin/F4BY-AC-3.2) [Maxim Strinzha]
    * 3d1c41b 2015-06-25 | Enable ADC channels 14/15 for board and servo voltage monitoring [Maxim Strinzha]
    возможность мониторинга и логирования напряжения 5вольт поступающего с блока питания и на рейке сервоприводов (моторов) необходимые аппаратные доработки имеются на плате f4by 2.1.5

    * f0f89ce 2015-09-30 | Send distance/bearing to WP on GUIDED mode (relay_pin) [Maxim Strinzha]
    шлет по мавлинку дистанцию и курс в режиме GUIDED для того чтобы можно было видеть это значение в мишен планере. Мы тестируем хардварную фолоумикалку - нам важно видеть правильно ли он видит цель.

    * 9d9a1bd 2015-06-22 | NMEA: enable RMC messages for logging date and time [kozinalexey]
    при использовании навигационного приемника с выводом данных в формате NMEA в лог не писалась дата т.к. в прошивке ардукоптера в инициализации приемника посылалась команда отключающая сообщение содержащее в себе время и дату
    * d61f33a 2015-05-06 | Support D1/D2 as relay output (for camera trigger) [Maxim Strinzha]
    поддержка использования одного из цифровых выходов для управления спуском фотоаппарата.

    * ca49c4b 2015-04-08 | Allow to use only primary compass. [Maxim Strinzha]
    * 753175b 2015-04-07 | Allow to start ArduPilot without internal compass [Maxim Strinzha]
    * 49d458f 2015-04-07 | Allow to use only one compass. [Maxim Strinzha]
    группа фиксов позволяющая не использовать встроенный на контроллер компас в случае что если заранее известно что расположен он в совершенно неподходящем месте.

    * 759f24c 2015-04-07 | Swap GPS and NSH ports (i.e. USART1 and USART3). [Maxim Strinzha]
    поменян порт к которому подключают навигационный приемник. Удобно подключать навигационный модуль к гнезду которое рядом с разъемом подключения компаса т.к. многие навигационные модули имеют на борту компас и тащить два провода с разных мест неудобно.

    * bf6c6ce 2015-03-09 | Change default parameters [Maxim Strinzha]
    изменен ряд параметров по умолчанию втч ahrs_gps_gain =0

    * 1da74d8 2015-03-09 | Remove wrong pwm initialization [Maxim Strinzha]
    при включении контроллера на выходах краткосрочно появлялся импульс с длительностью 1000мс что не позволяло использовать режим калибровки всех регуляторов сразу.
    прошивка Arducopter 3.2 доступна на офф. сайте http://swift-flyer.com/
    прошивка Arducopter 3.2 m1 пока распространяется по запросу. пишите в личку и мэйл.

    git clone https://github.com/Swift-Flyer/ardupilot.git
    cd ardupilot
    git checkout Copter-3.3
    make -C ArduCopter f4by-<рама>

    варианты <рама>
    quaid tri
    hexa
    y6
    octa
    octa_quaid
    heli
    single
    coax

    на компьютере должны быть установлены программы git, make и быть прописаны к ним пути

    релиз arducopter 3.3.2 http://fw.swift-flyer.com/ (файлы прошивок все типы рам)
    особенность сборки
    - перед заливкой вынуть перемычку д3 и не использовать с этой прошивкой.
    на выходы Д2 Д3 продублированы светодиоды с платы.

    дополнения к релизу 3.3.2
    https://www.dropbox.com/s/mydd4qbwz12fodg/ac-33-compasswarm-rgbledByfile.zip?dl=0
    постфиксы которые мы признали важными
    • некоторые экземпляры компаса не стартуют в сильный холод, введена задержка 15 сек и повторный рестарт если компас не стартанул.
    • отключен по умолчанию RGBLED - девайс свойственный пиксу с шины внешнего компаса, но тем у кого он есть его можно включить разместив в папке APM пустой файл с именем RGBLED
    • добавлен код компенсации офсета alegro питаемого от контроллера. Для активации функции нужно установить BAT_ISALEGRO =1
    подробнее про компенсацию и что она дает тут https://sites.google.com/site/picsharekozin/acs758-allegro-ofset-compensation

    arducopter 3.4 arduplane 3.6 в редакции от 01.01.2017
    все типы коптерных рам и прошивка самолета.
    https://www.dropbox.com/s/pvp98foy9717njv/ac34rc1_ap36_12out.zip?dl=0
    особенности и специфика во вложенном ридми файле, прочитайте внимательно
    настройка пидов в картинках
    • добавлено 2 программируемых выхода на разъеме "сонар"
    • доработан функционал camera feedback
    • добавлена поддержка компенсации офсета алегро, это позволяет более точно измерять ток при непостоянном напряжении питания сенсора.
    • поддерживается компактный бортовой дисплей ssd1306 (втч двухцветный)

    arducopter 3.4.4 arduplane 3.7.1 в редакции от 14.01.2017
    все типы коптерных рам и прошивка самолета.
    особенности и специфика во вложенном ридми файле, прочитайте внимательно
    https://www.dropbox.com/s/tcg7teyxgnd7sov/ArduCopter-ac344-quaid-f4by.zip?dl=0
    Новые возможности:
    • добавлено 2 программируемых выхода на разъеме "сонар"
    • доработан функционал camera feedback
    • добавлена поддержка компенсации офсета алегро, это позволяет более точно измерять ток при непостоянном напряжении питания сенсора.
    • oneshot125 (с разрешением 1000 ступеней)
    • ultrapwmx8 (с разрешением 1000 ступеней)
    • два типа бортовых дисплея
    Arducopter 3.6 Dev
    https://www.dropbox.com/s/l2h8le8z4tiz652/arducopter_36dev.zip?dl=0
    программное обеспечение подготавливалось для интеграции в официальный репозиторий Ardupilot, в ходе тестов хорошо себя проявило, поэтому принято решение о публикации,
    В данном программном обеспечении по причине требований основного проекта пришлось временно отказаться от нескольких собственных доработок и улучшений.
    - нет поддержки отдельных входов от радиоприемника в формате PWM, в случае необходимости используйте декодер PWM-PPM
    - нет параметра разрешающего коррекцию офсета сенсора аллегро для более точной его настройки
    Контроллер поддерживает
    4- до 12 PWM выходов, количество регулируется параметром BRD_PWM_COUNT
    при этом 4=4 выхода, 6=6 выходов , 8=8Выходов, 9=12 выходов, остальные значения неприменимы

    официальные сборки "Ardupilot"с OS ChibiOS
    самые свежие сборки для тестировщиков:
    http://firmware.ardupilot.org/Plane/latest/F4BY/ - самолетная прошивка
    http://firmware.ardupilot.org/Copter/latest/F4BY/ - мультироторные аппараты
    по аналогии там же прошивки на традиционный вертолет, ровер-лодка, треккер (поворотка антенны) и подводная лодка


    Особенности журнала полета в 3.4.
     
    Последнее редактирование модератором: 22 ноя 2024
    akrb, ExxxIM, hyperion и 2 другим нравится это.
  2. akrb

    akrb Научный сотрудник

    Регистрация:
    11 авг 2015
    Сообщения:
    724
    Город:
    Коломна
    Имя:
    Рамазан Акоев
    Он просто становиться 50 Гц. Это конечно все равно почти на порядок быстрее реакции рег-ВМГ, но хотя бы заявленную регулировку 50-490 Гц неплохо задействовать.
    --- Сообщения объединены, 8 янв 2017 ---
    Кстати проверил 3.4.rc1. Там просто 50 Гц на любом канале (мотор, серво).
     
  3. Alexey Kozin

    Alexey Kozin APM Guru Команда форума

    Регистрация:
    26 янв 2015
    Сообщения:
    932
    Город:
    Москва
    Имя:
    Алексей Козин
    главная идея ваншота в одном цикле измерения гиро формировать импульс на моторы

    вот кусочек кода ардукоптреа
    // Main loop - 400hz
    void Copter::fast_loop()
    {

    // IMU DCM Algorithm
    // --------------------
    read_AHRS();

    // run low level rate controllers that only require IMU data
    attitude_control.rate_controller_run();

    #if FRAME_CONFIG == HELI_FRAME
    update_heli_control_dynamics();
    #endif //HELI_FRAME

    // send outputs to the motors library
    motors_output();

    т.е. хоть 3000 гц выдавай пвм, моторы пересчитывают пвм 400 раз в секунду
     
  4. hyperion

    hyperion Куратор Команда форума

    Регистрация:
    19 фев 2015
    Сообщения:
    832
    Город:
    Абакан
    Имя:
    Алексей
    хм у меня через serial порт реализовано управление подвесом камеры. Больше ничего вроде не задействовано. Но проверю еще разок..
     
  5. akrb

    akrb Научный сотрудник

    Регистрация:
    11 авг 2015
    Сообщения:
    724
    Город:
    Коломна
    Имя:
    Рамазан Акоев
    Чета я насчет порядка погорячился. Уточнил по данным (которые есть на данный момент), получилось около 15 мс - время между подачей команды на рег и началом увеличения оборотов.
    Осталось только не упускать из виду хотя бы 400. А то все таки 50 маловато будет.
     
  6. hyperion

    hyperion Куратор Команда форума

    Регистрация:
    19 фев 2015
    Сообщения:
    832
    Город:
    Абакан
    Имя:
    Алексей
    сбросил настройки на дефолт. откалибровал только радио. Регули ведут себя аналогично.. В калибровку не входят, попискивают как будто на них сигнал не поступает. Прошивка та что Алексей выкладывал. К сожалению никакого осцилографа нету чтобы поглядеть что там на выводах творится :(
     
  7. akrb

    akrb Научный сотрудник

    Регистрация:
    11 авг 2015
    Сообщения:
    724
    Город:
    Коломна
    Имя:
    Рамазан Акоев
    Надо проверять поддерживает ли ваншот 125 на регах 400 Гц. А то у них может минимум 1000 Гц.

    Про 400 и серво. В крайнем случае забить на серво. Можно ведь использовать цифровые (с поддержкой 490).
    --- Сообщения объединены, 8 янв 2017 ---
    Проверил на стенде 400 для ОШ125. И Симонк, и Блхели откалибровались и заработали. Но это при 400. При 50 боюсь уже 16 бит будет мало, да и не серьезно уже будет. И так при одном и том же 400 ОШ125 ничего не дает против ПВМ даже на уровне контроллера. А при 50 и серва работает.
     
  8. akrb

    akrb Научный сотрудник

    Регистрация:
    11 авг 2015
    Сообщения:
    724
    Город:
    Коломна
    Имя:
    Рамазан Акоев
    Так еще раз внимательно посмотрел.
    Мои действия. Прошил 3.4.4. откалибровался. Прошил 3.4.1. - потестил. Прошил 3.4.4. (не сбрасывая, не калибруясь). Вроде все настройки остались, но Ф4 начал постоянно ругаться на что-нибудь. Успокоил (отключил проверку). Теперь с сигналом по осцилу.
    Долго не мог понять, но потом вроде нащупал зависимость.
    1. Не входит как обычно в режим калибровки.
    2. Ставить ОШ125 она конечно позволяет максимум при 400, но при перезагрузке генерация срывается и остается только 1 Гц (хотя 125 мкс остается). Вернуть обратно 400 позволяет если только сначала поставить ПВМ (а иногда еще и через установку 50 Гц). В общем эта часть патологически сырая или так сказалась отсутствие очистки (но что-то внутри подсказывает что скорее первое).
    3.
    Нашел в настройках Loop. Там точно максимум 400 Гц (рекомендуется 50 - 400 с шагом).
    4. Оказывается все таки можно менять частоту сигнала от 50 до 400. Поставить в настройках можно и 490, но генерироваться будет только 400. Есть подозрение, что из-за ЛУП.

    Пойду перекушу. Может еще успею сделать проверку с очисткой.
     
  9. akrb

    akrb Научный сотрудник

    Регистрация:
    11 авг 2015
    Сообщения:
    724
    Город:
    Коломна
    Имя:
    Рамазан Акоев
    Итак. Сделал очистку. Откалибровался по минимуму, остальное отключил.
    Стало вменяемо.
    1. В режим калибровки входят оба протокола (включаем 2 раза, вниз, отключаем обязательно).
    2. ПВМ калибруется на частоте 50 Гц. После отключения включается 400 Гц (поэтому и отключать обязательно).
    3. ОШ125 калибруется и пытается работать только на частоте 1 Гц (или меньше). Поэтому рег и не видит контроллер. Или надо менять еще какие-то настройки.
    4. Частоту больше 400 Гц поставить не смог.
    5. После смены частоты или ЛУПа отключать питание контроллера обязательно, чтобы генератор перезапустился.
    6. Ваншот на ПВМ и обратно меняется на лету. Так что в полете трогать нельзя, во избежания краха.

    Запустил мотор на стенде в ПВМ в стабе. Из неприятного. Контроллер останавливал двигатель на минимуме на мгновение (с включенным дампедлайт на Блхели это отчетливо слышно). Минимум в настройках не крутил.

    На сегодня пожалуй хватит тестов. Если есть идеи, завтра можно продолжить.
     
    hyperion нравится это.
  10. hyperion

    hyperion Куратор Команда форума

    Регистрация:
    19 фев 2015
    Сообщения:
    832
    Город:
    Абакан
    Имя:
    Алексей
    Алексей я вроде видел у вас на фотки пикс. Можете проверить как у него с этим делом обстоит дела? Чтобы уже однозначно сделать вывод - косяк в самом ардукоптере или порте ХАЛа на ф4бу.
    и в догонку вопрос.
    Осцилограф типа такого
    http://mysku.ru/blog/china-stores/33799.html
    пойдет для хобби? Те же Pwm щупать. Или нужно более серьезный покупать даже для этих целей?
    Или может что то посоветуете из недорогого?
     
  11. LampGraph

    LampGraph Кандидат наук

    Регистрация:
    16 ноя 2015
    Сообщения:
    1.230
    Город:
    Абакан
    Имя:
    Вячеслав
    Если PWM щупать то вполне, а вот если, например, фильтр для бека строить тут уже может быть маловато. В любом случае 20$ в нашем хобби не деньги.
     
  12. akrb

    akrb Научный сотрудник

    Регистрация:
    11 авг 2015
    Сообщения:
    724
    Город:
    Коломна
    Имя:
    Рамазан Акоев
    +1.
    Сначала взял типа ISDS205C. Понял не очень, хотя уже можно работать .
    Потом удавил жабу взял на али Hantek DSO5072P. Продавец его еще прошивает на более высокую частоту. Тоже не идеал, но уже и шумы можно пытаться смотреть. Опять же 2 канала удобно сравнивать еск и и т.п.
     
  13. Alexey Kozin

    Alexey Kozin APM Guru Команда форума

    Регистрация:
    26 янв 2015
    Сообщения:
    932
    Город:
    Москва
    Имя:
    Алексей Козин
    концептуально у арду пвм работает на частоте цикла екф 400гц
    быстрее екф запустить - чревато
    исходя из этого ваншот - бред
    вообще ваншот бред изза динамики любого самого быстрого мотора измеряемой десятыми долями секунды в то время когда пвм практически на полтора порядка динамичнее.
    нелогично ждать эффекта от ваншота когда управление им зажато фильтрами ролпитч и мот (_flt ) по дефолту они 20 и 50 гц соотв . Прежде чем говорить об ожидаемом эффекте от ваншот нужно вывести фильтры хотябы на 100гц а то и более.
    уменьшать фильтры имеет смысл для мелких гоночных аппаратов т.е. 250 и менее с современными прошивками блхели с дампед лайт, в остальных случаях получите ненужные перегазовки и перерасход батареи, сокращение полетного времени.

    констатирую.
    используйте современные регули, дампед лайт.
    но не включайте ваншот (разве что ради праздного интереса ) оставьте пвм.
    хотите большей динамики - убирайте фильтрацию
    накрутите динамику - не удивляйтесь почему ваш коптер который летал 20 минут стал летать 5-7. спортивные дроны так и летают 5-7 минут.
    в настройке моторов (mot) есть настройки экспоненты минимального и максимального уровня пвм - что могло бы более четко настроить специфичные гоночные дроны

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

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


    зы. в теме про самостоятельную сборку добавил описание назначения веток репозитория с иходным кодом
     
    hyperion и akrb нравится это.
  14. akrb

    akrb Научный сотрудник

    Регистрация:
    11 авг 2015
    Сообщения:
    724
    Город:
    Коломна
    Имя:
    Рамазан Акоев
    Алексей, а можно все же глянуть код ваншота. Он нужен то всего чтобы включить 1000 шагов на Блхели. Подозреваю, что писатели хотели поставить частоту 1 кГц, а получилось 1 Гц.
    Хрен с ним с кГц и 400 оказывается будет работать. Просто косяк Блхели исправить сложнее.

    Раз больше идей нет продолжу с тестами регов для понимания всей картины.
     
  15. hyperion

    hyperion Куратор Команда форума

    Регистрация:
    19 фев 2015
    Сообщения:
    832
    Город:
    Абакан
    Имя:
    Алексей
    прямо сейчас не могу протестировать в полете, жду 9е пропы, на 10х слишком низкий газ висения. Пока что могу только на столе тестами заниматься :) Ваншот я считаю был бы полезен по 2м причинам.
    1. работа в режиме Pwmsync.
    2. 1000шагов в блхели
     
  16. akrb

    akrb Научный сотрудник

    Регистрация:
    11 авг 2015
    Сообщения:
    724
    Город:
    Коломна
    Имя:
    Рамазан Акоев
    Про низкий газ висения, для тестов можно и балластом догрузить. Здесь же время не надо.
     
  17. Alexey Kozin

    Alexey Kozin APM Guru Команда форума

    Регистрация:
    26 янв 2015
    Сообщения:
    932
    Город:
    Москва
    Имя:
    Алексей Козин
    так ведь у блхели которые со свежими прошивками косяка с 256 шагами в режиме пвм нет?
     
  18. akrb

    akrb Научный сотрудник

    Регистрация:
    11 авг 2015
    Сообщения:
    724
    Город:
    Коломна
    Имя:
    Рамазан Акоев
    Это нет в Блхели_С , а они раза в 1.5 дороже Блхели. Кстати вышло обновление 14.9 для Блхели. Косяк остался.

    Конечно у Блхели_С есть еще 1 преимущество перед Блхели и Симонк это низкая кривая газа. Это должно дать преимущество в устойчивом спуске.
    Может и еще что-то есть. Понятно будет после всех тестов.

    Мне как бы цена не главное (и уже комплект есть). Но вот остальные не готовы платить больше, когда есть дешевое.
     
  19. Alexey Kozin

    Alexey Kozin APM Guru Команда форума

    Регистрация:
    26 янв 2015
    Сообщения:
    932
    Город:
    Москва
    Имя:
    Алексей Козин
    посмотрел код арду (пикса)
    void AP_Motors::rc_write(uint8_t chan, uint16_t pwm)
    {
    if (_motor_map_mask & (1U<<chan)) {
    // we have a mapped motor number for this channel
    chan = _motor_map[chan];
    }
    if (_pwm_type == PWM_TYPE_ONESHOT125 && (_motor_fast_mask & (1U<<chan))) {
    // OneShot125 uses a PWM range from 125 to 250 usec
    pwm /= 8;
    /*
    OneShot125 ESCs can be confused by pulses below 125 or above
    250, making them fail the pulse type auto-detection. This
    happens at least with BLHeli
    */
    if (pwm < 125) {
    pwm = 125;
    } else if (pwm > 250) {
    pwm = 250;
    разрешение 1 микросекунда. т.е. для 125 оншота для диапазона 125-250 всего 125 шагов.
     
  20. akrb

    akrb Научный сотрудник

    Регистрация:
    11 авг 2015
    Сообщения:
    724
    Город:
    Коломна
    Имя:
    Рамазан Акоев
    Да засада.
    Надо 0.125 мкс , а это как минимум вроде должна быть другая переменная (программист я еще тот, но или переменную надо с точкой или на наносек переходить).

    С частотой наверное тоже самое.
    --- Сообщения объединены, 9 янв 2017 ---
    Еще из кода только понял, что есть ограничение диапазона 125-250.
     
  21. hyperion

    hyperion Куратор Команда форума

    Регистрация:
    19 фев 2015
    Сообщения:
    832
    Город:
    Абакан
    Имя:
    Алексей
    следующая проверка. Режим PWM - вращаются все моторы. Включил ваншот125 без ребута пк. Вращаются три мотора с симонком. Блхели стоит. Так же без ребута в режиме onetshot крутятся все моторы. И с симонком и с бхлели!
    В блхели есть опция pwm input (on|off). На поведение никак не влияет.
    Интересно сравнить с пиксхавком такое же ли там поведение.

    запощу наверное в ветку пиксов может кто сможет там проверить как с пиксом работает ваншот.
     
    Alexey Kozin нравится это.
Реклама. Купить это место.