F4BY и с чем его едят...

F4BY собственно продолжение темы Создание собственной системы стабилизации
вот такая платка в итоге получилась:

На борту:
Процессор - STM32F407VGT6
Это высокопроизводительный 32-разрядный микроконтроллер на базе ядра Cortex-M4F с функцией DSP-вычислений с плавающей точкой (FPU) от компании ST Microelectronics.
тактовая частота 168 МГц

  • Корпус LQFP100 (100 ножек)
  • I/O (макс.),шт. 82
  • Напряжение питания: 1.8 - 3.6 В
  • Частота: до 168 МГц
  • Память программ (Flash): 1 МБайт
  • ОЗУ (RAM): 196 Кбайт
  • 4 Кбайт backup SRAM (аналог EEPROM)
  • Поддержка инструкций DSP и чисел с плавающей точкой
  • 16-битные таймеры: 2 базовых таймера, 8 таймеров общего назначения, 2 продвинутых таймера, 2 watchdog (Сторожевой таймер (контрольный таймер, англ. Watchdog timer) — аппаратно реализованная схема контроля за зависанием системы. Представляет собой таймер, который периодически сбрасывается контролируемой системой. Если сброса не произошло в течение некоторого интервала времени, происходит принудительная перезагрузка системы. В некоторых случаях сторожевой таймер может посылать системе сигнал на перезагрузку («мягкая» перезагрузка), в других же — перезагрузка происходит аппаратно (замыканием сигнального провода RST или подобного ему).)
  • 2 32-битных таймера общего назначения
  • USB 2.0 full-speed device/host/OTG со своим PHY на борту
  • USB 2.0 high-speed/full-speed device/host/OTG с отдельным DMA, со своим full-speed PHY на борту, есть поддержка ULPI
  • 10/100 Ethernet MAC с отдельным DMA, поддержка PHY-микросхем с интерфесами IEEE 1588v2, MII/RMII
  • 3x SPI (37.5 МБит/с), 2 из них с мультиплексированными полнодуплексными I2S для качественной передачи звука
  • 3x I2C с поддержкой SMBus/PMBus
  • 4x USART, 2x UART: 10.5 МБит/с, интерфейс ISO 7816, LIN, IrDA, modem control
  • 2x CAN (2.0B Active)
  • SDIO (для SD-карт)
  • DCMI - [от 8 до 14]-битный параллельный интерфейс камеры (до 54 МБайт/с)
  • Аналоговый генератор случайных чисел
  • Встроенный модуль расчёта CRC
  • 82x GPIO (выводы I/O)
  • RTC (Real-Time Clock)
  • 3 12-битных АЦП, 2.4 миллиона выборок в секунду, 16 каналов, 7.2 миллиона выборок в секунду в режиме тройного чередования
  • 2 12-битных ЦАП
  • Контроллер DMA с 16 каналами и поддержкой FIFO и пакетной передачи
  • Параллельный интерфейс LCD, режимы 8080/6800
  • FSMC - контроллер статической памяти с поддержкой Compact Flash, SRAM, PSRAM, NOR и NAND
  • Возможность отладки по JTAG или SWD

Датчик угловых скоростей и акселерометр MPU6000 включен по SPI

Основные параметры
Кол-во осей 3 Ускорение (макс.),±g 16 Диапазон,°/cек. 2000 Оси X,Y,Z Чувствительность,LSB/g 2.048 Разрешение,бит 16 Чувствительность,°/cек./LSB 0.06097 Нелинейность,% 0.2 Шум,°/cек. 0.05 Частота среза,Гц 1000 Интерфейс I2C SPI VCC,В от 2.375 до 3.46 ICC,мА 3.6 TA,°C от -40 до 85 Корпус QFN-24
компас HMC5883 (имеется возможность установки внешнего)

  • датчик HMC5883L
  • питание 3.3В
  • протокол связи: стандартный IIC (он же I2C, он же TWI)
  • диапазон измерений: ± 1.3-8 гаусс, точность 5 милли-гаусс
  • даташит

барометр MS5611

  • Чип: MS5611
  • Чип имеет встроенный 24-битный AD конвертер
  • Питание: 3.3В (внутренний низкий регулятор отсева)
  • Габариты: 1.8 х 1.3см
  • даташит

