Научная статья на тему 'КОНСТРУИРОВАНИЕ ПРОТОТИПА БАЗОВОГО МОДУЛЯ МАСШТАБИРУЕМОЙ РОБОТЕХНИЧЕСКОЙ СИСТЕМЫ МОДЕЛИРОВАНИЯ СЛОЖНЫХ ПОВЕРХНОСТЕЙ ДЛЯ ДИНАМИЧЕСКИХ ИСПЫТАНИЙ'

КОНСТРУИРОВАНИЕ ПРОТОТИПА БАЗОВОГО МОДУЛЯ МАСШТАБИРУЕМОЙ РОБОТЕХНИЧЕСКОЙ СИСТЕМЫ МОДЕЛИРОВАНИЯ СЛОЖНЫХ ПОВЕРХНОСТЕЙ ДЛЯ ДИНАМИЧЕСКИХ ИСПЫТАНИЙ Текст научной статьи по специальности «Строительство и архитектура»

CC BY
12
2
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
Платформа Стюарта / микроконтроллер / динамические испытания / Python / CUBEIDE / Stewart platform / microcontroller / dynamic tests / Python / CUBEIDE

Аннотация научной статьи по строительству и архитектуре, автор научной работы — А В. Графкин, Д И. Понамаренко

Опираясь на ранее разработанную авторами данной статьи математическую модель управления платформой Стюарта, были получены углы поворота валов сервопривода при задании различных законов движения подвижной платформы в матричном виде. Разработана аппаратная часть прототипа базового модуля масштабируемой роботехнической системы моделирования сложных поверхностей для динамических испытаний. Приведены результаты расчётов максимальной допустимой нагрузки на валы сервоприводов. Приведены настройки CubeIDE для программирования микроконтроллера STM32. Получены результаты разработки программного обеспечения для управления данного прототипа, а именно написана библиотека управления шестью сервоприводами под управлением драйвера. Рассмотрены проблемы, которые могут возникнуть при вышеописанных разработках будущими разработчиками, получены варианты решения данных проблем. Описаны подробные конструкторские особенности данного прототипа, приведён код управления сервопривода, рассмотрены шаги по дальнейшей разработке роботехнической системы моделирования сложных поверхностей для динамических испытаний

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

CONSTRUCTION OF A PROTOTYPE OF THE BASIC MODULE OF A SCALABLE ROBOTIC SYSTEM FOR SIMULATION OF COMPOSITE SURFACES FOR DYNAMIC TESTS

The authors of the article developed a mathematical model of Stewart platform management. The angles of rotation of the servo shafts were obtained when setting various laws of motion of the mobile platform, in matrix mode. The hardware part of the prototype of the basic module of a scalable robotics system for modeling composite surfaces for dynamic tests was developed. The results of calculations of the maximum permissible load on the shafts of servos are presented. The CubeIDE settings for programming the STM32 microcontroller are given. The results of software development for the control of this prototype were obtained, namely, a library for controlling 6 servo drives under driver control was written. The problems that may arise during the above-described developments by future developers are considered, solutions to these problems are obtained. Detailed design features of this prototype are described, the control code of the servo drive is given; steps for further development of the final robotic system are considered

Текст научной работы на тему «КОНСТРУИРОВАНИЕ ПРОТОТИПА БАЗОВОГО МОДУЛЯ МАСШТАБИРУЕМОЙ РОБОТЕХНИЧЕСКОЙ СИСТЕМЫ МОДЕЛИРОВАНИЯ СЛОЖНЫХ ПОВЕРХНОСТЕЙ ДЛЯ ДИНАМИЧЕСКИХ ИСПЫТАНИЙ»

Information Science, Computing Technology and Control

УДК 62-529 DOI: 10.18287/2541-7533-2024-23-3-167-177

КОНСТРУИРОВАНИЕ ПРОТОТИПА БАЗОВОГО МОДУЛЯ МАСШТАБИРУЕМОЙ РОБОТЕХНИЧЕСКОЙ СИСТЕМЫ МОДЕЛИРОВАНИЯ СЛОЖНЫХ ПОВЕРХНОСТЕЙ ДЛЯ ДИНАМИЧЕСКИХ ИСПЫТАНИЙ

