5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
查看: 5353|回复: 46
打印 上一主题 下一主题

做一个数显过零触发PWM交流调功控制器!

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-7 15:01 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
1:原因:用电热杯或电饭煲熬稀饭,功率不好控制。
2:原来方案a:用可控硅调光电路,控制不精确。b:调压器控制,笨重,不线性(P=U*U/R.
3:原理图1:显示板单片机部分
原理图2:显示板数码管部分
原理图3:电源,过零触发及输出控制部分

欢迎继续阅读楼主其他信息

沙发
 楼主| 发表于 2012-12-7 15:07 | 只看该作者
4:PCB1:显示板
PCB2:控制板
3
 楼主| 发表于 2012-12-7 15:09 | 只看该作者
5:主程序                ORG                0000H
                AJMP        0080H
                ORG                000BH
                AJMP        IT00
                ORG                0080H
STA:        MOV                TMOD,#01H
                MOV                TL0,#0E0H
                MOV                TH0,#0B1H
                SETB        EA
                SETB        ET0
                SETB        TR0
                MOV                20H,#00H
                MOV                21H,#00H
                MOV                22H,#50
                MOV                R0,#00H                         ;按键消抖计数器
                MOV                R1,#00H                        ;PWM计数器
                MOV                P3,#0FFH
                 ACALL        HTT
                AJMP        MAIN
MAIN:        ACALL        DISPLY
                AJMP        MAIN
4
 楼主| 发表于 2012-12-7 15:11 | 只看该作者
6:显示子程序:DISPLY:        MOV                A,22H
                CJNE        A,#100,J1
                MOV                P1,#0F9H                 ;第1位显示1
                AJMP        J2
J1:                MOV                P1,#0FFH                 ;第1位消隐
J2:                SETB        P3.5
                CLR                P3.2
                ACALL        DELAY
                ACALL        ANJIAN
                MOV                DPTR,#NUMTAB        ;第2位
                MOV                A,20H
                MOVC        A,@A+DPTR
                MOV                P1,A
                SETB        P3.2                       
                CLR                P3.3
                ACALL        DELAY
                ACALL        ANJIAN
                MOV                DPTR,#NUMTAB          ;第3位
                MOV                A,21H
                MOVC        A,@A+DPTR
                DEC                A                                ;第3位显示小数点
                MOV                P1,A
                SETB        P3.3                       
                CLR                P3.4
                ACALL        DELAY
                ACALL        ANJIAN
                MOV                P1,#41H                  ;第4位总显示0
                SETB        P3.4
                CLR                P3.5
                ACALL        DELAY
                ACALL        ANJIAN
                RET
5
 楼主| 发表于 2012-12-7 15:12 | 只看该作者
7:按键子程序:ANJIAN:        MOV                C,P3.0
                JNC                J3                                 ;加按键按下
                AJMP        J4
J3:                INC                R0
                CJNE        R0,#00H,J6
                MOV                R0,#00H
                MOV                A,22H
                CJNE        A,#100,J7
                ;MOV        22H,#00H                ;循环清零
                ;ACALL        HTT       
                AJMP        J6
J7:                INC                22H
                ACALL        HTT
                AJMP        J6
J4:                  MOV                C,P3.1
                JNC                J5                                 ;减按键按下
                AJMP        J6
J5:                INC                R0
                CJNE        R0,#00H,J6
                MOV                R0,#00H
                MOV                A,22H
                CJNE        A,#00H,J8
                ;MOV                22H,#100                ;循环清零
                ;ACALL        HTT
                AJMP        J6
J8:                DEC                22H
                ACALL        HTT               
J6:                RET
6
 楼主| 发表于 2012-12-7 15:13 | 只看该作者
8:数据转换子程序:HTT:        MOV                A,22H                                 ;十六进制变为十进制
                MOV                B,#10
                DIV                AB
                MOV                20H,A
                MOV                21H,B
                RET
7
 楼主| 发表于 2012-12-7 15:14 | 只看该作者
8:数据转换子程序:HTT:        MOV                A,22H                                 ;十六进制变为十进制
                MOV                B,#10
                DIV                AB
                MOV                20H,A
                MOV                21H,B
                RET
8
 楼主| 发表于 2012-12-7 15:18 | 只看该作者
9:延时子程序:DELAY:        MOV                R2,#0F6H                         ;延时
DELAY1:        DJNZ        R2,DELAY1
                RET
9
 楼主| 发表于 2012-12-7 15:19 | 只看该作者
10:PWM输出中断服务子程序:IT00:        PUSH        ACC
                PUSH        PSW
                MOV                TL0,#0E0H                         ;PWM中服
                MOV                TH0,#0B1H
                CJNE        R1,#00H,D1                        ;判断过零打开输出
                MOV                A,22H
                CJNE        A,#00H,D0
                AJMP        D1
D0:                MOV                A,22H                                 ;如果22H为0就不开了
                CJNE        A,#00H,D5
                AJMP        D2
D5:                CLR                P3.7
                AJMP        D3
D1:                MOV                A,R1                                ;判断到时间关闭输出
                SUBB        A,22H
                JNZ                D2
                MOV                A,22H                                 ;如果22H为100就不关了
                CJNE        A,#100,D6
                AJMP        D2       
D6:                SETB        P3.7
D2:                CJNE        R1,#100,D3
                MOV                R1,#00H
                AJMP        D4
D3:                INC                R1
D4:                POP                PSW
                POP                ACC
                RETI
10
 楼主| 发表于 2012-12-7 15:23 | 只看该作者
11:数码管显示列表:NUMTAB:        DB        41H,0F9H,25H,31H,99H       
                                ;0       1    2        3   4
                DB                13H,03H,79H,01H,11H,41H,0FFH
                                ;5    6      7      8     9     0      灭
                END
11
 楼主| 发表于 2012-12-7 15:29 | 只看该作者
有兴趣的可以自制,用途广泛,电烙铁,电熨斗,电饭煲,电饼铛等电热器具的PWM线性调功,0--100档,每档递增一个全波20ms。可控硅在电压过零时触发(防止可控硅在高电压是大电流冲击损坏)。
12
发表于 2012-12-7 15:34 | 只看该作者

高深,不明。
13
 楼主| 发表于 2012-12-7 15:45 | 只看该作者
电路板:

DSC05146.JPG (31.86 KB, 下载次数: 5)

DSC05146.JPG
14
发表于 2012-12-7 15:58 | 只看该作者
这么复杂,作什么用?
15
 楼主| 发表于 2012-12-7 16:01 | 只看该作者
电饭煲熬稀饭用!呵呵
16
发表于 2012-12-7 16:30 | 只看该作者
看不懂的帖子就是好帖子
17
发表于 2012-12-7 16:47 | 只看该作者
以lz的用途来说为什么不搞调温的,调功是开环的吗,根据LZ说明调功原理是整周期开关的,能不能调后导通角,如能搞成闭环比例的话可能会有更好的精度和性能
18
 楼主| 发表于 2012-12-7 16:50 | 只看该作者
本帖最后由 guozhu0632 于 2012-12-7 16:53 编辑

调功是开环的,调温的不好保证稀饭刚好处在微沸腾状态,接线也复杂一些。整周期的对电网干扰小些。
19
发表于 2012-12-7 16:52 | 只看该作者
这么复杂。强人真多
20
 楼主| 发表于 2012-12-7 16:54 | 只看该作者
这也算一个单片机的入门级应用实验吧!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /1 下一条

快速回复 返回顶部 返回列表