打印

可控硅的控制脉冲问题

[复制链接]
4043|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
weimao228|  楼主 | 2011-4-2 14:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
写了半个小时的帖子,最后却被自己不小心弄没了。好吧,是命不好,但是我还是得问下去。
我试试用文字和图片将我要问的问题表达清楚。
我要做的是点焊机的程序设计,其中焊接部分主要是可控硅的控制。
硬件设计
将电源的过零检测脉冲输给PIC16F74的PORTA,4/T0CKI引脚。过零检测的脉冲周期为10ms。
软件设计
程序安排
将TMR0设为外部计数中断模式,且设初值为0FFH,这样就将TMR0转换为外部中断模式。
将TMR1设为定时中断模式,初值由焊接电流值设定。
TMR0中断==》重新赋TMR0=0FFH+对TMR1赋初值+开启TMR1中断使能+清PORTC,3
TMR1中断==》置PORTC,3+清TMR1中断使能和计数使能位
程序
;中断服务子程序
;-----------------------
INTSEV NOP  ;中断程序体
            BTFSS T0IE ;查询允许TMR0外部计数中断吗?
            GOTO CHK01 ;没有就查询TMR1是否中断
            BTFSC T0IF ;中断溢出,就执行中断
            GOTO INT00
CHK01   BANK1
            BTFSS TMR1IE ;判断是否允许TMR1定时中断
            GOTO BACK0 ;没有就查询TMR2是否中断
            BANK0
            BTFSC TMR1IF;中断溢出就执行中断
            GOTO INT01
BACK0  POP ;退出中断
            BANK0
            RETFIE
;-----各个中断处理----
INT00   BANK0;检测过零点,-开启TMR1和设定其初值
           BSF FL2;焊接阶段时的时间基值
           BCF PORTC,3;焊接指示灯点亮
           MOVLW 0FFH;定时常数
           MOVWF TMR0;重新装载TMR0
           BCF TMR1ON;TMR1重新赋值
           MOVF R6, W
           MOVWF TMR1L
           MOVF R7, W
           MOVWF TMR1H
           BSF TMR1ON
           BANK1
           BSF TMR1IE;开启TMR1,等待延时后输出脉冲
           BANK0
           BCF T0IF
           GOTO BACK0;退出中断

INT01  BANK0 ;可控硅的导通时间
          BCF TMR1IF;清中断标志
          BSF PORTC,3;点亮焊接指示灯
          BCF TMR1ON;清计数使能
          BANK1
          BCF TMR1IE;清中断允许位
          GOTO BACK0;退出中断
;以下是焊接阶段程序

;R10为焊接时间
L001  BANK0
         MOVF R10, 1;焊接阶段
         BTFSC Z
         GOTO TWO
L00P; BTFSC CGK
       ; BCF HJLED3
         BSF T0IE ;可控硅控制焊接
         BCF CTRGK
L00P1 BTFSS FL2 ;判断10ms到了没有
         GOTO L00
         GOTO L00 ;回循环程序
TWO  BANK0;焊接时间到,结束焊接阶段
         BCF TMR1IF ;清TMR1和TMR0的定时设置参数
         BCF TMR1ON
         BCF T0IF
         BCF T0IE
         BCF PORTC,3

         BANK1
         BCF TMR1IE
这里出现的问题是加和不加蓝颜色标记的两条指令。
  当没有加蓝颜色指令时,出现的波形图是附件中a的部分,如a00表示焊接电流设为0.0ms;a99表示焊接电流设为9.9ms。这时候,可控硅的触发脉冲中第一个脉冲高电平会持续到第二个脉冲高电平的结束。当负载接电灯时,电灯闪烁,严重的时候电灯会长亮,用示波器测试这时的波形是高电平,时间大概为2.4s。当焊接电流设置为0.0到0.4ms的时候,灯会时不时的闪烁。
   当加上蓝颜色的指令时,出现的波形图是附件b的部分,后面的数字意思同上。这时候,可控硅触发脉冲通常会掉第二个脉冲,且焊接电流设置为大于等于9.1ms后,输出电流不大。
这两种波形都不是完全的正确波形,这是为什么呢?还请各位大侠帮个忙,指点一二。
沙发
weimao228|  楼主 | 2011-4-2 15:05 | 只看该作者
蓝颜色标记的指令是
BTFSC PORTA,4
BCF  PORTC,3

使用特权

评论回复
板凳
weimao228|  楼主 | 2011-4-2 15:06 | 只看该作者
BOXING是各波形图 BOXING.rar (123.69 KB)

使用特权

评论回复
地板
yewuyi| | 2011-4-2 17:23 | 只看该作者
电焊机可以用数脉冲波的方式控制可控硅,没必要移相吧。

使用特权

评论回复
5
weimao228|  楼主 | 2011-4-3 09:37 | 只看该作者
file:///G:/BOXING/a02.bmp
电焊机可以用数脉冲波的方式控制可控硅,没必要移相吧。
yewuyi 发表于 2011-4-2 17:23

可以说详细点吗?移相是说TMR1之后的高电平输出吗?数脉冲的方式,我还没有接触过。我不理解的是不加2楼的那两条指令的时候,有时候会出现的PORTC,3在第二个过零检测上升沿到来的时候不能被清0.加这两条指令也只能治标不治本,因为在输入电流设置为9.2以上就不能够正常了;9.2之前的有脉冲丢失,也不正常。

使用特权

评论回复
6
weimao228|  楼主 | 2011-4-3 13:46 | 只看该作者
我找到解决办法了,就是既然两种方法是相反的结果。那我就判断焊接电流设置是9.0ms吗,小于的采用2楼的两条指令,大于的话就跳过这两条指令。也就是在
       MOVLW        .90
          SUBWF        IHBUF,        W
          BTFSC        C;IHBUF小则跳转
       GOTO        LL
       BTFSC PORTA,4  
          BCF  PORTC,3
LL .....
.....

使用特权

评论回复
7
weimao228|  楼主 | 2011-4-3 13:46 | 只看该作者
:$

使用特权

评论回复
8
jiangsong8068| | 2011-4-4 16:54 | 只看该作者
我也想研究一下点焊机单片机控制的电路。有机会请LZ多指教。

使用特权

评论回复
9
weimao228|  楼主 | 2011-4-4 21:19 | 只看该作者
我也想研究一下点焊机单片机控制的电路。有机会请LZ多指教。
jiangsong8068 发表于 2011-4-4 16:54
不敢不敢

使用特权

评论回复
10
ls_view| | 2011-4-10 15:32 | 只看该作者
相控范围一般做不到0到180度的,会有一个死区。

使用特权

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

本版积分规则

0

主题

60

帖子

1

粉丝