© 2024

А. В. Графкин доцент кафедры безопасности информационных систем;

Самарский национальный исследовательский университет имени академика С.П. Королёва; [email protected]

Д. И. Понамаренко старший преподаватель кафедры «Механика и инженерная графика»;

Приволжский государственный университет путей сообщения, г. Самара; [email protected]

Опираясь на ранее разработанную авторами данной статьи математическую модель управления платформой Стюарта, были получены углы поворота валов сервопривода при задании различных законов движения подвижной платформы в матричном виде. Разработана аппаратная часть прототипа базового модуля масштабируемой роботехнической системы моделирования сложных поверхностей для динамических испытаний. Приведены результаты расчётов максимальной допустимой нагрузки на валы сервоприводов. Приведены настройки CubelDE для программирования микроконтроллера STM32. Получены результаты разработки программного обеспечения для управления данного прототипа, а именно написана библиотека управления шестью сервоприводами под управлением драйвера. Рассмотрены проблемы, которые могут возникнуть при вышеописанных разработках будущими разработчиками, получены варианты решения данных проблем. Описаны подробные конструкторские особенности данного прототипа, приведён код управления сервопривода, рассмотрены шаги по дальнейшей разработке роботехнической системы моделирования сложных поверхностей для динамических испытаний.

Платформа Стюарта; микроконтроллер; динамические испытания; Python, CUBEIDE

Цитирование: Графкин А.В., Понамаренко Д.И. Конструирование прототипа базового модуля масштабируемой роботехнической системы моделирования сложных поверхностей для динамических испытаний // Вестник Самарского университета. Аэрокосмическая техника, технологии и машиностроение. 2024. Т. 23, № 3. С. 167-177. DOI: 10.18287/2541-7533-2024-23-3-167-177

Введение

Авторы в [1] построили математическую модель для разновидности платформенного манипулятора параллельной структуры с шестью степенями свободы на базе платформы Стюарта. Особенностями полученной модели являются:

а) решение получено для кинематической модели параллельной структуры с шестью степенями свободы;

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

в) возможность реализации масштабируемой роботехнической системы, состоящей из множества модулей;

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

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

Vestnik of Samara University. Aerospace and Mechanical Engineering

V. 23, no. 3, 2024

Авторы также разработали web-конструктор для управления данной системой [2]. Авторами данной статьи было проведено исследование по конструированию реального прототипа базового модуля масштабируемой роботехнической системы моделирования сложных поверхностей для динамических испытаний.

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

Исследования осуществлялись на основании результатов, описанных в [1]. В разработке использовались следующие геометрические характеристики будущего прототипа:

- длина шатуна, равная 200 мм;

- длина кривошипа, равная 40 мм;

- радиус основания, равный 100 мм;

- радиус платформы, равный 100 мм;

- угол между шарнирами, расположенными на валах сервоприводов, равен 60 градусов;

- угол между шарнирами, расположенными на подвижной платформе, равен 60 градусов;

- высота изначальная, равная 195 мм.

- высота основания, равная 0 мм.

Определившись с геометрическими характеристиками прототипа (рис. 1), проведём анализ необходимых комплектующих.

Рис. 1. Геометрические характеристики основания прототипа

Выбор материала

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

Information Science, Computing Technology and Control

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

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

Рис. 2. Возможные варианты кривошипа

Определение максимальной нагрузки

Необходимо вычислить, какую максимальную нагрузку может выдержать двигатель без поворота вала. Длина кривошипа, надетого на вал сервопривода, равна 0,06 м, крутящий момент при переводе с 1,6 кгс-см в Н-м, равен 0,15 Н-м, тогда сила, которую может удержать данный сервопривод, равна 0,15 Н - м/0,06 м = 2,5Н. При переводе в кг получаем 0,25 кг. Так как сервоприводов шесть, то суммарная нагрузка получается 0,25 - 6 = 1,5 кг. Данная нагрузка не учитывает предельный ток. Так как в характеристиках он не указан, то уменьшим нагрузку в 2 раза, тогда получается 0,75 кг.

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

