APP下载

基于STM32 的六足机器人控制系统设计

2014-04-01伍立春王茂森黄顺斌

机械制造与自动化 2014年5期
关键词:实物图陀螺仪加速度计

伍立春,王茂森,黄顺斌

(南京理工大学 机械工程学院,江苏 南京 210016)

0 引言

移动机器人的发展是一个重要的科研领域,移动机器人可分为车轮式移动机器人、履带式机器人及其仿生技术的运动机器人[1]。相对于轮式和履带式机器人来说,足式机器人对非结构环境的适应性更强,几乎可以在陆地上的任何地方行走。六足行走机器人是按照三角步态行走的,每三足为一组,其行走轨迹并非是直线,而是呈”之”字形的曲线前进[2]。设计六足仿生机器人,其三维模型如图1 所示。每条腿都有3 个关节,每个关节依靠伺服舵机驱动,整体共有18 个关节,需要18 个舵机才可以实现六足机器人的运动。

舵机是一种位置伺服的驱动器,适用于那些需要角度不断变化并能够保持的控制系统。能够在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统很容易与之接口。鉴于舵机广泛的应用,文中设计了一种基于STM32F103VET6 的机器人控制系统[3],利用无线遥控收发器、超声波传感器、加速度计、陀螺仪、GPS 实现六足机器人的几种基本动作和自主避障。

1 控制系统硬件电路

控制系统硬件电路主要有3 部分组成:电源部分、主控部分和通信部分[4-5]。

图1 六足机器人的三维模型图

1.1 电源部分

电源部分负责给机器人控制系统的硬件和舵机供电。在舵机驱动过程中,为了避免电流波动影响机器人运动稳定性,将舵机驱动和控制系统分开供电。机器人使用的舵机型号是:EKS-05-08,每个舵机的工作电流是30 mA,18个舵机同时工作时需要0.6 A 的电流,可以使用LM2575S-5 产生5 V 电压为舵机单独供电,电路如图2 所示。STM32F103VET6控制系统需要为I/O 引脚和内部调压器供电,可用AMS1117-3.3产生3.3V 的稳压电源,电路如图3 所示。

图2 机器人舵机电源电路

图3 控制系统电源电路

1.2 主控部分

主控部分对机器人进行集中控制,负责机器人驱动与上位机的通讯。

a)STM32F103VET6 芯片

STM32F103 是增强型系列高性能的Cortex-M3 32 位的RISC 内核,工作频率为72 MHz,内置高速存储器(高达512k 字节的闪存和64k 字节的SRAM),具有增强I/O 端口和联接到两条APB 总线的外设。所有型号的器件都包含3 个12 位的ADC、4 个通用16 位定时器和2 个PWM定时器,还包含标准和先进的通信接口:多达2 个I2C 接口、3 个SPI 接口、2 个I2S 接口、1 个SDIO 接口、5 个USART 接口、一个USB 接口和一个CAN 接口。

b)无线遥控收发器

由于遥控器模块都有上述的现成产品,采用ASK 调制方式、超再生、带解码、4 路无线收发模块,遥控距离50~100 m(开阔地)。无线通信模块包括无线发射模块和无线接收模块两部分。发射器如图4 所示,接收模块如图5 所示。接收模块左从至右分别为:VT—解码有效指示输出脚、D0:D3—四个控制信号输出引脚、VCC—DC5V、GND—负极、地,根据发射端按键的不同,可以从D0 到D3 对应的引脚输出高电平,加载在微机对应的IO口,当单片机扫描到引脚电平变化时,可以对应做出运动控制。

c)超声波传感器

超声波传感器,主要用于六足机器人自主避障时对障碍物的检测。与红外传感器、微波雷达等测距传感器相比,超声波传感器指向性好,不易受电磁、光线、灰尘、被测对象颜色、烟雾等影响,而且超声避障实现方便,技术成熟,成本低,成为移动机器人常用的避障方法[6]。

