Смекни!
smekni.com

Темы для ов Контрольное задание 1 (стр. 6 из 10)

Методические указания к решению задачи 2

В большинстве систем ЧПУ одной из основных задач является обеспечение движения инструмента относительно детали по заданной траектории. Траектория движения аппроксимируется набором отрезков прямых и окружностей. Расчёт текущих значений координат при решении геометрической задачи управления называется интерполяцией.

Дискретность перемещения по координатам hx, hy, hz определяется конструкцией станка и составляет единицы или десятки мкм.

Задание приращений по двум осям координат при hx = hy еще не определит заданного прямолинейного движения инструмента между точками.

Если координаты существенно неравны (например, х = 13мм, y = 5мм при hx = hy = 0,01 мм), то по одной координате в кадре необходимо выдать 1300 импульсов, а по другой - 500. При этом время движения по оси Х не будет равно времени движения поY и заданная траектория будет искажена (как показано на рисунке).

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

Алгоритмы интерполяции можно разделить на алгоритмы единичных приращений: метод цифро-дифференциальных анализаторов, оценочной функции и алгоритмы равных времен: методы цифрового интегрирования, итерационно-табличные методы, прогноза и коррекции [4;6].

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

Fi = yi·X - xi·Y,

где

,
– требуемые перемещения в кадре.

При проведении интерполяции осуществляют либо обычный алгоритм, либо – усовершенствованный. При обычном алгоритме расчеты значений оценочной функции осуществляют так:

- если сделан шаг по оси Х, то

Fi+1 = yi·X – (xi + 1)·Y = yi·X – xi·Y – Y = Fi – Y,

- если сделан шаг по оси Y

Fi+1 = (yi + 1)·X – xi·Y = yi·X + X – xi·Y = Fi + X.

При усовершенствованном алгоритме:

- если сделан шаг одновременно вдоль оси Х и Y

Fi+1 = (yi + 1)·X – (xi + 1)·Y = yi·X + X – xi·Y – Y = Fi + X – Y.

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

Пример.

Пусть необходимо осуществить приращение в кадре в абстрактных машинных единицах ∆α = 6; ∆β = 4. Расчетные значения сведены в таблицу 9.


Таблица 9

Такт i

Шаг по осям

Текущее значение

Оценочная функция

α

β

αi

βi

Fi = Fi – Δβ ≥ 0 (α) Fi = Fi + ∆α – Δβ < 0 (α и β)

0

-

-

0

0

F0 = 0

1

1

-

1

0

F1 = 0 – 4 = - 4

2

1

1

2

1

F2 = - 4 + 6 – 4 = - 2

3

1

1

3

2

F3 = - 2 + 6 – 4 = 0

4

1

0

4

2

F4 = 0 – 4 = - 4

5

1

1

5

3

F5 = - 4 + 6 – 4 = - 2

6

1

1

6

4

F6 = - 2 + 6 – 4 = 0

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

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

,

где h – дискретность перемещения по координате;

Тк – время реализации алгоритма (период квантования);

к – число одновременно работающих координат.

Задача 3. Используя метод оценочной функции при круговой интерполяции, построить интерполяционную траекторию при движении из точки с координатами А0 (10, 0) в точку Ак (0, 10).

Методические указания к решению задачи 3

При круговой интерполяции следует использовать оценочную функцию вида:

Fi = xi2 + yi2 – R2.

При отработке траектории в 1 квадранте против часовой стрелки, если применяется обычный алгоритм интерполяции, то расчетные соотношения примут вид:

· если Fi ≥ 0 (нахождение за пределом радиуса окружности), то шаг делается вдоль отрицательного направления оси х, т. е. хi+1 = xi – 1

Fi+1 =(xi – 1)2 +yi2 – R2 = Fi – 2xi + 1,

· если Fi < 0, то шаг делается в положительном направлении оси у, т. е. yi+1 = yi + 1

Fi+1 =xi2 + (yi +1)2 – R2 = Fi + 2yi + 1.

При применении усовершенствованного алгоритма рекомендуется разбить квадрант пополам (π/4). При изменении угла от φ = 0, до φ =π/4 и при Fi ≥ 0 выдача шагов осуществляется по обеим координатам:

Fi+1 =(xi – 1)2 +(yi +1)2 – R2 = Fi – 2(xi – yi) + 2,

а при Fi < 0 только по ведущей координате (уi)

Fi+1 = Fi + 2yi + 1.

При изменении угла от π/4 до π/2 и Fi < 0 выдача шагов производится по обеим координатам, а при Fi ≥ 0 только по ведущей координате (хi)

Fi+1 = Fi – 2xi + 1.

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

Если перемещение должно осуществляться в других квадрантах в выбранном направлении (по часовой стрелке или против часовой стрелки), то аналогично рассмотренному выше можно получить необходимые расчетные соотношения для Fi+1.

Приведенный ниже алгоритм предназначен для реализации метода оценочной функции во всех 4 квадрантах при движении в любом направлении [5]:

Принятые обозначения: I, J – координаты центра дуги;

r – радиус дуги;

τ – такт;

F – скорость подачи, мм/ мин;

d = h – дискретность системы ЧПУ, мм;

ун, хн – начальная точка;

ук, хк – конечная точка.

CIR: if TAKT > 1 then go to CYCLE

read xн , ун , хкк , I, J, ±F

r = sqr((xн – I)2 + (ун - J)2)

x = xн ; y = ун ; codx = x; cody = y; f = 0

U= int(F*τ/(60*d));

if xн = I and ун > J then αн = π/2

if xн = I and ун < J then αн = 3*π/2

if xн > I then αн = atn((ун – J)/( xн – I))

if xн < I then αн = π + atn((ун – J)/( xн – I))

if xк = I and ук > J then αк = π/2

if xк = I and ук < J then αк = 3*π/2

if xк > I then αк = atn((ук – J)/( xк – I))

if xк < I then αк = π + atn((ук – J)/( xк – I))

if sgn(αн - αк) = sgn(U) then ∆α = abs(αн - αк)

else ∆α = 2π - abs(αн - αк)

L = 4 * r * ∆α/π ; l = 0

CYCLE: X = x – I; Y = y – J;

if abs(X) >= abs(Y) and sgn(f*sgn(X)*sgn(Y)) = sgn(U)

then(y = y – U*sgn(X); f = f – 2*Y*sgn(X) + U; go to END);

if abs(X) < abs(Y) and sgn(f*sgn(X)*sgn(Y) < > sgn(U)

then (X = X + U*sgn(Y); f = f + 2*X*sgn(Y) + U; go to END);

x = x + U*sgn(Y); y = y – U*sgn(X);

f = + 2*(abs(X) – abs(Y))*sgn(Y) + 2*U;

END: l = l + abs(X – codx) + abs(y – cody);

codx = x; cody = y;

if l < L then TAKT = TAKT + 1

else TAKT = 1

RETURN

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