Wrap-Компенсация (Wrap Compensation)

Теория, тригонометрические формулы и алгоритмы расчета осей

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

При перемещении каретки (гондолы) угол наклона ремня постоянно меняется. Точка, в которой ремень физически отрывается от шкива, начинает «скользить» (смещаться) по окружности шкива. Ремень либо наматывается на шкив, либо сматывается с него. Это явление называется геометрическим обертыванием, а его учет — Wrap-компенсацией.

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

Математическое ядро кинематики

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

Чертёж 1: Тригонометрия прямоугольного треугольника схода ремня
M (Центр) G (Гондола) lfree h (Гипотенуза) r T (Сход)

Математическая модель, заложенная в прошивку станка (HarpGraph.cpp), рассчитывает параметры следующим образом для каждого шага:

h = sqrt(dx² + dy²) // Расстояние от центра шкива M(mx, my) до центра гондолы G(gx, gy)
lfree = sqrt(h² - r²) // Длина свободного (прямого) участка ремня по теореме Пифагора (ΔMTG)
alpha = atan2(dy, dx) // Абсолютный угол направления от центра шкива на гондолу
beta = arccos(r / h) // Внутренний угол треугольника между гипотенузой h и радиусом r
theta = alpha + s * beta // Финальный полярный угол точки касания T на окружности шкива
L = lfree - s * r * theta // Полная длина ремня, которой управляет мотор

Здесь коэффициент s — знак обхода квадранта рамы. Так как ремни заходят на шкивы строго изнутри несущей силовой рамы, знаки распределяются следующим образом:

Чертёж 2: Динамическая симуляция вектора схода ремня

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

450
250
50

Почему это критически важно?

Если каретка движется по идеальной горизонтальной линии в декартовых координатах, то без wrap-компенсации моторы будут выдавать линейное количество шагов. Однако из-за изменения углов схода реальная траектория на холсте превратится в выраженную дугу (подушкообразное искажение).

Внедрение этих формул непосредственно в планировщик траектории микрошагов FluidNC позволяет HarpGraph сохранять безупречную декартову прямолинейность векторов в любой точке рабочего поля.