基于ZigBee的LED灯调光控制器设计与实现Word文件下载.docx

上传人:b****5 文档编号:18893365 上传时间:2023-01-02 格式:DOCX 页数:10 大小:192.47KB
下载 相关 举报
基于ZigBee的LED灯调光控制器设计与实现Word文件下载.docx_第1页
第1页 / 共10页
基于ZigBee的LED灯调光控制器设计与实现Word文件下载.docx_第2页
第2页 / 共10页
基于ZigBee的LED灯调光控制器设计与实现Word文件下载.docx_第3页
第3页 / 共10页
基于ZigBee的LED灯调光控制器设计与实现Word文件下载.docx_第4页
第4页 / 共10页
基于ZigBee的LED灯调光控制器设计与实现Word文件下载.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

基于ZigBee的LED灯调光控制器设计与实现Word文件下载.docx

《基于ZigBee的LED灯调光控制器设计与实现Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于ZigBee的LED灯调光控制器设计与实现Word文件下载.docx(10页珍藏版)》请在冰豆网上搜索。

基于ZigBee的LED灯调光控制器设计与实现Word文件下载.docx

电容C1的作用为降压和限流:

大家都知道,电容的特性是通交流﹑隔直流,当电容连接于交流电路中时,其容抗计算公式为:

 

XC=1/2πfC

式中,XC表示电容的容抗﹑f表示输入交流电源的频率﹑C表示降压电容的容量。

流过电容降压电路的电流计算公式为:

U/XC

式中I表示流过电容的电流﹑U表示电源电压﹑XC表示电容的容抗。

在220V﹑50Hz的交流电路中,当负载电压远远小于220V时,电流与电容的关系式为:

I=69C,其中电容的单位为uF,电流的单位为mA

表5-1为在220V﹑50Hz的交流电路中,理论电流与实际测量电流的比较。

表5-1在220V﹑50Hz的交流电路中理论电流与实际测量电流的比较

电阻R1为泄放电阻,其作用为:

当正弦波在最大峰值时刻被切断时,电容C1上的残存电荷无法释放,会长久存在,在维修时如果人体接触到C1的金属部分,有强烈的触电可能,而电阻R1的存在,能将残存的电荷泄放掉,从而保证人﹑机安全。

泄放电阻的阻值与电容的大小有关,一般电容的容量越大,残存的电荷就越多,泄放电阻就阻值就要选小些。

经验数据如表5-2,供设计时参考:

表5-2泄放电阻的阻值与电容对比表

D1~D4的作用是整流,其作用是将交流电整流为脉动直流电压。

C2﹑C3的作用为滤波,其作用是将整流后的脉动直流电压滤波成平稳直流电压。

压敏电阻(或瞬变电压抑制晶体管)的作用是将输入电源中瞬间的脉冲高压电压对地泄放掉,从而保护LED不被瞬间高压击穿。

LED串联的数量视其正向导通电压(Vf)而定,在220VAC电路中,最多可以达到80个左右。

组件选择:

电容的耐压一般要求大于输入电源电压的峰值,在220V,50Hz的交流电路中时,可以选择耐压为400伏以上的涤纶电容或纸介质电容。

D1~D4可以选择IN4007。

滤波电容C2﹑C3的耐压根据负载电压而定,一般为负载电压的1.2倍。

其电容容量视负载电流的大小而定。

5.3LED灯调光电路设计

(1)12V直流电源设计

12V直流电源设计主要是AC220到DC12V的转换(如图5-2所示)。

在下图中采用了LNK306芯片。

LNK306在一片IC上面集成了一个700V的功率MOSFET、振荡器、简单的开/关控制电路、高压开关电流源、频率调制、逐周期的电流限制及过温保护电路。

图5-2AC220到DC12V的转换电路

输入级由保险电阻F1、二极管D10和D11、电容C18和C21以及电感L2组成。

电阻F1为阻燃可熔的绕线电阻,它同时具备多个功能:

a)将整流管D10和D11的浪涌电流限制在安全的范围;

b)差模噪声的衰减;

c)在其它任何元件出现短路故障时,充当输入保险丝的功能(元件故障时必须安全开路,不应产生任何冒烟、冒火及过热发光现象)。

