2.3 单片机在机器人中的应用
单片机技术发展越来越快,功能也越来越强大,目前已成为自动控制技术的核心之一,并被广泛应用于工业和生活的各个领域。当今社会,智能机器人作为尖端科技的成果,必然离不开单片机。将单片机控制技术应用到智能机器人中,在很大程度上提高其可靠性及准确度,全面实现语音、准确定位、探测以及跟踪等能力。
2.3.1 单片机的概念
单片机(Single Chip Microcomputer)是单片微型计算机的简称,是典型的嵌入式微控制器(Microcontroller Unit),又称单片微控制器。它是指在一块芯片中集成有中央处理器(CPU)、存储器(RAM和ROM)、基本I/O、定时器、计数器以及中断系统等部件,并具有独立指令系统的智能器件,即在一块芯片上实现一台微型计算机的基本功能。
1.单片机的发展历程
单片机从20世纪70年代诞生到现在经历了以下几个发展阶段。
(1)单片机的初级阶段(1971—1974年)
1971年Intel公司推出Intel 4004的4位微处理器,1974年仙童公司推出了8位单片机F8。实际上这个阶段的单片机功能非常简单。
(2)低性能单片机阶段(1974—1978年)
1976年Intel公司推出了MCS-48系列的8位单片机,把CPU和计算机外围模块做到一块芯片上;1977年,GI公司推出了PIC1650,为单片机的发展奠定了基础,并且也极大地促进了单片机的变革和发展,但是这个阶段的单片机仍处于低性能阶段。
(3)高性能单片机发展阶段(1978—1983年)
1978年Zilog公司推出Z8单片机,而80年代Intel公司又推出了以MCS-48为基础的MCS-51系列;随之其他公司的8位单片机迅速发展起来。此阶段的单片机普遍集成了定时器/计数器、串行I/O口、多级中断系统等功能模块,满足了多数用户需求,目前仍被广泛应用。因此,这个阶段单片机的发展和应用又上了一个新台阶。
(4)巩固、发展、提高阶段(1983年至今)
随着用户对单片机的性能要求不断提高,出现了16位单片机,而且单片机内部也增加了更多的性能。1983年Intel公司推出了MCS-96系列的16位单片机,而在这个时期,Motorola、Intel、ATMEL、TI、三菱、日立、飞利浦等公司推出了许多增强型的8位单片机,16位单片机,甚至32位单片机,各种高集成度的新型单片机不断涌现,极大地推动了单片机的应用。
总之,单片机的发展朝着微型单片化(SoC单片机)、减少产品设计、减少开发成本并缩短产品开发时间、单芯片集成电路降低系统功耗、加快数据传输和处理的速度、减少甚至避免电路板信号传送所造成的信号系统串扰等方向发展。目前,单片机各方面性能已有很大改善,满足各种应用的需求。
2.单片机的特点
单片机的特点总结如下:
(1)抗干扰能力强和成本低。
(2)开发周期短、易于产品化。
(3)体积小,重量轻,低功耗,便于生产便携式产品。
(4)具有独特、可修改的程序。
(5)高智能,高集成度,高效率,高可靠性。
(6)品种和型号多样性。
3.单片机的种类
从不同的角度单片机的分类不同,按照适用范围可分为通用型和针对一类产品或一个产品设计的专用型;按照是否提供并行总线分为总线型和非总线型,总线型按数据总线的位数又可分为4位单片机、8位单片机、16位单片机、32位单片机、64位单片机;按照应用领域可分为控制型和家电型。
2.3.2 单片机在机器人中的应用
单片机体积小、可靠性高、性价比高,并且单片机技术为自动控制技术的核心之一,广泛应用于仪器仪表、机电产品、家用电器和智能机器人中。智能机器人可以在恶劣、危险环境下作业,能够减轻人类的劳动强度和提高产品质量。单片机是机器人的核心,单片机技术也是机器人控制系统设计的基础。机器人的智能化越高,其对单片机的要求也越高。如机器人能够很好地跟踪、避障、语音、地面探测等功能,都是靠单片机来实现的。单片机可以预先编好程序,对接收的信息进行分析、判断,输出数据来控制机器人完成各种行为动作。
根据任务具体需要选择最合适的单片机,使单片机资源充分利用,使系统性价比达到最高,同时兼顾未来扩展需要,不要一味追求高性能单片机,这就是选单片机的原则。下面以一些例子来简要说明不同单片机在机器人中的应用。
1.51系列
Intel公司开发的简易的8031CPU因价格较便宜被很多低端应用选中。由于市场看好,ATMEL公司购买了8031的内核,把Flash存储器和加强型I/O口融入进去开发出了AT89系列单片机。所有兼容8031指令和内核相似的单片机统称为51单片机,它是目前应用最广泛的8位单片机之一。因51单片机结构简单,指令易学,应用广泛,因此是初学单片机首选机型。51单片机的应用如图2-40所示。
图2-40 LTL吸尘器机器人
2.AVR系列
AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced Instruction Set CPU)精简指令集高速8位单片机,是典型高性能单片机。
AVR有32个通用寄存器,在进行大量复杂运算时,AVR的32个寄存器可相当于51系列单片机的32个累加器,克服了51系列单片机只有单一累加器数据处理造成的瓶颈现象,在复杂运算时速度比51系列单片机快5倍以上。由此可看出,51系列单片机与AVR系列单片机相比速度较慢,AVR系列较快,AVR单片机应用如图2-41所示。
图2-41 AVR控制的循迹机器人
3.ARM系列
ARM是一个公司名,其基于同一内核设计了很多高性能处理器,这些处理器都叫ARM。该技术被很多公司购买后生产出了集成很多功能电路的ARM芯片,使得ARM成为高性能单片机。ARM一般为32位单片机,适于处理大量复杂数据,很多ARM安装了UCOS2、Windows CE、LINUX操作系统,能够同时运行多个程序,广泛应用于手机、MP3、GPS导航仪等产品上。ARM单片机应用如图2-42所示。
图2-42 基于ARM的消防机器人
4.DSP
数字信号处理(Digital Signal Processing, DSP)是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,将其转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。在高速小车巡线、语音识别等领域DSP被广泛应用。但如果仅用DSP检测几个碰撞开关、控制几个电机显得大材小用。
5.FPGA
现场可编程门阵列(Field-Programmable Gate Array, FPGA),它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展起来的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。简单说,如果使用者想开发一个用简单数字逻辑电路就能控制的小车,又嫌搭电路麻烦,就可用软件给一个FPGA编程让它实现数字电路功能去控制小车。即FPGA可被用来模拟各种电路。有的FPGA甚至能模拟51单片机的运行。因FPGA通过编程就可修改它模拟的电路结构,因此在系统实验、调试中很方便,很多爱好者尝试用FPGA做机器人控制器。FPGA应用如图2-43所示。
图2-43 FPGA多手臂机器人
世界上有种类繁多的单片机,它们当中绝大多数都可用来控制机器人,但存在一个是否合适的问题。例如,PLC是可编程控制器,当然可以用来控制爱好者手中的机器人,但PLC多用于工业控制领域,设备庞大价格昂贵,同时不易获得用PLC控制小型机器人的资料。爱好者选择学一种单片机前,首先要考虑自己面对的实际任务需要什么性能的单片机,然后在众多性能满足要求的单片机中作出选择。此时还要考虑不同单片机的应用广泛程度。比方说,当要做一个智能小车时,有AVR单片机和PIC单片机可满足任务需要,如何在两者中作出选择,需要考虑哪种单片机学起来比较容易、学习资料哪种更容易获取、可供参考的程序和案例哪种更加丰富、哪种单片机更容易获得编程软件和下载器等。
2.3.3 机器鱼所用AVR单片机简介
作为水中仿生机器人中的一类,机器鱼的各类行为也离不开单片机的控制。随着技术的发展,单片机的种类也越来越多,而机器鱼所用单片机有无线单片机、PIC系列、AVR系列等,但是目前最受欢迎的是AVR系列单片机。
AVR系列单片机是目前较新单片机系列之一,在国内的应用也比较广泛。1997年由ATMEL公司挪威设计中心的A先生与V先生共同研发的RISC精简指令集高速8位单片机,该单片机内置了闪速程序存储器(Flash Memory),简称Flash,可擦写1000次以上,而新工艺AVR器件,程序存储器擦写可达10000次以上。RISC结构综合了半导体集成技术和软件性能,简化CPU指令,固定指令宽度,从而缩短指令周期,提高CPU运行速率。这种结构也使得AVR系列单片机具有接近1MIPS/MHz的高速处理能力。
AVR系列单片机采用CMOS工艺技术,通过SPI口和一般的编程器,对AVR单片机的Flash存储器进行编程。其性价比远高于51系列单片机,接口也很强大,被广泛应用于工业和家用电器等各个领域。
AVR单片机其主要特点如下:
(1)具有多种I/O接口,驱动能力大。
(2)AVR单片机内带有模拟比较器,可组成廉价的A/D转换器。
(3)AVR单片机有丰富的外设,如实时计数器、看门狗电路、A/D转换器、脉宽调制电路、UART接口等。
(4)AVR单片机内嵌可擦写10000次以上的高质量的Flash程序存储器,调试方便,可支持ISP和IAP,开发门槛较低。
(5)AVR单片机采用Harvard总线结构,吸收了DSP双总线的特点。
(6)高保密性:具有多重密码保护锁定(LOCK)功能。
(7)具有休眠省电功能和低功耗工作模式,采用CMOS技术和RISC结构。
AVR单片机家族分为三个系列:ATtiny系列、AT90S系列和ATmega系列,其内核都一样,结构和原理类似,指令系统相互兼容。
(1)ATtiny系列属于AVR单片机中的低档产品。其内部的资源少一些,引脚也少,属于小封装系列,适合应用在低成本、功能相对单一的系统,如家用电器的简单控制方面。主要有Tiny11、Tiny12、Tiny13、Tiny15、Tiny22、Tiny24等。
(2)AT90S系列价格低廉,属于AVR单片机中的中档产品。主要有AT90S1200、AT90S2313、AT90S8515、AT90S8535等。但从21世纪以来,ATMEL公司以ATtiny系列和ATmega系列的单片机为主,逐步停止生产AT90S系列单片机。
(3)ATmega系列属于AVR单片机中的高档产品,适合各种具有较高要求的系统。主要有ATmega8、ATmega16、ATmega32、ATmega64、ATmega128等。它在AT90的基础上做了很大改善,增加了更多的接口功能,在省电特性、稳定性、抗干扰性等方面有了进一步提高。该系列的单片机引脚数最少的是ATmega8,虽然引脚数少,但其功能齐全。本书所述机器鱼使用的就是ATmega128单片机,如图2-44所示。
图2-44 ATmega128单片机