打印

单片机控制moc3063驱动双向可控硅过零调功问题

[复制链接]
楼主: LKC134
手机看帖
扫描二维码
随时随地手机跟帖
21
tyw| | 2019-1-17 16:11 | 只看该作者 回帖奖励 |倒序浏览
本帖最后由 tyw 于 2019-1-17 16:24 编辑
zyj9490 发表于 2019-1-17 16:03
@tyw ,你这个项目有开启与关闭周期均匀分配的功能吗?请教下,非整数比例时,怎么处理的? ...

没有考虑那么多,仅最少波形作了设置限定.因为是双向过零时才有打开或关闭动作,并且与电网是同步的.所以都是完整波形.若是简单10ms定时方式,时间长了会不同步.所以双向过零检测不能省.
致于均匀性问题,对于热惯量大的加热器可不用考虑.对于惯量敏感的负载,如风扇,才需要考虑补偿,例如每秒25个波,可按事先列表间隔数操控,非整数比例时凑一个接近的间隔数制表.不宜当场运算.

使用特权

评论回复
22
zyj9490| | 2019-1-17 16:25 | 只看该作者
tyw 发表于 2019-1-17 16:11
没有考虑那么多,仅最少波形作了设置限定.因为是双向过零时才有打开或关闭动作,并且与电网是同步的.所以都 ...

相当于占空比调节,完整周期控制对EMI有好处。谐波小

使用特权

评论回复
23
LKC134|  楼主 | 2019-1-17 16:52 | 只看该作者
zyj9490 发表于 2019-1-17 15:58
最好将导通周期与不导通周期平匀分配,这样控制目标会平稳。当然WAN性大的目标可以接受。不用分配。不过采 ...

我现在用过零光藕驱动可控硅,是用定时器做脉冲输出到光藕控制端,如:定时10MS
TL0=(65536-10000)%256;
TH0=(65536-10000)/256;
PWM=~PWM;//输出脉冲,功率在47W左右
在分好几档功率则定时时间改大改小,这方法比较笨拙。不知这位兄台有没好的方法?

使用特权

评论回复
24
cjseng| | 2019-1-17 16:59 | 只看该作者
LKC134 发表于 2019-1-17 16:52
我现在用过零光藕驱动可控硅,是用定时器做脉冲输出到光藕控制端,如:定时10MS
TL0=(65536-10000)%256;
...

其实根本用不到定时器啊,你这个定时10ms,又不一定对应得上50Hz的过零点,有误差的。
你只要对过零脉冲进行计数可以了,比如每100次过零,导通1次、导通2次、3次。。。100次,就可以得到100个功率分档了。跟定时器没有一毛钱的关系。
当然,弄个PID控制下,效果更好。

使用特权

评论回复
25
LKC134|  楼主 | 2019-1-17 17:19 | 只看该作者
cjseng 发表于 2019-1-17 16:59
其实根本用不到定时器啊,你这个定时10ms,又不一定对应得上50Hz的过零点,有误差的。
你只要对过零脉冲 ...

没有返馈线路PID用不上哦,MOC3063不是有过零检测功能吗?单片机只提供脉冲信号给控制端就可以控制,为何要对过零脉冲计数进行触发?

使用特权

