[Из песочницы] Как из детского квадроцикла сделать вседорожный гоночный болид

946c0d28d91743088499eabceffbd67d.png

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

Что имеем: детский квадроцикл KL-789 с незначительными неисправностями, немного свободного времени и желание воткнуть туда завалявшуюся ардуину.

Что хотим получить: что-то рабочее дольше, чем один месяц, желательно с улучшенными ходовыми характеристиками.
Квадроцикл имеет два коллекторных мотора RS550 на 12V, с частотой вращения вала 19300 rpm на холостом ходу, подключенные к задним колесам диаметром ~30 см через редукторы с передаточным числом ~131. Простая математика говорит о том, что максимальная скорость данного ТС должна быть 19300/131/60×3.14×0,3 = 2,31 м/с или 8,3 км/ч. На практике, он едет примерно 7 км/ч. Во время выбора новых комплектующих во мне боролись желание сделать максимальную скорость, и опасение, что это будет слишком опасным транспортом для детей. Поэтому было решено, что он должен ехать в 1,5–2 раза быстрее. Кроме двигателей, меня в нем неустраивало:

  • Аккумулятор. Гелевый 12V 10Ah, теряющий бОльшую часть емкости при большом разрядном токе
  • Система управления. Первая скорость — педаль, двигатели подключаются последовательно. Вторая скорость-ручка на руле, двигатели подключаются параллельно. Тормоз — автоматический при отпускании педали, обмотки двигателей замыкаются. Данная схема приводит к слишком резкому старту, полному отсутствию свободного качения, такому же резкому тормозу, все это приводит к большим токовым нагрузкам (кнопка педали расплавилась в течении месяца эксплуатации), и механическим нагрузкам на редукторы и колеса, не говоря уже о банальной не комфортности езды
  • Силовые провода. Сечением 0,75–1 кв. мм, которые с номинальными токами в 20А нагреваются до значительной температуры


Т.е. меня не устраивала абсолютно вся электрика. Немного поразмыслив, было решено использовать:

  • Две литиевые батареи на 11.1V с максимальным (обещанным) током 240А каждая (да, ими можно заводить автомобиль, проверено)
  • Два сенсорных БК мотора на 36000 rpm при номинальных 11.1V, и ~40000 rpm при полностью заряженных батареях
  • Два сенсорных БК регулятора на 120А (люблю все с запасом)
  • Пропорциональная ручка газа на основе датчика Холла
  • Пяти-позиционный переключатель передач, у нас будет три скорости вперед, одна назад и нейтраль
  • Датчик тока на 100А
  • Bluetooth модуль, для телеметрии на телефоне
  • Фары передние
  • Стоп сигнал/задний габарит, красный, красный
  • Звуковой сигнал, куда же без него
  • FET модуль, 4 канальный, для управления фарами
  • Teensy 2.0, в качестве контроллера всего этого
  • Двух-секционный выключатель для света
  • Ну и немного всякой мелочевки -донгл для настройки и прошивки регуляторов, коннекторы, провода, термоусадка, инструмент для снятия пиньена со стокового мотора


Кроме этого, для уменьшения грохота пластиковых колес и улучшения плавности хода были куплены 4 покрышки 12,5» для детских колясок, после чего они подверглись небольшой доработке канцелярским ножом, а затем были натянуты на колеса квадроцикла, и закреплены саморезами:

71fa5b31b706413dab1df44ebefc54cb.jpg

Когда все приехало, был собран прототип на коленках, выяснилось, что двигатели даже без нагрузки нагреваются до 70 градусов за 3–5 минут работы, пришлось докупить два кулера к ним, а регуляторы наоборот, даже с отключенными вентиляторами не греются (забегая вперед, на квадроцикле под нагрузкой они тоже не греются). Т.к. у нас два двигателя с двух разных сторон, необходимо было решить еще одну проблему — сенсорные моторы крутятся только в одну сторону. Первоначально планировалось разобрать один мотор, и перевернуть в нем сенсор на 180 градусов…, но реальность показала, что это невозможно сделать малой кровью. Более того, во время экспериментов с сенсором и таймингами частично сгорел один из регуляторов, в итоге я отказался от сенсора, и подключил их как обычные БК. Сам сенсор состоит из трех датчиков Холла, отслеживающих положение ротора, и датчика температуры. Было решено не оставлять все это хозяйство, а подключить к МК и использовать как датчик температуры двигателя, датчик скорости вращения двигателя, а в последствии, зная передаточное число — и как датчик скорости.

Несколько озадачила библиотека pwmservo, она предназначена для управления сервомашинками (в моем случае регулаторами) через аппаратный ШИМ, с точностью в 1 градус, всего 180 состояний, а направление «вперед» это только половина диапазона, т.е. 90 состояний. Мне показалось что это маловато, пришлось отредактировать библиотеку в ущерб кросс-платформенности ардуин (получилось только для контроллеров с 16 МГц), результат — 1000 состояний в каждую сторону (единица равна 0,5 мкс длительности ШИМ, ШИМ от 1 до 2 мс).

После того, как работа «на коленке» была более менее отлажена, все это хозяйство было установлено на квадроцикл:

Фото
0756e30c0aa24369a1e5f7c67357da60.jpg

Двигатель + редуктор:

8d2ec5a4db124d7fb43b3510041e33db.jpg

Внутри небольшой творческий беспорядок из проводов (просто побросал все провода внутрь, хотелось протестировать быстрее, позже приведено в человеческий вид):

28418927d3e84668926ef831c7123516.jpg


Т.к. мощность получилась больше 500 Вт, пришлось ограничить скорость нарастания газа, если с места резко повернуть газ в максимум, мощность будет увеличиваться плавно, и своего максимума достигнет примерно через 3 секунды. Уверен, без этого происходил бы эффект моментального опрокидывания.

В общем, вот запись видео телеметрии с экрана телефона, там все видно, только из-за слегка заглючившего датчика оборотов в левом двигателе (левый зеленый столбик) данные скорости слегка занижены, максимально достигнутая скорость на свежих батареях — 18 км/ч
Значения столбиков: синие — температура двигателей в градусах, зеленые — обороты двигателей в rpm, оранжевые — мощность подаваемая на двигатели в условных числах от 0 до 1000, серый — положение ручки газа.

А вот как это едет:



Меня не утащил… буксует, но на самом квадроцикле я ездил, и судя по телеметрии, ему абсолютно все равно кто там сверху

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

Для решения этой проблемы понадобились:


Новые оси 5 мм, поэтом пришлось распечатать на 3D принтере втулки с внешним диаметром 9 мм (как у старых осей), а внутренним 5 мм, для того чтобы можно было новые оси установить в старый корпус редуктора, в шестернях были высверлены 11 мм отверстия глубиной 5 мм с обоих сторон (посадочные места под подшипник). Шестерни теперь установлены на подшипники, а также обильно смазаны литолом, и вот уже больше полугода все прекрасно ездит в любых условиях:
Но на этом я не останавливаюсь, следующий шаг — кастомные шестерни редуктора, для того чтобы увеличить скорость до 25–30 км/ч.

905dd9ee38a7432ab889b930d842e4d6.jpg

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

Скетч, доработанная библиотека pwmservo, pinount можно скачать тут, все это в черновом виде, в коде очень много недоделанного и отладочного кода, за что заранее извиняюсь.

© Geektimes