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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Батарея

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

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

#define BAT_LVL5….#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 

I_MOT_MAX – максимальный ток на каждый мотор в амперах.

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

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

VARIANT PWM SETTINGS

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

В этом разделе я оставил всё по умолчанию. Здесь можно поэкспериментировать с SPEED_COEFFICIENT (ускорение) и STEER_COEFFICIENT (руление). Больше коэффициент – сильнее эффект.

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

Файл прошивки :

Аппаратура PWM, напряжение батареи на момент прошивки 36,00 В и BAT_LVL1 320 BAT_DEAD 300

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



Присоединяйтесь к обсуждению!