基于MCU和CPLD的智能移动机器人控制系统
0 引 言
近几年来,移动机器人研究技术取得了很大进展,许多科研成果被应用到实际产品中,同时,对于机器人的核心部分—控制器的选择也从传统的单片机发展到DSP及嵌入式微处理器ARM。随着技术的发展,单片机的集成度也越来越高,而对于一些干扰源较少、环境适宜的工作场合,比如居家、写字楼等,使用单片机作为主控制器,在开发成本和调试方面都有一定的优势;另外,考虑到机器人底层控制系统外围电路的复杂和单片机资源有限,采用CPLD作为外部扩展芯片,可以灵活设计与外围器件接口电路[1-2]。针对机器人控制系统设计和开发要求的复杂性,笔者从成本低、易开发、易调试和高集成性的角度出发,提出一种基于MCU和CPLD设计智能移动机器人。
1 移动机器人的车体结构
考虑到移动机器人灵活性和稳定性,本研究采用4轮圆底盘结构,驱动轮处于车身左右两侧,前后两个万向轮作为从动轮,主要起支撑作用,能实现转弯半径的最小化,即原地转圈[3]。每个驱动轮由一微型步进电机驱动。根据移动机器人功能,可以把整个系统分成3个功能层:控制及显示层、传感测量层和电机驱动层。机器人车体结构总体方案设计如图1所示。
2 控制系统及关键技术设计
本设计选用的C8051F340单片机,其具有64 KB的FLASH和256 B的片内RAM和4 KB的片外RAM,有40个I/O口,内部48MHz的系统频率,速度可达48MIPS,内部的数字交叉开关功能可以灵活配置引脚位置,设计方便和灵活;其内部具有4个定时器,可方便的实现电机的PWM控制功能及软件定时;另外利用其外部存储器接口EMIF功能, 48引脚的TQF封装,体积小巧。
控制系统硬件结构如图2所示, C8051F340作为控制器,CPLD作为外部扩展芯片。通过设定寄存器EMI0CF=0x1F,以非复用的方式(数据/地址引脚分开)对EPM240进行访问。外部红外线的接收、液晶显示及超声波传感器的测量以及电机控制都连接在CPLD上,不同的功能模块具有不同的外部地址,当对相应模块进行操作时,都先发送模块的功能地址,再通过8位并口总线发送读/写指令,这种设计不仅易于外部扩展,而且操作方便,充分利用了CPLD的资源。
另外,电机驱动部分采用开环的位置控制方式及插补算法来控制两个驱动电机。传感器测量模块利用超声波传感器采集障碍物信息,并设计模糊控制器实现避障功能。为了实现对机器人的灵活控制,本研究采用红外遥控的方式来控制机器人的运动状态,并能通过液晶屏实时显示当前的运动状态。
2. 1 基于模糊控制器的避障功能设计
2. 1. 1 超声波测距模块设计
对于移动机器人的设计,避障是一个不可缺少的功能,主要是利用超声波检测障碍物的位置,这里选用的压电式超声波传感器采用回波探测法测量机器人与障碍物的距离[4]。使用超声波测距还需要考虑到环境和测量”盲区”的存在。具体处理是:
相关文章
- 2024-02-04机械秒表测量不确定度分析
- 2022-07-22基于MCl45026/27的病房传呼系统的研制
- 2023-03-13简单活塞式压力计的误差修正
- 2023-11-02电冰箱换热器以铝代铜腐蚀特性的实验研究
- 2021-11-19波特率自适应的RS-485中继器设计
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。