Modern High Technologiesrae.ru
Scientific journal

Modern High Technologies

ISSN 1812-7320VAK ListRSCI IF = 1,279

CONTROL SYSTEM FOR MULTI-AXIS MECHATRONIC DEVICES WITH INTERCONNECTED ELECTRIC DRIVES

Grekov E.L.1,Shelikhov E.S.1,Kochkovskaya S.S.1
1Orenburg State University named after V.A. Bondarenko

Введение

Современная система управления многокоординатными мехатронными устройствами различного назначения (солнечные трекеры, 3D-принтеры, экзоскелеты и т. д.) позволяет позиционировать их электроприводы и реализовывать перемещения по сложному пространственному маршруту (траектории) [1–3].

В большинстве случаев пространственную траекторию можно представить в виде ломаной линии, состоящей из прямолинейных отрезков – кадров [4, 5]. Соответственно, главной задачей модуля управления является отработка движения по кадрам путем решения дифференциальных уравнений скорости и перемещения [6–8].

Актуальность данной работы обусловлена высоким спросом на разработку современного автоматизированного оборудования, позволяющего осуществлять взаимосвязанные многокоординатные перемещения в пространстве для выполнения различных технологических задач (слежение за объектом, пространственная печать и др.) [9, 10].

Цель исследования – разработка структуры и алгоритмов системы управления многокоординатными мехатронными устройствами с взаимосвязанными электроприводами.

В работе решаются следующие задачи:

– разработка математического обеспечения для формирования тахограммы взаимосвязанных электроприводов с ограничением ускорения пространственного вектора скорости и определения его модуля при переключении между кадрами, определяющими кусочно-линейную траекторию движения с ограничением ускорения;

– разработка математического обеспечения определения тахограммы замедления движения при достижении окончания буфера кадров с ограничением ускорения пространственного вектора скорости;

– разработка математического обеспечения формирования тактовых импульсов Step управления шаговыми двигателями с помощью периферийных таймеров, встроенных в микроконтроллер;

– составление структурной схемы программного обеспечения модуля управления многокоординатными устройствами с взаимосвязанными электроприводами.

Материалы и методы исследования

Для достижения поставленной цели и решения сформулированных задач в работе использован комплексный подход, сочетающий методы математического моделирования, алгоритмизации и программно-аппаратной реализации. Основой исследования является метод пространственного векторного анализа для описания движения по кусочно-линейной траектории. Ключевым элементом исследования является разработка метода определения безопасной скорости переключения между смежными кадрами без полной остановки.

Для предотвращения аварийных ситуаций при исчерпании буфера кадров предложен метод предиктивного планирования торможения. Для генерации управляющих сигналов Step/Dir разработан метод компенсации временной неравномерности импульсов.

Экспериментальное и вычислительное ядро системы реализовано на базе 32-битного микроконтроллера STM32. В качестве операционной среды используется FreeRTOS, что позволяет организовать многопоточные вычисления в реальном времени.

Результаты исследования и их обсуждение

Условия задачи построения программно-аппаратной системы управления взаимосвязанными приводами:

– пространственное перемещение рабочего органа определяется конечными точками, определенными в последовательности кадров, загруженных в программный буфер устройства;

– количество кадров в буфере изначально неизвестно и может варьироваться от нуля (тогда устройство заканчивает движение к крайней точке или находится в ожидании) до максимального возможного значения;

– движение рабочего органа должно происходить с ограничением скорости и ускорения максимальным значением;

– при наличии нескольких кадров в буфере необходимо рассчитать такой профиль тахограммы приводов, чтобы с одной стороны движение по кадрам было максимально быстрым, а с другой – ускорения ограничивались бы максимальным значением;

– кадры поступают к устройству извне либо через физический интерфейс связи, либо через механизм очереди Queue операционной системы реального времени FreeRTOS, если расчет кадров проводится параллельным потоком.

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

– конечная координата Xкон в виде многокоординатного вектора (Xкон.1, Xкон.2, Xкон.3, …) с размерностью количества импульсов Step перемещения серводвигателя;

– максимальная скорость перемещения в пространстве Fmax с размерностью количества импульсов перемещения в секунду (1/с), фактически являющейся частотой следования импульсов управления сервоприводами.

Рис. 1. Структура программного обеспечения модуля управления Примечание: составлен авторами по результатам данного исследования

Максимально допустимое ускорение задано с помощью команды конфигурации с размерностью количества импульсов перемещения в секунду за секунду (1/с2). Здесь и далее в статье под скоростью перемещения и ускорением будем понимать частоту следования импульсов управления и ее производную по времени.

