打印

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

[复制链接]
12588|75
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
LKC134|  楼主 | 2019-1-16 20:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
[b]这几天搞电烙铁分档调温项目,在使用单片机控制光藕(moc3063)驱动双向可控硅调温时一直不能有效控制,如果用moc3022光藕驱动是没问题(调相),由于产品要过EMC,只能改用过零触发方式驱动可控硅,第一次使用这光藕,线路检查没问题,就是在单片机输出控制信号给光藕时不知是怎样控制它调功的,在网上找了很多资料对这控制方式描述得笼统,原理一大堆不相关的,想了解这方面的控制原理,请各位高手指点下:
一,单片机控制MOC3063时有频率和时间要求不?
二,光藕控制端是用高电平还是低电平?
三,在调功率时是控制单片机输出脉冲占空比还是频率?

相关帖子

沙发
tyw| | 2019-1-16 20:18 | 只看该作者
本帖最后由 tyw 于 2019-1-16 20:28 编辑

→→ 晒一个无线调相,调功小产品 ←← , 有完整源程序及原
双向可控硅过零调功调速的技术实现方法.pdf (2.22 MB)
可控硅调功器.pdf (293.21 KB)
可控硅调功.pdf (116.44 KB)
过零点触发双硅输出光耦MOC3061经典应用.pdf (913.6 KB)

使用特权

评论回复
评论
深之蓝 2023-1-31 14:47 回复TA
感谢分享资料 
板凳
LKC134|  楼主 | 2019-1-16 20:56 | 只看该作者
谢谢t叔的资料。

使用特权

评论回复
地板
LKC134|  楼主 | 2019-1-16 21:01 | 只看该作者
上面的源程序没有C源码吗?全是汇编看不懂哦

使用特权

评论回复
5
cjseng| | 2019-1-16 21:36 | 只看该作者
用过零型光耦调节电烙铁温度,可以这样:1秒内有100个半波,每一秒控制导通的半波数量就可以了。甚至可以以10秒为周期,0.1秒为分辨率,控制导通时间就可以控制功率。
电烙铁热惯性很大的。

使用特权

评论回复
6
tyw| | 2019-1-17 08:05 | 只看该作者
本帖最后由 tyw 于 2019-1-17 09:48 编辑
LKC134 发表于 2019-1-16 21:01
上面的源程序没有C源码吗?全是汇编看不懂哦

中文注释很详细,可参考一下控制思路
调功就是控制每秒50Hz波形个数,例如,每秒25个,则平均功率为50%

1. 构造一个50Hz过零检测器.连到外中断口
2. 打开秒定时器,打开可控硅
3. 过零中断到→波形计数器加1→未到设定值则继续
4. 到设定值,则关闭可控硅.
5. 1秒未到,则继续
6. 1秒到,重置秒定时器,转2. 循环

使用特权

评论回复
7
LKC134|  楼主 | 2019-1-17 08:17 | 只看该作者
cjseng 发表于 2019-1-16 21:36
用过零型光耦调节电烙铁温度,可以这样:1秒内有100个半波,每一秒控制导通的半波数量就可以了。甚至可以以 ...

给控制端信号是直接供电?还是脉冲信号?频率是多少的?谢谢!

使用特权

评论回复
8
LKC134|  楼主 | 2019-1-17 09:32 | 只看该作者
tyw 发表于 2019-1-17 08:05
中文注释很详细,可参考一下控制思路
调功就是控制每秒50Hz波形个数,例如,每秒25个,则平均功率为50%

谢谢t叔指导!

使用特权

评论回复
9
wono01| | 2019-1-17 10:01 | 只看该作者
tyw 发表于 2019-1-16 20:18
→→ 晒一个无线调相,调功小产品 ←← , 有完整源程序及原

老T叔威武

使用特权

评论回复
10
LKC134|  楼主 | 2019-1-17 10:20 | 只看该作者
@tyw ,触发脉冲设置100us,又要定时1秒,要用两个定时器了。

