郑州轻工业学院电气飞虎队智能汽车竞赛技术报告.docx

上传人:b****1 文档编号:14605585 上传时间:2023-06-24 格式:DOCX 页数:56 大小:594.45KB
下载 相关 举报
郑州轻工业学院电气飞虎队智能汽车竞赛技术报告.docx_第1页
第1页 / 共56页
郑州轻工业学院电气飞虎队智能汽车竞赛技术报告.docx_第2页
第2页 / 共56页
郑州轻工业学院电气飞虎队智能汽车竞赛技术报告.docx_第3页
第3页 / 共56页
郑州轻工业学院电气飞虎队智能汽车竞赛技术报告.docx_第4页
第4页 / 共56页
郑州轻工业学院电气飞虎队智能汽车竞赛技术报告.docx_第5页
第5页 / 共56页
郑州轻工业学院电气飞虎队智能汽车竞赛技术报告.docx_第6页
第6页 / 共56页
郑州轻工业学院电气飞虎队智能汽车竞赛技术报告.docx_第7页
第7页 / 共56页
郑州轻工业学院电气飞虎队智能汽车竞赛技术报告.docx_第8页
第8页 / 共56页
郑州轻工业学院电气飞虎队智能汽车竞赛技术报告.docx_第9页
第9页 / 共56页
郑州轻工业学院电气飞虎队智能汽车竞赛技术报告.docx_第10页
第10页 / 共56页
郑州轻工业学院电气飞虎队智能汽车竞赛技术报告.docx_第11页
第11页 / 共56页
郑州轻工业学院电气飞虎队智能汽车竞赛技术报告.docx_第12页
第12页 / 共56页
郑州轻工业学院电气飞虎队智能汽车竞赛技术报告.docx_第13页
第13页 / 共56页
郑州轻工业学院电气飞虎队智能汽车竞赛技术报告.docx_第14页
第14页 / 共56页
郑州轻工业学院电气飞虎队智能汽车竞赛技术报告.docx_第15页
第15页 / 共56页
郑州轻工业学院电气飞虎队智能汽车竞赛技术报告.docx_第16页
第16页 / 共56页
郑州轻工业学院电气飞虎队智能汽车竞赛技术报告.docx_第17页
第17页 / 共56页
郑州轻工业学院电气飞虎队智能汽车竞赛技术报告.docx_第18页
第18页 / 共56页
郑州轻工业学院电气飞虎队智能汽车竞赛技术报告.docx_第19页
第19页 / 共56页
郑州轻工业学院电气飞虎队智能汽车竞赛技术报告.docx_第20页
第20页 / 共56页
亲,该文档总共56页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

郑州轻工业学院电气飞虎队智能汽车竞赛技术报告.docx

《郑州轻工业学院电气飞虎队智能汽车竞赛技术报告.docx》由会员分享,可在线阅读,更多相关《郑州轻工业学院电气飞虎队智能汽车竞赛技术报告.docx(56页珍藏版)》请在冰点文库上搜索。

郑州轻工业学院电气飞虎队智能汽车竞赛技术报告.docx

郑州轻工业学院电气飞虎队智能汽车竞赛技术报告

第一章引言1

第二章电路系统方案设计2

2.1单片机最小系统电路设计3

2.2数据采集系统电路设计4

2.3电机驱动电路设计6

2.4电源模块电路设计8

第三章机械结构的调整10

3.1舵机部分调整10

3.2前轮部分调整10

3.2.1主销后倾角的调整10

3.2.2主销内倾角的调整11

3.2.3前轮外倾角的调整11

3.2.4前轮前束的调整11

3.3车身重心调整12

3.4后轮距及后轮差速的调整12

3.5齿轮传动机构的调整12

3.6传感器的设计安装13

3.6.1传感器的选择13

3.6.2传感器横向间隔距离14

3.6.3传感器纵向伸出长度14

第四章软件系统设计16

4.1主程序设计16

4.2光电传感器路径识别算法16

4.3舵机、直流电机的控制17

4.3.1舵机PID18

4.3.2直流电机PID控制18