eeprom 24c512
flash m25p16

заменено на FRAM FM25V01
(Сегнетоэлектрическая оперативная память (Ferroelectric RAM, FeRAM или FRAM[1]) — оперативная память, по своему устройству схожая с DRAM, но использующая слой сегнетоэлектрика вместо диэлектрического слоя для обеспечения энергонезависимости. FeRAM — одна из растущего числа альтернативных технологий энергонезависимой памяти, предлагающая ту же самую функциональность, что и флеш-память.)
MicroSD слот
интерфейсы:
4 USART (один инвертирован)
1 SPI (свободный аппаратный порт)
2 I2C (внешняя i2c1 - полный доступ, внутренняя i2c2 не доступна для пользователя)
1 CAN
1+3 входа АЦП
3 свободных пина GPIO
8 выходов ШИМ
8 входов-выходов ШИМ
1 выход на пищалку (ШИМ)
1 вход подключения сонара (либо таймер либо прерывание 9-5)

На данный момент имеется порт Ardupilot

  1. небольшой ребрендинг в swift-flyer
    Исходники github.com/swift-flyer
    Актуальная документация и прошивки: hobby.msdatabase.ru/project-updates/…/f4by

Как запустить Арду:
Переделан Бутлоадер (пока в тестировании плата имеет свой собственный драйвер и определяется как F4BY)
Прошивать можно планнером - но родная px4 не запустится!!! см. ниже…
Для запуска Арду обязательна SD-карточка… у меня прекрасно живёт 2-х гиговая noname
Первый запуск - просто включить с карточкой
Далее на карточке создастся директория APM (там логи будут хранится)
Как виртуальную еепром стирать:
если надо стереть в консоли NuttX
вынимаем SD (если с пищалкой запустить будет пиликать SOS)
подключаем к 1 усарту через ftdi (или через что есть) любой терминалкой (патти, геркулес…)
скорость 57600
набираем
mtd start
mtd erase
reboot
вставляем SD запускаемся калибруемся…
Паршифки заливаются планнером так что осторожно родная от PX4 зальётся, но работать не будет и перепрошить будет с планнера невозможно! в таком случае: в папке планнера есть PX4uploader - запустить выбрать паршивку и тыкать ресет пока лодырь (он жывой остаётся) не определится…
Ну и пару кино как это запускалось:

Продолжение следует!..
Текущая прошивка и бутлоадер - пока всё обзывается PX4
Обновил прошивки - это версия тестовая 3.2-Dev так что всё на свой страх и риск…
тестил немножко 😃

Контроллеры можно заказать тут и тут, всё остальное от лукавого и без тех. поддержки…

  • 14127
Comments
Shuricus

Это прекрасно! Совершенно прекрасно!

На этом, войну плат можно и закончить! Ничего лучше просто нет.

shura2000

А что его так к машине тянет ? 😃

SergDoc

Это первый! взлёт на Арду, пиды стандартные автотрим не делал, просто подлетнул в стабе, тестил железо 😃

Sir_Alex

Сергей, ты забыл написать, как же правильно залить эту первую прошивку? Через планнер или PX4Uploader?

limon_spb

SergDoc, разрешите вопрос:
Как я понял вы разработали свою плату и разрабатываете программу? Последнее видео - полет на какой программе? Как далеко продвинулись в своей программе?

SergDoc
Sir Alex;bt117207

Сергей, ты забыл написать, как же правильно залить эту первую прошивку? Через планнер или PX4Uploader?

Через планнер - при условии что бутлоадер залит…
Бутлоадер заливается DFU утилитами от ST - это через USB, есть и Hex через st-link залить…
Я описывал если вдруг кривая прошивка или родная от PX4 - то планнером её уже не изгнать (не успевает он за бутлоадером)
А для разработчиков есть классная команда make px4-upload 😃 и компилим и заливаем 😃

SergDoc
limon_spb;bt117210

SergDoc, разрешите вопрос:
Как я понял вы разработали свою плату и разрабатываете программу? Последнее видео - полет на какой программе? Как далеко продвинулись в своей программе?

rual пишет свой код, я пока застрял на арду 😦

