Управление платформой
Разберемся с тем, как будем управлять платформой.
В симуляции Processing у нас уже есть весь необходимый программный код. Чтобы не переносить его на другое железо, можно просто подключиться к самому приложению Processing, например, по UART. Мы сможем получать углы alpha из приложения по последовательному интерфейсу и сразу отправлять их на сервоприводы.
С этой задачей справится буквально любой микроконтроллер, например классическая Arduino Uno. В нашем случае возьмем прямой аналог — плату Iskra Uno.
Подготовка Arduino Uno
Для управления шестью сервоприводами нужно шесть ШИМ-пинов. На Iskra Uno как раз шесть пинов с функцией ШИМ, и вы можете подключить сервоприводы прямо к ней, только в этом случае придется повозиться с разводкой питания сервоприводов. Мы не будем заморачиваться и используем готовое решение — Multiservo Shield. Останется только подключить к щилду сервоприводы и подвести питание.
Напряжение питания сервоприводов | 4,8–6 В |
---|---|
Потребляемый ток | 170 мА |
Ток блокировки | 2 А |
Питание сервоприводов
Сервоприводы решили запитать USB-блоком питания Ginzzu GA-3311UW на 5 В, 3100 мА. Напряжение 5 В укладывается в номинал для сервоприводов, а ток 3 А должно хватить за глаза. Для подводки питания к Multiservo Shield просто обрежем обычный USB-кабель.
Модернизация проекта Processing
В репозитории новый проект Processing называется stewart_platform_arduino.
Файл stewart_platform.pde с реализацией математики в классе Platform мы не трогаем, в нём всё остаётся как есть. А вот в файл приложения внесём изменения.
Прежде всего нам понадобится последовательный интерфейс. Для этого в Processing существует библиотека Serial. Подключаем библиотеку и создаём объект serial.
import processing.serial.*;
Serial serial;
Методом Serial.list() можно получить список активных в данный момент UART-интерфейсов в операционной системе. В функции setup приложения открываем первый доступный интерфейс. Ставим скорость в 115200 бод.
Сделаем функцию для отправки углов приводов alpha в интерфейс serial. Назовем её sendAnglesToSerial.
Чтобы отделить полезные данные от мусора, перед отправкой углов передадим пару ведущих байтов 0x6A, которые сигнализируют о том, что дальше последуют полезные данные. Все шесть углов упакуем в строку и перешлём в текстовом формате CSV.
Переменные alpha в программе имеют тип float. Большая точность мантиссы нам не нужна, ведь сервоприводы не обладают такой чувствительностью. Чтобы не заморачиваться с плавающей точкой, просто превратим float в целочисленное значение. Умножим углы на 100, округлив таким образом значение до двух знаков после запятой.
## В главном цикле draw приложения отправляем углы в последовательный интерфейс сразу после их получения.
alpha = platform.getAlphaAngles();
sendAnglesToSerial();
Теперь займёмся прошивкой Arduino.
Arduino-проект лежит в репозитории под именем stewart_platform_servos.ino. Код прошивки:
Здесь всё максимально просто.
Для управления сервоприводами через Multiservo Shield используем Arduino-библиотеку Multiservo.
Сервоприводы мы подключили к первым шести пинам шилда. Углы сервоприводов хранятся в массиве target_angle_degree.
Главным моментом прошивки является поднастройка позиций валов сервоприводов.
Хобби-сервоприводы управляются ШИМ-сигналом с приблизительной шириной от 544 до 2500 мс с нейтральным положением в 1522 мс.
Вам нужно максимально точно подогнать ширину импульса к реальным физическим углам.
Мы подбирали ширину импульса на глаз, но вы можете попробовать и более точные методы.
После запуска программы выставляем все сервоприводы в ноль — resetToZero.
Для коммуникации используем аппаратный Serial-интерфейс Arduino Uno.
Если в буфере serial есть входные данные, читаем их.
Если встречаем два контрольных байта 0x6A, начинаем парсить данные из формата CSV.
Для этого используем метод parseInt().
Углы мы храним в том же виде, что и в приложении Processing, поэтому переводим целочисленные значения углов обратно во float, разделив их на 100.
Готово! Подключаем Arduino к компьютеру и загружаем нашу прошивку.
Запускаем приложение Processing и пробуем управлять платформой оттуда.
Платформа Стюарта работает!
Точность, конечно, оставляет желать лучшего, но тем не менее математика работает.
На видео можно видеть разницу в направлении некоторых движений между визуализацией и реальной платформой.
Это связано с разными системами координат: в Processing она левосторонняя, а думаем мы и собираем платформу в правосторонней.
Покупаем шаровую опору – что нужно знать
Для заказа запчастей обязательно используйте VIN-код автомобиля.
Проверяйте техническую информации к детали, подходит ли выбранная шаровая опора к вашему автомобилю по диаметру пальца и корпуса.
Специалисты СТО рекомендуют покупать оригинальные запчасти или аналоги известных брендов с хорошей репутацией.
Узнайте отзывы от других владельцев автомобилей или проконсультируйтесь с механиком.
Монтаж лифт-комплекта
Как отмечают автовладельцы с опытом, в том, чтобы установить лифт комплект на Ниву 2131, 211213,21214 или другую, нет ничего сложного.
Особенно для тех, кто уже раньше сталкивался с самостоятельной доработкой подвески.
Самое главное, что нужно сделать – раздобыть подъемник или домкрат.
Первый вариант, конечно же, предпочтительнее.
Ниже – пошаговой алгоритм действий для передней и задней части авто.
Передняя подвеска
Установка Нива лифт 30 мм комплект или другой высоты на заднюю подвеску потребует наличия сварочного аппарата.
Без него никак не обойтись.
Сам алгоритм действий будет выглядеть примерно следующим образом:
Лифт комплект на Ниву 2121
## Поднятие автомобиля: как выбрать лучший лифт комплект для Нивы
Найти хороший лифт комплект на Ниву Шевроле или любую другую модификацию автомобиля – задача, которая требует ответственного подхода. Сегодня достаточно большое количество производителей предлагают свои товары, поэтому выбор должен быть осознанным и тщательным.
### Лифт комплект +30 мм
Если вас интересует лифт комплект Нива 30 мм, то лучшее решение – покупка комплекта от SV-PARTS. В его состав входят 2 проставки под опоры и 8 проставок чашек пружин. Высокое заводское качество и тщательная проверка на брак перед отправкой – важные плюсы.
- Лифт комплект передней подвески +30 мм ВАЗ Нива 2121-21214, 2123
### Лифт комплект +40 мм
Интересует лифт комплект передней подвески Нива на 40 мм? В этом случае можно рассмотреть варианты от ТехноСферы.
- Лифт комплект 40 мм Нива 2121, 21213, 21214, 2131 до 2009 г.в. ТехноСфера
### Лифт комплект +50 мм
В продаже также есть лифт комплект Нива 50 мм (5 см) от производителя ШтокАвто. В его состав передние и задние пружины, амортизаторы.
- Лифт Комплект Нива Шевроле 2123 +50 Амортизаторы Шток Авто+Пружины
### Универсальный комплект
ТехноСфера предлагает универсальный лифт-комплект на Ниву Урбан. Он включает в себя все необходимые элементы для подъема передней и задней подвески.
- Комплект для лифтинга универсальный для автомобилей ВАЗ 21214, URBAN ТехноСфера
### Рекомендации по покупке
Решая, какой лифт комплект на Ниву Тревел лучше купить или на Ниву Шевроле, рекомендуем делать выбор в пользу производителей, проверенных временем и собирающих о себе только самые положительные отзывы. SV-PARTS и ТехноСфера – как раз такие.
### Дополнительные детали
Список деталей, которые могут дополнительно потребоваться для увеличения клиренса, зависит от купленного вами лифт-комплекта. В некоторых случаях, часть деталей придется докупить отдельно.
Если вам нужны какие-либо дополнительные детали для того, чтобы сделать свой автомобиль более проходимым и комфортным для езды по бездорожью, вы всегда можете обращаться за помощью и профессиональными консультациями к менеджерам SV-PARTS.
## Платформа-балансир
Управлять платформой Стюарта вручную довольно скучно, придумаем ей какое-нибудь применение.
## Создаем балансирующую систему с использованием платформы Стюарта
Например, на основе платформы Стюарта можно сделать балансирующую систему. Пусть наша платформа катает шарик по плоскости, не давая ему упасть. В DIY-мире Arduino это очень распространенный эксперимент, повторим его и мы.
## Использование сенсорного экрана в качестве датчика
Для определения положения шарика нам нужен датчик. Часто в подобных проектах используют видеокамеру и визуальное распознавание позиции шарика на платформе. Мы же попробуем что-нибудь попроще.
В качестве датчика положения будем использовать сенсорный экран наподобие тех, что в сенсорных панелях управления или смартфонах. Это очень подходящее для нас решение, поскольку сенсорный экран обычно сделан на стеклянной подложке, а значит, будет выполнять функции и сенсора, и самой платформы одновременно.
### Выбор типа сенсорного экрана
Существует несколько основных типов сенсорных экранов, которые работают на разных физических принципах. Мы возьмем сенсор простейшего типа - резистивный четырехпроводной. Резистивные сенсоры совместимы с Arduino, поскольку они питаются напряжением 5 В, а для считывания сигнала нужно всего два АЦП-пина микроконтроллера.
## Выбор и подключение датчика
Размеры резистивных сенсоров в основном соответствуют размерам и форматам экранов мобильных устройств и измеряются по диагонали в дюймах. Нам нужен небольшой сенсор, пропорциональный платформе.
Мы решили использовать четырехпроводной резистивный сенсор ST-104001 с диагональю 10,4. Этот сенсор можно приобрести не только в Китае, но и в российских интернет-магазинах.
Технические характеристики сенсорного экрана:
- Размеры стекла: 225x171,5 мм
- Размер активной области: 212,2x159,4 мм
- Толщина сенсора: около 1,5 мм
## Подключение к Arduino
Сенсорный экран подключается через миниатюрный шлейф с шагом контактов 1 мм. Подключить такой шлейф к Arduino довольно проблематично, поэтому используем специальный переходник на привычные нам BLS-контакты с шагом 2,54 мм.
## Использование шариков для срабатывания сенсора
Сенсор срабатывает от приложенного к нему усилия. Катать пластиковый шарик не получится: панель не будет на него реагировать из-за слишком малого веса. Очевидно, шарик должен быть потяжелее. Для эксперимента мы взяли стальные шарики от подшипников разного диаметра.
Подбором мы выяснили, что сенсор начинает срабатывать на стальной шарик диаметром 18 мм и выше. Такой шарик весит примерно 26,5 граммов, то есть сенсор срабатывает от усилия примерно в четверть ньютона.
## Фиксация сенсорного экрана на платформе
Закрепим сенсорный экран на платформе плотной посадкой с четырех сторон.
## Печать новых деталей платформы
Для удобства и надежности рекомендуется напечатать новые детали платформы на 3D-принтере.