Vestnik of Samara University. Aerospace and Mechanical Engineering

V. 23, no. 3, 2024

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

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

Выбор сервопривода

Следующим шагом является выбор сервопривода. С учётом анализа существующих сервоприводов, и максимальной нагрузки, рассчитанной ранее, был выбран сервопривод TOWERPRO SG90 9G со следующими характеристиками:

- угол поворота 360 градусов;

- без нагрузки скорость работы 0,12 с / 60 градусов (4,8 V); 0,10 с / 60 градусов (6,0 V);

- крутящий момент 1,6 кгс-см (4,8 V);

- рабочая температура от - 30 до + 60 °С.

Выбор микроконтроллера и драйвера

Необходимо выяснить, как управлять шестью сервоприводами. Отладочная плата STM32 позволяет управлять величиной угла поворота вала сервопривода при помощи PWM, но одновременно подключать такое количество устройств напрямую к отладочной плате не рекомендуется. Исходя из этого, необходимо выбрать драйвер, который позволит подключить устройства, не нагружая саму плату, так как на нём выведены отдельные контакты для питания сервоприводов, тем самым исключить возможность вывода самой отладочной платы из строя.

В результате анализа существующих драйверов был выбран модуль PCA9685, со следующими характеристиками:

- модель PCA9685;

- напряжения питания контроллера 3,3 или 5 В;

- питание сервоприводов: до 5.. .6 В;

- частота ШИМ 40.1000 Гц;

- возможность подключения 16 сервоприводов;

- возможность подключения до 62 устройств к одной шине;

- размер платы 66*25 мм.

Модуль позволяет подключать до 16 устройств, что очень важно, так как в дальнейшем планируется разработать масштабируемую роботехническую систему моделирования сложных поверхностей для проведения динамических испытаний, включающую в себя более 50 сервоприводов.

Конечные характеристики базового модуля, следующие;

- сервопривод TOWERPRO SG90 9G;

- драйвер 16-канальный ШИМ / Серво (PCA9685), 12-разрядный ШИМ;

- отладочная плата STM32F103C8T6 на базе STM32, ARM® 32-bit Cortex®-M3;

- ST-Link V2 металлический корпус программатор STM8 STM32;

- сетевое зарядное устройство Pero TC08;

- кабель Exployd EX-K-1388, microUSB - USB, 2,4 А, 0,25 м, силиконовая оплётка;

- макетная плата 400 контактов, breadboard;

- провод DuPont 10x, 2,54 мм, 20 см, F-M, Female - Male.

Собранный прототип изображён на рис. 3.

Information Science, Computing Technology and Control

Рис. 3. Аппаратная часть прототипа

Настройка среды разработки

Для программирования отладочной платы на базе микроконтроллера STM32F103C8T6 использовалась среда разработки STM32CubeIDE 1.7.0. Перед написанием программного кода для микроконтроллера была проведена настройка проекта, а также настроен RCC. Во всплывающем меню выбран Crystal/Ceramic Resonator для High Speed Clock (HSE) и Low Speed Clock (LSE) (рис. 4). Настроен PWM (ШИМ), для работы с ШИМ в STM32 используются таймеры (timers), через которые можно формировать ШИМ-сигнал. Установлен Internal Clock в Clock Source. Выбираем Channel1 из встроенных таймеров, выбираем PWM Generation CH1, и определяется, к какой ножке он подключен. В представленном случае таймер TIM2 канал CH1 подключён к ножке РА0 (рис. 5).

Определяется исходная частота таймера. В datasheet микроконтроллера [3] видно, что таймер подключен к шине APB2.

Частота таймера определяется по формуле:

_ timer clock

Frequency =-,

prescaler * counter period'

