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 :
© ©
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 */
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