Подчиненное регулирование электропривода

Чтобы разобрать наш сервопривод нам понадобиться отвертка. Т.к. я разбираю очень маленький сервопривод, то и отвертка нужна соответствующая. Лично я использую отвертки из какого-то дешевого китайского набора. Купил я его в киоске в подземном переходе по цене около 5$, так что не сильно затратно.

Чтобы вскрыть сервопривод надо открутить всего четыре винтика. Находятся они на нижней крышке. Откручиваем:
Сняв крышку можно рассмотреть блок управления. Вдаваться в подробности я не буду, все равно я собираюсь его удалить отсюда. Так же виден моторчик к которому ведут два провода.
Сверху так же находится крышка, сняв которую можно рассмотреть шестеренки редуктора. Стоит обратить внимание, что две из них закреплены на потенциометре — это достаточно важно, так как чтобы редуктор продолжил выполнять свою функцию нам придется фактически сломать потенциометр — будем использовать его просто как ось для шестеренок.
Собственно, необходимо снять все шестеренки с сервопривода и на время отложить их в сторонку. Достаем потенциометр (кстати, он же переменный резистор) из корпуса аккуратно подтолкнув его с нижней стороны сервопривода отверткой.
Вот собственно и настал момент точки не возврата. Конечно всегда можно будет все спаять обратно, но это уже сложнее. Итак — откусывает потенциометр.
Затем таким же методом разделяем плату управления с проводами питания и сигналов.

После чего откусываем провода от моторчика. Тут будьте внимательны и не откусите контакты от самого моторчика — если не уверены — лучше оставьте провод с запасом. Потом его можно будет выпаять. Я же откусываю провод до самого контакта.
Проведем инвентаризацию.
Вроде бы все на месте. Теперь берем в руки наш потенциометр.
Дело в том, что он сейчас вращается тоже только на определенный угол. А так как он является осью и на нем крепиться самая большая шестеренка на которую собственно мы и будем крепить колесо в последствии — надо сделать так, чтобы он вращался постоянно. Вынимаем две металлические пластинки которые препятствуют этому. Получаем:
Надеюсь на фотографии понятно, что я сделал. Выдирал маленькими плоскогубцами, так как ничего более подходящего под рукой не было.
Теперь надо срезать ограничитель на самое шестеренке. Выглядит он как выступ с нижней части шестеренки. Найти его легко, выглядит он следующим образом.
Режем.
И собственно после этого можно приступать к сборке редуктора обратно в корпус. Вставляем обратно ось сделанную ранее нами из потенциометра.
Далее, одну за одной шестеренки начиная с самой маленькой. Будьте внимательны вставляя последнюю шестеренку — она по особенному крепиться на ось бывшего потенциометра, так как наконечник оси выполнен в форме буквы D. Надо, чтобы этот выступ попал в углубление в шестеренке. Получается что-то, похожее на следующую картинку.
Одеваем верхнюю крышку на редуктор, чтобы он не развалился в ходе дальнейшей работы.
Ну что, осталось не так и много. Берем провод с коннектором который мы ранее откусили от платы и разделяем в нем проводки. Не стоит разделять из на большое расстояние, по факту одного сантиметра вполне достаточно.

Зачищаем два из них (по сути любых, но я использовал красный и зеленый). Достаточно срезать около 3мм изоляции. Для наших целей — более чем.
Оставшийся не зачищенный провод просто загибаем чтобы он нам не мешался.Переходим к горяченькому. Самое время нагревать паяльник. За то время, что паяльник греется я устроил поудобнее сервопривод в захвате.
Первым делом надо будем убрать остатки старого припоя которые остались на контактах двигателя. Я это делаю с помощью оловоотсоса, предварительно разогрев контакт паяльником до такого состояния, чтобы припой расплавился. Главное тут не перестараться — задняя крышка моторчика все же пластмассовая и долго греться не любит. Процесс выглядит примерно так:
Я понимаю, что возможно и не сильно заметно что я сделал, но припоя на контактах не осталось практически, чего я и добивался.
Замечательные статьи по пайке есть в DI HALT’а. Он вообще гений, как мне кажется. , там кроме пайки очень много всего на самом деле, просто поищите поиском.
Если коротко, то для того, чтобы сделать хорошую пайку — надо всегда избавиться в начале от старого припоя.
Осталось припаять два провода. Кто знаком с пайкой — справиться за 5 секунда. Кто как я во-второй раз в жизни нормально взялся за паяльник понадобиться чуть больше времени, но все равно — это очень просто, такое сделать может каждый.
Во время пайки я использую флюс который, надо признать, делает работу легче в разы и качество пайки с ним обеспечить намного проще. Лично мне по совету, опять же, DI HALT’а на его блоге уже успел полюбиться ЛТИ-120. У меня он во в такой модной баночке сразу с кисточкой.
Обильно промазываем контакты и провода которые собираемся паять этим самым флюсом — жалеть его не надо.
И пока флюс не высох припаиваем в начале один провод.
И снова флюс и паяем.

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

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

