基于单片机实现普通灯泡调光控制器_第1页
基于单片机实现普通灯泡调光控制器_第2页
基于单片机实现普通灯泡调光控制器_第3页
基于单片机实现普通灯泡调光控制器_第4页
基于单片机实现普通灯泡调光控制器_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于单片机实现的普通灯泡调光控制器一、实验要求:用单片机控制一个普通灯泡的亮度,一路开关控制普通灯泡电源的通断,另外两路开关分别控制普通灯泡亮度的增加和减小。二、调光控制器实验原理:在日常生活中,我们常常需要对灯光的亮度进行调节。本调光控制器通过单片机控制双向可控硅的导通来实现白炽灯(纯阻负载)亮度的调整。双向可控硅的特点是导通后即使触发信号去掉,它仍将保持导通;当负载电流为零(交流电压过零点)时,它会自动关断。所以需要在交流电的每个半波期间都要送出触发信号,触发信号的送出时间就决定了灯泡的亮度。调光的实现方式就是在过零点后一段时间才触发双向可控硅开关导通,这段时间越长,可控硅导通的时间越短,

2、灯的亮度就越低;反之,灯就越亮。三硬件部分及实验原理图:控制部分:选择可多次写入的可编程器件ATMEL的AT89C51单片机。驱动部分:要驱动的是交流,可以用继电器或光耦+可控硅来驱动。可控硅在电路中能够实现交流电的无触点控制,以小电流控制大电流,并且不象继电器那样控制时有火花产生,而且动作快、寿命长、可靠性高。所以这里选用的是可控硅控制。负载部分:本电路以单片机控制白炽灯的亮度变化。(一)硬件设计1、I/O 通道的设计:(1)同步信号采集电路:由于系统采用的是延时给脉冲的工作方式,必须准确计算延时的时间,延时必须每次在工频信号的过零点开始算起,因此需准确采集工频信号的零点。图中整流后的波形中

3、的水平虚线表示光耦P521输入二极管的门限电压。如图: P521引脚图整流输出过零点波形图脉冲对应工频信号的过零点。此脉冲信号作为系统的中断输入(P3.2口),控制延时计算的开始。(2)可控硅触发电路:系统采用双向可控晶闸管控制电路通断,给脉冲后管子导通,过零后自动关断。L1_D是单片机输出的触发信号,该信号通过光控可控硅MOC3022去驱动可控硅BT136。MOC3022是DIP-6封装的光控可控硅。其1、2脚分别为二极管的正负极,4、6脚为输出回路的两端,3、5脚不用连接。如图:MOC3022引脚图BT136一般有最大电流的0.05就可以保证可靠触发。如图:BT136外形图触发信号电路图:

4、主电源导通区间同步信号触发信号时序图 脉冲的给定是在中断延时到后有CPU的P3.0口输出到驱动电路,控制管子导通。触发信号直接决定晶闸管的导通时间,从而控制主电源输出有效值,间接调控灯泡亮暗。(二)单片机及其特点80C51有40个引脚,4个8位并行I/O口,1个全双工异步串行口,同时内含5个中断源,2个优先级,2个16位定时/计数器。80C51的存储器系统由4K的程序存储器(掩膜ROM),和128B的数据存储器(RAM)组成。80C51单片机的基本组成框图见图: 80C51单片机结构8051单片机主要由以下几部分组成:(1).CPU系统 8位cpu,含布尔处理器; 时钟电路; 总线控制逻辑。(

5、2).存储器系统 4K字节的程序存储器(ROM/EPROM/Flash,可外扩至64KB); 128字节的数据存储器(RAM,可再外扩64KB); 特殊功能寄存器SFR。(3).I/O口和其他功能单元 4个并行I/O口; 2个16位定时计数器; 1个全双工异步串行口; 中断系统(5个中断源,2个优先级)。80C51单片机主要特性1. 一个8 位的微处理器(CPU)。2. 片内数据存储器RAM(128B),用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据等,SST89 系列单片机最多提供1K 的RAM。3. 片内程序存储器ROM(4KB),用以存放程序、一些原始数据和表格。但也

6、有一些单片机内部不带ROM/EPROM,如8031,8032,80C31 等。目前单片机的发展趋势是将RAM 和ROM 都集成在单片机里面,这样既方便了用户进行设计又提高了系统的抗干扰性。SST 公司推出的89 系列单片机分别集成了16K、32K、64K Flash 存储器,可供用户根据需要选用。4. 四个8 位并行IO 接口P0P3,每个口既可以用作输入,也可以用作输出。5. 两个定时器计数器,每个定时器计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制。为方便设计串行通信,目前的52 系列单片机都会提供3 个16 位定时器/计

7、数器。6. 五个中断源的中断控制系统。现在新推出的单片机都不只5 个中断源,例如SST89E58RD 就有9 个中断源。7. 一个全双工UART(通用异步接收发送器)的串行IO 口,用于实现单片机之间或单机与微机之间的串行通信。8. 片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。最高允许振荡频率为12MHz。SST89V58RD 最高允许振荡频率达40MHz,因而大大的提高了指令的执行速度。单片机最小系统1、复位电路单片机复位电路原理是在单片机的复位引脚RST上外接电阻和电容,实现上电复位。当复位电平持续两个机器周期以上时复位有效。复位电平的持续时间必须大于单片机的两个机器周期。具体

