СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №4/2015
РОБОТОТЕХНИКА 19 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 4 2015 Цифровая часть АЦП АЦП ЦАП Регулятор C(z) Привод Датчик Объект P(s) Тактовый генератор R(t) Y(t) + – R k Y k U k ∑ П РИМЕР РЕАЛИЗАЦИИ ЦИФРОВОЙ ЧАСТИ СИСТЕМЫ УПРАВЛЕНИЯ ДВИЖЕНИЕМ МОБИЛЬНОГО РОБОТА Большинство современных регулято- ров, использующихся в системах управ- ления, реализуются с применением микроконтроллеров и микропроцес- соров. В случае реализации контрол- лера на базе компьютерной системы управления процесс чтения с аналого- вых входов и установка выходов в опре- делённые состояния происходят с неко- торой периодичностью. По сравнению с вариантом аналоговой реализации это является недостатком, так как процесс выборки вносит временну ′ ю задержку в контур управления. На рисунке 5 пока- зана общая структурная схема системы управления, на которой выделена циф- ровая часть [3]. При программной реализации зако- на управления удобно будет разделить последовательность команд при обра- ботке прерывания на четыре функции, как это показано на рисунке 6. Очень важно чтение входного сигнала с дат- чиков и синхронизация записи управ- ляющего сигнала в цифро-аналоговый преобразователь (ЦАП) с правильной частотой. Поэтому эти процессы нахо- дятся в первой функции. В следующей функции, после сохранения значе- ния счётчика и извлечения значений ЦАП, которые уже вычислены на пре- дыдущемшаге, генерируются значения эталонных напряжений. Следом идут функции, включающие фильтры, кото- рые производят скалярное или же век- торное управление выходами. Наконец, реализуется пользовательский интер- фейс для проверки значений параме- тров, а также для дальнейшей настрой- ки и отладки. Создание эталонной траектории является стартовой точкой. Эталон- ная траектория используется в качестве целевого значения в процессе управле- ния и представляет собой набор значе- ний уставки при каждой обработке пре- рывания. В связи с этим она называется профилем движения. Правильное соз- дание этого профиля важно, посколь- ку из-за того, что целью практического сервоуправления является не регулиро- вание, а слежение, ошибки отслежива- ния и фиксации очень чувствительны к нему. Общий профиль трапециевид- ной формы вычисляется просто и тре- бует постоянного тока в периоды уско- рения и замедления. Однако сильные толчки (вследствие резких измене- ний ускорения и, следовательно, рез- ких изменений приложенной силы) могут являться причиной серьёзных повреждений в динамических системах и вызывать нежелательные вибрации. Поэтому нужен сглаженный профиль, что требует более затратных по време- ни вычислений. Простой профиль дви- жения можно задать при помощи поли- нома третьей степени: y(t) = a + bt + ct 2 + dt 3 , у . (t) = b + 2ct + 3dt 2 , y .. (t) = 2c + 6dt. На практике, уравнения, описываю- щие профиль движения, нормализуют и программируют в виде функций. При- няв ограничения: y(0) = 0, y(1) = 1, у . (0) = 0, у . (1) = 0, получим уравнения, которые уже реа- лизуются в программном коде: Здесь S – расстояние и T – время дви- жения. Во время работы для высокоскорост- ных сервосистем профиль скачка явля- ется константой, с большими измене- ниями на старте и при остановке. Это означает, что требуется высокая меха- ническая прочность. Даже при том, что вычислительные затраты возра- стут, возможно использование профи- лей, описываемых полиномами пято- го или седьмого порядка, для того, что- бы удовлетворить условиям ускорения или скачка. Профиль движения часто сохраняет- ся в оперативной памяти (ОЗУ) в виде таблицы или же помещается в функ- цию Reference_Generate() обработ- ки прерывания, как это показано на рисунке 6. В большинстве задач сле- жения в сервоуправлении создаётся профиль позиции. Тем не менее ско- рость и ускорение, также вычисляе- мые в функции обработки прерывания в реальном времени, используются как входы для предуправления. Они улуч- шают результаты отслеживания и рабо- ты алгоритма: POS ref = PosTabe (указатель) × Расстояние VEL ref = POS ref – POS ref, old (1) ACC ref = VEL ref – VEL ref, old . Здесь VEL ref и ACC ref не имеют реаль- ных эталонных значений скорости и ускорения. На практике эталонная скорость масштабируется на время прерывания, а ускорение – на квадрат времени прерывания, соответственно. Кроме того, ограничение разрядно- сти регистров цифрового сигнально- го процессора (DSP) или микропроцес- сора может стать причиной ошибок. Происходит это из-за потери знача- щих разрядов во время вычисления профиля скорости из профиля пози- ции с использованием простой форму- лы разности в алгоритме (1). Это озна- Рис. 5. Цифровая часть системы управления © СТА-ПРЕСС
RkJQdWJsaXNoZXIy MTQ4NjUy