第五章开发与调试20

5.1开发工具20

5.2调试过程20

第六章车模技术参数23

第七章结论24

鸣谢25

参考文献26

附录A源程序代码27

第一章引言

全国大学生智能汽车比赛是教育部高等学校教育司委托高等学校自动化专业教学指导分委会主办,由飞思卡尔公司赞助,是教育部主办的全国大学生九大竞赛之一,旨在培养大学生创新精神、协作精神,提高大学生工程实践能力的科技活动。

大赛要求使用组委会统一提供一款带有差速器的后轮驱动模型车,比赛跑道为表面白色,中心有连续黑线作为引导线,黑线宽为25cm,比赛规则限定了跑道宽度60cm和最小曲率半径50cm,采用飞思卡尔16位单片机MC9S12XS128作为核心控制单元,自主构思控制方案及系统设计,包括路径的识别、舵机转向控制、电机驱动控制、控制算法执行等。

比赛要求在不违反大赛规则的情况下以最短时间完成单圈赛道并能检测赛道的起跑线,能够在完成比赛之后自动停止在起跑线3m范围之内,最快跑完全程而没有冲出跑道并且技术报告评分较高者将成为获胜者。

根据规则和要求,把小车的设计分为机械系统设计、电路系统设计和软件系统设计。

电路系统按照功能划分为:

电源模块、单片机模块、运行调试模块、路径识别模块、直流电机驱动模块、转向伺服模块、速度测量模块等;在机械系统设计时改变了小车的主销后倾角,以增大回正力矩。

自制控制板放于底盘上使车重心下移,由于车模的重心越低,越有利于车的稳定性,因此将主控板设计的形状和大小设计成可直接安装在车模的底盘上是最好也是最经济的方法;在软件系统的设计上我们采用自适应算法来识别小车的实时位置,减小光线对小车定位的影响,在控制算法上,对模糊控制与PID控制的完美结合,在保证小车稳定的

前提下尽最大可能提高小车的速度。

第二章电路系统方案设计

电路系统的设计主要有电源模块设计、单片机最小系统模块设计、运行调试模块设计、路径识别模块设计、直流电机驱动模块设计、转向伺服模块设计、速度测量模块设计等,电路系统框图如图2.1所示:

图2.1系统框图

2.1单片机最小系统电路设计

按大赛组委会的要求,此次选用飞思卡尔公司的MC9S12系列的MC9S12XS128B单片机。

它是以运算速度很快的CPUS12内核为核心的单片机,经过锁相环后,时钟频率可达到40MHz,内部Flash高至128KB,拥有2组各8路10位A/D、16路I/O口,有功能强大的8路8位PWM输出。

该单片机功能强大,完全能够胜任小车的检测和控制功能。

但是大赛组委会提供的单片机开发板体积较大、重量较沉且不能放到小车的底盘上,为最大可能地使小车的重心下移和最大程度的减小小车的负荷,自己单独设计了主控制器的最小系统,保留智能车必须用到舵机控制、红外探头、光电编码器测速、电机控速、串口等接口和8只绿色LED指示灯,增加拨码开关设置电路,这样不但简化了外围电路的设计,而且使主控系统达到最优。

整个MCU模块的电路设计如图2.2所示。

I/O资源分配如图2.3所示。

最小系统板板的实物图如图2.4所示:

图2.2MCU模块图

图2.3I/O资源分配

图2.4主制板实物图

2.2数据采集系统电路设计

智能小车的数据采集系统电路包括赛道信息采集系统电路和小车实时速度采集系统电路。

下面就这两部分的设计分别予以介绍。

刚开始设计赛道信息采集系统电路时采用普通的红外光电对管对赛道进行检测,在经过多次的测试,发现它的灵敏度要明显优于集成的光电对管并且可以预测较远距离的赛道情况。

但是经过多次对比后发现它还有个致命的弱点那就是不稳定、不可靠,由于它每个对管采集过来的值受相邻发射管的影响比较大,光电对管值很难调的比较接近,致使小车经常冲出跑道。