Меняем деталь платформы и пересобираем девайс.

Вставляем сенсорный экран в новую платформу.

Подключаем сенсорный экран к Arduino. Для подключения используются четыре пина: два пина на ось Х (длинная сторона экрана) и два пина на ось Y. Для каждой стороны на один пин подается напряжение (плюс), а с другого пина это напряжение считывается (минус).

Провода стороны Х мы подключили к пинам 9 и А3, а стороны Y — к пинам 8 и А2.
Модифицируем Arduino-прошивку платформы. Проект с обновлённой прошивкой в репозитории называется stewart\_platform\_touchscreen.ino.
Для резистивных сенсорных экранов в Arduino есть библиотека TouchScreen. Включаем её в наш проект.
Создаём объект для работы с сенсорным экраном ts. Вводим константы. Физические размеры экрана — TOUCHSCREEN\_WIDTH и TOUCHSCREEN\_HEIGHT в миллиметрах. Значения сенсора в крайних точках экрана — X\_MIN, X\_MAX, Y\_MIN, Y\_MAX. Их можно получить, просто ткнув пальцем в нужный край сенсора. Начало координат сенсора находится в углу экрана. В переменных x\_valid и y\_valid будем хранить текущее отклонение шарика в миллиметрах.
Обрабатывать позицию шарика будет приложение Processing, так как вся математика у нас содержится там. Arduino же будет просто считывать данные с сенсора и передавать их приложению по тому же UART-интерфейсу serial, что мы используем для получения углов alpha.
Для отправки данных из Arduino в Processing тоже используем пару ведущих байтов 0x6B, чтобы избавиться от случайного мусора.
При резком движении по стеклу шарик может потерять контакт с сенсором. В этот момент программа получит по последовательному интерфейсу партию нежелательных данных, что повлечёт неправильное поведение. Чтобы избавиться от внезапного резкого изменения данных, введём максимальную разницу в координатах BALL\_BREAKTHROUGH в миллиметрах. Если новая полученная координата шарика отличается от старой меньше, чем на величину BALL\_BREAKTHROUGH, значит шарик прокатился по панели без резких прыжков.
Кроме этого нужно определить, что именно передаёт сенсор, если на нём нет шарика. При отсутвии объекта лучше использовать последнюю позицию шарика.
В основном цикле программы:
Теперь разберёмся с приложением Processing. Это будет уже третий апгрейд нашей программы. Новая версия имеет в репозитории имя stewart\_platform\_balancer.
Введём новые переменные в файле приложения.
float ball\_x = 0, ball\_y = 0;
В переменных ball\_x и ball\_y будем хранить положение шарика в миллиметрах по осям X и Y соответственно.
В среде Proceesing для чтения данных из последовательного порта лучше использовать прерывания и функцию serialEvent(). Порядок поступающих с Arduino данных от младшего к старшему (little-endian). Передаваемые кординаты имеют знаковый тип int16\_t.
Если в буфере последовательного интерфейса есть данные, проверяем их на наличие двух контрольных байтов 0x6B. Если всё OK, читаем координаты шарика на сенсорном экране.
Далее встаёт вопрос: как контролировать шарик?
Первым на ум приходит использовать ПИД-регулятор. Так и поступим.
Библиотеки ПИД-регулятора для Processing нет. Порывшись на просторах GitHub, мы взяли первую попавшуюся кроссплатформенную имплементацию ПИД-регулятора на Java. Просто закидываем файл с классом ПИД-регулятора в наш проект на Processing.
Всё достаточно просто. Создадим два контроллера. Один будет следить за положением шарика на оси X платформы и управлять вращением платформы вокруг оси Y (Pitch). Второй контроллер будет отслеживать положение шарика по оси Y и управлять вращением платформы вокруг оси X (Roll).
MiniPID pid\_x; MiniPID pid\_y;
На вход контроллера подаём координаты шарика на соответствующей оси в миллиметрах. Цель контроллера — поддерживать шарик в центре экрана, то есть в точке с координатами (0, 0).
pid\_x = new MiniPID(0.0009, 0.000, 0.0075); pid\_x.setSetpoint(0); pid\_y = new MiniPID(0.0009, 0.000, 0.0075); pid\_y.setSetpoint(0);
На выходе из контроллеров получаем необходимые нам векторы вращения платформы — R.y (Pitch) и R.x (Roll). Затем матрицу с новыми векторами отправляем на расчёт в класс platfrom.
R.y = (float) pid\_x.getOutput(ball\_x, 0); R.x = (float) pid\_y.getOutput(ball\_y, 0); platform.applyTranslationAndRotation(T, R);
По сути, теперь два ПИД-регулятора управляют двумя слайдерами нашего графического интерфейса приложения Processing.
В новой версии приложения мы изменили отображение платформы с эллипса на прямоугольник размером с наш сенсорный экран, а также визуализировали вектор текущего положения шарика на платформе.
Готово! Запускаем приложение и подбираем пропорциональный (P), интегрирующий (I) и дифференцирующий (D) коэффициенты для ПИД-регулятора, пока шарик не перестанет падать с платформы.
Вот что у нас получилось:
Точной настройкой ПИД-контроллеров в этом эксперименте мы не занимались и выбрали первые подходящие коэффициенты. Интегрирующая составляющая у нас и вовсе отсутствует.
Пара важных обнаруженных нюансов.
Наша база с сервоприводами получилась не очень устойчивой. Во время контроля сервоприводы могут совершать довольно резкие движения и по инерции двигать всю базу целиком. Поэтому базу лучше надёжно закрепить винтами или утяжелить. В качестве груза мы использовали три круглые куски фанеры толщиной 10 мм.
Обязательно постарайтесь выставить максимально горизонтальное положение платформы в изначальном виде. Платформу нужно выставить по уровню, например, используя мобильное приложение. Для корректировки можно поиграть с шириной ШИМ-импульса для сервоприводов в положении 0°. Или можно просто подложить что-нибудь под базу.
Платформа не будет катать шарик вечно. Рано или поздно шарик придёт в состояние баланса и остановится. Внимательно посмотрите, в какой именно точке платформы шарик поймал равновесие. Подстройте свою платформу так, чтобы эта точка была максимально близко к реальному центру платформы.
## Платформа-балансир на Raspberry Pi
В том виде, в каком есть, платформу Стюарта решили поставить в магазине-шоуруме Амперки, чтобы каждый наш гость мог попинать шарик на платформе и оценить устройство в действии.
Чтобы не возиться с персональным компьютером, мы решили управлять платформой с микрокомпьютера Raspberry Pi 5.
Для более быстрой работы платформы-балансира мы портировали программу c языка Processing на Python. К слову, почти весь код для нас перевела нейросеть ChatGPT.
Для линейной алгебры мы использовали библиотеку NumPy, а для ПИД-контроллера — библиотеку simple-pid.
## Варианты лифтовки на Ниве
Профессионалы в сфере ремонта и обслуживания автомобилей, выделяют два способа лифта автомобилей:
Однако, сразу отметим, что модификация кузова с помощью лифта заключается в поднятии всего кузова путем использования подставок, модификации шланга и других элементов. Теоретически, такой тюнинг довольно прост, однако в случае с автомобилями Нива его не применяют. И на это есть причина – автомобили Нива 2121 и другие представители серии не имеют рамы. Если бы была рама, то вопросов бы не возникало.
Соответственно, для подъема Нивы доступен только подвесочный способ. В этом случае лифт-комплекты – идеальное решение.
Если увеличить дорожный просвет примерно на 45 миллиметров, достичь высоты подъема в 50 миллиметров или даже выбрать высоту в 60 миллиметров, можно без труда установить в заводские колесные арки шины диаметром до 29 дюймов. Впрочем, учтите, что установка больших шин влияет на расход топлива.
## Диагностика подвески Kia Rio 3
На специализированном СТО диагностику подвески проводят на стенде. Если он занят или отсутствует, то мастер может определить дефектную шаровую классическим способом: вывешивает колесо и качает его от себя/на себя. Для пущей убедительности вставляет монтажную лопатку между кулаком и рычагом, и качает. Наличие люфта говорит об окончании ресурса шаровой опоры.
## Как сделать платформу Стюарта на Arduino
Надоело делать обычных колёсных роботов? У нас есть идея поинтереснее: робот-гексапод с платформой Стюарта на шести сервоприводах.
Хотите разобраться, какова кинематика этого чуда и как это всё работает? Тогда садитесь поудобнее и изучайте вместе с нами!
Обратите внимание: платформа Стюарта — достаточно сложный проект, который потребует от вас определённых инженерных навыков и опыта в программировании на C++. Если вы сомневаетесь, что вам это подходит, повторите проект попроще, например робота для езды по линии.
## Замена шаровой опоры на Киа Рио 3
Замена шаровой опоры на Kia Rio 3 производится с применением съёмника и пресса. Поэтому подыщите место (гараж), где в вашем распоряжении окажутся эти виды оборудования. Приготовьте ветошь. Купите «жидкий ключ», поскольку иногда невозможно выкрутить гайки и болты без обработки проникающей жидкостью, способной разрыхлять ржавчину. Например, WD-40.
### Какие инструменты понадобятся для работ
Кроме домкрата, балонника и страховочной подставки для вывешенного автомобиля, вам потребуются:
Купите графитную смазку. А если будете снимать суппорт (некоторые снимают), то приготовьте ключ на 12.
### Пошаговый процесс замены
Поменять шаровую опору на Киа Рио 3 можно следующим образом:
После установки новых шаровых рекомендуется проверить схождение колёс. Настройку подвески можно сделать на стенде СТО. Хотя некоторые автолюбители против этого, поскольку рычаг остался старым, а рулевые наконечники не трогались.

