这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 足球机器人的车载及通讯系统

共1条 1/1 1 跳转至

足球机器人的车载及通讯系统

工程师
2011-03-15 14:34:06     打赏
足球机器人的车载及通讯系统
写于: 星期四 16 六月 @ 09:04:02
 
智能机器人开发足球机器人竞赛是近年来国际上迅速开展起来的一种高科技对抗活动,该项活动在我国各大高校里也日渐活跃,本文就对足球机器人的车载系统以及通讯系统做初步的探索。

足球机器人的车载及通讯系统
Zhaoqing University Zhengxudian


摘要:足球机器人竞赛是近年来国际上迅速开展起来的一种高科技对抗活动,该项活动在我国各大高校里也日渐活跃,本文就对足球机器人的车载系统以及通讯系统做初步的探索。


关键词:步进电动机;串行通讯端口;单片机;无线通讯


引言:通常足球机器人系统可以划分为机器人车体系统、通信子系统、视觉子系统和决策子系统四个部分,通过计算机视觉子系统闭环而构成智能决策和控制系统。其中的车体系统及通讯系统是该智能系统的基础,这两部分性能的好坏直接影响到整个足球机器人系统的灵活性。


1 方案的比较、选择与论证

1.1 车载系统
车载系统包括车体以及车体上的主控制板。

1.11 车体
一般对车体的驱动采用两种电机:步进电机和直流伺服电机。步进电机采用开环控制,无需测速器件,也不需要减速器,减少了机械结构的复杂性和CPU的机时。但步进电机的缺点是同样功率下的重量比伺服电机大,体积也大。直流伺服电机其优点是电机的功率与重量比大,能保证足够的速度。但是要想保证准确的速度,必须使用测速传感器如光电编码器,通过CPU对伺服电机进行闭环的PWM控制。但每个机器人上有二到三个伺服电机,进行闭环控制,从采样到输出脉冲,占用了较大的CPU机时,而且伺服电机的速度过高,必须使用减速器传动。由于空间有限,而减速器是精密器件,增加了碰撞失灵的概率。直流伺服电机的另一个缺点是其价格很高。考虑以上各种因素,本设计采用了步进电机作为驱动源。
车轮的设计:针对两轮足球机器人,其车轮的设计有以下三种方案:

 


A 方案:这种结构的着力点有四个,左右轮在机器人的中轴线,这样重心容易掌握。
B 方案:结构跟A方案相似,但重心偏向于机器人的前(后)方。
C方案:采用三点支撑结构,重心在前(后)。
考虑到电源的安置需要较大的空间,在这三种方案中前两种占用的空间较大,第三中方案空出的空间较多,因此本设计采用C方案。


1.12主控制板
主控制板包含了电路板和电路板上的单片机(CPU)及外围元件。其中最主要的是单片机(CPU)以及电机驱动芯片的选择。
控制芯片有很多选择,比如可以用单片机、DSP等。采用单片机成本低,但控制能力也相对较低。DSP处理能力强,但成本高。由于条件限制,本设计用51系列单片机作为主控芯片。


1.2 通讯系统
可以使用的无线收发模块种类很多,由于无线模块负责计算机与单片机之间的通讯,因此采用数字式收发模块比较方便。这种类型的收发模块有收发一体化的,如基于nRF401芯片的PTR2000、FB230等,这种模块在内部集成了高频发射、高频接收、PLL合成、采用FSK调制/解调、参量放大、功率放大、频道切换等功能,因此性能较好,但价格也较高。也有发送跟接收分开的,如普通的315MHZ的无线收发模块,这种模块采用ASK调制方式,接收模块分超再生和超外差方式,接收模块本身不带解码集成电路,因此接收电路仅是一种组件,只有应用在具体电路中进行二次开发才能发挥应有的作用,这种设计有很多优点,它可以和各种解码电路或者单片机配合,设计电路灵活方便,价格便宜。
由于本人手头上刚好有一对普通的315MHZ收发模块,正好用来作为本设计的通讯模块。


2 系统的具体设计与实现

2.1 车体的设计

车体如图一:



控制板如图二:


2.2 系统的硬件设计

 

2.21 计算机串口通讯
由于无线发射模块使用的是TTL电平(单片机系统也是使用TTL电平),它是以电平的高低来表示逻辑状态,而串行通信中一般使用的是RS―232C通信协议,它用正负电压来表示逻辑状态,二者的电平不同,需要外接接口进行电平匹配。这种电平匹配接口可用三极管搭起来,也可以使用专用芯片,如MAX232等。本设计采用的就是MAX232芯片。图五是MAX232与计算机串口的连接电路。串口的第2脚是接收端,接在MAX232的14或9脚,第3脚是发送端,接在MAX232的13或8脚。无线发射模块的数据端接到MAX232的10或11脚。


