1、湖面清扫智能机器人的控制系统设计1、引言机器人是上个世纪中叶迅速发展起来的高新技术密集的机电一体化产品,它作为人类的新型生产工具,在减轻劳动强度、提高生产率、改变生产模式,把人从危险、恶劣的环境下解放出来等方面,显示出极大的优越性。在发达国家,工业机器人已经得到广泛应用。随着科学技术的发展,机器人的应用范围也日益扩大,遍及工业、国防、宇宙空间、海洋开发、紧急救援、危险及恶劣环境作业、医疗康复等领域。进入21世纪,人们已经越来越切身地感受到机器人深入生产、深入生活、深入社会的坚实步伐。机器人按其智能程度可分为一般机器人和智能机器人。一般机器人是指不具有智能,只具有一般编程能力和操作功能的机器人;
2、智能机器人是具有感知、思维和动作的机器人。所谓感知即指发现、认识和描述外部环境和自身状态的能力,如装配机器人需要在非结构化的环境中认识障碍物并实现避障移动,这依赖于智能机器人的感觉系统,即各种各样的传感器;所谓思维是指机器人自身具有解决问题的能力,比如,装配机器人可以根据设计要求为一部复杂机器找到零件的装配办法及顺序,指挥执行机构,即指挥动作部分完成这部机器的装配;动作是指机器人具有可以完成作业的机构和驱动装置。由此可见,智能机器人是一个复杂的软件、硬件综合体。机器人的核心是控制系统。机器人的先进性和功能的强弱通常都直接与其控制系统的性能有关。机器人控制是一项跨多学科的综合性技术,涉及自动控制
3、、计算机、传感器、人工智能、电子技术和机械工程等多种学科的内容。近年来,随着工业和其它服务行业的蓬勃发展,人们在重视其经济效益的同时却往往忽略了他们对环境的污染,人类赖以生存的水资源也不例外。水面污染对人类的水源构成很大的威胁,湖泊尤其是旅游胜地和市内人工湖泊,更是无法逃避漂浮物污染的厄运,举目可见各种日常消费品的包装物在湖面上漂浮。污染的加剧根治水污染。但是,水面污染的治理是一项艰难的长期任务,是全人类必须面对的共同问题。用人工清理水面漂浮物只是权益之计,有些危险水域人无法工作。很多发达国家致力于水面污染治理设备的研究,如石油清理设备,但只是用于大量泄露石油的清理。目前,我国研制的清理水面漂
4、浮物的设备还未见报道,国外研制的也不多,并且价格昂贵,实现的功能也不尽人意。因此,开发一种性能优良,价格便宜,操作简单,使用安全的自主式智能湖面清扫机器人已成为一种必要,而且有较好的市场前景。也唤醒了人们的环境保护意识,因此为了人类的健康发展,人们强烈要求根治水污染。但是,水面污染的治理是一项艰难的长期任务,是全人类必须面对的共同问题。用人工清理水面漂浮物只是权益之计,有些危险水域人无法工作。很多发达国家致力于水面污染治理设备的研究,如石油清理设备,但只是用于大量泄露石油的清理。目前,我国研制的清理水面漂浮物的设备还未见报道,国外研制的也不多,并且价格昂贵,实现的功能也不尽人意。因此,开发一种
5、性能优良,价格便宜,操作简单,使用安全的自主式智能湖面清扫机器人已成为一种必要,而且有较好的市场前景。2、 机器人的运动控制 对于自由运动机器人来说,其控制器设计可以按是否考虑机器人的动力学特性而分为两类。一类是完全不考虑机器人的动力学特性,只是按照机器人实际轨迹与期望轨迹间的偏差进行负反馈控制。这类方法通常被称为“运动控制(KinematicControl)”,控制器常采用PD或PID控制。运动控制的主要优点是控制律简单,易于实现。但对于控制高速度高精度机器人来说,这类方法有两个缺点:一是难于保证受控机器人具有良好的动态和静态品质;二是需要较大的控制能量。另一类控制器设计方法通常被称为“动态
6、控制(Dynamic Control)”。这类方法是根据机器人动力学模型的性质设计出更精细的非线性控制率,所以又常称为“以模型为基础的控制(Model-base Control)”。用动态控制方法设计的控制器可使被控机器人具有良好的动态和静态品质,然而由于各种动态控制方案中都无一例外地需要实时进行某些机器人动力学计算,而机器人又是一个复杂的多变量强耦合的非线性系统,这就需要较大的在线计算量,给实时控制带来困难。3、湖面清洗智能机器人的系统概述 湖面清扫智能机器人大体可以分为七个部分:船体,控制系统,动力驱动系统,视觉系统,语音控制系统,垃圾仓,各种传感器。现将各部分功能综述如下:(1)船体:主
7、体由双体船构成,船体中间有网状垃圾仓,仓后有一个电机来控制吸力装置,使两船体中间水流速度相对向后,漂浮垃圾随水流由船的前方经由两船体中间进入后方垃圾仓,完成垃圾的收集;(2)控制系统:以可编程DSP控制器为核心构成控制系统,接收视觉系统、语音控制系统、各种传感器等设备的输入信号,计算和输出多路控制信号,协调各驱动电机,并对系统状态进行监控;(3)动力驱动系统:湖面清扫智能机器人的动力源为蓄电池,由左右电机的速度不同来调整前进方向;(4)视觉系统:根据探测到的信息推测出前方物体为垃圾还是阻碍前进的障碍物,并在机器人需要返回回收点时判断回收点的位置;(5)语音控制系统:机器人可以接收语音命令,控制
8、机器人运行,停止,转弯等;(6)垃圾仓:暂时存放垃圾,当垃圾装满时,机器人要把垃圾倾倒在回收点。(7)各种传感器:红外接近觉传感器位于机器人主体前方,能够检测出障碍物的存在以及其它潜在危险,防止机器人主体与岩石或其它非漂浮物体相撞;光束中断传感器用来判断垃圾仓是否已满;光电编码器用于反馈机器人的运动速度。4、硬件总体设计 湖面清扫智能机器人控制系统的任务是根据输入的信息(传感器信息,视觉信息,语音信息等),控制电机完成相应的动作,从而使机器人达到收集湖面漂浮垃圾的目的。为了使清扫智能机器人在设计上更加合理化、规范化,应该采用专用的控制器为核心器件,使得系统具备独立的数据处理能力,能够独立控制机
9、器人运动。在综合考虑各方面因素的基础上,决定选择专用DSP控制器为核心器件。选用DSP芯片而不是比较廉价的普通单片机作为核心器件,主要是考虑到DSP芯片在电机控制领域广阔的应用前景。这种芯片是专门为电机控制系统设计的,具有丰富的片内配套外设模块,如ADC,PWM等,能够大大减少外围电路的设计难度,而且DSP芯片的数据处理能力是普通单片机无法比拟的。以DSP为核心的机器人控制系统总体结构如图1所示。 图1 机器人控制系统结构控制系统选用了TI公司的TMS320LF2407A DSP,它是专门为数字电机控制应用而优化的DSP控制器,该芯片卓越的处理能力及电机控制部件的集成使之为湖面清扫智能机器人控
10、制系统提供了更优秀的设计方案。电机则选择了易于调速的直流电机。机器人的电路系统是为控制系统服务的,是控制系统的实现平台。根据DSP控制器和机器人功能的设计要求,需要对机器人处理器模块、电机驱动模块、速度检测模块、SCI模块以及ADC模块的电路进行设置。控制器要求具有开放式、集成化、功耗小等性能,因此设计时,尽量选择功耗小的专用功能芯片代替集成电路的搭建。5、硬件模块设计 湖面清扫智能机器人的控制系统主要包括:处理器模块、电机驱动模块、速度检测模块、串行通信模块和ADC模块。5、1处理器模块5.1.1 TMS320LF2407A简介美国德州仪器有限公司(TI)的TMS320LF2407A DSP
11、是为了满足控制应用而设计的,它把一个高性能16位的DSP内核和片内外设集成在一个芯片上,体现了SOC(System On Chip)的技术发展趋势。其处理速度为40兆指令/秒,为诸多领域提供了先进的数字解决方案。DSP芯片内含有丰富的硬件资源,大大减少了用户硬件设计方面的工作,使得用户的主要精力放在编程上,实现电子设计的软件化。该DSP芯片有如下性能和特点:(1)由于采用了高性能的静态CMOS制造技术,因此该DSP具有低功耗和高速度特点,低功耗有利于电池供电的应用场合,而高速度非常适用于电机的实时控制。工作电压3.3V,有四种低消耗工作方式。单指令周期最短为25ns(40MHz),最高运算速度
12、可达40兆指令/秒,体系结构采用四级流水线技术加快程序的执行,可在一个处理周期内完成乘法、加法和移位运算。(2)TMS320LF2407A采用增强的哈佛结构,其程序存储器总线和数据存储器总线相互独立,支持并行的程序和操作数寻址,因此CPU的读/写可在同一周期内进行,这种高速运算能力使自适应控制、卡尔曼滤波、神经网络、遗传算法等复杂控制算法得以实现。(3)由于采用了TMS320C2XX DSP CPU的16位定点低功耗内核,保证了与TMS320C24X系列DSP的代码兼容性,允许设计者从其它通用TMS320定点DSP上移植程序,降低了软件投资,缩短了开发周期。(4)片内集成了32K字的Flash
13、程序存储器、2K字的单口RAM、544字的双口RAM,因而使该芯片很方便地进行产品开发。可编程的密码保护能够充分地维护用户的知识产权。(5)提供外扩展64K字程序存储器、64K字数据存储器、64K字I/O端口的能力,外部存储器接口。(6)两个专用于电动机控制的事件管理器(EV),每一个都包含两个16位通用定时器,可用于产生采样周期,作为全比较单元产生PWM输出以及软件定的时基。通用定时器有四种可选择的操作模式:停止/保持模式、连续增计数模式、定向增/减计数模式和连续增/减计数模式。每个通用定时器都有一个相关的比较寄存器TxCMPR和一个PWM输出引脚TxPWM。每个通用定时器都可以独立地用于提
14、供PWM输出通道,可产生非对称或对称PWM波形,因此,四个通用定时器最多可提供4路PWM输出。另外,EV还包括一个能够快速封锁输出的外部引脚PDPINTx,其状态可从COMCONx寄存器获得。(7)全比较单元。每个事件管理器模块有3个全比较单元(1、2和3(EVA);4、5和6(EVB),每个比较单元各有一个16位比较寄存器CMPRx(对于EVA模块,x=1,2,3;对于EVB模块,x=4,5,6),各有两个CMP/PWM输出引脚,可产生2路PWM输出信号控制功率器件,其输出引脚极性由控制寄存器(ACTR)的控制位来决定,根据需要,选择高电平或低电平作为开通信号,通过设置不同的工作方式,可选择
15、输出对称PWM波形、非对称PWM波形或空间矢量PWM波形。(8)正交编码脉冲电路。正交编码脉冲(QEP)电路可以对引脚CAP1/QEP1和CAP2/QEP2上的正交编码脉冲进行解码和计数,可以直接处理光电编码器的2路正交编码脉冲,正交编码脉冲包含两个脉冲序列,有变化的频率和四分之一周期的固定相位偏移,对输入的2路正交信号进行鉴相和4倍频。通过检测2路信号的相位关系可以判断电机的正/反转,并据此对信号进行加/减计数,从而得到当前的计数值和计数方向,即电机的角位移和转向,电机的角速度可以通过脉冲的频率测出。(9)捕获单元。捕获单元用于捕获输入引脚上信号的跳变,两个事件管理器模块总共有六个捕获单元。
16、当捕获发生时,相应的中断标志被置位,并向CPU发中断请求。(10)可编程看门狗定时器,保证程序运行的安全性。(11)A/D转换模块。包括两个带采样/保持的各8路10位A/D转换器,具有可编程自动排序功能,一次可执行最多16个通道的自动转换,可工作在8个自动转换的双排序器工作方式或一组16个自动转换通道的单排序器工作方式。A/D转换模块的启动可以有事件管理器模块中的事件源启动、外部信号启动、软件立即启动等三种方式。最快A/D转换时间为500ns。(12)控制器局域网(CAN)模块。是现场总线的一种,主要用于各种设备的监测及控制。(13)串行通信口。TMS320LF2407A设有一个异步串行外设通
17、信口(SCI)和一个同步串行外设通讯口(SPI),用于与上位机、外设及多处理器之间的通信。SCI即通用异步收发器(UART)支持RS-232和RS-485的工业标准全双工通信模式,用来与上位机的通信;SPI可用于同步数据通信,典型应用包括TMS320LF2407A之间构成多机系统和外部I/O扩展,如显示驱动。(14)锁相环电路(PLL)和等待状态发生器。前者用于实现时钟选项;后者可通过软件编程产生用于用户需要的等待周期,以配合外围低速器件的使用。(15)数字I/O。TMS320LF2407A有41个通用、双向的数字I/O引脚,其中大多数都是基本功能和一般I/O复用引脚。(16)外部中断。有五个
18、外部中断(功率驱动保护、复位、不可屏蔽中断NMI及两个可屏蔽中断)。(18)很宽的工作温度范围,普通级:-40125。TMS320LF2407A为高性能的控制提供先进、可靠、高效的信号处理与控制的平台,它将数字信号处理的运算能力与面向高性能控制的能力集于一体,可以实现用软件取代模拟器件,可方便地修改控制策略,修正控制参数,兼具故障监测、自诊断和上位机管理与通信等功能,将成为控制系统开发的主流处理器,可广泛应用于:工业电机驱动;能量交换器如UPS、通信电源;自动化系统如电力控制、抗锁死制动;磁盘/光盘伺服控制和大容量存储产品;打印机、复印机和其它办公产品;仪器、仪表;机器人控制等。5.1.2 D
19、SP的电源供电TI的DSP上有5类典型的电源引脚:(1)CPU核电源引脚(3.3V)(2)I/O电源引脚(3.3V)(3)PLL电路电源引脚(3.3V)(4)FLASH编程电源引脚(5V)(5)模拟电路电源引脚(3.3V)由此可见,除了FLASH编程电源引脚,TMS320LF2407A的其它电源引脚都采用3.3V电压,减小了芯片功耗。但常用直流电源为5V,因此必须考虑电平转换问题。一种方法是直接采用可调直流电源获得3.3V电压,但这样很难保证电源电压的稳定性,影响DSP的正常运行。另一种方法是采用专门的电源转换芯片,将5V电压降为3.3V。为了得到适合TMS320LF2407A的3.3V供电要
20、求,使用了TI推荐的TPS7333,输出3.3V/500mA。7333输出后的10uF和0.1uF的电容不能省略,否则得不到稳定的3.3V电压。电源转换电路如图2所示。其中,2mm的电源插孔J1标识为内正外负,5V稳压直流电源输入。图2 电源转换电路需要注意的是,CPU内核要先于I/O上电,后于I/O掉电,CPU内核与I/O供电尽可能同时,二者时间相差不能太久(一般不能长于1s,否则会影响器件的寿命或损坏器件)。5.1.3 JTAG接口电路设计由于TMS320LF2407A结构复杂、工作速度快、外部引脚多、封装面积小、引脚排列密集等原因,传统的并行仿真方式已不适合于TMS320LF2407A的
21、开发应用。TMS320LF2407A具有5线JTAG(边界扫描逻辑)串行仿真接口,用于扫描引脚到引脚的连续性,能够极其方便地提供硬件系统的在线仿真和测试。JTAG是主流的片上调试技术,它已经被IEEE 1149.1标准所采纳。JTAG接口电路的原理如图3所示。图3 JTAG接口电路的原理图5.1.4时钟电路LF2407A的时钟使用嵌入到DSP内核的锁相环(PLL)电路,可以从一个较低的外部时钟合成片内时钟(最高达40MHz),并可将内部时钟输出到片外。时钟模块电路如图4所示。其中,电容C3和C4的必须为无极性电容,在不同的振荡器频率下,C3、C4、R1的取值不同。图4 锁相环时钟模块可见,锁相
22、环时钟来源于晶振或外部时钟源,且需要外部的滤波回路(PLLF1与PLLF2之间)来抑制信号抖动和干扰。外部时钟信号经PLL倍频后形成DSP芯片的工作时钟源。LF2407A的时钟域有两种:(1)CPU时钟。它是大部分CPU内部逻辑电路使用的时钟。它是外部时钟信号经PLL倍频而形成的,倍频系数由系统控制寄存器SCSR1设定,复位后默认值是0.5倍频。(2)系统时钟。它主要有外设时钟和CPU中断时钟。其中外设时钟主要为片内外设(如ADC、SCI等)服务,能各自设置,来源于CPU时钟的输出CLKOUT。而CPU中断时钟是为中断过程服务的。用于看门狗(Watch Dog)电路的时钟WDCLK也是来源于C
23、LKOUT时钟。5.1.5复位电路LF2407A有两种复位源,外部复位引脚复位和看门狗复位。外部复位引脚RS(133)是一个I/O脚,正常状态通过上拉电阻接电源。当有内部复位事件发生时,该引脚被驱动为低电平输出方式,给系统中其它芯片提供复位信号;当有外部复位事件发生(手动复位、上电复位、欠电压复位等)时,该引脚为输入方式,同时将复位中断向量0000H加载到程序计数器PC中,使程序重新开始执行。所谓看门狗,其实是一个定时器电路。该定时器的特点是,只要该电路被使能,它就会自动不停地计数。因此必须在规定时间内将其复位,使之重新从零开始计数,否则定时器满而上溢,就会产生系统复位中断。这样,在正常情况下
24、,程序应在规定时间内,在不同的地方不断地将看门狗的计时器复位清零,定时器就不会因上溢而发出复位信号。当程序跑飞或者死机时,看门狗定时器得不到复位,就会产生上溢从而复位系统,将系统从混乱状态拉回到复位状态,系统重新开始运行。因此看门狗电路提高了系统的可靠性和完整性。TL7705A具有处理上电复位、欠电压检测复位、手动复位的功能。本系统用它来实现外部复位信号管理功能,其复位信号输出引脚与DSP的复位引脚RS相连,电路如图5所示。在系统运行时,有可能发生干扰和被干扰,严重时甚至会出现死机现象。这时,利用硬件解决问题将显得十分方便。图5 复位电路而看门狗总是被使能的,它的操作不依赖于CPU,不需要任何
25、初始化。因此为了避免过早发生复位,看门狗的设置应在上电时开始。如果不想使用看门功能则可采用两种方法禁止它:一是在器件复位期间给Vcpp引脚提供5V电压,二是设置看门狗控制寄存器WDCR中的位WDDIS=1。5.1.6片外存储器LF2407A DSP采用独立的数据存储器、程序存储器和I/O空间,即他们可以有相同的地址,而它们的访问通过控制线来区分。LF2407A DSP有64K的16位数据存储器空间,低半部分的32K字内部存储器地址空间,即0000h-7FFFh的分配主要有如下几种情况:一部分保留用作测试;一部分用户不可访问,如果用户非法访问这些地址会产生NMI不可屏蔽中断;一部分被RAM占用;
26、一部分映射给多种寄存器;其它,如密码或外部存储器。另外,地址范围是8000h-FFFFh的高半部分32K字留给外部数据存储器空间。LF2407A可以访问的程序存储空间为64K字,根据MP/MC引脚的电平决定配置方式。当MP/MC引脚为低电平时,片内Flash存储空间使能,地址范围是0000h-7FFFh,8000h-FFFFh的地址留给外部程序存储器,是为微控制器方式。当MP/MC为高电平时,片内Flash被禁止,64K字存储空间全部位于外部程序存储器中,即只能从片外存储器中读取数据,是为微处理器方式。TI公司的存储器如此设置给用户提供了很大的灵活性。当用户在程序调试阶段时,需经常修改程序,一
27、般应配外部RAM作为程序存储器,以节省开发时间(写Flash较慢)并防止片内Flash过度擦写。此时应先设置DSP处于微处理器方式下运行,可通过MP/MC引脚拉高实现,或者在仿真环境下通过gel语句实现。当程序不需要修改时,则可将其烧写在Flash中,然后让DSP工作在微控制器方式下。而且,作为机器人的控制系统,DSP的RAM是不能够满足工作需求的,而掩膜ROM需要由用户将程序代码提交TI来完成,因此,需要给TMS320LF2407A外围电路接入一片RAM,作为它的外扩数据存储器和程序存储器。可采取如图6的方式连接。图6 片外存储器的连接其中,CY7C1021是高速的64K字3.3V的RAM芯
28、片。此种连接,是将其64K字的低32K字作程序空间,而高32K字作数据空间。上电后,芯片处于微控制器方式下工作,在下载调试程序前设置系统配置寄存器2(SCSR2,地址7019h)的MP/MC位使之工作在微处理器方式下。这样做的好处是,当程序调试好后要将程序烧写至DSP片内Flash中,使之处于微控制器方式下时,不必改动电路。5.2电机驱动模块5.2.1直流电机的控制原理直流电机是最早出现的电机,也是最早能实现调速的电机。长期以来,直流电机一直占据着速度控制和位置控制的统治地位。由于它具有良好的线性调速特性、简单的控制性能、高质高效平滑运转的特性,尽管近年来不断受到其它电机(如交流变频电机、步进
29、电机等)的挑战,但到目前为止,就其性能来说仍然无其它电机能比。根据图7直流电机的等效电路,可以得到直流电机的数学模型。图7 直流电机等效电路电压方程为:式中Ua电枢电压;Ia电枢电流;Ra电枢电路总电阻;Ea感应电动势;La电枢电压总电感。其中感应电动势为: Ea =Ken (3-2)式中Ke感应电动势计算常数每极磁通;n电机转速;将(3-2)代入(3-1)可得:由式(3-3)可得,直流电机的转速控制方法可分为两类:对励磁磁通进行控制的励磁控制法和对电枢电压Ua进行控制的电枢电压控制法。励磁控制法是在电机的电枢电压保持不变时,通过调整励磁电流来改变励磁磁通,从而实现调速的。这种调速方法的调速范
30、围小,在低速时受磁极饱和的限制,在高速时受换向火花和换向器结构强度的限制,并且励磁线圈电感较大,动态响应较差,所以这种控制方法用的很少。电枢电压控制法是在保持励磁磁通不变的情况下,通过调整电枢电压来实现调速的。在调速时,保持电枢电流不变,即保持电机的输出转矩不变,可以得到具有恒转矩特性的大的调速范围,因此大多数应用场合都使用电枢电压控制法。5.2.2 PWM调速原理对电机的驱动离不开半导体功率器件。在对直流电机电枢电压的控制和驱动中,对半导体功率器件的使用上又可分为两种方式:线性放大驱动和开关驱动方式。绝大多数直流电机采用开关驱动方式。开关驱动方式是使半导体功率器件工作在开关状态,最常用的一种
31、方法就是通过脉宽调制(PWM)来控制电机电枢电压,将数字量调制成满足控制策略的各种波形,最后施加到被控对象上,实现调速。调制技术的核心就是产生周期不变但脉宽可变的信号。周期不变意味着以同样的调制频率工作,脉宽可变意味着可以得到不同的波形。图8是利用开关管对直流电机进行PWM调速控制的原理图。当开关管MOSFET的栅极输入高电平时,开关管道通,直流电机电枢绕组两端的电压Us。t1时间后,栅极输入变为低电平,开关管截止,电机电枢两端电压为零。t2时间后,栅极输入重新变为高电平,开关管的动作重复前面的过程。这样,对应着输入的电平高低,直流电机电枢绕组两端的电压平均值Ua为:式中,为占空比。占空比表示
32、了在一个周期T里,开关管道通的时间长短与周期的比值。的变化范围为01。由式(3-4)可知,当电源电压Us不变的情况下,电枢的端电压的平均值Ua取决于占空比的大小,改变值就可以改变端电压的平均值,从而达到调速的目的,这就是PWM调速原理。图8 PWM调速控制原理图5.3 速度检测模块精确的电机控制是机器人完成特定任务的基础。湖面清扫智能机器人共需要3个电机,其中,一个电机控制机器人的垃圾收集装置,另外两个电机控制机器人的前进速度。要想保证机器人良好的运动性能,一定要对控制速度的左右电机进行协调,所以电机速度的检测十分重要。TMS320LF2407A内置正交编码脉冲电路(QEP),可自动识别由外部
33、引脚上输入的正交编码脉冲的方向(正交编码脉冲电路可用于连接光电编码器以获得旋转机械的位置、速度等信息),记录脉冲的个数,这为机器人的运动控制提供了方便。正交编码脉冲电路的输入引脚CAP1/QEP1和CAP2/QEP2(对于EVA模块)或CAP4/QEP3和CAP5/QEP4(对于EVB模块)与捕获单元1,2和单元4,5的输入引脚复用,当使能了正交编码脉冲电路时,相应引脚上的捕获功能将被禁止,正交编码脉冲电路会对引脚上的正交编码脉冲进行解码和计数,正交编码脉冲是两个频率变化且正交(即相位相差90度)的脉冲,正交编码脉冲电路的方向检测逻辑测定哪个脉冲序列的相位领先,然后产生一个方向信号作为选定定时
34、器的方向输入。具体如图9所示。如果CAP1/QEP1输入为相位领先的脉冲序列,则选定的定时器递增计数,如果CAP2/QEP2输入为相位领先的脉冲序列,则选定的定时器递减计数。两个正交编码输入脉冲的两个沿均被计数,因此送到定时器的时钟频率是每个输入序列频率的四倍。这个产生的时钟与选定的定时器的时钟输入端相连。这样,将正交编码脉冲电路与外部的编码器相连,就可以方便地获得电机旋转的速度大小和方向信息,为测试和控制提供了有利条件。 图9 正交编码脉冲解码和计数方向正交编码脉冲电路的具体使用步骤如下:(1)选择时基。正交编码脉冲电路的时基可由通用定时器2,4提供,通用定时器必须设置成定向增/减计数模式,
35、并以正交编码脉冲电路作为时钟源。(2)将光电编码器的两路脉冲信号接至输入引脚CAP1/QEP1和CAP2/QEP2或CAP4/QEP3和CAP5/QEP4上。接着它就产生方向信号作为通用定时器2,4的计数方向输入。(3)这样一来,通用定时控制寄存器GPTCONA/B的TxSTAT位反映了正交光电编码器脉冲信号的方向,计数寄存器T2CNT和T4CNT的值反映了正交光电编码器对应的位置和速度。用正交编码脉冲电路作为时钟输入的通用定时器的周期、下溢、上溢和比较中断标志将产生于各自的匹配发生时。如果中断没有被屏蔽,则将产生外设中断请求信号。5.4串行通信模块TMS320LF2407A DSP片内集成有
36、异步串行通信接口(SCI)模块,支持DSP与其它使用标准格式的异步外设之间的串行通信。本文利用语音模块电路板上的串行口与DSP进行通信,实现机器人的语音控制功能。SCI模块的主要特征如下:(1)两个I/O引脚:SCIRXD:SCI的数据接收引脚SCITXD:SCI的数据发送引脚不使用SCI时,这两个引脚可作通用I/O引脚。(2)可对一个16位波特率选择器进行编程,从而获得64K种不同的波特率,在40MHz的CPU时钟下,波特率的范围为76b/s2500kb/s。(3)数据位的长度为1位8位,可编程设定。(4)发送和接收都具有缓冲功能。(5)发送和接收都可工作在查询或中断方式下,具有下述标志位:
37、发送器:TXRDY,发送准备好,即发送缓冲器准备接收另一来自本机CPU送出的字符;TX EMPTY,发送移位寄存器空。接收器:RXRDY,接收缓冲器准备接收另一字符;BRKDT,间接错误;RX ERROR,接收错误标志。(6)发送器和接收器都具有独立的中断使能位,上述的五个标志中,除TXEMPTY外都能产生中断申请。(7)接收错误中断,可由多个错误条件产生。发送器及其相关的寄存器主要完成将并行数据串行发出的功能。接收器及其相关的寄存器的主要作用是将接收到的串行数据转换成字节形式。发送器和接收器可以独立或同时工作,清扫机器人的控制系统主要使用SCI的接收功能。SCI的接收器内部时钟频率是异步通信
38、时钟频率的8倍,即异步通信的每一位。都占8个SCI内部周期,如图10所示。图10 异步通信的数据格式SCI内部时钟连续地对SCIRXD数据引脚进行检测,当连续四个内部周期检测到低电平时,SCI即认为数据线上出现了起始位。在此后再过四个周期就认为是数据位的开始。在每个预期的数据位中的第4、5、6个脉冲的下降沿采样数据线,并按多数表决的原则来确定该位的状态。即三次采样中如果有两次采到高(低)电平,即认为此数据位为1(0)。这样比一次采样更合理,有利于抗干扰。图11是TMS320LF2407A串行通信接口电路,该电路采用了符合RS-232标准的驱动芯片MAX232,进行串行通信。图11 TMS320
39、LF2407A与MAX232接口电路5.5 ADC模块LF2407A DSP具有一个16位的数模转换(ADC)模块,能达到500ns以内的转换速度,可以直接用于电机或运动控制场合。机器人的电池电压通过ADC转换成数字信号,当电池电压低于警戒值时,发出电池能量不足的警告信息。ADC模块具有自动排序功能,一次转换操作可以处理多达16个的“自动转换”每个转换操作可通过编程来选择16个输入通道中的一个。两个独立的8状态排序器(SEQ1和SEQ2),可以独立工作在双排序器模式,或者级联成16状态排序模式(SEQ)。本系统采用的是双排序模式,扩展通道0。DSP能接受的A/D信号在03.3V,本系统直接使用
40、的系统的3.3V。在输入DSP之前,为了维持信号源输入阻抗的匹配,在模拟量和DSP输入管脚之间加了一个跟随器来增大阻抗。跟随器采用芯片LM358,如图12所示。AD_SIG0表示的是电池的实际电压值,ADCIN0为DSP相应引脚。图12 A/D调理电路5.6 传感器简介无感知能力的机器人操作程序是预先制定的,并按照预定程序重复无误地完成确定的任务,它们缺乏适应性。而许多机器人的应用需要感知,根据感知的信息改进计算机的控制。(1)红外接近觉传感器红外接近觉传感器是移动机器人最常用的避障传感器之一。这种传感器能够检测出障碍物的存在以及其它潜在危险。红外接近觉传感器由发送器和接收器两部分组成,每部分
41、都有一定的有限视场。传感器只能检测到那些位于发送器视场和接收器视场的交叉区域内的障碍物,因此,单个的红外接近觉传感器不可避免地存在多个盲区。采用多个红外发送器和接收器可以减少盲区的数量。由于发送器和接收器的价格非常低,因此采用多套红外接近觉传感器是完全可行的。考虑到湖面机器人的障碍物比较单一,本系统采用两套红外接近觉传感器。(2)光束中断传感器光电式传感器非接触地探测物体,广泛用于许多自动化领域。光束中断传感器的发射器和接收器分别安装在不同的盒子中,当光束被中断时,输出开关信号。因为垃圾漂浮在水面,所以机器人垃圾仓口的上半部露出水面,下半部则在水面之下以便收集垃圾。光束中断传感器被安放在垃圾仓
42、靠近底部的位置,由于垃圾上浮,因此当垃圾仓没有满时,垃圾不会触动光束中断传感器;当垃圾渐渐增多,垃圾仓中的部分垃圾将被新进的垃圾挤到垃圾仓下部以致触动光束中断传感器,从而发送垃圾仓满信号。机器人控制系统的电池电压测量没有单独使用传感器,而是通过DSP的ADC模块实现的。机器人的电池电压通过ADC转换成数字信号,当电池电压低于警戒值时,发出电池能量不足的信息。5.7硬件设计中需要注意的问题(1)DSP系统未用引脚的处理DSP的引脚较多,TMS320LF2407A共有144个引脚,设计系统时未必都能用上,应正确处理未用的引脚以免引入干扰或带来不必要的麻烦。设计时应正确处理未用的输入引脚;某些输入引
43、脚,虽然已被其它电路驱动,但有时可能会处于高阻态,这些引脚也应小心处理;对于重要的控制引脚应将它们配置成无效状态;对于未用的1/O引脚,或将其当作输入引脚处理,或配置为输出让其悬空不接。(2)设计中其它应注意的问题必须考虑时序关系,保留一定的余量;重要的信号应加测试点,可使用LED发光管对输出电平进行测试,使用按键来模拟输入电平信号进行测试,硬件连接如图13所示。图13 LED及按键电路6、软件模块的设计湖面清扫智能机器人控制系统软件采用模块化设计的方式,模块化设计可以增强程序可读性,使程序易于维护、具有良好的可扩展性。控制系统软件主要包括初始化模块、速度调节模块和信息接收模块,这三个模块通过
44、中断联系在一起的,如图14所示。图14 控制系统软件总体结构6、1 初始化模块设计这个模块完成对LF2407A的初始化配置、定义变量以及其它一些必要的初始化工作。初始化流程如图15所示。 图15 初始化程序流程图6、2速度调节模块速度调节模块主要通过速度的测量与计算,得出控制量的输出。其中,又划分为三个部分:速度的检测、控制算法,以及电机的驱动。速度检测模块利用编码器、LF2407A的正交编码单元及通用定时器对控制机器人运动的左右电机速度进行检测;控制算法模块利用数字PID控制算法,根据机器人的控制命令及机器人当前的电机速度计算控制量,并给出PID控制算法参数整定的方法;电机驱动模块负责将控制
45、量转化为PWM信号从而对机器人的左右电机进行控制。6. 3信息接收模块通过视觉系统、语音系统、传感器接收外界信息,从而判断何时收集垃圾,何时避障以及何时返回。初始化结束后,将进入循环等待中断状态。一旦有已开放的中断到来,将转入中断服务程序,中断服务程序结束后再返回循环等待中断状态。除了语音控制命令是在SCI接收中断中接收和执行的,其余机器人的控制过程均在定时器中断中完成。另外,为了机器人成功实现预定任务,需要对这个较大的任务进行分析,并划分为一些较小的问题来逐个解决。对问题的有效分解需要做到以下几点:(1)首先需要准确地确定出所要解决的问题。(2)简单陈述机器人想要完成设定任务所必须具备的最少
46、功能集合。(3)利用现有技术寻找实现机器人每项功能的方法。(4)深入理解系统在工作过程中为完成相应任务所需要提出的问题。(5)在问题和传感器之间建立相应的映射关系。(6)为选定的方法编写代码。7 结束语机器人是20世纪人类的伟大发明之一。它作为人类的新型生产工具,在减轻劳动强度、提高生产率、改变生产模式,把人从危险、恶劣的环境下解放出来等方面,显示出极大的优越性。近年来,随着工业和其它服务行业的蓬勃发展,人们在重视其经济效益的同时也提高了对环境污染治理的重视。水面污染的治理是一项艰难的长期任务,用人工清理水面漂浮物只是权益之计,有些危险水域人无法工作。很多发达国家致力于水面污染治理设备的研究,如石油清理设备,但只是用于大量泄露石油的清理。目前,我国研制的清理水面漂浮物的设备还未见报道,国外研制的也不多,并且价格昂贵,实现的功能也不尽人意。因此,开发一种性能优良,价格便宜,操作简单,使用安全的智能湖面清扫机器人已成为一种必要,而且有较好的市场前景。