Итоги года
Главный итог этого года — это, конечно, то, что образовательный курс из теоретической задумки стал реальным мероприятием, точнее двумя: проектная смена в «Роболагере» и Курс в 548 школе.
За год пользователи собрали несколько десятков дронов. Среди них первый Flix на бесколлекторных моторах, дрон с управлением по ESPNOW и на ESP32S3 с камерой. Сделан первый автономный полет. А еще возникла целая отдельная китайская версия на плате, у которой есть множество реальных пользователей и отдельное китайское сообщество.
Каким-то невероятным образом в последний день года на канале оказалось ровно 1999 подписчиков, ждем 2000-го! :)
Не успелось: версия на плате и задуманные главы учебника (сейчас опубликовано только 2 главы) — на этом я сконцентрируюсь в следующем году. А еще в следующем году я ожидаю новые мероприятия, нововведения, эксперименты — все это будет освещено в канале!
🎄 Всех с новым годом! 🎉
Главный итог этого года — это, конечно, то, что образовательный курс из теоретической задумки стал реальным мероприятием, точнее двумя: проектная смена в «Роболагере» и Курс в 548 школе.
За год пользователи собрали несколько десятков дронов. Среди них первый Flix на бесколлекторных моторах, дрон с управлением по ESPNOW и на ESP32S3 с камерой. Сделан первый автономный полет. А еще возникла целая отдельная китайская версия на плате, у которой есть множество реальных пользователей и отдельное китайское сообщество.
Каким-то невероятным образом в последний день года на канале оказалось ровно 1999 подписчиков, ждем 2000-го! :)
Не успелось: версия на плате и задуманные главы учебника (сейчас опубликовано только 2 главы) — на этом я сконцентрируюсь в следующем году. А еще в следующем году я ожидаю новые мероприятия, нововведения, эксперименты — все это будет освещено в канале!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤50🔥15👍13🏆11🎄3
Решил опубликовать промежуточный результат проектирования платы. Дорожки почти не рисовал, но распределил компоненты. Разъем для камеры все-таки вернул обратно (раз уж она работает!), будет совместно использовать почти все GPIO с гребенки.
Все рекомендовали 4-слойную плату. Вот я как их использовал:
🔹 Верхний слой: условно «сигнальный». ESP32, IMU (U5) очень близко центру + стабилизатор (U4), барометр (U6), индикатор питания (LED1) и RGB-светодиод (LED2), кнопка Boot, USB-C.
🔹 2-й слой: полностью земля — это общая рекомендация для большинства плат.
🔹 3-й слой: оставлен под питание 3.3V и сигналы.
🔹 Нижний слой: силовая часть. Buck-Boost (U3) и его обвязка (включая индуктивность L1) и силовые цепи моторов. Туда я же ставлю разъем для камеры CAM1 и его обвязку — на верхнюю сторону платы он не помещается.
Что думаете? Хотелось бы узнать ваши советы и комментарии перед тем, как продолжать! #pcb
Все рекомендовали 4-слойную плату. Вот я как их использовал:
Что думаете? Хотелось бы узнать ваши советы и комментарии перед тем, как продолжать! #pcb
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32❤3🔥3⚡2🏆1
Продолжаю улучшать UX: настройка Wi-Fi.
Пора добавлять в прошивку возможность настройки Wi-Fi через QGroundControl (сейчас конфигурируется только правкой кода). Конфигурация Wi-Fi включает в себя режим, а также имя сети (SSID) с паролем.
QGC позволяет менять числовые параметры, но SSID и пароль — это строки. И хотя в MAVLink есть Extended Parameter Protocol со строками, QGC его не поддерживает (что печально). Поэтому настройку я реализовал частично через параметры, частично через консоль.
Режим Wi-Fi выбирается параметром
🔹 0 — Wi-Fi отключен.
🔹 1 — режим точки доступа (AP), дефолт. Реквизиты настраиваются из консоли командой ap <ssid> <password>. Тут все как раньше, но с удобной настройкой.
🔹 2 — режим клиента (STA). Реквизиты роутера настраиваются командой sta <ssid> <password>.
🔹 3 — зарезервировано для будущей поддержки ESP-NOW.
Я протестировал полет в режиме клиента, и работает он не очень хорошо. Чувствуется какая-то стремная задержка в управлении — видимо, из-за ретрансляции пакетов через роутер. Кроме того, этот режим не особо применим для занятий в группе, так как в нем нет никакой защиты от управления чужим дроном. Можно реализовать аутентификацию по IP-адресу, но это ненадежно — IP-адрес легко подменить. В общем, режим не сверх-полезный.
Кстати, проблема с безопасностью существует и с ESP-NOW, и как именно ее лучше всего решить — я пока не придумал.
Также для удобства я добавил параметры линка:
🔹
🔹
🔹
Изменения находятся в ветке wifi-config. Протестируйте, кто хочет, и напишите, что думаете!
Пора добавлять в прошивку возможность настройки Wi-Fi через QGroundControl (сейчас конфигурируется только правкой кода). Конфигурация Wi-Fi включает в себя режим, а также имя сети (SSID) с паролем.
QGC позволяет менять числовые параметры, но SSID и пароль — это строки. И хотя в MAVLink есть Extended Parameter Protocol со строками, QGC его не поддерживает (что печально). Поэтому настройку я реализовал частично через параметры, частично через консоль.
Режим Wi-Fi выбирается параметром
WIFI_MODE со следующими значениями:Я протестировал полет в режиме клиента, и работает он не очень хорошо. Чувствуется какая-то стремная задержка в управлении — видимо, из-за ретрансляции пакетов через роутер. Кроме того, этот режим не особо применим для занятий в группе, так как в нем нет никакой защиты от управления чужим дроном. Можно реализовать аутентификацию по IP-адресу, но это ненадежно — IP-адрес легко подменить. В общем, режим не сверх-полезный.
Кстати, проблема с безопасностью существует и с ESP-NOW, и как именно ее лучше всего решить — я пока не придумал.
Также для удобства я добавил параметры линка:
MAV_SYS_ID — MAVLink ID дрона. В одной сети может быть несколько дронов с разными ID, и QGC это поддерживает. Может быть полезно для каких-то роевых полетов и тому подобного.MAV_RATE_SLOW, MAV_RATE_FAST — частота «медленной» (heartbeat'ы) и «быстрой» телеметрии. Можно сделать отображение ориентации в QGC более плавным при необходимости. По умолчанию стоит 2 и 10 Гц соответственно.WIFI_LOC_PORT, WIFI_REM_PORT — выбор UDP-портов для MAVLink (14550 по умолчанию).Изменения находятся в ветке wifi-config. Протестируйте, кто хочет, и напишите, что думаете!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥9❤1🦄1
Media is too big
VIEW IN TELEGRAM
Насыпал еще параметров — теперь для конфигурации ШИМ моторов.
Коллекторные моторы управляются ШИМом, и у него есть два основных параметра: частота (Гц) и разрешение (в битах). Я добавил соответствующие параметры для настройки «на лету» через QGroundControl: MOT_PWM_FREQ и MOT_PWM_RES.
По идее, чем больше эта частота и разрешение, тем лучше (причем частота влияет не только на стабильность полета, но и на громкость работы моторов). Хотя на практике все может быть сложнее.
Я протестировал полет на разных конфигурациях ШИМ, начиная с заведомо нерабочих. Результат — на видео. После 2 000 Гц в стабильности полета разницы не очень заметно, но вот громкость действительно уменьшается с каждым увеличением частоты.
Также я добавил параметры для более легкого подключения бесколлекторных моторов. Теперь достаточно поменять MOT_PWM_STOP, MOT_PWM_MIN и MOT_PWM_MAX. По умолчанию MOT_PWM_MAX равен -1, что означает управление через duty cycle (для коллекторных моторов).
Ну а чтобы было совсем красиво, номера пинов тоже стали параметрами: MOTOR_PIN_FL, MOTOR_PIN_FR, MOTOR_PIN_RL, MOTOR_PIN_RR. Можно менять прямо на ходу, без правки кода и перезагрузки.
Коллекторные моторы управляются ШИМом, и у него есть два основных параметра: частота (Гц) и разрешение (в битах). Я добавил соответствующие параметры для настройки «на лету» через QGroundControl: MOT_PWM_FREQ и MOT_PWM_RES.
По идее, чем больше эта частота и разрешение, тем лучше (причем частота влияет не только на стабильность полета, но и на громкость работы моторов). Хотя на практике все может быть сложнее.
Я протестировал полет на разных конфигурациях ШИМ, начиная с заведомо нерабочих. Результат — на видео. После 2 000 Гц в стабильности полета разницы не очень заметно, но вот громкость действительно уменьшается с каждым увеличением частоты.
Также я добавил параметры для более легкого подключения бесколлекторных моторов. Теперь достаточно поменять MOT_PWM_STOP, MOT_PWM_MIN и MOT_PWM_MAX. По умолчанию MOT_PWM_MAX равен -1, что означает управление через duty cycle (для коллекторных моторов).
Ну а чтобы было совсем красиво, номера пинов тоже стали параметрами: MOTOR_PIN_FL, MOTOR_PIN_FR, MOTOR_PIN_RL, MOTOR_PIN_RR. Можно менять прямо на ходу, без правки кода и перезагрузки.
👍29❤6🔥5😁2🏆2🦄1
Наконец-то развел плату!
Удалось ужать ее до 36x36 мм (было 40x40). Поменял транзисторы на более компактные AON7524 в DFN-корпусе. IMU заменена на ICM-40609-D (типа версия специально для дронов).
Перепробовал много разных компоновок выходных пинов, остановился на такой. В итоге выведено I2C, SPI, 9 GPIO (правда, только 4 не задействованы камерой).
Постарался зонировать, по-крайней мере не пересекать DC-DC блок и чувствительные компоненты.
Осталось окончательно доделать и буду заказывать. А где и как вы заказываете печатные платы?
Удалось ужать ее до 36x36 мм (было 40x40). Поменял транзисторы на более компактные AON7524 в DFN-корпусе. IMU заменена на ICM-40609-D (типа версия специально для дронов).
Перепробовал много разных компоновок выходных пинов, остановился на такой. В итоге выведено I2C, SPI, 9 GPIO (правда, только 4 не задействованы камерой).
Постарался зонировать, по-крайней мере не пересекать DC-DC блок и чувствительные компоненты.
Осталось окончательно доделать и буду заказывать. А где и как вы заказываете печатные платы?
🔥46👍11🎉5❤3🍾1
Новые сборки
Пока я вожусь с платой, подписчики из самых разных уголков мира собрали еще несколько интересных дронов с моей прошивкой.
▶️ Первый дрон авторства @goldarte из Красногорска. Он был собран довольно давно, но видео прикольное, поэтому решил выложить. Артур — мой бывший коллега по COEX. Обещал прикрутить к Flix MoCap-систему собственной разработки, но пока что-то так и не прикрутил. Так что просто хороший дрон.
▶️ Второй — еще один рабочий дрон с моей прошивкой на кастомной печатной плате! Плату разработал и собрал подписчик из Крыма.
▶️ Еще один дрон от пользователя из Жарни, Франция. Полностью кастомная рама, выложена здесь: https://cults3d.com/en/3d-model/gadget/armature-pour-flix-drone.
▶️ И еще один был сделан в Университете Квинсленда, Австралия, в качестве магистерского дипломного проекта студента под кураторством @arkymatsekh. Студенту понравилось.
Все дроны летают (хотя бы как-то). Это обязательно условие для размещения в официальном реестре сборок Flix. #user
Пока я вожусь с платой, подписчики из самых разных уголков мира собрали еще несколько интересных дронов с моей прошивкой.
▶️ Первый дрон авторства @goldarte из Красногорска. Он был собран довольно давно, но видео прикольное, поэтому решил выложить. Артур — мой бывший коллега по COEX. Обещал прикрутить к Flix MoCap-систему собственной разработки, но пока что-то так и не прикрутил. Так что просто хороший дрон.
▶️ Второй — еще один рабочий дрон с моей прошивкой на кастомной печатной плате! Плату разработал и собрал подписчик из Крыма.
▶️ Еще один дрон от пользователя из Жарни, Франция. Полностью кастомная рама, выложена здесь: https://cults3d.com/en/3d-model/gadget/armature-pour-flix-drone.
▶️ И еще один был сделан в Университете Квинсленда, Австралия, в качестве магистерского дипломного проекта студента под кураторством @arkymatsekh. Студенту понравилось.
Все дроны летают (хотя бы как-то). Это обязательно условие для размещения в официальном реестре сборок Flix. #user
👍26🔥7❤4👏3
✅ Плата Flix заказана. На JLCPCB.
Доделал некоторые изменения по мотивам ваших комментариев: добавил teardrops, поменял настройки thermal relief, местами увеличил полигоны и добавил больше via на землю. Теперь что-то еще поменять можно будет только в следующей итерации!
Доставка платы будет сложная, через форвардера, но надеюсь, что все пройдет гладко.
Доделал некоторые изменения по мотивам ваших комментариев: добавил teardrops, поменял настройки thermal relief, местами увеличил полигоны и добавил больше via на землю. Теперь что-то еще поменять можно будет только в следующей итерации!
Доставка платы будет сложная, через форвардера, но надеюсь, что все пройдет гладко.
🔥43👍13🎉4🍾2
Про вайб-кодинг
В некоторых своих неважных проектах я уже довольно активно применяю вайб-кодинг. Но в Flix я с самого начала принципиально решил его не использовать. Разве что только в каких-то периферийных утилитах, не в ядре. Каждая строчка кода продумана и осознанна моим собственным, неэффективным, естественным интеллектом.
И я подумал, что может быть полезным ввести какой-то стандартный знак, иконку, плашку или что-то подобное для проектов, которые используют такой же принцип. Например, плашка с надписью «No vibe code» или «No vibe code is used» со ссылкой на разъяснения причин такого решения.
Как вы думаете, нужно ли такое? А может такое уже есть?
В некоторых своих неважных проектах я уже довольно активно применяю вайб-кодинг. Но в Flix я с самого начала принципиально решил его не использовать. Разве что только в каких-то периферийных утилитах, не в ядре. Каждая строчка кода продумана и осознанна моим собственным, неэффективным, естественным интеллектом.
И я подумал, что может быть полезным ввести какой-то стандартный знак, иконку, плашку или что-то подобное для проектов, которые используют такой же принцип. Например, плашка с надписью «No vibe code» или «No vibe code is used» со ссылкой на разъяснения причин такого решения.
Как вы думаете, нужно ли такое? А может такое уже есть?
👍50❤11🔥6🤔2💯1