## Дизайн и конструирование платформы
После симуляции мы прикинули желаемые размеры платформы Стюарта и её деталей, а значит, пришло время заняться конструированием.
3D-модель нашей платформы, как и весь исходный код этого проекта, мы разместили в репозитории stewart-platform.
Первым делом нужно определиться с теми деталями, которые слишком редки, и мы не сможем их заказать или сделать самостоятельно. В нашем случае это универсальные шарниры. Шарниры должны быть миниатюрные, поскольку сама платформа Стюарта будет маленькой.
На помощь, как всегда, приходят запчасти для радиоуправляемых машинок. В качестве универсальных шарниров мы выбрали шариковые наконечники рулевых тяг Traxxas TRA5347\. Эти рулевые наконечники можно найти и на российских маркетплейсах. В наборе двенадцать шариковых наконечников — ровно столько, сколько нам нужно: шесть шарниров на платформу и шесть шарниров на рычаги.

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

Наконечники сделаны из твёрдой резины и имеют посадочное отверстие диаметром примерно 3,5 мм. Нам нужно выбрать, на что именно их устанавливать, то есть что будет являться для них тягой. Можно взять металлический стержень с резьбой М4 и вкрутить его в наконечник. Или же можно использовать стержень диаметром 3 мм и вклеить его в наконечник, либо установить через какой-нибудь переходник.
Мы решили использовать карбоновый стержень диаметром 3,5 мм. На маркетплейсе мы нашли пультрузионный круглый карбоновый пруток диаметром 3,5 мм и длиной 1 м. Одного метра прутка с лихвой хватит на шесть не слишком длинных тяг.
По итогам симуляции мы выбрали длину тяги в 130 мм. В математическом описании длина тяги — это расстояние от одного универсального шарнира до другого. Значит, нужные нам 130 мм будем считать между центрами шариков наконечников. Из геометрии наконечников следует, что нам нужно шесть стержней длиной примерно 118 мм.
Нарезаем стержни нужной длины. Карбоновый пруток можно грубо разрезать простыми ножницами. Для достижения более точного размера мы использовали самый дешёвый труборез, он отлично пилит карбон.

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

