哈尔滨工程大学电磁极品飞车3号技术文档.docx
- 文档编号:3747727
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:43
- 大小:1.30MB
哈尔滨工程大学电磁极品飞车3号技术文档.docx
《哈尔滨工程大学电磁极品飞车3号技术文档.docx》由会员分享,可在线阅读,更多相关《哈尔滨工程大学电磁极品飞车3号技术文档.docx(43页珍藏版)》请在冰点文库上搜索。
哈尔滨工程大学电磁极品飞车3号技术文档
第六届“飞思卡尔”杯全国大学生
智能汽车竞赛
技术报告
学校:
哈尔滨工程大学
队伍名称:
极品飞车3号
参赛队员:
郭伟
刘玉章
刘辉
带队教师:
张爱筠管凤旭
关于技术报告和研究论文使用授权的说明
本人完全了解第六届“飞思卡尔”杯全国大学生智能汽车邀请赛关保留、使用技术报告和研究论文的规定,即:
参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。
参赛队员签名:
带队教师签名:
日期:
第一章引言
“飞思卡尔”杯全国大学生智能汽车邀请赛今年进行到第六届,过去几年经验的积累使得比赛形式丰富,比赛规则比较完善,为广大同学提供了一个良好的学习提高的平台。
第五届大赛,为了拓展赛道检测形式,在原有摄像头组和光电组基础上增加了电磁组,以100mA的交变电流为赛道,自主开发检测传感器,检测赛道信息。
虽然说大赛设置电磁组组别的时间仅仅两年,但在第五届前辈探索与创新之下,电磁组的成绩却有了飞跃性的进步。
为响应教育部关于加强大学生的创新意识、合作精神和创新能力的培养的号召,我们组队积极参加了第六届“飞思卡尔”杯全国大学生智能汽车邀请赛电磁组的比赛。
从2010年11月开始着手进行准备,历时近9个月。
在第五届参赛前辈的基础上,我们传感器设计上依旧采用电感线圈检测磁场,通过在多个点布置不同方向的检测传感器获取赛道信息,利用所获取的信号进行处理,实现对赛车转向、速度进行控制。
同时,我们利用前几届比赛积累下的经验,继续加强在电源管理、噪声抑制、驱动优化、整车布局等方面的研究工作,使智能车能够满足高速运行下的动力性和稳定性需求,获得了良好的综合性能和赛场表现。
在设计的过程中,我们参考了很多文献资料。
在组装车模和电路设计等过程中,我们的实践动手能力得到了极大的培养和提高。
在设计智能车控制算法过程中,我们设计使用了多种控制算法,如舵机的PD算法和电机的PI算法。
期间进行了无数次的实践和尝试,形成了最后的比赛方案。
在思考控制算法的过程中,我们一直在追求稳、快的目标,在这个过程中我们的创造能力和实践能力得到了很大的提高。
本技术报告将针对我们的传感器信号处理设计安装、底盘参数选择、电路设计、HCS12控制软件主要理论、控制算法等方面进行阐述,并列出了模型车的主要技术参数。
关键字:
路径识别,智能车,PID,电磁传感器
第二章智能汽车整体设计
本电磁智能车模型采用B型车模,通过电磁传感器阵列来采集电流约为20KHz、100mA的导线的电磁场强度来检测和识别路径,通过MC9S12XS128的AD口进行采集、处理,进而控制电机和舵机,进行模型车的智能控制。
2.1设计思路及方案的总体说明
根据电磁车循迹的要求,电磁车设计包括赛车的设计和恒流源的设计。
根据电磁传感器方案设计,赛车共包括五大模块:
电磁传感器模块、速度传感器、MC9S12XS128模块,电机驱动模块、电源管管理模块。
图2.1系统方案框图
电磁传感器获取赛道当前点电磁特性,信号输入到S12控制核心,进行进一步处理以获得赛道信息;通过光电编码器转速传感器检测车速,并采用S12的输入捕捉功能进行脉冲计数计算车速和路程;舵机转向采用分段PID控制;电机转速控制采用PID控制,通过PWM控制驱动电路调整电机的功率。
2.2系统各模块实现简介
1、电磁传感器模块
检测导线电流约为100mA,频率20KHz的磁场的大小,进行路径识别,并输出电压给MC9S12XS128采集。
2、速度传感器
利用增量式光电编码器进行速度的测量,反馈给单片机,构成速度的闭环。
光电编码器线数越多,同等速度下单位时间内所能检测到脉冲数也越多,因而速度检测的分辨率也更高。
另一方面,线数增多后,相邻脉冲间的持续时间会变短,脉冲检测的可靠性会因相邻脉冲的干扰而受到影响。
3、MC9S12XS129模块
构成系统的控制器
4、电机驱动模块
通过MC9S12XS128单片机输出的PWM控制,功率放大用来驱动电机,要求驱动电流足够大,要考虑到大电流对整个系统的影响。
5、电源管理模块
制作相应的电源电路,针对个模块的输入信号要求。
利用稳压芯片将电源稳成5V,供单片机和速度传感器供电,舵机利用二极管降压供电,而电机则利用电源直接供电。
6、恒流源模块
由单片机产生频率20KHz的的方波信号,驱动三极管构成的电流源,然后经H桥进行功率放大,产生恒流功率信号。
第三章机械及硬件电路设计
3.1机械设计
电磁B型车模的机械设计部分包括电磁传感器电路的安装,PCB主板的固定和连接,测速电路模块的安装,差速的调节,舵机的安装等,在机械设计过程中遵循以下原则:
转向灵活,加速性能良好,车本身摩擦小,车与地面摩擦大。
3.1.1电磁传感器的安装
电磁传感器电路,设计成一块24cmX2.5cmd的长条行PCB板。
由于本届比赛对于电磁组车辆长度没有限制,综合考虑电磁传感器的探测距离、为了使模型车的行驶速度能更好的配合软件的控制算法,加长传感器探测前瞻,电磁传感器安装在车的正前方,前20cm,高8cm,电磁传感器电路板平行于赛道,利用长方体碳纤维棒固定,保证传感器在运动中的稳定性。
图:
3.1传感器安装
3.1.2舵机的安装
由于传感器前伸比较长,考虑到模型车的重心的高度和位置,以及主板放在模型的位置,我么将舵机位置进行了改装,由原来在车体中间位置挪移到车体前部,这样以便于降低主板高度,进一步降低车模整体重心。
舵机可以对称安装和不对称安装,考虑到舵机的力矩大小和其响应时间的大小,我们采用对称安装的方法,并将其控制半径加大,这样在损失了部分力矩大小的情况下加快了响应时间。
如下图所示:
图3.2舵机安装
同时为了减少舵机传动空程,我们将舵机传动杆与方向轮衔接处用粘合剂固定,这样舵机传动空程明显减少,车模转向响应速度有很大提高。
3.1.3PCB主板的固定
为了尽可能降低模型车的重心的高度,同时考虑到车模传感器及电池的位置,我们将主板倾斜放在模型的的前半部分,主板重心离车前13cm,距离赛道高3.5cm,PCB主板长12cm,宽5cm,这样讲重心固定在车的重心偏前,对于车的摩擦和加速性能有很好的效果。
如下图所示:
图3.3PCB主板的固定
3.1.4测速编码器的安装
测速模块才用增量式光电编码器,增量式编码器的安装于车的最后部分,考虑到齿轮的间隙,编码器的中心安装距赛道2.3cm,编码器的中心距后轮中心为2.7cm。
图所示:
图3.4编码器的安装
3.2硬件电路设计
3.2.1电磁传感器的设计
考虑到电流的大小,方向和频率,依据经可靠、稳定、经济的要求,我们选择33mH的电感,然后进行放大、滤波、检波;其电路图如下:
图3.5传感器原理图
在TL082运放交流放大之后加入倍压检波电路,可以得到与交流的峰峰值成正比的直流信号,调整电位器的阻值,可调节运放的放大倍数。
此时的运放处于较好的放大状态。
根据电磁传感器中电感的方向与磁场的关系,采用垂直方向放置时,其测量的磁场大小为Bx,且根据比奥沙法尔定义可知:
其特性如下图所示:
图3.6垂直方向传感器测量理论图
图3.7垂直方向传感器测量实际图
我们对传感器进行测试,以通有100mA交流电的漆包线为中心,左右以0.5cm为分度值精确测量传感器采回值,绘制出传感器响应曲线,如图3.6所示。
通过响应曲线看出传感器左右两侧都存在6cm至7cm的线性区域,所以我们传感器组只用4个传感器单位就能够实现赛道的全部检测。
根据车与导线的位置关系如图:
其中:
AE=lA;
h为传感器距赛道的高度;
根据实验测得的数据,我们采用了垂直位置的传感器,根据电磁传感器采集出的电压的大小,两相邻的传感器的距离为6~8cm左右,我们采用相邻的两传感器间距为7cm。
3.2.2PCB主板的设计
要求主板的面积小,质量轻,其PCB如图所示:
主板包括:
1、电源模块
2、xs12最小系统
3、电机驱动模块
4.拨码开关及数码
图3.8主板图
3.2.3电源模块设计
图3.9电源模块原理图
把电压为7.2V的电池经LM2940稳压后完成如下功能:
经过稳压芯片LM2940稳压后,输出5V电压以驱动单片机工作;
经过稳压芯片LM2940稳压后,输出5V电压以对传感器供电;
经过稳压芯片LM2940稳压后,输出5V电压对光码盘供电;
其中,由于传感器运放TL082D需要±5V双电源供电,我们为了防止使用单2940供电产生电流过大,对系统产生影响,电源模块使用双LM2940,其中一个单独为传感器供电。
±5V双电源使用A0505电源模块。
A0505特点:
体积小
SMD封装
效率高达78%
隔离电压1000VDC
工作温度范围:
-40℃~+85℃
温度特性好
内部贴片化设计
无需外加元件
国际标准引脚方式
符合RoHS指令
图3.10A0505引脚方式
3.2.4电机驱动
利用MOS管构成双极性H桥,使电流更大,驱动能力更强,再结合逻辑电路,使其使用更安全,更稳定,如右图所示:
图3.11电机驱动模块
操作时序如下:
输入A
输入B
电机转向
0
1
正转
1
0
反转
0
0
停车
1
1
停车
第四章软件设计
为了体现程序的模块性和可移植性,我们把程序分成各个模块进行分别处理,而各模块也有相应的形参做为接口,可以做到可移植性,通用性。
下面就这些模块的设计与实现分别进行详细阐述。
程序中用到的硬件资源有PWM模块、AD模块、脉冲累加器、普通I/O口,主程序流程图如下:
图4.1主程序流程图
4.1传感器的测量算法
采用了垂直放置的传感器,根据采集到的数据,用MATLAB绘制出图形,并用直线拟合,
采集到的电压如下、MATLAB代码如下:
A=[8610814118422926728326322718514410883]/283;
B=-6:
1:
6;
plot(B,A);
gridminor;
C=[108141184229267]/283;
D=-5:
1:
-1;
y1=polyfit(D,C,1);
x=-6:
0.1:
0;
y=40.6/283*x+307.6/283;
holdon;
plot(x,y);
图4.2MATLAB仿真图
如图的直线与原曲线在2—5cm处拟合很好,故理论上应用此段的线性来计算偏移量,用来控制电机和舵机。
但实际上传感器数据采集返回曲线如下图所示:
图4.3传感器实际曲线
曲线在4~11cm处拟合很好,实际用此段的线性来计算偏移量,用来控制电机和舵机。
4.2舵机的PD控制
根据电磁传感器采集到的偏移量,利用前后几次偏移量之差进行PD控制。
舵机转角为:
其中Kp为比例系数;
b为相对于中心的偏移量;
Kd为积分系数;
Diff为位置微分量
4.3增量式编码器的控制
增量式编码器的输出经PAC采集,采集上升沿的个数,用来测定当前速度,其程序流程图如下:
图4.4编码器控制流程图
4.4速度PID控制算法及其改进形式
PID控制是工业过程控制中历史最悠久,生命力最强的控制方式。
这主要是因为这种控制方式具有直观、实现简单和鲁棒性能好等一系列的优点。
位置式PID算式连续控制系统中的PID控制规律是
4.1
其中
是偏差信号为零时的控制作用,是控制量的基准;
利用外接矩形法进行数值积分,一阶后向差分进行数值微分,当选定采样周期为T时,式4.1可离散为下面的差分方程
4.2
增量式PID算式。
根据式4.2得出
4.3
于是
4.4
式4.3的计算结果,反映了第k和第k-1次输出之间的增量,所以称为增量算式。
这个算式的结果是可正可负的。
利用增量算式控制执行机构,执行机构每次只增加一个增量,因此执行机构起了一个累加的作用。
对于整个系统来说,位置和增量式两种算式并无本质区别,只是将原来全部由计算机完成的工作,分出一部分由其他元件去完成。
然而,虽然增量式算式只是算法上的一点改进,却带来了不少优点:
算式只与最近几次采样值有关,不需要进行累加,不易引起误差累积,因此容易获得较好的控制效果。
计算机只输出增量,误动作时影响小,必要时可加逻辑保护,限制或禁止故障时的输出。
手动于自动切换时,由于步进电机具有保持作用,所以容易实现无扰动切换,机器故障时,也可以把信号保持在原位。
由于增量算式有上述优点,在实际控制中,应用得比位置式更为广泛。
第五章开发调试过程及主要参数
经过我们组队员的共同开发,设计,验证,我们依据所学的知识从入门到提高,经历的了开发工具的应用、方案的设计、调试过程如下。
5.1开发工具
采用了USB接口的HCS12BDM下载工具,是支持FreescaleMC9S12系列16位单片机的BDM调试工具。
软件上采用的是CodeWarriorforHCS12,经过源程序的编写,连接,通过BDM下载至MC9S12XS128,完成单片机的开发过程。
CodeWarrior是Metrowerks公司专门面向Motorola(Freescale)设计的嵌入式应用开发的软件工具,包括集成开发环境IDE,处理器专家库,全芯片仿真,可视化参数显示工具,项目管理器,C交叉编译器,汇编器,链接器以及调试器,支持在线编程和调试,给我们的开发,设计工作带来了很大的方便。
5.2制作调试过程说明
本系统采用MC9S12XS128作为主控制器,结合20KHz,100mA的恒流源,构成了智能路径识别系统。
各硬件部分我们通过制作PCB电路板安装在智能车的相关部位。
在车头我们制作了寻迹用的电磁传感器电路板,只要输入激励电源后,即可获取磁场强度。
通过杜邦线,连接到安装在车身中央的MC9S12XS128上。
主控电路板包括了电源管理电路、单片机接口电路,终点识别部分,留有电磁传感器信号输入接口、速度传感器信号输入接口、电源输入接口、舵机控制接口、电机接口等输入输出端口。
开始时的电流源让我们很头疼,在参考了网上的很多方案和设计之后,最终形成了方案,按照频率和电流大小的要求,先产生频率,后放大成功率信号,在队员们的共同努力和指导老师的指导下,终于完成了恒流源的制作。
车的重心问题一直是困扰我们的地方,车的重心前后方向调整,对智能车行驶性能有很大影响。
按照车辆运动学理论,车身重心前移,会增加转向,但会降低转向的灵敏度,同时降低后轮的抓地力;重心后移,会减少转向,但会增大转向灵敏度,后轮抓地力也会增加。
因而调整合适的车体重心,让智能车更加适应跑道是很关键的。
根据实际调试经验,鉴于当前舵机响应较迟缓,因此,需要将车的重心前移,增加转向性能。
电机驱动是最脆弱的地方,有时会出现短路或起火的现象,由于我们的驱动加入了逻辑控制单元,操作的失误不会引起这种想象,我们经过试验和判断分析,原因可能是由于先给了驱动PWM信号,这时如果给驱动加上电压,由于这时加上了一个阶跃信号,导致上下桥臂的MOS管导通了,由于MOS管的电阻很小,经过的电流很大而导致MOS管烧毁。
经过我们组成员的共同努力,我们达到了:
在直道上,模型车的行驶的速度可达3m/s,直道入弯道时,根据弯道曲率半径的不同,模型车会相应的减速,同时伺服舵机转过一低的角度,平均速度达到了2.2m/s,且稳定性和快速性良好。
基本实现了预期目标。
5.3智能车主要技术参数
模型车的外形如下图所示:
图5.1车模整体图
主要技术参数如下:
项目
参数
路径检测方法(赛题组)
电磁
车模几何尺寸(长、宽、高)(毫米)
650*220*90
车模轴距/轮距(毫米)
205/140
车模平均电流(匀速行驶)(毫安)
100
电路电容总量(微法)
约1100uF
传感器种类及个数
电磁传感器×12;光电码盘×1,
干簧管×1
新增加伺服电机个数
无
赛道信息检测空间精度(毫米)
3
赛道信息检测频率(次/秒)
160KHz
主要集成电路种类/数量
4
车模重量(带有电池)(千克)
1.5
第六章结论
虽然经过这么长时间的调试,毕竟这是第一届电磁组的比赛,存在的问题还很多,下面我们想说说存在的问题及改进方向。
首先,电磁传感器的方案中,输出电压与输入的磁场强度不成正比,这导致了测量时存在误差,可以采用补偿的方法加以消除,可以进行硬件和软件的补偿,还有一点就是前瞻问题,由于是刚开始接触电磁,我们组根据测得的数据和推测,电磁的前瞻应该能有约10—15cm的前瞻,可从不同方向的放置电磁传感器,如水平方向、Y轴方向上的,亦可成45°放置,这样可以大概检测出弯道的曲率半径,从而更好的控制转向和速度。
然后,由电磁传感器测得的电压来计算相对偏移量的算法中,可以大幅改进,根据理论推导和实验测得数据,开发更稳定、更精确地算法,如拟合直线,二次曲线等方法,更精确的得出相对位置的大小。
使控制更快、稳、准。
最后,电机驱动的改进很有发展,目前电机驱动由于电流的限制,使加减速不是很明显,严重影响了快速性和灵活性,可以采用电流更大的电力电子装置来加大电流,是加减速性能得到提高。
未来寄语
由于电磁前瞻问题的难度很高,开发设计的困难和算法设计的复杂很大,不过前瞻的设计还是以后电磁发展的一个方向,但我们觉得记忆赛道的算法更有前途,但同时也存在很大的风险,面临的挑战如下:
记忆赛道是的数据量太大,单片机难以满足要求;
A、如何区别赛道,如大S、小S,知道,圆弧曲率半径的区分;
B、由于记忆赛道中第一圈和第二圈的赛道长度不同,如何根据第二圈赛道的形状来对记忆赛道的误差修正;
C、根据不同的赛道来采用不同的设计方案。
参考文献
[1]宋文绪,杨帆.传感器与检测技术[M].第1版,北京:
高等教育出版社,2004.1。
[2]贾伯年,俞朴.传感器技术[M].第2版,南京:
东南大学出版社,2000.8。
[3]卓晴.黄开胜.邵贝贝.学做智能车――挑战“飞思卡尔”杯.北京:
北京航空航天大学出版社,2007.3.
[4]邵贝贝.单片机嵌入式应用的在线开发方法.北京:
清华大学出版社,2004.
[5]李仕伯.马旭.卓晴.《基于磁场检测的寻线小车传感器布局研究》,清华大学,2009.12
[6]李发海,王岩智.电机与拖动基础[M].第1版,北京:
清华大学出版社,2005.8。
[7]竞赛组秘书处.《路径检测设计参考方案》.2010.1。
[8]竞赛组秘书处技术组.《20KHz电源参考设计方案》。
附录A:
原理图
图A-1传感器原理图
图A-2主板原理图
附录B:
程序源代码
#include"includes.h"
intiee[41]={0};//61
intie,ie1,id,ie_out;
intspeed=0;
intMax_V=0;//34
intMin_V=0;//26
intfuhao=0;
intset_time=0;
intdelaynum=0;
intdetect_num=0;
voidSpeedSetting();
voidSpeedSetting1();
intcenter2=0;
floatKp=3.7;//3,7
floatKd=24;//24
intAA;
unsignedcharshuma[10]={0x02,0x9e,0x24,0x0c,0x98,0x48,0x40,0x1e,0x00,0x08};
voiddelay(uinti){
uinta;
uintb;
for(a=0;a
for(b=0;b<50000;b++);
}
voiddelayms(intm)
{
intx,y;
for(x=0;x for(y=0;y<4000;y++); } voidmain(void) { /*putyourowncodehere*/ inti=0; EnableInterrupts; DDRA=0X00; DDRB=0XFF; //PORTA=0X00; CRGInit(); ECTInit(); ATDInit(); PWMInit(); //CRGINT_RTIE=1;//使能实时时钟中断 TubeInit(); ATDInit(); for(;;) { if(PTT_PTT4==0)//起跑线识别 { //for(delaynum=0;delaynum<30;delaynum++); delayms(10); if(PTT_PTT4==0&&detect_num==0) { detect_num++; //PORTB=shuma[detect_num]; set_time=0; } if(PTT_PTT4==0&&set_time>1000) { //detect_num++; //PORTB=shuma[2]; PWMDTY45=0; //speed_high=0; //speed_min=0; //constspeed=0; //speed=0; CRGINT_RTIE=0; Kp=40; } } if(ADReady>=1) { ie=TubeSearch1(); ie1=TubeSearch(); //PORTB=~PORTB; iee[0]++; if(iee[0]>40)//指针更新 iee[0]=1; id=ie-iee[iee[0]];//微分计算 iee[iee[0]]=ie;//偏差保存 ie_out=Kp*ie+Kd*id; //ie_out=Kp*ie+(ie-ie1)/2; //ie_out=Kp*ie; if(ie_out>=1200) { ie_out=1200; } if(ie_out<=-1200) { ie_out=-1200; } /*if(center2>=1500) { center2=1500; } if(center2<=-1500) { center2=-1500; }*/ while(Key2==0) { PORTB=shuma[3]; delayms(1000); PORTB=shuma[2]; delayms(1000); PORTB=shuma[1]; delayms(1000); PORTB=shuma[0]; AA=PORTA&0X0F; if(AA==1)//speedsetting
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 哈尔滨工程 大学 电磁 极品飞车 技术 文档