Betaflight geek
1.32K subscribers
139 photos
7 videos
39 files
175 links
Канал о новинках Betaflight, мирных дронах и других технических и IT-интересностях. Путиноидам и зетникам здесь не рады.
Download Telegram
Релиз edgetx - регулярный источник новостей о новых аппах😅
https://github.com/EdgeTX/edgetx/releases/tag/v2.12.2
😁53🙈2
Шумиха вокруг проблем со стабилизацией dji o4 продолжается. Flywoo даже начали перепаивать гироскопы на старые - сумасшедшая затея)
Тем временем Dji опубликовали характеристики o4 wide юнита, который подозрительно похож на флайвушный же мод. Мне кажется история с dji caddx vista повторяется?)
Основные отличия:
159 градусов FOV против 117 и 155 у старого и про юнитов.
13.3 грамма - достаточно тяжелый для 65 вупов.
Впрочем, в 65 размере и со старым весом в 8.2 грамма было тяжеловато.
😁3👍1😢1
Таки случился релиз кандидат Betaflight 2026.06, очевидно, стабильный релиз в июне уже не произойдет, но формально, в сроки уложились😁
Ключевым (хоть и не самым важным с моей точки зрения) изменением я бы назвал появление автопилота и полета по точкам. Это первый релиз данного функционала, настоятельно рекомендуется пробовать его только в симуляции! На самом деле движение в эту сторону началось еще в прошлых релизах и будет вектором развития прошивки в ближайшем будущем: новые режимы, датчики, расширение мавлинк телеметрии.

Также хочу отметить редизайн конфигуратора, если изменений недостаточно - это значит я не все свои идеи смог протолкнуть к реализации😅
Полный список изменений, можно изучить на сайте:
https://betaflight.com/docs/wiki/release/Betaflight-2026-6-Release-Notes
ладно, никто же не читает релиз ноутсы?)
- Конфигуратор снова можно скачать и установить
https://downloads.betaflight.com/
- Теперь в экосистеме бетафлайт есть новый проект.
Бридж позволяет добавить подключение через вайфай на любой полетник. А еще - можно интегрировать портативный веб конфигуратор (как в елрс). Это было моим шуточным предложением, но, кажется, его уже минимально реализовали.
116😁4👏3
В одном из постов вскользь (жуть, какое странное слово😂) упомянул о написании прошивки. 10к лайков пост не собрал, но просмотров оказалось заметно больше, чем в среднем.

Пробуем раскрыть тему, надеюсь, будет интересно. Кране приветствуется обратная связь в любом проявлении: реакции, репосты, вопросы и советы в комментариях.

ТЗ: максимально просто, без программистских изощрений (я такое и не умею), написать прошивку дрона, чтобы было понятно, что там происходит. Я не ставлю целью создать летающую прошивку, но если оно полетит, будет весело :)

Вдохновляемся своими знаниями, репозиториями Betaflight и Flix, ну и куда же без Claude.

Arduino - просто потому что🙃

Контроллер - любой из семейства ESP32: дешево, функционально, уже есть у меня под рукой.

И сразу псевдокод с общей логикой нашей прошивки. Большая часть строк представляет собой простую конструкцию:
объект.действие();
результат = объект.действие(параметры);

настройка() {
//этот блок выполнится один раз при подаче питания
гироскоп.инициализировать();
гироскоп.калибровать();
приемник.инициализировать();
моторы.инициализировать();
}

цикл() {
//будет выполняться бесконечно до тепловой смерти вселенной
данные_гироскопа = гироскоп.измерить();
сетпоинт = приемник.получить_данные();
результат_ПИД = стабилизатор.рассчитать_ПИДы(сетпоинт, данные_гироскопа);
команды_для_ESC = микшер.рассчитать_для_Х_коптера(приемник.газ, результат_ПИД);
моторы.отправить(команды_для_ESC);
ждем_окончания_цикла();
}


И вот так это выглядит в коде:

void setup() {
imu.init();
imu.calibrate();
receiver.init();
motors.init();
}