图4 发射器

图5 接收器

采用HY-SRF05 超声波测距模块(图6),该模块包括超声波发射器、超声波接收器与控制电路三部分,可提供2 cm~450 cm 的非接触式测距功能,误差不超过3 mm,感应角度不大于15°。5 个引脚定义如下:VCC—5 V供电;GND—地线;TRIG—触发控制信号输入;ECHO—回响信号输出;OUT—开关量输出。工作时只需要定时器产生一个10 us 以上高电平的脉冲触发信号给TRIG,该模块将通过超声波发射器发出8 个40 kHz 脉冲信号并由超声波接收器检测回波。超声波接收器一旦检测到回波信号就通过ECHO 引脚输出脉冲宽度与障碍物距离成正比的回响信号,该回响信号被STM32F103VET6 捕获、处理成障碍物距离信息。

图6 HY-SRF05 超声波模块

d)加速度计传感器

加速度计传感器主要用于检测x、y、z 三个方向的加速度。本文采用集成三轴磁力计和三轴加速计功能的LSM303DLH 芯片作为加速度计传感器,其主要特性如下:

1)磁力计的测量范围从1.3 Gauss 到8.1 Gauss 共分7 档,用户可以自由选择,分辨率可以达到8 MGauss;

2)具有自检测功能;

3)加速计采用12 位ADC,可以达到1 mg 的测量精度。

4)支持睡眠/唤醒功能;

5)IIC 数字输出接口。

加速度计传感器的应用电路和实物图分别如图7 和图8 所示,通过IIC 接口输入STM32F103VET6 中。

图7 加速度计原理图

图8 加速度计实物图

e)陀螺仪传感器

三轴陀螺仪主要用于检测机身角速度,本文采用意法半导体(ST)生产的低功耗、三轴角速度传感器芯片L3G4200D,其主要特性如下:

1)3 种可选量程,分别为250/500/2 000 dps,低量程数值用于高精度慢速运动测量,而高量程则用于测量超快速的手势和运动;

2)IIC/SPI 数字输出接口;

3)16 位角速度数据输出、8 位温度数据输出;

4)集成低通、高通滤波器,用户可自行设置带宽;

5)供电2.4 V~3.6 V,兼容1.8 V 电压IO 口,支持断电及睡眠模式;

6)内部集成FIFO、温度传感器;

7)高抗撞击能力。

三轴陀螺仪的应用电路和实物图分别如图9 和图10所示,通过IIC 接口输入STM32F103VET6 中。

图9 陀螺仪电路图

图10 陀螺仪实物图

f)GPS

GPS 主要用于机器人的定位,因为加速度计和陀螺仪组成的捷联惯导有时间积累误差,在非封闭的地方主要用GPS 定位较合理。采用GPS 芯片SiRF StarⅢ,其主要特性如下:

1)波特率:4 800 bps

2)数据输出电平:同时具备TTL 电平和RS232 电平

3)定位精度:5 m

4)数据输出接口:DB9 母座

5)供电:5 V

6)数据输出格式:主要解析GPS 推荐定位信息GPRMC

7)天线类型:外置有源GPS 天线

GPS 实物图分别如图11 所示,通过串口输入STM32F103VET6 中。

图11 GPS 实物图

1.3 通信部分

机器人的通信部分采用串口和IIC 通信,将USART串口连接到RS232 总线驱动和接收器MAX232 上,并由其将STM32F103VET6 异步通信口的TTL 电平转换为RS232 电平,便于和上位机通信。机器人和上位机通信流程如图12 所示。超声波测距传感器和GPS 的信息需要STM32 的解析、加速度计和陀螺仪经过相应的寄存器和数据处理用IIC 协议输入到STM32 中,最终四者信息通过USART 输出到上位机上显示数据。

图12 机器人和上位机的通信的流程图

2 控制系统软件部分