这样计算机的控制信号通过串口的第3脚发送,经过MAX232电平转换后从11脚送到无线发射模块的数据端,经过ASK调制后发射出去。
无线发射模块(如图六)的工作频率为315M,采用声表谐振器SAW稳频,频率稳定度极高,当环境温度在-25~+85度之间变化时,频飘仅为3ppm/度。特别适合多发一收无线遥控及数据传输系统。声表谐振器的频率稳定度仅次于晶体,而一般的LC振荡器频率稳定度及一致性较差,即使采用高品质微调电容,温差变化及振动也很难保证已调好的频点不会发生偏移。


图六 发射模块实物图


无线发射模块具有较宽的工作电压范围3~12V,当发射电压为3V时,空旷地传输距离约50~100米,发射功率较小,当电压5V是约200~400米,当电压9V时约500~600米,当发射电压为12V时,为最佳工作电压,具有较好的发射效果,发射电流约60毫安,空旷地传输距离800~1000米,发射功率约200毫瓦。
无线发射模块适合采用ASK方式调制,以降低功耗,当数据信号停止时发射电流降为零,数据信号与DF发射模块输入端用电阻而不能用电容耦合,否则数据模块将不能正常工作。电路如图七所示。


图七 发射模块电路图

2.22 单片机主控板
接收模块接收到信号后,先用斯密特触发器对信号整形滤波,然后把数据送到单片机的串口接收端(10脚),单片机通过对数据进行判断,然后控制步进电机执行相应的动作。
接收模块为超再生接收模块(如图八所示),这种模块价格低廉,而且接收灵敏度高,但是缺点也很明显,那就是频率受温度漂移大,抗干扰能力较差。


图八 接收模块实物图
主要技术指标:工作频率:315MHZ/433MHZ,频率稳定度:±200KHZ,接收灵敏度:-106DBM,输出方式:TTL电平。电路如图九所示。


图九 接收模块电路图


这种电路的优点在于:
1 天线输入端有选频电路,而不依赖1/4波长天线的选频作用,控制距离较近时可以剪短甚至去掉外接天线
2 输出端的波形在没有信号比较干净,干扰信号为短暂的针状脉冲,而不象其它超再生接收电路会产生密集的噪声波形,所以抗干扰能力较强。
3 DF模块自身辐射极小,加上电路模块背面网状接地铜箔的屏蔽作用,可以减少自身振荡的泄漏和外界干扰信号的侵入。
4 采用带骨架的铜芯电感将频率调整到315M后封固,这与采用可调电容调整接收频率的电路相比,温度、湿度稳定性及抗机械振动性能都有极大改善。可调电容调整精度较低,只有3/4圈的调整范围,而可调电感可以做到多圈调整。可调电容调整完毕后无法封固,因为无论导体还是绝缘体,各种介质的靠近或侵入都会使电容的容量发生变化,进而影响接收频率。另外未经封固的可调电容在受到振动时定片和动片之间发生位移;温度变化时热胀冷缩会使定片和动片间距离改变;湿度变化因介质变化改变容量;长期工作在潮湿环境中还会因定片和动片的氧化改变容量,这些都会严重影响接收频率的稳定性,而采用可调电感就可解决这些问题,因为电感可以在调整完毕后进行封固,绝缘体封固剂不会使电感量发生变化。
由于车体比较重,因此要求驱动步进电机的电流要高些。L298内部包含4通道逻辑驱动电路。其额定工作电流为1A,最大可达1.5A,Vss电压最小4.5V,最大可达36V;Vs电压最大值也是36V,因此比较适合用于本设计。表1是其使能、输入引脚和输出引脚的逻辑关系:



图十是其引脚图:


图十 L298引脚


在控制电路中,考虑到单片机有时会受到驱动部分的干扰,因此采用了光电耦合器TLP251,把控制部分和驱动部分隔离开。主控部分电路如图十一所示,图中只画出P0口控制部分,P2口控制部分没有画出,其原理完全相同。


图十一 主控部分电路图


2.3系统的软件设计

2.31 计算机控制软件的编写
控制软件的编写采用VB编程软件,由于VB具有界面友好,操作方便,又提供串行通讯控件,所以本模型用VB的界面作为控制界面。VB提供了串行端口控制控件Mscomm来为应用程序提供串行通讯。该控件屏蔽了通信过程中的底层操作,可以设置、监视Mscomm控件的属性和事件,结合Timer控件即可完成对串行口的初始化和数据的输入输出工作。软件界面如图十二所示。具体程序见后面附1:


图十二 软件控制界面


2.32 单片机主控部分软件的实现
程序流程图如图十三所示:


图十三 主控程序流程图