评论回复
评论
zyj9490 2019-1-17 18:19 回复TA
有过零检测电路的目的,是为了工作中完整的工频周期。 
26
LKC134|  楼主 | 2019-1-17 17:25 | 只看该作者
如下:
void ext0() interrupt  0//外中断过零检测
{
  num++;
if(num==50)//计数50次
  PWM=0;输出低电平到光藕
不对之处请指点。thanks!

使用特权

评论回复
27
zyj9490| | 2019-1-17 17:45 | 只看该作者
本帖最后由 zyj9490 于 2019-1-17 17:49 编辑
LKC134 发表于 2019-1-17 16:52
我现在用过零光藕驱动可控硅,是用定时器做脉冲输出到光藕控制端,如:定时10MS
TL0=(65536-10000)%256;
...

直接用过零脉冲计数,50个脉冲中(大约1000MS),开通几个脉冲,余下关闭,50个脉冲后归0,重新计50个,前面几个开启。不用定时器用PID控制,采样周期即是50个脉冲时间。。

使用特权

评论回复
28
zyj9490| | 2019-1-17 17:47 | 只看该作者
本帖最后由 zyj9490 于 2019-1-17 17:56 编辑
LKC134 发表于 2019-1-17 17:19
没有返馈线路PID用不上哦,MOC3063不是有过零检测功能吗?单片机只提供脉冲信号给控制端就可以控制,为何 ...

要的,不过PID的采样周期T是100个脉冲的时间,再来校正要开通几个脉冲。采集温度,决定开启几个脉冲(功率控制)。

使用特权

评论回复
29
zyj9490| | 2019-1-17 17:52 | 只看该作者
本帖最后由 zyj9490 于 2019-1-17 17:54 编辑
LKC134 发表于 2019-1-17 17:19
没有返馈线路PID用不上哦,MOC3063不是有过零检测功能吗?单片机只提供脉冲信号给控制端就可以控制,为何 ...

自过零触发不用。控制端开启,关闭什么时间要控制。最好在过零点动作最佳。正向零点。或是负向零点要统一。

使用特权

评论回复
30
LKC134|  楼主 | 2019-1-17 17:59 | 只看该作者
zyj9490 发表于 2019-1-17 17:47
要的,不过PID的采样周期T是100个脉冲的时间,再来校正要开通几个脉冲。

谢谢这位大神指点,我先消化下,本来使用光藕驱动会简单点,谁知更复杂了,研究下。有不明的地方再向各位讨教。

使用特权

评论回复
31
zyj9490| | 2019-1-17 18:05 | 只看该作者
本帖最后由 zyj9490 于 2019-1-17 18:08 编辑
LKC134 发表于 2019-1-17 17:59
谢谢这位大神指点,我先消化下,本来使用光藕驱动会简单点,谁知更复杂了,研究下。有不明的地方再向各位 ...

不用过零也可以的,只用MCU内部定时器也可以的,只能平均功率控制,不能调相控制,响应速度会变慢,对电网,周边的电器影响大的,因为谐波多的,对目标波动大的。主要还是EMI,最多相差一个周期吧。

使用特权

评论回复
32
zyj9490| | 2019-1-17 18:23 | 只看该作者
自过零触发的3063,只要控制端保持开通就可以,不用考量每周期开通在MCU产生脉冲触发下。好比,总周期100个工频周期,开通50个工频周期,只要在控制开通50个工频周期即可。

使用特权

评论回复
33
LKC134|  楼主 | 2019-1-17 19:27 | 只看该作者
zyj9490 发表于 2019-1-17 18:23
自过零触发的3063,只要控制端保持开通就可以,不用考量每周期开通在MCU产生脉冲触发下。好比,总周期100个 ...

3063控制端要用高低电平信号才能控制,如一直接通是控制不了。

使用特权

评论回复
34
cjseng| | 2019-1-17 21:18 | 只看该作者
LKC134 发表于 2019-1-17 19:27
3063控制端要用高低电平信号才能控制,如一直接通是控制不了。

楼上说的是50个周期内一直开通,剩下50个周期一直关闭,而不是每个周期动作一次。
如果不用外部中断,只用定时器做,相当于开通1秒,关闭1秒,效果一样的,可能干扰会大一些,不过纯阻性负载,问题不大。

使用特权

评论回复
35
LKC134|  楼主 | 2019-1-17 21:29 | 只看该作者
cjseng 发表于 2019-1-17 21:18
楼上说的是50个周期内一直开通,剩下50个周期一直关闭,而不是每个周期动作一次。
如果不用外部中断,只 ...

我目前就是在定时器里设定好几个时间,因为要分好几档功率,先做DEMO出来再说吧,感谢各位热心指点。

使用特权

评论回复
36
皈依| | 2019-1-18 08:25 | 只看该作者
市电是50HZ的 也就是最小分辨率是1s/(50*2)=10ms,每10ms控制一个电平转换,想做10分位的PWM就100ms一个周期,比如90ms低,10ms高,那就是10%的占空比。以此类推。

使用特权

评论回复
37
ChaserMCU| | 2019-1-18 11:32 | 只看该作者
拿50hz(20ms)市电来说,检测过零点后,延时一会再开通可控硅,可以开通你想要的任何导通角

使用特权

评论回复
38
tyw| | 2019-1-18 11:53 | 只看该作者
ChaserMCU 发表于 2019-1-18 11:32
拿50hz(20ms)市电来说,检测过零点后,延时一会再开通可控硅,可以开通你想要的任何导通角 ...

LZ是想调功哦,你这是调相.

使用特权

评论回复
39
zyj9490| | 2019-1-18 12:05 | 只看该作者
用调相法,必须每周期控制。那不能用自过零触发的光耦。

使用特权

评论回复
40
LKC134|  楼主 | 2019-1-18 13:34 | 只看该作者
今天测试下,发现最大功率调不到100%,如光藕控制信号以5MS/100HZ正负脉冲,可控硅输出给灯泡可以全亮,但用万用表测量不到电压,变频电源显示不到功率,不知昨回事?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则