引 言 近年来机器人足球比赛和机器人灭火比赛在世界各国范围内得到广泛的开展,引起了很大的社会轰动效应。寓教于乐的机器人比赛,拉近了社会公众和科学的距离,极大地激发了青年学生的学习兴趣。国际上机器人足球比赛分为RoboCup (Robot World Cup) 和FIRA ( Federation of International Robot-Soccer Associa- tion) 两种,国内也有类似的足球比赛。足球机器人比赛要求选手有较高的硬件设计和软件编程能力,同时费用昂贵,因此只在大学中进行。机器人灭火比赛对机器人的硬件要求相对较低, 也不需要编制高级的控制算法,因此比较适合中小学生参加的比赛。但是,大学生也可以将其作为课外科技活动的工具,培养动手能力。研制可供二次开发的智能玩具机器人,不仅要求机器人具有娱乐性,同时要求其体积小、价格低廉、功能强大以及模块化结构。控制器和传感器的选择尤为重要,它直接关系到智能玩具机器人的功能、体积以及价格。美国Microchip Technology 公司推出的8 位PIC 系列单片机,采用精简指令集RISC、哈佛总线结构以及二级流水线取指令方式,具有实用、低价、指令集小、低功耗、高速度、体积小、功能强和简单易学等特点。PIC 系列单片机不搞单纯的功能堆积, 而是重视性价比,依靠发展多种型号来满足不同层次的需要。它集成了很多外围设备,是真正的“单片”,体现了单片机未来发展的一种新趋势,正在逐渐成为世界单片机的新潮流。PIC 系列中的PIC16F877X 型芯片,含有丰富的I/ O 口资源、多路A/ D 转换模块、 PWM 输出模块、FLASH 程序存储器等丰富的接口模块,可以方便的在线多次调试,特别适用于学生,初学者学习及在产品的开发阶段使用,而且其开发设备价格非常低。考虑到价格和二次开发的需要,在本项目中选取PIC16F877 作为主控制器。传感器则是采用价格低廉的二值型红外传感器。在北京市石景山区科委的资助下,我们尝试开发模块化,功能强,价格低的智能玩具机器人,目前已取得初步成效。 1. 1 控制器采用PIC16F877 单片机作为机器人的控制器。 PIC16F877 是一款采用14 位RISC 指令的中级产品 ,在此芯片内集成有22 个I/ O 口、8 路A/ D 、8K( 14 位字) 的FLASH 程序存储器和368 字节的数据存储器,有多达14 位的中断资源,它的B 口每一位都有电平变换产生中断的功能。此外,它还集成有 PWM 输出, I2C 和SPI 模块、异步串行通信模块等。基于PIC16F877控制器的I/ O 口资源的分配如图2 所示。 1. 3 传感器模块 智能玩具机器人的传感器模块包括三个部分,用于探测障碍物的红外传感器,发现火焰的火焰传感器和测量2 个主动轮实际转速的霍尔传感器。红外线传感器采用市场上常见的反射式红外线传感器。这种传感器的集成度较高,不需要单独的信号放大电路, 只须在正极和信号输出端接一个上拉电阻便可输出 TTL 电平, 此TTL 电平信号可直截接到单片机I/ O 口。反射式红外传感器的探测距离为10~30cm ,满足机器人的硬件要求。 PIC16F877 的B 口有管脚电平变化产生中断功能 ,6 个红外线传感器的输出端接单片机的RB0~RB5 口。通过B 口的引脚电平变化产生中断功能使能,使单片机系统工作在中断方式下。在中断工作方式下,若没有障碍物,红外线传感器的输出端保持高电平,机器人保持原来的状态。当障碍物出现在机器人前进道路上,红外线传感器探测到障碍物后,其输出端立刻跳变为低电平,这时单片机就会产生中断,转去执行中断服务程序。用于检测电机实际转速的霍尔传感器,其工作方式同红外传感器类似。火焰传感器检测的信号是模拟信号,需要经过A/ D 转换后才能用单片机进行数字处理。PIC16F877 的A 口各管脚都有A/ D 转换功能。因此,4 个火焰传感器分别与RA0~RA3 连接。 3. 结论 采用PIC16877 单片机作为控制器开发的智能玩具机器人,具有功能强大、体积小、造价低,趣味性强且具有二次开发功能。整个机器人采用模块化,接插件方式,使用方便。大量的实验验证,该机器人具有稳定的性能,能成功实现避障和自由漫步。
|