Разработка RC-машинки с BLDC. Подход с нуля

в 8:17, , рубрики: 3D-печать, BLDC, embedded, RC, stm32
Разработка RC-машинки с BLDC. Подход с нуля - 1

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

Будет описан мой пройденный путь: от печати готового проекта до разработки и печати новой платформы; от разработки первой версии печатной платы для использования коллекторного DC мотора до реализации управления бесколлекторным BLDC мотором с датчиками холла; от локального управления до реализации полудуплексного обмена данными на расстояние в сотни метров с передачей телеметрии.

Вновь потратил на разработку пару лет, но никуда не спешил. Это лишь мое хобби.

«Long story short…»

Разработка RC-машинки с BLDC. Подход с нуля - 2

На реализацию данного проекта меня подтолкнули видеоролики с 3D печатной платформой от Egor NiKO. Он начинал печатать проект OpenRC, а затем провел усиление конструкции и разработал вою модифицированную раму. С нее я начал долгие и интересные вечера 3D печати.

Печать готовой модели

У меня есть собранный принтер с большим столом. Склеил 3D модель рамы (в исходном варианте она из двух половинок) и отправил на печать. На первом этапе печатал почти весь конструктив из PETG пластика. Шел сентябрь 2023 года.

Разработка RC-машинки с BLDC. Подход с нуля - 3

Затем на печать отправились первые конструктивные элементы.

Разработка RC-машинки с BLDC. Подход с нуля - 4

Пока печатал конструктивные элементы, приехали первые запчасти (дифференциалы, приводы, амортизаторы, двигатель и сервопривод).

Разработка RC-машинки с BLDC. Подход с нуля - 5

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

Разработка RC-машинки с BLDC. Подход с нуля - 6

Первая тестовая сборка рамы с конструктивными элементами

Разработка RC-машинки с BLDC. Подход с нуля - 7

Покупка колес показалась мне не таким интересным решением, если их можно напечатать. Разработал 3D модель разборных колес Borbet-A. На фото тестовая примерка. Уже конец октября 2023 года.

Разработка RC-машинки с BLDC. Подход с нуля - 8

Тестовая проверка работоспособности механизма.

Разработка RC-машинки с BLDC. Подход с нуля - 9

Диски есть, а как же покрышки? Моделируем и печатаем из FLEX А75. Резину клеить не планировал, диски разборные, а фиксацию обеспечивают пазы и выступы.

Наружная стенка 2мм, заполнение 10%.

Разработка RC-машинки с BLDC. Подход с нуля - 10

Не стал заморачиваться с рисунком протектора и взял его из какой-то готовой модели из открытых источников.

Разработка RC-машинки с BLDC. Подход с нуля - 11

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

Разработка RC-машинки с BLDC. Подход с нуля - 12

Фото первой собранной шасси на колесах.

Разработка RC-машинки с BLDC. Подход с нуля - 13

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

Электроника

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

Разработка RC-машинки с BLDC. Подход с нуля - 14

Микроконтроллер решил взять STM32F103. У него есть встроенный аппаратный многоканальный ШИМ.

Начну с полумостов. Изначально я не предполагал, как и в какую конфигурацию разрастется мой макет, потому на плате появилось 4 полумоста. Да не просто полумосты, а полумосты без специализированных драйверов. Схему подсмотрел в дешевых контроллерах управления велоколесами. Дополнительно стянул управляющие сигналы к сигнальной земле, чтобы во время программирования не возникало «сквозняков».

На фото подписал два состояния комплиментарного переключения. Красным отмечены открытые, синим закрытые транзисторы. При разработке я допустил ошибку, на схеме отметил исправление. Ввиду того, что в схеме электровелосипеда оба управляющих сигнала полумоста подключены к одному источнику сигнала, то и полярность их совпадает. Разделил сигналы для возможности задания DeadTime во время переходных процессов.

Разработка RC-машинки с BLDC. Подход с нуля - 15