Теперь займёмся платформой.
Платформа должна представлять собой нечто плоское и прочное. Ещё платформа должна быть лёгкой, ведь от этого будет зависеть грузоподъёмность всей конструкции и требования к мощности приводов. Исходя из формы наконечников, устанавливать их придётся в боковую поверхность платформы. У шариковых наконечников посадочное отверстие диаметром 3 мм, значит фиксировать их будем винтами М3.
Мы подумали, что лучшим решением будет напечатать каркас платформы на 3D-принтере. Это проще, чем сверлить трёхмиллиметровые отверстия в торце пластика или фанеры.
После симуляции мы выбрали для себя следующие размеры платформы.

Нумерацию ног будем вести от оси x по часовой стрелке. Углы ног платформы равны 54, 66, 174, 186, 294, и 306°. Углы откладываем от оси x.
Радиус платформы — 60 мм. Обратите внимание, это радиус до универсальных шарниров, то есть расстояние от центра до точки Pi платформы. В нашем случае это расстояние от центра платформы до центра шарика наконечника тяги.
Наконечнику тяги нужно обеспечить свободный ход вокруг шара, и не стоит прижимать его вплотную к платформе. Для этого мы решили сделать небольшие проставки высотой 5 мм. Сами наконечники мы закрепим на платформе винтами и гайками М3\. Гайки используем с нейлоновыми вставками, чтобы ничего не болталось и без заморочек с гровером.
Печатаем нашу детальку из PLA-пластилка, хотя материал не сильно важен.

