




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PID调节控制做电机速度控制 PID调节控制做电机速度控制V1.1–Jan23,2006中文版PID调节控制做电机速度控制凌阳保留对此文件修改之权利且不另行通知。凌阳所提供之信息相信为正确且提出订单前,自行确定所使用之相关技可靠之信息,但并不保证本文件中绝无错误。请于向凌阳术文件及规格为最新之版本。若因贵公司使用本公司之文件或,而涉及第三人之专利或著作权等智能权之应用及配合时,则应由贵公司负责取得同意及,本公司仅单纯贩售,上述关于同意及,非属本公司应为保证之责任。又凌阳之正式,本公司之所有不得使用于医疗器材,维持生命系统及飞航等相关设备。SunplusTechnologyPID调节控制做电机速度控制凌阳保留对此文件修改之权利且不另行通知。凌阳所提供之信息相信为正确且提出订单前,自行确定所使用之相关技可靠之信息,但并不保证本文件中绝无错误。请于向凌阳术文件及规格为最新之版本。若因贵公司使用本公司之文件或,而涉及第三人之专利或著作权等智能权之应用及配合时,则应由贵公司负责取得同意及,本公司仅单纯贩售,上述关于同意及,非属本公司应为保证之责任。又凌阳之正式,本公司之所有不得使用于医疗器材,维持生命系统及飞航等相关设备。SunplusTechnologyCo.,.PAGE1V1.1–Jan23,2006PID调节控制做电机速度控制页1模拟PID控制 11.1模拟PID控制原理 12数字PID控制 32.12.22.3位置式PID算法 3增量式PID算法 4控制器参数整定 42.3.12.3.22.3.32.3.4凑试法 5临界比例法 5PID调节控制做电机速度控制页1模拟PID控制 11.1模拟PID控制原理 12数字PID控制 32.12.22.3位置式PID算法 3增量式PID算法 4控制器参数整定 42.3.12.3.22.3.32.3.4凑试法 5临界比例法 5经验法 5采样周期的选择 62.42.5参数调整规则的探索6自校正PID控制器 73软件说明 83.13.23.33.4软件说明 8构成 8DMC界面 8子程序说明 94程序范例 164.14.24.3DEMO程序 16程序流程与说明 19中断子流程与说明 205MCU使用215.1MCU硬件使用说明 216实验测试 226.1响应曲线 227参考文献 26SunplusTechnologyCo.,.PAGE2V1.1–Jan23,2006目录PID调节控制做电机速度控制SunplusTechnologyCo.,.PAGE3V1.1–Jan23,2006PID调节控制做电机速度控制SunplusTechnologyCo.,.PAGE3V1.1–Jan23,2006日期版本编写及修订者编写及修订说明2004/11/261.0初版2006/1/231.1错误校正修订PID调节控制做电机速度控制1 PID控制(on、PID控制器。1.1PID控制原理PID控制。为了说明控制器的工作原理,先看一个例子。如图1-1所示是一个小功率直流电机的调速原理图。给定速度n0(t)与实际转速进行比)n(t,经过PID控制器调整后输出电压控制信号u(tu(t经过功较n(t,其差值e(率放大后,驱动直流电 改变其转速。n0(t)+-小功率直流电机调速系统PID调节控制做电机速度控制1 PID控制(on、PID控制器。1.1PID控制原理PID控制。为了说明控制器的工作原理,先看一个例子。如图1-1所示是一个小功率直流电机的调速原理图。给定速度n0(t)与实际转速进行比)n(t,经过PID控制器调整后输出电压控制信号u(tu(t经过功较n(t,其差值e(率放大后,驱动直流电 改变其转速。n0(t)+-小功率直流电机调速系统r(ty(t是系统的实际输出值,给定值与实际输出值构成控制偏差e(t)e(t)r(t)y(t)PIDPID控制器的控制规律为1Tide(t)tu(t)Kp[e(t)e(t)dtTd]dt0其中:KpTiTd――控制器的比例系数--控制器的时间,也称系数――控制器的微分时间,也称微分系数r(t)e(t)u(t)y(t)++被控对象-PID控制系统原理图1、比例部分SunplusTechnologyCo.,.PAGE1V1.1–Jan23,2006+微分比例+e(t)直流电机n(t)PID控制器u(t)PID调节控制做电机速度控制比例部分的数学式表示是:Kp*e(t)KpKp效果。2、部分KpTite(PID调节控制做电机速度控制比例部分的数学式表示是:Kp*e(t)KpKp效果。2、部分KpTite(t)dt部分的数学式表示是:0从消除系统的偏差。环节的调节作用虽然会消除静态误差,但也会降低系统的响应速度,增加系统的超调量。部分可以常数Ti越大,产生振荡;但是增大 常数Ti会减慢静态误差的消除过程,消除偏差所需的时间也较长,但可以减少超调量,提高系统的稳定性。当Ti较小时,则较短。所以必须根据实际控制的具体要求来确定Ti。3、微分部分微分部分的数学式表示是:Kp*Tddt实际的控制系统除了希望消除静态误差外,还要求加快调节过程。在偏差出现的瞬间,或在偏(比例环节的作用PIPID控制器。微分环节的作用使偏差的变化。它是根据偏差的变化趋势(变化速度)进行控制。偏差变化的越快,微分控制器的输出就越大,并能在偏差值变大之前进行修正。微分作用的引入,将有助但微分的作用对输入信号的噪声很敏感,对那些噪声较大的系统一般不用微分,或在微分起作用之前先对输入信号进行滤波。微分部分的作用由微分时间常数Td决定。Tde(t变化的作用越强;Td越小时,则它反抗偏差e(t变化的作用越弱。微分部分显然对系统稳定有很大的作用。适当地选择微分常数Td,可以使微分作用达到最优。由于计算机的出现,计算机进入了控制领域。人们将模拟PID控制规律引入到计算机中来。对PIDPIDPID控制。SunplusTechnologyCo.,.PAGE2V1.1–Jan23,2006PID调节控制做电机速度控制2 PID控制数字式PID控制算法可以分为位置式PID和增量式PID控制算法。2.1PID算法由于计算机控制是一种采样控制,它只能根据采样时刻的偏差计算控制量,而不能像模拟控制(1-2)中的项和微分项不能直接使用,必须进行离散化处理。离散化处理的方法为:以T作为采样周期,k作为采样序号,则离散采样时间kT对应着连续时间t,用矩形法数值作如下近似变换:近似代替,用一阶后向差分近似代替微分,可PID调节控制做电机速度控制2 PID控制数字式PID控制算法可以分为位置式PID和增量式PID控制算法。2.1PID算法由于计算机控制是一种采样控制,它只能根据采样时刻的偏差计算控制量,而不能像模拟控制(1-2)中的项和微分项不能直接使用,必须进行离散化处理。离散化处理的方法为:以T作为采样周期,k作为采样序号,则离散采样时间kT对应着连续时间t,用矩形法数值作如下近似变换:近似代替,用一阶后向差分近似代替微分,可上式中,为了表示的方便,将类似于e(kT简化成等。将(-)代入(-PID表达式为ek1]TkTdekj0u Kp[eekkjTiT或kukKp*ekKiejKd(ekek1)j0k=0,1,2,……;uk――第k次采样时刻的计算机输出值;ek――第k次采样时刻输入的偏差值;ek-1――第k-1次采样时刻输入的偏差值;其中Ki――Ki=Kp*TTi;KdKd=Kp*TdT;或(2-3)的近似计算可以获得足够精确的结果,离散控制过程与连续过程十分接近。PID控制算法。ek进行累加,SunplusTechnologyCo.,.PAGE3V1.1–Jan23,2006PID调节控制做电机速度控制工作量大;并且,因为计算机输出的uk对应的是执行机构的实际位置,如果计算机出现故障,输出的uk将大幅度变化,会引起执行机构的大幅度变化,有可能因此造成严重的生产事故,这在实生产际中是不允许的。增量式PID控制算法可以避免着重现象发生。2.2PID算法PID是指数字控制器的输出只是控制量的增量uk。当执行机构需要的控制量是增量,而不是位置量的绝对数值时,可以使用增量式PID控制算法进行控制。PID控制算法可以通过(2-2)推导出。由(2-2)k-1个采样时刻的输出值为:e eT eu Kp[eTdk-1 kPID调节控制做电机速度控制工作量大;并且,因为计算机输出的uk对应的是执行机构的实际位置,如果计算机出现故障,输出的uk将大幅度变化,会引起执行机构的大幅度变化,有可能因此造成严重的生产事故,这在实生产际中是不允许的。增量式PID控制算法可以避免着重现象发生。2.2PID算法PID是指数字控制器的输出只是控制量的增量uk。当执行机构需要的控制量是增量,而不是位置量的绝对数值时,可以使用增量式PID控制算法进行控制。PID控制算法可以通过(2-2)推导出。由(2-2)k-1个采样时刻的输出值为:e eT eu Kp[eTdk-1 k2]jTiTj0与(2-4)PID控制算法公式为:2ek-1ek2)eTdekTu=u-uKp(e-ek k k kTiTKp(1TTd)e-Kp(12TdKpTde)k2kTi TTTAekBek-1Cek2T Td );其中Ti TTC=KpTd。T由(2-5)可以看出,如果计算机控制系统采用恒定的采样周期TA、B、C,(2-5)求出控制量。PID算法(2-2)相比,计算量小的多,因此在实际中得到广泛的应用。而位置式PID控制算法也可以通过增量式控制算法推出递推计算公式:uk=uk-1+ukPID控制算法。2.3 控制器参数整定控制器参数整定:指决定调节器的比例系数Kp、时间Ti、微分时间Td和采样周期Ts的SunplusTechnologyCo.,.PAGE4V1.1–Jan23,2006PID调节控制做电机速度控制具体数值。整定的实质是通过改变调节器的参数,使其特性和过程特性相匹配,以改善系统的动态和静态指标,取得最佳的控制效果。计算整定法有对数频率特性法和根轨迹法等;工程整定法有凑试法、临界比例法、经验法、衰减曲线法和响应曲线法等。工程整定法特点不需要事先知道过程的数学模型,直接在过程控制系统中进行现场整定方法简单、计算简便、易于掌握。2.3.1凑试法按照先比例(P、再(I、最后微分()的顺序。置调节器 PID调节控制做电机速度控制具体数值。整定的实质是通过改变调节器的参数,使其特性和过程特性相匹配,以改善系统的动态和静态指标,取得最佳的控制效果。计算整定法有对数频率特性法和根轨迹法等;工程整定法有凑试法、临界比例法、经验法、衰减曲线法和响应曲线法等。工程整定法特点不需要事先知道过程的数学模型,直接在过程控制系统中进行现场整定方法简单、计算简便、易于掌握。2.3.1凑试法按照先比例(P、再(I、最后微分()的顺序。置调节器 投入运行,由小到大整定比例系数Kp。求得满意的1/4衰减度过渡过程曲线。引入 作用(此时应将上述比例系数Kp设置为5/6Kp。将Ti由大到小进行整定。若需引入微分作用时,则将Td按经验值或按Td=(1/3~1/4)Ti设置,并由小到大加入。2.3.2临界比例法Ku界振荡周期Tu。临界比例度法步骤:、将调节器的 时间Ti置于最大(Ti∞,微分间置零(Td,比例系数Kp适当平衡操作一段时间,把系统投入自动运行。2KpKu和临界振荡周期Tu值。3Ku和TuKp、Ti和Td的值。步调整。临界比例度法整定注意事项:工业生产不利。Ku进行调节器参数整定。2.3.3经验法用凑试法确定PID参数需要经过多次反复的实验,为了减少凑试次数,提高工作效率,可以借PID控制参数,这就是经验法。例系数,使系统对阶跃输入的响应达到临界状态,这时记下比例系数Ku、临界振荡周期为Tu,根SunplusTechnologyCo.,.PAGE5V1.1–Jan23,2006PID调节控制做电机速度控制2-1所示。临界比例法确定的模拟控制器参数这种临界比例法使针对模拟PID控制器,对于数字PID控制器,只要采样周期取的较小,原则上也同样使用。在电的控制中,可以先采用临界比例法,然后在采用临界比例法求得结果的基础上,用凑试法进一步完善。性和快速性。如果要求更大的衰减,则必须用凑试法对参数作进一步的调整。2.3.4PID调节控制做电机速度控制2-1所示。临界比例法确定的模拟控制器参数这种临界比例法使针对模拟PID控制器,对于数字PID控制器,只要采样周期取的较小,原则上也同样使用。在电的控制中,可以先采用临界比例法,然后在采用临界比例法求得结果的基础上,用凑试法进一步完善。性和快速性。如果要求更大的衰减,则必须用凑试法对参数作进一步的调整。2.3.4采样周期的选择香农(Shannon)采样定律:为不失真地复现信号的变化,采样频率至少应大于或等于连续信号最高频率分量的二倍。根据采样定律可以确定采样周期的上限值。实际采样周期的选择还要受到多方面因素的影响,不同的系统采样周期应根据具体情况来选择。(如流量、)波动大、易受干扰的过程,应选取较短的采样周期;反之,当过程响应慢(如温度、成份、滞后大时,可选取较长的采样周期。采样周期的选取应与PID在执行器的响应速度比较慢时,过小的采样周期将失去意义,因此可适当选大一点;在计算机运算速度允许的条件下,采样周期短,则控制品质好;当过程的纯滞后时间较长时,一般选取采样周期1/4~1/8。2.4参数调整规则的探索PID参数应依据以下几点来适应系统的动态过程。1KpKp值要减小,Ki取小值;在偏差很小时,为消除静差,克服超调,使系统尽快稳定,Kp值继续Ki值不变或稍取大。2、当偏差与偏差变化率同号时,被控量是朝偏离既定值方向变化。因此,当被控量接近定值时,反号的比列作用阻碍作用,避免超调及随之而来的振荡,有利于控制;而当被控量远未接近各定值并向定值变化时,则由于这两项反向,将会减慢控制过程。在偏差比较大时,偏差变Kp值取零或负值,以加快控制的动态过程。3ek-ek1KpKi取值越大,反之亦然。同时,要结合偏差大小来考虑。SunplusTechnologyCo.,.PAGE6V1.1–Jan23,2006控制器类型KpTiTdP0.5KuPIKuTuPID0.6Ku0.5TuTuPID调节控制做电机速度控制4、微分作用可改善系统的动态特性,偏差的变化,有助于减小超调量,消除振荡,缩短调节时间ts,允许加大Kp,使系统稳态误差减小,提高控制精度,达到满意的控制效果。所以,在ePID调节控制做电机速度控制4、微分作用可改善系统的动态特性,偏差的变化,有助于减小超调量,消除振荡,缩短调节时间ts,允许加大Kp,使系统稳态误差减小,提高控制精度,达到满意的控制效果。所以,在ekKdPI控制;在ekKdPID控制。2.5PID控制器周期TuKu。Z-N条件,有T0.1TuTi0.5Tu2-5)则有:uk=Kp(2.45ek3.5ek11.25ek2)Kp的校正。SunplusTechnologyCo.,.PAGE7V1.1–Jan23,2006PID调节控制做电机速度控制3 软件说明3.1软件说明将是对PID参数的整定,使系统的动静态性能达到“满意”的效果。3.2构成3.3DMC界面Speed1_Now:电机当前反馈速度PID调节控制做电机速度控制3 软件说明3.1软件说明将是对PID参数的整定,使系统的动静态性能达到“满意”的效果。3.2构成3.3DMC界面Speed1_Now:电机当前反馈速度Kp值寄存器的值User_R1:设置速度与电机实际转速的差值Motor1StartMotor1Stop控制启停SunplusTechnologyCo.,.PAGE8V1.1–Jan23,2006文件名称功能类型MainBLDC驱动相关参数初始化,DMC服务CChap2BLDC驱动相关函数CInitial系统所有相关初始化程序CISR驱动中相应的中断服务CDigitalPID_V100.libPIDPID计算函数库函数DMC通信程序liblibPID调节控制做电机速度控制3.4子程序说明PIDInit()原描形述voidPIDInit(void)RAM清零无输入参数输出参数无PID调节控制做电机速度控制3.4子程序说明PIDInit()原描形述voidPIDInit(void)RAM清零无输入参数输出参数无头文件Spmc75_PID.h请在设置参数前使用。库文件注意事项例子PIDInit();SunplusTechnologyCo.,.PAGE9V1.1–Jan23,2006PID调节控制做电机速度控制PIDSetPoint()原形voidPIDSetPoint(int)期望值描述输入参数输出参数无头文件Spmc75_PID.hDigitalPID_V100库文件注意事项PIDSetPoint(2000);//期望电的转速为2000rpm例子PIDGetSetpoint()原形intPIDGetSetpoint(void)PID调节设置的目标值无描述输入参数输出参数PID调节控制做电机速度控制PIDSetPoint()原形voidPIDSetPoint(int)期望值描述输入参数输出参数无头文件Spmc75_PID.hDigitalPID_V100库文件注意事项PIDSetPoint(2000);//期望电的转速为2000rpm例子PIDGetSetpoint()原形intPIDGetSetpoint(void)PID调节设置的目标值无描述输入参数输出参数所设置的期望值头文件Spmc75_PID.h得到的期望值将和数值的是同一个数值库文件注意事项例子uiSpeed=PIDSetPoint();//所设置的期望电转速SunplusTechnologyCo.,.PAGE10V1.1–Jan23,2006PID调节控制做电机速度控制PIDSetKp()原形voidPIDSetKp(double)PIDKp值无描述输入参数输出参数头文件Spmc75_PID.h这个参数在增量PID和位置PID的计算中代表着不同的意思。PIDKp就是比例系数库文件注意事项TTd(式PID调节控制做电机速度控制PIDSetKp()原形voidPIDSetKp(double)PIDKp值无描述输入参数输出参数头文件Spmc75_PID.h这个参数在增量PID和位置PID的计算中代表着不同的意思。PIDKp就是比例系数库文件注意事项TTd(式2-5)所示增量式PID中Kp相当于ek的系数Kp(1Ti )T例子(0.257);//Kp=0.257PIDGetKp()原形doublePIDGetKp(void)PIDKp值无描述输入参数输出参数Kp数值Spmc75_PID.h这个参数在增量PID和位置PID的计算中代表着不同的意思。PIDKp就是比例系数头文件库文件注意事项TTd(式2-5)所示增量式PID中Kp相当于ek的系数Kp(1Ti )TdKp=PIDSetKp();例子SunplusTechnologyCo.,.PAGE11V1.1–Jan23,2006PID调节控制做电机速度控制PIDSetKi()原形voidPIDSetKi(doubledKii)PIDKi值无描述输入参数输出参数Spmc75_PID.h头文件DigitalPID_V100库文件这个参数在增量PID和位置PID的计算中代表着不同的意思。T注意事项所示位置式PID中Ki是 系数KpTi2Td(式PID调节控制做电机速度控制PIDSetKi()原形voidPIDSetKi(doubledKii)PIDKi值无描述输入参数输出参数Spmc75_PID.h头文件DigitalPID_V100库文件这个参数在增量PID和位置PID的计算中代表着不同的意思。T注意事项所示位置式PID中Ki是 系数KpTi2Td(式2-5)所示增量式PID中Ki是ek1的系数Kp(1 )T(0.367);//Ki=0.367例子PIDGetKi()原形doublePIDGetKi(void无描述输入参数Ki数值输出参数Spmc75_PID.h头文件DigitalPID_V100库文件这个参数在增量PID和位置PID的计算中代表着不同的意思。T注意事项所示位置式PID中Ki是 系数KpTi2Td(式2-5)所示增量式PID中Ki是ek1的系数Kp(1 )TdKi=PIDSetKi();例子SunplusTechnologyCo.,.PAGE12V1.1–Jan23,2006PID调节控制做电机速度控制PIDSetKd()原形voidPIDSetKd(doubledKdd)PIDKd值无描述输入参数输出参数Spmc75_PID.h头文件DigitalPID_V100库文件这个参数在增量PID和位置PID的计算中代表着不同的意思。Td注意事项所示位置式PID中Kd是 系数KpTTdPID调节控制做电机速度控制PIDSetKd()原形voidPIDSetKd(doubledKdd)PIDKd值无描述输入参数输出参数Spmc75_PID.h头文件DigitalPID_V100库文件这个参数在增量PID和位置PID的计算中代表着不同的意思。Td注意事项所示位置式PID中Kd是 系数KpTTdT(2-5)PIDKd是ek2Kp(0.157);//Kd=0.157例子PIDGetKd()原形voidPIDGetKd(doublPIDKd值无描述输入参数Kd数值输出参数Spmc75_PID.h头文件DigitalPID_V100库文件这个参数在增量PID和位置PID的计算中代表着不同的意思。Td注意事项所示位置式PID中Kd是 系数KpTTdT(2-5)PIDKd是ek2KpdKd=PIDSetKd();例子SunplusTechnologyCo.,.PAGE13V1.1–Jan23,2006PID调节控制做电机速度控制IncPIDCalc()原形intIncPIDCalc(int)PID计算计算增量描述输入参数输出参数头文件PID调节控制做电机速度控制IncPIDCalc()原形intIncPIDCalc(int)PID计算计算增量描述输入参数输出参数头文件Spmc75_PID.hPID算法的实现。;//PID控制算法通过增量式控1998rpm。库文件注意事项例子SunplusTechnologyCo.,.PAGE14V1.1–Jan23,2006PID调节控制做电机速度控制LocPIDCalc()原形unsignedintLocPIDCalc(int)PID计算PID调节当前采样值PID调节控制做电机速度控制LocPIDCalc()原形unsignedintLocPIDCalc(int)PID计算PID调节当前采样值Spmc75_PID.hDigitalPID_V100PID算法的实现。;//PID控制算法,当前采样得到1998rpm。描述输入参数输出参数头文件库文件注意事项例子BLDC驱动的实现,不再一一赘述,可以参考【AN_SPMC75_0003】应用例的介绍。SunplusTechnologyCo.,.PAGE15V1.1–Jan23,2006PID调节控制做电机速度控制4 程序范例4.1 DEMO程序/*=============================================*///应用范例/*=============================================*/#include"Spmc75_regs.h"#include"Spmc_typedef.h"#includePID调节控制做电机速度控制4 程序范例4.1 DEMO程序/*=============================================*///应用范例/*=============================================*/#include"Spmc75_regs.h"#include"Spmc_typedef.h"#include"unspmacro.h"#include"Spmc75_BLDC.h"main(){P_IOA_SPE->W=0x0000;P_IOB_SPE->W=0x0000;P_IOC_SPE->W=0x0000;Spmc75_System_Init(); 系统初始化while(1){BLDC_Run_Service(); 启停NOP();}}//=================================================================//Description:IRQ0interruptsourceis ,usedtoNotes:错误保护//=================================================================voidIRQ0(void)attribute((ISR));voidIRQ0(void){IPM_Fault_Protect();}//=================================================================//Description:IRQ1interruptsourceis ,usedto启动及正常运行服务//=================================================================voidIRQ1(void) attribute ((ISR));SunplusTechnologyCo., . PAGE16 V1.1–Jan23,2006PID调节控制做电机速度控制voidIRQ1(void){/*=============================================================*//*Positiondetectionchangeinterruptif(P_TMR0_Status->B.PDCIF&&PID调节控制做电机速度控制voidIRQ1(void){/*=============================================================*//*Positiondetectionchangeinterruptif(P_TMR0_Status->B.PDCIF&&P_TMR0_INT->B.PDCIE){BLDC_Motor_Normalrun();}/*=============================================================*//*TimerCounterOverflowif(P_TMR0_Status->B.TCVIF&&P_TMR0_INT->B.TCVIE){BLDC_Motor_Startup();}P_TMR0_Status->W=P_TMR0_Status->W;}//=================================================================//Description:IRQ6interrup is ,usedto接收中断服务函数//=================================================================voidIRQ6(void)attribute((ISR));voidIRQ6(void){if(P_INT_Status->B.UARTIF){if(P_UART_Status->B.RXIF)MC75_DMC_RcvStream();if(P_UART_Status->B.TXIF&&P_UART_Ctrl->B.TXIE);}}//=================================================================//Description:IRQ7interruptsourceis ,usedtoPID调节速度//=================================================================voidIRQ7(void)attribute((ISR));voidIRQ7(void){if(P_INT_Status->B.CMTIF){if(PCMTCtrl->B.CM0IF&&PCMTCtrl->B.CM0IE)SunplusTechnologyCo., . PAGE17 V1.1–Jan23,2006PID调节控制做电机速度控制PID计算子函数:SunplusTechnologyCo.,PID调节控制做电机速度控制PID计算子函数:SunplusTechnologyCo.,.PAGE18V1.1–Jan23,2006//数据结构typedefstructPID{intSetPoint; //设定目标DesiredValuelongSumError; //误差累计doubleProportion; //比例常数ProportionalConstdoubleIntegral; // 常数IntegralConstdoubleDerivative; //微分常数DerivativeConstintLastError; //Error[-1]intPrevError; //Error[-2]}PID;staticPIDsPID;staticPID*sptr=&sPID;参数初始化voidIncPIDInit(void){sptr->SumError=0;sptr->LastError=0; sptr->PrevError=0; sptr->Proportion=0; //比例常数ProportionalConstsptr->Integral=0; // sptr->Derivative=0; //微分常数DerivativeConstsptr->SetPoint=0;}{BLDC_Motor_Actiyator();}P_CMT_Ctrl->W=P_CMT_Ctrl->W;}}PID调节控制做电机速度控制4.2程序流程与说明主程序主要完成系统必要的初始化,而对电的实时处理基本上是在中断中完成的,其中涉PID调节控制做电机速度控制4.2程序流程与说明主程序主要完成系统必要的初始化,而对电的实时处理基本上是在中断中完成的,其中涉CMT05-1所示主程序设计流程图。SunplusTechnologyCo.,.PAGE19V1.1–Jan23,2006PID控制设计intIncPIDCalc(intNextPoint){registerintiError,iIncpid;//当前误差iError=sptr->SetPoint-NextPoint;//增量计算iIncpidsptr->Proportion*iError //E[k]项sptr->Integral*sptr->LastError 项sptr->Derivative*sptr->PrevError;//E[k-2]项// 误差,用于下次计算sptr->PrevError=sptr->LastError;sptr->LastError=iError;//返回增量值return(iIncpid);}PID控制设计unsignedintLocPIDCalc(intNextPoint){registerintiError,dError;iErrorsptr->SetPointNe //偏差sptr->SumErroriError; //dErroriErrorsptr->LastError; sptr->LastErroriError;return(sptr->Proportion*iError //比例项sptr->Integral*sptr->SumError// 项sptr->Derivative*dError); //微分项}PID调节控制做电机速度控制开始启停命令【API:BLDC_Run_Service()】图5-1 BLDC主程序操作流程4.3中断子流程与说明速度调节和错误保护的控制。其中如果使用默认各个中断源的使用都按照初始化设置已经相应的固PDC、TCV中断流程示出,以便使用者参考。如图流程5-2PID调节控制做电机速度控制开始启停命令【API:BLDC_Run_Service()】图5-1 BLDC主程序操作流程4.3中断子流程与说明速度调节和错误保护的控制。其中如果使用默认各个中断源的使用都按照初始化设置已经相应的固PDC、TCV中断流程示出,以便使用者参考。如图流程5-2PDC、TCV中断操作中断PDC中断?TCV中断?中断出口图5-2 PDC、TCV中断操作流程SunplusTechnologyCo.,.PAGE20V1.1–Jan23,2006启动、低速控 务函数【API:BLDC_Motor_Startup()】维持B
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学六年级语文模拟考试试题及答案
- 古代文学史重要文化现象试题及答案
- 汽车维修工专业考试试卷及答案解读
- 探讨宠物行为与营养的联系及试题及答案
- 了解宠物肠道健康的试题及答案
- 2024年汽车维修工考试的技术要求试题及答案
- 北舞九级舞蹈试题及答案
- 2024美容师行业发展与职业生涯规划题及答案
- 宠物营养与食品科技的结合应用试题及答案
- 基础医学的试题类型及答案
- 2023年乌鲁木齐市沙依巴克区林业系统事业单位招聘笔试模拟试题及答案解析
- 六年级下册语文人教部编版课件综合性学习:奋斗的历程(课件)
- 压裂施工安全操作规定(正式)
- 生理卫生教学【青春期男生性教育】走向成熟课件
- 人工呼吸的三种方式和操作方法课件
- 项目基坑坍塌事故专项应急预案桌面演练脚本
- 危险化学品MSDS(氮气)
- 无创通气常用模式与参数调节
- GB∕T 8427-2019 纺织品 色牢度试验 耐人造光色牢度:氙弧
- 退休人员实行社区管理申请书
- 全国同等学力工商管理大纲重点整理
评论
0/150
提交评论