ImageVerifierCode 换一换
格式:PDF , 页数:30 ,大小:514.50KB ,
资源ID:7158634      下载积分:20 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenkunet.com/d-7158634.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(AN_SPMC75_0012PID调节控制做电机速度控制.pdf)为本站会员(nanchangxurui)主动上传,文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文库网(发送邮件至13560552955@163.com或直接QQ联系客服),我们立即给予删除!

AN_SPMC75_0012PID调节控制做电机速度控制.pdf

1、 PID 调节控制做电机速度控制调节控制做电机速度控制 V1.1 Jan 23, 2006 中文版中文版 19, Innovation First Road Science Park Hsin-Chu Taiwan 300 R.O.C. Tel: 886-3-578-6005 Fax: 886-3-578-4418 E-mail: http:/ http:/ 欢迎访问 www.XinShiL 新势力单片机、嵌入式;资料整理自互联网,版权归原作者! PID 调节控制做电机速度控制调节控制做电机速度控制 Sunplus Technology Co., Ltd. PAGE 1 V1.1 Jan 23

2、, 2006 版权声明版权声明 凌阳科技股份有限公司保留对此文件修改之权利且不另行通知。凌阳科技股份有限公司所提供之信息相信为正确且可靠之信息,但并不保证本文件中绝无错误。请于向凌阳科技股份有限公司提出订单前,自行确定所使用之相关技术文件及规格为最新之版本。若因贵公司使用本公司之文件或产品,而涉及第三人之专利或著作权等智能财产权之应用及配合时,则应由贵公司负责取得同意及授权,本公司仅单纯贩售产品,上述关于同意及授权,非属本公司应为保证之责任。又未经凌阳科技股份有限公司之正式书面许可,本公司之所有产品不得使用于医疗器材,维持生命系统及飞航等相关设备。 欢迎访问 www.XinShiL 新势力单片

3、机、嵌入式;资料整理自互联网,版权归原作者! PID 调节控制做电机速度控制调节控制做电机速度控制 Sunplus Technology Co., Ltd. PAGE 2 V1.1 Jan 23, 2006 目录目录 页页 1 模拟模拟PID控制控制.1 1.1 模拟PID控制原理 .1 2 数字数字PID控制控制.3 2.1 位置式PID算法 .3 2.2 增量式PID算法 .4 2.3 控制器参数整定.4 2.3.1 凑试法.5 2.3.2 临界比例法.5 2.3.3 经验法.5 2.3.4 采样周期的选择.6 2.4 参数调整规则的探索.6 2.5 自校正PID控制器 .7 3 软件说明

4、软件说明.8 3.1 软件说明.8 3.2 档案构成.8 3.3 DMC界面.8 3.4 子程序说明.9 4 程序范例程序范例.16 4.1 DEMO程序.16 4.2 程序流程与说明.19 4.3 中断子流程与说明.20 5 MCU使用资源使用资源.21 5.1 MCU硬件使用资源说明.21 6 实验测试实验测试.22 6.1 响应曲线.22 7 参考文献参考文献.26 欢迎访问 www.XinShiL 新势力单片机、嵌入式;资料整理自互联网,版权归原作者! PID 调节控制做电机速度控制调节控制做电机速度控制 Sunplus Technology Co., Ltd. PAGE 3 V1.1

5、 Jan 23, 2006 修订记录修订记录 日期日期 版本版本 编写及修订者编写及修订者编写及修订说明编写及修订说明 2004/11/26 1.0 初版 2006/1/23 1.1 错误校正 欢迎访问 www.XinShiL 新势力单片机、嵌入式;资料整理自互联网,版权归原作者! PID 调节控制做电机速度控制调节控制做电机速度控制 Sunplus Technology Co., Ltd. PAGE 1 V1.1 Jan 23, 20061 模拟模拟 PID 控制控制 将偏差的比例(Proportion) 、积分(Integral)和微分(Differential)通过线性组合构成控制量,用