最大化地增加了红外发射管的发射功率,同时对接收管加窄带滤光片,还为每个分离式传感器套上了“黑色长帽”使其方向性一致后,经在同一个车模上、同一个程序、同样红外传感器PCB板上装上不同传感器来多次试验,结果证明,分离式红外对管前瞻性比集成红外传感器略好,但其在不同光线强度下不稳定。

最后决定,传感器使用红外发射接收一体化管ST188做为小车的“眼睛”,略向前瞻,检测模型车即时位置信息,再加上自适应算法对检测所得的数据进行精确的处理,得出小车实时准确位置并做出决策,由此对舵机、电机进行控制,实现了较精确的转向控制和快速的行驶。

单个红外对管的具体电路如图2.5所示:

图2.5单个红外传感器对管电路

在实践中也发现,光电对管的排列结构对采样值的影响也很大。

最开始尝试了等间距的排列方式,采用脉冲发射,但在测试中发现不行,单个对管检测黑白线时的电压差还是比较理想,但14个对管全部接上时,对管采集过来的值就不怎么理想了。

后来采用了中间疏两边密的方法,这样路况的信息采集比较精确。

该车共采用14个光电对关传感器,布局如图2.6所示:

图2.6红外传感器布局图

在设计智能车的实时速度采集电路时,最初采用在车轮上加装磁钢,再采用霍尔元件进行检测的方案,但是这样采集的小车速度不够准确。

后来采用光电编码器对电机进行转速检测,大大地提高了速度测量的准确度。

其测量值可以满足对速度控制的要求,且不易受外界干扰。

为了更为精确的控制车模的速度,在车模电机主轴上加装机械齿轮和直射式光电编码器组成的测速装置,它每旋转一周可以输出80个脉冲信号,将输出脉冲信号送到单片机中从而计算出车模运动的实时速度,并根据车模的速度制定对车模直流驱动电机的调整策略。

其安装示意图如图2.7所示。

图2.7光电编码器安装实物图

2.3电机驱动电路设计

电机是小车前行和转向的直接动力源,电机的控制效果直接影响小车的速度以及前行的稳定性。

电机驱动电路包括直流电机驱动电路和舵机驱动电路两部分。

由于舵机内部集成了对其转角的控制电路,所以只需要将单片机输出的某一路PWM信号输入到其控制线中即可实现对舵机转角进行控制。

直流电机的控制由单片机的PWM信号来完成,在调试中也曾尝试过使用MOS管IRF9640、IRF640搭建H桥驱动电路,如图2.8所示。

比较效果表明该方案不占优势。

最后驱动芯片采用飞思卡尔半导体公司的半桥式驱动器MC33886。

该芯片内部具有过流保护电路,刹车效果好,驱动能力强,接口简单易用等特点。

其工作电压为5-40V,导通电阻为120mΩ,输入信号为TTL/CMOS,PWM频率小于10KHz。

如图2.9所示。

图2.8电机驱动模块原理图

图2.9MC33886典型电路

实际驱动电路由两片MC33886并联构成,这样做首先是为了得到更大的驱动能力,其次是减小单片MC33886的发热量。

起初采用一片MC33886驱动电机,发现调速时MC33886发热量很大,在这里用两片MC33886来为同一个电机供能,可以有效地减小单片MC33886的功耗,发热现象也可以得到部分缓解。

在设计PCB时还要为MC33886添加散热盘,并在上面图上导热硅胶固定散热片,降低其工作时的温度。

驱动电路如图2.10所示。

图2.10电机驱动电路

2.4电源模块电路设计

由于条件和规则所限,参赛车模的动力驱动系统与控制系统共用同一电源。

这样,在电机加减速过程中伴随的超大电流将拉低电池端电压,严重影响控制系统工作的稳定。

为此,在控制系统设计了可靠的稳压模块,使电池端电压下降到一定水平时,控制系统的供电依然稳定、纯净。

保证控制系统的供电可靠性。

