




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE毕业设计(论文)基于飞思卡尔单片机的智能车设计系别自动化工程系专业测控技术与仪器班级姓名指导教师
东北大学秦皇岛分校毕业设计(论文)第1页基于飞思卡尔单片机的智能车设计摘要本论文以第四届全国大学生飞思卡尔杯智能车竞赛为基础,围绕飞思卡尔单片机MC9S12DG128B,通过一个CMOS摄像头检测模型车的运动位置和运动方向,用光电传感器检测模型车的速度并使用PID控制算法调节驱动电机的转速和舵机的方向,完成对模型车运动速度和运动方向的闭环控制。在系统设计中,我们自行设计了硬件电路板,在总结了设计过程中的经验教训后,我们将电源设计和电机驱动设计做了很大的调整,经过反复测试对比后,在电源模块选用了更加稳定的线性电源模块TPS7350;电机驱动模块由最初组委会提供的单片MC33886发展到了由分立元件制作的可逆双极型桥式驱动H桥电路,额定工作电流可以轻易达到70安以上,相对于MC33886能提供的最大6A的电流来说,大大提高了电动机的工作转矩和转速。在软件设计上我们使用PID控制算法调节驱动电机的转速和舵机的方向,并通过识别路径对参数进行更改,完成对模型车运动速度和运动方向的闭环控制。经过试验对比,实验结果表明,系统设计方案可行。关键词:智能车,MC9S12DG128,CMOS摄像头,PID
东北大学秦皇岛分校毕业设计(论文)第42页TheDesignandResearchofIntelligentVehicleBasedon16-bitMCUMC9S12DG128BAuthor:LiYinanTutor:MashuhuaAbstractWewilldemonstrateaintelligentvehiclesystembasedonthemicro-controllerunitMC9S12DG128inthispaper,throughaCMOScameramovementdetectionmodelvehiclesthelocationandmovementdirection,photoelectricsensordetectionmodelwiththespeedofvehiclesandusethePIDcontrolalgorithmforadjustmentdrivemotorspeedanddirectionofthesteeringgear,modelcarstocompletethemovementspeedanddirectionofmovementoftheclosed-loopcontrol.Insystemdesign,wedesignahardwarecircuitboard,attheconclusionofthedesignlessonslearnedintheprocess,wewillsupplythedesignandmotordrivedesignhasdonealotofadjustment,contrast,afterrepeatedtests,thepowersupplymoduleintheselectedmorestablelinearpowersupplymoduleTPS7350;motordrivemodulesprovidedbytheorganizingcommitteefromtheinitialdevelopmentoftheMC33886single-chipdiscretecomponentsproducedbythereversiblebipolarH-bridgedriverbridgecircuit,ratedoperatingcurrentcaneasilyreachmorethan70A,therelativewiththeMC33886canprovidethegreatest6AKeyWords:IntelligentVehicle,MC9S12DG128B,CMOScamera,PID目录1绪论 11.1 智能车竞赛背景介绍及意义 11.2 智能车系统设计思路及方案分析 11.3 系统章节安排 32 硬件电路的设计与实现 42.1 以S12为核心的单片机最小系统 42.2 电源稳压电路 72.3 摄像头 82.4 摄像头采集模块 82.5 电机驱动电路 92.6 速度传感器 142.7 加速度传感器 152.8 去抖动电路 163 图像采集 183.1 CCD摄像头和CMOS摄像头 183.2 视频信号传输格式 193.3 图像采集算法 203.4 图像处理算法 223.5 根生长法黑线轨迹提取 234 道路类型识别及决策与控制 274.1 直道识别 274.2 弯道识别 294.3 小S道识别 304.4 大S道识别 324.5 方向决策与控制 324.6 速度决策与控制 345 系统调试 355.1 软件开发环境 355.1.1CodeWarriorIDE 355.1.2调试器 365.2 辅助调试工具 365.2.1LED指示灯 365.2.2拨码开关 375.2.3无线调试模块 375.2.4示波器 38结语 39致谢 40参考文献 41附录 421绪论智能车竞赛背景介绍及意义全国大学生飞思卡尔杯智能车竞赛是教育部主办的面向全国大学生的五大赛事之一(另外四个:数学建模、电子设计、机械设计、结构设计)。全国大学生智能汽车竞赛是在竞赛组委会提供的统一汽车模型平台上,使用飞思卡尔半导体公司的8位、16位微控制器作为核心控制模块,通过设计道路识别传感器和电机驱动电路、编写相应软件及装配模型车,制作一个能够自主识别道路的模型汽车,按照规定路线(路线赛前未知)行进,以完成时间最短者为优胜。Freescale公司是目前全球领先的半导体公司之一,它为汽车电子、消费电子、工业控制、网络和无线市场设计并制造了众多的嵌入式半导体产品,拥有多达19000种产品。Freescale公司是全球十大芯片制造商之一,在8位、16位和32位微控制器领域处于领先地位。智能汽车竞赛所使用的自动控制器是以单片机MC9S12DG128为核心,配合有传感器、电机、舵机、电池以及相应的驱动电路,它能够自主识别路径,控制模型车高速稳定运行在跑道上。比赛按照赛车进行道路检测方式的不同分为光电组和摄像头组,如果赛车使用了透镜成像原理进行道路检测则属于摄像头组,其余属于光电组。全国大学生智能车竞赛已经成功举办了四届,比赛规模不断扩大、比赛成绩不断提高。通过比赛,促进了高等学校素质教育,培养了大学生的综合知识运用能力、基本工程实践能力和创新意识,激发了大学生从事科学研究与探索的兴趣和潜能,倡导理论联系实际、求真务实的学风和团队协作的人文精神,为优秀人才的脱颖而出创造了条件。智能车系统设计思路及方案分析智能车竞赛已成功举办了四届,水平越来越高,每一届都能有很多创意值得学习,也会有一些教训需要吸取。我们对所能找到的资料进行了认真的分析和总结,从而确定了我们的设计思路。首先,采用低重心设计。前几届的比赛中,不乏因重心过高而翻车的例子。重心成了进一步加快智能车弯道速度的限制之一。反观一些速度很快的赛车,重心一般都比较低(有个别例外)。因此,尽可能降低重心成为我们设计智能车过程中始终重点考虑的问题之一。对智能车重心影响最大的当属摄像头及其支架;支架选择轻质材料制作,且在不影响道路识别的情况下,尽量降低支架高度。还可以通过减小PCB版面积,低位安装来降低重心。第二,提高图像的分辨率,增强摄像头及算法对光线的适应性。在赛场上,智能车因无法适应场地光线,从而无法完成比赛,是一件很可惜的事情。我们从摄像头的选型到程序的编写,再到平时的调试,始终注意了提高智能车道路检测系统对场地光线的适应性。我们选用了CMOS摄像头,它一方面可以提供很高的分辨率,另一方面对光线的适应性也很好。第三,在算法设计上,要实现“抄近道”的跑法。所谓“抄近道”,是指智能车并不是严格沿着黑线行进,而是在保证不犯规的情况下,走最短的路径。“抄近道”也就是路径优化。如何实现路径优化,是我们软件设计中重点解决的问题之一。最后,减轻车重、调整车模机械结构、也可以有效地提高智能车的平均速度。在智能车硬件电路的设计上,我们采用了模块化的设计思想。将整个系统分为最小系统板、电源模块、驱动模块、图像采集模块等若干模块。每个模块只负责完成特定的功能,与其他模块之间相对独立。这种“分而治之”的模块化硬件设计思想,把复杂的系统分为若干功能模块,方便了小组内进行分工设计。同时,由于进行了模块化划分,电路规模也相对变小了,减小了出错的几率,增大了成功率。在前期开发阶段,可以对各个模块进行单独测试。保持各模块间接口定义不变,各模块可以单独升级换代,具有一定的通用性。在调试过程中,每一模块均有备件,且拆装替换方便。如果某一模块出故障或需要升级,可以马上替换,不会出现因一点小故障导致调试工作无法进行的问题。这也保证了我们的调试进度。比如:我们针对驱动模块、电源模块在调试过程中出现的问题,对这两个模块进行了改进;此外,对数字摄像头模块也进行过改进,提高了图像的质量。这些改动都没有对我们的调试进度产生大的影响。对于系统软件的设计,我们也力图使软件模块化、层次化。在程序中,有一个专门的.h和.c文件负责和硬件的接口。如果在调试中改动了硬件,只需改变这两个文件中的部分设置,其他部分程序不需要改动。这样的设计方便了我们调试软件,提高了代码的可重用性,也减小了出错的几率。系统章节安排本文在第二章对MC9S12DG128单片机各个模块进行介绍,第三章介绍摄像头的信号传输并对摄像头信号的采集进行研究,第四章介绍路径识别与控制相关内容,第五章介绍软件环境及硬件辅助工具。
硬件电路的设计与实现按照比赛要求,我们设计了整个硬件电路的结构图,如图3.1所示。系统力求简单高效,在满足比赛要求的情况下,使硬件结构最简单,减少因硬件而出现的问题。图2.1智能车系统结构图以S12为核心的单片机最小系统单片机最小系统板使用MC9S12DG128单片机,80引脚封装。MC9S12DG128是Freescale公司推出的S12系列微控制器中的一款增强型16位微控制器。其集成度高,片内资源丰富,接口模块包括SPI、SCI、I2C、A/D、PWM等。它不仅在汽车电子、工业控制、中高档机电产品等应用领域有广泛的用途,而且在FLASH存储控制及加密方面也有很强的功能。MC9S12DG128微控制器采用增强型16位S12CPU,片内总线时钟频率最高可达25MHz;片内资源包括8KBRAM、128KBFLASH、2KBEEPROM;SCI、SPI、PWM串行接口模块;PWM模块可设置成4路8位或2路16位,可宽范围选择逻辑始终频率;它还提供2个8路10位精度A/D转换器、控制器局域网模块CAN和增强型捕捉定时器,并支持背景调试模式(BDM).下面主要介绍S12系列的特点、基本结构、引脚功能、操作模式、振荡电路、系统运行监视、实时中断、复位电路等。(1)S12的核心:-16位S12CPU:20位ALU,指令队列,增强型索引寻址;-多种外部总线接口(MEBI);-模块映射控制机制(MMC);-中断控制(INT);-断点(BKP);-背景调试模块(BDM)。(2)CGR时钟和复位发生器:-锁相环(PLL);-看门狗(COPwatchdog);-实时中断(RTI);-时钟监视器(CM)。(3)带中断功能的8位和4位端口:-可编程的上升沿或下降沿触发。(4)存储器:-128KBFLASH;-2KBEEPROM;-8KBRAM。(5)2个8通道模/数转换器:-10位精度;-外部触发转变功能。(6)3个1Mbps的CAN总线模块,兼容CAN2.0A/B:-5个接受缓冲器,3个发送缓冲器;-4个独立的中断通道,分别是发送中断、接受中断、错误中断和唤醒中断;-低通滤波器唤醒功能。(7)增强型捕捉定时器:-16位计数器,7位预分频功能;-8个可编程输入捕捉或输出比较通道;-4个8位或2个16位脉冲累加器。(8)8个PWM通道:-每个通道的周期和占空比由程序决定;-8位8通道或16位4通道;-各通道独立控制;-脉冲在周期内中心对称或左对齐输出;-可编程时钟选择逻辑;-紧急事件关断输入;-可作为中断输入。(9)串行口:-2个异步串行通信接口(SCI);-2个同步串行设备接口(SPI);-Byteflight模块。(10)I2C总线:-兼容I2C总线标准;-多主I2C总线模块。(11)LQFP-112和QFP-80封装选择:-5V输入和带驱动能力I/O;-5VA/D转换器输入;-50MHz系统频率(相当于25MHz总线频率);-单线背景调试模块;-片上硬件断点。图2.2最小系统电源稳压电路本系统中电源稳压电路有三路,一路为+5V稳压电路,第二路为+9V稳压电路。为整个智能模型车自动控制系统中除后轮驱动电机,转向舵机外的所有设备供电。其中+5V稳压电路采用TPS7350。TPS7350是微功耗低压差线性电源芯片,具有完善的保护电路,包括过流、过压、电压反接保护。使用这个芯片只需要极少的外围元件就能构成高效稳压电路。TPS7350具有较低的工作压降和更小的静态工作电流,可以使电池获得相对更长的使用时间。由于热损失小,因此无需专门考虑散热问题。图2.3TPS7350电源稳压电路为了保证单片机在低电压供电时的可靠性,我们进一步选择DC/DC电源稳压电路。DC/DC是开关型稳压电路,它的优点是电路结构简单,对电源的高频干扰有较强的抑制作用、效率高,输入电压的范围宽,输出电压,电流的纹波值较小。DC/DC电源稳压电路原理图如图3.4所示:图2.4DC-DC稳压电路原理图整个系统中只有摄像头采用9V电压,因为自己设计的可调的电源稳压电路使用的元器件比较多,在设计PCB电路板的时候会占用很大的空间,所以我们使用了比较简单的办法,直接用DC-DC为摄像头供电,电路图和2.4相同,只是采用的是0509的型号。输入电压相同,输出电压不同而已。舵机的工作电压为4-6V,在舵机稳定工作的前提下,电压越高舵机的响应速度越高。因此我们设计了6V的工作电压,并保留了电池电压的接口。6V的电压采用TPS7350芯片,在接地端串联两个二极管,使端电压抬高1V。电路图不再重复。摄像头在选择摄像头时,我们对目前可选的各种摄像头进行了比较和实验。目前市面上常见的摄像头主要有CMOS和CCD两种,上届比赛我们采用的是CCD摄像头。CCD摄像头具有对比度高、动态特性好的优点,但需要工作在12V电压下,对于整个系统来说过于耗电,且图像稳定性不高;CMOS摄像头体积小,耗电量小,图像稳定性较高。因此,经过实验论证之后我们决定采用CMOS摄像头。对于CMOS摄像头又分数字和模拟两种。在华北区预赛中,我们看到有不少队采用了数字摄像头的方案,本着严谨的态度,我们在预赛之后选用了OV7620进行实验,对数字摄像头的可行性进行论证。实验之后,得出结论:数字摄像头OV7620可以直接输出8路数字图像信号,使主板硬件电路的简化成为可能,且能够达到60帧/S的帧速率,但需要对其内部寄存器进行适当设置,且受环境影响较大,适应性较差。因此,最终我们采用了CMOS模拟图像传感器方案。最终采用的SS2000A-2/B-2摄像头具体参数如下:摄像头参数:320线;照度:0.5LUX0.01LUX;输出制式:PAL制式标准视频信号;镜头及视角:3.6mm92°;供电电压/消耗功率:9V20mA;摄像头采集模块我们使用了LM1881芯片对黑白全电视信号进行视频同步分离,得到行同步、场同步信号。由LM1881及其外围电路构成的摄像头采样电路如图2.5所示。摄像头视频信号端接LM1881的视频信号输入端,同时也接入S12的一路AD转换端口(选用AD0)。LM1881的行同步信号端(引脚1)接入外部中断引脚(IRQ),同时将LM1881的场同步信号和奇-偶场同步信号输入到ECT模块中(选用PT1,PT2),这样,既可以采用查询方式获取奇偶场信号跳变,又可以采用脉冲捕捉方式获取电平变化。通过这样的接线,为软件开发提供了多种选择的机会,使程序更加灵活。图2.5视频同步分离电路其中,引脚2为视频信号输入端,引脚1为行同步信号输出端。引脚3为场同步信号输出端,当摄像头信号的场同步脉冲到来时,该端将变为低电平,一般维持230us,然后重新变回高电平。引脚7为奇-偶场同步信号输出端,当摄像头信号处于奇场时,该端为高电平,当处于偶场时,为低电平。事实上,不仅可以用场同步信号作为换场的标志,也可以用奇-偶场间的交替作为换场的标志。电机驱动电路第一代驱动电路采用一片组委会提供的MC33886驱动电机。33886作为一个单片电路H桥,是理想的功率分流直流马达和双向推力电磁铁控制器。它的集成电路包含内部逻辑控制,电荷泵,门控驱动,及低读选通(on)金属-氧化物半导体场效应晶体管输出电路。33886能够控制连续感应直流负载上升到5.0安培,输出负载脉宽调制(PWM-ed)的频率可达10千赫一个故障状态输出可以报告欠压,短路,过热的情况。两路独立输入控制两个半桥的推拉输出电路的输出,两个无效输入使H-桥产生三态输出(呈现高阻抗)。33886制定的参数范围是-40°C≤TA≤125°C特点•与MC33186DH1类似的增强特性•5.0v至40v连续运转•120mΩRDS(ON)H桥MOSFETs•TTL/CMOS兼容输入•PWM的频率可达10千赫•通过内部常定时关闭对PWM有源电流限制(依靠降低温度的阈值)•输出短路保护•欠压关闭•故障状况报告33886简化内部结构图如图2.6所示:图2.6MC33886芯片内部封装图芯片的封装如图2.7所示:图2.7MC33886芯片外部引脚的封装图各个引脚的功能如表2.8所示:表2.8MC33886引脚对应功能列表终端终端名称正式名称定义1AGND模拟接地低电流模拟信号接地2FSH桥故障状态故障状态场效应管低电平有效,要求上拉电阻上升到5V3IN1逻辑输入控制1实际逻辑输入控制的1口4,5,16V+电源供电正电源连接6,7OUT1H桥输出1H桥输出18,20DNC静止连接在应用中不连接或者接地9-12PGND电源接地装置电流高功率接地13D2无效2输入低电位有效,用于使两个H桥输出同时三态无效。当D2为逻辑低,输出都是三态14,15OUT2H桥输出2H桥输出217CCP电荷泵电容器外部充电电容器连接内部电荷泵电容器18D1无效1输入低电位有效,用于使两个H桥输出同时三态无效。当D1为逻辑低,输出都是三态19IN2逻辑输入控制2实际逻辑输入控制的2口在调速过程中发现,芯片内通过电流太大,MC33886发热量很大,导致MC33886的FS引脚置位,从而使其不工作,反向制动后这种情况更为严重。第二代驱动电路改用两片MC33886并联,使用两片MC33886将堵转时通过电流的极限值提升了,这需要在设计PCB板时采用合理的布线方案,以提高整个驱动系统的可靠性,在设计PCB时还要为MC33886添加散热盘,降低其工作时的温度;为增强驱动能力,我们设计了第三代驱动电路。第三代电机驱动板为一个由分立元件制作的直流电动机可逆双极型桥式驱动器,其功率元件由四支N沟道功率MOSFET管组成,额定工作电流可以轻易达到70A以上,相对与MC33886能提供的最大6A由功率MOSFET管搭建的驱动电路原理如图2.8所示:图2.8由MOSFET管构成的H型PWM变换器电路直流电机脉宽调速通过改变控制电压的脉冲宽度来改变加在直流电机上的平均电枢电压的大小,从而改变直流电机的转速。图3.13所示为可逆的PWM变换器主电路的H型结构形式。图中,4个MOSFET管的基极驱动电压分为两组,其中Q2L和Q1H为一组,当Q2L接收PWM信号导通时,Q1H常开;而Q2H和Q1L截止。这时,电机两端得到电压而旋转,而且占空比越大,转速越高。由于直流电机是一个感性负载,当MOSFET关断时,电机中的电流不能立即降到零,所以必须给这个电流提供一条释放通路,否则将产生高压破坏器件。处理这种情况的通常方法是在MOSFET管旁边并联一个二极管,使电流流过二极管,最后通过欧姆耗散的方式在二极管中消失。对于大电流,耗散是重要的排放方法。这里必须使用高速二极管。电机反转时道理相同。TD340的模拟输入控制电路如图2.9所示。图2.9TD340的模拟输入控制电路TD340驱动器芯片是ST微电子公司推出的一种用于直流电机的控制器件,TD340芯片是N沟道功率MOS管驱动器,适合于直流电机控制。图2.10为TD340的输入电压与输出PWM间的特性曲线。该器件内集成有可驱动N沟道高边功率MOS管的电荷泵和内部PWM发生器,可进行速度和方向控制而且功耗很低,同时具有过压(>20V)、欠压(<6.2V)保护功能,以及反向电源有源保护功能。TD340内含可调的频率开关(0~25kHz)及待机模式,且集成有看门狗和复位电路。除此之外,TD340芯片还具有H桥直流电机部分和微控制器之间的必要接口。直流电机的速度和方向可由外界输入给TD340的信号来控制。其中速度由PWM来控制,当然,也可以接受外部的PWM信号。当TD340的CF端通过电容接地时,0~5V的模拟输入即可产生PWM输出。实际上,当CF端直接接地时,输入TD340的数字信号就可直接产生PWM信号。图2.10TD340的电压-占空比特性曲线本文所设计的直流电机调速系统框图如图2.11所示。该系统由信号输入电路、TD340和H桥电路组成。TD340用于构成PWM发生器,功率放大电路是由4个MOSFET管组成的H桥电路。图2.11直流电机PWM调速系统框图图2.12为本系统中直流电机PWM调速系统的电路原理图,图中的MOSFET管采用STP100NE04L。STP100NE04L的优点是开关速度快,通路电阻低和电压门信号低,适合于大电流和低电压运行。当加上一个足够的门信号电压时,功率MOSFET的通路电阻小于常规二极管;而在没有门信号电压的情况下,它具有常规二极管的反向特性。开关K用于控制直流电机M的正反转。开关向上时,电机正转;开关向下时,电机反转。可调电阻R1用于调节TD340的模拟电压输入值,进而输出可调PWM信号,同时给MOSFET的门极施加开关驱动信号并通过调节占空比的大小来调节直流电机M的转速。电阻R1~R4用于控制MOS门的升降时间,也有利于避免门电压的振荡,门电压的振荡通常是与门电容处的连接线的平行电感所引起的。R1~R4的值通常为10~100Ω。电容C6用于存储能量并对通过电桥的电压进行滤波。在电压上升和下降期间,为了保证系统的可靠性,可在两个低端MOS管的门极各接一个下拉电阻以确保电桥保持关断,但高端MOS管不能接下拉电阻,因为电荷泵不能为其提供必要的电流。图2.12直流电机PWM调速系统原理图经试验证明,由TD340和H桥构成的直流电机调速系统具有元件需求少、所占空间小,装配成本低等优点。此电路可靠性高、控制方便,具有较高的实用价值。速度传感器由于我们在测试过程中发现智能车在实际速度控制中对反应车速的控制信号波形要求不是太高,因此在满足比赛要求的基础上尽量简化电路,使用自制的光电编码器来测速。我们使用线切割在直径为30mm的圆盘周围加工出20个细缝,使用红外光电对射管作为采集码盘脉冲可鉴向的传感器,在实际测试中得到了较好的效果。速度传感器实物图如图2.7所示:图2.7测速安装方式加速度传感器由于决赛的赛道增加了坡道,而赛车在通过坡道时由于车体上仰,摄像头有一定时间无法扫描到赛道,这段时间内很难对舵机做出正确的控制,因此在高速通过坡道时很有可能会出现跌落坡道的危险;同时,如果通过坡道速度过快,赛车会飞离赛道,当赛车再次回到赛道时产生的剧烈震动会对赛车状态产生极大影响。在第四届的比赛规则中又增加了窄赛道和0.5cm的图2.8模型小车坐标系示意图为了准确识别坡道和窄赛道,我们采用了加速度传感器MMA7620Q。图2.9加速度传感器电路MMA7620芯片能够以模拟信号方式输出X、Y、Z三个方向上的加速度,可通过拨码开关选择合适的量程。在赛车通过坡道和窄赛道时,会在Z方向上产生一个比较明显的加速度信号,通过检测这个信号就可以比较准确地识别赛道,从而在通过时适当减速,确保赛车能够安全平稳地通过。去抖动电路理想开关在外部敞励作用下瞬时发生状态改变,导通电阻为零,当然,这种开关在实际应用中是找不到的。实际开关都有一定大小的电阻,通常称之为接触电阻,阻值随时间、开关次数的增加而变大。新的开关,其接触电阻范用通常为:50毫欧~100毫欧,具体阻值大小与开关的触点材料、流过电流大小、环境条件及使用场合都有关系一开关改变开、合状态时,都要经历几个不稳定周期,即“接触抖动”才能进入稳态。在开关闭合瞬间会产生比稳态时高出2-9倍的浪涌电流,抖动现象在开关的断开和闭合过程中都会出现,产生的电弧会导致接触磨损,增大接触电阻,降低可靠性。在按下单片机复位开关时,也会发生这种情况。因此为复位开关加上一个去抖动电路显得很有必要。在经过反复比较之后,我们选用了MAXIM公司生产的MAX6816芯片,如图2.10所示;图2.10去抖动电路MAX6816是一个CMOS开关去抖芯片,直接与SPST开关相连,输入端内部集成了63k上拉电阻,保证开关断开时提供逻辑高电平输出信号,节省了PCB板面积。闭合开关将使输出端产生逻辑低电平,直到输入端稳定40ms以上的时间后,OUT端大的状态才改变,消除了开关抖动的影响。由于开关负载是内部一个63kW的阻性负载,保证了开关使用寿命。而且,有研究结果表明,因ESD(静电释放)引起的电子器件或系统失效占总失效的比率大约为10%-30%。物体产生静电的形式多种多样,比如,两个物体相互摩擦会产生静电,即通常的摩擦生电。我们所用的赛车在比赛过程中会因为轮胎和KT板的摩擦产生很多的静电。避免ESD损坏必须考虑环境因素,例如湿度,湿度大可以减少ESD现象,但不能完全杜绝。如果要从根本上解决问题,必须在电路中采用某种形式的ESD保护措施,以防止带静电的物体直接或间接碰到系统I/O口线。MAX6816允许的输入信号电压范围高达±25V,同时具有±15KV的ESD保护能力。它提供的ESD保护在各种状态都发挥作用,无论是正常工作期间,还是上电,掉电过程。采用这种把ESD保护和开关去抖动功能集成一体的器件,能够大大减小电路板的面积,减少元件数量,从而提高系统的可靠性,改善系统性能。
图像采集CCD摄像头和CMOS摄像头摄象头的作用是将通过镜头聚焦于像平面的光线生成图像,本小节将主要讨论CCD(change-coupleddevice)和CMOS(complementarymetal-oxidesemiconductor)两种重要的转感器技术,两者的主要区别是从芯片中读出数据的方式即读出结构不同。CCD传感器:介绍CCD传感器为便于理解须从线阵式摄象机这种简单结构开始。此CCD传感器由一行光线敏感的光电探测器组成,光电探测器一般为光栅晶体管或光电二极管。我们的讨论不涉及光电探测器所包含的物理方面的问题,我们仅把光电探测器看成是能将光子转换为电子并将电子转为电流的设备。每种光电探测器都有最多可以贮存电子在数量的限制。常取决于光电探测器的大小。暴光时光点探测器累积电荷,通过转移门电路,电荷被移至串行读出寄存器从而读出。每个光电探测器对应一个读出寄存器,读出过程是将电荷转移到电荷转换单元,转换单元将电荷转换为电压,并将电压放大。转移门电路及串行读出电路是电子耦合设备。每个CCD最多由4个门组成,这些门在一定方向上传输电荷。电荷转换为电压并放大后,就可以转换为模拟或者数字视频信号。对于数字视频信号,是由模拟电压通过ADC转换为数字电压的。线阵传感器只能生成维数为1×n的图像,在实际中用途有限。因此常通过多行组合成m×n维图象。为得到有效图像,线阵传感器必须作相对于物体的运动,平板扫描仪即是利用此种原理。使用线阵传感器采集图像时,传感器必须与被测物体平面平行并与运动方向垂直以保证得到矩形像素。同时根据线阵传感器的分辨率,线采集必须与摄象机,被测物体间相对速度匹配以得到方形图像,假设运动速度是恒定的,这样可以保证所有像素采集到的图像具有一致性。面阵式传感器,与线阵所不同的是,面阵式传感器转换完成后的电荷是按行的顺序转移到串行读出电路寄存器,然后与线阵传感器的方式一样转换为视频信号。在读出过程中,光电传感器还在曝光仍然有电荷在积累。由于上面的像素要经过下面的像素移位移出,因此像素积累的全部场景信息就会发生拖影现象。为了避免拖影现象,必须加上闪光灯或者机械快门,这是全帧转移性面阵传感器的最大缺点。为了避免全帧转移型传感器的拖影问题,全帧转移型传感器加上另外的传感器用于储存,在这个传感器上覆盖有金属光屏蔽层,构成帧转移型面阵传感器。对于这种类型传感器,图像产生于光敏传感器,然后转移至有光屏蔽的存储阵列,在空闲时将图像对应的电压数值从存储阵列读出。CMOS传感器:CMOS传感器通常采用光电二极管作为光电传感器,与CCD传感器不同,光电二极管中的电荷不是顺序的转移到读出寄存器,CMOS传感器的每一行都可以通过行和列选择电路直接选择读出。在这方面,CMOS传感器可作为一个RAM来使用。CMOS传感器的随机读取特性使其容易实现图像的矩形感兴趣区域读出的AOI(AreaOfInterest)方式。视频信号传输格式上文已经有所提及,视频信号分模拟和数字信号两种,区别在于摄像头内部是否存在ADC转换芯片并进行了AD转换。输出模拟视频信号(AnalogVideoSignals)的模拟式摄像头内部不进行数模转换而直接输出信号,数字式摄像头恰是内部存在ADC转换而输出数字视频信号(DigitalVideoSignals)。下面分述两种信号特点。模拟视频信号(AnalogVideoSignals):模拟视频标准制定于20世纪40年代初始。由于该标准应用时间长,制作模拟摄像机的器件相对便宜,因此许多摄像机还是采用模拟信号进行信号传输。尽管对于电视机有多种模拟视频标准,但对于机器用视觉来说,有4种是比较重要的。即是:EIA-170和CCIR(此两为黑白视频标准)以及PAL和NTSC制式(此两为彩色视频标准)。这几种标准的主要区别在于EIA-170制式和NTSC制式帧率为30Hz,每幅图像有525行(Line),而CCIR制式和PAL制式帧率为25Hz,每幅图像有625行。在此4个标准中,每行的传输时间基本相同。在525和625行中,有40或50行有名无实,被用作同步信号来表示新的一帧的开始。EIA-170和NTSC每行中的10.9us以及CCIR和PAL制式中每行的12us也被用作同步信号。因此EIA-170和NTSC制式的图像大小为640×480,而CCIR和PAL制式图像大小为768×576。从以上特征可以看出,每个像素的采样时间大约为82ns和68ns。一幅图像是以两场隔行传输的,对于EIA-170第一场包括所有偶数行,第二场包括所有奇数行。对于CCIR顺序先是奇数行然后是偶数行。每行都由含有水平同步信息的水平消隐间隔和包含实际图像信号的行有效间隔组成。水平消隐间隔由消隐前肩,水平同步脉冲以及消隐后肩组成。消隐前肩视频信号被置为消隐电平,水平同步脉冲时视频信号被置为同步电平。消隐后肩视频信号又被置为消隐电平。对于CCIR消隐前肩和消隐后肩为1.5us和5.8us。消隐前肩的作用是使老式的电视机的视频信号稳定下来,以避免行间串扰。水平同步脉冲用于表示每行有效信号的开始。消隐后肩的作用是使早期的电视定时器中较慢的电子器件有时间相应同步脉冲并为有效信号作好准备,在有效行周期,信号在黑白电平之间变化。对于CCIR黑电平为0%而对于EIA-170为7.5%。每场都是以几个垂直同步脉冲序列开始的即存在消隐行,EIA-170存在20个消隐行,CCIR为25行。数字视频信号(DigitalVideoSingals):模拟视频的同步信息是包含在信号中的,与其相反,数字视频的同步信息是分离的(相当与一个模拟视频摄像头外加一个视频信号分离芯片),同样,表示一行持续时间的行有效信号取代了水平同步信号。对于数字摄像机,图像像素的宽高比与摄像机的宽高比相同,而且不会产生列抖动。为了生成数字视频信号,摄像机会将传感器输出的电压进行模数转换,然后将产生的数值串行或并行的的传输到图像采集卡。图像采集算法摄像头采用隔行扫描模式,625行数据分为两场传输,每场数据前21行为场消隐区,为无效数据,第22行至第307行为有效数据,第307行之后为场消隐区。其中这285行有效数据的数据量远远超出货单片机的运算能力,并且经过试验40到60行数据已经可以满足要求,最终每隔5行采集一行数据,实际采样为57行,每行43个点。为了完成采集工作,我们使用了2个输入捕捉端口和一个AD采集端口,一个输入捕捉用于识别场同步信号,另一个用于识别行同步信号,AD采集端口用于读取摄像头的灰度电平。具体流程如图3.1:初始化初始化IC0判断IC0无场上升沿有开启ic0等待无行上升沿有开启ATDAD转换未完等待存储结果至数组行下降无行下降沿有关AD清L关IC0和1清计数器行第287到达未到最后采集行行counter++等待不符合条件行符合图3.1图像采集流程图图像处理算法我们需要的数据只有黑色和白色两种,而图像采集到以后是以8位灰度表示的,既不直观又增大了程序的运算量,所以我们要对采集到的数据进行阈值分割。采集到的原始图像如图3.2所示:图3.2原始图像由于摄像头是与赛道呈一定角度采集图像,远处的图像对比度小而近处的图像对比度大,反应到图像上就是上半部分的黑线与赛道灰度相差很小,下半部分相对较大,所以在进行阈值分割的时候需要选取不同阈值进行分割。阈值分割有动态阈值分割和静态阈值分割两种方法。动态阈值是指将整行或整幅数据经过运算得到一个平均值,作为阈值分割的分割点。静态阈值是指通过实验测得一个符合阈值分割的值,作为分割点。动态阈值与静态阈值相比有光线适应性强的优势,但同时也增大了程序的运算量,降低了系统的实时性。经过考虑,我们选取了带有自动白平衡功能的CMOS摄像头,既提高了对光线的适应性又降低了程序运算量。阈值分割程序如下:voidzero(){//阈值分割intm,n;for(m=0;m<17;m++){//距离小车较远的17行for(n=0;n<43;n++){if((result[m][n]<42)){//对比度较低处阈值分割点result[m][n]=0x01;}elseresult[m][n]=0x00;}}for(m=170;m<57;m++){距离小车较近的40行for(n=0;n<43;n++){if(result[m][n]<35){//对比度较高处阈值分割点result[m][n]=0x01;}elseresult[m][n]=0x00;}}}阈值分割结果如图3.3:图3.3阈值分割后的图像根生长法黑线轨迹提取阈值分割虽然可以清晰的分辨出赛道轨迹,但是并不能有效的去除干扰,赛道上的灰尘、反光、凹凸等因素引起的干扰依然会被保留下来,做整幅图像滤波又会耗费大量的资源和时间。经过试验我们发现,根据赛道轨迹连续性去除干扰可以达到高效、准确的提取赛道有效信息的目的。我们采用根生长法来提取赛道轨迹信息。根生长法是指以最靠近小车部分的图像(这部分图像距离摄像头的距离最近,对比度最高,也最可靠)为依据逐行向上查找,以最靠近上一行的黑点作为轨迹继续查找,直到有超过两行没有黑点时停止查找。虽然最靠近小车的一行是整幅图像中最可靠的部分,但是还是有可能出现干扰信息,所以我们存储了所有出现在最后一行的黑点,对每一个黑点进行根生长查找,取黑线长度最长的一条作为可靠信息,这样进一步提高了系统的可靠性。同时,我们也考虑到了最靠近小车的一行没有黑点的情况,这种情况在经过弯道的时候非常普遍。当最靠近小车的一行没有黑点时,将继续向上搜索10行,直到有一行出现黑点为止,如果仍然没有黑点,则采用上一场的数据进行控制,保证万无一失。黑线轨迹提取程序如下:voidfind_lastline_point(intk){//搜索到第k行intcnt,n,p,sum,bk,sum_point;//cnt黑点计数器,bk断点ucharm,mid;intleft_p,right_p;p=0;sum=0;bk=0;cnt=0;x_line=0;left_p=bottom_cp.b-20;//左侧搜索范围限幅right_p=bottom_cp.b+20;//右侧搜索范围限幅if(left_p<0)left_p=0;//数组边界检测if(right_p>wide)right_p=wide;for(m=height-1;m>k;m--){sum_point=0;for(n=left_p;n<right_p;n++){if(result[m][n]==0x01){sum_point++;cnt++;sum+=n;}else{if(cnt>0&&cnt<7){mid=(uchar)(sum/cnt);result[m][mid]=0x02;lastline_point[bk].a=m;lastline_point[bk].b=mid;save_bl[bk][m]=mid;//记录黑线的坐标bk++;}cnt=0;sum=0;}}if(cnt>0&&cnt<7){mid=(uchar)(sum/cnt);result[m][mid]=0x02;lastline_point[bk].a=m;lastline_point[bk].b=mid;bk++;cnt=0;sum=0;}if(sum_point>15){x_line=m;continue;}if(bk!=0){point_num=bk;break;}}}
道路类型识别及决策与控制常见的有几种路况,比如直道、弯道、蛇形弯道(S形弯道)、圆环形弯道等。把这些路况识别出来将有利于我们在不同的道路情况下决策循迹车的转向以及速度情况。这一步是十分有必要的,因为路径识别的结果是直接和控制相关联的。错误的识别会直接导致错误的控制,最终导致循迹车不能完成指定任务。直道识别直道是一种看似简单但识别困难的道路类型,在车身正对赛道的时候采集到的图像为一条直线,此时只要判断每一行黑线对应的横坐标即可识别出此赛道类型,但是此方法不具有通用性,只要车身与赛道稍有角度就无法识别,所以我们更改了识别方式,尝试采用直线拟合来识别直线。图4.1直道图4.2倾斜的直道我们利用记录着每行黑线中心位置的数组来完成基于直线拟合的识别。利用数组的首个元素和最末一个元素来作直线拟合。计算出两点间连线的斜率,采用点斜式写出直线拟合公式。然后我们要作的工作就是记录下每行黑线中心到所拟合的垂直距离,并记录下其中的最值。这两个最值是识别赛道的重要参数。计算公式如下:;(4.1);(4.2)(4.3)其中:表示数组首末两点间连线斜率;表示图像中的倾斜角度;表示拟合的直线公式;表示某行黑线中心到该拟合直线的横向距离;表示某行黑线中心到该拟合直线的垂直距离。经过测试,直线拟合得到的直线斜率和拟合偏差可以大致表征路径的趋势和类型,但是识别精度低,几种赛道类型之间没有明显界限,混淆严重,经常出现识别错误的情况,再加之单片机浮点运算能力有限,计算直线拟合的时间严重增加了系统滞后量,所以我们放弃了这种做法。最终我简化了算法,对黑线横坐标每隔4行做差,经过一次运算后得到的数值表征了黑线的斜率,再进行一次运算后得到的数值表征的是斜率变化率,当斜率变化率基本为0时表示黑线为直线,同时又以黑线最前端相对于车身中央的偏差和黑线的长度作为参考依据,当黑线偏差小10个像素,长度超过30个像素时确定赛道类型为直道。这种方法既减少了运算量又提高识别可靠性,即使车身与赛道呈一定角度依然可以识别直道。计算斜率的程序如下:voidcal_slope(){//计算斜率intm,cnt;cnt=0;if(bottom_cp.a-top_cp.a>4){for(m=bottom_cp.a;m>top_cp.a+4;m--){if((save_bl[black_line_sn][m]!=0)&&(save_bl[black_line_sn][m-4]!=0)){save_slope[cnt]=save_bl[black_line_sn][m-4]-save_bl[black_line_sn][m];cnt++;}}}slope_cnt=cnt;}弯道识别弯道识别相对来说比较简单,但是种类较多,其中包括普通弯道、内弯道、外弯道。普通弯道:黑线位于车身中心,图像特征表现为下半部黑线相对中心偏差较小,上半部靠近图像边缘,黑线总长度较长。如图4.3所示:图4.3弯道内弯道:黑线距车身中心较远,图像特征表现为黑线从左至右或从右至左横跨图片,图片的最后几行没有黑线。如图4.4所示:图4.4内侧弯道外弯道:车身处于弯道之外,图像特征表现为黑线在图片的左下角或右下角,黑线长度较短。如图4.5所示:图4.5外侧弯道另外,当黑线从图像上消失的时候也可以当成是弯道。以上几种赛道类型都具有一个共同的特征,那就是黑线最前端的横坐标距离中心较远,只需要判断黑线做前端横坐标距离中心的偏差,再辅以黑线最前端的纵坐标和黑线最底端的横坐标,就可以区分出以上几种赛道类型。程序如下:if(none_straight_flag==1){//判断弯道if(((top_cp.b-wide/2>15)||(bottom_cp.a-top_cp.a<10)){//判断最前端黑线横坐标黑线长度road_type=2;//判断为弯道PORTB=0XC3;//小灯指示判断结果gotorecongnize_over;//跳转到识识别程序末尾}}小S道识别小S道具有明显特征,无论是否正对小S道,黑线都会有向左和向右的突起,只要识别出一个横坐标的极大值和一个极小值就可以判断为小S道。在实际测试当中,图像并不能达到如此理想的状态,经常出现干扰信息,再加上图片分辨率较低,黑线并不是十分平滑,导致程序误识别极大值和极小值,为了增强小车的稳定性,最后设定之别极大值和极小值的数量总和超过3个时为小s道路,在实际测试当中取得了较好效果。图4.6小S型弯道程序如下:for(m=1;m<slope_cnt;m++){//判断是否有回弯,最后一个灯亮if(save_slope[m]!=0){ cnt=0;temp2=temp1;temp1=save_slope[m];//当黑线一阶导数相邻点乘积为负时代表有极大值if((temp2!=0)&&(temp1*temp2<0))swan++;}else{cnt++;//if(cnt>5)temp1=0;}if(swan>3){//判断极大值和极小值数量和road_type=4;PORTB=0X7F;gotorecongnize_over;}}大S道识别大S道无论在长度上还是在宽度上都超过了摄像头的视野范围,所以在图像识别上只能认为是弯道,图像不再列举。方向决策与控制转向控制决策的主要依据就在于要使得循迹车以最短路径通过指定道路。所以我们在准确识别路况的基础上采用建立规则变PID参数,使其达到理想的循迹效果。PID算法数字PID控制系统:(4.4)式中:称为比例项;称为积分项;称为微分项。我们常用的PID控制方式,P控制算式:;PI控制:;PD控制:;PID控制:;PID算法存在两种类型。位置型控制算式:(4.5)增量型控制算式:(4.6)PID算法的程序流程,如图4.7所示:图4.7PID算法流程由于小车的转向的控制不需要根据上次的位置做出决策,所以位置式PID更合适,PID的三个环节中,积分环节会减缓动作执行,而转向控制是越迅速越好,所以最终我们使用位置式PD算法作为控制算法,具体运算公式如下:e2=e1;e1=(rudder_cp.b-21);pwm_rudder=centre-(rudder_kp*e1+rudder_kd*(e1-e2));其中e1为本次偏差,e2为上次偏差,rudder_kp为p参数大小,rudder_kd为d参数大小,centre为舵机中心值标定。其中rudder_kp参数由摄像头横向最大分辨率和舵机最大转角决定,用舵机最大转角PWM控制信号与中心值PWM的差,除以横向最大分辨率的一半,得到的就是rudder_kp,rudder_kd则在实际测试时由0慢慢调大,由于rudder_kd参数只是帮助小车加速转弯,只要稍加一点起到辅助作用即可,如果过大则会影响小车正常行驶。速度决策与控制速度采集的传感器采用对射式的光电管以及光栅码盘,当一个栅到来时光电管产生低电平,栅过去时产生高电平。根据循迹车轮转速的不同,形成频率不同的方波波形。利用输入捕捉口来捕捉相邻两栅过去时的上升沿信号,在第一个上升沿到来时,利用输入捕捉模块捕捉当时自由运行计数器TCNT的值,在第二个上升沿到来时保存第二次自由运行计数器TCNT的值,然后根据这两次的数之差计算出两个上升沿之间走过的单片机周期数,经过换算可以得到两个脉冲之间的时间,然后根据轮子转过的弧长计算出小车的速度。由于MC9S12DG128单片机具有输入缓存功能,所以可以同时记录两次边沿跳变时自由运行计数器TCNT的值,所以可以无中断测速,随时可读,使程序时序更加清晰。具体测速程序如下:voidcal_speed(){staticunsignedinttemp_tc,temp_tch;temp_tc=TC2;//这次脉冲的值temp_tch=TC2H;//读取上次脉冲的值if((temp_tc!=temp_tch))//避免在锁存的同时计算speed=(int)(61061/(temp_tc-temp_tch));//两齿之间是0.195cm,40M的时候是61061,32M是48848}速度控制采用传统的位置式PID控制,其PID程序如下:PartP=Kp1*e2;PartI=Ki*(PartI+e2);PartD=Kd*(e2-e1);Output=PartP+PartI+PartD;速度的给定值,根据不同的路径给定不同的速度,直道速度最大,小S道次之,弯道最小。
系统调试软件开发环境CodeWarrior是由Metrowerks公司提供的专门面向Freescale所有MCU与DSP嵌入式应用开发的软件工具。其中包括集成开发环境IDE、处理器专家、全芯片仿真、可视化参数显示工具、项目工程管理、C交叉编译器、汇编器、链接器以及调试器。赛车开发调试过程最常用的是集成开发环境IDE和调试器。5.1.1CodeWarriorIDE通过CodeWarriorIDE你可以选择C或C++语言进行编程,然后进行编译、链接和调试。通过BDM头,你可以把程序烧入单片机,还可以进行在线调试。CodeWarriorIDE使用方便且功能强大,是赛车开发调试必不可少的工具。要进行软件编程,必须先在CodeWarriorIDE中建立一个新的工程,然后才能输入代码,进行编译链接最终写入单片机中。打开CodeWarrior,然后单击“File—>New”,再根据向导提示输入相关信息,就能建立一个新的工程。CodeWarrior运行界面如图5.1所示。图5.1CodeWarriorIDE5.1.2调试器CodeWarriorIDE中的调试器不仅可以进行在线调试,还可以进行在线的仿真。在调试器中,我们可以看到定义的全局变量的变化和各个寄存器的当前值,还可以看到单片机内存中内容等。此外,还有许多其他的实用功能,在赛车的调试过程中使用很是方便有效。具体调试器界面如图5.2所示。图5.2CodeWarriorIDE调试器辅助调试工具在赛车的调试过程中,使用一些辅助工具也是很有必要的。5.2.1LED指示灯通过在单片机内程序来控制LED指示灯的亮灭来达到显示某种或传递某种信息的目的,从而了解单片机运行的状态,达到调试的目的。这是比较直观,且简易可行的方法。我们设置了8个LED灯,通过单片机PORTB口控制,如图5.3所示:图5.3调试小灯5.2.2拨码开关赛车调试过程中,可以在程序里面设置,通过拨码开关进行参数的选择,每写完一次程序,就可以进行不同参数的调试。要不每次测试都得重写一遍程序,比较麻烦。在比赛时同样可针赛道情况而设定不同的车速和参数,从而能取得更好的成绩。我们采用PORTA口做8位拨码开关的输入口。如图5.4所示。图5.4拨码开关5.2.3无线调试模块小车调试过程中,我们无法用BDM头进行参数和寄存器数值的读取。若通过串口利用无线发送便能使调试变的更加方便和透明。通过无线模块,我们可以实时的观看各种运行状态和数据。我们使用的是北京华容汇通讯WAP200B系列微功率无线数传模块,如下图所示。它有高抗干扰能力和低误码率、传输距离远;高可靠性,体积小、重量轻;智能数据控制,用户无需编制多余的程序就能在空中自动完成空中收/发转换,控制等操作等优点。图5.5无线串口5.2.4示波器在小车的开发调试过程中,难免要对各种波形的频率,周期等进行测量,示波器就是一个很好的工具。
结论本文主要介绍以CMOS摄像头为路径探测传感器的循迹车的图像采集与处理算法以及循迹车的控制算法,完成以下几方面的工作:(1)采用MC9S12DG128的输入捕捉IC模块中断以及ATD模块完成了图像的采集,然后对采集到的图像进行图像进行处理。(2)采用根生长法提取目标黑线,并在提取了目标黑线的基础上通过特征提取算法分辨道路类型来完成循迹车的路径识别。(3)在循迹车的控制方法上,采用变参数的PID控制算法,以便使循迹车以最短路径通过赛道。此外上述所做工作中还存在以下问题未能很好的解决:系统滞后严重,导致小车提速困难。图像分辨率较低,给道路类型识别和方向速度控制带来困难。控制算法参数调整不佳。
致谢在准备竞赛的过程中中,在场地、经费方面都得到了学校的大力支持,在此感谢一直支持和关注智能车比赛的学校的领导以及各位老师,特别要感谢自动化工程系马淑华老师对我们的悉心指导,感谢校长汪晋宽老师对我们的大力支持。同时也感谢比赛组委会能组织这样一项很有意义的比赛。同时要感谢我们一起努力工作的周浩,姚芳,蔡文舟,赵青鹤,王凯华等学长,还有翁宁龙,薛常亮,刘慧等组员的共同努力。本论文的构思、规划设计、撰写得到了马淑华老师的悉心指导,在论文设计时给予热心的指导与帮助,她广博的学术知识、敏锐的学术洞察力、认真的工作态度和严谨的治学作风、平易近人的为人风格给予我深刻的印象,使我受益匪浅。在此向马
参考文献[1]王威编著.HCS12微控制器原理及应用[M].北京:北京航空航天大学出版社,2007.[2]卓晴,黄开胜,邵贝贝著.学做智能车—挑战“飞思卡尔”杯[M].北京:北京航空航天大学出版社,2007.[3]夏良正,李久贤编著,数字图像处理(第二版)东南大学出版社2006.6[4]马淑华.计算机控制技术.北京邮电大学出版社.[5]卓晴.使用S12PWM输出控制舵机——舵机简介,S12PWM控制舵机[J].电子产品世界,2006,7.[6]邵贝贝.单片机嵌入式应用的在线开发方法[M].北京.清华大学出版社.2004.[7]何芝强.PID控制器参数整定方法及其应用研究[D].杭州:浙江大学,2005.[8]胡小锋,赵辉.VisualC++/MATLAB图像处理与识别实用案例精选[M].北京:人民邮电出版社,2006.[9]马颂德、张正友,计算机视觉—计算理论与算法基础,科学出版社,1998[10]李现勇.VisualC++串口通信技术与工程实践.北京:人民邮电出版社,2004.
附录附录AImprovingPIDControllerPerformanceOverviewProportionalintegralderivative(PID)controlisthemostcommonlyusedcontrolalgorithmintheindustrytoday.PIDcontrollerpopularitycanbeattributedtothecontroller’seffectivenessinawiderangeofoperationconditions,itsfunctionalsimplicity,andtheeasewithwhichengineerscanimplementitusingcurrentcomputertechnology.ThispapercoverssomeofthePIDdrawbacksandhowtoresolvethemwhileimprovingperformanceincurrentimplementationsthroughchangesinthealgorithm.IntroductionPIDcontrollershavesomedrawbacksthatlimittheireffectiveness.Tostartwith,theyworkbestwithsystemsthathaveonlyoneinputandoutput(singleinput,singleoutput#SISO).Withthesesystems,youhaveonlyonevariabletocontrolandonlyoneactuationtoapply.Youalsocancontrolsystemsthathavemoreinputs/outputswithPIDcontrollersifyouapplydecouplingtechniquestothedifferentvariablessothefinaloverallcontrolinvolvesanumberofSISOPIDcontrollers.Althoughpossible,thistechniqueisnoteasilyimplementedbecauseitdependsheavilyonhowtightthecorrelationbetweenthevariablesis.AnotherchallengeforPIDcontrollers(andforeverycontrolalgorithm)isthattheplantyouneedtocontrolmightnotbehaveinalinearfashion.Inotherwords,theoutputforagiveninputdoesnotexhibitalinearresponse.Someexamplesofnonlinearityaredeadzones,saturations,andhysteresis.Anotherchallengeisthatplantdynamicsmightalsochangeovertime.Thiscanhappenduetochangesontheplantloads,normalwearandtear,ormechanicaleffectivenessinmechanicalelements.Tocompensateforplantbehaviorchangingovertime,youneedexpertuserstorecalibrateyourPIDgains,whichdrivesupcostsforbothlaboranddowntime.Lastly,whentuningPIDcontrollers,youmightnotachieveoptimaloverallsystemperformancebecause
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年城市污水处理厂智能化改造与节能降耗策略分析报告
- 2023年药学类之药学(士)试题及答案二
- 2024 建安杯信息通信建设行业安全竞赛题库(试题及答案 1 -331 题)
- 大数据隐私保护在医疗影像数据合规应用中的实践与挑战报告
- 2025年电商平台大数据驱动下的精准营销策略与效果评估报告
- 探索2025年语言培训行业课程国际化与教育信息化融合报告
- 2023年版湖北汽车驾驶员(高级)考试内部培训模拟题库含答案
- 2023新型冠状病毒感染病人择期手术的规范管理
- 2024劳动仲裁申请书(34篇)
- 2023年电大历届成本会计期末考试试题答案
- 配电房管理制度上墙
- DEEPSEEK了解及使用攻略高效使用技巧培训课件
- 玉盘二部合唱简谱
- 2024-2025学年云南省丽江地区宁蒗彝族自治县数学五年级第二学期期末考试试题含答案
- DB37T 3567-2019 连续配筋混凝土路面设计与施工技术指南
- 养老院火灾应急预案
- 设备固定资产管理思路及方案
- 陶瓷企业安全培训
- 法院答辩状范本
- 2024年中级注册安全工程师《安全生产法律法规》真题及答案
- “赤峰小米”谷子品种要求(DB15-T 1734-2019)
评论
0/150
提交评论