После долгих и многократных обещаний себе и всем окружающим, я наконец расскажу как модернизировать и превратить её в убермоторчик.
Достоинства очевидны — мотор редуктор, который можно подключать напрямую к МК без всяких драйверов это круто!
А если серва с подшипниками, да ещё и шестерни металлические, это ваащеее=)
Отмазки
Некоторые действия по переделке серв необратимы и иначе как вандализмом их назвать нельзя.
Всё что далее описывается вы можете повторять, но на свой страх и риск. Если в результате ваших действий безвозвратно погибнет ваша топовая футаба-брендовая, титан-карботовая, суперинтеллектуальная, безынерционная, ручной работы серва за стопицот денег — мы тут совершенно не причём 😉

Так же обратите внимание — шестерни сервы довольно густо обмазаны смазкой — не стоит разбирать их в белоснежной сорочке и на бархатном диване.
Так, запугали, теперь, для успокоения, немного теории=)
Серва, как мы , управляется импульсами переменной ширины — они задают угол на который должен повернутся выходной вал (скажем, самые узкие — до упора влево, самые широкие — до упора вправо). Текущее положение вала считывается мозгами сервы с потенциометра, который своим движком связан с выходным валом.
Причём, чем больше разница текущего и заданного углов, тем с большей скоростью вал рванёт в нужную сторону.
Вот именно в этом месте и зарыто многообразие возможных вариантов переделки.
Если мы «введём серву в заблуждение»=) — рассоеденим потенциометр и вал, и заставим считать, что движок потенциометра находится в средней точке, то сможем управлять скоростью и направлением вращения. И всего по одному сигнальному проводу!
Теперь импульсы соответствующие среднему положению выходного вала — это нулевая скорость, чем шире (от «нулевой» ширины) тем быстрее вращение вправо, чем уже (от «нулевой» ширины) тем быстрее вращение влево.
Отсюда следует одно важное свойство серв постоянного вращения — они
не могут поворачиваться на опредёлённый угол, вертется строго определённое количество оборотов и т.п.(мы ведь сами убрали обратную связь) — это в общем-то и не серва уже, а мотор редуктор со встроенным драйвером.
Методов «рассоединения» и «введения в заблуждение» несколько — рассмотрим их на практике.
Простейшую переделку покажу на примере двух серв — и (Внутренности их более подробно можете разглядеть и )
Итак, прежде всего придётся машинку разобрать
раскручиваем, аккуратно снимаем верхнюю крышку


И снимаем выходную шестерню


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


самая первая мысль, которая приходит в голову — убрать гибкий элемент(муфту) оставив вал резистора в среднем положении. Попробуем.
Для этого накатаем «калибровочный» скетч (ставящий качалку «обычной» сервы в среднее положение)
#include <Servo.h> Servo myservo; // создаём объект servo void setup() { myservo.attach(9); // серву на 9 ногу myservo.write(90); // и повернуть в среднее положение } void loop() { //тупим в вечной петле } и подключим к ардуине нашу вскрытую машинку.
Так как резистор у нас не в среднем положении — серва начинает весело крутиться (иногда разбрасывая смазку=).

Вращаем резистор и добиваемся не просто остановки, но полной тишины (чтоб не жужжало и не гудело нечего внутри) Кстати, сделать это не слишком просто — довольно тонкая настройка. Отсюда и первый очевидный минус этого решения — ударили/встряхнули подогрели/остудили уже собранную серву — нулевая точка вполне может уползти. Конечно, можно зафиксировать вал клеем…

Обратите внимание на подключение мощных серв (типа MG995) — чтобы избежать перегрузок (и резета) при старте, рекомендую плату питать от внешнего источника (не USB) и повесить прям на разъём электролитический конденсатор ~100мкф:


Далее вытаскиваем гибкий элемент вместе с нижним подшипником


В случае с MG995, чуть сложнее, сидит там всё плотно — приходится выбивать через сквозное отверстие в выходном валу — замечательно подходит винт от корпуса. Гибкий элемент довольно твёрд=) и при такой операции не страдает.