В схеме полумоста использованы два N-канальных полевых транзистора. Соответственно, чтобы открыть ключ верхнего плеча, необходимо на затворе обеспечить потенциал выше, чем напряжение питания. На данном этапе целевое напряжение питания схемы составляло 6.8-8.4 (В). И вместо установки готового повышающего преобразователя, поставил схему вольтодобавки. В качестве источника тактового сигнала выступил один из аппаратных таймеров микроконтроллера.

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

Разработка RC-машинки с BLDC. Подход с нуля - 16

«Летающий» конденсатор C200 является основным переносчиком заряда и удвоителем напряжения. С учетом всех падений напряжений на диодах, на конденсаторе C201 будет напряжение чуть меньше, чем двойное напряжение питания. Этот источник питания используется для работы полумостов.

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

С холлами проблем нет, а ловить переход через среднюю точку неактивной фазы (в 6-шаговом режиме управления) решил по такой схеме:

Разработка RC-машинки с BLDC. Подход с нуля - 17

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

Разработка RC-машинки с BLDC. Подход с нуля - 18

Для защиты от превышения по току был использован токовый датчик ASC712 и схема компарирования. Сигнал с выхода схемы подключен к аппаратному защитному входу таймера микроконтроллера. Также выход датчика тока подключен к АЦП микроконтроллера для возможности измерения потребляемого тока.

Разработка RC-машинки с BLDC. Подход с нуля - 19

Рулевое управление

Сервопривод рассчитан на 5В и потребляет большой ток. На плату установил достаточно мощный DC-DC понижающий преобразователь. Пока не заказал комплектующие, заложил возможность использовать adjustable версию.

Разработка RC-машинки с BLDC. Подход с нуля - 20

Телеметрия

У микроконтроллера почти не осталось свободных ног, по этой причине для измерения напряжений и температур, использовались 2 входа АЦП микроконтроллера, аналоговые линии подключены через мультиплексор CD74HC4052 и повторители.

Разработка RC-машинки с BLDC. Подход с нуля - 21

На первый взгляд смотрится не плохо, но как получить значение температуры? Необходимо использовать уравнение Стейнхарта-Харта, для которого вычислим коэффициенты A, B и C:

Разработка RC-машинки с BLDC. Подход с нуля - 22

На этапе тестирования верхние резисторы были заменены на 30кОм и были вычислены коэффициенты. Расчет получения значения температуры, в моем случае, получился следующим:

NTC_A = 0.001001056066;
NTC_B = 0.000236524661;
NTC_C = 0.000000225486;
NTC_UP_R = 30000;
ADC_max = 4095;
NTC_Ln = log((adc_raw * NTC_UP_R)/(ADC_max - adc_raw));
temp = (1/(NTC_A + NTC_B  NTC_Ln + NTC_C  NTC_Ln*NTC_Ln*NTC_Ln)) -   273.15;

Небольшие погрешности в 2-3 градуса для меня были не критичны, и я не проводил калибровку отдельных каналов. Резисторы использовал с погрешностью 1%.

Также на плату добавлены: акселерометр, гироскоп и компас (PS: не ставьте компас близко к мощному BLDC мотору)

Разработка RC-машинки с BLDC. Подход с нуля - 23

Для радиоуправления и получения телеметрии использовался приемопередатчик NRF24L01.

Плата спроектирована, заказана и пришла. Настало время пайки, в этом мне снова помогал самодельный микроскоп и паяльные станции.

Разработка RC-машинки с BLDC. Подход с нуля - 24

Тестовое включение, тест на волшебный дым пройден.

PS: на фото программатор из моей самой первой статьи.

Разработка RC-машинки с BLDC. Подход с нуля - 25

Цифровая часть запустилась, теперь необходимо организовать канал связи, но с чем?

Пульт дистанционного управления

Взял для теста два переменных резистора (которые на улице зимой подкинут проблем), микроконтроллер, экран и приемопередатчик.

Разработка RC-машинки с BLDC. Подход с нуля - 26

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

Каких-то несколько дней по вечерам и все заработало. Данные передаются в обе стороны. На дворе конец января 2024 года.