标准车模要求使用7.2V2000mAhNi-cd蓄电池,但整个系统中,单片机系统、路径识别的光电传感器和接收器电路、车速传感器电路需要5V电压,最后选择使用的是低压差的LM2940-5.0;舵机伺服电机工作电压6V,采用LM2576;调试时采用的无线通讯模块需要3.3V电压,采用LM1117-3.3。

系统供电结构图如图2.11所示。

各个供电模块电路设计如图2.12所示。

图2.11系统供电结构图

图2.12系统供电原理图

第三章机械结构的调整

为了让赛车能在直道和弯道上高速稳定的通过,而且转弯比较灵巧,快速,除了有相应的软件和硬件电路的设计之外,赛车的机械结构对其也有很重要的影响。

所以对赛车的机械结构也做了一些相应的调整。

3.1舵机部分调整

组委会提供的舵机为S3010,由于赛车转向时舵机的响应速度是一个很重要的因素,为了使转弯更加灵活,增加从舵机到连杆之间的长度,这样与以前的长度相比让前轮转过同样的角度舵机只需转过比以前更小的角度,虽然舵机本身的动作的速度没有变,但对于转向来说则比以前更快了,减小了舵机转弯时惯性带来的影响。

通过以上这些改造舵机的响应速度提高许多,为快速灵巧的转向提供了硬件的保证。

 

图3.1舵机改装实物图

3.2前轮部分调整

为了增加前轮转弯时的稳定性,对前轮相关部分进行了部分改动。

首先,更改前后垫片的数量,使前轮主销后倾,这样,车轮具有更好的自动回正功能。

其次,更改连杆的长度,使小车前轮外倾,车轮转弯时,前半部分重心上移,促使赛车转弯更加稳定。

再次,通过更改舵机连杆的长度,增加前轮前束,同样增加了前轮的稳定性。

3.2.1主销后倾角的调整

模型车通过增减黄色垫片的数量来改变主销后倾角,每侧有4片垫片,前2后2,后倾角为0°;前1后3,后倾角为2°~3°;前0后4,后倾角为4°~6°。

欲使模型车转向灵活,主销后倾角可设定为0°,即垫片前2后2;欲增大回正力矩,后倾角可设定为2°~3°,即垫片前1后3;一般情况下后倾角不宜设定为4°~6°。

如图采用的是主销后倾角为2°~3°。

图3.2主销后倾角改装实物图

3.2.2主销内倾角的调整

主销内倾角是前轮主销在赛车水平面内向内倾斜的角度,虽然增大内倾角也可以增大回正的力矩,但增大内倾角会在赛车转向的过程中,增大赛车与路面的滑动,从而加速轮胎的磨损,由于轮胎对地的附着力对防止侧滑有很重要的影响,所以将内倾角调整为1°。

3.2.3前轮外倾角的调整

前轮外倾角是前轮的上端向外倾斜的角度,如果前面两个轮子呈现“V”字形则称正倾角,呈现“八”字则称负倾角。

由于前轮外倾可以抵消由于车的重力使车轮向内倾斜的趋势,减少赛车机件的磨损与负重,所以将小车的前轮外倾角调整为为1°。

3.2.4前轮前束的调整

前轮前束是前轮前端向内倾斜的程度,当两轮的前端距离小于两轮的后端距离时为内八字,前端距离大于后端距离时为外八字。

由于前轮外倾使轮子滚动时类似与圆锥滚动,从而导致两侧车轮向外滚开。

但由于拉杆的作用使车轮不可能向外滚开,车轮会出现边滚变向内划的现象,从而增加了轮胎的磨损。

前轮外八字与前轮外倾搭配,一方面可以抵消前轮外倾的负作用,另一方面由于赛车前进

时车轮由于惯性自然的向内倾斜,外八字可以抵消其向内倾斜的趋势。

外八字还可以使转向时靠近弯道内侧的轮胎比靠近弯道外侧的轮胎的转向程度更大,则使内轮胎比外轮胎的转弯半径小,有利与转向。

3.3车身重心调整

车身重心的前后方向调整,对智能车行驶性能有很大的影响。