Проставки высотой 5 мм мы решили сделать с помощью лазерной резки Figuro. Просто вырезаем небольшие колечки из листа чёрного пластика толщиной 5 мм.

Прикрутим наконечники с тягами к платформе и посмотрим, что получилось.

Теперь займёмся базой.
Здесь главный вопрос заключается в выборе поворотного привода. Мы провели эксперименты с разными приводами и выделили для себя три главных критерия выбора: точность позиционирования вала, люфт (Backlash) вала и крутящий момент. Неточное позиционирование вала и люфт в сумме дают огромную ошибку в положении платформы.
Сперва мы попробовали микросервоприводы Feetech FS90\. Но они для данного проекта совсем не подходят: средний люфт, низкая точность и низкий крутящий момент. Затем мы попробовали шаговые двигатели 28BYJ-48 5V. У этих шаговиков достаточный крутящий момент, но слишком большой люфт редуктора. Мы надеялись выиграть на точности, ведь в характеристиках заявлено 2048 шагов, но постоянные пропуски шагов накапливали ошибку и нивелировали эту точность.
В итоге мы решили остановиться на сервоприводах Feetech FS5109M c металлическими шестернями. Как и большинство сервоприводов этого типа, они не могут похвастаться точностью. Но у этой модели почти отсутствует люфт, а крутящего момента нам хватит с головой.