Разработка RC-машинки с BLDC. Подход с нуля - 27

Коллекторный мотор

Управление и телеметрия передаются, связь есть, сервопривод крутится, осталось разобраться как управлять коллекторным мотором.

Разработка RC-машинки с BLDC. Подход с нуля - 28

Включать на полную силу и менять направление вращения тоже не сложно. Необходимо просто открывать полностью противоположные ключи полумостов. На фото два варианта – обведенные сплошным цветом или штриховано.

Разработка RC-машинки с BLDC. Подход с нуля - 29
Разработка RC-машинки с BLDC. Подход с нуля - 30

Но когда нам необходимо регулировать мощность и скорость вращения, то необходимо использовать ШИМ. ШИМ – это постоянные переключения ключей и это самый «горячий» режим, ведь во время открытия/закрытия ключа кратно увеличивается сопротивление, а соответственно и нагрев.

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

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

Начал эксперименты с метода управления «Sign/Magnitude». В результате экспериментов выяснил, что с моим мотором транзистор (в котором в режиме холостого хода ШИМа используется диод) греется очень быстро. Невозможно использовать данный метод без дополнительного охлаждения.

Во всех случаях, когда у нас ток начинает течь через ограничительные диоды, транзисторы начинают сильно греться. Очень. Для управления коллекторным мотором я остановился на методе управления «фиксированная противофаза» (Lock anti-phase drive).

Суть заключается в том, что оба полумоста включены в одном из направлений 50% времени, а результирующее напряжение на промежутке времени большем, чем длительность периода ШИМ, будет равно 0.

Смещая скважность, мы получаем плавное управление результирующим напряжением со смещением направления.

Разработка RC-машинки с BLDC. Подход с нуля - 31

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

Разработка RC-машинки с BLDC. Подход с нуля - 32

Первый старт

Первый выезд в комнате с беспроводным управлением.

Разработка RC-машинки с BLDC. Подход с нуля - 33
Разработка RC-машинки с BLDC. Подход с нуля - 34

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

Разработка RC-машинки с BLDC. Подход с нуля - 35

Пульт управления в удобном виде

Далее настала пора пульта. По-быстрому накидал временное решение. На фоне лежит клавиатура из моей другой статьи, каждый день ей пользуюсь.

Разработка RC-машинки с BLDC. Подход с нуля - 36

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

Разработка RC-машинки с BLDC. Подход с нуля - 37

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

Разработка RC-машинки с BLDC. Подход с нуля - 38

В основе конструкции курков теперь неодимовые магниты и аналоговые датчики холла.

Опираясь на предыдущий опыт, ввел ограничение на максимальное и минимальное значение газа. Аналоговый датчик холла 49e НЕ выдает значение близкое к VCC или GND, можем считать выход за границы рабочего диапазона – обрывом и останавливать модель.

Разработка RC-машинки с BLDC. Подход с нуля - 39

Дополнительно запустил датчик акселерометра/гироскопа и передаю эти данные с телеметрией.

Разработка RC-машинки с BLDC. Подход с нуля - 40

Данные для связи

Для приема и передачи реализовал две структуры

typedef struct{
	uint16_t service;
	int16_t servo; //-1000 : 0 : 100	0
	int16_t engine; //-1000 : 0 : 1000
}RADIO_RX_Packet_t;

и

typedef struct{
	uint16_t service;
	int8_t Temperature_Bridge1; // 1 step
	int8_t Temperature_Bridge2; // 1 step
	int8_t Temperature_Bridge3; // 1 step
	int8_t Temperature_Bridge4; // 1 step
	int8_t Temperature_DC_DC;   // 1 step
	int8_t Temperature_Linear;  // 1 step
	int8_t Temperature_STM32;   // 1 step
	int8_t Temperature_MPU;     // 1 step
	
	uint16_t Voltage_Battery;    // mV
	uint16_t Voltage_Boost;      // mV
	uint16_t Voltage_STM32;      // mV
	uint16_t Current;            // mA
	uint16_t Speed_RPM;          // 10 step
	
	float AngleX;
	float AngleY;
}RADIO_TX_Packet_t;

