zxs2000 发表于 2008-8-13 10:58:23

PID控制请教:单相可控整流器的PID控制

利用调压法(控制导通角)来控制可控硅产生所需的市电整流直流电压:

调压法(控制导通角)则是控制每一个半波的导通时间(0-180),控制周期为一个半波时间,即10ms;
由于可控硅只能在过零点关断,所以一般做法是:
1.单片机检测到过零点,
2.定时器延时一段时间后给出一个脉冲,使可控硅导通,
3.之后维持低电平,则220V过零时,可控硅自动关断,
4.重复第1步。
如下图所示:

http://cache.amobbs.com/bbs_upload782111/files_10/ourdev_376253.JPG
可控硅控制导通角波形 (原文件名:ourdev_316502.JPG)


采用位置式或增量式输出方式,位置式公式原型:u(t) = kp * e(t) + ki * + kd * ,问题是我怎样来得到KP,KI,KD这些参数,又怎样量化计算结果u(t),使之成为我所需要得延时时间来产生一个触发脉冲?我是PID的初学者,希望高手能仔细把思路讲解一下,先谢了!

lizihui 发表于 2008-8-13 22:12:34

KP,KI,KD是你程序自己设定的一个PID值,设定好后就作为常量进行计算,我就是做可控硅调压的,通常很多仪表都要人工设定PID参数实际就是设定这几个东东!u(t)是根据你的定时180度时所设定的延时时间数据而定。我表达能力不好,不知道你能明白没!

zxs2000 发表于 2008-8-14 09:05:28

还是不明白,经过公式算的u(t)是个电压值,采样电压是0-5V对应8位的A/D得到的采样值为0-256,而定时180度就是10MS,如果我的单片机的
时钟周期为1US,那延时180所设定的延时时间数据就是10000.怎么把u(t)转换为延时时间数据?这怎样两者联系在一起呢?能否举个例子说明一下呢?谢谢了!

lizihui 发表于 2008-8-14 11:29:08

I是不断积分的,也就是说u(t)是一直受积分影响的!如果你的移相给定值10000,那u(t)就会积分到10000的嘛!

hetao7241 发表于 2009-5-7 22:30:13

楼上的同志们,这个有结果吗?

swust-xiabo 发表于 2011-8-22 22:06:04

mark

dingliming 发表于 2012-1-16 16:22:59

MARK

jacklv 发表于 2012-5-31 22:25:23

sz2009 发表于 2012-6-2 17:10:22

学习了,mark
页: [1]
查看完整版本: PID控制请教:单相可控整流器的PID控制