导言
跟着人工成本的不断升高,用机器人替代人力去做一些重复性的高强度的劳作是现代机器人研讨的一个重要方向。转移机器人在导航寻迹中,需求后轮驱动电机和前轮舵机的和谐作业。转移机器人电机驱动有其特别的使用要求,对电机的动态功用要求较高,能在恣意时刻抵达操控需求的指定方位而且使舵机中止在恣意视点;电机驱动的转矩改变规模大,既有空载平坦路面行使的高速度、低转矩作业环境,也有满负载爬坡的运转工况,一起还要求坚持较高的运转功率。依据以上的技能要求,本文选用了操控技能老练,易于滑润调速的直流电机作为转移机器人的履行饥构。
1 体系的硬件规划
1.1 机器人电机操控器硬件结构
主操控器选用Cortex-M3内核的STM32F107。操控器内部共有8个定时器,其间TIM1_CH1和TIM8_CH1为高档操控定时器引脚,TIM1_CH1用于电机编码器计数。TLM8_CH1用于舵机操控基准时刻。通用定时器引脚TIM2 CH1、TIM3 CH1、TIM4_CH1、TIM5_CH1别离用于电机和舵机驱动电路上下桥壁PWM的发生。
触发EXIT0中止的PA0口和PB0口别离用于电机和舵机的过流中止维护。触发EXIT1中止的PA1口和PB1口用于舵机两边限位维护。电机驱动电路选用自举升压芯片IR2103和MOSFET管75N75,后轮电机和舵机的相电流收集是经过康铜丝转化成电压,经过扩大滤波处理,别离送至STM3 2F107的A/D采样引脚ADC12_IN1完结过电流维护。经过上位机串口通讯或STM32F107内部程序速度给定,操控电机的正回转、速度及舵机的转向。转移机器人电机操控硬件结构框图如图1所示。
1.2 模块的挑选与规划
1.2.1 功率驱动的规划
电机的供电电源是由24 V的蓄电池供给,额定功率为240W,由4个75N75组成桥式电路来完结。75N75是MOSFET功率管,其最高耐压75V,最高耐流75 A,电机驱动电路如图2所示。
Q1、Q4和Q2、Q3别离组成两个桥路,别离操控电机的正转和回转。高端驱动的MOS管导通时源极电压和漏极电压相同且都等于供电电乐VCC,所以要完结MOS管正常的驱动,栅极电压要比VCC大,这就需求专门的升压芯片IR2103。操控器发生的PWM信号输入HIN引脚,操控器I/O口输出的EN1、EN2作为使能信号。输出端HO就可得到比VCC要高的电压,且高出的电压值正好是充在%&&&&&%两头的电压。二极管进步导通速度,使得75N75的导通电阻更小,降低了开关管的丢失。一起IR2103的两个输出口HO、LO具有互锁功用,避免因为软件或硬件过错形成的电机上下桥臂直通形成短路。
1.2.2 过流维护的规划
在电机操控体系中安装过流维护有两方面的含义:一是避免在电机正常运转时,电机呈现超载或堵转而使得电枢绕组电流过大危害电机乃至引发火灾;另一方面是因为电机肩动时发动电流很大,往往不能直接发动,既需求等励磁绕组逐步树立磁场后再正常运转,又期望电机以尽量快的速度肩动起来。有了过流维护对电流进行斩波,可以使电机安全快速地发动。过流维护原理图如图3所示。
电机的相电流经过康铜丝转化成电压信号Vtext,经过运算扩大器扩大后的模拟量AD1送至操控器A/D转化模块,一起将经过电压比较器比较后的数字量EVA送至操控器的外部中止口。
2 体系的软件规划
2.1 μC/OS-II的体系结构
μC/OS-II是一种可移植的、可植入ROM的、可裁剪的、抢占式的实时多使命操作体系内核,具有履行功率高、占用空间小、实时功用优秀和可扩展性强等特色,最小内核可编译至2 KB。μC/OS-II是用C言语和汇编言语编写的,其间绝大部分代码郜是用C言语编写的,只要很少部分与处理器密切相关的代码是用汇编言语编写。μC/OS-II只是包含了使命调度、使命办理、时刻办理、内存办理、使命间的通讯和同步等基本功用。
2.2 μC/OS-II体系下使命的分配
成功地将μC/OS-Ⅱ体系移植到STM32F107后,依据μC/OS-II的程序规划是将一个大的使用程序分红相对独立的多个使命来完结。界说好每个使命的优先级,μC/OS-II内核对这些使命进行调度和办理。
软件规划思路是依据机器人实践运转的需求由上位机经过串口对电机转速和舵机滚动方位进行给定。电机的转速是由设定的速度值和由增量式编码器的收集值相比较,经过速度PID算法完结闭环操控。舵机的方位主要是由肯定值式编码器反应现在方位,依据动作时刻要求调理舵机滚动的速度。本转移机器人电机操控体系软件要完结的功用如下:
◆上位机给定电机转速、舵机滚动视点和动作时刻;
◆要求电机转速接连可调而且具有杰出的静、动态功用,转速没计选用PI算法调理;
◆要求舵机快速抵达指定视点,有方位反应作为舵机给定转速的调整;
◆具有必定的毛病维护功用。当电机呈现堵转、电流过大以及舵机牵动限位开关时,要求中止驱动模块作业。
针对以上要完结的功用,可以将使用程序规划分为以下几个使命:
①发动使命。对体系进行初始化,创立初始电机状况,然后自我删去,发动使命进入睡觉状况。
②电机和舵机维护使命。用于在过流或限位开关动作时呼应外部中止,进入中止状况经过发使命信号量,使命程序检测信号量有用并呼应该使命,中止输出。使命优先级设为0级。
③上位机给定使命。用于上位机操控电机和舵机,使命优先级设为1级。上位机数据输入寄存器时将发生一个中止,该中止将收到的字节送入缓冲区并开释上位机给定使命的信号量;使命中检测到信号量有用便开端履行,将对应的字节信息解析成对应的电机转速和舵机转角方位信息给相应变量赋值。
④电机转速操控使命。用于电机的闭环调速,使命优先级设为2级。
⑤舵机操控使命。用于操控舵机在规则时刻内抵达指定方位,使命优先级设为3级。
2.3 发动使命
主程序中,在调用μC/OS-II的其他使命之前,首要调用体系初始化函数OSInit(),初始化μC/OS-II一切的变量和数据结构;一起,树立闲暇使命OS_TaskIdle(),这个使命总是处于安排妥当态;调用OSTaskCreate()函数树立发动使命;调用OSStart(),将操控权交给μC/OS-II内核,开端运转多使命。
发动使命是在主程序中创立的,它主要有3个功用:
①用于体系初始化(PWM输出模块、串口、ADC模块、输入电平中止功用、定时器)。
②树立体系所要用到的信号量。
③树立体系的其他使命。
最终调用OSTaskDel(OS_PRIO_SELF)进行自我删去,发动使命进入睡觉状况。主程序使命流程如图4所示。
2.4 电机转速操控使命
增量式编码器每次发生外部中止,在中止状况中发出使命信号量,使命程序检测信号量有用并呼应该使命,使命中经过测得电机当时转速和给定速度比照完结闭环操控。电机转速操控使命流程如图5所示。
2.5 舵机操控使命
舵机操控由一个定时器发生基准时刻,每隔固定时刻发送信号量,使命都将履行一次。舵机操控使命将对肯定值编码器测出的方位和给定的方位进行比较,依据剩余时刻调整舵机的转速。舵机操控使命流程如图6所示。
3 体系机电接口
机器人的舵机由直流电机外连一个30:1的减速机组成。肯定式方位编码器同舵机相连,将舵机的视点信号送到驱动器操控板中。机器人前轮的两个轴由传动杆相连,其间一个轴由传动带与舵机相连,这样在舵机滚动时,传动带带动传动杆,确保两个前轮可以同步滚动。后轮驱动电机为直流电机,直接与增量式编码器相连,经减速比为25:1减速机减速后,经机械差速器驱动后轮滚动。增量式编码器的信号相同送到驱动器操控板中。机电体系结构如图7所示。
结语
本文完结了转移机器人的电机和舵机操控器硬件的规划,成功地在STM32F107上嵌入了实时操作体系μC/OS-II,完结了电机和舵机的转速闭环试验。使用Cortex-M3内核操控器和μC/OS-II体系多使命实时性的特色,为后续的机器人图画视频收集和导航寻迹供给了软硬件根底。假如对现有PI算法进行改善,而且可以完结电机速度和电流双闭环操控,则机器人电机的特性将会更好,转移机器人的使用远景将愈加宽广。