《2022年PID控制 .docx》由会员分享,可在线阅读,更多相关《2022年PID控制 .docx(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品_精品资料_PID 的运算输出结果怎么换算成执行机构的掌握量您所在的位置:IC37 首页 技术问答 单片机 PID掌握PID 掌握始终不怎么明白PID 的运算输出结果 怎么换算成执行机构的掌握量, 例如通过 PWM掌握电机的转速 ,许多书上都讲 PID, 但是从来没发觉有哪一本书认真讲清PID 的运算结果通过怎样处理换算成实际的掌握量, 例如直流电机通过PWM调压掌握转速 , 假如设定值为 S, 测量值为 P, 通过 PID 运算得到一个 结果为 R,怎么把 R 转换成占空比 0100% 去掌握电机 .作者: wenfengcom2022-10-16 17:34:00回复 1是啊 , 这个
2、我也想知道 152730由于 PID 运算出来的值有许多不确定的特别在PID 三个变量都可以自己设定的话作者: 会流泪的鱼2022-10-17 9:06:00回复 2re152731直接依据 R的取值范畴,比如说0 100,对应占空比 0%-100%输出 pwm波掌握电机,当然R 有可能不是从 0 开头的PWM作者: huntington2022-10-17 9:15:00回复 3.模糊,哪位高手上来给讲讲清晰.152732这样行不行?PWM掌握电机速度:设置速度 Vset 对应的输入电压为Vs(留意和 VCC的关系) 实际速度 Vtrue 对应的输入电压为Vr (留意和 VCC的关系)求得的
3、三个偏差就都是以电压为单位,再分别和P/I/D参数运算得到的运算值Vout 也是以电压为单位,假如 PWM占空比为 100%的时候, PWM的掌握极电压 =VCC,那么 Vout/VCC 就是 PWM此时的输出占空比,有了 PWM占空比, MCU该怎么运算就简洁了.我是这么认为的问一个 PID 的小学问:假如一个系统基本确定了P 的大小,是否意味着已经基本确定了这个系统的掌握范畴?例如:一个温度掌握系统,测量范畴 0200 度,假设此时要求在100 度的掌握,假如此时P 已经确定,例如 P=3,就比例带对应的温度范畴是多少?如何确定输出?假如一个温度掌握, 设置目标温度 100 度,当前实际温
4、度60 度,前一次测量温度56 度,再前一次测量温度 55 度,微分时间 T1,积分时间 T2,比例 P,输出用 MCU的 PWM掌握固态继电器,PID 运算的结果为 VALpid, 这个结果如何转化为PWM的占空比?这样行不行?PWM的占空比 =VALpid/100作者: 已注册2022-10-17 9:25:00回复 4我是这样用的 152733运算出 PID 结果 d(t ) =p*e0-e1+i*e0+d*e0-2e1+e2,定时器进入一次找个变量自加 1,比较这个变量和dt,小于和大于输出不同的状态.只得其形,未得其意.作者: dedeke2022-10-17 9:48:00回复 5
5、LS 的方法好古怪? 152734可编辑资料 - - - 欢迎下载精品_精品资料_这样也可以?高人都躲起来修炼神功了吗?就俺们一堆菜鸟在这瞎想,也没高人来讲讲作者: 已注册2022-10-17 16:40:00回复 6我也很想知道 152735我也很想知道 , 所以我能做的只能是把这个帖子给顶起来了.我顶 , 我顶 , 我顶顶顶 .-作者: 会流泪的鱼2022-10-18 8:34:00回复 7开头怀疑 152736开头怀疑作者: 已注册2022-10-18 9:21:00回复 8回 6L152737我用这种方法掌握温度,依据采集温度的不同调整PID 参数,温度能掌握到 +-2 度.作者: d
6、edeke2022-10-18 9:33:00回复 9LS 能认真讲讲吗? 152738PID 参数在掌握过程中一般是不调整的啊,依据采集温度的不同调整PID 参数好象好古怪哦作者: 已注册2022-10-18 9:49:00回复 10简洁的讲一下 152739这里涉及到一些掌握理论的基本概念.理论上及实践中,可以通过pid 配置 闭环系统的零极点,以达到期望的输出.假设系统是 线性的,单输入输出,对于pid,先考虑基本的比例掌握,再加入id.Input:Speed -Wi Ouput:Speed -WoTransfer function of DC motor:fs = a1*s + a0/
7、s2 + b1*s + b0.仍是省略这些基本的理论吧.用反馈回来的速度,可以得到误差 :E = Wi - Wo这样就得到了掌握机构的输入 :V = P * E = P * Wi - Wo由于是 线性系统,因而可以把全部的转换系数全部折入这个比例中.比如 : Wi = 100, Wo = 97, P为 20, pwm 电源电压为 100V Thus, E = Wi - Wo = 3Vpwm = P * E = 60 V,那么占空比为 : 60 / 100 = 60 %假如只有比例,那么这个系统的稳态输出Wo不会等于 Wi,这称为 静差 .增大 P可以减小静差,但可能造成掌握机构饱和及系统不稳固
8、.作者: IceAge2022-10-18 10:08:00回复 11这是怎么推导出来的啊?152740可编辑资料 - - - 欢迎下载精品_精品资料_用反馈回 来的速度,可以得到 误差 :E = Wi - Wo这样就得到了掌握机构的输入 :V = P * E = P * Wi - WoWi,Wo是速度信号, E( =Wi - Wo)的单位仍是速度, P 是没有单位的, P*E 得到的结果,单位仍是速度单位啊,为什么就这么一变就成电压单位了了? 假如只有比例,那么这个系统的稳态输出Wo不会等于 Wi,这称为静差.增大P可以减小静差,但可能造成掌握机构饱和及系统不稳固这一段好懂得,看V= P *
9、 Wi - Wo就可以明白了,从这个公司来讲,只有P 无穷大的时候, Wi- Wo 才无穷趋向于 0,所以 Wi - Wo永久都是不会等于0 的,这也就是静差了把.你说的 PWM电源电压是 100V,是指的 PWM掌握极的电压把? 作者: 已注册2022-10-18 13:30:00回复 12152741另外:假设系统是线性的, 怎么确定系统是线形的啊? 一般依据什么大致确定系统是线形的?作者: 已注册2022-10-18 13:36:00回复 13感觉 PID 真的好难 .152742假设我搞个温控仪 比例掌握为 0.0-100.0,积分 为 0-200, 微分 为 0-200, 掌握范畴在
10、 -50-150度之间 , 依据 d( t ) =p*e0-e1+i*e0+d*e0-2e1+e2,运算出来的结果dt怎么样和设定的温度 关联起来 .作者: 会流泪的鱼2022-10-18 15:26:00回复 14LS 的问题,依据我的懂得可以这样,但不知道对不对?;152743ifP=0100,掌握范畴 K=-50150 (即 200) else输出占空比 =dt*K/P作者: 已注册2022-10-18 15:50:00回复 15To 已注册 152744可编辑资料 - - - 欢迎下载精品_精品资料_Wi,Wo 是速度信号, E( =Wi - Wo)的单位仍是速度, P 是没有单位的,
11、 P*E 得到的结果,单位仍是速度单位啊,为什么就这么一变就成电压单位了了?掌握器的输入输出关系.比例器是最简洁的掌握器,包含了转换系数,实际上为V = K* Kv/Kw * E = P * Ewhere P = K * Kv/Kw, Kv/Kw为转换常量. 所以 Wi - Wo永久都是不会等于0 的,这也就是静差了把.对.加入积分后,可以排除静差.直观的懂得就是,只要E不为 0,掌握器的输出 V就会不断增加| 削减,导致 Wo 增加 | 削减,最终使 E = 0关于什么是线性系统:看输入输出的关系,比如N 个不同输入产生的输出叠加后应当等于N 个不同输入叠加的输入产生的输出.PWM可近似认为
12、是线性系统,dc motor也是线性系统, pid 线性,所以整个系统是线性To 会流泪的鱼 :“d( t ) =p*e0-e1+i*e0+d*e0-2e1+e2)这是所谓的 增量公式 ,许多人不求甚解的传抄, search我以前的帖子. 对于温度掌握 , 增量公式的迭代并不相宜,实际中,微分也无必要,由于系统极大的时间常数.可用 PI原型公式 :V = Kp*e + Ki*integratore-In = In-1 + Ki * en - en-1 -单独的积分器Vn = Kp*en + In作者: IceAge2022-10-18 21:28:00回复 16toIceAge :152745
13、V = Kp*e + Ki*integratore-In = In-1 + Ki * en - en-1 -单独的积分器Vn = Kp*en + In对于这个公式程序也不难编出来, 但是我搞不清晰运算出的Vn 怎么和实际掌握器件 关联起来 .比如 : 设 P=10,I=30, 掌握周期 T=30 秒, 设定温度为 60 度, 实际温度为 50 度. 用继电器触点开关进行掌握作者: 会流泪的鱼2022-10-19 8:52:00回复 17工程中 P 是要调的 152746俗称: PID 参数校准.可以 以开环的比例 做基本参数,实际在这个参数上调出来.比例具体多大 关系不大 ,只影响达到 平稳的
14、具体时间 .当然你要能算出来就更好.PID 可以想象为一个运放, +- 两端肯定要达到相等,至于多快和运放参数和反馈参数有关.也存在自激、积分、微分.作者: 农夫讲习所2022-10-19 9:11:00回复 18所以说我晕呼呼的, 书也买了一本但它里面讲得很乱.152747所以说我晕呼呼的 , 书也买了一本但它里面讲得很乱 .作者: 会流泪的鱼2022-10-19 10:37:00回复 19TOIceAge 152748可编辑资料 - - - 欢迎下载精品_精品资料_一:/ 关于什么是线性系统:看输入输出的关系,比如N 个不同输入产生的输出叠/ 加后应当等于 N 个不同输入叠加的输入产生的输
15、出.PWM可近似认为是线性/ 系统, dc motor也是线性系统, pid 线性,所以整个系统是线性我的懂得如下:假设有 n 个输入 IN1,IN2.INn,假设 n 个输入信号一起输入系统时,产生的输出为OUTall ,假设 n 个输入信号分开输入系统时,产生的输出为OUT1,OUT2.OUTn假如 OUTall=k*OUT1+OUT2+.+OUTn,k为常数,那么这个系统可定义为线形的.请问上面的懂得对吗?二:你说的 PWM电源电压是 100V,是指的 PWM掌握极的电压把?IMG请问这个懂得对不对? 三:举例温度掌握:假设一个温度PID 掌握,用 PWM掌握固态继电器实现,临时不谈I/
16、D 环节,就只以 P 环节说明,假设我们设置的P=2,PWM电源电压为 5VDC,再假设在当前时刻: E=10 度那么: Vpwm=P*E=10*2=20. PWM的占空比 =20/5=400%此时, PWM的占空比 100%,所以系统全功率运行.请问上面的懂得对不对?四:就上面的问题又产生另一个疑问:记忆中好象 P 都是大于 1 的,假如 PWM电压电压为 5VDC,那么只有 E5 度的时候, PWM的占空比才可能100%,所以系统 全功率运行.请问上面的懂得对不对?四:就上面的问题又产生另一个疑问:记忆中好象 P 都是大于 1 的,假如 PWM电压电压为 5VDC,那么只有 E5 度的时候
17、, PWM的占空比才可能100%,所以系统全功率运行 152760没错.这个 掌握器只能在当前测量温度和设置温度之差小于 5 度的情形下才能起点掌握作用也没说错,更准确的说:测量温度和设置温度之差小于5 度的情形下,掌握器 才进入了线性掌握区.作者: IceAge2022-10-19 11:25:00回复 32那我回答一下:流泪的那条鱼的问题,152761请看看对不对.他实际想要做的是要继电器通断比例时间来掌握问题. 这个比例时间反推到MCU来说,也相当于调剂占空比.所以,我刚才运算的占空比就相对应于他的时间占空比 ,假如他的掌握周期为30S,那么他的开周期=30* 占空比,关周期 =30*
18、( 1- 占空比)作者: 已注册2022-10-19 11:26:00回复 33152762我估量流泪的那条鱼的困惑可能在于惊讶的发觉运算出来的占空比远远大于1 ,于是搞不懂 p到底是什么了.呵呵,负反馈的作用就在于此.作者: IceAge2022-10-19 11:36:00回复 34152763我做总结,请看看对不对.用温度掌握举例:假设设置温度为 Tset ,当前温度为 Tend, 前一次测量为 T1, 再前一次为 T2, PID 运算: d( t ) =p*e0-e1+i*e0+d*e0-2e1+e2,不管 P/I/D三个参数设置是否合理,算出dt,假如用 PWM掌握固态继电器的话,那
19、么占空比=dt/powerpwm,假如是 5V 的 MCU系统, PWM电压电压为 5VDC,那么占空比 =dt/5,假如占空比 100%,说明系统 需要全功率运行.假如占空比 100%,说明 P/I/D参数设置不合理,调剂它到合理范畴内,就可以得到一个比较好的掌握范畴和掌握结果.TOIceAge :下面的说法对不对?已注册 发表于 2022-10-19 13:09侃单片机 返回版面38 楼: 到也是, PWM电压可以直接折算到P/I/D三个参数里面/d ( t ) =p*e0-e1+i*e0+d*e0-2e1+e2的结果是 pid的增/ 量,最终的占空比为R0 = R1 + d( t =我前
20、面说的原型公式是这个意思吗?;公式: d (t ) =p*e0-e1+i*e0+d*e0-2e1+e2运算出的值是增量,需要折算到位置量输出,也就是:R0 = R1 + d( t作者: 已注册2022-10-19 14:19:00回复 40152769我来了 , 不过现在没时间看晚上我会上来问的 .已注册 顶着 , 别让这帖深下去了作者: 会流泪的鱼2022-10-19 14:44:00回复 41占空比 152770假如通过 PID 运算出的结果为dt, 占空比 100%时 dt 为 100, 那么 50%时 dt 为多少啊 .作者: wenfengcom2022-10-19 18:39:00
21、可编辑资料 - - - 欢迎下载精品_精品资料_回复 42感谢 IceAge 的热忱回答 152771特别感谢 IceAge 的热忱回答 , 有一个疑问 , 你说 D=dt/UPWM,即占空比等于PID 运算结果除以PWM端电压, 但是市场上出售的温控器接固态继电器掌握温度,PWM端的电压可以任意接啊, 固态继电器并不是接的某一种特定的电压啊 , 那么这个 Upwm不是不确定了吗 , 那怎么办啊 ,Upwm等于多少啊 .作者: wenfengcom2022-10-19 19:03:00回复 43TOwenfengcom152772/ 假如通过 PID 运算出的结果为 dt, 占空比 100%时
22、 dt 为 100, 那么 50%时 dt 为多少 .错,应当是 dt=1就占空比为 100%,dt=0.5就占空比为 50%/D=dt/UPWM, 即占空比等于 PID 运算结果除以 PWM端电压 , 但是市场上出售的温控/ 器接固态继电器掌握温度,PWM端的电压可以任意接啊, 固态继电器并不是接的/ 某一种特定的电压啊 , 那么这个 Upwm不是不确定了吗 , 那怎么办啊 ,Upwm等于多/ 少啊 .懂得仍是错的,在上面已经明确了,是PWM掌握极电压,观察我的那个图了吗?是 PWM波形的幅值电压,是定值,这个值只是要定值就行,是多少其实无所谓,由于P/I/D三参数可以同比放大这个值.TOI
23、ceAge :我在 38 楼的懂得对吗?已注册 发表于 2022-10-19 13:09侃单片机 返回版面38 楼: 到也是, PWM电压可以直接折算到P/I/D三个参数里面/d ( t ) =p*e0-e1+i*e0+d*e0-2e1+e2的结果是 pid的增/ 量,最终的占空比为R0 = R1 + d( t =我前面说的原型公式是这个意思吗?;公式: d (t ) =p*e0-e1+i*e0+d*e0-2e1+e2运算出的值是增量,需要折算到位置量输出,也就是:R0 = R1 + d( t作者: 已注册2022-10-19 19:45:00回复 44Re:152773d ( t ) =p*
24、e0-e1+i*e0+d*e0-2e1+e2运算出的值是增量,需要折算 到位置量输出,也就是: R0 = R1 + d( t 是的,这种算法是迭代算法,对于温度掌握来说,没有必要.Duty = V/Vpwm,这里的 Vpwm是电源电压,可以是固定的,也可以是变动的.如是固定的,就可把Vpwm折算入 PID 系数里.比如:Duty = V/Vpwm = PID_1E/Vpwm = PID_2E = PID_2Wo - Wi where PID_2 = PID_1/Vpwm否就,就得多一步除法: Duty = V/Vpwm = PID_1E/Vpwm作者: IceAge2022-10-19 21:
25、10:00回复 45IceAge 一句话又把我说模糊了 152774/Duty = V/Vpwm,这里的 Vpwm是电源电压,可以是固定的,也可以是变动/ 的.如是固定的,就可把Vpwm 折算入 PID 系数里假如是变动仍怎么运算啊?这个变动可能是怎么个变动法?假如是PWM掌握,他的掌握极电压随着电路的确定也就确定了啊?怎么仍能变动了?能不能举个变动的例子说明一下啊?作者: 已注册2022-10-19 21:33:00回复 46TOIceAge :这个帖子我看了3 次;似乎有点懂得了152775可编辑资料 - - - 欢迎下载精品_精品资料_听 IceAge 一席话真是令我茅塞顿开啊;我对你的
26、景仰有如滔滔江水一发不行整理. (先拍下马屁, 呵呵)刚才在家里翻箱倒柜找出了一张温控仪的说明书 , 它 P 可以在 0.0-100.0 、I 在 0-4320 、D 在 0- 1200、0-60 秒可调,默认是 P=3.0 、I=250 、D=50,采样周期是 20 秒,就这些参数而言,假设我在设定参数的 +-10 度之间进行 PID 掌握,公式仍是这条: d( t )=p*e0-e1+i*e0+d*e0-2e1+e2 经过几个周期后设定温度是 60.0 度, e0=55.0 、e1=55.6 、e2=55.9 e 直接把温度值代进来应当可以的吧; 有点晚了,明天上班的时候再完成此帖 作者:
27、 会流泪的鱼2022-10-19 22:55:00回复 47 他的掌握极电压随着电路的确定也就确定了啊152776有时并不是确定的,比如变频器,有时得通过采样或者通过设定来得到Vdc,主要是答应用户施加不同的电源电压.对于你的情形,可能不会采纳不同的电源电压,不需要适应各种应用.这些不要紧,只是多一个除法而已.作者: IceAge2022-10-20 0:21:00回复 48r152777是不是可以这样懂得 , 只要找到一个系数K, 使得 dt 输出的最大值除以K 等于占空比 100%,dt 输出的最小值除以为, K 不肯定是掌握端电压,只要凑到一个系数,使得dtmax/k=100% , dt
28、min=0%,就行了啊?作者: wenfengcom2022-10-20 8:45:00回复 49TOIceAge 152778对于变频器,我是这样想的:记忆中,一般的变频器是输入电压不同,变频器输出的频率相应的变化,假如用变频器掌握一个制冷用的压缩机来实现温度调剂(这好象变频空调的使用方式?),假如使用PID 调剂,此时 E =设置温度 -当前实际温度,变频器的输入电压可用PWM的有效值表示(这个可等效过去的把?),占空比不同, PWM的有效值电压也就变化了,所以调剂变频器的输入电压也就等同于调剂PWM的占空比了,这个时候, PWM的掌握极电压应当是一个定值把?不需要转变PWM掌握极电压的把
29、?作者: 已注册2022-10-20 8:46:00回复 50TOwenfengcom152779你那懂得好象也能将就,但我懂得的实际意思是:dt对应输出的占空比的关系,其实无所谓,只要你的掌握器能让P/I/D三参数可调整,那么实际使用的时候在做参数整定时,只要是合理的参数整定,最终都基本能得到合适 的 P/I/D参数让他实现PID 调剂.例如,对于同样的温度掌握外表设计,这个掌握器的P=10,那个掌握器设计的P=1,但最终的掌握成效是一样的,为什么了?同比放大就是了,其次个掌握器可能在设计的时候,设计者就是把P*10 代入运算的,你说,这两个掌握器有什么区分了?对最终的用户来说,他根本不管你
30、内部如何运算的,你乘1 也好,乘 1000 也好,无所谓,他只是依据整定的方法进行系统掌握的整定,最终得到一个P/I/D参数结果就可以,殊途同归也就这意思了.作者: 已注册2022-10-20 8:55:00回复 51r152780可编辑资料 - - - 欢迎下载精品_精品资料_也就是说只要不断的调剂,这三个参数,最终使得pid 运算结果符合dtmax=100%,dtmin=0%就行,假如能找到到这样的,三个值,dt 的输出可以直接作为占空比, 甚至也可以懂得为, dt 可以乘以或除以任意值,只要能找到,使得dtmax=100%,dtmin=0% 就行, dt 乘以或除以什么数无所畏,由于,三
31、个数可以调剂,dt ,其中的可以折算到,这三个参数中,是啊?作者: wenfengcom2022-10-20 10:56:00回复 52可不行以讲下实利啊 . 这样讲起来感觉很抽象152781可不行以讲下实利啊 . 这样讲起来感觉很抽象作者: 会流泪的鱼2022-10-20 11:01:00回复 53r152782也就是说 ,PID 运算结果 dt 可以除以或乘以任意值 , 例如 dt/12,dt/35,然后调剂 P,I,D这三个值 , 使得 dt/12,dt/35的最大值对应占空比为100%,最小值对应为0%,是这样吗 .作者: wenfengcom2022-10-20 11:24:00回复
32、 54昨天那个不能编辑,就新回个帖子吧;152783它 P 可以在 0.0-100.0、 I 在 0-4320 、D 在 0-1200 、0-60 秒可调,默认是 P=3.0 、I=250 、D=50,采样周期是 20 秒,就这些参数而言,假设我在设定参数的+-10.0度之间进行 PID 掌握,公式仍是这条:d(t ) =p*e0-e1+i*e0+d*e0-2e1+e2设定的温度是60.0 度头个周期采过来的温度是55.0 度, 就 e0=600-550=50、e1=0 、e2=0 R0=R1+dt=0+3*50-0+250*50+50*50-0+0=150+12500+2500=15150这样下去感觉R( 0)会到很大的值才会变小,也就是说PID 设的太大了,或者我觉得它应当要除以一个定值,对应当上面的采样周期,我这样的懂得对吗?