Прошивка гироскутера под радиоуправление

Всем привет! Продолжаем эксперименты с прошивкой гироскутера от EmanuelFeru. Прошивка платы гироскутера под радиоуправление это ещё один способ заставить его шевелить своими моторами, на этот раз дистанционно, с пульта управления. Если Вы ещё ничего не знаете о прошивке, посетите страницу прошивка гироскутера под ручку газа. В начале той статьи рассказано какие платы подходят для такой прошивки, какое ПО потребуется установить на компьютер, какой будет нужен программатор и собственно сам процесс заливки прошивки.

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

радиоуправление гироскутер

В экспериментах использован пульт (передатчик) и приёмник для радиоуправляемых моделей с протоколом сигналов на выходах приемника PWM (ШИМ).

Прошивка также поддерживает протоколы PPM и iBUS.

Бюджетная аппаратура FLYSKY FS-i6 с различными приемниками под PWM, PPM, iBUS с доставкой из Китая / быстрая доставка из РФ.

Для управления гироплатой понадобится два канала приемника. Первый для движения вперед/назад и второй для рулевого управления влево/вправо. Повороты осуществляются за счет вращения колес в противоположные стороны, либо разной скорости вращения в одном направлении.

Я использовал каналы правого джойстика, так как при отпускании он автоматически возвращается в центральное положение, в котором моторы неподвижны.

Подготовка платы

Для протокола iBUS схема подключения есть в репрозитории автора исходника в разделе Wiki.

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

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

Питание приемника 5 вольт можно взять от выводов на датчики Холла для моторов. Максимальный ток с преобразователя 5В ограничен 100 мА, включая питание самих Холлов. Для приемника этого хватает, так как его потребление невелико и обычно составляет не более 50 мА. Если собираетесь использовать оставшиеся каналы приемника для дополнительных устройств, придется для питания применить отдельный понижающий стабилизатор на 5В. В этом случае плюсовой вывод приемника с платой не соединяем.

Подключение программатора и процесс прошивки описан в предыдущей статье.

Настройка прошивки

Вариант радиоуправления

Для радиоуправления по протоколу PWM в platformio.ini необходимо раскомментировать (убрать в начале знак “;“) строку default_envs = VARIANT_PWM. Если у Вас приемник с протоколами PPM или iBUS, соответственно проделываем это для своего варианта.

Остальные настройки производятся разделе Incconfig.h.

Батарея

Измеряем вольтметром и указываем текущее напряжение батареи в строке #define BAT_CALIB_REAL_VOLTAGE (у меня указано напряжение 35,88 В). Это избавит от преждевременного отключения контроллера при разряде батареи. А также от несвоевременных предупреждающих звуковых сигналов о её напряжении.

#define BAT_CELLS – указываем количество (S) ячеек батарее. Гироскутерная стандартная батарея 10S 2P.

#define BAT_LVL3….#define BAT_LVL1 – записываем напряжение на одной S ячейке батареи, при котором будет подаваться соответствующий звуковой сигнал. Если не нужна такая индикация, записываем заведомо меньшее напряжение, или отключаем индикацию в строках #define BAT_LVL2_ENABLE и #define BAT_LVL1_ENABLE, записав в них 0. Я оставил только #define BAT_LVL1_ENABLE при напряжении 31,0 В на батарее.

#define BAT_DEAD – напряжение при котором контроллер принудительно отключится. В примере это 30,0 В.

Раздел MOTOR CONTROL

#define CTRL_TYP_SEL – доступно три варианта:

  • COM_CTRL
  • SIN_CTRL
  • FOC_CTRL

#define CTRL_MOD_REQ – в сочетании с SIN_CTRL возможен вариант VLT_MODE (управление напряжением)   – не проверял его

в сочетании с  FOC_CTRL возможны:

  • VLT_MODE (управление напряжением) Без явного свободного наката, но и без режима удержания на месте.
  • SPD_MODE (управление оборотами) Отклонением стика задаем нужную скорость, пока он ее не достигнет, в моторы подается максимальный ток. Наката нет от слова совсем, режим удержания на месте в нейтральном положении стиков.
  • TRQ_MODE (управление током) Очень мягкий старт. Отклонением стика задаем подаваемый в моторы ток, при этом скорость сильно будет зависеть от приложенной нагрузки. Накат есть, но можно убрать активировав функцию ELECTRIC_BRAKE_ENABLE 