按照车辆运动学理论,车身重心前移会增加转向,但会降低转向的灵敏度,同时降低后轮的抓地力;重心后移会减少转向,但会增大转向灵敏度,后轮抓地力也会增加。

因而调整合适的车体重心,让智能车更加适应跑道是很关键的。

根据实际调试经验,鉴于当前舵机响应迟缓,因此,需要将车的中心前移,增加转向性能。

3.4后轮距及后轮差速的调整

在拐弯时由于弯道内侧轮比外侧轮的拐弯半径小,则内侧轮比外侧轮的速度小,这就使两轮胎有一定的速度差,称为差速。

而赛车的差速机构安装在后轮轴上的,所以只可以调整后轮的差速。

经多次调试观察发现差速对赛车转弯有很大的影响。

如果差速过紧,即两轮胎的速度很接近时,转弯的时候内侧轮很容易打滑,从而产生侧滑,使赛车滑出赛道。

当差速过松时,会使直道的时候两轮打滑,大大的减小了赛车的驱动能力。

所以差速调整要适当,才会使直道驱动能力强,弯道转弯灵巧。

参考以前调试差速的经验是把赛车放在赛道上捏住一个轮胎不动让另一个轮胎能在赛道上半滑动时为宜。

3.5齿轮传动机构的调整

大赛提供的电机输出轴齿轮数为18个,后轮输出轴齿轮数为76个,则齿轮比为9:

38,装在光电编码器上的齿轮数为36个。

齿轮传动机构的调整就是调整电机输出轴的齿轮与后轮轴上齿轮之间的咬合程度。

当咬合比较松时由于两齿轮之间存在较大的缝隙,齿轮转动时会产生很大的两齿轮之间的碰撞声音,这样会大大增加齿轮的磨损。

当咬合的比较紧时齿轮之间的摩擦力增大,这样就会使电机的负荷增大,从而降低了电机对后轮的驱动能力。

为了使齿轮的调整比较适当,经过多次的调试,基本上找到了最好的状态,且齿轮间没有撞击的声音,再涂上润滑油,齿轮间的声音清脆并且没有迟滞现象。

如图3.3所示。

图3.3齿轮传动机构实物图

3.6传感器的设计安装

3.6.1传感器的选择

通过红外发光管发射红外线照射跑道,跑道表面与中心线具有不同的反射强度,利用红外接收管可以检测到这些信息。

这种检测方法具有较高的可靠性和稳定性,且电路设计比较简单,检测信息快,最重要的是单片机易于处理。

但这种方法对道路参数检测精度低,易受到外界光线的干扰,且检测距离有限。

通过对两个方案的比较,结合自身实际情况,采用了单光束反射取样式光电传感器ST188,它具有以下特点:

(1)采用高发射功率红外光电二极管和高灵敏度光电晶体管组成。

(2)检测距离可调整范围大,4-13mm可用。

(3)采用非接触检测方式。

(4)发射/接收管在同一个元件上,可以减少车身重量。

其外观图和芯片引脚图分别如图3.4和3.5所示。

图3.4ST188外观图

图3.5ST188芯片引脚图

注:

引脚顺序的标识方法,以顶端有斜边起分别为A,K,E,C的顺序排列。

3.6.2传感器横向间隔距离

各个传感器的横向间隔距离对智能车是有一定影响的,根据赛道规则,中间黑色导引线的宽度为25mm,为了让小车的转弯更加精确以及不出现盲区,根据经验将14个对管按图3.6所示排列,也得到了预期的效果。

同时调整传感器的高度和羊角,获得很好的区分度和灵敏度。

图3.6光电对管分布图

3.6.3传感器纵向伸出长度

传感器的纵向伸出长度也是传感器布置的一个重要参数,对车辆的稳定性及最高车速都有很大的影响。

传感器的纵向伸出长度主要关系到模型车对未知赛道的预知能力。

理论上讲,传感器伸出距离越长,越有利于模型车对赛道形状变化做出响应,使得模型车有相对比较充足的时间进行转弯和降速,这样也在很大的程度上提高了模型车在直线上的速度。

但是,纵向伸出长度加长也会带来一些弊端,如重心前移增加了模型车不足转向的趋势。