где timer clock 72 МГц (рис. 6), counter period для удобства выбран 20000, частота сервопривода 50 Гц, тогда получаем prescaler равен 72. Но в CubeMX запишем 72-1 и 20000-1 (рис. 7).

Vestnik of Samara University. Aerospace and Mechanical Engineering

V. 23, no. 3, 2024

Pinout & Configuration Clock Configuration

v Software Packs ^

System Core

DMA GPIO IWDG

NVIC

©RCC

V SYS WWDG

Analog Timers Connectivity Computing

Middleware and Software Packs

High Speed Clock (HSE) ¡Crystal/Ceramic Resonator

Low Speed Clock (LSE) [Disable □ Master Clock Output

Configuration

1 Reset Configuration

I ® Parameter Settings ® User Constants | • NVIC Settings в GPIO Settings 1

Configure the below parameters :

© ©

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

v System Parameters

VDD voltage (V) Prefetch Buffer Flash Latency(WS) v RCC Parameters

HSI Calibration Value

HSE StartupTimout Value (ms)

LSE Startup Timout Value (ms)

3.3 V Enabled

2 WS (3 CPU cycle)

16

1Ü0

5000

Рис. 4. Настройка RCC

Рис. 5. Подключение таймера

Информатика, вычислительная техника и управление Information Science, Computing Technology and Control

To Cort*. bm*r (UH|)

ICIJUMHf)

АРЯ1 percher.! clock. |UM|]

APftl limer ctocM HMI

APtU pcrtpfterai dock» <Mrir| APBÎimr №H (МИЦ

Л.

Рис. 6. Настройка частоты таймера

Configuration

1

1 Reset Configuration

• NVIC Settings • DMA Setbngs • GPIO Settings 1

1 в Parameter Settings • User Constants |

Configure the be tow parameters

Q| Search (Cirt+F) | © © О

v Counter Settings

Prescaler (PSC -16 bits value) 72-1

Counter Mode Up

Counter Period (AutoReload Register - 16b 20000 1

Internal CtocK Division (CKD) No Division

auto-reload preload Disable

^ Trigger Output (TRGO) Parameters

Master/Slave Mode (MSM bit) Disable (Trigger input effect not delayed)

Tngger Event Selection Reset (UG bit from TlMx_EGR)

v PWM Generation Channel 1

Mode PWM mode 1

Pulse {16 bits value) 0

Output compare preload Enable

Fast Mode Disable

CH Polarity High

Рис. 7. Параметры таймера

Vestnik of Samara University. Aerospace and Mechanical Engineering

V. 23, no. 3, 2024

Управление сервоприводом

Используя матрицу, рассчитанную ранее [1], получим углы поворота:

sigma =

' 23,8 15,8 -1,4 15,8 -1,4 -9,9 N

-9,9 -1,4 15,8 -1,4 15,8 23,8

7,3 21,8 -7,7 -7,7 21,8 7,3

7,3 -7,8 21,8 21,8 -7,8 7,3

42 42 42 42 42 42

-63 -63 -63 -63 -63 -63

17 35 18,3 -19,7 -49,3 -21,2

-21 -49 -20 18 35 17

41,6 0 -63,9 -63,9 0 41,6

-60,8 0 39,7 39,7 0 -60,8

-5 35 -8 35 -8 35

V 35 -8 35 -8 35 -8 ,

Так как углы даны в градусах, то они были переведены в величину ШИМ-сигнала. Из datasheet на Tower Pro SG90 [4] величина сигнала колеблется от 500 до 2500.

Так как сервопривод ориентирован в прототипе вертикально, поэтому отсчёт идёт не от положения 0 градусов, а от положения 90 градусов, следовательно, к каждому значению прибавлялось 90 градусов. В итоге получена следующая матрица:

sigma =

'113,8 105,8 88,6 105,8 88,6 80,1 N

80,1 88,6 105,8 88,6 105,8 113,8

97,3 111,8 82,3 82,3 111,8 97,3

97,3 82,2 111,8 111,8 82,2 97,3

132 132 132 132 132 132

27 27 27 27 27 27

107 125 108,3 70,3 40,7 68,8

69 41 70 108 125 107

131,6 90 26,1 26,1 90 131,6

29,2 90 129,7 129,7 90 29, 2

85 128 82 82 82 125

V 125 82 125 82 125 82

Имея матрицу с правильно ориентированными углами, можно перевести углы в ШИМ-сигнал, используя следующую формулу:

2500 - 500

PWM =-sigma + 500,

180°

где (2500 - 500) - разность между крайними положениями угла сервопривода, равными 180° и 0° градусов, соответственно; sigma - необходимый угол, взятый из матрицы, или

Information Science, Computing Technology and Control

поступивший от другого источника данных; 180° - рабочий ход сервопривода; +500 -отсчёт ведём от 90°, поэтому прибавляем величину смещения. Полученная матрица ШИМ:

'1764 1676 1484 1676 1484 1390^

1390 1484 1676 1484 1676 1764

1581 1742 1414 1414 1742 1581

1581 1413 1742 1742 1413 1581

1967 1967 1967 1967 1967 1967

800 800 800 800 800 800

1689 1889 1703 1281 952 1264

1267 956 1278 1700 1889 1689

1962 1500 790 790 1500 1962

824 1500 1941 1941 1500 824

1444 1922 1411 1889 1411 1889

V1889 1411 1889 1411 1889 1411,

В CubelDE был написан код для одного двигателя и проверено, что вал проворачивается согласно заданным параметрам:

/* Initialize all configured peripherals */ MX_GPIO_Init(); MX_TIM2_Init(); /* USER CODE BEGIN 2 */

HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_1); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */

while (1)

{

/* USER CODE END WHILE */

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

htim2.Instance->CCR1=1764; HAL_Delay(10 00); htim2.Instance->CCR1=1390; HAL_Delay(10 00); htim2.Instance->CCR1=1581; HAL_Delay(10 00); htim2.Instance->CCR1=1967; HAL_Delay(10 00); htim2.Instance->CCR1=800; HAL_Delay(10 00); htim2.Instance->CCR1=1689; HAL_Delay(10 00); htim2.Instance->CCR1=1267; HAL_Delay(10 00); htim2.Instance->CCR1=1962; HAL_Delay(10 00); htim2.Instance->CCR1=824; HAL_Delay(10 00);

Vestnik of Samara University. Aerospace and Mechanical Engineering

V. 23, no. 3, 2024

htim2.Instance->CCR1=1444; HAL_Delay(10 00); htim2.Instance->CCR1=1889; HAL_Delay(10 00); /* USER CODE BEGIN 3 */

}

/* USER CODE END 3 */ }

