Появилась мысль как можно программно частично убрать люфты.
Я назвал эти методы "
Нахождение и вход в заготовку вдоль оси люфта"
Условия: допустим все люфты,
кроме одного (вертикального) отсутствую и станок у нас абсолютно жесткий. Остался люфт на суставе В. Его и планируется этим способом убрать.
Т.е. на его примере я хочу показать этот способ.
Это вертикальный люфт, например люфт редуктора или подшипника. Т.е. сустав можно рукой крутить на какой-то угол:
вставлю чуть позже рисунок...
-----------------------
Это мне напомнило
велосипед - когда едешь и крутишь педали - цепь натянута на звездочку(люфты "выбраны"), но как только тебе нужно остановиться и для этого - прокрутить педали в обратную сторону. Начинаешь педали крутить в обратную сторону - вначале натянутая цепь провисает из-за люфтов - а тормоз не сработает пока не "выберется" люфт. Когда
люфт "выбран" и цепь натянута в обратную сторону, тогда слышишь щелчок и начинаешь чувствовать усилие и торможение...
надеюсь я смог словами донести образы...
или например
разбитая жизнью
советская ручка от балкона. Если её медленно поворачивать чтобы открыть балкон - вначале ручка легко/свободно поворачивается, но ничего не происходит - замок не открывается. Это выбирается/убирается люфт. Затем происходит "удар" и далее с усилием поворачивая ручку - открываем балкон.
чтобы еще такое яркое привести в пример...?
-----------------------
На этом суставе В стоит датчик положения. Суть идеи - зарегистрировать и измерить его этот люфт, а точнее
угол биения - начало угла и количество градусов.
Для этого заставляем двигатель В из точки 0 проехаться в положение макс. При этом сустав С - при движении будет описывать окружность.
В точке G из-за люфта и из-за прохождения максимума окружности центром тяжести рукой
- вначале
рука начнет падать(начало угла биения), при этом двигатель не крутиться, но движение/вращение происходит,
-а потом резко остановится из-за "удара"(конец угла биения).
Таким образом мы найдем и начало угла и его конец.
позже вставлю рисунок...
Итак:
находим энкодером/датчиком это угол биения
(по другому: вершину/максимум окружности описываемую центром тяжести при вращении сустава В)
при котором центр тяжести перевешивает конструкцию в сторону с заготовкой.
А теперь
самое главное:
Понятно что при фрезеровании, когда сустав будет проходить этот угол биения
и рука под действием своего веса и люфта упадет - то это повредит заготовке и соответственно качеству.
Нужно не дать это сделать.
Метод 1: "поймать" энкодером на моменте когда рука начинает падать -
компенсировать люфт по принципу сигвэя и тем самым
не дать руке "упасть"(крутить двигатель в обратную сторону)

.
Но я предполагаю что потребуется не просто крутить двигатель в обратную сторону, а потребуется крутить его туда-сюда(например из-за усилий которые создает фреза), чтобы удержать равновесие.
Хотя взять тот же двухколесный сигвэй - он ведь держит равновесие даже под нагрузкой, правда там такая точность как у нас не нужна...
А если точно не удастся держать - качество снова пострадает. В общем - этот метод пока - не самый лучший. Возможно когда шаговые двигатели смогут регистрировать еще и
усилие, с которым им пришлось вращать/держать вал, то можно будет еще придумать пару способов...
Метод 2: не работать с заготовкой в положении угла биения. Т.е. вначале обеспечить чтобы рука прошла угол биения(например это можно сделать создав рычаг на том же суставе С - что сместит цент тяжести), а потом входить в заготовку. При этом люфт будет выбран собственным весом руки(точнее сказать-той частью-которая выше сустава В).
Остается проблема с усилием создаваемой фрезой. Эта проблема решится если вес руки будет достаточный чтобы фреза не смогла этого сделать. Т.е. - сделать руку потяжелее
Этим способом можно (подумать как) выбрать люфты на всех осях.
Ведь проблема не в том, что люфты есть, а в том какими методами они воздействуют на потерю качество!
Это потеря шагов, бения, "удары", вибрации... вот их-то я и предлагаю компенсировать программно.
У люфта часто есть ось или плоскость люфта, в которой он может лугять.
Вот я и предлагаю, найти у станка слабые места и
врезаться в заготовку вдоль оси люфта, тем самым на порядок увеличится качество даже в очень люфтовых станках.
Например: в заготовку часто можно входить под разными углами, при этом где-то есть люфт, где-то его нет, и если ось люфта направиться в заготовку, то под действием упругости при резании этот люфт выберется! ну или максимум - фреза не дорежет положенные ей доли миллиметра.
Это как рисовать карандашом линию. У большинства рука набита на вертикальную(горизонтальную) линию - причем лучше получаются линии - сверху вниз слева направо! Все остальные линии получаются не так ровно из-за тех же люфтов
Попробуйте провести ровную линию по диагонали справа налево, снизу вверх, а потом сравните качество этой линии со вертикальной и вы увидите разницу.
И что мы делаем если нам все же нужно нарисовать неудобную линию? - правильно - поворачиваем лист(заготовку) так, чтобы линия стала для нас вертикальной.
Кстати этот принцип применим к станкам всех типов.
Мне кажется станки портального типа выигрывают так же(еще "отсутствием" рычагов, хотя рычаг сам по себе не проблема - проблема в его побочных эффектах) и тем,
что конструкция портала большинство люфтов направляет вдоль оси входа в заготовку - т.е. вдоль оси Z.
Конечно есть и минусы: например мы вошли в заготовку вдоль оси люфта, под действием упругости заготовки люфт выбрался, причем потерю шагов мы компенсировали датчиками, но когда мы начнем выходить - тот же люфт начнет работать в обратном направлении- т.е. двигатель крутится - вытаскивает из заготовки фрезу, а она не вытаскивается(вспоминаем аналог - тормоз велосипеда), и теоретически может еще больше войти в заготовку из-за веса руки(если вошли в заготовку вертикально) и еще не выбранного люфта. Но это тоже должно быть решаемо.
Может я ошибаюсь - поправьте меня, но не вижу причин чтобы этот метод не работал.
Все он не уберет, но хуже сделать не должен.
Плюс этот метод кажется не "выберет" люфт если он "гуляет" в нескольких плоскостях одновременно... разве что на каждый сустав повесить еще один датчик?