在安装强度不足时,还会出现上下抖动,使传感器检测到错误的信息,引入干扰信号。

最后选用铝合金做支架使小车的总长度约为39.5mm。

传感器安装参数表如表3.1所示。

表3.1传感器安装参数表参数

间隔(mm)

1.2、1.2、1.2、1.8、1.8、1.8、1.8、1.8、1.8、1.8、1.2、1.2、1.2

高度(mm)

6.8

前倾角

离车身距离(cm)

12cm

第四章软件系统设计

4.1主程序设计

程序主要用到XS12芯片中的PWM模块、Timer模块、PIT模块、AD模块以及I/O等模块化设计。

PWM模块主要用来控制舵机和直流电机的运转;Timer模块主要是用在了测量车速上;PIT模块主要用来产生不同的时间信息;AD模块用来采集道路信息;I/O模块主要是用来调节系统参数。

其主程序流程路如图4.1所示。

图4.1主程序流程图

4.2光电传感器路径识别算法

对于本控制系统采用14对光电对管的方案,单排“一”字形排列在车体头部10cm处。

编号为7、8的光电对管处于正中央位置。

利用14对传感器进行道路识别。

红外线对白色的反射率比黑色的大,单片机ADC读入红外接收管的值相应也大。

在程序中对传感器信号进行处理,计算传感器中心位置与黑色引导线的偏离程度。

在黑白线的识别上,不是采用与固定的阈值相比较来确定黑白线的,而是采用自适应算法与可变阈值相比较来确定黑白线的,从而减小了小车定位对外部光线的依赖程度。

具体做法为:

AD采集完一次数据后得到14个接收管的值,取出最大值和最小值求其平均值,利用平均值与14个接收管的值进行比较,若小于则认为此接收管检测到黑色引导线,否则认为检测到白色底板。

然后根据检测到黑色引导线的接收管判断车中心偏离黑色引导线的程度并对不同的偏离程度进行标定。

标定采用模糊控制技术,根据传感器的排布情况和黑色引导线的宽度而标定出23种位置情况。

小车的其它位置均根据模糊运算法则使其隶属于这23中位置。

程序中利用now_statu变量记录位置信息。

now_statu=1时说明黑色引导线在小车中心左边最大位值,now_statu=12时说明黑色引导线在小车中心处,now_statu=23时说明黑色引导线在小车中心右边最大位值。

为了增强判断的准确性,对于标定出的位置信息进行滤波,即相邻两次标定出的位置信息相差不能太大,如果太大就认为是干扰信号,此时仍按照上一次的位置信息进行处理。

路径检测完后,将标定好的位置信息进行存储,然后将位置信息传递给舵机和电机控制部分,以选择给定合适的转角和速度。

4.3舵机、直流电机的控制

智能车的舵机和直流电机都采用了经典的PID控制方法。

但是由于舵机和直流电机性能的不同要求,分别对其进行了不同的修改。

PID控制器由比例单元(P)、积分单元(I)和微分单元(D)组成。

其输入e(t)与输出u(t)的关系为

 

因此它的传递函数为:

G(s)=U(s)/E(s)=kp(1+1/(TI*s)+TD*s)

其中kp为比例系数;TI为积分时间常数;TD为微分时间常数

比例KP用来控制当前,误差值和一个负常数P(表示比例)相乘,然后和

预定的值相加。

P只是在控制器的输出和系统的误差成比例的时候成立,KP能够快速的跟随变化量。

及时的产生与之相关的调节作用。

但是KP是有差调节,无法消除静态误差。

积分KI来控制过去,误差值是过去一段时间的误差和,然后乘以一个负常数I,然后和预定值相加。

但加入比例环节后会使系统输出之后,这对快速行进的小车来说是非常不利,所以最终把积分环节去掉了。

微分KD来控制将来,计算误差的一阶导,并和一个负常数D相乘,最后和预定值相加。

这个导数的控制会对系统的改变作出反应。

导数的结果越大,那么控制系统就对输出结果作出更快速的反应。