Первый выезд на улице

Шел конец февраля 2024 года, модель поехала на улицу.

Разработка RC-машинки с BLDC. Подход с нуля - 41

Все работало исправно, не перегревалось, но нужно больше скорости. Коллекторный двигатель, который был использован, в моделях применяют с 3S аккумуляторами - 10.2-12.6 (В).

Деки под мои аккумуляторы, по длине, не хватает. Решаю выходить из ситуации креативно.

Разработка RC-машинки с BLDC. Подход с нуля - 42

Модель стала шустрее и теплее. Терморезисторы размещены на нижнем слое соответствующих блоков. И пошли помехи и наводки, акселерометр и гироскоп врут. Но пока не до них.

Разработка RC-машинки с BLDC. Подход с нуля - 43
Разработка RC-машинки с BLDC. Подход с нуля - 44

Ездить модель стала интересней

Разработка RC-машинки с BLDC. Подход с нуля - 45

Напечатал защитный быстросъемный кожух

Разработка RC-машинки с BLDC. Подход с нуля - 46

И там, где скорость, там и поломки

Разработка RC-машинки с BLDC. Подход с нуля - 47
Разработка RC-машинки с BLDC. Подход с нуля - 48

BLDC

На этом моменте заканчиваются игры с коллекторным мотором, он заменяется на бесколлекторный. Допаиваю третий полумост, начинаю пробовать работать с BLDC, а заодно усилил и перепечатал разбитые колесные диски

Разработка RC-машинки с BLDC. Подход с нуля - 49

Для работы с бесколлекторным мотором тоже использовал метод управления «Sign/Magnitude». В один момент времени включены только две фазы, во время холостого хода включен только один транзистор верхнего или нижнего плеча.

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

Объединить в единое целое систему связи, опрос телеметрии и управление бесколлекторным мотором, оказалось интересной задачей.

Я сделал несколько прерываний и разделил их по приоритетам:

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

  2. Следующий по приоритету – «таймер обрыва связи». Обработчик вызывается 100 раз в секунду. Если за время предыдущего счета был принят пакет, то счетчик сбрасывается, если нет – добавляет единичку. Если досчитали до 20, то отключаем мотор и останавливаем модель – связь прервалась.

  3. Следующий – «таймер оборотов». Обработчик вызывается 50 тысяч раз в секунду и считает число оборотов (да, не к тому выводу я подключил датчик, можно было бы аппаратно тикать таймер). Сейчас читаю код и не понимаю, почему просто не сделал прерывание по датчику.

  4. Следующий – прерывание по событию «пришли данные». Вывод IRQ микросхемы NRF24L01 подключен к данному входу. Срабатывание настроено на получение валидной посылки. В обработчике происходит чтение данных

  5. Последний (если не считать SysTick) - «таймер телеметрии». 50 раз в секунду обновляет данные с датчиков.

С бесколлекторным двигателем работа шла интересней, повысилась динамика и подвеска стала расходником. Рычаги не доживали до конца тестов. Смоделировал и напечатал новые «мягкие» рычаги из FLEX A75, дополнительно перенес крепления амортизаторов.

Разработка RC-машинки с BLDC. Подход с нуля - 50

Немного примеров тестов

Разработка RC-машинки с BLDC. Подход с нуля - 51
Разработка RC-машинки с BLDC. Подход с нуля - 52
Разработка RC-машинки с BLDC. Подход с нуля - 53

Фото сверху

Разработка RC-машинки с BLDC. Подход с нуля - 54

Теперь ломаться стали другие элементы конструкции, но сильно реже.

Разработка RC-машинки с BLDC. Подход с нуля - 55

Замена приводной шестерни

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

Разработка RC-машинки с BLDC. Подход с нуля - 56
Разработка RC-машинки с BLDC. Подход с нуля - 57

Встреча RC-клуба

В таком виде съездили на встречу любителей RC моделей. На фотографии верхние рычаги перепечатаны из FLEX A95