使用特权

评论回复
11
tyw| | 2019-1-17 10:25 | 只看该作者
本帖最后由 tyw 于 2019-1-17 11:02 编辑
LKC134 发表于 2019-1-17 10:20
@tyw ,触发脉冲设置100us,又要定时1秒,要用两个定时器了。

只需设置最小单位100us定时即可,以100us作时标计数,每次定时中断,计数加1,10次为1ms,10000次为1秒 用时标方法可构建多个不同时值定时器,同时运行.

我那例程里选100us时标是兼顾调相控制时用的.

使用特权

评论回复
12
cjseng| | 2019-1-17 10:56 | 只看该作者
脉冲100us毫无意义,至少要用10ms才行。

使用特权

评论回复
13
LKC134|  楼主 | 2019-1-17 14:44 | 只看该作者
tyw 发表于 2019-1-17 10:25
只需设置最小单位100us定时即可,以100us作时标计数,每次定时中断,计数加1,10次为1ms,10000次为1秒 用时标 ...

void timer0()  interrupt 1//定时中断
{
  TR0=1;
   PWM=0......//开可控硅
   TL0=(65536-100)%256;
   TH0=(65536-100)/256;
   num++;
  if(num==10000)//1秒到
.......
  TR0=0;//
                                             
void ext0() interrupt  0    //外中断0
{
   TL0=(65536-100)%256;//100us
   TH0=(65536-100)/256;
  num++;   //脉冲计数加1
if(num=100); //到设定值10MS
........关可控硅
t叔,用C写是不是这样?

使用特权

评论回复
14
tyw| | 2019-1-17 15:00 | 只看该作者
本帖最后由 tyw 于 2019-1-17 15:15 编辑
LKC134 发表于 2019-1-17 14:44
void timer0()  interrupt 1//定时中断
{
  TR0=1;

少累,只玩汇编,从不玩C,哈哈,布冬


过零检测有分正向过零和负向过零.这样测出正弦波二次穿越零线的时刻与电网是同步的.用10ms定时方 法 会 失步,因方电网50Hz是有细微波动的.

使用特权

评论回复
15
cjseng| | 2019-1-17 15:14 | 只看该作者
LKC134 发表于 2019-1-17 14:44
void timer0()  interrupt 1//定时中断
{
  TR0=1;

你把可控硅当三极管用了,可控硅触发之后,不到过零点,哪怕触发信号取消了,它也不会关断的。

使用特权

评论回复
16
LKC134|  楼主 | 2019-1-17 15:16 | 只看该作者
好的,谢谢。自己再研究下。

使用特权

评论回复
17
zyj9490| | 2019-1-17 15:55 | 只看该作者
自过零触发光光耦好控制,只要检测到过正向零点,打开光耦,就会一直导通,直到光耦关闭。

使用特权

评论回复
18
LKC134|  楼主 | 2019-1-17 15:58 | 只看该作者
cjseng 发表于 2019-1-17 15:14
你把可控硅当三极管用了,可控硅触发之后,不到过零点,哪怕触发信号取消了,它也不会关断的。 ...

收到,目前先用光藕触发可控硅,在调试中,直接驱动可控硅程序一时半会弄不好。

使用特权

评论回复
19
zyj9490| | 2019-1-17 15:58 | 只看该作者
最好将导通周期与不导通周期平匀分配,这样控制目标会平稳。当然WAN性大的目标可以接受。不用分配。不过采样信号要加强滤波。

使用特权

评论回复
20
zyj9490| | 2019-1-17 16:03 | 只看该作者
tyw 发表于 2019-1-17 15:00
少累,只玩汇编,从不玩C,哈哈,布冬

@tyw ,你这个项目有开启与关闭周期均匀分配的功能吗?请教下,非整数比例时,怎么处理的?

使用特权

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

本版积分规则

42

主题

339

帖子

6

粉丝