Преобразование программной информации, интерполяторы. Схемы использования интерполяторов, страница 2

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

Исходным является чертеж детали, на основании которого технолог-программист определяет опорные точки. Движение между двумя соседними опорными точками производится по одному и тому же закону – по прямой линии, по окружности или по кривой более высокого порядка. Таким образом, для организации движения между двумя опорными точками необходим один кадр программы. Предположим, требуется смоделировать траекторию движения инструмента, изображенную на рис. 2. Между опорными точками А1А2 движение производится вдоль оси X в отрицательном направлении, между точками А2А3 – вдоль оси Y, между точками А3А4 – вдоль оси X в положительном направлении, между точками А4А5 и А5А6 – по прямой линии с соответствующим наклоном, между точками А5А6 – по дуге окружности.

Y  

Рис. 2. Траектория движения инструмента

Простейшим интерполятором является линейный. Принципиально сколь угодно сложную кривую можно аппроксимировать с помощью отрезков прямых. Предположим, необходимо смоделировать дугу окружности А1А5, изображенную на рис. 3,а. Она может быть аппроксимирована отрезками прямых А1А2, А2А3,..., А4А5. Чем больше таких отрезков, тем лучше будет приближение к действительной кривой, т. е. тем меньше погрешность δ. Однако большее число отрезков означает более трудоемкое программирование; возрастает также объем программы и программоносителя. Поэтому ограничивающим фактором при аппроксимации является допустимая погрешность δ.  При аппроксимации окружности N участками прямых центральный угол i-го участка найдем из соотношения 

                            αi =  + (i −1)ϕ= ϕ( + i −1) =ϕ(i ),

где ϕ = ( π/2)/N = π/(2N) – приращение угла на участке аппроксимации.

                           а)                                                 б)

Рис. 3. Аппроксимация дуги окружности отрезками прямых (а)  и последовательности импульсов на выходах линейного интерполятора (б)

Длина участка прямой L и погрешность δ (в первом приближении δ<<R) связаны соотношением

                                                    L = 2·   2Rδ .

С другой стороны, L = 2·R·sinϕ/2, что позволяет определить приращения координат в первом квадранте при известных L и ϕ:

                                           Δxi = Lcos(−ϕ (i ));

                                                    Δyi = Lsin(−ϕ(i )).

Скорость движения на траектории ν1 определяется требованиями технологии. Цикл работы интерполятора, т. е. время отработки кадра

                                 Δti = ti+1ti =     (Δxi )2 + (Δyi )2 vi .

Тогда скорость движения по координатам:

                                                                 Δxi =       Δxi              vi xi vi;

                                   vxi y              2              2              Δki

                                                                       i             Δxi yi

                                                                 Δyi =       Δyi              vi yi vi;

                                   vyi = Δti             Δxi2 +Δyi2             Δki

За время i-го цикла по координате X должно быть выдано 

Nxi = Δxi/ h импульсов с частотой

Nxi Δxivi   f = = ,

xi

                                                                                       Δti         hΔki

а по координате Y с частотой

Δyivi            f yi =  ,

hΔki

где h – цена деления импульса.

Обычно приращения координат подаются на вход интерполятора в двоичном коде, что позволяет записать

                              fxi          an,x 2n + an−1,x 2n−1 +...+ a1,x 21 + a0,x 20          Kx

          =      =      , n          n−1        1             0

                              f yi        an, y 2 + an−1, y 2      +...+ a1, y 2 + a0, y 2       K y