第八届飞思卡尔智能车竞赛光电平衡组常熟理工学院技术报.docx
《第八届飞思卡尔智能车竞赛光电平衡组常熟理工学院技术报.docx》由会员分享,可在线阅读,更多相关《第八届飞思卡尔智能车竞赛光电平衡组常熟理工学院技术报.docx(38页珍藏版)》请在冰豆网上搜索。
![第八届飞思卡尔智能车竞赛光电平衡组常熟理工学院技术报.docx](https://file1.bdocx.com/fileroot1/2023-1/25/aa92c398-82f7-4273-8b14-eaf7c24d3fce/aa92c398-82f7-4273-8b14-eaf7c24d3fce1.gif)
第八届飞思卡尔智能车竞赛光电平衡组常熟理工学院技术报
第八届“飞思卡尔”杯全国大学生
智能汽车竞赛
技术报告
学校:
常熟理工学院
队伍名称:
物电电磁一队
参赛队员:
杨楚、蒋林洋、卜建锋
带队老师:
徐健、吴正阳
关于技术报告和研究论文使用授权的说明
本人完全了解第八届“飞思卡尔”杯全国大学生智能汽车邀请赛关保留、使用技术报告和研究论文的规定,即:
参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。
参赛队员签名:
带队老师签名:
日期:
摘要
本文介绍了常熟理工学院物电电磁一队电磁车的成果。
智能车的硬件平台采用带MC9S12XS128处理器,软件平台为CodeWarriorIDE开发环境,车模采用大赛组委会统一提供的A型车模。
文中介绍了智能车机械结构调整,传感器电路设计,舵机、电机控制算法以及起跑线的检测等。
车模以MC9S12XS128单片机为控制核心,以安装在车体前的工字电感作为循迹传感器,采用干簧管检测起跑线,以欧姆龙编码器检测速度信息。
车模系统的简单工作原理是MC9S12XS128单片机通过AD口采集电感检测的拟量,并通过算法处理,然后返回值用于舵机控制,根据编码器返回值进行电机的闭环控制。
通过串口,借用蓝牙等工具进行舵机PD参数,电机PID的调节,以及整定传感器参数的整合处理。
关键字:
智能车、电机PID控制、舵机PD控制、电磁寻线
目录
第一章总体方案设计6
第二章智能车机械结构调整与优化9
2.1主销内倾9
2.2主销后倾10
2.3外倾角11
2.4车轮安装示意图如下:
12
2.5舵机的安装12
2.6舵机安装示意图如下:
13
2.7小结13
第三章电路设计说明14
3.1电源模块14
3.2传感器模块15
3.3电机模块15
3.4舵机模块16
3.5最小系统板设计16
3.6系统主板设计17
3.7小结18
第四章智能车控制软件设计说明19
4.1软件设计总体框架19
4.2电机PID控制20
4.3舵机的控制23
4.4传感器数据的处理24
4.5小结24
第5章开发工具、制作、安装、调试过程说明25
5.1软件编译环境25
5.2显示模块25
5.3蓝牙调试模块26
5.4上位机调试26
5.5本章小结27
模型车的主要技术参数说明28
结论29
参考文献31
附录A:
程序源代码32
引言
智能车辆是一个集环境感知、规划决策、多等级辅助驾驶等功能于一体的综合系统,它集中运用了计算机、现代传感、信息融合、通讯、人工智能及自动控制等技术,是典型的高新技术综合体。
目前对智能车辆的研究主要致力于提高汽车的安全性、舒适性,以及提供优良的人车交互界面。
近年来,智能车辆己经成为世界车辆工程领域研究的热点和汽车工业增长的新动力,很多发达国家都将其纳入到各自重点发展的智能交通系统当中。
在本文中,我们详细介绍了基于电磁传感器智能车系统。
详细介绍车体机械结构的调整,传感器电路的设计,舵机控制算法,电机控制算法。
在做车的整个过程中,培养了我们团队合作能力,动手的能力,创新的能力,对我们今后的学习积极的影响。
第一章总体方案设计
1.1车体结构的总体设计:
(1)为了降低重心,主控板,电池尽量靠后就低放置。
(2)考虑到放远前瞻(约40CM)可能带来车头过重,我们尽量选用尺寸小的10mh的电感。
选用重量轻的航模碳素杆作为支架。
(3)舵机直立安装,连杆加长,提高响应速度。
(4)传感器电路放置在车体的尾部。
1.2整体车模如下图:
图1.2.1整体车模左视图
图1.2.2整体车模俯视图
1.3本章小结
智能车能够即稳定又快速的行驶,可以说车体的结构占很大一部分比重。
由于我们组作为二年级学生第一次参赛,经验尚缺,前期没有对车体结构作太多调整,所以后来发现再怎么调软件,也不能很好行驶。
所以吸取强队的经验,做了车体结构改造(包括轮胎的选择,电池,主控板的排放,传感器的安装,支架的安装等等)后发现,前期的代码只需很小的调节,速度很快上去了。
因此,结构很重要。
前期必需做好车体结构的设计,方能在后期软件调试阶段省心省力。
第二章智能车机械结构调整与优化
2.1主销内倾
所谓主销内倾,是将主销(即转向轴线)的上端向内倾斜。
从汽车的前面看去,主销轴线与通过前轮中心的垂线之间形成一个夹角,即主销内倾角。
主销内倾的作用是使车轮转向后能及时自动回正和转向轻便。
由于主销内倾,转向轮在转向时绕主销转动,必须使车轮陷入地面以下。
这当然是不可能的,实际转向时,是强迫汽车的前部稍稍抬高。
这样,汽车的重力将使转向轮自动回正。
确定主销内倾角时,还可调整主销(即转向轴线)与地面的交点到轮胎接地中心的距离,即调整主销偏距。
减少主销偏距,可以减轻转向时的摩擦阻力。
主销内倾不能过大,否则转向过于沉重。
主销内倾角一般为8°到13°,由前悬架的结构来确定。
主销后倾和主销内倾都有使转向轮自动回正的作用。
但主销后倾的回正作用与车速有关,而主销内倾的回正作用与车速无关。
因此,高速时主要靠主销后倾的作用,而低速时主要靠主销内倾的作用。
主销内倾可以增大摩擦力,避免甩尾。
图2.1.1
2.2主销后倾
主销后倾是指从汽车的侧面看时每个前轮转向轴的倾斜,倾斜程度是用后倾角来度量的。
如果转向轴向后倾斜,即上端的球形接头或支杆安装点在下端的球形接头后面,则后倾角就是正的;如果转向轴向前倾斜,则后倾角就是负的。
后轮不必检测后倾角。
主销后倾角越大,方向稳定性越好,自动回正作用也越强,但转向越沉重。
汽车主销后倾角一般不超过30,由前悬架在车架上的安装位置来保证。
现代轿车由于采用低压宽幅子午线轮胎,高速行驶时轮胎的变形加大,接地点后移,因此主销后倾角可以减小,甚至为负值(变成主销前倾),以避免由于回正力矩过大而造成前轮摆振。
主销后倾角影响汽车直线行驶的稳定性和转向轮的回正功能。
正后倾角比较大,则前轮有沿直线行驶的趋势。
一方面,如果正后倾角大小适当,则可以确保汽车的行驶稳定性,而且使转向轮在转向后能够回正;另一方面,正后倾角增加了转向阻力。
因此,如果汽车配置了动力转向系统,则所允许采用的正后倾角要比单纯的手动转向系统大许多。
主销后倾角太小会使转向不稳定,并使车轮晃动。
在极端的情况下,负后倾角与随之引起的车轮晃动会加剧前轮的杯状化磨损。
如果主销后倾角左右不等,则汽车将会被拉向正后倾角较小(或更大的负后倾角)的一侧。
在解决汽车跑偏方面的问题时,要特别注意这一点。
图2.2.1
2.3外倾角
车轮面与地面不垂直。
从车头望向车轮,车轮与铅垂线的夹角称为外倾角(Camber).若轮胎上端向外倾斜即左右轮呈"\/"形,称为正外倾角(PositiveCamber),向内倾斜为负外倾角。
基本上,正外顷角的设定有较佳的灵活度,而负外顷角具较稳定的直进性。
定义为由车前方看轮胎中心线与垂直线所成的角度,向外为正,向内为负。
其角度的不同能改变轮胎与地面的接触点及施力点,直接影响轮胎的抓地力及磨耗状况。
并改变了车重在车轴上的受力分布,避免轴承产生异常磨损。
此外,外倾角的存在可用来抵消车身荷重后,悬吊系统机件变形及活动面间隙所产生的角度变化。
外倾角的存在也会影响车子的行进方向,这正如摩托车可利用倾斜车身来转弯,因此左右轮的外倾角必须相等,在力的平衡下不致影响车子的直进性,再与束角(Toe)配合,提高直进稳定性及避免轮胎耗不均。
增加负的外倾角需配合增加Toe-out;增加正的外倾角则需配合增加Toe-in。
图2.3.1
2.4车轮安装示意图如下:
图2.4.1
2.5舵机的安装
舵机摆杆的长度直接影响到舵机的转矩。
由公式舵机转矩=舵机摆杆作用力*摆杆长度,得:
舵机摆杆作用力越大,反应越灵敏,转向速度越快。
转矩一定时,摆杆越长,输出的作用力越小,所以摆杆不能太长,不然会拉不动轮胎左右转向,从这个角度考虑拉杆越短越好。
但是我们知道,拉杆越长的时候,舵机转一小圈,下面拉杆的会转很大的范围,也就是说,摆杆长度决定了舵机和拉杆变化的比例也就说明相应速度。
所以我们又希望摆杆很长,这样轮子转向的响应速度就会很快。
综合考虑,我们选用的舵机摆杆的长度在30mm左右。
同时考虑到阿克曼转向理论,四个轮子路径的圆心大致上交会于后轴的延长线上瞬时转向中心,这样可以使车辆在过弯时转向轮处于纯滚动状态,减少过弯时的阻力,减小轮胎的磨损,提高车辆转弯性能。
2.6舵机安装示意图如下:
图2.6.1
2.7小结
舵机的安装直接影响前轮的转向,前轮定位很重要,我们花了好长时间去调前轮的定位,不断地尝试寻求合适的倾向角。
第三章电路设计说明
3.1电源模块
电源模块为系统其他各个模块提供所需要的电源。
设计中,除了需要考虑电压范围和电流容量等基本参数之外,还要在电源转换效率、降低噪声、防止干扰和电路简单等方面进行优化。
可靠的电源方案是整个硬件电路稳定可靠运行的基础。
全部硬件电路的电源由配发的标准车模用7.2V2000mAhNi-cd蓄电池提供。
由于电路中的不同电路模块所需要的工作电压和电流容量各不相同,因此电源模块应该包含多个稳压电路,将充电电池电压转换成各个模块所需要的电压。
主要包括以下不同的电压。
●5V电压。
主要为单片机系统、传感器电路以及部分接口电路提供电源,电压要求稳定、噪声小。
●6V电压,主要为舵机提供电源,提高舵机响应速度。
●7.2V电压。
这部分直接取自蓄电池两端电压,主要为后轮电机驱动
模块和部分接口电路提供电源。
电机驱动电路的电源可以直接使用蓄电池两端电压。
模型车在启动过程中往往会产生很大的冲击电流,一方面会对其他电路造成电磁干扰;另一方面由于电池内阻造成电池两端的电压下降,甚至会低于稳压电路所需要的最低电压值,产生单片机复位现像。
为了克服启动冲击电流的影响,可以在电源中增加容值较大的电解电容,也可以采用缓启动的方式控制电机。
在启动时,驱动电路输出电压有一个渐变过程,使得电机启动速度略为降低从而减小启动冲击电流的幅度。
3.2传感器模块
此电路由电感线圈产生感应电动势,经过谐振电容产生过电压,由运放放大,再经过整流滤波最后产生直流信号供给单片机进行AD转换。
如下图。
图3.2.1
3.3电机模块
驱动芯片采用飞思卡尔半导体公司的半桥式驱动器BTS7960。
。
其工作电压为5-36V,导通电阻为20mΩ,输入信号为TTL/CMOS。
图3.3.1
3.4舵机模块
由于舵机工作频率为50HZ,需采用双通道PWM控制舵机转向(合并P2、P3)。
将舵机的信号线接到P3口上。
3.5最小系统板设计
最小系统板使用MC9S12XS128MAA芯片。
最小系统板中包括单片机时钟(有
源晶振提供)与复位电路、5V稳压电路、BDM接口等
图3.5.1
图3.5.2
3.6系统主板设计
由于硬件是分模块设计的,最终要接在一起才能相互通信。
主板电路主要有电池接口、单片机最小系统板插座、传感器电路及其接口、舵机及电机驱动接口。
另外,主板上还集成了出5V稳压以外的所有电源电路。
图3.6.1
3.7小结
对于硬件电路部分,一定要用料扎实,稳定第一,抗干扰性能一定要高。
单片机电压一定要稳定,防止舵机和电机启动的时候拉低电压导致复位。
解决这个问题最实用的办法就是加上储能器件,加上适当大小的电容是必要的。
硬件电路是智能车的基础,只有打好基础才能继续软件方面的工作。
第四章智能车控制软件设计说明
4.1软件设计总体框架
小车的控制包括舵机的PD控制,电机的PID控制,传感器数值的处理,路径优化处理。
根据传感器采集的数据进行速度,以及转交的控制,实现小车快速,稳定的运行。
系统结构框架如图:
初始化程序
按键设定速度
拨码开关选择状态
传感器采集数据并处理
舵机PD控制
电机控制
起跑线检测
YESNO
停车
4.2电机PID控制
4.2.1PID算法
控制算法是微机化控制系统的一个重要组成部分,整个系统的控制功能主要由控制算法来实现。
目前提出的控制算法有很多。
根据偏差的比例(P)、积分(I)、微分(D)进行的控制,称为PID控制。
实际经验和理论分析都表明,PID控制能够满足相当多工业对象的控制要求,至今仍是一种应用最为广泛的控制算法之一。
4.2.2模拟PID
在模拟控制系统中,调节器最常用的控制规律是PID控制,常规PID控制系统原理框图如图1.1所示,系统由模拟PID调节器、执行机构及控制对象组成。
PID调节器是一种线性调节器,它根据给定值r(t)与实际输出值c(t)构成的控制偏差:
e(t)=r(t)-c(t)(1.1)
将偏差的比例、积分、微分通过线性组合构成控制量,对控制对象进行控制,故称为PID调节器。
在实际应用中,常根据对象的特征和控制要求,将P、I、D基本控制规律进行适当组合,以达到对被控对象进行有效控制的目的。
例如,P调节器,PI调节器,PID调节器等。
模拟PID调节器的控制规律为:
(1.2)
式中,PK为比例系数,IT为积分时间常数,DT为微分时间常数。
简单的说,PID调节器各校正环节的作用是:
(1)比例环节:
即时成比例地反应控制系统的偏差信号e(t),偏差一旦产生,调节器立即产生控制作用以减少偏差;
(2)积分环节:
主要用于消除静差,提高系统的无差度。
积分作用的强弱取决于积分时间常数IT,IT越大,积分作用越弱,反之则越强;
(3)微分环节:
能反映偏差信号的变化趋势(变化速率),并能在偏差信号的值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。
由式1.2可得,模拟PID调节器的传递函数为
(1.3)
由于小车主要采用数字PID算法,所以对于模拟PID只做此简要介绍。
4.2.3数字PID
在数字计算机中,PID控制规律的实现,也必须用数值逼近的方法。
当采样周期相当短时,用求和代替积分,用差商代替微商,使PID算法离散化,将描述连续-时间PID算法的微分方程,变为描述离散-时间PID算法的差分方程。
我们小车电机采用增量式PID控制算法,当执行机构需要的不是控制量的绝对值,而是控制量的增量(例如去驱动步进电动机)时,需要用PID的“增量算法”。
由位置算法求出
再求出
两式相减,得出控制量的增量算法
(3-8)
式(3-8)称为增量式PID算法。
对增量式PID算法(3-8)归并后,得
(3-9)
其中
(3-9)已看不出是PID的表达式了,也看不出P、I、D作用的直接关系,只表示了各次误差量对控制作用的影响。
从式(3-9)看出,数字增量式PID算法,只要贮存最近的三个误差采样值e(k)、e(k-1)、e(k-2)就足够了。
4.2.4PID调试方法以及问题
将PID控制器的积分增益和微分增益改为0,对系统进行纯比例控制。
不断修改比例增益,使系统输出的过渡过程曲线的衰减比n=4,记下此时的比例增益值。
修改比例增益,使系统输出的过渡过程曲线的衰减比n=2,记下此时的比例增益值。
修改比例增益,使系统输出呈临界振荡波形,记下此时的比例增益值。
将PID控制器的比例、积分增益进行修改,对系统进行比例积分控制。
不断修改比例、积分增益,使系统输出的过渡过程曲线的衰减比n=2,4,10,记下此时比例和积分增益。
将PID控制器的比例, 积分, 微分增益进行修改,对系统进行比例、积分、微分控制。
不断修改比例、积分、微分增益,使系统输出的过渡过程曲线的衰减比n=2、4、10记下此时的比例、积分、微分增益值。
4.2.5实际调试结果
借助模拟示波器我们调节PID各项参数得到了理想的曲线
图4.2.5
4.3舵机的控制
传感器采集返回的值进行处理后,偏差值返回给舵机控制。
起先我们单纯的P控制,发现直线晃动很厉害。
调小P值,过弯又变迟钝。
后来根据传感器值,处理后区分直道,弯道进行分段控制,直道的P值小些,弯道P值大些。
取得了很不错的效果。
直道很平稳,弯道基本可以切弯。
加入D值后,舵机的控制更加平滑,发现增大D值,可以加强入弯切弯的效果,出弯道迅速摆正车头的效果。
但D值太大,直到稳定性下降。
通过大量的调试,确定了一组合理的PD值。
4.4传感器数据的处理
一次采集10组传感器的值,用冒泡算法找出最大值。
记录此值,和前10次的值做线性处理,得出偏差,根据不同的偏差,给定不同的P值,实现舵机的打角控制。
实际调试过程中发现,偏差值分的越细,P值分的档位越多,小车运行的越流畅,基本实现直道,小S可以直冲。
大C弯道快速过弯,普通弯道实现切弯道内侧。
但不足之处是,当车没有直着进小S时,还是会有些晃。
当传感器检测不到时,认为是十字,或曲率很小的弯道,给舵机一个固定的值,现实索舵机,防止小车冲出赛道。
4.5小结
软件的设计,本章主要介绍了电机PID,舵机PD,以及传感器数据的处理。
第5章开发工具、制作、安装、调试过程说明
5.1软件编译环境
程序的开发是在组委会提供的CodeWarriorIDE下进行的,包括源程序的编写、编译和链接,并最终生成可执行文件。
CodewarriorIDE是Metrowerks公司提供的专门面向Freescale所有MCU与DSP嵌入式应用开发的软件工具。
其中集成开发环境IDE、处理器专家库、全芯片仿真、可视化参数显示工具、项目工程管理器、C交叉编译器、汇编器、链接器以及调试器。
5.2显示模块
我们选用的是Nokia/诺基亚5110 LCD作为显示模块。
诺基亚5110是NOKIA 公司生产的可用于其5110、6150,6100 等系列移动电话的液晶显示模块,国内厂家也生产有类似的兼容产品。
该产品除应用于移动电话外,也可广泛应用于各类便携式设备的显示系统。
用于小车参数的显示,操作简单,方便。
图5.2.1
5.3蓝牙调试模块
蓝牙信号的收发采用蓝牙模块实现,具有片内数字无线处理器DRP(DigitalRadioProcessor)、数控振荡器,片内射频收发开关切换,内置ARM7嵌入式处理器等。
接收信号时,收发开关置为收状态,射频信号从天线接收后,经过蓝牙收发器直接传输到基带信号处理器。
该模块主要用于短距离的数据无线传输领域。
可以方便的和PC机(PDA手机)的蓝牙设备相连,也可以两个模块之间的数据互通。
避免繁琐的线缆连接,能直接替代现有的串口线。
为了实时监测小车各项参数,我们增加了蓝牙无线模块,提高了开发的效率。
图5.3.1
5.4上位机调试
由于自动控制系统被控对象的千差万别,PID的参数也必须随之变化,以满足系统的性能要求。
这就给使用者带来相当的麻烦,为此我们找了一款可以辅助调节PID参数的软件。
我们借助上位机软件,模拟示波器,实时采集PID参数,并进行分析调试,取得了很好效果。
图5.4.1
5.5本章小结
本章节主要介绍了智能车开发和调试过程中用到的主要开发和调试工具:
CodeworriorIDE、蓝牙通讯模块和人机交互界面的简介。
在开发工程中,开发工具可以说相当重要,可以缩短开发时间,提高开发效率。
模型车的主要技术参数说明
表6.1模型车技术参数统计
模型车技术参数统计项目
参数
路径检测方法(赛题组)
电磁检测
车模几何尺寸(长、宽、高)(厘米)
65cm、23cm、4.5cm
车模轴距/轮距(毫米)
201
车模平均电流(匀速行驶)(毫安)
1850mA
电路电容总量(微法)
小于2000
传感器种类及个数
11个(6个电感,一个编码器,4个干簧管)
新增加伺服电机个数
0
赛道信息检测空间精度(毫米)
25
赛道信息检测频率(次/秒)
50
主要集成电路种类/数量
MCU/1BTS7970/2
车模重量(带有电池)(千克)
1.65
结论
飞思卡尔智能车竞赛,是一个多学科,综合性的比赛。
比赛中涉及的知识包括汽车机械,传感器设计,智能控制系统,电路设计与制作,PCB电路设计,通讯等等。
在整个工程中,将理论知识赋予实践,还学习了很多课本上学不到的知识,丰富了我们的课余生活,充实了知识体系,收获颇丰。
在整个做车的过程中,团队的合作与分工非常重要,现在要做一件事,一个人的力量已经很难做好了,必须有强大的团队。
做车过程中有很多问题值得反思:
1.调试的方法:
前期我们都是通过眼睛看,看小车跑的效果然后改程序。
其实这种调试方法很笨拙,效率也很低。
慢慢的,我们借助无线蓝牙调试模块,模拟示波器,串口调试助手,上位机调试软件等等调试工具,将小车的各项数据发到采集回来,然后分析处理。
发现了很多眼睛观察不能看到的问题,然后改程序,大大提高了小车的稳定性。
2.电路设计:
第一版电路我们用的还好,后来发现传感器电路(自己焊接的)太过笨重,确定画传感器电路板。
但做好后发现有很大的干扰,不得已放弃新方案,用老方案。
总结原因有:
PCB画板子经验不足,布线的时候没有考虑模拟信号与数字信号的干扰问题,没有做隔离。
对于传感器电路也没用更多的去研究,拿个电路过来就用,差多不就行了,最后吃到了恶果。
所以,对于技术必须做到慎重,严谨。
3.车体结构的设计:
前文已经讲述过,在此不再细言。
车体结构,在做车的准备阶段,一定要好好考量!
4.复位问题:
做车时发现,小车经常复位。
我们做过很多猜测,包括电磁干扰,静电,插线松动,单片机供电不足等等,后来发现由于电机加减速导致单片机供电不足而复位。
所以对于单片机供电我们做了特别的处理。
通过这次比赛,我们的青春岁月又多了一些值得回忆的事情,大学期间真得好好学习,多多的动手实践,理论永远是理论,将其付诸实践才能够闪耀她独特的光芒。
参考文献
1.邵贝贝.嵌入式实时操作系统[LC/OS-Ⅱ(第2版)[M].北京.清华大学出版社.2004
2.CPrimerPlus第五版【美】StephenPrata著
3.谭浩强C++程序设计北京-清华大学出版社2004
4.杭州电子科技大学第六届飞思卡尔杯钱江一号技术报告
5.AltiumDesigner10入门与PCB设计实例/dz电路设计丛书王建农
6.黄开胜,陈宋.汽车理论与智能模型车机械结构调整方法[D].清华大学汽车安全与节能国家重点实验室,2006.
7.韩绍坤,许向阳,王晓华编.自动控制原理.北京理工大学出版社,2009
8.卓晴,黄开胜,邵贝贝学做智能车北京-北京航空航天大学出版社2007
9.张文春.汽车理论[M].北京.机械工业出版社.2005
10