基于ARM Cortex-M3处理器搜救机器人的设计
2014-06-09周桔蓉孙旭日
周桔蓉,孙旭日
(九江职业技术学院,江西九江 332007)
基于ARM Cortex-M3处理器搜救机器人的设计
周桔蓉,孙旭日
(九江职业技术学院,江西九江 332007)
以ARM Cortex-M3单片机为搜救机器人的控制器,以N沟MOSFET来设计可控制大电流电机的电机驱动器,全面提高了搜救机器人的性能。
STM32单片机;搜救机器人
目前市场的搜救机器人种类繁多,主要存在以下的不足。(1)处理器底层程序代码没有公开,用户只能按用户模式编程,不能进行深入的编程与开发。而且处理器价格比较昂贵;(2)搜救机器人运动电机发热过大,影响搜救。本文基于ARM Cortex-M3处理器搜救机器人的设计。
1 搜救机器人总体设计
人对周围环境的反应过程主要是感觉→大脑思考→作出反映,搜救机器人的信息处理流程也是如此。搜救机器人配有十几个传感器,另外还可以根据需要扩展其他传感器,对环境的感知能力很强。微控制器采用的是STM32微处理器,芯片时钟72MHZ。机器人的执行器有:二只高性能直流电机;一只喇叭;一只FPTC触摸屏的液晶显示器。总体设计如图1。
图1 搜救机器人总体设计
2 搜救机器人的硬件设计
2.1 控制器的选择
传统的控制器的多数采用的是STR911FAM44微处理器为核心的控制器。该控制器有以下缺点:⑴该处理器底层程序代码没有公开,用户只能按用户模式编程,不能进行深入的编程与开发;⑵该处理器价格比较昂贵。而STM32单片机刚好解决了以上问题。STM32单片机是一款底层函数公开、性价比很高的控制器。CortexM3是一个32位处理器内核。内部的数据路径是32位的,寄存器是32位的,存储器接口也是32位的。CM3采用了哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行不悖。这样一来数据访问不再占用指令总线,从而提升了性能。为实现这个特性,CM3内部含有好几条总线接口,每条都为自己的应用场合优化过,并且它们可以并行工作。
2.2 电机驱动系统的设计
电机驱动系统是搜救机器人的关键部位,良好电机驱动系统不仅使机器人越过障碍物而且发热量小。传统的电机驱动系统采用L293或L298等全桥芯片来控制直流电机,虽然简便而且成本低廉,但由于它们的内阻较大,在控制大电流的马达时芯片常常过热,导致系统的整体效率较低。在机器人上,马达控制芯片的内阻过大会导致车子的加速度变小,经常在搜救现场搜救速度慢。
结合搜救现场的实际情况,对电机驱动系统我们进行了很大的改进。经过试验和论证,最后采用N沟MOSFET来设计可控制大电流电机的电机驱动器。原理如图2所以。
此方案以及高性能锂聚合物电池的帮助下可以毫无压力地驱动4个380减速电机,通过控制器产生占空比可调的PWM来控制电机驱动器,从而实现了电机速度大小和转动方向均可调整,从而实现机器人的运动控制。经过实践的检验小车在全速启动以及突然反向运动时的性能明显比使用L298要好。对于散热问题,决定采用贴片的D2PAK封装的IRF540,其他元件也都改为贴片封状。在芯片的上面设计了散热器和风扇。降低MOS温度可以大大提高工作效率。传统的TO-220封装的MOS管直立加上散热器很占空间。
图2 IR2104+IRF540全桥电机驱动系统
2.3 传感器的设计
STM32单片机内部自带有8路12位ADC高精度转换器,可以连接机器人的传感器,减少外围电路的设计。
机器人是通过传感器来对外部信号的识别。就相当人的眼睛和耳朵,机器人需要不断采集环境信息然后经滤波处理然后经控制器逻辑运算继而控制执行机构,从而实现现场搜救。
2.3.1 雷达
机器人在搜救过程中最怕就是碰壁,从而造成损坏机器。传统搜救机器人避障是采用PSD传感器,一般是装3-6个PSD传感器对对障碍物的判断。但是总是存在盲区,在盲区内你根本无法避障,容易损坏机器人。针对以上的缺点,我们设计了“雷达”传感器,360度布设光电传感器,不断循环扫描,读取离目标最近的光电传感器,最短时间和最精确的判断障碍物的方向和距离。通过实验解决了机器人碰壁的过程。
图3 “雷达”传感器
2.3.2 红外摄像头
摄像头有成电脑相机,电脑眼等,是一种视频输入设备。机器人上装有此设备,可通过传输到外界使人可以用遥控进行控制。而且,红外摄像头可以实现夜视。
2.3.3 话筒
机器人话筒的功能很强,它可以感受到声音的强弱。我们的耳朵并不是所有声音都可以听见的,机器人的“耳朵”也是这样,它能听见的声音频率范围跟人能听到的范围大致是一样的,大约是16Hz~20000Hz的机械波。
3 软件编程
本设计采用μC/OS-II操作系统。μC/OS-II仅仅包含了任务调度、任务管理、时间管理、内存管理、任务间的通信和同步等基本功能。采用模糊控制算法,将地面检测到的反馈信号与设定的标准颜色AD值比较,求出偏离AD值的偏差信号与偏差信号的变化率,并将其作为模糊控制器的输入,将偏差信号按照分档法分为七档,再通过查询由分档法和模糊推理合成算法得到的控制作用表来获得模糊控制器的输出,从而进一步设定转速值。
4 结论
本文实现了搜救机器人控制器硬件的设计,成功地在STM32上嵌入了实时操作系统μC/OS-II。我们根据以上设计和制作,对各个动作进行分解、编写程序,完全依据规则的评分细则设计,同时通过自行设计应对复杂环境,比较全面地完成了规定的任务。
Design of Rescuing Robot Based on ARM Cortex-M3 Processor
Zhou Jurong,Sun Xuri
(Jiujiang Vocational and Technical College,Jiujiang,Jiangxi,332007)
The paper introduces the rescuing robot with the ARM Cortex-M3 as its controller,and with the electric driver that is composed with MOSFET which can control the large current.
STM32 single-chip computer;rescuing robot
TP242
B
1009-9522(2014)01-0022-02
2013-08-29
周桔蓉:女,工程硕士,九江职业技术学院电气工程学院教师。