Вы можете попробовать построить платформу Стюарта с любыми приводами, но помните: чем точнее приводы, тем качественнее проект.
Если планируете использовать сервоприводы, старайтесь, чтобы они были максимально однородные: одной марки, одной партии, одной скорости и так далее. Любая разница в поведении сервоприводов приведёт к ошибкам в позиционировании.
Мы попарно закрепили шесть сервоприводов на трёх боковых пластинах толщиной 3 мм. Боковые пластины зажали сверху и снизу ещё двумя трёхмиллиметровыми пластинами, стянутыми между собой резьбовыми стойками М3\. Получилась простая конструкция из пяти однородных листовых деталей, которые можно вырезать на лазерном станке.

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

Как и на платформе, нумерация ног идёт от оси x по часовой стрелке. Углы ног базы равны 50, 70, 170, 190, 290, и 310°. Углы откладываем от оси x.
Длина рычага — 40 мм. Радиус базы — 76 мм. Обратите внимание, как именно считается радиус. В нашем случае радиус — это расстояние от центра базы до точки Bi, которая лежит на пересечении оси сервопривода и оси шаровой опоры наконечника, параллельной рычагу.
Как и в случае с платформой, наконечникам тяг на базе тоже нужно добавить свободного хода даже больше, чем на платформе. Поэтому добавляем по две проставки высотой 5 мм на конце каждого рычага. Наконечник тяги закрепляем на рычаге тем же винтом и гайкой М3.
Не забудем и об углах β. Напомним, это углы между осью x и плоскостью вращения рычага привода.

