可控硅调功率

[复制链接]
10316|56
 楼主| cl234583745 发表于 2014-10-24 14:54 | 显示全部楼层
tyw 发表于 2014-10-23 11:46
你的pwm必须与过零脉冲同步才行,否则就会失步丢波.
所以不能简单套用pwm控制方式.
其实就是用一个I/O来模 ...

调功就是1s中通过的触发信号个数多少。那是怎么控制多少个的呢?可以前0.5s都触发后0.5s都不触发么?得到一半功率
 楼主| cl234583745 发表于 2014-10-24 14:55 | 显示全部楼层
gx_huang 发表于 2014-10-24 09:00
过零触发:
1、当交流过零时,触发或者不触发,触发就输出半波,不触发就不输出。
2、过零调节加热功率,控 ...

如何控制加热,触发可不触发比例呢?从而输出功率不同
gx_huang 发表于 2014-10-24 15:21 | 显示全部楼层
cl234583745 发表于 2014-10-24 14:55
如何控制加热,触发可不触发比例呢?从而输出功率不同

我只告诉你原理,不会告诉你怎么做,怎么做是你的事情,不知道方法,可以告诉你。
判断过零,在合适的时候输出触发脉冲,这是软件的问题。
来100个过零脉冲,输出50个触发脉冲,你总会吧?
 楼主| cl234583745 发表于 2014-10-24 16:24 | 显示全部楼层
gx_huang 发表于 2014-10-24 15:21
我只告诉你原理,不会告诉你怎么做,怎么做是你的事情,不知道方法,可以告诉你。
判断过零,在合适的时 ...

我是说先输出50  后面都空着不输出 还是均匀的啊。弄什么pid我都晕了
gx_huang 发表于 2014-10-24 16:48 | 显示全部楼层
cl234583745 发表于 2014-10-24 16:24
我是说先输出50  后面都空着不输出 还是均匀的啊。弄什么pid我都晕了

看你是什么要求,如果是加热铁块之类的,50个脉冲一起输出,没有关系。
如果是通过灯泡加热,最好均匀分布,或者移相触发。
tyw 发表于 2014-10-24 16:53 | 显示全部楼层
cl234583745 发表于 2014-10-24 14:54
调功就是1s中通过的触发信号个数多少。那是怎么控制多少个的呢?可以前0.5s都触发后0.5s都不触发么?得到 ...

可以的,对于热惯量较大的加热器,这种半秒加热半秒停的波动是可以得到平衡的,但对于灯泡就会有闪烁感了.
 楼主| cl234583745 发表于 2014-10-24 16:53 | 显示全部楼层
gx_huang 发表于 2014-10-24 16:48
看你是什么要求,如果是加热铁块之类的,50个脉冲一起输出,没有关系。
如果是通过灯泡加热,最好均匀分 ...

就是一个带翅片的加热片。
你看看这个pwm输出函数,就是pid计算后,pwm输出占空比。hightime代表离设定温度远近。假如10ms一次中断,现在离设定温度很近,hightime=1,输出结果不是01111111111111111111(1个0,100个)了吗?能行吗?


void  timer1() interrupt 3
{
        if(++count<=(hightime))
                pwm=0;
        else if(count<=100)
        {
                pwm=1;
        }
        else
                count=0;
        TH1=0x3c;
        TL1=0xb0;
}
maychang 发表于 2014-10-24 17:16 | 显示全部楼层
cl234583745 发表于 2014-10-24 16:24
我是说先输出50  后面都空着不输出 还是均匀的啊。弄什么pid我都晕了

晕不晕,是你的问题。
来两个过零,触发一次(停一次);来三个过零,触发一次(停两次);来四个过零,触发一次(停三次)……
来两个过零,触发一次(停一次);来三个过零,触发两次(停一次),来四个过零,触发三次(停一次)……
还晕不?
wenyong200 发表于 2014-10-24 18:53 | 显示全部楼层
gx_huang 发表于 2014-10-26 15:18 | 显示全部楼层
cl234583745 发表于 2014-10-24 16:53
就是一个带翅片的加热片。
你看看这个pwm输出函数,就是pid计算后,pwm输出占空比。hightime代表离设定温 ...

你的程序看起来很高级,但是不够简明。
程序应该没有大问题,应该可以简明一些。
COUNT加1,等于100时清零。再和输出值比较,决定输出1和0。
另外,你这个程序看不出和过零的关系,似乎是硬件的过零输出。
这会导致输出的小误差,你输出10MS的高电平,可能输出了20毫秒的功率。
 楼主| cl234583745 发表于 2014-10-27 08:49 | 显示全部楼层
maychang 发表于 2014-10-24 17:16
晕不晕,是你的问题。
来两个过零,触发一次(停一次);来三个过零,触发一次(停两次);来四个过零,触发 ...

版主 这样还是不均匀的吧,:dizzy:
tyw 发表于 2014-10-27 08:53 | 显示全部楼层
本帖最后由 tyw 于 2014-10-27 08:55 编辑
cl234583745 发表于 2014-10-27 08:49
版主 这样还是不均匀的吧,


均不均匀要看负载惯量大不大,对于灯泡,会闪烁,对于电加热器,缺波时还来不及冷下来,下一波就又接上了,没问题.
 楼主| cl234583745 发表于 2014-10-27 08:58 | 显示全部楼层
gx_huang 发表于 2014-10-26 15:18
你的程序看起来很高级,但是不够简明。
程序应该没有大问题,应该可以简明一些。
COUNT加1,等于100时清 ...

每次过零时刻,打开定时器,10ms输出一次电平,关闭定时器。然后再等待过零开定时器。
比如hightime=10(比较接近设定温度时候).COUNT也要加100次清零刚好1s。输出为10个低90个高。为不均匀的
你看看该怎么写这个过程呢?

gx_huang 发表于 2014-10-27 09:19 | 显示全部楼层
都不知道你要问的是什么意思了。
maychang 发表于 2014-10-27 10:15 | 显示全部楼层
cl234583745 发表于 2014-10-27 08:49
版主 这样还是不均匀的吧,

当然是不均匀的。
移相触发方式,同样是不均匀的,不均匀程度较小就是了。

简而言之,交流电本身就是不均匀的,有时大,有时小,甚至为零。
 楼主| cl234583745 发表于 2014-10-27 11:20 | 显示全部楼层
谢谢大家了。基本的做法我知道了,等过几天测试看效果吧。
只是不够精确,但我这个也不要求那么精确。pid算法还是不明觉厉
leleaxia 发表于 2016-10-11 16:51 | 显示全部楼层
rainword 发表于 2014-10-20 14:04
加热器是纯阻性负载,功率比较大,需要电压零点出发,不然导通瞬间电流会很大也会引起传导会超标。电机是感 ...

你好,我现在也遇到可控硅控制加热管负载 传导NG的问题。 能够请教下吗,我的qq877437822   谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部