8、数值可以由RC电路计算出时间常数。复位电路由按键复位和上电复位两部分组成。(1)上电复位:STC89系列单片及为高电平复位,通常在复位引脚RST上连接一个电容到VCC,再连接一个电阻到GND,由此形成一个RC充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的典型值为10K和10uF。(2)按键复位:按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电、RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。复位电路图2、振荡电路单片机系统里都有晶振,在单片机系统里晶振作用非常大,全程叫晶体振荡器,

9、他结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。晶振通常与锁相环电路配合使用,以提供系统所

10、需的时钟频率。如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。STC89C51使用11.0592MHz的晶体振荡器作为振荡源,由于单片机内部带有振荡电路,所以外部只要连接一个晶振和两个电容即可,电容容量一般在15pF至50pF之间。 单片机控制电路原理图:控制原理总图:器件的整定选型1、 整流桥的选型 交流电压有效值为220V,故整流桥二极管两端承受的正、反向重复峰值电压Um=Un=311V整流桥二极管电压额定值为23倍的裕度:Ue=(23)Um=(622933)V二极管正常工作电流10mA计算根据:DB107合适。 2、光电耦合器的选型交流信号直接经整流桥后,

11、得到直流电压,光电耦合器发光二极管两端承受峰值电压为Um=1,414Un=311V发光二极管电压额定值:Ue=(23)Um=(622933)VUm加于光耦LED两端会直接击穿LED,故在信号进入整流回路前串入分压限流电阻R3、R4即可防止击穿LED。光电耦合器TLP521-1的参数:最大隔离电压=2500V,LED最大正向电流=70mA,最大操作Vceomax=24V,LED最大正向电流=20mA。TLP521-1合适。电阻R1、R2、R3的选型基于本次设计的实际要求,选R1、R3阻值为15千欧姆,流过光耦LED的电流有效值:I=(220-0.7)/30=7.3mA,(二极管压降0.7V可忽略

12、)满足光耦导通条件。R1、R3功率大小的选择Pmax= =0.0735W按降额70%标准使用,R3、R4功率大小选择为2W电阻R2的选型由光耦TLP521-1集电极最大通过电流确定,TLP 521-1集电极通过最大电流为50mA,R9阻值选为5.1千欧姆,光耦导通时通过集电极电流I=5/5.1=10mA 故R2选为5.1千欧,1/4W3、光耦可控硅MOC3022的选择此电压为BT136的触发电压,电阻R4、R5选择1K/2W及180/2W。4、白炽灯的选择本实验白炽灯为220V/25W工作时,温度越高,白炽灯电阻越大,即热态电阻是冷态电阻的16倍。四、元器件参数列表器件名型号规格数量其他单片机

13、80515V/3mA1AT98C51光电耦合器P52124V/25mA1过零检测、隔离桥堆DB107700V/50A1整流光耦MOC30221.5 V/ 50 mA1驱动控制、隔离可控硅BT136600V/4A1双向导通限流电阻30K/2W2上拉电阻5.1K2限流电阻2701可控硅电阻1K/2W1可控硅电阻180/2W1按钮3五程序控制思想:控制的对象是50Hz的正弦交流信号,通过同步信号检测电路,将同步信号送至单片机的中断口。单片机接收到同步信号后就启动一个延时程序,延时的具体时间由按键来改变。延时结束后,单片机立即产生触发信号。触发信号可使可控硅导通,电流经过可控硅流过白炽灯,使灯发光。延

14、时越长,亮的时间就越短,灯的亮度越暗。由于延时的长短是由按键决定的,所以实际上就是按键控制了光的强弱。理论上讲,延时时间应该可以是010ms内的任意值。在程序中,将一个周期均分成N等份,每次按键只需要去改变其等份数,在这里,N越大越好,但由于受到单片机本身的限制和基于实际必要性的考虑,只需要分成大约20份左右即可,实际采用的值是0.5ms。程序流程图:五软件程序:#include#include#define uint unsigned int#define uchar unsigned charsbit br=P21; /总开关sbit su=P22; /逐渐减灭 sbit in=P23;

15、/逐渐增亮sbit pu=P20; /脉冲触发uint m,n,z,f; /定义变量void delay_18ms(uint t) /消抖延时,延时为15ms,精度为0usuint a,b; for(;t0;t-) for(b=122;b0;b-) for(a=2;a0;a-);void delay_80us(uint t) /脉冲宽度为80us,精度为0usunsigned char a; for(;t0;t-) for(a=2;a0;a-);void main(void)f=0; /初始化pu=1;TMOD=0x02;/定时器方式2TH0=0x00; /装初值对应200us;TL0=0x3

16、8;ET0=0; /定时器0溢出中断禁止TR0=0; /禁止定时器启动IT0=1; /下降沿触发EX0=0; /禁止外部中断0EA=1; /cpu中断开放while(1) /放循环 if(su=0) /是否输入低电平delay_18ms(21); /延时确定即消抖if(su=0) /确认是否为低电平 while(!su); m+;if(m31) /最大导通角的值,即灯泡亮度最小 m=31;if(in=0)/是否输入低电平delay_18ms(21);/延时确定即消抖if(in=0)/确认是否为低电平 while(!in); m-; /最小导通角的值,即灯泡亮度最亮if(m1) m=1;if(br=0)/是否输入低电平delay_18ms(21); /延时确定即消抖if(br=0) /确认是否为低电平 if(f=0) /开关状态检测,此句为打开灯泡 f=1; /总开关标志设定m=8; /灯泡初值触发角度 EX0=1; /允许外部中断0else /此句为关断灯泡 f=0; /总开关标志设定EX0=0; /关断外部中断0 w

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论