Разработка RC-машинки с BLDC. Подход с нуля - 58
Разработка RC-машинки с BLDC. Подход с нуля - 59

Пульт показал себя не плохо, никаких изменений не вносил.

Разработка RC-машинки с BLDC. Подход с нуля - 60

Несмотря на защитный кожух, к августу 2024 года, со всеми мелкими доработками, плата выглядела следующим ужасным образом

Разработка RC-машинки с BLDC. Подход с нуля - 61

Промежуточный итог

На данной плате было много недочетов:

  • система волтодобавки, нужно сделать ее как нормальных контроллерах – на каждой фазе.

  • ограничение по напряжению. Сейчас это 3S, а хочется больше.

  • радиосвязь лучше сделать на модулях с усилителями. Сейчас дальность в пределах 100 метров.

  • конструкция шасси достаточно хрупкая, металлические привода выходят из строя чаще, чем ломаются пластиковые детали.

Вторая версия шасси

Выбрал компоненты от более крупных машинок и начал проектировать механику. Новые, более крупные, дифференциалы, толстые приводы. «Вес – это надежно».

Разработка RC-машинки с BLDC. Подход с нуля - 62
Разработка RC-машинки с BLDC. Подход с нуля - 63

К таким приводам и размерам шасси – новые колеса

Разработка RC-машинки с BLDC. Подход с нуля - 64
Разработка RC-машинки с BLDC. Подход с нуля - 65

И новый мотор. Теперь шестерня будет с модулем М1

Разработка RC-машинки с BLDC. Подход с нуля - 66

Вторая версия печатной платы

Разработка RC-машинки с BLDC. Подход с нуля - 67

Из важных изменений:

Теперь схема полумоста выглядит следующим образом. В качестве вольтодобавки выступает конденсатор C200. Когда отрыт нижний ключ VT207, конденсатор заряжается до напряжения V_IH. Когда открывается верхний ключ VT206, на его затвор приходит напряжение V_BAT+V_HI.

Разработка RC-машинки с BLDC. Подход с нуля - 68

Напряжение питания я предусмотрел до 24В, но на затворы нельзя подавать такое напряжение. Напряжения V_HI и V_LO реализовал настраиваемыми с помощью DC-DC понижающих преобразователей, а к входу FB подмешиваю напряжения с ЦАП микросхемы STM32. На второй версии платы использовал STM32G431CBU6.

Напряжение на выходе DC-DC теперь рассчитывается по формуле

                             ______
                  _---------<_VOUT_|
                 |R|
                 |1|
 _____     ____   |    ___________
|_DAC_>---|_R3_|--o---<_FB__DC-DC_|
                  |
                 |R|
                 |2|         _____
                   ---------<_GND_|

Vref = 0.6v
Vout = Vref * (1 + (R1/R2)) + (Vref - Vdac) * (R1/R3)
Разработка RC-машинки с BLDC. Подход с нуля - 69

На каждую фазу поставил по датчику тока, также датчик тока поставил на общую шину GND для контроля превышения максимального тока. В качестве шунтов использовал манганиновые резисторы сопротивлением 0.5 Ом.

Разработка RC-машинки с BLDC. Подход с нуля - 70

Измерение этих токов настроил автоматически через DMA по таймеру. Теперь микроконтроллер не отвлекается на это. Дополнительно хранятся измерения нескольких последних значений для программной фильтрации.

В микроконтроллере STM32G431 внедрили много интересных решений.

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

К положительному входу компаратора я подключил сигнал с датчика тока, а к отрицательному входу – встроенный ЦАП. Причем это подключение осуществляется внутренней конфигурацией. Теперь у меня на плате есть программная настройка порога защиты через ЦАП. До сих пор вдохновлен такими приятными решениями от STM.

Перенес топологию приемопередатчика с усилителем непосредственно на плату и накрыл защитным экраном.

Разработка RC-машинки с BLDC. Подход с нуля - 71

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

Разработка RC-машинки с BLDC. Подход с нуля - 72
Разработка RC-машинки с BLDC. Подход с нуля - 73