С помощью операционной системы реального времени FreeRTOS программа разделена на два параллельно выполняемых потока. Поток 1 рассчитывает параметры следующего кадра и определяет профиль изменения скорости по каждой координате. При этом поток затормаживается до конца выполнения текущего кадра семафором #EndKadr. Рассчитанные параметры кадра передаются подпрограмме прерывания тактового таймера, в котором решаются дифференциальные уравнения скорости и положения. По достижении конечного положения высвобождается семафор #EndKadr и поток 1 рассчитывает параметры следующего кадра.

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

Команды на электроприводы (шаговые двигатели, сервоприводы) подаются в формате Step/Dir. Каждый импульс Step перемещает рабочий орган на определенное расстояние. Скорость перемещения определяется частотой импульсов, а направление – сигналом Dir.

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

Расчетные параметры каждого кадра включают в себя массив данных, описывающих физическое движение по каждой оси одновременно (j = 1–6 – номер оси): начальное и конечное положения Xнач.j, Xкон.j; начальная скорость в начале кадра Fнач.j (1/с); конечная скорость в конце кадра Fкон.j (1/с); максимальная скорость Fmax.j (1/с); ускорение при пуске и торможении dFj (1/с2); расстояние от начала торможения до конца кадра Xкон.j. Критерием оптимальности являются такие значения представленных параметров, при которых обеспечиваются минимальные динамические нагрузки [11].

Вышеобозначенные параметры являются проекциями единых векторов скорости F, ускорения dF и позиционирования X в масштабе перемещения от начала Xнач.j до конца Xкон.j кадра по осям:

, (1)

где ΔX, ΔXj – перемещение по кадру в пространстве и в проекциях по осям (импульсы);

Xкон.j – конечная координата перемещения в текущем кадре (импульсы);

Xнач.j – конечная координата перемещения в предыдущем кадре (импульсы);

YY – параметр скорости Fнач, Fкон, Fmax и ускорения dF.

По третьей формуле системы (1) осуществляется перерасчет всех параметров – скорости Fнач, Fкон, Fmax и ускорения dF при подстановке вместо YY соответствующих переменных.

На рис. 2 показан пример соотношения между скоростями Fj и перемещениями ΔXj одного кадра.

Как видно из рисунка, для каждого сервопривода в зависимости от распределения перемещения по осям профиль скорости имеет различную максимальную скорость и ускорения при пуске и торможении, рассчитанные по (1) для каждого кадра. Так как по условию максимальное пространственное ускорение задано, то пути каждого привода в моменты равноускоренного пуска и торможения можно определить по известным формулам. В случае, когда суммарный путь пуска и торможения будет по расчету больше, чем перемещения ΔXj, формируется треугольный профиль тахограммы, когда скорость привода не достигает рассчитанной максимальной скорости Fmax.j.

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

Поэтому с целью оптимизации скорости перемещения рабочего органа по сложному контуру имеет смысл затормаживаться в конце кадра не до нулевой скорости, а только до заранее рассчитанной скорости переключения Fперекл, безопасной с точки зрения максимально допустимого ускорения механизмов. На рис. 3, б, представлен график изменения скоростей по осям при переходе с одного кадра на другой. Так как направление вектора скорости в следующем кадре может отличаться от текущего, то согласно уравнениям (1) при ненулевой скорости переключения произойдет ступенчатое изменение проекций.

Для определения безопасной скорости переключения будем считать, что модуль вектора скорости |Fn| на текущем и следующем кадре одинаков. Меняется только распределение проекций по координатам вектора скорости.

Проекции вектора скорости будут пропорциональны относительным перемещениям (n – текущий кадр, n+1 – следующий кадр):

, (2)

где Mn.j, Mn+1.j – коэффициенты масштабирования модуля пространственного вектора скорости для определения значений проекций по осям Fn, Fn+1 для текущего и следующего кадров.

а)

б)

Рис. 2. Пример соотношения скоростей (а) и перемещений (б) по осям Примечание: составлен авторами на основе источника [11]

Рис. 3. Ступенчатое изменение скорости при переходе между кадрами Примечание: составлен авторами по результатам данного исследования

Ускорение при переходе с одного кадра на другой можно оценить как приращение скорости Fn+1.j­ – Fn.j­ за приращение времени, равное периоду между импульсами до (Δtn.j = 1 / Fn.j) и после (Δtn+1.j = 1 / Fn+1.j) перехода. Тогда ускорение

. (3)

