基于单片机的调光控制器设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于单片机实现的调光控制器设计
1. 实验要求:
用单片机控制一个普通灯泡的亮度,一路开关控制普通灯泡电源的通断,另外两路开关分别控制普通灯泡亮度的增加和减小。

2. 调光控制器设计思想在日常生活中,我们常常需要对灯光的亮度进行调节。

本调光控制器通过单片机控制双向可控硅的导通来实现白炽灯(纯阻负载)亮度的调整。

双向可控硅的特点是导通后即使触发信号去掉,它仍将保持导通;当负载电流为零(交流电压过零点)时,它会自动关断。

所以需要在交流电的每个半波期间都要产生触发信号,触发信号产生时间的长短(触发角的大小)就决定了灯泡的亮度。

调光的实现方式就是在交流电源信号过零点后一段时间触发双向可控硅开关的导通,称这段时间为双向可控硅的触发角。

触发角越大,导通时间越长,可控硅导通的时间越短,灯的亮度就越低;反之,灯就越亮。

这就要求确定交流电源同步信号的过零点,并以此为基础,控制触发信号触发角的大小,达到白炽灯亮度调节的目的。

3. 实验过程:
3.1 硬件设计
3.1.1 I/O 通道的设计:
(1)同步信号采集电路
a查明图中所用元器件的参数;
b、画出图中1、3、syn三点的信号波形
b、画出图中L1_D、4两点的信号波形
3.1.2硬件电路部分
单片机控制电路原理图
(1)设计时钟电路
(2)设计上电复位电路V 100Hz
(3) 设计开关量信号控制电路
(4) 电位器电压给定及电压采样电路
3.2画出控制原理总图
并给出总图中所用元器件的选型清单(清单中应包含序号、元器件名称、规格、 单位、数量、单价、合计及总价等) 本调光控制器的框图如下:
團1调光控制器框图
控制部分:为了便于灵活设计,选择可多次写入的可编程器件,本设计方案 中选用的是 ATMEL 公司生产的 AT89C51 单片机。

控制部分
►呃动部分 ►负载部分
驱动部分:由于驱动的对象是交流负载,且为了实现连续调节的目的,本电路中采用了无触点开关元件双向可控硅。

双向可控硅能够对交流电源的导通进行无触点连续控制,以小电流控制大电流,且动作快、寿命长、可靠性高。

负载部分:本电路的负载是白炽灯(纯阻负载)。

4. 软件部分
要控制的对象是50Hz 的正弦交流信号,通过同步信号检测电路,将同步信号送至单片机的中断口。

单片机接收到同步信号后就启动一个延时程序,延时的具体时间由按键来改变。

延时结束后,单片机立即产生触发信号。

触发信号可使可控硅导通,电流经过可控硅流过白炽灯,使灯发光。

延时越长,亮的时间就越短,灯的亮度越暗。

由于延时的长短是由按键决定的,所以实际上就是按键控制了光的强弱。

理论上讲,延时时间应该可以是0〜10ms内的任意值。

在程序中,将一个周期均分成N 等份,每次按键只需要去改变其等份数,在这里,N 越大越好,但由于受到单片机本身的限制和基于实际必要性的考虑,只需要分成大约100份左右即可,实际采用的值是95。

可控硅的触发脉冲宽度要根据具体的光耦结合示波器观察而定,在本设计中取20卩。

程序中使用T1来控制这个时间。

对两个调光按键的处理的方式是:短按只调整一个台阶,长按可以连续调整。

4.1 软件设计:
(1 )电位器电压给定及电压采样
(2)开关量(I/O 端口)输入输出
(3)定时器结构定义及延时
(4)触发脉冲产生
(5)单片机中断及定时器初始化
(6)中断子程序
(7)主程序
4.2 交流电源同步信号
交流电源同步信号的产生如图2电路所示,图中的同步信号就是我们需要的交流电压过零点信号。

各部分波形如图3 所示。

图中整流后波形中的水平虚线表示光藕P52l 输入二极管的门限电压。

P521 是TLP521 的简称,下图是其引脚图。

引脚图中器件名的后缀“-1”表示包含一组光
图2过零点信号(同步信号)提取电路
图4 P521引脚图
2、程序编写
(三)系统软硬件联调
4.3单片机控制部分:
主控单元以AT89C51单片机为核心,交流电压过零点信号提取电路中产生的同 步信号
SYN 接到AT89C51的INTO ,此信号的下降沿将使 AT89-C51产生中断,
耒禺。

3WJW
次找<—
M :
AC
DHM
3过零点信号(同步信号)波形图
曙 ICOHz
IQn w
以此为延时时间的起点
三个按键只用于控制一路灯:一个为开关,另外两个分别为提高亮度和降低亮度。

74HC573用于输出控制可控硅的导通的触发信号。

220V 交流主电源导通区间、同步信号和触发信号的时序关系如图6 所示。

图中的阴影部分表示可控硅的导通区间,它的大小决定了灯的亮度。

改变延时时间可改变触发信号和同步信号的相位关系,也改变了可控硅的导通区间的大小,达到调光的目的。

1、编写程序流程图
壬程序範皿
并INTU
OM-CXFF 崛挖|
关1MTD
Tt畔嘶硫型
降止TL
电平・0
fflLO呂序流电罔
4.4驱动单元