муфту в сторону, подшипник на место


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


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


собираем всё на место, заливаем в дуину стандартный пример knob, крутим смотрим, радуемся.
Тут зарыт второй недостаток такой мягкой переделки — если нулевая точка несмотря на приклеенный резистор всё же уползла, или её приспичит сместить — придётся всё разбирать=(
Поэтому более грамотный метод — замена потенциометра подстроечником.
Можно, выкрутив винт и отогнув защёлки, вынуть потенциометр

а вместо него впаять подстрочный резистор на те же 5Ком

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

Вроде и так не плохо вышло=)
Выламываем защёлку потенциометра — в неё упирался подстроечник и сверлим корпус сервы для доступа к его движку

Теперь осталось настроить нулевую точку калибровочным скетчем, и можно пользоваться=)
Если не хочется ничего подстраивать, приклеивать и дырявить корпус можно потенциометр заменить двумя постоянными резисторами по 2-2.2Ком — они будут изображать из себя левое и правое «плечо» потенциометра.

если можете найти/припаять SMD — вообще красиво будет:

Но тогда в точку покоя вы можете и не попасть(из-за разброса значений сопротивлений резисторов плечи выйдут не равными)- у меня на калибровочном скетче с выводными жужжала, с SMD потихоньку вертелась — подстройка в ноль только программно и индивидуально.
Тем не менее именно такой способ наиболее применим для мелких серв.
Продемонстрируем на примере :
Разбираем

Стягиваем выходную шестерню — она туго сидит на латунном валу потенциометра

Снимаем остальные шестерни, чтоб добраться до потенциометра

Хорошо видно, что выходная шестерня сидит на валу потенциометра за счёт чёрной пластмассовой втулки, её же выступ является стопором.
Тут возможны два варианта: либо ломать потенциометр — убирать ограничители(и бегунок) так, чтобы его вал свободно вращался по кругу, либо нужно обточить(надфилем, шкуркой)его вал так, чтобы выходная шестерня свободно вращалась на нём.
Второй вариант выглядит более привлекательным — ломать не надо, серву при желании можно восстановить зафиксировав шестерню на валу клеем (или просто облудив с наплывом вал потенциометра). Однако точить пришлось долго — пластиковая втулка очень плотно обжимает вал — если не доточить — цепляется, повизгивает и
и неравномерно вращается — чуть переточишь — начинает болтаться и опять же шуметь. Можно конечно рассверлить втулку… В любом случае для такой переделки точность и аккуратность нужны повышенные да и повторяемость низкая, короче не понравилось. Фоток данного варианта не делал, ИМХО тут и так всё понятно.

Будем ломать.
Сначала подцепить отвёрткой уши ограничителя и бегунок

Потом кусачками откусить/загнуть чтобы не мешались — вот тут действительно вандализм=)

Должно получиться, например, так:

Срезаем стопор с пластиковой втулки

Тут есть один момент — втулка заходит на зубья и при вращении зубья ведущей шестерни будут упираться — можно подрезать впадины лезвием — так по веселее приработается=)

Редуктор теперь можно собрать, займёмся электроникой.
Снимаем нижнюю крышку, вытаскиваем плату:

Наблюдаем провода к потенциометру — он у нас уже уничтожен, провода ему больше не нужны, отпаиваем/откусываем

А вместо них к плате паяем пару резисторов на 2.2Ком вот таким манером

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

И запихнём всё на место

Закручиваем, запускаем, радуемся
Все эти переделки имеют пару недостатков:
Во-первых — сложность установки нулевой точки — требуется тонкая настройка
Во-вторых очень узкий диапазон регулировки — довольно малое изменение ширины импульса вызывает довольно большое изменение скорости(см видео).
Диапазон можно расширить программно — просто надо иметь ввиду, что диапазон регулировки ширины импульсов (от полного хода по часовой до полного хода против часовой стрелки) переделанной сервы соответствует 80-140 градусам (в AduinoIDE, библиотека Servo).
например в скетче knob достаточно поменять строчку:

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

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

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

Деньги и настройки

В нижней части ценового диапазона большинство сервоприводов используют триммеры или пресеты для настройки алгоритмов управления. Хорошим примером такого сервопривода является G320X от Geckodrive Motor Controls. Хотя такие драйверы являются прекрасными «исполнителями», настройки крошечных потенциометров, находящихся на печатной плате, довольно размыты. Это может стать проблемой, так как настройки триммера трудно повторить. При параллельной работе нескольких систем невозможно установить все потенциометры в одно и то же положение «на глаз».

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

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