电磁导航式智能车的设计与实现
2014-06-01黄玉水周美娟周明建
黄玉水 黄 辉 周美娟 周明建
(南昌大学信息工程学院1,江西 南昌 330031;海军92957部队2,浙江 舟山 316000)
0 引言
随着科技的迅速发展,飞思卡尔智能车竞赛的影响力也得到了扩大。智能车作为一门新兴的综合技术,在汽车电子领域有着广阔的应用前景。它是一种交叉和融合了多门学科的高新技术综合体,其设计具体涉及电磁技术、计算机、控制、机械及车辆工程等多个领域[1-2]。其中磁导航技术是智能车的关键技术之一。磁场是一个三维矢量,在空间具有一定的对称性和方向性,且不易受外界信号的干扰,具有广阔的研究和应用前景。本文以此为背景,设计了一种电磁导航式智能车,重点介绍了一套完整可靠的软硬件设计方案,以实现智能车高速寻迹的功能。
1 总体设计
根据设计要求和功能划分,智能车主要分为八个模块,分别为主控制器模块、电源模块、电磁检测模块、速度检测模块、起始线检测模块、舵机转向控制、电机驱动模块和辅助调试模块。其中主控制器模块采用飞思卡尔半导体公司提供的MC9S12XS128单片机,主频40 MHz,Flash ROM 128 kB,具备 SPI、SCI、IIC 等常用接口。根据需要引出适量的管脚,可以完全满足智能车设计和控制的需求[3-4]。智能车系统框图如图1所示。
图1 系统框图Fig.1 Block diagram of the system
根据智能车设计要求,电磁检测电路采集路径信息,经过LC谐振电路选频,滤除其他不同频率的干扰信号;采用双运算放大器和倍压检波处理,得到可以输入单片机的电压信号。根据先前设定的算法获得赛道路况信息,准确地判断小车车体与赛道相对的位置,结合光电编码器获得的速度反馈信息,由单片机产生PWM脉冲信号,快速地完成转向控制和速度控制,最终实现小车按照预定的路线准确快速平稳地行进。
2 硬件电路设计
2.1 电源模块
在电源模块设计中,由于受到电源转换效率、相互干扰和降低噪声等多方面因素的影响,需考虑电源模块由若干相互独立的稳压电路组成。根据各模块电压的需求,合理设计了不同的稳压电路。其中小车系统电源采用比赛组织提供的7.2 V镍镉蓄电池。该电池可以为直流电机驱动模块直接供电。分别采用LM2940和LM2941低压差稳压芯片提供5 V和6 V电压,供单片机、光电编码器和舵机等正常工作。采用线性稳压集成芯片LM1117提供3.3 V电压,供功耗小的辅助调试模块工作。设计的电源管理模块为智能车的运行提供了稳定可靠的动力来源。各模块正常工作所需电压如表1所示。
表1 各模块正常工作电压Tab.1 Normal operating voltage of each module
2.2 检测单元
检测单元包括电磁检测、速度检测和起始线检测三个部分,其中电磁检测为传感器检测单元的核心元件,它的性能将直接决定智能车的好坏。赛道中心通设一条引导线,导线通有100 mA、20 kHz的交变电流。本文选取了电路实现简单、成本低、体积小、灵敏度高、抗干扰能力强的感应线圈,它主要包括感应、选频、放大和检波四个部分。电磁感应线圈选用10 mH的工频电感,开放的磁芯便于汇集磁感线,可以很好地感应交变电流产生的交变磁场。选频的目的主要是滤除其他不同频率的干扰信号,采用6.8 nF的电容组成LC串并联谐振电路,能够实现输出频率为20 kHz的交流电压信号。由于电感线圈感应的电动势信号微弱,只有十几个毫伏,所以需进行必要的放大电路处理。放大部分使用运放TL082进行两级信号放大,处理速度快,具有很好的实时性,可以有效得到放大100倍以上的电压增益,便于幅值检波。为了获得更大的动态范围,检波电路采用灵敏度更好的肖特基二极管SS14,获得的直流信号正比于交流线圈感应电压值,便于单片机进行A/D转换和信号采集。
为了达到良好的检测效果,设计中选用了三个传感器一字型排列的方案,其中传感器距离地面高度5 cm。电路实现简单、控制方便,能够快速检测到智能车的偏转方向和智能车体与路径引导线的相对位置。单个线圈的电磁检测电路原理图如图2所示。
图2 电磁检测电路原理图Fig.2 Principle of the electromagnetic detection circuit
为了实现智能车能够沿着既定赛道自主寻迹的功能,需要比较精确地控制车速和方向。速度传感器可反馈小车本身的运行速度,形成一个速度闭环控制,使智能车在急转弯时不会由于速度过快而冲出跑道。本电磁车采用欧姆龙E6A2-CWZ3光电编码器作为速度传感器[5]。该传感器具有安装简单、输出信号比较规整、测速精度比较高等特点,可以有效提高速度反馈的精度。
根据设计要求,起始线的赛道下方放置有永磁体(作为检测的标志),便于电磁车自主识别,自主完成赛道。在起始线检测部分,选用干簧管完成起始线的检测。干簧管相当于磁场传感器,当检测到超过其阈值的磁场时,常开触点开关将会闭合。本文设计了五个干簧管并联组成“线或”关系[5-6]。通过干簧管的通断来准确判断起始线的位置,实现小车的起始线起跑和终点准确停车的功能。
2.3 执行机构
根据智能车设计要求,舵机和电机为智能车的执行机构,分别实现对方向和速度的准确控制[7]。舵机部分选用组委会提供的S-D5型舵机,输出力矩驱动方向控制。由于单片机产生的PWM脉冲信号无法驱动智能车竞赛提供的直流电机,因此需要设计独立的驱动电路来实现电机驱动,以获得足够的功率。
方案一:采用MOS管驱动。采用四个MOS管搭建H桥,导通阻抗小,驱动能力强,最大可驱动117 A电流。但电路图较复杂,可以采用MOS常用驱动芯片MC33886控制H桥通断,还需要12 V栅极开启电压。MC33886内阻较大、发热量高。
方案二:采用BTS7960驱动。采用两个BTS7960搭建H桥,导通阻抗稍大,驱动能力弱于MOS管,最大可驱动43 A电流,电路设计简单,具有参数可调和自我保护的优点。
对比分析上述两种方案,由于驱动芯片BTS7970响应速度快、设计简单、价格低廉,完全符合本速度控制系统的要求。所以选用了BTS7970驱动电路,构成一个完整的全桥驱动。通过单片机使能信号使芯片开始工作,在主芯片给定的PWM作用下控制电机转动,实现电机的正反转,性能良好。同时,为了防止驱动芯片的反向电流烧坏单片机,在控制端和单片机中串联二极管,起到隔离的作用。
电机驱动电路原理图如图3所示。
图3 电机驱动电路原理图Fig.3 Principle of the drive circuit of motor
3 软件设计
3.1 舵机转向模糊控制算法
为了实现智能车的最优路线行驶,必须对智能车的舵机转向进行合理的控制。智能车控制是一种非线性和模型不确定的系统,与传统的PID控制器相比,系统采用了简单而有效的模糊控制器[7-9],实现对舵机的方向控制。
3.1.1 变量确定及模糊化
智能车转向模糊控制采用两输入单输出的二维模糊控制器,输入变量E、EC分别为小车偏离中心引导线的横向偏差和偏差的变化率,其输出量U为控制舵机的转向角。根据控制要求以及实际测得的E的范围,确定 E 和 EC 的基本论域为[-20,20]、[-9,9],偏转角U的基本论域为[-45°,45°]。两个输入变量E 和 EC 定义七级量化等级,均为[-3,-2,-1,0,1,2,3],U 定义为[-4,-3,-2,-1,0,1,2,3,4]。由此可得,E的量化因子Ke=3/20,EC的量化因子Kec=1/3,U的量化因子Ku=4/45。为了实现智能车方向的控制精度和灵敏性,三个语言变量论域均取七个模糊子集,即[NB,NM,NS,ZO,PS,PM,PB]。
系统中各变量均采用线性三角函数,三个变量的隶属度函数如图4所示,其中E和EC的隶属度函数完全一样。
图4 E、U隶属度函数Fig.4 Membership function of E and U
3.1.2 模糊规则表
根据智能车的运行特性和驾驶经验,当车体和跑道中心线偏差和偏差变化率很大时,需要反方向控制舵机转向;当车体与中心线偏差不大时,可以不调舵机或微调;当偏差较大而偏差变化率反方向很大时,说明偏差正渐渐减小,此时可以不调舵机。针对以上控制经验,两个输入变量E和EC各有七个模糊语言值,可生成49条模糊规则。建立的模糊控制规则表如表2所示。
表2 模糊控制规则表Tab.2 Fuzzy control rules
3.1.3 模糊推理及反模糊化
控制器经模糊化得到各变量的隶属度,再经模糊推理和反模糊化得出控制量的输出值,达到控制的作用。采用了一种常用的推理方法(MAX-MIN法)进行模糊推理。当相同后件的规则强度不同时,模糊输出取最大值。核心控制单元S12单片机规定各个前件之间只进行模糊和运算,当几个规则的逻辑后件影响到同一个模糊输出时,它们之间就隐含模糊或运算,在这里即采用了MAX-MIN法进行模糊推理。反模糊化就是将模糊输出量转变为精确的数字值的过程。
为了达到精确的控制,结合S12解模糊指令,系统采用以下加权平均法来描述:
式中:U为控制器输出的精准控制量;μ为输出对该子集的隶属度;Ui为各输出模糊子集对应模糊单点集的值。
3.1.4 仿真试验
舵机转向与PWM脉冲波成正比例的关系,因此可以简化舵机转向角的传递函数为二阶函数。结合小车动力学模型,其数学模型可以描述为:
为了研究模糊控制性能的优劣,利用Matlab/Simulink模块对智能车的转向控制系统进行了仿真。采用不同控制算法得到的仿真曲线如图5所示。仿真中位置跟踪信号取正弦信号0.5sin(10t),模拟路径S弯道信息。通过波形对比分析可知,加入模糊控制的舵机控制系统实现了高精度的跟踪,控制效果明显,具有良好的鲁棒性和适应性,实现了智能车偏转方向的精准控制。
图5 仿真曲线Fig.5 Simulation curves
3.2 直流电机控制算法
在电机控制算法中,我们采取的是增量式PID和Bang-Bang相结合的控制算法,结合光电编码器的速度反馈闭环系统,实现对电机的速度控制。直流电机速度控制框图如图6所示。
当偏差较小时,采用稳定的增量式PID控制;当偏差较大时,采用快速的Bang-Bang控制。这样即可通过PID控制实现调节的稳定性。通过Bang-Bang控制实现调节的快速性,从而使小车能够在进入直道后快速加速,进入弯道后快速减速,并在加减速后保证速度的稳定性[10]。
图6 速度控制框图Fig.6 Block diagram of speed control
4 结束语
本文提出了一种电磁导航式智能车的设计方案,以实现智能车高速寻迹的功能。从各个功能模块出发,重点介绍了智能车的硬件设计方案;在软件方面,针对转向控制特性,提出了基于模糊控制的舵机转向控制算法。通过仿真验证了该转向控制算法的有效性。实际测试结果表明,与传统控制策略对比,该转向模糊控制算法能够高精度地跟踪路径信号,提取出车模与赛道的相对位置,改善了在复杂弯道下的寻迹能力,平均速度可以达到2.6 m/s,整体上提升了智能车的控制性能。
[1]胡海峰.智能汽车发展研究[J].计算机世界,2004,10(6):20-23.
[2]马仕伯,马旭,卓晴.基于磁场检测的寻线小车传感器布局研究[J].电子产品世界,2009,10(12):41 -44.
[3]摆玉龙,杨丽君,董存辉.基于MC9S128的电磁导航智能车的设计与实现[J].测控技术,2011,30(11):20 -23.
[4]王元哲,扈宏杰.磁导航智能车系统的设计与实现[J].自动化仪表,2011,32(11):5 -8.
[5]刘源,张文斌,刘雪扬,等.电磁导航智能车检测和控制系统的研究[J].传感器与微系统,2012,31(4):63 -66.
[6]闫光,姜文材,常琪.北京理工大学电磁组技术报告[R].2011.
[7]卓晴,黄开胜,邵贝贝.学做智能车—挑战“飞思卡尔”杯[M].北京:北京航空航天大学出版社,2007.
[8]兰华,李晓鹏,丁勇竣.智能车转向系统模糊控制器设计研究[J].传感器与微系统,2010,29(5):34 -36,40.
[9]林焕新,胡跃明,陈安.基于自适应模糊控制的智能车控制系统设计[J].计算机测量与控制,2011,19(1):78 -80.
[10]蔡公华,洪乃刚.一种智能车寻迹算法的研究[J].电子科技,2009,22(6):10-13.