Electrical Engineering and Automatization College, Tianjin Polytechnic University, Tianjin 3000000, China
Abstract: With the problem of transfer robot front wheel steering engine and rear wheel driver engine control, the design takes STM32F107 as the kernel based on Cortex-M3 and embedded realtime operating system μC/OSII. It divides the program into initiating task, motors speed control task, steering engine control task and other relatively independent tasks, setting the priority of each task. The system can achieve motion control for transfer robot.
Key words: transfer robot; STM32F107; motion control; μC/OS-II; task scheduling
引言
随着人工成本的不断升高,用机器人代替人力去做一些重复性的高强度的劳动是现代机器人研究的一个重要方向。搬运机器人在导航寻迹中,需要后轮驱动电机和前轮舵机的协调工作。搬运机器人电机驱动有其特殊的应用要求,对电机的动态性能要求较高,能在任意时刻到达控制需要的指定位置并且使舵机停止在任意角度;电机驱动的转矩变化范围大,既有空载平整路面行使的高速度、低转矩工作环境,也有满负载爬坡的运行工况,同时还要求保持较高的运行效率[1]。根据以上的技术要求,本文选用了控制技术成熟,易于平滑调速的直流电机作为搬运机器人的执行机构。
1 系统的硬件设计
1.1 机器人电机控制器硬件结构
主控制器采用Cortex-M3内核的STM32F107。控制器内部共有8个定时器,其中TIM1_CH1和TIM8_CH1为高级控制定时器引脚,TIM1_CH1用于电机编码器计数。TIM8_CH1用于舵机控制基准时间。通用定时器引脚TIM2_CH1、TIM3_CH1、TIM4_CH1、TIM5_CH1分别用于电机和舵机驱动电路上下桥壁PWM的产生。触发EXIT0中断的PA0口和PB0口分别用于电机和舵机的过流中断保护。触发EXIT1中断的PA1口和PB1口用于舵机两侧限位保护。电机驱动电路采用自举升压芯片IR2103和MOSFET管75N75,后轮电机和舵机的相电流采集是通过康铜丝转换成电压,通过放大滤波处理,分别送至STM32F107的A/D采样引脚ADC12_IN1实现过电流保护。通过上位机串口通信或STM32F107内部程序速度给定,控制电机的正反转、速度及舵机的转向。搬运机器人电机控制硬件结构框图如图1所示。