Я использовал FOC_CTRL + SPD_MODE для своей тележки.

I_MOT_MAX – максимальный ток на каждый мотор в амперах (чем больше ток, тем сильнее тяга).

I_DC_MAX – максимальный ток на каждый мотор при котором срабатывает защита от превышения, рекомендуется устанавливать на 2А больше I_MOT_MAX , но если при максимальной нагрузке моторы пищат, то увеличиваем на 1 пока не уйдет писк.

N_MOT_MAX – ограничение максимальных оборотов двигателей в об/мин.

VARIANT PWM SETTINGS

  • если радиоаппаратура с протоколом PPM или iBUS, смотрите разделы настройки для этих вариантов соответственно

В этом разделе я оставил всё по умолчанию. Здесь можно поэкспериментировать с STEER_COEFFICIENT (руление). Среднее значение этого коэффициента 16384. При этом максимальные обороты (режим FOC_CTRL + SPD_MODE ) при развороте совпадают с максимальными оборотами при движении вперед – назад. Чтобы их уменьшить – уменьшите коэффициент.

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

Файл прошивки на случай трудностей при самостоятельной сборке (для проверки) :

Не забывайте привязать приемник к пульту !

Звуковые информирующие и сигналы ошибок контроллера

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

Дополнения к статье

Подключение двух конторллеров гироскутера к одному приемнику

платформа радиоуправляемая тележка полный привод

Способ для радиоаппаратуры без функции микшера вынесен в отдельную статью “Подключение двух конторллеров гироскутера к одному приемнику“.

Дополнительное управление с проводного джойстика

К левому уарту можно дополнительно подключить проводной джойстик. Чтобы получить возможность управления с него, в файле config.h необходимо активировать строку #define DUAL_INPUTS, убрав // в начале.

При этом, при отсутствии сигнала с приемника (например потеря связи с пультом) будет работать управление с проводного джойстика.

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

При потере связи с пультом моторы неконтролируемо вращаются

Если Вы наблюдаете неконтролируемое поведение моторов при потере связи приемника с пультом управления. Также, если управление двойное (с радиоаппаратуры на правом уарте и с проводного джойстика на левом уарте), но контроллер не переходит на запасное управление и неконтролируемо вращает моторы.

Это может быть вызвано включенной на приемнике функцией ФЕЙЛ-СЕЙФ (FAIL-SAFE). Назначение этой функции (в зависимости от настроек) – выдавать какой либо сигнал на каком либо выходе приемника при потере связи с пультом управления. В аварийной ситуации, например при потере связи на модели вертолета, его винт не остановится а понизит обороты для плавной посадки, чтобы избежать резкого падения. Функция может быть уже включена на новой аппаратуре “из коробки”.

По этой причине также невозможна активация дополнительного управления, так как сигнал с приемника всё же присутствует. Ищем мануал по своей аппаратуре и отключаем функцию.

Если очень хочется, поддержать автора можно тут 🙂



38 комментариев к “Прошивка гироскутера под радиоуправление”

  1. Алексей

    Добрый день!
    Мне нужно сделать тележку (на основе электрического самоката) радиоуправляемой для движения по рельсу или швеллеру?
    Тележка маленькая для перевозки грузов до 10 кг.
    Два поддерживающих колеса.
    Скорость до 35 км/ч.
    Радиосигнал до 50 п.м.
    Заряд до 6 ч. Быстрая смена аккумулятора.
    Движение на открытом воздухе и во все сезоны.
    Стоимость работы и материалов?

  2. Андрей

    Все сделано по схеме. В результате есть движение вперед всеми четырьмя колесами и поворот направо. Движения назад и левого поворота нет.
    что может быть не так?

  3. Всех с НГ! Спасибо за прошивку. Работает нормально. Но. Слишком маленькая скорость. В раздаче только .bin файл, config отсутствует. Что умного можете посоветовать?

Оставьте комментарий

Ваш адрес email не будет опубликован.