这个D参数也是PID被成为可预测的控制器的原因。

D参数对减少控制器短期的改变很有帮助。

一些实际中的速度缓慢的系统可以不需要D参数。

4.3.1舵机PID

由于舵机是一个具有大的延迟的执行机构,所以在PID控制中不能加入积分环节。

所以小车采用PD控制。

在实际的调试中发现当把比例系数增大时小车在直道上会震荡,当比例系数小时小车在弯道会冲出赛道。

所以决定在弯道和直道时采用不同的比例系数。

此时的难点就是如何把弯道和直道区分开来,特别是不能把小车在直道上震荡的情况判断为弯道。

把最近采集到的100次位置信息进行存储,计算100次位置信息数据的方差和平均值。

当小车走直道以及在直道上震荡时,计算数出的方差和平均值都会较小,当小车过大弯道时方差很小但平均值很大,当小车过连续的小S到时,方差很大但平均值较小。

根据以上分析可知以用方差和平均值可以区分出小车处于弯道还是直道。

4.3.2直流电机PID控制

直流电机控制采用PID控制,利用PIT模块产生10ms定时中断,中断中读取脉冲累加器的值,计算出10ms脉冲累加器的增量值,以用此值作为PID调节的当前测量值,给定值与此值相减得到PID的偏差信号,然后进行比例微分计算得到PID的输出,输出量与PWM占空比寄存器相加得到的值作为新的占空比值。

小车行使过程中,随着跑道的不同,需要配合不同的速度值,因此对电机的PID是一个给定值不断变化的PID。

在实验中发现,PID的超调量主要在第一个波形中起作用,也即单速度由很大到很小的时候,或由低速突然加到高速的过程中,会出现很大的超调。

但是这个超调并不是有害的,因为,当速度要求突变的时候,往往是小车由直道入弯道,或者由弯道入直道的过程,这个过程往往需要很快的大加减速,而由于小车的惯性,一般的PID调节难以满足要求,这时使用大的超调量可以使小车有一个加速或刹车的过程,使之更好的达到要求速度。

第五章开发与调试

5.1开发工具

程序的开发是在组委会提供的CodeWarrior4.7下进行的,包括源程序的编写、编译和链接,并最终生成可执行文件。

CodeWarrior4.7forS12是面向16位Freescale单片机的集成开发环境,可以完成HC(S)12系列单片机的汇编/C/C++等代码的编译工作,并生成可下载到HC(S)12单片机的*.abs/*.S19的机器代码。

可以实现进行程序的调试功能,并配合BDMforS12等硬件工具实现程序的烧写、擦除等调试功能。

CodeWarrior4.7的编程界面如图5.1所示:

图5.1CodeWarrior4.7编程界面

5.2调试过程

在调试过程中,还认真分析了今年的赛道规则,根据各种赛道参数指标设计出了自己的跑道,方便了智能车的实况调试。

自行设计的赛道如图5.2所示。

图5.2赛道实物图

在调试的过程中,遇到过很多问题:

如何防止撞车?

撞车可能导致车前红外对管被撞坏或甚至对车体造成不必要的损伤;如何得到小车在跑道上运动时的各项参数,以便对各种路况分析与处理?

显然无线通讯是优选。

对以上两个问题的解决,最终确定使用两块nRF24L01模块,一块安装在车上,另一块通过单片机与电脑通讯,数据清晰可靠。

nRF24L01是一款新型单片射频收发器件,工作于2.4GHz~2.5GHzISM频段。

内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置;SPI速率为0Mb/s~10Mb/s。

nRF24L01功耗低,在以-6dBm的功率发射时,工作电流也只有9mA;接收时,工作电流只有12.3mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。

nRF24L01引脚图与MCU接口如图5.3所示。

图5.3nRF24L01引脚图与MCU接口电路图

由于赛道情况各有不同,弯道、直道数量各不相等,所以必须能在不改变程序的前提下进行参数的调试,调试的方式界面可以有数字按键,拨码开关等,经过多种情况考虑,最后选择了拨码开关,由两个8位拨码开关分别进行参数选

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2