Z



S







=
y
tr




=
x

|| t V
1
F t
H
4
—同步倍号_
1 ■
A

Hl
t
|| jl
|| j b
鮭題信号一
图7可控硅主电源导通区间、同步信号和触发信号的时序图
图中,L1_D是单片机输出的触发信号,该信号通过光控可控硅MOC3022去驱动可控硅T435。

受控的白炽灯接在Ll和零线(图中未画出)之间。

MOC3022是DIP-6封装的光控可控硅。

其1、2脚分别为二极管的正、负极:4、
T435-400是可控硅,“4表示主回路电流是4A;“35表示触发端的最大电流是35mA,一般该端有最大电流的5 %就可保证可靠地触发。

T435-400外型图如图9所示。

图6主电源导通区间、同步信号和触发信号时序
6脚为输出回路的两端;3、5脚不用连接。

如图8所示
5、硬件和软件设计过程中存在的问题及改进方法
U
1
■tl
tl
IJ
F
1
1
iXTAH pom
ATM P0浓
XTAL2
r>£T
用畑POJitfa
P0 卅DE
POW Ft)陀
Kol
农刚
皿IM
用20
祖P23IM1
軋E PM
日P2M
P2WU
P27Mt5
H.0讥肌
P1.1FSl.fDC
M.I巴湎
PU FJ.Wi
P14P3n
砂5FIST
Plfl芒郦
P1.7
%


-

-




-

-


-



U
Y
U

U
5
U
2
R
7
R
5
U
3
R
8
角的大小
ORG 0000H
LJMP INIT
ORG 000BH
U5
r-CZH
w
—11
------------------------
1
II iF ---------------- U
;定时器0用于设定触发
LJMP TIMER
ORG 001BH
;定时器 1 用于按键消抖
延时
LJMP D ELAY2MS
ORG 0030H
//主程序 MAIN:
JB
P2.2 ,COUNTPOWER
;判 断开
机键
MAIN1:
JB
P2.0, MAIN
;判断开机状

JB
P2.1,OPENTIMER ; 判断过零点,如
果过零点就开定时器 0
JNB P2.3,COUNTADD ; 判断减量

JNB P2.5,COUNTDEC
;跳到增量子程序
LJMP MAIN
//开机键消抖程序
COUNTPOWER:SETB TR1
CJNE R2,#8,MAIN MOV R2,#00H
LJMP ONOFF
//初始化程序 INIT:
MOV 器
MOV 模式 SETB

SETB SETB MOV
MOV 值
MOV MOV MOV CLR
R3, #13H ;灯光亮度级别寄存 TMOD,#11H ; 定时器的工作 ET1 ; 允许定时器 1 中 EA ;允许全局中断 ET0
; 允许计时器 0 中断
TH1,#0B1H
TL1,#0E0H ; 定时器 1 赋初
R0,#00H ;增量键状态寄存器
R1,#00H ;减量键状态寄存器 R2,#00H ;开机键计数 20 ;开机状态寄存器
//增量键消抖子程序
COUNTADD: SETB TR1
CJNE R0,#10,MAIN
MOV R0,#00H
LJMP TURNADD
//减量键消抖子程序
COUNTDEC: SETB TR1
CJNE R1,#10,MAIN MOV R1,#00H LJMP
TURNDEC
//开机或关机
ONOFF:CPL20
CPL P2.2
MOV R5,#0E4H
MOV R6,#0DAH
MOV TH0,R6
MOV TL0,R5
MOV R3, #13H
LJMP MAIN1
//过零点开定时子程序
OPENTIMER: SETB TR0
LJMP MAIN
//增量子程序
TURNADD:
CJNE R3,#01H,TURNADD1 是最亮级别(最高级别1)
LJMP MAIN
TURNADD1: DEC R3
MOV A,R5
SUBB A,#0CH
MOV R5,A
MOV A,R6
ADD A,#2
MOV R6,A ;判断是不
亮度级别加1
LJMP MAIN
//减量子程序
TURNDEC:
CJNE 是亮度最低级别 (最低级别 9)
//定时器子程序
TIMER: CLR TR0
MOV TL0,R5
MOV TH0,R6
CLR P2.0 LCALL DELAY100uS
SETB P2.0 ;关闭晶闸管出发信号 RETI
〃100us 延时程序,确保触发信号有效 DELAY100uS: MOV R7,#100 DJNZ R7,$
RET
//消抖定时子程序
DELAY2MS: CLR
TR1 MOV TH1,#0B1H
MOV TL1,#0E0H
JNB
P2.4,DELAY1 JNB P2.5,DELAY2
JNB P2.3,DELAY3
RETI
DELAY1: INC R0
R3,#13H,TURNDEC1
;判断是不 LJMP MAIN 1: INC R3 MOV A,R5 ADD A,#0CH MOV R5,A MOV A,R6 SUBB A,#2 MOV R6,A LJMP MAIN ;亮度级别加 1
;给晶闸管出发信号
SETB RETI
DELAY2: INC
R1 SETB TR1
RETI
DELAY3: INC R2
SETB TR1
RETI。

相关文档
最新文档