基于电磁传感器识别路径的智能车设计.docx
《基于电磁传感器识别路径的智能车设计.docx》由会员分享,可在线阅读,更多相关《基于电磁传感器识别路径的智能车设计.docx(51页珍藏版)》请在冰点文库上搜索。
基于电磁传感器识别路径的智能车设计
摘要
本文以第七届“飞思卡尔”杯全国大学生智能汽车竞赛为背景,对两轮直立行走智能小车硬件和软件进行了深入的分析与设计,以参与制作的智能小车为例介绍智能小车设计制作的全过程。
该智能车系统所用车模型号为N-286。
采用16位单片机MC9S12XS128作为主控制单元,设计、制作一辆能够自动识别路径并能两轮自平衡直立行走的智能小车。
整个智能车系统主要包括三大方面:
机械结构安装,硬件电路设计,软件算法设计。
本系统在设计中采用模块化设计,其中,路径检测模块采用LC谐振回路作为选频网络,然后对其信号进行放大、滤波;角度检测模块利用陀螺仪和加速度传感器分别测量车模的角速度、角度,然后将角速度积分信号与角度信号整合得到车模的精确角度信号;电机驱动模块采用四片BTS7960驱动芯片,两两级联构成全桥驱动电路,利用PWM进行速度控制;速度检测模块采用增量式光电编码器;电源模块通过稳压芯片提供3.3V、5V电压。
系统应用PID控制算法,构成一个闭环控制系统。
通过对赛道信息、角度信号和速度信号的综合分析,利用N-286型车模双后轮驱动的特点,实现小车两轮自平衡直立行走。
关键字:
直立行走;PID;MC9S12XS128;电机控制
Abstract
OnthebackgroundoftheSeventhFreescaleCupIntelligentAuto-mobileCompetitionfornationalcollegestudents,thispaperconductsdeepanalysisanddesignonthehardwareandsoftwareofthetwowalkinguprightintelligentautomobiles,andbrieflyintroducesthewholeprocessesofdesigningandmakingtheautomobilethroughtheexampleofmakingtheintelligentautomobile.
Thisintelligentauto-mobilesystemadoptsthemodelN-286asitstype.Bytakingthe16bitssinglechipmicrocontrollerMC9S12XS128asitsmaincontrolunit,wecandesignandmakeanintelligentauto-mobile,whichcanrecognizecertainroadautomaticallyandrunuprightwithitstwowheels.Theentiresystemcontainsthreemainparts:
theinstallationofmechanicalstructure,thedesignofhardwarecircuitandthedesignofthesoftwarealgorithm.Thesystemadoptsthemodulardesign.Amongthem,thepathdetectionmoduleusesLCresonanceloopasthefrequencyselectivenetwork,andthenhasitssignalamplifiedandfiltered.Theangledetectionmoduleusesthegyroscopeandangleaccelerationsensortomeasuretheangularvelocityandangleofmodelsrespectively.Thenitintegratesanglespeedsignalandanglesignaltogetpreciseanglesignalofthemodels.MotordrivermoduleusesfourpiecesofBTS7960drivechipsandtwocascadestoconstructthewholebridgedrivingcircuit.ThesystemadoptsPWMspeedcontrolalgorithmtoformacloseloopcontrolsystem.Speeddetectionmoduleusesthesolid-axesphotoelectricencoder.Powermodulesuppliesvoltageof3.3Vand5Vthroughregulatedchips.ThesystemappliesthePIDcontrolalgorithmtoformaclosedloopcontrolsystem.Throughacomprehensiveanalysisoftrackinformation,anglesignalandspeedsignalandbyusingthecharacteristicsofdualrear-wheeldriveofN-286auto-mobilemodels,itrealizestheself-balanceduprightwalkingwithitstwowheels.
KeyWords:
Walkupright,PID,MC9S12XS128,Motorcontrol
1绪论
1.1研究背景
本课题来源于“飞思卡尔”杯全国大学生智能汽车竞赛。
“飞思卡尔”杯智能汽车竞赛是教育部为了加强大学生实践、创新能力和团队精神的培养而举办的面向全国大学生的智能汽车比赛,具有重大的现实意义[1]。
“飞思卡尔”杯智能汽车大赛从2006年开始举办,今年是第七届。
竞赛为了提高全国大学生智能汽车竞赛创新性和趣味性,激发高校学生参与比赛的兴趣,提高学生的动手能力、创新能力和接受挑战能力,智能汽车竞赛组委会将电磁组比赛规定为车模直立行走。
相对于传统的四轮行走的车模竞赛式,车模直立行走在车体检测、控制算法等方面提出了更高的要求。
1.2设计前景
智能小车的研究、开发和应用涉及传感技术、电气技术、电气控制技术、智能控制等学科,智能控制技术是一门跨科学的综合性技术,当代研究十分活跃,应用日益广泛的领域。
可以适应不同环境,不受温度、湿度等条件的影响,完成危险地段,人类无法介入等特殊情况下的任务。
智能车辆是一个集环境感知、规划决策、自动驾驶等多种功能于一体的综合体统。
如果将以上技术引用到现实生活中,可以使我们的未来生活变得更加智能。
除了潜在的军用价值外,还可以应用于科学研究、地质勘探、危险搜索、智能救援等,其在交通运输中的应用前景也受到西方国家的普遍关注。
1.3设计内容和意义
本设计所用车模型号为N-286,采用16位单片机MC9S12XS128作为主控制单元,设计、制作一辆能够自动识别特制跑道并能两轮自平衡行走的智能小车。
整个系统主要包括三大方面:
机械结构安装,硬件电路设计,软件算法设计。
按模块划分为:
路径检测模块,角度控制模块,电机控制模块,速度检测模块,电源模块等。
整个系统为一个闭环控制系统,采用电磁传感器、倾角传感器及测速编码器等设计信息采集电路和控制算法,利用N-286型车模双后轮驱动的特点,实现小车两轮自平衡行走。
以主单片机为中央纽带控制和协调各模块调理有序的稳定运行。
后文将分别从机械结构、系统硬件设计、软件设计三大方面对各子模块进行详细解析。
智能车的研究很有应用前景,对智能化研究能起到引导的作用,尤其对自动驾驶、智能运输的研究具有重要意义。
2电磁车整体结构
2.1设计的总体思路
电磁智能车模型采用N-286型车模。
整个系统为一个闭环控制系统,通过对电磁传感器、倾角传感器及测速编码器等设计信息采集电路,采用16位单片机MC9S12XS128作为主控制单元对以上信息数据进行采集、处理,进而设计控制算法,利用车模双后轮驱动的特点,控制车模两个电机,实现小车两轮自平衡直立行走。
如图2.1所示。
图2.1电磁车俯视图
按照设计要求,赛车需两轮自平衡直立沿着电磁跑道行走,在此要求下设计的电磁车体系结构如图2.2所示。
图2.2电磁车整体结构
由图2.2可知,电磁车整体结构分为以下及模块:
(1)电磁传感器模块:
检测导线电流约为100mA,频率20KHz的磁场的大小,进行路径识别,并输出电压给MC9S12XS128采集;
(2)角度传感器模块:
利用陀螺仪和加速度传感器分别测量车模的角速度、角度,
然后将角速度积分信号与角度信号整合得到车模的精确角度信号;
(3)速度传感器模块:
利用增量式光电编码器进行速度的测量,反馈给单片机,构成速度的闭环。
光电编码器线数越多,同等速度下单位时间内所能检测到脉冲数也越多,因而速度检测的分辨率也更高。
另一方面,线数增多后,相邻脉冲间的持续时间会变短,脉冲检测的可靠性会因相邻脉冲的干扰而受到影响;
(4)MC9S12XS128模块:
构成系统的控制器;
(5)电机驱动模块:
通过MC9S12XS128单片机输出的PWM(PulseWidthModulation)控制,功率放大用来驱动电机,要求驱动电流足够大,同时要考虑到大电流对整个系统的影响;
(6)电源管理模块:
制作相应的电源电路,针对个模块的输入电压信号要求。
利用不同的稳压芯片为各模块供电。
利用5V稳压芯片将电源稳成5V,给单片机、速度传感器及路径检测模块供电,LM117电压可调芯片给两个角度传感器供电,而电机则利用电源直接供电。
2.2直立行走任务分析
电磁智能车设计要求车模在直立的状态下以两个轮子着地沿着赛道行走,相比四轮着地状态,车模控制任务更为复杂。
按照设计思路“对三类传感器的信息整合,来控制车模两个后轮电机,完成设计任务”,由此可见车模控制的核心是两个后轮电机。
为了能够方便找到解决问题的办法,首先将复杂的问题分解成简单的问题。
根据设计要求,维持车模直立、运行的动力都来自于车模的两个后车轮,后轮转动由两个直流电机驱动。
因此从控制角度来看,由控制车模两个电机旋转方向及速度实现对车模的控制。
车模控制任务可以分解成以下三个基本任务:
(1)控制车模直立:
通过控制两个电机正反向运动保持车模直立状态;
(2)控制车模速度:
通过控制两个电机转速速度实现车模行进控制;
(3)控制车模转向:
通过控制两个电机之间的转动差速实现车模转向控制。
以上三个任务都是通过控制车模两个后轮驱动电机完成的。
可以假设车模的电机可以虚拟地被拆解成三个不同功能的驱动电机,它们同轴相连,分别控制车模的直立平衡、前进行走、左右转向。
直流电机的力矩最终来自于电机驱动电压产生的电流。
因此只要电机处于线性态,上述拆解可以等效成三种不同控制目标的电压叠加之后,施加在电机上。
在上述三个任务中保持车模直立是关键。
由于车模同时受到三种控制的影响,从车模直立控制的角度,其它两个控制就成为它的干扰。
因此在速度、方向控制的时候,应该尽量平滑,以减少对于直立控制的干扰。
上述三个控制各自独立进行控制,它们各自假设其它两个控制都已经达到稳定。
比如速度控制时,假设车模已经在直立控制下保持了直立稳定,通过改变电机的电压控制车模加速和减速。
车模在加速和减速的时候,直立控制一直在起作用,它会自动改变车模的倾角,移动车模的重心,使得车模实现加速和减速[2]。
三个任务的实现算法将在第五节简绍。
3机械结构
良好的车模机械设计与制作,对于车模稳定运行、安全调试都非常重要。
如下就车模简化改装与传感器安装两个方面进行简绍。
3.1车模简化改装
由于电磁智能车采用了N-286型车模,它是双后轮驱动,前轮舵机转向的运动模式,而设计要求车模直立行走,因此车模前轮以及部分相关部件都可以进行简化。
具体可以参照以下改装步骤:
(1)去掉前轮及其支撑部件,去掉后轮悬挂缓冲支架拆,如图3.1所示。
图3.1简化后车模底盘
(2)固定车模底盘与后轮支架
原有车模为了减轻后轮振动对于车体的影响,后轮的支架与底盘之间采用了活动连接方式。
但是,为了保证车模直立车体稳定性,需要将原有车模地盘与后轮支架固定在一起。
最简便的方式就是可以使用热熔胶在后轮支架与底盘之间的缝隙处进行粘接。
这样后轮与车体之间形成一个刚体,便于进行直立控制。
3.2传感器安装
车模中的传感器包括有:
速度传感器,车模姿态传感器(陀螺仪、加速度计)以及电磁检测感应线圈。
下面分别介绍这些传感器的安装。
(1)速度传感器安装
本设计采用E6A2-CWZ3光电编码器检测速度。
将光电编码器安装与车尾,保证光电编码器齿轮与电机齿轮的啮合既不太过松散造成测速不稳定也不过紧打坏齿轮。
良好的齿轮啮合可以由车模行驶时发出的响声均匀与否判定。
(2)电磁传感器安装
电磁传感器为两个工字型的10毫亨电感。
为了能够更好的检测前面的道路,一般将前排两个工字型的电感尽可能的安装在车模运行前方较远的地方。
由于此车模是直立运行,速度不是太快,传感器只有两排,为了避免车模在通过十字交叉线路口时受到的影响,在固定后排两个电感线圈的时候,尽量保持这两个线圈呈水平位置。
(3)车模倾角传感器
车模倾角传感器包括陀螺仪和加速度计。
它们都是表贴元器件,固定在电路板上。
将这块带有陀螺仪和加速度计的电路板固定在整个车模中间质心的位置,这样可以最大程度减少车模运行时前后振动对于测量倾角的干扰。
3.3其他注意事项
由于车模直立运行,尽可能减少电路板的尺寸,一方面便于固定,另一方面可以减少车模的惯量。
固定电路板应尽可能贴近车模的底盘,使其能够稳固。
为了避免车模运行过程中倾倒,摔坏车模及其上的电路板,在车模机械设计时,需要在车模前后安装有防撞支架或者缓冲物,一旦车模倾倒或者失控,防撞支架可以保护车模机械、电路的安全性。
4系统硬件电路设计
根据前面简绍的设计思路,本设计硬件电路设计主要分为以下几个模块:
(1)电磁线检测模块:
包括两路相同的电磁感应信号放大、检波、滤波电路;
(2)角度传感器模块:
包括两个姿态传感器信号的放大、滤波电路;
(3)电机驱动模块:
驱动两个电极运行电路;
(4)速度检测模块:
检测电机光电码盘脉冲;
(5)电源模块:
电源电压转换、稳压、滤波电路;
(6)其他电路模块:
包括拨码开关、液晶显示等,用于辅助车模调试。
以下将分别对各模块电路给出设计方案。
4.1电磁线检测电路
电磁车要检测的赛道环境是由通有20kHz、100mA交变电流的导线所产生的电磁场。
电磁场检测是本设计要解决的一个关键问题,此次设计采用电磁感应磁场的方法进行信号提取[3]。
路径检测模块的信号流经四个部分:
线圈感应变化的磁场得到电磁感应信号;放大电路对电磁感应信号进行放大;放大后的信号经过检波、滤波后变为直流信号;最后,送单片机AD口进行数据采集[4]。
4.1.1感应电路设计
采用LC谐振回路作为选频网络,选频网络的谐振频率
为20kHz。
根据公式4.1可以选定电感电容的参数[5]。
(4.1)
此电路设计选取10mH工字型电感和6.8nF电容,图4.1是LC选频网络电路图和示波器显示的OUT端输出的波形。
图4.1LC选频网络电路图和示波器显示的OUT端输出的波形
4.1.2放大电路设计
电感输出的电压为几十毫伏,输出电压比较小,不利于单片机进行数据采集,需要对信号进行放大。
放大电路的原理图如图4.2所示。
图4.2放大电路原理图
此电路利用同相比例运算放大器进行信号放大,选取LM358芯片(此芯片单双电源供电均可,性能稳定,应用电路简单,能满足设计要求),其中R1为定值电阻,R2为可调电阻,这样可以调节放大倍数,INPUT端(
)接电感的输出信号,OUTPUT端(
)为放大后的输出信号。
根据式4.2可以计算出放大后的电压[5]。
(4.2)
放大后电压基本能达到3V左右,输出波形如图4.3所示。
图4.3放大后的输出波形
4.1.3检波、滤波电路设计
因为运算放大器采用单电源供电,所以放大后的信号是半波信号。
如果对放大后的信号进行检波,基本上可以得到直流信号,再经过滤波,信号就更加稳定、平整,这样将信号直接接入单片机的AD口进行AD转换后再行处理。
本设计采用AD转换的方式采集数据,检波、滤波电路如图4.4所示。
图4.4检波、滤波电路原理图
图4.4中,INPUT端接入放大以后的信号,OUTPUT端输出虑波以后的信号。
检波电路中选用肖特基二极管D1、D2,因为其管压降低于普通二极管,开关特性优于普通二极管,C3、R2组成RC滤波电路进行滤波。
4.1.4电磁线检测整体电路
将以上几部分电路组合起来便构成电磁线检测电路,电路如图4.5所示。
图4.5电磁线检测整体电路
4.2角度传感器电路
车模倾角传感器电路主要是将陀螺仪(ENC03)信号进行放大滤波。
由于加速度传感器采用是低
值的传感器MMA7260,它是一款三轴低
半导体加速度计,可以同时输出三个方向上的加速度模拟信号,它的输出信号非常大,不需要再进行放大,只要使其对应控制端为低电平,选择MMA7260最高的灵敏度,OUT端则输出加速度计Z轴信号。
陀螺仪应用电路图如图4.6所示。
图4.6陀螺仪应用电路
图4.6中,将陀螺仪(ENC03)的输出信号经运算放大器(TLV2211)进行放大,其中,R6、R5为分压电阻,放大倍数≈R4/R2=R3/R1,并将零点偏置电压调整到工作电源的一半(1.65V)左右,最终输出角速度对应的电压值,放大倍数需要根据选取的传感器输出灵敏度设计。
4.3电机驱动电路
系统所用动力来源为直流电机,系统运行的速度要提高就要设计好电机驱动模块,此模块必须在低电压的情况下提供大电流,而且必须可控,在可靠性和稳定性都要满足的条件下还要考虑到散热,缓冲保护,响应速度和工作转矩等。
另一方面,电动机在运行期间不仅要控制正转的速度,当遇到需要减速的路况时就要让电动机反转制动,要让驱动模块满足正反转的功能,而H桥电路就是控制电机正反转的,控制原理也较为简单,电路也稳定[6]。
由于设计所用车模具有两个后轮驱动电机,因此需要两组电机驱动桥电路。
所以,此次设计选用了四片BTS7960两两级联组成两组全桥驱动电路。
其应用电路原理图如图4.7所示。
图4.7电机驱动电路
图4.7中,VIN为电源输入端口端,直接接入7.2V电池电压,PWM1、PWM2为信号控制端,OUT1、OUT2为输出端接电机。
每片BTS7960内部为半桥结构,只有一路PWM信号输入及一路输出,它具有输出功率大、性能稳定等特点。
为了提高电源的应用效率,驱动电机的PWM波形采用了单极性的驱动方式,也就是在一个PWM周期内,施加在电机上的电压为一种电压[6]。
因此每个电机为了能够实现正反转,都需要两个PWM信号,两个电机总共需要4路PWM信号来控制其运行。
为了防止电机输出电流对于电源的冲击,在电路板的电源输入端口并联了一个1000微法的电容,由于输出信号复杂,为了进一步避免输出干扰,可以在输出端并联一个0.47微法的小电容。
4.4速度传感器
为了使得智能车能够平稳地沿赛道导引线运行,速度传感器起着非常重要作用,控制车模的直立、速度、方向都必须准确的判断两个电机的转动方向与转速大小。
这样才能形成一个闭环的自动控制系统,使得两轮直立小车更加稳定、准确、快速的沿规定赛道运行。
速度传感器有很多种,鉴于光电编码器安装简单,输出信号比较规整,而且增量式光电编码器可以输出正比于转速的脉冲,记录单位时间内的脉冲数就可以间接测取实时速度,所以选择此类编码器进行速度检测。
电磁车制作使用欧姆龙光电编码器作为速度传感器,安装在车尾与传动齿轮啮合,使用与电机相同齿数的齿轮,相当于直接测得电机的转速。
该光电编码器的测量精度为200P/r,有AB两相输出,相位差为90°±45°,信号波形为方波。
在使用之前需进行测量,看其波形是否平整、稳定,如果有纹波,考虑在信号端加上拉电阻,为其提供合适的功率,然后在测其输出波形,以保证测速准确。
4.5电源模块电路
电源模块对于一个控制系统来说极其重要,关系到整个系统是否能够正常工作,因此在设计控制系统时应选好合适的电源模块。
供电电源为7.2V、2000mA的蓄电池,然后经过不同型号的稳压芯片对电源电压稳压后为各模块供电。
倾角传感器模块需要3.3V电源,单片机系统、电磁线检测电路中的运算放大器芯片、光电码编码器、驱动使能等均需要5V电源,直流电机则使用7.2V、2000mA的蓄电池直接供电,系统电源分配如图4.8所示。
图4.8系统电源分配
5V芯片选取LM2940和LM2575两种,其中LM2575具有内部损耗低、输出功率大、应用电路比较完整,主要为电磁线检测电路中的功率运算放大器芯片供电,应用电路如图4.9所示。
图4.9LM2575稳压模块
LM2940芯片虽然内部损耗较大,但是输出电压无纹波,信号十分稳定,并且其应用电路非常简单,主要给单片机、驱动使能等供电,应用电路如图4.10所示。
图4.10LM2940稳压模块
3.3V供电芯片采用LM1117,此芯片输出电压可调,而且其输出信号稳定,主要用于给两个角度传感器(陀螺仪和加速度传感器)供电。
应用电路如图4.11所示。
图4.113.3V稳压模块
4.6其他电路模块
系统电路设计中除了主要模块电路外,还有其他辅助模块电路,用于系统调试,譬如:
拨码开关、液晶显示等。
电路如图4.12所示。
图4.12拨码开关电路
5控制策略与算法研究
通过前面的介绍,车模控制电路制作与安装均已完毕。
车模是否能够正常高速稳定运行,需要通过软件编写和调试来完成。
5.1软件功能与框架
软件的主要功能包括有:
(1)车模运行状态检测;
(2)电机PWM输出;
(3)车模运行控制:
直立控制、速度控制、方向控制;
(4)车模运行流程控制:
程序初始化、车模启动与结束。
主程序框架如图5.1所示。
图5.1主程序框架
图5.1中,程序上电运行后,便进行单片机的初始化。
初始化的工作包括有两部分,一部分是对于单片机各个应用到的模块进行初始化;第二部分是应用程序初始化,是对于车模控制程序中应用到的变量值进行初始化。
初始化完成后,首先进入车模直立检测子程序,该程序通过读取加速度计的数值判断车模是否处于直立状态。
如果一旦处于直立状态则启动车模直立控制、方向控制以及速度控制,同时检查车模是否跌倒,跌倒判断通过车模倾角是否超过一定范围进行确定,一定车模跌倒,则停止车模运行,然后重新进入车模直立判断过程。
5.2MC9S12XS128片内资源简介
MC9S12XS128微控制单元作为MC9S12系列的16位单片机,由标准片上外围设备组成,包括16位中央处理器、128KB的Flash存储器、8KB的RAM、2KB的EEPROM、两个异步串行通信接口、两个串行外围接口、一组8通道的输入捕捉或输出捕捉的增强型捕捉定时器、两组8通道10路模数转换器、一组8通道脉宽调制模块、一个字节数据链路控制器、29路独立的数字I/O接