6、这一控制量对被控对象进行控制,这样的控制器称 PID 控制器。 1.1 模拟模拟 PID 控制原理控制原理 在模拟控制系统中,控制器最常用的控制规律是 PID 控制。为了说明控制器的工作原理,先看一个例子。如图 11 所示是一个小功率直流电机的调速原理图。给定速度与实际转速进行比较,其差值,经过 PID 控制器调整后输出电压控制信号,经过功率放大后,驱动直流电动机改变其转速。 )(0tn)(tn)()()(0tntnte=)(tu)(tuPID控制器直流电机)(0tn)(te)(tu)(tn 图 11 小功率直流电机调速系统 常规的模拟 PID 控制系统原理框图如图 12 所示。该系统由模拟

7、PID 控制器和被控对象组成。图中,是给定值,是系统的实际输出值,给定值与实际输出值构成控制偏差 )( r t)(y t)(te)(y)( r)(ttte= (式 11) )(te作为 PID 控制的输入,作为 PID 控制器的输出和被控对象的输入。 所以模拟 PID 控制器的控制规律为 )(tu)()(1)()(u0dttdeTddtteTiteKptt+= (式 12) 其中: 控制器的比例系数 Kp 控制器的积分时间,也称积分系数 Ti 控制器的微分时间,也称微分系数 Td比例积分微分被控对象)( r t)(tu)(y t)(te 图 12 模拟 PID 控制系统原理图 1、 比例部分

8、欢迎访问 www.XinShiL 新势力单片机、嵌入式;资料整理自互联网,版权归原作者! PID 调节控制做电机速度控制调节控制做电机速度控制 Sunplus Technology Co., Ltd. PAGE 2 V1.1 Jan 23, 2006比例部分的数学式表示是: )(*teKp在模拟 PID 控制器中,比例环节的作用是对偏差瞬间作出反应。偏差一旦产生控制器立即产生控制作用,使控制量向减少偏差的方向变化。控制作用的强弱取决于比例系数,比例系数越大,控制作用越强,则过渡过程越快,控制过程的静态偏差也就越小;但是越大,也越容易产生振荡,破坏系统的稳定性。故而,比例系数选择必须恰当,才能过

9、渡时间少,静差小而又稳定的效果。 KpKpKpKp2、 积分部分 积分部分的数学式表示是: tdtteTiKp0)( 从积分部分的数学表达式可以知道,只要存在偏差,则它的控制作用就不断的增加;只有在偏差时,它的积分才能是一个常数,控制作用才是一个不会增加的常数。可见,积分部分可以消除系统的偏差。 0)( te积分环节的调节作用虽然会消除静态误差,但也会降低系统的响应速度,增加系统的超调量。积分常数越大,积分的积累作用越弱,这时系统在过渡时不会产生振荡;但是增大积分常数会减慢静态误差的消除过程,消除偏差所需的时间也较长,但可以减少超调量,提高系统的稳定性。当Ti较小时,则积分的作用较强,这时系统

10、过渡时间中有可能产生振荡,不过消除偏差所需的时间较短。所以必须根据实际控制的具体要求来确定Ti。 TiTi3、 微分部分 微分部分的数学式表示是: dttdeTdKp)(* 实际的控制系统除了希望消除静态误差外,还要求加快调节过程。在偏差出现的瞬间,或在偏差变化的瞬间,不但要对偏差量做出立即响应(比例环节的作用) ,而且要根据偏差的变化趋势预先给出适当的纠正。为了实现这一作用,可在 PI 控制器的基础上加入微分环节,形成 PID 控制器。 微分环节的作用使阻止偏差的变化。它是根据偏差的变化趋势(变化速度)进行控制。偏差变化的越快,微分控制器的输出就越大,并能在偏差值变大之前进行修正。微分作用的

11、引入,将有助于减小超调量,克服振荡,使系统趋于稳定,特别对髙阶系统非常有利,它加快了系统的跟踪速度。但微分的作用对输入信号的噪声很敏感,对那些噪声较大的系统一般不用微分,或在微分起作用之前先对输入信号进行滤波。 微分部分的作用由微分时间常数Td决定。Td越大时, 则它抑制偏差变化的作用越强;Td越小时,则它反抗偏差变化的作用越弱。微分部分显然对系统稳定有很大的作用。 )(te)(te适当地选择微分常数Td,可以使微分作用达到最优。 由于计算机的出现,计算机进入了控制领域。人们将模拟 PID 控制规律引入到计算机中来。对(式 12)的 PID 控制规律进行适当的变换,就可以用软件实现 PID 控

12、制,即数字 PID 控制。 欢迎访问 www.XinShiL 新势力单片机、嵌入式;资料整理自互联网,版权归原作者! PID 调节控制做电机速度控制调节控制做电机速度控制 Sunplus Technology Co., Ltd. PAGE 3 V1.1 Jan 23, 20062 数字数字 PID 控制控制 数字式 PID 控制算法可以分为位置式 PID 和增量式 PID 控制算法。 2.1 位置式位置式PID算法算法 由于计算机控制是一种采样控制,它只能根据采样时刻的偏差计算控制量,而不能像模拟控制那样连续输出控制量量,进行连续控制。由于这一特点(式 12)中的积分项和微分项不能直接使用,必

13、须进行离散化处理。离散化处理的方法为:以T作为采样周期,作为采样序号,则离散采样时间对应着连续时间 ,用矩形法数值积分近似代替积分,用一阶后向差分近似代替微分,可作如下近似变换: kkTt (式 21) 上式中,为了表示的方便,将类似于简化成等。 )(kTeke将(式 21)代入(式 12) ,就可以得到离散的 PID 表达式为 10TeeTdeTiTeKpukkkjjkk=+= (式 22) 或 )(10*=+=kkkjjkkeeKdeKieKpu (式 23) 其中 k 采样序号,k0,1,2,; 第kuk次采样时刻的计算机输出值; 第kek次采样时刻输入的偏差值; 第1kek1 次采样时

14、刻输入的偏差值; 积分系数,KiTiTKpKi*; 微分系数,KdTTdKpKd*; 如果采样周期足够小,则(式 22)或(式 23)的近似计算可以获得足够精确的结果,离散控制过程与连续过程十分接近。 (式 22)或(式 23)表示的控制算法式直接按(式 12)所给出的 PID 控制规律定义进行计算的,所以它给出了全部控制量的大小,因此被称为全量式或位置式 PID 控制算法。 这种算法的缺点是: 由于全量输出, 所以每次输出均与过去状态有关, 计算时要对进行累加,ke欢迎访问 www.XinShiL 新势力单片机、嵌入式;资料整理自互联网,版权归原作者! PID 调节控制做电机速度控制调节控制

15、做电机速度控制 Sunplus Technology Co., Ltd. PAGE 4 V1.1 Jan 23, 2006工作量大;并且,因为计算机输出的对应的是执行机构的实际位置,如果计算机出现故障,输出的将大幅度变化,会引起执行机构的大幅度变化,有可能因此造成严重的生产事故,这在实生产际中是不允许的。 kuku 增量式 PID 控制算法可以避免着重现象发生。 2.2 增量式增量式PID算法算法 所谓增量式 PID 是指数字控制器的输出只是控制量的增量ku。当执行机构需要的控制量是增量,而不是位置量的绝对数值时,可以使用增量式 PID 控制算法进行控制。 增量式 PID 控制算法可以通过(式

16、 22)推导出。由(式 22)可以得到控制器的第 k1个采样时刻的输出值为: 211011TeeTdeTiTeKpukkkjjkk=+= (式 24) 将(式 22)与(式 24)相减并整理,就可以得到增量式 PID 控制算法公式为: 21212111)21 ()1 ()2(+=+=+=kkkkkkkkkkkkkkkCeBeAeeTTdKpeTTdKpeTTdTiTKpTeeeTdeTiTeeKpuuu (式 25) 其中 A )1 (TTdTiTKp+; B )21 (TTdKp+; C TTdKp。 由(式 25)可以看出,如果计算机控制系统采用恒定的采样周期T,一旦确定 A、B、C,只要

17、使用前后三次测量的偏差值,就可以由(式 25)求出控制量。 增量式 PID 控制算法与位置式 PID 算法(式 22)相比,计算量小的多,因此在实际中得到广泛的应用。 而位置式 PID 控制算法也可以通过增量式控制算法推出递推计算公式: kkkuuu1 (式 26) (式 26)就是目前在计算机控制中广泛应用的数字递推 PID 控制算法。 2.3 控制器参数整定控制器参数整定 控制器参数整定:指决定调节器的比例系数、积分时间Ti、微分时间Td和采样周期Ts的Kp欢迎访问 www.XinShiL 新势力单片机、嵌入式;资料整理自互联网,版权归原作者! PID 调节控制做电机速度控制调节控制做电机

18、速度控制 Sunplus Technology Co., Ltd. PAGE 5 V1.1 Jan 23, 2006具体数值。整定的实质是通过改变调节器的参数,使其特性和过程特性相匹配,以改善系统的动态和静态指标,取得最佳的控制效果。 整定调节器参数的方法很多,归纳起来可分为两大类,即理论计算整定法和工程整定法。理论计算整定法有对数频率特性法和根轨迹法等;工程整定法有凑试法、临界比例法、经验法、衰减曲线法和响应曲线法等。工程整定法特点不需要事先知道过程的数学模型,直接在过程控制系统中进行现场整定方法简单、计算简便、易于掌握。 2.3.1 凑试法凑试法 按照先比例(P) 、再积分(I) 、最后微

19、分(D)的顺序。 置调节器积分时间Ti=,微分时间Td=0,在比例系数按经验设置的初值条件下,将系统投入运行,由小到大整定比例系数。求得满意的 1/4 衰减度过渡过程曲线。 KpKp 引入积分作用(此时应将上述比例系数设置为 5/6) 。将Ti由大到小进行整定。 KpKp 若需引入微分作用时,则将Td按经验值或按Td=(1/31/4)设置,并由小到大加入。 Ti2.3.2 临界比例法临界比例法 在闭环控制系统里,将调节器置于纯比例作用下,从小到大逐渐改变调节器的比例系数,得到等幅振荡的过渡过程。此时的比例系数称为临界比例系数,相邻两个波峰间的时间间隔,称为临界振荡周期Tu。 Ku 临界比例度法

20、步骤: 1、将调节器的积分时间置于最大(Ti=) ,微分时间置零(Td=0) ,比例系数适当,平衡操作一段时间,把系统投入自动运行。 TiKp 2、 将比例系数逐渐增大, 得到等幅振荡过程, 记下临界比例系数和临界振荡周期Tu值。 KpKu 3、根据和值,采用经验公式,计算出调节器各个参数,即、和Td的值。 KuTuKpTi 按“先 P 再 I 最后 D”的操作程序将调节器整定参数调到计算值上。若还不够满意,可再作进一步调整。 临界比例度法整定注意事项: 有的过程控制系统,临界比例系数很大,使系统接近两式控制,调节阀不是全关就是全开,对工业生产不利。 有的过程控制系统,当调节器比例系数调到最大

21、刻度值时,系统仍不产生等幅振荡,对此,就把最大刻度的比例度作为临界比例度进行调节器参数整定。 KpKu2.3.3 经验法经验法 用凑试法确定 PID 参数需要经过多次反复的实验,为了减少凑试次数,提高工作效率,可以借鉴他人的经验,并根据一定的要求,事先作少量的实验,以得到若干基准参数,然后按照经验公式,用这些基准参数导出 PID 控制参数,这就是经验法。 临界比例法就是一种经验法。这种方法首先将控制器选为纯比例控制器,并形成闭环,改变比例系数,使系统对阶跃输入的响应达到临界状态,这时记下比例系数、临界振荡周期为Tu,根Ku欢迎访问 www.XinShiL 新势力单片机、嵌入式;资料整理自互联网

22、,版权归原作者! PID 调节控制做电机速度控制调节控制做电机速度控制 Sunplus Technology Co., Ltd. PAGE 6 V1.1 Jan 23, 2006据 ZN 提供的经验公式,就可以由这两个基准参数得到不同类型控制器的参数,如表 21 所示。 表 21 临界比例法确定的模拟控制器参数 控制器类型 Kp Ti Td P 0.5 Ku PI 0.45 Ku0.85Tu PID 0.6 Ku0.5Tu 0.12Tu 这种临界比例法使针对模拟 PID 控制器,对于数字 PID 控制器,只要采样周期取的较小,原则上也同样使用。在电动机的控制中,可以先采用临界比例法,然后在采用

23、临界比例法求得结果的基础上,用凑试法进一步完善。 表 21 的控制参数, 实际上是按衰减度为 1/4 时得到的。 通常认为 1/4 的衰减度能兼顾到稳定性和快速性。如果要求更大的衰减,则必须用凑试法对参数作进一步的调整。 2.3.4 采样周期的选择采样周期的选择 香农(Shannon)采样定律 :为不失真地复现信号的变化,采样频率至少应大于或等于连续信号最高频率分量的二倍。根据采样定律可以确定采样周期的上限值。实际采样周期的选择还要受到多方面因素的影响,不同的系统采样周期应根据具体情况来选择。 采样周期的选择,通常按照过程特性与干扰大小适当来选取采样周期:即对于响应快、 (如流量、压力)波动大

24、、易受干扰的过程,应选取较短的采样周期;反之,当过程响应慢(如温度、成份) 、滞后大时,可选取较长的采样周期。 采样周期的选取应与PID参数的整定进行综合考虑, 采样周期应远小于过程的扰动信号的周期,在执行器的响应速度比较慢时,过小的采样周期将失去意义,因此可适当选大一点;在计算机运算速度允许的条件下,采样周期短,则控制品质好;当过程的纯滞后时间较长时,一般选取采样周期为纯滞后时间的 1/41/8。 2.4 参数调整规则的探索参数调整规则的探索 人们通过对 PID 控制理论的认识和长期人工操作经验的总结, 可知 PID 参数应依据以下几点来适应系统的动态过程。 1、 在偏差比较大时, 为使尽快

25、消除偏差, 提高响应速度, 同时为了避免系统响应出现超调,Kp取大值,取零;在偏差比较小时,为继续减小偏差,并防止超调过大、产生振荡、稳定性变坏,值要减小,取小值;在偏差很小时,为消除静差,克服超调,使系统尽快稳定,值继续减小,值不变或稍取大。 KiKpKiKpKi 2、当偏差与偏差变化率同号时,被控量是朝偏离既定值方向变化。因此,当被控量接近定值时,反号的比列作用阻碍积分作用,避免积分超调及随之而来的振荡,有利于控制;而当被控量远未接近各定值并向定值变化时,则由于这两项反向,将会减慢控制过程。在偏差比较大时,偏差变化率与偏差异号时,值取零或负值,以加快控制的动态过程。 Kp 3、偏差变化率的

26、大小表明偏差变化的速率,越大,取值越小,取值越大,反之亦然。同时,要结合偏差大小来考虑。 1kkeeKpKi欢迎访问 www.XinShiL 新势力单片机、嵌入式;资料整理自互联网,版权归原作者! PID 调节控制做电机速度控制调节控制做电机速度控制 Sunplus Technology Co., Ltd. PAGE 7 V1.1 Jan 23, 2006 4、微分作用可改善系统的动态特性,阻止偏差的变化,有助于减小超调量,消除振荡,缩短调节时间,允许加大 ,使系统稳态误差减小,提高控制精度,达到满意的控制效果。所以,在比较大时,取零,实际为 PI 控制;在比较小时,取一正值,实行 PID 控

27、制。 stKpkeKdkeKd2.5 自校正自校正PID控制器控制器 对于一个特定的被控对象,在纯比例控制的作用下改变比例系数可以求出产生临界振荡的振荡周期和临界比例系数。 TuKu 根据 ZN 条件,有 TuT1 . 0= TuTi5 . 0= TuTd125. 0=代入(式 25)则有: )25. 15 . 345. 2(21+kkkkeeeKpu (式 27) 很显然,采用上式可以十分容易的实现常数的校正。 Kp 欢迎访问 www.XinShiL 新势力单片机、嵌入式;资料整理自互联网,版权归原作者! PID 调节控制做电机速度控制调节控制做电机速度控制 Sunplus Technolo

28、gy Co., Ltd. PAGE 8 V1.1 Jan 23, 2006 3 软件说明软件说明 3.1 软件说明软件说明 AN_SPMC75_0012 在微处理器 SPMC75F2413A 上实现数字 PID 对 BLDC 速度的调节,重点将是对 PID 参数的整定,使系统的动静态性能达到“满意”的效果。 3.2 档案构成档案构成 文件名称 功能 类型Main BLDC 驱动相关参数初始化,DMC 服务 C Chap2 BLDC 驱动相关函数 C Initial 系统所有相关初始化程序 C ISR 驱动中相应的中断服务 C DigitalPID_V100.lib PID 设置,初始化和 PI

29、D 计算函数库函数 lib Spmc75_dmc_lib_V100.lib DMC 通信程序 lib 3.3 DMC界面界面 Speed1_Cmd:设置电机运转的速度 Speed1_Now:电机当前反馈速度 Speed1_Kp:2.5 节 自校正 PID 控制器中提到的 Kp 值 User_R0:当前 P_TMR3_TGRA 寄存器的值 User_R1:设置速度与电机实际转速的差值 Motor 1 Start 和 Motor 1 Stop 控制启停 欢迎访问 www.XinShiL 新势力单片机、嵌入式;资料整理自互联网,版权归原作者! PID 调节控制做电机速度控制调节控制做电机速度控制 S

30、unplus Technology Co., Ltd. PAGE 9 V1.1 Jan 23, 20063.4 子程序说明子程序说明 PIDInit ( ) 原原 形形 void PIDInit (void) 描描 述述 PID 所用到的 RAM 清零 输入参数输入参数 无 输出参数输出参数 无 头头 文文 件件 Spmc75_PID.h 库库 文文 件件 DigitalPID_V100 注意事项注意事项 请在设置参数前使用。 例例 子子 PIDInit (); 欢迎访问 www.XinShiL 新势力单片机、嵌入式;资料整理自互联网,版权归原作者! PID 调节控制做电机速度控制调节控制做电

31、机速度控制 Sunplus Technology Co., Ltd. PAGE 10 V1.1 Jan 23, 2006 PIDSetPoint ( ) 原原 形形 void PIDSetPoint(int) 描描 述述 设置 PID 调节的目标值 输入参数输入参数 期望值 输出参数输出参数 无 头头 文文 件件 Spmc75_PID.h 库库 文文 件件 DigitalPID_V100 注意事项注意事项 例例 子子 PIDSetPoint (2000); /期望电动机的转速为 2000rpm PIDGetSetpoint ( ) 原原 形形 int PIDGetSetpoint(void)

32、描描 述述 读取 PID 调节设置的目标值 输入参数输入参数 无 输出参数输出参数 所设置的期望值 头头 文文 件件 Spmc75_PID.h 库库 文文 件件 DigitalPID_V100 注意事项注意事项 得到的期望值将和数值的是同一个数值 例例 子子 uiSpeed PIDSetPoint (); /读取所设置的期望电动机转速 欢迎访问 www.XinShiL 新势力单片机、嵌入式;资料整理自互联网,版权归原作者! PID 调节控制做电机速度控制调节控制做电机速度控制 Sunplus Technology Co., Ltd. PAGE 11 V1.1 Jan 23, 2006 PIDS

33、etKp ( ) 原原 形形 void PIDSetKp(double) 描描 述述 设置 PID 的 Kp 值 输入参数输入参数 Kp 数值 输出参数输出参数 无 头头 文文 件件 Spmc75_PID.h 库库 文文 件件 DigitalPID_V100 注意事项注意事项 这个参数在增量 PID 和位置 PID 的计算中代表着不同的意思。 (式 24)所示位置式 PID 中 Kp 就是比例系数 (式 25)所示增量式 PID 中 Kp 相当于的系数ke)1 (TTdTiTKp+ 例例 子子 PIDSetKp (0.257); /设置 Kp0.257 PIDGetKp ( ) 原原 形形 d

34、ouble PIDGetKp(void) 描描 述述 读取 PID 中所设置的 Kp 值 输入参数输入参数 无 输出参数输出参数 Kp 数值 头头 文文 件件 Spmc75_PID.h 库库 文文 件件 DigitalPID_V100 注意事项注意事项 这个参数在增量 PID 和位置 PID 的计算中代表着不同的意思。 (式 24)所示位置式 PID 中 Kp 就是比例系数 (式 25)所示增量式 PID 中 Kp 相当于的系数ke)1 (TTdTiTKp+ 例例 子子 dKp PIDSetKp (); 欢迎访问 www.XinShiL 新势力单片机、嵌入式;资料整理自互联网,版权归原作者!

35、PID 调节控制做电机速度控制调节控制做电机速度控制 Sunplus Technology Co., Ltd. PAGE 12 V1.1 Jan 23, 2006 PIDSetKi( ) 原原 形形 void PIDSetKi(double dKii) 描描 述述 设置 PID 的 Ki 值 输入参数输入参数 Ki 数值 输出参数输出参数 无 头头 文文 件件 Spmc75_PID.h 库库 文文 件件 DigitalPID_V100 注意事项注意事项 这个参数在增量 PID 和位置 PID 的计算中代表着不同的意思。 (式 24)所示位置式 PID 中 Ki 是积分系数TiTKp (式 25

36、)所示增量式 PID 中 Ki 是的系数1ke)21 (TTdKp+ 例例 子子 PIDSetKi (0.367); /设置 Ki0.367 PIDGetKi( ) 原原 形形 double PIDGetKi(void) 描描 述述 读取 PID 中所设置的 Ki 值 输入参数输入参数 无 输出参数输出参数 Ki 数值 头头 文文 件件 Spmc75_PID.h 库库 文文 件件 DigitalPID_V100 注意事项注意事项 这个参数在增量 PID 和位置 PID 的计算中代表着不同的意思。 (式 24)所示位置式 PID 中 Ki 是积分系数TiTKp (式 25)所示增量式 PID 中

37、 Ki 是的系数1ke)21 (TTdKp+ 例例 子子 dKi PIDSetKi (); 欢迎访问 www.XinShiL 新势力单片机、嵌入式;资料整理自互联网,版权归原作者! PID 调节控制做电机速度控制调节控制做电机速度控制 Sunplus Technology Co., Ltd. PAGE 13 V1.1 Jan 23, 2006 PIDSetKd ( ) 原原 形形 void PIDSetKd(double dKdd) 描描 述述 设置 PID 的 Kd 值 输入参数输入参数 Kd 数值 输出参数输出参数 无 头头 文文 件件 Spmc75_PID.h 库库 文文 件件 Digi

38、talPID_V100 注意事项注意事项 这个参数在增量 PID 和位置 PID 的计算中代表着不同的意思。 (式 24)所示位置式 PID 中 Kd 是积分系数TTdKp (式 25)所示增量式 PID 中 Kd 是的系数2keTTdKp 例例 子子 PIDSetKd (0.157); /设置 Kd0.157 PIDGetKd ( ) 原原 形形 void PIDGetKd(double dKdd) 描描 述述 读取 PID 中所设置的 Kd 值 输入参数输入参数 无 输出参数输出参数 Kd 数值 头头 文文 件件 Spmc75_PID.h 库库 文文 件件 DigitalPID_V100

39、注意事项注意事项 这个参数在增量 PID 和位置 PID 的计算中代表着不同的意思。 (式 24)所示位置式 PID 中 Kd 是积分系数TTdKp (式 25)所示增量式 PID 中 Kd 是的系数2keTTdKp 例例 子子 dKd PIDSetKd (); 欢迎访问 www.XinShiL 新势力单片机、嵌入式;资料整理自互联网,版权归原作者! PID 调节控制做电机速度控制调节控制做电机速度控制 Sunplus Technology Co., Ltd. PAGE 14 V1.1 Jan 23, 2006 IncPIDCalc ( ) 原原 形形 int IncPIDCalc(int)

40、描描 述述 增量式 PID 计算 输入参数输入参数 PID 调节当前采样值 输出参数输出参数 计算增量 头头 文文 件件 Spmc75_PID.h 库库 文文 件件 DigitalPID_V100 注意事项注意事项 (式 25)增量式 PID 算法的实现。 例例 子子 uiGoalvalue IncPIDCalc (1998); /位置式 PID 控制算法通过增量式控制算法递推实现,当前采样得到转速 1998rpm。 欢迎访问 www.XinShiL 新势力单片机、嵌入式;资料整理自互联网,版权归原作者! PID 调节控制做电机速度控制调节控制做电机速度控制 Sunplus Technolog

41、y Co., Ltd. PAGE 15 V1.1 Jan 23, 2006 LocPIDCalc ( ) 原原 形形 unsigned int LocPIDCalc(int) 描描 述述 位置式 PID 计算 输入参数输入参数 PID 调节当前采样值 输出参数输出参数 位置式 PID 计算出的绝对位置值 头头 文文 件件 Spmc75_PID.h 库库 文文 件件 DigitalPID_V100 注意事项注意事项 (式 24)位置式式 PID 算法的实现。 例例 子子 uiGoalvalue LocPIDCalc (1998); /位置式 PID 控制算法,当前采样得到转速 1998rpm。

42、其它应用函数式对 BLDC 驱动的实现,不再一一赘述,可以参考【AN_SPMC75_0003】应用例的介绍。 欢迎访问 www.XinShiL 新势力单片机、嵌入式;资料整理自互联网,版权归原作者! PID 调节控制做电机速度控制调节控制做电机速度控制 Sunplus Technology Co., Ltd. PAGE 16 V1.1 Jan 23, 20064 程序范例程序范例 4.1 DEMO程序程序 /*=*/ /应用范例 /*=*/ #include Spmc75_regs.h #include Spmc_typedef.h #include unspmacro.h #include

43、Spmc75_BLDC.h main() P_IOA_SPE-W = 0 x0000; P_IOB_SPE-W = 0 x0000; P_IOC_SPE-W = 0 x0000; Spmc75_System_Init(); /Spmc75 系统初始化 while(1) BLDC_Run_Service(); /启停监控 NOP(); /= / Description: IRQ0 interrupt source is XXX,used to XXX / Notes:错误保护 /= void IRQ0(void) _attribute_ (ISR); void IRQ0(void) IPM_Fa

44、ult_Protect(); /= / Description: IRQ1 interrupt source is XXX,used to XXX / Notes:BLDC 启动及正常运行服务 /= void IRQ1(void) _attribute_ (ISR);欢迎访问 www.XinShiL 新势力单片机、嵌入式;资料整理自互联网,版权归原作者! PID 调节控制做电机速度控制调节控制做电机速度控制 Sunplus Technology Co., Ltd. PAGE 17 V1.1 Jan 23, 2006 void IRQ1(void) /*=*/ /*Position detect

45、ion change interrupt /*=*/ if(P_TMR0_Status-B.PDCIF & P_TMR0_INT-B.PDCIE) BLDC_Motor_Normalrun(); /*=*/ /*Timer Counter Overflow /*=*/ if(P_TMR0_Status-B.TCVIF & P_TMR0_INT-B.TCVIE) BLDC_Motor_Startup(); P_TMR0_Status-W = P_TMR0_Status-W; /= / Description: IRQ6 interrupt source is XXX,used to XXX /

46、Notes:DMC 接收中断服务函数 /= void IRQ6(void) _attribute_ (ISR); void IRQ6(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: IRQ7 interrupt source is XXX,used to XXX / Notes:512Hz 定时中断完成 PID 调节速度 /= void IRQ7(void)

47、 _attribute_ (ISR); void IRQ7(void) if(P_INT_Status-B.CMTIF) if(P CMT Ctrl-B.CM0IF & P CMT Ctrl-B.CM0IE)欢迎访问 www.XinShiL 新势力单片机、嵌入式;资料整理自互联网,版权归原作者! PID 调节控制做电机速度控制调节控制做电机速度控制 Sunplus Technology Co., Ltd. PAGE 18 V1.1 Jan 23, 2006 BLDC_Motor_Actiyator(); P_CMT_Ctrl-W = P_CMT_Ctrl-W; PID 计算子函数: /数据结构

48、 typedef struct PID int SetPoint; /设定目标 Desired Value long SumError; /误差累计 double Proportion; /比例常数 Proportional Const double Integral; /积分常数 Integral Const double Derivative; /微分常数 Derivative Const int LastError; /Error-1 int PrevError; /Error-2 PID; static PID sPID; static PID *sptr = &sPID; /PID

49、参数初始化 void IncPIDInit(void) sptr-SumError = 0; sptr-LastError = 0; /Error-1 sptr-PrevError = 0; /Error-2 sptr-Proportion = 0; /比例常数 Proportional Const sptr-Integral = 0; /积分常数 Integral Const sptr-Derivative = 0; /微分常数 Derivative Const sptr-SetPoint = 0; 欢迎访问 www.XinShiL 新势力单片机、嵌入式;资料整理自互联网,版权归原作者! PID 调节控制做电机速度控制调节控制做电机速度控制 Sunplus Technology Co., Ltd. PAGE 19 V1.1 Jan 23, 2006/增量式 PID 控制设计 int IncPIDCalc(int NextPoint) register int iError, iIncpid; /当前误差 iError = sptr-SetPoint - NextPoint; /增量计算 iIncpid = sptr-Proportion * iError /Ek项 - sptr-Integral * sptr-LastError /Ek1项 + sptr-Derivative

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报