void loop() {
gyro = imu.getGyro();

setpoints = receiver.getChannels();

pidOutputs = stabilizer.computePIDs(setpoints, gyro);
motorCommands = mixer.mixQuadX(receiver.getThrottle(), pidOutputs);

motors.spin(motorCommands);
waitForNextLoop();
}

#GeekFirmware
51👍21🔥8😁2
Релиз кандидат elrs 4.1
Немного багфиксов и начальная поддержка нового поколения semtech lr2021 чипов, а это значит - новые продукты от производителей на горизонте. Вы давно обновляли свою аппу?😅
https://github.com/ExpressLRS/ExpressLRS/releases/tag/4.1.0-RC1
👍6
Пост с логикой пока не сильно зашел, надеюсь, наберет просмотров на большой дистанции. А пока решено рассказать про "железо". Итак, представляю вам мой подопытный квад:
- esp32-s3-tiny (имеет съемный юсб и позволяет сэкономить несколько грамм)
- mpu6050 - (самый дешевый imu c spi подключением, что я смог найти)
- коллекторные 8520 моторы
- 65-75мм пропы
- 1s esc на 10 ампер (плата разламывается на 4 отдельных рега)

Можно ли было взять обычный стек от fpv коптера? Вполне, но это скучно😎
Почему коллекторные моторы? Ответ простой: когда я в прошлый раз игрался с написанием своей полетной прошивки - я сжег с десяток моторов и регов просто отлаживая ПИДы и Фильтры. Коллекторник же можно напрямую подключить к батарее, зажать руками вал и получить лишь постепенный нагрев. Случайно сжечь его неправильной настройкой фильтров, скорее всего, невозможно.
#GeekFirmware
🔥16👍5😁3
Что такое таргет?
По сути таргет - это файл, в котором заранее написано, к какой ноге контроллера (MCU) подключен тот или иной контакт на вашем полетнике и какую функцию он выполняет.
Подробнее:

Все контакты интерфейсов на полетнике (то есть UART, I2C, все, кроме питания) уходят напрямую в MCU.

Представьте, что вам пришлось бы высматривать, на какую ногу контроллера уходит дорожка от контакта. После этого искать в технической документации (даташит) название этой ноги, и только потом в конфигурации вы бы смогли указать, что туда подключен RX контакт от вашего GPS. А потом еще повторить эту же процедуру для TX и всех остальных устройств, включая встроенные: барометр, IMU, пины моторов, датчики тока и напряжения.

Чтобы избавить пользователя от этой работы и существует таргет.

У плат ESP32 есть несколько преимуществ, облегчающих создание таргета:

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

Нам нужно лишь выбрать удобные по расположению пины и присвоить этот номер переменным для удобства использования внутри кода. Например, я решил подключить ESC к пинам 1, 5, 14, 18. По схеме я вижу, что для этих пинов доступна функция PWM, которым мы будем управлять моторами.

Записываем:
мотор_1_пин = 5
мотор_2_пин = 1
мотор_3_пин = 14
мотор_4_пин = 18

И вот так выглядит код файла target.h:

#pragma once
#include <Arduino.h>

constexpr uint8_t MOTOR_1_PIN = 5;
constexpr uint8_t MOTOR_2_PIN = 1;
constexpr uint8_t MOTOR_3_PIN = 14;
constexpr uint8_t MOTOR_4_PIN = 18;


#GeekFirmware
👍25🔥82👏1😁1
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥21👍65🤔4
Тут на реддите запостили in-fligh автотюн.
Первая реакция - почему без ссылки на пулл реквест? Но, посмотрев профиль автора, понял, что я бы тоже не стал публиковать код. Хотя, кто знает...
В общем то, сам механизм понятен и лишь вопрос времени и усилий для его реализации, изобретать велосипед не нужно)
За наводку спасибо @ivan_antonyuck
https://www.reddit.com/r/fpv/comments/1v87hj1/built_an_inflight_pid_autotune_for_betaflight/
👍7
С первым или с тридцатым июня вас всех! Примерно эта дата на дворе по версии всеми любимых разработчиков Betaflight, ведь сегодня состоялся релиз версии 26.6.1🙃