Заключение

Таким образом, на основании построенной ранее математической модели для разновидности платформенного манипулятора параллельной структуры с шестью степенями свободы на базе платформы Стюарта, а также проведённого кинематического расчёта трёхмерной модели базового модуля масштабируемой роботехнической системы моделирования сложных поверхностей для динамических испытаний получены следующие результаты:

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

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

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

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

Библиографический список

1. Графкин А.В., Понамаренко Д.И., Мыльников Е.Н. Базовый модуль масштабируемой роботехнической системы моделирования сложных поверхностей для динамических испытаний с WEB-конструктором // Вестник молодых учёных и специалистов Самарского университета. 2022. № 2 (21). С. 69-77.

2. Графкин А.В., Мыльников Е.Н., Понамаренко Д.И. WEB-конструктор масштабируемых роботехнических систем моделирования сложных поверхностей для динамических испытаний // Вестник молодых учёных и специалистов Самарского университета. 2022. № 2 (21). С. 78-86.

3. Low & medium-density value line, advanced ARM®-based 32-bit MCU with 16 to 128 KB Flash, 12 timers, ADC, DAC & 8 comm interfaces. https://www.st.com/resource/en/datasheet/stm32f100cb.pdf

4. SG90 Datasheet, Equivalent, Micro Servo. https://datasheetspdf.com/datasheet-pdf/791970/SG90.html

i Надоели баннеры? Вы всегда можете отключить рекламу.