Положительный угол или отрицательный — зависит от того, как направлен рычаг сервопривода относительно оси x. Наши углы β для шести ног равны 30, −150, −90, 90, 150, и 30°.
Чтобы быстро изготовить нужные детали лазерной резкой, снова воспользуемся сервисом Figuro.

Соберём нашу базу. Прикручиваем сервоприводы к боковым пластинам винтами и гайками М3\. К рычагам прикручиваем фланцы, сами фланцы устанавливаем на сервоприводы. Фланцы нужно установить так, чтобы при нейтральном положении вала сервопривода рычаг был примерно горизонтален.

Стягиваем боковые пластины резьбовыми стойками.

Совмещаем платформу с базой. Готово!

## Признаки неисправности
Окончание ресурса шаровой на Kia Rio 3 определить несложно. Для этого машину загоняют на стенд по диагностике подвески. Некоторые поднимают машину на подъёмнике или залезают в яму с монтажкой, чтобы пошатать рычаги. Но кроме перечисленных способов диагностики есть косвенные признаки неисправности опоры. Их может заметь внимательный собственник автомобиля. Среди них:
Если вы заметили какие-либо из этих признаков, то рекомендуется поскорей обратиться к специалисту для проведения диагностики и замены неисправной шаровой опоры. Или запланировать ближайший свободный день для самостоятельного осмотра подвески и ремонта. Подыщите место, подготовьте инструмент и купите шаровые (а также другие запчасти подвески, требующие замены).
## Стоит ли менять шаровую опору на Киа Рио своими руками?
Если у вас нет опыта в обслуживании автомобиля, и вы понятия не имеете, как снимать шаровую опору, то лучше отказаться от самостоятельного вмешательства в подвеску. По сложности работ это средний уровень ремонта. К тому же здесь понадобится специальное оборудование: съёмник и пресс. Были случаи, когда после ремонта своими руками шаровые вылетали из рычага, потому что владельцы не до конца заправляли в паз деформированное старое стопорное кольцо (некоторые новые шаровые поступают в продажу без стопорных колец). В связи с этим, при отсутствии навыков и инструмента лучше запишитесь на СТО. Цена такого ремонта не сильно ударит по вашему кошельку. Средняя стоимость услуги по Москве и МО колеблется в пределах 2000 руб.
## Требуется замена шаровой опоры с гарантией?
Наш техцентр Oem-Zap специализируется на корейских машинах. Если у вас есть похожая проблема, мы проведем диагностику, найдем причину и быстрое ее устраним. Оставляйте заявку ниже.
## Какие запчасти можно купить? Артикулы
Таблица 1\. Коды шаровых опор Kia Rio 3 для замены.