在机器人控制系统中,通过STM32 丰富的外设处理,配置需要用到的时钟、IO 口、串口、定时器等信息。

详细过程如下:无线接收模块收到信号后,相应的I/O引脚电平会发生变化,由已存于数组中的步态数据,经过STM32 的定时器模块共使用4 个通用定时器,每个定时器有4 路通道再加上一个高级定时器的2 路通道,可产生18路变占空比、频率不变的PWM 波[7-10];GPS 通过USART2中断处理接收到的GPRMC 数据后,经过STM32 的数据解析后,再通过USART1 在上位机上显示已解析过的数据;加速度计和陀螺仪则通过操作相应的寄存器将比力和角速度数据经IIC 传输到STM32 后用USART1 在上位机上显示;超声波传感器利用定时器产生相应的触发条件,再利用定时器的溢出中断捕获到数据,经过处理后用USART1 在上位机上显示。控制系统软件流程如图13 所示。

图13 控制系统软件流程图

3 调试和实验

PCB 板上电后,系统准备就绪,通过读取遥控器的接收端电平状态,从而执行前进、后退,左行,右行,左转,右转,准备等动作;同时实时采集超声波传感器、加速度计、陀螺仪、GPS 的数据。机器人和传感器的实物如图14所示。

图14 传感器通讯调试和机器人实物图

4 结语

基于STM32 的高性能和丰富的外设接口,设计了六足机器人运动控制系统,实现驱动18 个关节运动,实现了机器人在地面的稳定运动,动作具有很好的协同性并实时与上位机通讯。本文主要是硬件方面的实现,算法方面还需完善的有:加速度计和陀螺仪组成的惯性导航系统与GPS 模块融合的组合导航系统,用卡尔曼滤波算法对数据进行融合以得到最接近真实的信息[11]。

[1]戴振东,张昊,张明.非连续约束变结构机器人运动机构的仿生[J].科学通报,2007,52(2):236-239.

[2]许小云,颜国正,丁国清.微型六足机器人及其三角步态的研究[J].光学精密工程,2002,10(4):392-396.

[3]蒙博宇.STM32 自学笔记[M].北京:北京航空航天大学出版社,2012.

[4]刘森,慕春棣,赵明国.基于ARM 嵌入式系统的拟人机器人控制器的设计[J].清华大学学报(自然科学版),2008,48(4):482-485.

[5]周杰,陈伟海,于守谦.基于ARM 的嵌入式系统在机器人控制系统中的应用[J].微计算机信息,2007,23(2):271-274.

[6]曹瑞,包空军.基于超声波传感器新技术的应用[J].机械与电子,2009,(3).

[7]梁峰,王志良,解伦.多舵机控制在类人机器人上的应用[J].微计算机信息,2008,24(2):242-243.

[8]任志敏.基于定时器定时的流露舵机控制电路与研究[J].自动化技术与应用,2010,29(8):108-111.

[9]赵杰,郭亮,臧希喆.应用于六足机器人平台的舵机控制器设计[J].机械与电子,2005,(9):48-51..

[10]钟咏兵,刘泽乾.基于单片机控制的电动舵机的设计与研究[J].弹箭与制导学报,2003,(3).

[11]徐田来,游文虎,崔平远.基于模糊自适应卡尔曼滤波的INS/GPS 组合导航系统算法研究[J].宇航学报,2005,26(5).

猜你喜欢

实物图陀螺仪加速度计
基于加速度计的起重机制动下滑量测量
基于EMD的MEMS陀螺仪随机漂移分析方法
实物图与电路图的转换技巧
遵循学生认知规律,培养文图转译能力
“三步走”将实物图转化成电路图
我国著名陀螺仪专家——林士谔
基于遗传算法的加速度计免转台标定方法
加强算理教学 提高数学计算质量
微机械陀螺仪概述和发展
常温下硅微谐振加速度计零偏稳定性的提高