发表于:2004/3/22 14:02:00
#0楼
计算机时代的自控调节路条条,何必“穿PC新鞋,走PID老路”
——一种“傻瓜温控”程序的实现带来的思考
打开温度控制仪表产品目录,控制效果好一点的表,都标明用“PID调节”,至少要设置“控制周期”“比例系数”“积分时间”“微分时间”等参数,非控制专业的操作者很难理解这些参数的意义,即便是控制专业的操作者,知到其意义,但对新设备,这些参数应设成多少,也不得而知,只好试验得出。更好一点的表,可以“自整定”,自动测出这些参数。温度控制仪表按这些参数去控制设备的温度。
最近,用全新的思路,研究出一种精简的温控程序(只有近2K字节的单片机程序),由于不需输入意义不太准确的参数,也不需“自整定”操作,就能控制不同设备的温度,我把它叫做“傻瓜温控”,几乎做到“即插即用”。
"傻瓜温控"与普通的PID调节比:
1、不需自整定,调节参数只有一个,是设备说明书上就有的——被控设备的使用温度上限
2、调节过程中,超调小,波动次数少
3、改变设定值,跟踪设定值快
4、可用于相互干扰的多点温控,如橡胶硫化压力机的上下模板温控。(此情况下PID调节无法自整定)
5、有自我完善能力,但不强。
6、本身是自适应的,自然不怕设备的参数变化
程序空间大时,还可做的精致些。
这是我第二个不用“PID调节”模式的控制程序。
开始编程时,翻看有关自控调节理论书籍。几乎所有书籍都是讲“PID调节”,只有这一种思路。
从中看到:传统自控理论对各种被控对象特点作了充分的研究,并建立了数学模型,但模型几乎都归结为RLC网络(电阻、电感、电容组成的电路)。于是在研究如何控制时,也集中于对RLC网络(电阻、电感、电容组成的电路)的研究,抽象出“比例系数”“积分时间”“微分时间”等调节参数,由于完全数学化,其计算公式复杂深奥,很难与被控物理对象进行感性联想。
本来,热力学有自己的参数:温度、热能、比热、热导、散热等;动力学也有自己的参数:力、质量、力矩、速度、加速度、动能、位能等。根据这些参数及其自身变化规律(计算公式),就不能实施好控制?为甚麽一定要转换为电路模型,用那一套转递函数?
从一些书中找到答案:计算机时代前,不管您是热力学,还是动力学的控制系统,只要用电控制,控制回路只能由RLC网络加运算放大器组成。控制输出的改变,不能想大就大、想小就小,反馈信号(偏差)通过RLC网络,转换为控制输出,要受RLC网络的“比例系数”“积分时间”“微分时间”等约束,于是只好研究出各种RLC网络,以对应不同被控对象,当时,这是唯一可行的方法,自然PID独占鳌头。
现在已到计算机时代,控制回路中几乎没有RLC网络,它被D/A、A/D转换加控制程序所代替。为了使传统自控理论适应此情况,自控调节理论就把RLC网络的一套公式数字化(离散化处理),让控制程序代替RLC网络!
改进是有的,先是“自整定”;后有“专家系统”和“神经网络” 等技术,或分段采用不同的PID参数,或不断修正PID参数等,改进后的程序(公式)更复杂深奥。但从本质说,还是离不开PID模式,这就形成“穿计算机新鞋,走PID老路”,计算机并没有给自控理论带来“革命”性变化,或者说没有充分发挥计算机技术的智能。
计算机时代的控制,可以根据偏差情况做到,控制输出想大就大、想小就小;可以左顾右盼从多角度分析,与时俱进不断改变策略;应该可以脱离RLC网络规律,直接用本学科规律去控制,或用别的规律——天高任鸟飞。
“傻瓜温控”从设备的热力学过程来找控制方法,过程分两个不同阶段,加温时,加热能量分两部分,一部分变为设备的储存的热能,使温度升高,另一部分为散热,消耗了。升温到设定温度下某一点,停加热一段时间,通过两种情况下,温度变化的差异,估算出加热能量中两部分的比率,估算出加热到设定温度还需输入的能量,按此加热,就能防大的过冲。到设定温度后,加热能量全部供散热,在温度围绕设定温度的波动中,较精确算出散热功率,也就是加热功率,用以稳定温度。
“傻瓜温控”的实现,不完全取决于上述思路,还借助于计算机技术的另一用途——“仿真”,就是用程序做成被控的“模拟温度设备”,它的温度被“控温程序”控制,“控温程序”令它加热或停加热,“模拟温度设备”加热或停加热时的温度变化应和真设备近似。可以说,没有“模拟温度设备”,“傻瓜温控”搞不成,道理很明显:
1、“控温程序”编好后要进行试验,其一、真实的设备要花钱、占场地;其二、真实的设备一次升温要很长时间;其三、要在升温中间停下,看程序如何进行,或马上修改程序是不可能的,停下,设备的温度状态就变了。用“模拟温度设备”,这些问题都不存在,能精雕细凿地完善控温程序;升温过程可快可慢,几秒钟就可升到需要的温度;中间想停就停(控温程序和模拟温度设备同时停,设备温度状态不变),想改就改,改完继续进行。
2、“傻瓜温控”要适用于各种设备,就要对不同设备进行试验,不可能用那麽多的真实设备来完成这任务。“模拟温度设备”创造了这个条件,改动“模拟温度设备”的参数就等于换了设备。编好相应测试程序,一觉醒来,计算机已将对一系列设备控制效果的检验报告打印出来。当然“模拟温度设备”要能正确地代替设备。基本要求:已知一真实设备的升、降温曲线,有方法求出它的“模拟温度设备”的参数。
概括起来,提醒在计算机时代搞自动控制的同行,教或学都要:
1、不要只盯着PID,路宽着呢。非自动控制专业的人氏不要被PID的公式吓住,走自己的路,用本科知识加计算机编程能力,就能编出好的控制程序。
2、要学点被控对象学科的知识,温度控制的学点热工学、传动控制的学点理论力学、调速控制的学点电机学等。
3、掌握建立被控对象的“模拟设备”方法和技巧。
4、学点VB语言。“控制程序”可先用它编,“模拟设备”也可在上面编制,同台调试运行,调试程序时用到的中断、修改、显示和保存过程参数值、人机界面等功能,VB语言调试平台都有,而且都很强,得心应手,可精雕细凿你的程序。我调试单片机汇编程序就在此进行,可把一个活生生的控制仪表放在屏幕上。VB语言入门容易,搞一般控制,入门知识就可以。
对此感兴趣者,可索要进一步说明和“傻瓜温控”、“模拟温度设备”、“傻瓜温控”控件的运行程序。
上海 黄惠生 13916160444
HUHUSH1@163.com
——一种“傻瓜温控”程序的实现带来的思考
打开温度控制仪表产品目录,控制效果好一点的表,都标明用“PID调节”,至少要设置“控制周期”“比例系数”“积分时间”“微分时间”等参数,非控制专业的操作者很难理解这些参数的意义,即便是控制专业的操作者,知到其意义,但对新设备,这些参数应设成多少,也不得而知,只好试验得出。更好一点的表,可以“自整定”,自动测出这些参数。温度控制仪表按这些参数去控制设备的温度。
最近,用全新的思路,研究出一种精简的温控程序(只有近2K字节的单片机程序),由于不需输入意义不太准确的参数,也不需“自整定”操作,就能控制不同设备的温度,我把它叫做“傻瓜温控”,几乎做到“即插即用”。
"傻瓜温控"与普通的PID调节比:
1、不需自整定,调节参数只有一个,是设备说明书上就有的——被控设备的使用温度上限
2、调节过程中,超调小,波动次数少
3、改变设定值,跟踪设定值快
4、可用于相互干扰的多点温控,如橡胶硫化压力机的上下模板温控。(此情况下PID调节无法自整定)
5、有自我完善能力,但不强。
6、本身是自适应的,自然不怕设备的参数变化
程序空间大时,还可做的精致些。
这是我第二个不用“PID调节”模式的控制程序。
开始编程时,翻看有关自控调节理论书籍。几乎所有书籍都是讲“PID调节”,只有这一种思路。
从中看到:传统自控理论对各种被控对象特点作了充分的研究,并建立了数学模型,但模型几乎都归结为RLC网络(电阻、电感、电容组成的电路)。于是在研究如何控制时,也集中于对RLC网络(电阻、电感、电容组成的电路)的研究,抽象出“比例系数”“积分时间”“微分时间”等调节参数,由于完全数学化,其计算公式复杂深奥,很难与被控物理对象进行感性联想。
本来,热力学有自己的参数:温度、热能、比热、热导、散热等;动力学也有自己的参数:力、质量、力矩、速度、加速度、动能、位能等。根据这些参数及其自身变化规律(计算公式),就不能实施好控制?为甚麽一定要转换为电路模型,用那一套转递函数?
从一些书中找到答案:计算机时代前,不管您是热力学,还是动力学的控制系统,只要用电控制,控制回路只能由RLC网络加运算放大器组成。控制输出的改变,不能想大就大、想小就小,反馈信号(偏差)通过RLC网络,转换为控制输出,要受RLC网络的“比例系数”“积分时间”“微分时间”等约束,于是只好研究出各种RLC网络,以对应不同被控对象,当时,这是唯一可行的方法,自然PID独占鳌头。
现在已到计算机时代,控制回路中几乎没有RLC网络,它被D/A、A/D转换加控制程序所代替。为了使传统自控理论适应此情况,自控调节理论就把RLC网络的一套公式数字化(离散化处理),让控制程序代替RLC网络!
改进是有的,先是“自整定”;后有“专家系统”和“神经网络” 等技术,或分段采用不同的PID参数,或不断修正PID参数等,改进后的程序(公式)更复杂深奥。但从本质说,还是离不开PID模式,这就形成“穿计算机新鞋,走PID老路”,计算机并没有给自控理论带来“革命”性变化,或者说没有充分发挥计算机技术的智能。
计算机时代的控制,可以根据偏差情况做到,控制输出想大就大、想小就小;可以左顾右盼从多角度分析,与时俱进不断改变策略;应该可以脱离RLC网络规律,直接用本学科规律去控制,或用别的规律——天高任鸟飞。
“傻瓜温控”从设备的热力学过程来找控制方法,过程分两个不同阶段,加温时,加热能量分两部分,一部分变为设备的储存的热能,使温度升高,另一部分为散热,消耗了。升温到设定温度下某一点,停加热一段时间,通过两种情况下,温度变化的差异,估算出加热能量中两部分的比率,估算出加热到设定温度还需输入的能量,按此加热,就能防大的过冲。到设定温度后,加热能量全部供散热,在温度围绕设定温度的波动中,较精确算出散热功率,也就是加热功率,用以稳定温度。
“傻瓜温控”的实现,不完全取决于上述思路,还借助于计算机技术的另一用途——“仿真”,就是用程序做成被控的“模拟温度设备”,它的温度被“控温程序”控制,“控温程序”令它加热或停加热,“模拟温度设备”加热或停加热时的温度变化应和真设备近似。可以说,没有“模拟温度设备”,“傻瓜温控”搞不成,道理很明显:
1、“控温程序”编好后要进行试验,其一、真实的设备要花钱、占场地;其二、真实的设备一次升温要很长时间;其三、要在升温中间停下,看程序如何进行,或马上修改程序是不可能的,停下,设备的温度状态就变了。用“模拟温度设备”,这些问题都不存在,能精雕细凿地完善控温程序;升温过程可快可慢,几秒钟就可升到需要的温度;中间想停就停(控温程序和模拟温度设备同时停,设备温度状态不变),想改就改,改完继续进行。
2、“傻瓜温控”要适用于各种设备,就要对不同设备进行试验,不可能用那麽多的真实设备来完成这任务。“模拟温度设备”创造了这个条件,改动“模拟温度设备”的参数就等于换了设备。编好相应测试程序,一觉醒来,计算机已将对一系列设备控制效果的检验报告打印出来。当然“模拟温度设备”要能正确地代替设备。基本要求:已知一真实设备的升、降温曲线,有方法求出它的“模拟温度设备”的参数。
概括起来,提醒在计算机时代搞自动控制的同行,教或学都要:
1、不要只盯着PID,路宽着呢。非自动控制专业的人氏不要被PID的公式吓住,走自己的路,用本科知识加计算机编程能力,就能编出好的控制程序。
2、要学点被控对象学科的知识,温度控制的学点热工学、传动控制的学点理论力学、调速控制的学点电机学等。
3、掌握建立被控对象的“模拟设备”方法和技巧。
4、学点VB语言。“控制程序”可先用它编,“模拟设备”也可在上面编制,同台调试运行,调试程序时用到的中断、修改、显示和保存过程参数值、人机界面等功能,VB语言调试平台都有,而且都很强,得心应手,可精雕细凿你的程序。我调试单片机汇编程序就在此进行,可把一个活生生的控制仪表放在屏幕上。VB语言入门容易,搞一般控制,入门知识就可以。
对此感兴趣者,可索要进一步说明和“傻瓜温控”、“模拟温度设备”、“傻瓜温控”控件的运行程序。
上海 黄惠生 13916160444
HUHUSH1@163.com
HHS