机器人小车车体主要由车架、车轮、电机、减速装置、驱动电源、单片机控制电路与无线接收模块构成。它可以按主机发出的命令调整左、右轮转速,以保证按预定的轨迹运动。为适应激烈对抗的比赛环境,机器人应具有高度的机动性和灵活性。能平稳迅速地完成前进、后退、转向及急停等动作,运动速度和方向要足够。为实现上述性能,机器人对称性要好,双轮由双电机分别驱动,且加;找出几次都没变化的开入量比较相邻两次开入量:输出稳定的开入量;队列指针指向下一个一38一接上页)ADDA,RO;循环队列副本区赋值;判别启动条件;比较本次与上次开入量状态;保存比较结果;A!=O有变化,进行滤波处理;本次没有变,检查前几次;是否变化7I89ER:RO3O:;启动条件满足,进行滤波处理:为O的位开入量己稳定3:8A;处理滤波结果4结束语状态计数法不受采集次数的约束,然而与开入量通道数有关;而窗口滤波法基本不受开入量通道数的约束,但与采集次数有关。因此在采集次数较多,通道数少的应用中应采用状态计数法;在采集次数较少,通道数多的应用中采用窗口滤波法。
工精度高。由于比赛中对运动速度和方向有很高的精度要求,所以需要设计好运动控制模块。
1模块设计首先讨论小车接收命令后的控制过程。无线接收模块将命令字串行发送到单片机。每1帧命令字为3个字节。
第1字节为小车的标志位;第2字节为小车的左轮速度设定值;第3字节直接为小车的右轮速度设定值。接收到命令字后,先将命令字的第1字节(即小车的标志位)同本小车的标志位对比,只有2个标志位完全一样时,才接收命令字的后2个字节。然后,单片机接收光电译码器的反馈信息,通过运动控制器PWM模块驱动电机正反转,从而实现对左、右轮速度的闭环控制,使左、右轮速度达到设定值(即主机发送的命令值),完成各种基本运动。系统硬件结构如所示。
1.1CPU的选择CPU的选择很关键,要从效率、功能、经济等多方面考虑。美国微芯公司(Microchip)推出的CMOS8位PIC系列单片机,具有实用、低价、指令集小、体积小、功能强等特点。PIC16687X是微芯公司的中档产品,采用14位的类RISC指令系统,在保持低价格的前提下,增加了A/ =转换器、内部存储器、比较输出、捕捉输入、PWM输出、I2C总线和SPI总线接口电路、异步串行通信(USART)接口电路、模拟电压比较器、LC=驱动、Flash程序存储器等许多功能。
这种单片机具有如下特点:简单性:采用类RISC指令集,指令数目少,开发容易,周期短。
高速:PIC采用哈佛总线和类精简指令集,指令的执行速度比一般的单片机要快45倍。
低功耗:PIC采用CMOS电路设计,结合了诸多的节电特性,使其功耗很低。
配备有OTP(OneTimeProgrammable)型、EPROM型及FLASH型等多种形式的芯片,使产品开发更容易、快捷。
重要的一点是采用PIC可以省略运动控制器,PIC166876单片机内部集成有2个CCP(捕捉、比较、脉宽调制PWM)模块。当它工作在PWM方式下时,具有2个脉冲宽度调制输出通道,它们可以产生宽度和周期均由编程决定的PWM波形。通过PWM来调整电压控制电机转速。由于CPU自带了PWM来控制电机,所以完全可以省去运动控制器。
综上所述并基于性价比等综合考虑,采用PIC166876为理想,它有28引脚,开发效率高、体积小、价格低,能很好地满足需要。
1.2电机与减速器的设计小电机有直流电机和步进电机二种。步进机的优点是控制简便,但受尺寸限制,不好实施。超小型的直流电机生产厂家则较多,规格也较齐全,可根据具体情况进行选择。一般情况下,工作电压应在312V,空载转速8000-pm左右。电机一旦选定,额定转速就确定了。机器人的线速度小应大于50cm/s.基于这2个约束条件可以进行减速器的设计。减速器就是齿轮盒,即通过2半径不同、互相啮合的齿轮构成,工作原理很简单。使用减速器的目的是降低电机的转速,实际不需要小车达到如此高的速度。每辆小车需配2个齿轮盒,分别同电机和小车车轮相连。
根据机器人平均线速度的要求(按100cm/s计算),小车轮半径!一般为23cm.设"(cm/s)为小车的线速度,(cm)为小车的轮半径,为电机转速,N为齿轮的减速比,pi=3.1415926.由公式"=(2xpix!xn)/(60xN),按平均线速度要求,可计算出减速比约为1:6左右。还可稍降一点,将小车的车轮半径!=2cm,取齿轮的减速比N=14,=8000带入上,得到Fmax=120cm/s,这一速度值可满足小车的要求。
1.3测速装置的设计小车实际运动过程中,由于惯性及机械上的原因以及快速制动的需要,车轮的实际转速不可能完全等于计算值,这就需要有测速装置来构成小车速度的闭环反馈,使其速度在短时间内达到设定值。一般有二种方案:采用霍尔传感器。在车轮上安装磁性物质,然后通过霍尔元件去感应。小车车轮每旋转1周,霍尔元件感应到磁性物质便会触发1个脉冲,CPU对脉冲进行计数,再记录所用时间,经简单计算便可得到转速。例如在分钟内统计了x个脉冲,那么转速=x/.这种方法的优点是经济且结构简单;缺点是计数不,导致控制上的不。由于足球机器人控制要求精度高,故不宜使用此种方法。
光电码盘又名光电译码器,主要是用来测量转速,它构成小车速度的闭环反馈。光电码盘具有响应速度快、可靠性高,测速准确等优点。光电码盘主要由光发射器照射下,通过光电码盘的盘缝,不断输出光电脉冲信号。
轮速同光电脉冲的个数有着一一对应的关系。光电码盘一39一分别输出A、B 2个信号,A代表车轮正转时输出的脉冲,B代表车轮反转时输出的脉冲。输出脉冲如所示。
由可发现,当车轮作顺时针转动时,A脉冲超前B脉冲1/4个周期;当车轮作逆时针转动时,A脉冲落后B脉冲1/4个周期。CPU根据A、B脉冲的相位关系判断车轮的正反转。如CPU读取光电码盘的输出信号,当检测到状态AB由00-01-11-10-00时,说明车轮在逆时针转动;当检测到状态AB由说明车轮在顺时针转动。
光电码盘的输入很简单,只需+5V电源和2根地线输入。输出为2个脉冲信号A和B,使用方便。它的一项重要的参数是脉冲比,即车轮每转1圈产生的脉冲数。脉冲比越高,精度越高,但会使运算量加大,应权衡考虑。本设计选择脉冲比为128的光电码盘,能满足系统的精度要求,同时运算量不大。
每辆小车均配备2个光电码盘,一般光电码盘均同直流电机封装在一起。
1.4电机驱动芯片的选择CPU输出P1M信号,电压为脉冲形式。由于输出的电流很小,不能使电机转动,直接将CPU的输出和直流电机的输入相连是不能使电机转动的。使用电机驱动芯片的目的就是将CPU的输出电流放大,从而获得足够大的力矩,驱动电机转动。
本设计选用的是意法半导体联合公司(SGS-Thomson<生产的电机驱动芯片L298N.L298N为含有15个引脚的直插式芯片,其主要性能:(1)体积小:长x宽x高=;(2)操作电压范围大:操作电压Fs范围从4~46V;(3)抗干扰能力强:低于1.5V的电压均视为低电平,对噪声有较强的抑制作用;(4)配备散热片,减少温度对电子元器件的影响;(5)逻辑电平Fss为+5V;(6)工作效率高:1块L298N可以驱动2台电机,故每辆小车只需配备1块L298N;(7)输出电流大:L298N可以将电流放大L298N共有15根引脚,要同CPU、电源、直流电机相连。具体连接方式可其技术资料。
上面已经提到PIC16F876单片机内部集成有2个CCP模块。当它工作在P1M方式下时,相应引脚上可以输出分辨率为8位或10位的P1M波形。此时必须将TRISC寄存器中的第2位清0,以设置引脚为输出状态。
P1M的输出有一个时基(周期)和一个保持为高电平的时间,P1M的频率就是周期的倒数。P1M的周期可通过向TMR2的周期寄存器PR2写入设定,其计算公式:P1M改变PR2寄存器的值,就可以控制输出的P1M波形的频率。通过写入CCPR1L寄存器和CCP1CON控制器的4~5位,可以得到P1M的高电平时间设定值,分辨率可达10位;由8位的CCPR1L值(作为10位中的高8位)和控制寄存器CCP1CON中的第4~5位(作为10位中的低2位)组成。用以下方程可以计算P1M的高电平时间:P1M高电平时间=(CCPR1L:CCP1CON(bit5~bit4)x在PR2―定的情况下,通过控制CCPR1L寄存器和CCP1CON控制器位第4~5位的值,就可以控制输出的P1M波形的占空比。将CCP1CON寄存器的CCP1M3~CCP1M0位设置成1100,就可以使CCP1模块工作于P1M方式。要把CCP模块设置为P1M操作时,需按5步进行:1)向PR2寄存器写入相应的值,以设定P1M周期;(2)向CCPR1L和控制寄存器CCP1CON中的第5位、第4位写入相应的值,以设定P1M高电平时间;(3)通过对TRISC的第2位清0,以设定RC2/CCP1引脚为输出状态;(4)设置TMR2的前分频值,并通过T2CON写入,以使TMR2使能;(5)设定CCP1模块为P1M操作。
2小结驱动与运动控制模块是足球机器人小车硬件设计中的难点和重点,本文详细介绍了小车子系统该部分的设计。其中采用的都是较常用、市面上容易买到的芯片和部件,在满足控制性的基础上考虑了经济实用特性,且结构简洁。据此设计出的小车子系统在原理上是完全可行的,也是容易实现的。足球机器人的研制开发必将由大学实验室走向社会、面向大众。基于这种方向,今后的设计应把侧重点从控制转向简洁和经济,使这项高科技运动适应大众化的需求。