5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)

标题: 做一个数显过零触发PWM交流调功控制器! [打印本页]

作者: guozhu0632    时间: 2012-12-7 15:01
标题: 做一个数显过零触发PWM交流调功控制器!
1:原因:用电热杯或电饭煲熬稀饭,功率不好控制。
2:原来方案a:用可控硅调光电路,控制不精确。b:调压器控制,笨重,不线性(P=U*U/R.
3:原理图1:显示板单片机部分 (, 下载次数: 23)
原理图2:显示板数码管部分 (, 下载次数: 20)
原理图3:电源,过零触发及输出控制部分 (, 下载次数: 18)

作者: guozhu0632    时间: 2012-12-7 15:07
4:PCB1:显示板 (, 下载次数: 19)
PCB2:控制板 (, 下载次数: 24)
作者: guozhu0632    时间: 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
作者: guozhu0632    时间: 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
作者: guozhu0632    时间: 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
作者: guozhu0632    时间: 2012-12-7 15:13
8:数据转换子程序:HTT:        MOV                A,22H                                 ;十六进制变为十进制
                MOV                B,#10
                DIV                AB
                MOV                20H,A
                MOV                21H,B
                RET
作者: guozhu0632    时间: 2012-12-7 15:14
8:数据转换子程序:HTT:        MOV                A,22H                                 ;十六进制变为十进制
                MOV                B,#10
                DIV                AB
                MOV                20H,A
                MOV                21H,B
                RET
作者: guozhu0632    时间: 2012-12-7 15:18
9:延时子程序:DELAY:        MOV                R2,#0F6H                         ;延时
DELAY1:        DJNZ        R2,DELAY1
                RET
作者: guozhu0632    时间: 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
作者: guozhu0632    时间: 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
作者: guozhu0632    时间: 2012-12-7 15:29
有兴趣的可以自制,用途广泛,电烙铁,电熨斗,电饭煲,电饼铛等电热器具的PWM线性调功,0--100档,每档递增一个全波20ms。可控硅在电压过零时触发(防止可控硅在高电压是大电流冲击损坏)。
作者: 爱情欠条    时间: 2012-12-7 15:34

高深,不明。
作者: guozhu0632    时间: 2012-12-7 15:45
电路板:
作者: 半桶水    时间: 2012-12-7 15:58
这么复杂,作什么用?
作者: guozhu0632    时间: 2012-12-7 16:01
电饭煲熬稀饭用!呵呵
作者: 讲不出再见    时间: 2012-12-7 16:30
看不懂的帖子就是好帖子
作者: yanhao08    时间: 2012-12-7 16:47
以lz的用途来说为什么不搞调温的,调功是开环的吗,根据LZ说明调功原理是整周期开关的,能不能调后导通角,如能搞成闭环比例的话可能会有更好的精度和性能
作者: guozhu0632    时间: 2012-12-7 16:50
本帖最后由 guozhu0632 于 2012-12-7 16:53 编辑

调功是开环的,调温的不好保证稀饭刚好处在微沸腾状态,接线也复杂一些。整周期的对电网干扰小些。
作者: suyehau    时间: 2012-12-7 16:52
这么复杂。强人真多
作者: guozhu0632    时间: 2012-12-7 16:54
这也算一个单片机的入门级应用实验吧!
作者: pf2051    时间: 2012-12-7 17:14
guozhu0632 发表于 2012-12-7 15:09
5:主程序                ORG                0000H
                AJMP        0080H
                ORG                000BH

哈哈,楼主也是喜欢用汇编。。。
作者: guozhu0632    时间: 2012-12-7 17:17
汇编效率高,时间算得准,就是可读性差了点!
作者: guozhu0632    时间: 2012-12-7 17:18
汇编效率高,时间算得准,就是可读性差了点!
作者: 犀牛王    时间: 2012-12-7 18:00
看起来很高级,但与那个空香皂的故事类似。
作者: qingdiy    时间: 2012-12-7 19:53
不错的东西,留名收藏。汇编不会,只会用C51做点东西.
作者: 黑钻    时间: 2012-12-7 20:08
很不错啊~
不过有点杀鸡用牛刀的感觉。。。。。。
作者: ygh    时间: 2012-12-7 20:34

作者: xother    时间: 2012-12-7 21:17
我也同感,看不懂是好贴,真的可以煮稀饭么,煮个看看
作者: 老油条    时间: 2012-12-7 21:38

作者: 老油条    时间: 2012-12-7 21:40

作者: 何治华    时间: 2012-12-8 16:01
煮稀饭哪有那么麻烦,一般在电子市场买一个可控硅的成品(2KW)15元,接上线就可以了。
不过,DIY就是喜欢过个过程。

作者: yoso    时间: 2012-12-8 16:43
这个可以有。。。
作者: guozhu0632    时间: 2012-12-9 13:16
焊好了,显示板正面: (, 下载次数: 25)
背面: (, 下载次数: 14)
输出板:
连起来:
作者: 蓝月亮    时间: 2012-12-9 13:47
看不懂的帖子就是好帖子

作者: guozhu0632    时间: 2012-12-9 13:50
找个盒,开个窗: (, 下载次数: 23) (, 下载次数: 9)
作者: guozhu0632    时间: 2012-12-9 13:52
安装,连线: (, 下载次数: 16) (, 下载次数: 17)
通电: (, 下载次数: 25)
作者: duanyz    时间: 2013-1-6 10:06
请教这个pwm是不断控制可控硅开停的频率,以达到所需要的温度吗?
作者: 老撅杆    时间: 2013-1-6 12:52
高射炮打蚊子——大材小用。
作者: 上海一鑫    时间: 2013-1-6 14:08
汇编 可用最少的代码 实现单片机控制功能,初学者学习这个,要注意安全!
作者: 惠民    时间: 2013-1-6 15:36
看天书。
作者: 观知    时间: 2013-1-6 21:16
没看懂第三张图上面的J1和J4插座有何作用。也没见调整按钮接点,忘楼主赐教,谢谢!
作者: 茶壹杯    时间: 2013-1-6 21:54
汇编 达人
作者: guozhu0632    时间: 2013-1-8 10:55
本帖最后由 guozhu0632 于 2013-1-8 10:58 编辑

回41楼:J1是在画PCB板使用的,是接变压器AC输出给板子供电的接口。J4是为了实现PWM直流输出控制的一个预留通道,想做成给24V焊台调功的!这部分暂时没试,在这个应用中可不焊!按键接在了单片机的串口上,这点从程序中可以看出来!这也是准备一板多用,显示板可以接收串口数据显示其他东西!
作者: guozhu0632    时间: 2013-1-8 11:12
本帖最后由 guozhu0632 于 2013-1-8 15:24 编辑

回37楼:PWM是在固定时间的大周期内(此处为2秒),通过调整可控硅的导通时间来实现占空比可调的间断加热。 举个例子:有一个人每天都读书,每天早上0点开始读,可以读到0--24点的任何时间,这一周每天读2个小时发现读的太慢,下周调整为每天读3个小时,发现还是太慢,再下周调整为每天读4个小时!。。。。。。直到他认为速度可以了而且身体也吃得消就固定下来。这就叫PWM控制。当然他也可以每天不读书(0小时)或昼夜不停地读书(24小时)。大周期(一天)时间不变,每天读书开始时间不变,结束时间可调就实现了!
作者: guozhu0632    时间: 2013-1-8 11:26
本帖最后由 guozhu0632 于 2013-1-8 15:26 编辑

装起来就用它熬稀饭了,淘好米加好水先用100.0档,大功率烧开,然后调到20.0(经验值,电压高时就调低点最低调过16就行)保持微沸腾,每过个10分8分钟看一下是否需要调整(保持稀饭微沸腾但不溢出),直到稀饭熬好。改天上图。
家中有一个电饼铛,虽然有温度控制但是由于功率太大(1200W),做出来的饼子还是太焦,饼子厚点外面焦了里面还不熟,接到这上面调到40.0做出来的饼子效果很好。
实际这个应用显示用3个数码管足够,用4个数码管也是为了可用到其他场合。这个是比调光电路复杂了些,但是由于有显示,调整直观一些。只能应用到电阻加热的电器如:电饭煲,电热杯,电饼铛,电炉子,电熨斗,电烙铁等,不能用于调光,电磁炉,微波炉等电器。还有个缺点就是在接大功率的电器时由于频繁启停会影响其他电器,如照明灯周期性的忽明忽暗!
作者: 机械人家    时间: 2013-1-8 11:35
再用C语言写下.波形怎样?
作者: NYP    时间: 2013-1-8 11:44
都单片机了还要十分八分看一下啊,有点浪费啊,哈哈
开玩笑,程序复杂了点,还可以再优化一下




欢迎光临 5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年) (http://bbs.5imx.com/) Powered by Discuz! X3.3