功率处理级由LNK306、续流二极管D13、输出电感L1及输出电容C19构成。

电容C19是输出滤波电容,其主要功能是限制输出电压纹波。

输出电压的纹波最主要取决于输出电容的ESR而非电容的容量。

二极管D13和D12的正向导通压降是相同的。

因此,C22两端的电压会跟踪输出电压。

连接到LNK306FB引脚由R26和R27组成的电阻分压器对C22的电压进行检测及稳压。

(2)CC2530单片机外围电路设计

1)CC2530单片机电源设计

LED灯需要12V直流电源,但是CC2530工作需要3.3V直流电源,所以这里还需要进行DC12V到DC3.3V的转换。

这里采用电源芯片BM1117-3.3,该芯片可以输入DC12V,输出DC3.3V。

电路设计如图5-3所示:

图5-33.3V直流电源设计图

该电路图只是在输入输出端分别加入了滤波电容。

2)CC2530单片机电路设计

芯片的RF-P和RF-N引脚为天线接入引脚,M1为天线接入端;

为了节省模块以及控制板的空间尺寸,这里采用PCB天线设计。

芯片的P10~P17作为2位数码管模块的阴极驱动引脚;

芯片的P00~P01作为2位数码管模块的阳极驱动引脚;

芯片的P02作为4个LED灯指示灯的驱动引脚;

芯片的P06作为按键AD输入;

芯片的P03作为蜂鸣器控制引脚、P04作为继电器控制引脚。

CC2530模块设计原理图如图5-4所示。

图5-4CC2530单片机电路设计图

(3)基于PWM的LED调光电路设计

1)PWM简介

脉冲宽度调制(PWM),是英文“PulseWidthModulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。

脉冲宽度调制是一种模拟控制方式,其根据相应载荷的变化来调制晶体管栅极或基极的偏置,来实现开关稳压电源输出晶体管或晶体管导通时间的改变,这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术。

PWM控制技术以其控制简单、灵活和动态响应好的优点而成为电力电子技术最广泛应用的控制方式,也是人们研究的热点。

随着电子技术的发展,出现了多种PWM技术,其中包括:

相电压控制PWM、脉宽PWM法、随机PWM、SPWM法、线电压控制PWM等。

2)PWM控制LED亮度原理

对于控制LED灯由亮到暗或由暗到亮,采用的是脉宽PWM法。

它是把每一脉冲宽度均相等的脉冲列作PWM波形,通过改变脉冲列的周期可以调频,改变脉冲的宽度或占空比可以调压,采用适当控制方法即可使电压与频率协调变化。

可以通过调整PWM的周期、PWM的占空比而达到控制电流的目的。

这次设计利用单片机产生占空比可变的矩形波,当产生此矩形波的I/O通过滤波电路再与LED灯相连接后,由于输出矩形波占空比不断变化,那么一个周期内有一部分时间LED导通,一部分时间截止,从整体来看有一个平均电压,因为PWM信号频率周期很高,我们无法通过肉眼来观察到每一个周期LED灯亮灭的变化过程,所以通过平均电压的方式来决定LED灯的亮的程度。

随着波形占空比的不断变化,LED灯也会有着由暗到亮或由亮到暗的不断变化。

如图5-5所示。

单片机通过PWM调节灯光亮暗基本原理电路图:

图5-5CC2530单片机PWM驱动LED电路设计

这里加了一个三极管和MOS管来驱动LED灯,以达到加强亮度的目的。

3)PWM驱动电路结构

PWM电路的特点是频率高、效率高、功率密度高、可靠性高、然而由于开关器件工作在高频通断状态,高频的快速瞬变过程本身就是一电磁骚扰源,它产生的EMI信号有很宽的频率范围,又有一定的幅度。

如图5-6所示,为PWM驱动电路结构。

图5-6利用PWM信号控制LED亮度的驱动电路

5.4软件设计

(1)ZigBee协议栈

Z-STACK是美国德州仪器(简称“TI”)公司推出的支持ZigBee标准的协议栈,具有开源、稳定可靠等特点,本案将采用此协议栈进行开发。

打开Z-STACK协议栈任何一工程均有如图5-7所示。

图5-7Z-STACK结构图

APP(ApplicationProgramming):

