智能车系统设计方案Word文件下载.docx
《智能车系统设计方案Word文件下载.docx》由会员分享,可在线阅读,更多相关《智能车系统设计方案Word文件下载.docx(32页珍藏版)》请在冰豆网上搜索。
宽×
高)
毫米(mm)
750×
180×
230,270×
230,
车模重量(带电池)
克(g)
2300,2230
车模轴距
170
车模平均电流(匀速行驶)
毫安(mA)
≈8000
电路电容总量
微法(μF)
≈1600
电磁传感器(电感电容谐振回路)
个
6
寻车传感器(摄像头)
1
电感值
mH
传感器间距
200
干簧管
赛道信息检测空间精度
赛道信息检测频率
次/秒
200,30
核心处理器种类及个数
MK60DN512VLL101个
智能车名称(前车)
春香
智能车名称(后车)
梦龙
注:
由于设计报告书写期间智能车仍然在进行改进,因此有些数据未能更新。
之后的容中涉及到的参数、程序、图片也有类似情况,不做逐一说明。
第一章机械设计制作及调整
智能车机械部分设计主要包括制作和调整两部分容,制作部分的容主要是对车模没有的部分进行设计,包括传感器支架、电路板固定、防撞、测速轮安装等。
调整部分则主要是针对智能车车模本身已经有的机械部分,在规则允许围进行调整,改装,提高其运动性能,以适应高速行驶和快速控制,这部分主要包括舵机改装、底盘调整、避震调整、四轮定位等。
本章容主要对电路板安装、传感器支架以及机械调校部分进行介绍。
3.1机械结构制作部分设计
由于大赛提供车模本身是运动型模型车通用车模,并没有提供专门为智能车安装电路、传感器等电路部分的部件,因此这部分机械结构需要自行设计制作并安装。
制作部分主要原则为:
轻、牢、简,所以我们主要选择铝合金、尼龙等原材料制作,所有自制结构,都是由我们手工制作。
3.1.1电路板及传感器安装
根据前期传感器测试,我们得到电磁传感器的前瞻、架设高度、仰角等参数,根据参数,我们设计了电磁传感器的架设结构如图3.1。
图3.1电磁感和摄像头的架设
另外一个传感器是测速传感器,码盘测速方式。
具体安装如图3.2所示。
图3.2测速感器的安装
3.2车模机械结构的调整与改装
车模本身的机械结构是通用结构,并不适合智能车竞赛的要求,因此要对这些部分进行改装,另外,为了提高车模的运动性能,对一些机械结构还需要调整,比如车轮前束等。
这部分着重介绍舵机改装、底盘等部分的调整和改装。
3.2.1舵机改装
为了提高舵机反应速度,在相同转角下,有尽可能大的线行程,因此需要延长舵机臂。
另一方面,由于舵机扭矩和转角精度的限制,不能无限制延长舵机臂,这样就确定了舵机臂的长度,并使用铝合金片加工成形,尺寸为24mm×
38mm。
图3.5是舵机安装实物图,四个螺丝将舵机牢固安装在支架上。
图3.3舵机改装
3.2.2底盘改装
由于赛道特性,底盘改装目标是尽可能低(能保证通过坡道),这样可以最大程度保证智能车行驶的稳定性。
因此我们降低了底盘高度。
另外,由于赛道整体属于平坦路面,没有较大较多的颠簸,所以我们把后避震拆除,并紧固后桥连接件。
3.2.3前轮定位
B型车模前轮可以调整的角度有主销前倾、倾、前束等,这些角度的调整根据每个车的机械性能不同而不同调整,我们的智能车由于重心位置在中心偏后,因此前轮压力较小,转向负担不大,因此为了增加抓地力和稳定性,选择了主销倾和负前束的调整。
另外,由于车模本身的精度限制,这部分角度的调整并不是主要的,仅仅是为了避免负面影响以及修正车模本身的不对称和不平衡问题。
图3.4所示
图3.4前轮定位
主销倾角是指在横向平面主销轴线与地面垂直线之间的夹角,它的作用也是使前轮自动回正。
角度越大前轮自动回正的作用就越强,但转向时也就越费力,轮胎磨损增大;
反之,角度越小前轮自动回正的作用就越弱。
通常汽车的主销倾角不大于8°
。
对于模型车,通过调整前桥的螺杆的长度可以改变主销倾角的大小,由于过大的倾角也会增大转向阻力,增加轮胎磨损,所以在调整时可以近似调整为0°
3°
左右,不宜太大。
主销倾和主销后倾都有使汽车转向自动回正,保持直线行驶的功能。
不同之处是主销倾的回正与车速无关,主销后倾的回正与车速有关,因此高速时主销后倾的回正作用大,低速时主销倾的回正作用大。
3.2.4车轮外倾角
前轮外倾角是指通过车轮中心的汽车横向平面与车轮平面的交线与地面垂线之间的夹角,对汽车的转向性能有直接影响,它的作用是提高前轮的转向安全性和转向操纵的轻便性。
在汽车的横向平面,轮胎呈“八”字型时称为“负外倾”,而呈现“V”字形开时称为正外倾。
如果车轮垂直地面一旦满载就易产生变形,可能引起车轮上部向倾侧,导致车轮联接件损坏。
所以事先将车轮校偏一个正外倾角度,一般这个角度约在1°
左右,以减少承载轴承负荷,增加零件使用寿命,提高汽车的安全性能。
模型车提供了专门的外倾角调整配件,近似调节其外倾角。
由于竞赛中模型主要用于竞速,所以要求尽量减轻重量,其底盘和前桥上承受的载荷不大,所以外倾角调整为0°
即可,并且要与前轮前束匹配。
3.2.5前轮前束
所谓前束是指两轮之间的后距离数值与前距离数值之差,也指前轮中心线与纵向中心线的夹角。
前轮前束的作用是保证汽车的行驶性能,减少轮胎的磨损。
前轮在滚动时,其惯性力自然将轮胎向偏斜,如果前束适当,轮胎滚动时的偏斜方向就会抵消,轮胎外侧磨损的现象会减少。
像八字那样前端小后端大的称为“前束”,反之则称为“后束”或“负前束”。
在实际的汽车中,一般前束为012mm。
在模型车中,前轮前束是通过调整伺服电机带动的左右横拉杆实现的。
主销在垂直方向的位置确定后,改变左右横拉杆的长度即可以改变前轮前束的大小。
在实际的调整过程中,我们发现较小的前束,约束02mm可以减小转向阻力,使模型车转向更为轻便,但实际效果不是十分明显。
虽然模型车的主销后倾角、主销倾角、车轮外倾角和前束等均可以调整,但是由于车模加工和制造精度的问题,在通用的规律中还存在着不少的偶然性,一切是实际调整的效果为准。
3.3智能车转向机构调整优化
理想的转向模型,是指在轮胎不打滑时,忽略左右两侧轮胎由于受力不均产生的变形,忽略轮胎受重力影响下的变形时车辆的的转向建模。
在这种理想的模型下,车体的转向半径可以计算得到。
图3.5智能车转向示意图
如图3.5,假设智能车系统为理想的转向模型,且其重心位于其几何中心。
车轮满足转向原理,左右轮的轴线与后轮轴线这三条直线必然交于一点。
转向机构在车辆运行过程中有着非常重要的作用。
合适的前桥和转向机构可以保证在车辆直线行驶过程中不会跑偏,能保证车辆行驶的方向稳定性;
而在车辆转向时,合适的转向机构可以使车辆自行回到直线行驶状态,具有好的回正性。
正是由于这些原因,转向系统优化设计成为智能车设计中机械结构部分的重点,直接关系到赛车能否顺利地完成比赛。
在实际操作中,我们通过理论计算的方案进行优化,然后做出实际结构以验证理论数据,并在实际调试过程中不断改进。
在模型车制做过程中,赛车的转向是通过舵机带动左右横拉杆来实现的。
转向舵机的转动速度和功率是一定,要想加快转向机构响应的速度,唯一的办法就是优化舵机的安装位置和其力矩延长杆的长度。
由于功率是速度与力矩乘积的函数,过分追求速度,必然要损失力矩,力矩太小也会造成转向迟钝,因此设计时就要综合考虑转向机构响应速度与舵机力矩之间的关系,通过优化得到一个最佳的转向效果。
经过最后的实际的参数设计计算,最后得出一套可以稳定、高效工作的参数及机构。
3.4智能车重心位置的调整
为了达到较远前瞻,必须把电感架到较远的位置,会引起车重心特别靠前,后轮正压力不足导致甩尾。
为了使重心后移,我们尝试了很多传感器支架的搭建方式,使得保证结构稳定的前提下尽量减轻重量。
同时,我们把舵机和电池均往后移,达到了预期的效果。
3.5其它机械结构的调整
另外,在模型车的机械结构方面还有很多可以改进的地方,比如说车轮、悬架、底盘、车身高度等。
模型车在高速的条件下(2.3m/s-3.5m/s),由于快速变化的加减速过程,使得模型车的轮胎与轮辋之间很容易发生相对位移,可能导致在加速时会损失部分驱动力。
在实验中调试表明,赛车在高速下每跑完一圈,轮胎与轮辋之间通常会产生几个厘米的相对位移,严重影响了赛车的加速过程。
为了解决这个问题,我们在实际调试过程中对车轮进行了粘胎处理,可以有效地防止由于轮胎与轮辋错位而引起的驱动力损失的情况。
此外,我们还对车身高度,以及底盘的形状和质量等,都进行了相应的改进和调整,均取得了不错效果。
由于今年赛题加入双车追逐,所以做车的时候要求两车的一致性很高,因此摄像头车选用B车
第二章电路设计说明
智能车电路部分主要的模块包括:
单片机最小系统、电源模块、传感器模块、驱动模块以及其他周边调试模块。
各模块的总体设计原则是:
紧凑、易于拆换、稳定可靠。
但根据各模块的不同,又有不同的设计要求,本章对各个模块的设计进行详细描述。
4.1单片机最小系统
这次设计选用的单片机是MK60DN512VLL10(以下简称K60),100引脚封装,这款单片机的运算速度、存储容量以及端口(ATD,I/O,PWM,SCI等)足够满足智能车设计要求。
[15]
为了使电路板紧凑,较少车重,系统板仅对所用到的必要引脚引出,适当留有备用端口,其中包括PWM接口、FTM、普通I/O口、JTAG接口、SCI接口等。
端口作用规划见表4.1。
表4.1单片机端口规划表
端口
作用
D2、4、6、8、9、B5、6
电磁传感器AD转换
A1
转向舵机控制
D11
测速
A7、8、10,C2、3
电机驱动控制
C7
起跑线检测(干簧管)
市面上有多款K60单片机最小系统板出售,但是由于性能及价格并不符合我们智能车的设计要求,因此,我们自己设计了单片机最小系统板,电路板实物尺寸为42mm×
42mm。
4.2电源模块设计
电源是为智能车各个模块提供动力的能量来源,周边转接电路是起到将最小系统板各个引脚引出的重要模块,将两者划分到一块不但可以更安全的让所设计的电路工作,还可以减少设备中不必要的跳线。
因此此段落分为两部分,电源及周边转接电路。
4.2.1电源管理模块
稳定的电压和合适的电流是电源的首要指标,它是整个硬件系统的心脏,电源模块的布线应该尤为讲究,7.2V大电流应用足够宽的线且还应正反布线。
相应5V线可略微细些,最细的是信号线等。
电源的不稳定会带来很多问题,比如电池没有必要的损耗、单片机复位、舵机反应迟钝、比较电压的不稳定等问题,因此即使和周边硬件电路做在了一起,也必须优先考虑。
智能车所需的电源电压有5V和7.2V。
图4.2为智能车所需要的模块及其供电。
图4.1电源分配规划示意图
根据规划,5V供电我们选择了LM2940-5,比起7805,2940的优点是低压差稳压,它的稳压压差可以小于500mV,这样保证电池在低电压的情况下,仍能使单片机和传感器正常工作,同时,LM2940的输出电流可以达到1A[11]足够供应放大电路和键盘显示电路的工作。
设计原理图如图4.2所示。
3.3V供电我们使用了AMS1117-3V3芯片作为稳压芯片。
其电路原理是该芯片的典型电路,在这里不做赘述。
其原理图如4.3所示。
我们使用的5V稳压芯片是LM2940-5,LM2940-5(后文简称LM2940)相比于其他芯片(7805,2940等)最显著的特点就是低压差稳压,稳压压差可以小于500mV,这样的设计可以是我们的智能车在低电压情况下仍可以正常工作,以免因为不及时检测电压,使得小车不稳定从而发生复位、碰撞等不必要危险。
图4.2为我们所使用的LM2940的原理图。
图4.2LM2940-5稳压电路原理图
因为K60的供电等都是3.3V电压,因此在设计上非常方便,我们直接使用LM2940即可。
但是需要注意的时,在设计过程中,电源的导线需要谨慎处理,否则会给之后调202试等带来极大的障碍和危险。
4.3传感器电路设计与实现
本设计中,传感器分为四部分:
主巡线传感器(电磁感器)、起跑线传感器(干簧管)、速度传感器(光电码盘)和摄像头。
4.3.1电感传感器的原理
根据竞赛组委会的相关规定,我们选用磁传感器,磁传感器的应用首先在于选型,为了找出适合的磁传感器,我们查阅了许多的产品资料,进行了大量的电感测试,发现只有在10mH电感中,得到感应电动势曲线是较为规整的正弦波,频率和赛道电源频率一致,为20kHz,幅值较其他型号的大,且随导线距离变化,规律为近大远小。
其他电感得到信号不好,频率幅值变化杂乱,不宜采用。
根据电磁学,我们知道在导线入变化的电流(如按正弦规律变化的电流),则导线周围会产生变化的磁场,且磁场与电流的变化规律具有一致性。
如果在此磁场中置一由线圈组成的电感,则该电感上会产生感应电动势,且该感应电动势的大小和通过线圈回路的磁通量的变化率成正比。
由于在导线周围不同位置,磁感应强度的大小和方向不同,所以不同位置上的电感产生的感应电动势也应该是不同。
据此,则可以确定电感的大致位置。
4.3.2磁传感器信号处理电路
确定使用电感作为检测导线的传感器,但是其感应信号较微弱,且混有杂波,所以要进行信号处理。
要进行以下三个步骤才能得到较为理想的信号:
信号的滤波,信号的放大,信号的检波。
1)信号的滤波
比赛选择20kHz的交变磁场作为路径导航信号,在频谱上可以有效地避开周围其它磁场的干扰,因此信号放大需要进行选频放大,使得20kHz的信号能够有效的放大,并且去除其它干扰信号的影响。
使用LC并联谐振电路来实现选频电路(带通电路),如图4.3所示。
图4.3LC并联电路
其中,E是感应线圈中的感应电动势,L是感应线圈的电感值,R0是电感的阻,C是并联谐振电容。
电路谐振频率为:
(4.1)
已知感应电动势的频率
=20kHz,感应线圈电感为L=10mH,可以计算出谐振电容的容量为C=6.33×
10-9F。
通常在市场上可以购买到的标称电容与上述容值最为接近的电容为6.8nF,所以在实际电路中选用6.8nF的电容作为谐振电容。
2)信号的放大
由第一步处理后的电压波形已经是较为规整的20kHz正弦波,但是幅值较小,随着距离衰减很快,不利于电压采样,所以要进行放大,官方给出的如下参考方案即用三极管进行放大,但是用三极管放大有一个不可避免的缺点就是温漂较大,而且在实际应用中静电现象严重。
图4.4共射三极管放大电路
因此我们放弃三极管放大的方案,而是采用集成运放进行信号的放大处理,集成运放较三极管优势是准确受温度影响很小,可靠性高。
集成运放放大电路有同相比例运算电路和反相比例运算电路,我们在实际中使用反相比例运算电路。
由于运放使用单电源供电,因此在同相端加vcc/2的基准电位,基准电位由电阻分压得到。
图4.5放大电路原理图
4.3.3磁传感器的布局原理及改进
对于直导线,当装有小车的中轴线对称的两个线圈的小车沿其直线行驶,即两个线圈的位置关于导线对称时,则两个线圈中感应出来的电动势大小应相同、且方向亦相同。
若小车偏离直导线,即两个线圈关于导线不对称时,则通过两个线圈的磁通量是不一样的。
这时,距离导线较近的线圈中感应出的电动势应大于距离导线较远的那个线圈中的。
根据这两个不对称的信号的差值,即可调整小车的方向,引导其沿直线行驶。
对于弧形导线,即路径的转弯处,由于弧线两侧的磁力线密度不同,则当载有线圈的小车行驶至此处时,两边的线圈感应出的电动势是不同的。
具体的就是,弧线侧线圈的感应电动势大于弧线外侧线圈的,据此信号可以引导小车拐弯。
另外,当小车驶离导线偏远致使两个线圈处于导线的一侧时,两个线圈中感应电动势也是不平衡的。
距离导线较近的线圈中感应出的电动势大于距离导线较远的线圈。
由此,可以引导小车重新回到导线上。
由于磁感线的闭合性和方向性,通过两线圈的磁通量的变化方向具有一致性,即产生的感应电动势方向相同,所以由以上分析,比较两个线圈中产生的感应电动势大小即可判断小车相对于导线的位置,进而做出调整,引导小车大致循线行驶。
采用双水平线圈检测方案,在边缘情况下,其单调性发生变化,这样存在一个定位不清的区域(如图4.6箭头所指)。
同一个差值,会对应多个位置,不利于定位。
另外,受单个线圈感应电动势的最大距离限制,两个线圈的检测广度很有限。
图4.6双线圈差值法有定位不清区域
现提出一种优化方案:
架设传感器时也需要特别注意,为了更适合无赛道的新课题,我们将前瞻拉长至46cm,并且在这基础上抬高前瞻至21cm从而可以适应15°
坡,图4.4为我们架设的方法。
传感器架设参数如图4.6所示。
图4.7电磁感器安装参数示意图
4.3.4起跑线检测传感器的设计
按照比赛规则要求,跑完一圈后赛车需要自动停止在起始线之后三米之的赛道。
如图4.8所示,起始线是导引线两边的长度10cm的黑色线,起始线中间安装有永久磁铁,每一边各三只。
磁铁参数:
直径7.5-15mm,高度1-3mm,表面磁场强度3000-5000Gs[1]。
图4.8起跑线磁铁布置示意图
针对上述要求,利用干簧管设计起始线检测。
干簧管是磁机械效应的磁场传感器,其部是一个常开触点开关,在磁场强度超过其阈值时,开关闭合。
不管车子以什么样的姿态过起跑线,为了保证准确率,我们使用了6个干簧管并联为“线或”关系,任何一个干簧管检测到磁铁,A12端都会输出高电平,程序检测到上升沿后使赛车停车。
干簧管排布示意图如图4.8所示。
图4.8红外传感器电路实物及安装
4.3.3距离检测传感器的设计
图4.9
4.4驱动电路设计
驱动电路为智能车驱动电机提供控制和驱动,这部分电路的设计要求以能够通过大电流为主要指标。
驱动电路的基本原理是H桥驱动原理,目前流行的H桥驱动电路有:
H桥集成电路,如MC33886;
集成半桥电路,如BTS7970等;
MOS管搭建的H桥电路。
我们对三种电路都进行了搭建并测试,MC33886的优点是电路简单[12],外围元件少,但缺点是阻较大,通过电流有限,可以通过两片MC33886并联的方式进行改善。
MOS管搭建的H桥电路可以通过较大电流,但由于每个MOS管体积较大,因此电路板面积较大,另外,MOS管H桥电路可能会发生脉冲上升沿下降沿由于不够陡峭而带来的瞬间短路、功率过高等问题,为了避免这些问题,无疑要增加电路复杂程度。
最终我们选择了目前比较流行的两BTS7970半桥集成电路组成H桥。
BTS7960的阻为上半臂7mΩ,下半臂9mΩ,完全导通后全部阻为16mΩ,可通过电流为43A[13],远远大于智能车电机需求。
电路原理图如图4.10所示。
图4.10BTS7960搭建H桥电路原理图
第三章智能车软件设计说明
软件系统是对传感器等输入设备输入的信息进行处理,然后通过一定算法,得到控制输出,对现有的硬件电路进行调度和控制,从而使智能车按照赛道前进。
软件系统要达到的最终目的是让智能车更快更稳的在赛道上行驶,从而真正达到“智能”。
软件主要流程图如图5.1所示。
下面的容中,我们着重介绍赛道信息提取、方向舵机控制、距离获取、速度控制等主要部分。
5.1赛道信息和两车距离提取
赛道信息提取部分是最基础的程序,之后的控制程序都源于赛道信息的正确提取,这部分程序主要包括硬件端口读取、数据处理及分析归类三部分。
首先介绍硬件端口信息读取部分,为了存储赛道信息,我们建立一个float类型变量Position用来存储当前赛道扫描结果。
程序如下:
voidgetInfo(void)
{
intk=8;
intm=0,i=0,j=0;
floatc=0,d=0;
while(k!
=0)
hw_adc_convertstart(0,12,12);
//ADC0
while((ADC0_SC1A&
ADC_SC1_COCO_MASK)!
=ADC_SC1_COCO_MASK);
{RightAD=ADC0_RA;
ADC0_SC1A&
=~ADC_SC1_COCO_MASK;
}
RightEye=RightAD+RightEye;
k--;
}
RightEye=RightEye/8;
//求平均
获取当前扫描数据后,就要对数据进行处理,提取赛道信息,以便对赛道分类,判断特殊赛道类型。
根据传感器测值和计算,Position的值和两端传感器电压的比值(LvR)成正比关系,计算Position的程序如下:
voidDirecionCalculate(void)
{
inti=0,m=0,j=0,k=0;
floatposition_final=0;
intLvR_final_int=0;
if(LvR_final>
=1){LvR_final=1;
}
if(LvR_final<
=-1){LvR_final=-1;
LvR_final_int=(LvR_final+1)*100;
position_final=kLine*LvR_final;
position=position_final;
//赋值结束
丢线处理:
尽管我们尽量让他紧跟着中线,但是还是无法避免会出现丢线的