Фото готовой платы без радиатора. Ручная пайка, трафарет не заказывал.

Разработка RC-машинки с BLDC. Подход с нуля - 74
Разработка RC-машинки с BLDC. Подход с нуля - 75

Тест новой печатной платы

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

Разработка RC-машинки с BLDC. Подход с нуля - 76
Разработка RC-машинки с BLDC. Подход с нуля - 77

Особенности новой шасси

Разработал систему поворотных кулаков

Разработка RC-машинки с BLDC. Подход с нуля - 78

Напечатал из FLEX A75 пыльники на приводы.

Разработка RC-машинки с BLDC. Подход с нуля - 79

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

Разработка RC-машинки с BLDC. Подход с нуля - 80

Первый выезд

Поездка в квартире

Разработка RC-машинки с BLDC. Подход с нуля - 81

Прикрутил GPS модуль

Разработка RC-машинки с BLDC. Подход с нуля - 82

Выезд на улицу

Питание 4S (~16 В)

Разработка RC-машинки с BLDC. Подход с нуля - 83

N+1 й выезд на улицу

Разработка RC-машинки с BLDC. Подход с нуля - 84
Разработка RC-машинки с BLDC. Подход с нуля - 85

Выше скорость, больше поломок

Разработка RC-машинки с BLDC. Подход с нуля - 86

Пластиковая основа не выдерживает, заказал из карбона

Разработка RC-машинки с BLDC. Подход с нуля - 87

И перешел на 6S (~24 В). Скорость по GPS была около 45 км/ч. И в первом же тесте разбил переднюю часть рамы о бордюр, но все остальное выдержало, модель стала крепче.

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

Разработка RC-машинки с BLDC. Подход с нуля - 88

Новые покрышки и подвеска

Резина «шоссейная» оказалась слишком жесткой, моделирую и печатаю новую

Разработка RC-машинки с BLDC. Подход с нуля - 89

Увеличился дорожный просвет

Разработка RC-машинки с BLDC. Подход с нуля - 90

Подвеска заработала лучше

Разработка RC-машинки с BLDC. Подход с нуля - 91

Стал лезть в разные неожиданные места и возвращаться с добычей

Разработка RC-машинки с BLDC. Подход с нуля - 92
Разработка RC-машинки с BLDC. Подход с нуля - 93

Но черный PETG кончился, перепечатал всю резину в синий цвет, добавил спойлер, чтобы понимать где перед/зад автомобиля на расстоянии

Разработка RC-машинки с BLDC. Подход с нуля - 94

Максимальная скорость

Удалось достичь скорости в 59 км/ч по GPS. Есть запас выше, но на такой скорости слетают покрышки. На больших оборотах растягиваются.

Разработка RC-машинки с BLDC. Подход с нуля - 95

Резина мягкая

Разработка RC-машинки с BLDC. Подход с нуля - 96

Рычаги перепроектировал и напечатал из FLEX A95

Разработка RC-машинки с BLDC. Подход с нуля - 97

Выбрав хорошие антенны из пары десятков разных комплектных антенн на 2.4 ГГц с помощью NanoVNA, удалось достичь полудуплексной связи без потери пакетов на расстояние около 200 метров.

Подведу итог:

За время работы над этим проектом я получил очень большой и приятный опыт разработки.

Масса моей модели с аккумулятором – 6 кг.

Я реализовал самый простой метод управления – 6 шаговый. При разгоне в мотор вкачивается почти 1 кВт - 24В 40А (ток общий, не фазный).

Есть задел на реализацию векторного управления на второй версии платы.

На данный момент из-за отсутствия времени, проект лежит на полочке.

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

Еще медиафайлы:

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

Разработка RC-машинки с BLDC. Подход с нуля - 98
Разработка RC-машинки с BLDC. Подход с нуля - 99
Разработка RC-машинки с BLDC. Подход с нуля - 100
Разработка RC-машинки с BLDC. Подход с нуля - 101

Автор: LitLageR

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js