rual

Сергей, чтоб люди не мучились, мож сделать им DFU загрузчика и АПМ сразу? Можно сразу сначала одно залить потом другое сверху через СТшную программку. Сам процесс описан здесь vg.ucoz.ru/publ/…/9-1-0-22

Sir_Alex

Эмм… Сергей, а где на контроллере JTAG?

make px4-upload - заливает и бут и прошивку?

SergDoc
Sir Alex;bt117244

Эмм… Сергей, а где на контроллере JTAG?

make px4-upload - заливает и бут и прошивку?

Заливает только прошивку 😃

SergDoc

так небольшой ликбез:
берём тут ST DFUse www.st.com/st-web-ui/static/…/stsw-stm32080.zip
утилиты позволяющие через USB залить Бутлоадер - он в архиве в шапке BL.DFU
подключаемся к USB, закорачиваем перемычки BOOT0 (около кнопки Reset), жмём Reset - винда обнаружит новое устройство - порывшись в закромах мелкомягких найдёт устройство ST dfu mode -как-то так (я под виндой нечасто) дальше по инструкции что дал rual, за исключением пункта с DFU_File_Manager (DFU файл уже готов)…
после того как прошили лодырь в винде обнаружится неизвестное устройство, если установить Mission Planner - драйвера подгрузятся если же нет вот драйвер pixhawk.org/_media/downloads/px4_win_drivers.zip
устройство определится как PXFMU(COM…)
всё теперь планнером можно залить прошивку но не родную PX4!!! а нашу!!!

rual

Сергей, а как ты планеру патченую прошиву подсовываешь?

SergDoc

у него там есть кнопка ( забыл как называется 😦 Custom Firware что-ли) короче можно свою прошивку заливать…

limon_spb
SergDoc;bt117241

rual пишет свой код, я пока застрял на арду 😦

А как же арду работает на STM32F407VGT6? Или я отстал от жизни и у них есть порт для этого проца?

SergDoc

Кстати если дойдёт до полной интеграции с арду, то отцепить от PX4 не так уж и сложно - т.е. id и номер борда сменить в лодыре и самой прошивке - драйвер под винду переписывается тоже просто… пока не делал ибо uploader не определит плату - надо и его переписывать…

SergDoc
limon_spb;bt117252

А как же арду работает на STM32F407VGT6? Или я отстал от жизни и у них есть порт для этого проца?

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

rual
SergDoc;bt117249

у него там есть кнопка ( забыл как называется 😦 Custom Firware что-ли) короче можно свою прошивку заливать…

Покажи картинку народу, а то понавалят ПХашных прошив.

limon_spb
SergDoc;bt117254

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

Оuо, т.е. вы в проц запихнули ось, написали свой HAL, который крутится вместе с ардукоптером как программа. Круто 😃 А кто HAL писал? =)

SergDoc

Хал написади сами дийдроносы 😃 мы ось под себя переправили…

SergDoc
rual;bt117255

Покажи картинку народу, а то понавалят ПХашных прошив.

в шапку скинул 😃

limon_spb
SergDoc;bt117258

Хал написади сами дийдроносы 😃 мы ось под себя переправили…

дийдроносы - это кто? =))

Уважаемый rual, расскажите, как у вас продвигается с собственной прошивкой, какие трудности и т.п.

Я интересуюсь т.к. сам пописываю прошивку, но под ардуинку + MPU6050 (пока летаю на привязи): хочется пощупать алгоритмы и математику, а никаких других МК пока не знаю.

rual
limon_spb;bt117260

дийдроносы - это кто? =))

Уважаемый rual, расскажите, как у вас продвигается с собственной прошивкой, какие трудности и т.п.

Я интересуюсь т.к. сам пописываю прошивку, но под ардуинку + MPU6050 (пока летаю на привязи): хочется пощупать алгоритмы и математику, а никаких других МК пока не знаю.

Дидронсы это они www.diydrones.com )))

По моей прошивке: rcopen.com/forum/f134/topic224458/4138

limon_spb
rual;bt117261

Дидронсы это они www.diydrones.com )))

По моей прошивке: rcopen.com/forum/f134/topic224458/4138

