项目五任务6:压力闭环控制功能开发-学生手册_第1页
项目五任务6:压力闭环控制功能开发-学生手册_第2页
项目五任务6:压力闭环控制功能开发-学生手册_第3页
项目五任务6:压力闭环控制功能开发-学生手册_第4页
项目五任务6:压力闭环控制功能开发-学生手册_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

任务5.6压力闭环控制功能开发-学生手册【任务导入】在现代工业生产中,压力控制是保证产品质量和生产效率的关键因素之一。无论是化工、石油、还是制药行业,压力的精确控制都至关重要。然而,由于外部环境的变化和设备自身的非理想特性,压力控制系统常常面临各种挑战。你是一名自动化工程师,负责为一家大型化工厂开发一套压力闭环控制系统。应该如何设计一个能够精确、快速响应的压力传感器和执行器?其次,你需要开发一套控制算法,它能够根据传感器的反馈信号自动调整阀门的开度,以维持压力的稳定。SHAPE提示:此次任务我们将利用自动控制原理中的PID算法,通过C语言编写程序,通过BDM下载器来实现对底盘的压力闭环控制提示:此次任务我们将利用自动控制原理中的PID算法,通过C语言编写程序,通过BDM下载器来实现对底盘的压力闭环控制。

【学习目标】素质目标通过FOC原理的学习,激发学生对系统控制功能的研究兴趣;在任务验证过程中,培养学生精益求精,严谨认真的大国工匠精神;在实操过程中,锻炼学生解决实际问题的能力。知识目标能简单阐述FOC软件控制原理[K79];能用自己的语言描述PID控制器校正过程[K80];熟悉PID控制器的参数整定[K81];熟悉并能归纳总结出PID调试的一般步骤[K82]。能力目标能编写线控制动系统压力闭环控制代码[A72];能实现对PID参数修改,并调整制动压力图像的效果[A73]。【知识准备】一、FOC原理1.无刷电机概论无刷电机是一种现代电机技术,它使用电子换向器代替传统的碳刷和换向器,从而实现更高效、更可靠的电机驱动。在学会控制无刷电机的相关算法前,需要对无刷电机的结构有基本的认识,基本的航模无刷电机结构分为前盖,中盖,后盖,磁铁,硅钢片,漆包线、轴承和转轴组成,具体如REF_Ref170655352\h图5-6-1所示图5-6-SEQ图_5-6-\*ARABIC1无刷电机更加宏观上分,可以直接把电机分为定子部分和转子部分。定子是电机中的一个重要组成部分,它通常指的是电机中固定不动的部分。在不同类型的电机中,定子的作用和结构可能有所不同,但它们的基本功能是相同的:为电机提供磁场,与转子相互作用,从而实现能量的转换。转子是电机旋转的部分,它围绕定子旋转。转子可以由多种材料制成,包括永磁体、导电条或绕组。转子的主要作用是响应定子产生的磁场,通过电磁感应或磁力作用产生转矩,从而实现旋转。简单来说,定子就是有线圈绕组,固定不懂的部分,转子就是电机旋转的部分,用于输出电机的转动和扭矩。而进一步的,无刷电机可以分为内转子和外转子两种,如REF_Ref170655409\h图5-6-2所示。内转子是电机中的一种转子配置,其位置位于电机的中心位置,被定子包围。内转子可以由永磁材料制成,形成永磁同步电机(PMSM)的转子,或者由导电材料制成,形成感应电机的转子。外转子电机的转子位于电机的外部,而定子在内部。外转子电机通常具有较大的外径,因此在低速运行时可以提供较大的转矩。图5-6-SEQ图_5-6-\*ARABIC2内转子和外转子2.FOC软件控制原理(1)克拉克变换交替开关的MOS管可以实现电机的转动,而这些交替开关的MOS管是以极其快的速度在周期性进行的,把这些周期性的开启和关断过程联系起来,并且对其各个相进行单独观察,就可以得到三个相A、B、C的电流随时间变换的曲线,如REF_Ref170655595\h图5-6-3所示,他们之间存在120°的相位差。图5-6-SEQ图_5-6-\*ARABIC3闭环控制所谓克拉克变换,实际上就是降维解耦的过程,把难以辨明和控制的三相相位差120°电机波形降维为两维矢量。它的思路其实特别的简单,第一就是把三相随时间变换的,相位差为120°的电流波形抽象化为三个间隔120°的矢量。第二就是利用三角函数对矢量进行降维,如REF_Ref170655571\h图5-6-4所示。降维到两个坐标轴,从此复杂的三相变化问题就降解为了α-β坐标轴的坐标上的数值变化问题。图5-6-SEQ图_5-6-\*ARABIC4坐标转换(2)克拉克逆变换克拉克逆变换是将通过克拉克变换得到的两相正交坐标系中的电压或电流分量,转换回原始的三相坐标系中的电压或电流。对于电压分量ua,ub,uc和正交分量uα,uβ,逆变换公式如REF_Ref170655633\h图5-6-5所示:图5-6-SEQ图_5-6-\*ARABIC5逆变换公式这里,uα和uβ是通过克拉克变换得到的正交分量,它们是对称分量,即uα是零序分量,而uβ是负序分量。通过逆变换,我们可以得到原始的三相电压或电流。这种逆变换在电机控制和电力系统分析中非常有用,因为它允许我们从简化的模型中恢复原始的三相系统特性。(3)帕克变换由克拉克变换,实际上已经成功对电机的正弦驱动三相曲线进行降维度,使之变成了一个两轴坐标问题,并且得到其转换关系。但是只有它是不够的,我们还需要将这个理论和旋转电机对应起来,也就是建立电机旋转时的数学模型。学习帕克变换,需要知道能够使得电机旋转的Iα和Iβ电流输入规律,如果可以知道这个能够使得电机旋转的Iα和Iβ电流输入规律,我们就可以通过克拉克逆变换,把这个旋转情况下的Iα和Iβ逆变换为ia、ib、ic三相电流波形,从而就实现了用把ia、ib、ic降维后的Iα和Iβ实现对电机的控制,那么问题就没有原来我们想的直接控制ia、ib、ic来控制电机旋转来得复杂了,帕克变换就是能够帮助我们求得各种旋转情况下的Iα和Iβ。其实整个帕克变换的思路很简单,首先,我们把电机的定子线圈上固定一个Iα-Iβ坐标系,如REF_Ref170655691\h图5-6-6所示。这时候,在坐标系的右边放上一个转子,如REF_Ref170655691\h图5-6-6所示。如果此时转子被吸引且不动,那么在Iα-Iβ坐标系中就一定有一个Iα和Iβ值是能够对应转子现在的状态的。图5-6-SEQ图_5-6-\*ARABIC6坐标系但是,在实际应用中,转子是一直在转动的。因此,对应转子状态的Iα和Iβ值实际上在一直变化。因此,我们将两个坐标系合成之后得到新的坐标系,如所示。其中,Iq-Id坐标系随转子转动,D轴在此处设定为指向电机的N极,Iq-Id坐标系因转动而造成的与Iα-Iβ坐标系的差角θ被称之为电角度。在实际的FOC应用中,电角度是实时有编码器求出的,因此是已知的。Iq和Id可以合成一个矢量,加上电角度(旋转)的存在,因此可以看成一个旋转的是矢量。在通过Iq,Id和电角度求得Iα和Iβ后,我们就可以通过克拉克逆变换求得ia、ib、ic的波形,这正是FOC的基本过程。通常在简单的FOC应用中,我们只需要控制Iq的电流大小,而把Id设置为0。此时,Iq的大小间接就决定了定子三相电流的大小,进而决定了定子产生磁场的强度。进一步我们可以说,它决定了电机产生的力矩大小。而Iq是旋转的矢量,同时又会间接影响磁场的强度,这正是FOC的名称磁场定向控制的由来。二、PID控制算法详解1.PID控制器校正任何闭环控制系统的首要任务是要稳(稳定)、快(快速)、准(准确)的响应命令。PID调整的主要工作就是如何实现这一任务。增大比例系数P将加快系统的响应,它的作用于输出值较快,但不能很好稳定在一个理想的数值,不良的结果是虽较能有效的克服扰动的影响,但有余差出现,过大的比例系数会使系统有比较大的超调,并产生振荡,使稳定性变坏。积分能在比例的基础上消除余差,它能对稳定后有累积误差的系统进行误差修整,减小稳态误差。微分具有超前作用,对于具有容量滞后的控制通道,引入微分参与控制,在微分项设置得当的情况下,对于提高系统的动态性能指标,有着显著效果,它可以使系统超调量减小,稳定性增加,动态误差减小。(綜上所述,P-比例控制系统的响应快速性,快速作用于输出,好比“现在”(现在就起作用,快),|一积分控制系统的准确性,消除过去的累积误差,好比"过去”(清除过去积怨,回到准确轨道),D一微分控制系统的稳定性,具有超前控制作用,好比“未来”(放眼未来,未雨绸婴,稳定才能发展)。当然这个结论也不可一概而论,只是想让初学者更加快速的理解PID的作用.在调整的时候,你所要做的任务就是在系统结构允许的情况下,在这三个参数之间权衡调整,达到最佳控制效果,实现稳快准的控制特点。比例控制可快速、及时、按比例调节偏差,提高控制灵敏度,但有静差,控制精度低。积分控制能消除偏差,提高控制精度、改善稳杰性能,但易引起震荡,造成超调。微分控制是一种超前控制,能调节系统速度、减小超调量、提高稳定性,但其时间常数过大会引入干扰、系统冲击大,过小则调节周期长、效果不显著。比例、积分、微分控制相互配合,合理选择PID调节器的参数,即比例系数Kp、积分时间常数Ti和微分时间常数Td,可迅速、准确、平稳的消除偏差,达到良好的控制效果。2.PID控制器的参数整定PID控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。PID控制器参数整定的方法很多,概括起来有两大类:(1)理论计算整定法它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。(2)工程整定方法它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于学握,在工程实际中被广泛采用。PID控制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。三种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制器参数,都需要在实际运行中进行最后调整与完善。现在一般采用的是临界比例法。利用该方法进行PID控制器参数的整定步骤如下:1)首先预选择一个足够短的采样周期让系统工作;2)仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡,记下这时的比例放大系数和临界振荡周期;(3)在一定的控制度下通过公式计算得到PID控制器的参数。PID调试一般原则1)在输出不振荡时,增大比例增益P。2)在输出不振荡时,减小积分时间常数T。3)在输出不振荡时,增大微分时间常数3.PID调试一般步骤(1)确定比例增益P确定比例增益P时,首先去掉PID的积分项和微分项,一般是令Ti=0、Td=0(具体见PID的参数设定说明),使PID为纯比例调节。输入设定为系统允许的最大值的60%~70%,由0逐渐加大比例增益P,直至系统出现振荡;再反过来,从此时的比例增益P逐渐减小,直至系统振荡消失,记录此时的比例增益P,设定PID的比例增益P为当前值的60%~70%。比例增益P调试完成。(2)确定积分时间常数Ti比例增益P确定后,设定一个较大的积分时间常数Ti的初值,然后逐渐减小T,直至系统出现振荡,之后在反过来,逐渐加大T,直至系统振荡消失。记录此时的T,设定PID的积分时间常数T为当前值的150%~180%。积分时间常数T调试完成。(3)确定微分时间常数Td微分时间常数Td一般不用设定,为0即可。若要设定,与确定P和Ti的方法相同,取不振荡时的30%。(4)系统空载、带载联调,再对PID参数进行微调,直至满足要求。变速积分的基本思想是,设法改变积分项的累加速度,使其与偏差大小相对应:偏差越大,积分越慢;反之则越快,有利于提高系统品质三、压力闭环控制代码解析1.导入部分#include是preprocessor的一条指令,负责把#include的文件中的内容全部copy到当前文件的#include所在的位置,也就是用该文件中的内容取代#include这条指令。#include"CommonTypes.h"#include"CAN0_Int_DataProcess.h"#include"TaskPeriodSet.h"#include"CAN0_TP_DataProcess.h"#include<mc9s12xep100.h>#include"CAN1_TP_DataProcess.h"#include"CAN2_TP_DataProcess.h"#include"Key_Button_Device.h"#include"ADC.h"#include"braking_control.h"2.增量式PID计算这段代码用于增量式PID控制器的函数,用于实现刹车控制。增量PID控制器是一种调整控制输出以减少设定值(期望值)和实际值(当前值)之间误差的算法。它通过增加或减少控制输出的增量来调整,而不是直接设置一个具体的控制值。这种方法在某些应用中可以减少积分饱和和积分漂移的问题。此外,代码中使用了两个限制条件来确保控制输出在合理的范围内,这对于实际的控制系统是非常重要的。floatPID_increment_Braking(Int32setvalue,Int32actualvalue,PID_LocTypeDef_braking*PID){ PID->ek=setvalue-actualvalue;PID->out+=PID->kp*(PID->ek-PID->ek1)+(PID->ki*PID->ek);//+PID->kd*(PID->ek-2*PID->ek1+PID->ek2);PID->ek2=PID->ek1;PID->ek1=PID->ek; if(PID->out<PID_LIMIT_MIN_Braking){ PID->out=PID_LIMIT_MIN_Braking; } if(PID->out>PID_LIMIT_MAX_Braking){ PID->out=PID_LIMIT_MAX_Braking; } returnPID->out;}3.PID初始化这个函数的作用是将PID控制器的参数设置为初始值,为控制器的启动和运行做好准备。通过这种方式,可以在程序的其它部分调用这个函数来初始化PID控制器,确保它在开始控制任务之前具有正确的参数和初始状态。voidPIDStructInit_Braking(PID_LocTypeDef_braking*PID,floatkp,floatki,floatkd){PID->kp=kp; PID->ki=ki; PID->kd=kd; PID->ek=0;PID->ek1=0; PID->ek2=0; PID->location_sum=0;PID->out=0;}4.初始化函数这个函数的目的是将制动系统的PID控制器的参数设置为预先定义的值。这些参数可能存储在全局变量或者配置文件中,然后在程序启动时通过这个函数进行初始化。通过这种方式,可以确保PID控制器在开始工作之前具有正确的增益设置。voidInit_Braking(){PIDStructInit_Braking(Ptr_Brake,Ptr_Brake_KP,Ptr_Brake_KI,Ptr_Brake_KD);}5.循环执行函数这段代码定义了一个名为Task_10ms_Braking的C语言函数,它用于周期性地执行刹车系统的PID控制任务,周期为10毫秒。这个函数中CAN0501sendBreak、realBreak和Ptr_Brake这些变量已经被正确地初始化并包含有效的值。TargetBreak变量的更新可能需要在函数外部进一步处理,以确保它能够正确地控制刹车系统。voidTask_10ms_Braking(){TargetBreak=PID_increment_Braking(CAN0501sendBreak,realBreak,Ptr_Brake);}【任务实施】一、实施准备1.工具设备清单表4-5-SEQ表4-5-\*ARABIC1工具设备清单分类名称数量图例实训设备线控底盘1套测试电脑1套CAN分析仪1套UCBDM下载器1套千斤顶1台防护用品工作服1套安全帽1个工作手套1双辅助材料无纺布1张2.检查设备(1)穿戴好工作手套和安全帽,将工具设备等摆放在工位上。(2)检查线控底盘外观是否正常,内部零件是否齐全,线束连接是否正常。(3)用千斤顶举升线控底盘后轮,使后轮离地。(选择在实训室场地测试时需要做此操作)(4)检查测试电脑外观是否正常。(5)检查CAN分析仪外观是否正常无破损。(6)检查BDM下载器外观是否正常无破损。二、连接设备1.连接CAN分析仪与车辆(1)将车辆外接CAN接口连接到CAN分析仪CAN1通道,如REF_Ref170655825\h图5-6-7所示。图5-6-SEQ图_5-6-\*ARABIC7连接CAN分析仪(2)通过拨码开关,将CAN1的终端电阻R1拨到ON的位置,如REF_Ref170655861\h图5-6-8所示,接入终端电阻。图5-6-SEQ图_5-6-\*ARABIC8接入终端电阻(3)使用USB连接线将CAN分析仪连接到电脑。2.连接BDM下载器与车辆(1)拆卸VCU的两颗固定螺栓,并拆卸VCU底板,如REF_Ref170655905\h图5-6-9所示。图5-6-SEQ图_5-6-\*ARABIC9拆卸VCU(2)连接BDM下载器和VCU,如REF_Ref170655951\h图5-6-10所示,注意连接线束的方向(线束突起朝里)。图5-6-SEQ图_5-6-\*ARABIC10连接BDM与VCU(3)连接BDM下载器和测试电脑,如REF_Ref170655980\h图5-6-11所示图5-6-SEQ图_5-6-\*ARABIC11连接BDM与电脑3.启动设备(1)确认设备连接无误后,按下车辆的电源开关,启动车辆,如REF_Ref170656052\h图5-6-12所示。图5-6-SEQ图_5-6-\*ARABIC12启动开关(2)长按遥控器的电源键(左右各一个,同时长按3秒),如REF_Ref170656089\h图5-6-13所示,启动遥控器。图5-6-SEQ图_5-6-\*ARABIC13启动遥控器(3)将遥控器最右侧SWD拨杆开关往下拨动,进入遥控驾驶模式,如REF_Ref170656128\h图5-6-14所示。(注意:需将遥控器的拨杆SWB拨到中间位置,关闭转向灯)图5-6-SEQ图_5-6-\*ARABIC14切换遥控驾驶模式(4)按下测试电脑的电源开关,启动测试电脑。三、编写压力闭环控制程序代码(1)打开代码文件在“MCU_Program/Braking”文件夹中,双击打开Braking_control.c文件,如REF_Ref170723821\h图5-6-15所示。图5-6-SEQ图_5-6-\*ARABIC15控制程序代码(2)编写压力闭环程序代码根据代码文件中的中文注释中的任务要求,完成空白部分程序代码的补充编写,如REF_Ref170725753\h图5-6-16,REF_Ref170725755\h图5-6-17所示。图5-6-SEQ图_5-6-\*ARABIC16压力闭环程序图5-6-SEQ图_5-6-\*ARABIC17压力闭环程序(3)在“MCU_Program/Braking”文件夹中,双击打开Braking_control.h文件,如REF_Ref170725773\h图5-6-18所示。采用控制变量法修改制动压力PID参数,如REF_Ref170725777\h图5-6-19所示。先修改KP值,再修改KI值。根据标定的最大压力值修改压力闭环控制能达到的最大压力,方便对比。图5-6-SEQ图_5-6-\*ARABIC18参数文件图5-6-SEQ图_5-6-\*ARABIC19参数程序文件四、固件烧入1.烧入标定程序(1)双击打开“program.mcp”快捷图标,进入“FreescaleCodewarrior”主界面,如REF_Ref170726231\h图5-6-20所示。图5-6-SEQ图_5-6-\*ARABIC20“FreescaleCodewarrior”主界面(2)单击“Debug”下拉菜单,在弹出的“USBDMConfiguration-HC12”弹窗中,单击“OK”,进入烧入界面,如REF_Ref170726446\h图5-6-21所示。图5-6-SEQ图_5-6-\*ARABIC21进入烧入界面(3)等待进入烧入界面完成,进度条如REF_Ref170726544\h图5-6-22所示。图5-6-SEQ图_5-6-\*ARABIC22进入烧入界面进度条(4)点击“运行”按钮(绿色箭头),进行固件烧入,如REF_Ref170726579\h图5-6-23所示。图5-6-SEQ图_5-6-\*ARABIC23运行界面2.在线查看压力闭环控制参数(1)固件烧入完成后,在“FreescaleCodewarrior”主界面,双击“data”行,进入查看参数界面,如REF_Ref170726711\h图5-6-24所示。图5-6-SEQ图_5-6-\*ARABIC24进入查看参数界面(2)在查看参数界面空白区域,单击鼠标右键,在弹窗中选择“OpenModule”,如REF_Ref170726765\h图5-6-25所示。图5-6-SEQ图_5-6-\*ARABIC25选择对应模块(3)在弹出的“Modules”弹窗中,如REF_Ref170726835\h图5-6-26所示。选择“Braking_control.c”代码文件,点击“OK”,查看对应变量值。图5-6-SEQ图_5-6-\*ARABIC26选择对应代码

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论