Для упрощения выражения примем Mn+1.j ≈ Mn.j:

. (4)

Рис. 4. Расчет скоростей перехода с учетом будущих кадров Примечание: составлен авторами по результатам данного исследования

Как видно из уравнения (4), если следующий кадр будет являться продолжением по направлению к предыдущему (относительные перемещения равны Mn.j = Mn+1.j), то скорость перехода стремится к бесконечности и должна ограничиваться максимальным значением. В случае же изменения направления движения в следующем кадре приводы будут затормаживаться до определенной скорости. И эта скорость будет тем меньше, чем значительней будет отклонение направления. При этом ускорение приводов при переходе с одного кадра на другой будет на уровне допустимого.

В случае разбиения криволинейной траектории на небольшие отрезки возможна ситуация, когда электроприводы не смогут быстро остановиться, вследствие, например, окончания буфера кадров или слишком резкого изменения траектории. Для этого необходимо просчитывать значения скоростей перехода на несколько кадров вперед и выбирать такие, которые бы обеспечивали безопасную остановку электроприводов. Для этого в программное обеспечение введен поток 2, который просчитывает несколько кадров вперед и передает потоку 1 безопасную скорость переключения Fперекл.

На рис. 4 показана схема расчета скоростей перехода потоком 2 программы.

Каждый раз поток 2 рассчитывает траекторию остановки с допустимым ускорением. Если рассчитанная точка остановки выходит за величину перемещения, указанного в последнем кадре буфера, то конечная скорость следующего кадра будет определяться с учетом замедления (кадры n + 2, n + 3, n + 4).

Импульсы Step формируются встроенными в микроконтроллер таймерами (рис. 1) в режиме однократного импульса ШИМ (широтно-импульсная модуляция) [12]. Расчет дифференциального уравнения перемещения ведется в переменных с фиксированной запятой с 32 разрядами на целую часть и 32 разрядами на дробную часть (XInt32, XFrac32). Каждый раз, когда при расчете изменяется целая часть переменной перемещения XInt32 на единицу, включается соответствующий таймер для однократного формирования импульса. Следовательно, частота тактового таймера для расчета уравнений движения должна быть как минимум вдвое больше, чем максимальная скорость перемещения (частота импульсов Step).

Для устранения дрожания импульсов (jitter) положение импульса рассчитывается с учетом дробной части XFrac32, как показано на рис. 5. Если в конце текущего такта расчета (Тактn+1) целая часть увеличивается на 1, включается таймер ШИМ, а уровень компаратора таймера для определения позиции начала одиночного импульса:

, (5)

где TIMmax – максимальное значение таймера микроконтроллера, при котором он переполняется, сбрасывается в ноль и формирует аппаратное прерывание;

Xn+1, Xn+2 – расчетная величина перемещения на n + 1 и n + 2 шагах расчета;

Trunc() – функция определения целой части числа.

Индекс Fraс32 в (5) показывает, что для расчета берется дробная часть числа.

Рис. 5. Зависимость положения импульса Step от дробной части координаты X Примечание: составлен авторами по результатам данного исследования

В соответствии с положениями импульса, представленными на рис. 4, формуле (5):

;

;

;

.

Разработанные математические и программные решения применимы в системах управления с числом осей до шести и могут быть адаптированы для шаговых электроприводов [13, 14]. Например, при разработке специализированного программного обеспечения для управления солнечными трекерами [15, 16].

Выводы

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

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

– предложена структурная схема программного модуля, построенного на базе микроконтроллера STM32 и операционной системы реального времени FreeRTOS. Схема включает два параллельных потока: первый отвечает за расчет параметров текущего кадра, второй – за упреждающий расчет скорости переключения для будущих кадров. Синхронизация потоков реализована с помощью семафора, что гарантирует корректную работу в реальном времени;

– предложен метод предварительного расчета замедления, выполняемого вторым потоком на несколько кадров вперед. Обеспечивается безопасная остановка электроприводов при исчерпании буфера или резком изменении траектории с учетом ограничения ускорения.

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


Conflict of Interest
The authors declare that there is no conflict of interest

Funding
The research was performed without external funding

Bibliographic Reference

Grekov E.L., Shelikhov E.S., Kochkovskaya S.S. CONTROL SYSTEM FOR MULTI-AXIS MECHATRONIC DEVICES WITH INTERCONNECTED ELECTRIC DRIVES // Modern High Technologies. 2026. No. 9. pp. 35-42;
URL: https://top-technologies.ru/en/article/view?id=40926 (accessed: 12/10/2026).