Краткий обзор изменений, за которые зацепился глаз. начну с самого очевидного: конфигуратор получил очень много изменений по дизайну. Некоторые из них я продвигал годами(боковая панель на всю ширину экрана), парочку сделал сам (кто-то обязательно будет меня материть за это😅). Далеко от идеала, но многое стало сильно удобнее.

Изменения бетафлайт для истинных ценителей:
- GPS rescue на базе алгоритмов оценки положения. По сути, основной алгоритм целиком заменен на более продвинутый (на самом деле этот переход был сделан еще год назад, но автора завалило делами и функция не вошла в прошлые релизы)
- Переключаемые профили батарей - многие просили, пользуйтесь.
- Биквад фильтр заменен на SVF. По сути, он математически более стабилен и проще вычисляется (экономия - целый 1% нагрузки и памяти на f411 процессоре🙈) Тут не стоит путать с лоупасс биквадом, данные изменения затронут также все нотч фильтры. Преимущество SVF в том, что при динамическом изменении частоты среза он менее склонен к "дребезгу" на переходных процессах чем biquad. Что позволят использовать более высокие значения Q для рпм и динамик нотча. Рейтинг изменения: 10 по критерию гиковость, 3 по заметности для среднестатистического пилота).
- Более точная формула линеаризации тяги - крошечный эффект, но математически он есть, кто почувствует?
- Ряд изменений на ускорение математики, углубляться не буду, но все квады теперь полетят идеально - 10 гиков из 10.
- Удален absolute control, integrated yaw на подходе. Кто дочитал до сюда и использует эти функции - кто ты, воин? Отметься в комментариях🧐

А теперь странное автономное:
- Автономные режимы полета (пока рекомендованы только в симуляции)
- Удержание позиции и высоты было переработано. Закономерно, практически все новые функции претерпевают серьезные изменения в последующие 2-3 релиза.
- Существенно расширена поддержка Mavlink и планируется продолжать работу в этом направлении. Можете поиграться с QGroundControl
- Поддержка CAN устройств. Многие не автомобилисты знают, что это такое?)
- Все параметры можно получить и изменить по MSP. Это немного упрощает жизнь и расширяет возможности: не надо заходить в CLI режим для применения бекапа, можно легче цеплять сторонние конфигураторы.

Внимание! Часть параметров переименована или вовсе удалена - внимательно загружайте свои дифы!

полный список изменений на офф сайте:
https://betaflight.com/docs/wiki/release/Betaflight-2026-6-Release-Notes
👍16🔥64👌1
BTFL_BLACKBOX_LOG_20260803_204504_AXISFLYINGF7AIO.bbl
11 MB
Log-ическая головоломка: что интересного видите на скринах?😎
Честно говоря, до этого лога я практически похоронил noise vs throttle графики.
#logика
🤓3🔥21🤯1
Правильный ответ таки прозвучал в комментах https://t.me/propwashservice/32967
Чуть более формализованый разбор:
В этом логе на первый взгляд бросается в глаза наличие больше 3-х гармоник. Не сказать, что это редкое явление, но крайне нетипично для трех лопастей. Потом мое внимание привлекло то, что "вторая" гармоника ярче "первой", хотя обычно на трех лопастях вторая гармоника наименее выражена. Сверившись с реальными rpm значениями, я понял, что у этого квада передние и задние моторы имеют значительное расхождение по оборотам, что и приводит к "задваиванию" всех гармоник.
Т.е. больше трех гармоник это не 1-2-3-4 итд суммарные гармоники всех моторов, а первая гармоника передних моторов (зеленая линия) и первая гармоника задних (синяя). Ну а дальше по стандартному правилу гармоник - кратно изначальной частоте идут вторые и последующие.

Что интересно - это вполне обычный синевуп на 35 раме с поперечной батареей и без гопро - явных причин для такого различия в оборотах нет. Думаю, 5 лопастей покажут себя лучше на данном сетапе.
#logика
👏4🤯4🔥3
Какую сумму в $ вы были бы готовы потратить (считаете разумной) за профессиональную настройку вашего дрона?
Anonymous Poll
28%
10-30
19%
30-60
3%
60-90
5%
90+
42%
Не готов тратить деньги /настраиваю самостоятельно
26%
Посмотреть результаты