Прочитал несколько последних страниц. Спасибо =)
Но остаются вопросы: какую математику используете? Старые-добрые ПИДы или что-то другое? Какая частота получается обработки датчиков и частота обновления скорости моторов? Как вообще тестируете все 😃 Уж очень долго всю тему читать, она ОГРОМНАЯ =)

rual
limon_spb;bt117262

Прочитал несколько последних страниц. Спасибо =)
Но остаются вопросы: какую математику используете? Старые-добрые ПИДы или что-то другое? Какая частота получается обработки датчиков и частота обновления скорости моторов? Как вообще тестируете все 😃 Уж очень долго всю тему читать, она ОГРОМНАЯ =)

использую кватернионы и пиды. Частота обновления для F3Discovery 400Гц, для F4BY 250Гц, ШИМ моторов 400гц.

SergDoc

Для F4BY осталось несколько плат V2.1.2 - если кто-то желает самостоятельно собрать контроллер… в git полный HAL арду 3.2 и 3.1.5 github.com/SergDoc/ardupilot
обсудить моменты, а так же взять новый бутлоадер можно тут www.megapirateng.com/forum/viewtopic.php?f=10&t=6 или из гит и скомпилировать самому…

SergDoc

Стабильные прошивки находятся здесь: www.megapirateng.com/forum/viewtopic.php?f=10&p=43…
Прошивки заливаются через планнер…
Решено:
переключение входов

  • без перемычек работают 8 параллельных
  • перемычка 1-2 - dsm(spectrum sat) на 4-м входе
  • перемычка 2-3 - ppm-summ на 4-м входе
  • перемычка 3-4 - s.bus на входе s.bus
    отдельное спасибо strizhmax и rual
    испралена куча багоглюков strizhmax
    поддержка как m25p16, так и FM25V01, работает и с той, и с той (автоопределение) strizhmax
    перечень можно продолжать…
    из проблем - не работает калибровка ESC - надо полностью переделывать работу шим…
    в планах - создание одной прошивки для всех видов коптеров…
SergDoc

Исходники переехали в GIT MegaPiratNG!!!

SergDoc

Добавлена поддержка в MegaPirateNG FlashTool
теперь можно прошиваться как планнером так и прямо с сервера MegaPirateNG!

alexeykozin

приветствую.
респект и уважуха автору и соавторам!

по поиску F4BY гугл первым выдает сайт www.megapirateng.com/forum/viewtopic.php?f=10&t=10
там пост
Re: F4BY Pre-order

by SergDoc » 06 Jun 2014 11:58
Project alive!
all to be here:
github.com/SergDoc/ardupilot
github.com/SergDoc/PX4Firmware
github.com/SergDoc/PX4NuttX
we have a full HAL + own improvements, which are not in Ardu …
Controllers will soon!
as the party limited and controllers will be collected by hand, the price is quite high 90 - 100 $
hope in the future for a price reduction…
Thank you for your patience and understanding!
кстати все сылки битые. но это пофиг.

интерсно вот что
we have a full HAL + own improvements, which are not in Ardu …
собственно вопрос: где почитать какие улучшения.

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

SergDoc

Ссылки не битые, я удалил из своего гит всё, всё переехало сюда github.com/MegaPirateNG
улучшения: мало того что всё в одном проце, но и у нас 8 входов при чём переключаемых как ppm, ppmsumm, dsm, s.bus, могут работать как выходы. Отдельный порт на fr sky поддерживает как стандартную телеметрию так и s.port…
на новых платах v2.1.2 уже резисторные сборки, просто v2 собиралась для тестов в основном так что, там удобней отдельные было, барометры ставил какие были, кстати когда собирал 3 платы - как то наоборот получалось - в пластике баро вёл себя лучше, у меня вообще с ними приключения были, хорошо запас был, несколько оказалось нерабочих - снимал со старых своих поделок)))

alexeykozin

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

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

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

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

SergDoc

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