应用层目录,这是用户创建各种不同工程的区域,在这个目录中包含了应用层的内容和这个项目的主要内容,在协议栈里面一般是以操作系统的任务实现的。

HAL(Hardware(H/W)AbstractionLayer):

硬件层目录,包含有与硬件相关的配置和驱动及操作函数。

MAC:

MAC层目录,包含了MAC层的参数配置文件及其MAC的LIB库的函数接口文件。

MT(MonitorTest):

实现通过串口可控各层,于各层进行直接交互。

NWK(ZigBeeNetworkLayer):

网络层目录,含网络层配置参数文件及网络层库的函数接口文件,APS层库的函数接口。

OSAL(OperatingSystem(OS)AbstractionLayer):

协议栈的操作系统。

Profile:

AF(ApplicationFramework)层目录,包含AF层处理函数文件。

Security:

安全层目录,安全层处理函数,比如加密函数等。

Services:

地址处理函数目录,包括着地址模式的定义及地址处理函数。

Tools:

工程配置目录,包括空间划分及ZStack相关配置信息。

ZDO(ZigBeeDeviceObjects):

ZDO目录。

ZMac:

MAC层目录,包括MAC层参数配置及MAC层LIB库函数回调处理函数。

ZMain:

主函数目录,包括入口函数及硬件配置文件。

Output:

输出文件目录,这个EW8051IDE自动生成的。

(2)PWM驱动LED灯驱动设计

调节LED灯亮度本案采用PWM输出模式来实现。

PWM的产生这里采用定时器3来定时实现。

Timer34int();

//定时器3初始化

PERCFG|=0x20;

//Timer3管脚关联

P1SEL|=0x40;

//P16功能选择

P1DIR|=0x40;

//P16设置为输出

P1_6=0;

//P16置零

有必要研究下定时器3初始化函数(在hal_timer34.c源文件中)。

staticvoidTimer3int(void)

{

T3CTL&

=~TIMER34_TICK_BIT;

//清除分频位

T3CTL|=TIMER3_TICK;

//置分频系数

=~TIMER34_OVFIM;

//关溢出中断

//中断是否开启

#ifdefined(TIMER3_INTERRUPT_EN)&

&

(TIMER3_INTERRUPT_EN==ENABLE)

T3CTL|=TIMER34_OVFIM;

//溢出中断开启

#endif

//设置定时器工作模式

T3CTL=(T3CTL&

(~TIMER34_MODE_BIT))|TIMER3_MODE;

#ifdefined(TIMER3_CHANNEL0_EN)&

(TIMER3_CHANNEL0_EN==ENABLE)

timer3Channel0Int();

#endif

#ifdefined(TIMER3_CHANNEL1_EN)&

(TIMER3_CHANNEL1_EN==ENABLE)

timer3Channel1Int();

}

__interruptvoidTIMER3_ISR(void){

if(TIMIF&

0x01)//T3OVFIF溢出中断

{

TIMIF&

=~0x01;

}

0x02)//T3CH0IF

=~0x02

0x04)//T3CH1IF

=~0x04

}

关于LED灯亮度的控制方式主要采用P16输出PWM的频率确定,只需要改变T3CC0寄存器的值即可实现。

//*************************************************************************

//函数原型:

voidChangT3Cmp0Val(unsignedcharch)

//功能:

改变定时器3的比较值

//输入:

比较值

//返回:

//****************************************************************

Timer3Stop();

//停止定时器3

T3CC0=ch;

//为T3CC0赋值

Timer3Start();

//启动定时器3

那么在使用过程中只需要调用该函数,改变函数参数即可实时改变PWM的输出频率,本案采用上位机控制的方式。

if((RfRx.RXDATA.HeadCom[1]=='

L'

)&

(RfRx.RXDATA.HeadCom[2]=='

))

if(SensorNum==17)

memcpy(RfTx.TxBuf,RfRx.RxBuf,14);

//复制接收到的数据

//根据接收到的数据改变PWM输出频率

ChangT3Cmp0Val(RfRx.RXDATA.DataBuf[0]);

RfTx.TXDATA.DataBuf[0]='

O'

;

RfTx.TXDATA.DataBuf[1]='

K'

RfHaveTxDara=1;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1