步进电机采用四相八拍通电方式,正转通电顺序为A― AB― B― BC― C ―CD― D ―DA,反转顺序刚好相反。由于八拍工作时的步距角要比单四拍或双四拍时的步距角小一半,所以步进精度要高一倍。实现步进电机的转速可以采取软脉冲方法,也可以用硬件产生脉冲分配的方法。本设计用了软脉冲的方法。软脉冲实现步进电机调速也有两种方法。
方法一 采用软件延时的方法。改变延时的时间长度就可以改变输出脉冲的频率。但这种方法占用了单片机大量的机时,不适合用于本系统。
方法二 采用定时器中断的方法。在中断服务子程序中进行脉冲输出操作,调整定时器的定时常数就可以实现调速。这种方法占用单片机的机时较少,是一种比较实用的调速方法。具体程序设计如下:

 

 

void timer0() interrupt 1 using 1 //定时器0中断1方式
{
switch(k) //判断变量K的值
{
case 0x61:TH0=0xf7;TL0=0x00; //如果为61H,即‘a‘,定时为30ms
P0=tab[time]; //P0口驱动电机左轮正转
P2=tab[time]; //P2口驱动电机右轮正转
time++; //time每次加1就换相一次
if(time>7) //如果达到8次就重置0
time=0;
break;//执行完毕就跳出中断
…… //其他动作相同
default:break; //如果K的值超出范围就跳出
}
}


本设计中实现单片机的无线数据传输主要利用单片机串口接收数据,把收到的数据暂存到缓冲器中。一次数据接收完毕就引起一次串口中断。在中断中把缓冲器里的数据送给变量K,并在定时器0的定时中断中判断K的值。协议如下:串口波特率为600,8位数据位,1位停止位,无奇偶校验位。K的值代表相应的操作如表2所示:


串口中断程序如下:
void serial0(void) interrupt 4 using 1 //串口中断
{
RI=0; //中断标志位清零
tmp=SBUF; //读取缓冲区的数据
if((tmp>=0x61)&&(tmp<=0x6b))//如果数据在a到k的范围内就认为是正确数据
{
k=tmp; //把正确数据送给变量K,在定时中断中判断K的值
//并执行相应操作
}
}

3 系统调试

系统的调试分两部分,一部分是车载控制的调试,另一部分是通讯也就是无线发射跟接收的调试。
车载部分的调试:该部分主要是判断单片机能否驱动步进电机。为了提高效率,我先编简单的程序只控制步进电机前进跟后退。按照独步调试的方法,先判断光电耦合器是否工作。调试时先不接L298,而是把光耦的输出接到LED发光二极管,看LED是否会闪动。这部分调试过程中发现有一个亮着的LED不会闪动,检查了整个电路没有发现问题,于是我把几个光耦对换了位置,发现原来不闪动的LED会闪了,但是对换光耦位置的另一个LED出现了同样的问题。于是我判断是光耦的问题,换了一个新的,通电后十二个LED都会闪动,说明电路正常了,接上L298,把步进电机的接线接好,通电后步进电机成功实现正、反转。
无线通讯部分的调试:这部分的调试我采用的是用串口调试软件来代替示波器。方法是:先把串口跟发射模块接好后,再把接收模块的数据端接到MAX232的接收脚,通过MAX232把收到的数据传给计算机,在串口调试软件上显示接收到的数据。接收模块的电源跟发射模块的电源分开。按照无线收发模块的资料上说通讯的波特率不能太高,在2.5KBs 左右。调试过程中,我发现实际上的波特率应该更低,通过实验,我发现当波特率为600Bs时接收的灵敏度最高,误码的次数大大减少。


4 测试结果及分析

在整个车载系统的测试中,发觉步进电机虽然控制比较简单,但由于它有四个相位,因此也增加了控制芯片的数量。两个步进电机需要两片驱动芯片,需要单片机相应的IO口及光耦的数量也大大增加。而如果用直流减速电机,一个驱动芯片就可以驱动两个直流电机,需要的单片机IO口及光耦也减少一半。另外,在转速方面,步进电机的速度也比直流电机慢些。


无线通讯部分出现的问题比较突出。主要体现在单片机晶振辐射频率对接收模块的干扰上。51系列单片机工作的时候,会产生比较强的电磁辐射,频率范围在9MHZ-900MHZ。而本设计所采用的无线通讯频率为315MHZ,因此接收模块因为受到单片机晶振频率的干扰而导致灵敏度下降。


5 结束语

本设计性能上与实际比赛用的足球机器人还有很大的差距。主要体现在反应灵敏度不高,速度较慢等。通过这次设计,我觉得如果采用直流减速电机作为驱动电机,可以解决本作品速度不高,功率较低的缺点。而采用抗干扰能力较强的超外差接收模块或其他性能更好的无线通讯模块可以提高本系统的灵敏性。由于PIC单片机的晶振为内置式的,所以不存在着对接收模块的干扰问题。因此PIC单片机比51系列单片机更适合于本系统。
整个系统的全部源程序如有需要请联系我:

zhengxudian[at]163[dot]com




关键词: 足球     机器     人的     车载     通讯系统     系统     步进     单片    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]