я по дурости (только появилась - Макс смержил, там куча багов была) в версии 3.3 летал с включенным EKF в гибридном режиме, так вот высоту держал, а положение нет, как буд-то в стабе летал…
по поводу ПО - у нас свой HAL и всегда можно мержиться с арду, конечно ещё куча недоделок своих, но к арду они отношения не имеют он неизменен… т.е. всегда можно обновляться и идти в ногу с ними, а если бы они согласились, то ф4бы можно было бы добавить прямо к ним в гит…
по поводу что удалил из своего гит - я занимался родной PX4 фирмвариной и оно никак не хотело ложиться рядом с арду…

alexeykozin

а вы предлагали?
у них ведь несколько плат уже в проекте
если что то мне кажется нужно поговорить с Рэнди

хотя тут тоже палка о двух концах если с ними соединится - то и основной проект станет тяжелее и в случае багов в основном проекте - автоматически унаследуете

по кальману а откуда 3.3 ? у них ведь пока 3.2 rc12dev

SergDoc

в мастере 3.3 была с конца августа, но они вечно перебрасывают туда что-нибудь, отследить сложно - найдут багу в 3.2 - бросают в мастер, устраняют - опять в мастере 3.3, Макс тут недавно плевался когда мержил…
#define THISFIRMWARE “ArduCopter V3.3-dev”
github.com/MegaPirateNG/…/ArduCopter.pde

github.com/diydrones/ardupilot/…/ArduCopter.pde

alexeykozin

Сергей, здравствуйте.
заказал у Гарпея и собрал контроллер,
прошивку взял из русского фака мегапират
www.megapirateng.com/forum/viewtopic.php?f=10&t=6#…
но прошивка похоже старая пост датирован апрелем.

шапака этой темы датирована также апрелем.
не подскажите где можно взять актуальные хексы под ардукоптер quaid?

зы: попробовал прошить флештулом под виндой икспи и семеркой не шьется
прошил из мишен планера

добавлено:
прошивку нашел, взял ее из подпапки флештул,
прошился из мишен планера, прошивка стартовала, через мавлинк конектится

SergDoc

В 3.2 Макс поправил багу с отображением в планнере батарейки, приятных полётов 😃

ttt01

А оптикфлоу сможете поддержку сделать? Вроде надежнее ЖПС должно быть на удержание.

alexeykozin

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

зы,
по жпс хорошо висит

ttt01

а как питать сию чудную плату? тем же модулем, что и АПМ ?
барометр закрывать так же?

rual

питать так же как и все остальные, через любой (все) пины выходов на регули. Любым беком или от регуля. С бариком всё так же.

SergDoc

про питание:
нужен внешний BEC не важно куда подключать лучше вместо BEC от регулей, тогда можно смело подключать импульсный параллельно с USB если же аналоговый, то можно куда угодно вообще…
по качеству самого питания, плате впринципе всё равно все устройства на самой плате запитаны с 3-х стабилизаторов 3.3В выдерживающих на входе до 16В, но увлекаться не советую - вся периферия (приёмник, gps…) запитана до стабилизаторов…

ttt01

То есть периферия будет питаться от вольтажа ВЕС?

SergDoc

да

SergDoc

Пошли слухи, что где-то ещё делают F4BY без моего ведома 😦
Я не зарабатываю на этом!!!, но и не желаю чужой грех на душу брать…
Так что, если кто-то задаёт вопросы по проблемам с платой, пожалуйста сначала говорите где взяли, если продавец (изготовитель) мне не знаком, извините - это ваши трудности…
Контроллеры можно заказать тут и тут, всё остальное от лукавого и без тех. поддержки…

ExIM

Получил вашу плату, общее впечатление о ней только положительное. Множество плюсов заметил в ней еще до подключения даже по USB.
На все вопросы получаю оперативную поддержку. Спасибо вам!

konstantin_sakryukin

Сообщение перенёс в другую тему.

DangerD

А напишите в чём отличие от того же pixracer? Ну кроме ppm encoder (pixracer - 60$)

max73

Здравствуйте,

подскажите, проект еще жив? а то последние сообщения 16-м годом идут

alexeykozin

здравствуйте

да, проект актуален
обсуждение и новости
forum.apmcopter.ru/forums/f4by/
rcopen.com/forum/f123/topic456525

Карлсунище

а подскажите, плата с логотипом yrrc идентифицируется как f4by, производителей найти не получается - вы, случаем, не имеете к ним отношения?