采用LPC2104的智能灯光控制器原理及设计
1 引言
随着人们生活质量的提高,灯具已不单纯是室内的基本照明工具,而且是建筑装饰的一种实用艺术品,当家里有各式各样的灯具之后,将它们精心地搭配在一起,达到最适合的气氛效果是高品质生活的需要,目前灯光的控制主要还是手动形式,逐个控制所有的灯具,这样不仅麻烦而且效率低下,也不符合现代舒适生活的标准。
因此,设计一个可以便捷地控制灯光、同时还提供场景组合等功能的智能化灯光系统不仅具有实用价值,而且还具有广阔的市场前景。
2 设计目标
设计一个智能化灯光控制器,安装在家中的各个房间,提供无线遥控、轻触式灯光控制、场景组合、预设存储等丰富功能。通过手持遥控器来控制住宅内所有的灯光;通过遥控器上的场景设置按键,方便地设定灯光场景和迅速切换,可以通过面板上的轻触按钮控制灯光的开关和亮度,或者是多盏灯进入某种预设的场景,各灯光控制器通过RS485的总线与家庭以太网网络终端通信实现对灯光亮度的远程控制和查
该智能化灯光控制系统分为接收外来控制信号和执行控制 *** 作两部分,为了接收控制信号,系统需具备无线接收功能和按键输入面板,为了对灯具执行控制,需要设计220V调光控制电路。
LPC2104具有丰富的外围接口资源,并有很高的可靠性和运算速度,非常适于该系统的设计,智能灯光控制器原理如图1所示。
3 LPC2104功能简介
LPC2104是PHILIPS公司专为嵌入式应用提供的高性价比微控制器解决方案。它采用ARM公司的16位/32位RISC结构,内核是ARM7TDMI-S,CPU *** 作频率可达60MHz,片上集成:具有ISP和IAP功能的128KB Flash程序存储器、16KB静态RAM、2个UART、1个I2C串行接口、1个SPI串行接口,多达6路输出的PWM、2个定时器,分别具有4路捕获/比较通道、实时时钟及看门狗定时器等,能够与常用的外围设备实现无缝连接,功能强大,本文以LPC2104为核心,设计结构简单、性能稳定的智能灯光控制器。
4 无线数传模块设计
4.1 nRF401简介
无线通信的实现有三种方案:蓝牙通信、红外无线遥控、使用短距离无线数传器件。对于蓝牙方案,传输距离和器件成本是值得考虑的问题,蓝牙主要用于短距离传输(最多10m),且成本一直偏高。红外传输虽不用考虑成本问题,但从手持设备所能提供的功耗来看,它能传输的距离实在太近,只有几米,且对红外发射角度有一定要求,存在"必须保证传输信息的两个设备正对,且中间不能有障碍物"等致命的缺陷,与前两种方案相比,采用短距离低功耗的无线射频器件nRF401是最佳选择。
nRF401无线通信收发器集成了高频发射/接收、PLL合成、FSK调制/解调和多频道切换等功能,在低成本数字通信应用中具有突出的技术优势,其主要技术特点有:(1)工作在国际通用的两个频道:433.92MHz和434.32MHz,无需进行频道申请即可使用;(2)采用DSS+PLL频率合成技术,外接元件仅有1个晶体振荡器和几个电阻电容和电感,基本无需调试就可工作,且稳定性好;(3)数字通信采用具有较高的抗干扰能力的FSK调制方式,支持直接数据输入输出 *** 作,可直接与MPU的UART串行口连接;(4)有2个可选择的工作频道,采用半双工工作模式,最高数据传输速率可达20bk/s;(5)工作电压为2.7V-5V,待机状态耗电仅为8μA,能满足低功耗设备的要求。
采用nRF401器件无需进行初始化和配置,不需要对数据进行曼彻斯特编码,并可以使用廉价的PCB天线,无需进行复杂的射频电路设计和调试,使产品的开发应用更为便捷。
4.2 nRF401与LPC2104的连接
nRF401与LPC2104的连接方式有多种选择,如GPIO、I2C、UART等,从硬件连接及通信协议最简化的角度来看,选择串口与无线模块相连是最佳方案,UART1的TXD1、RXD1分别与nRF401的DIN、DOUT连接。nRF401与LPC2104接口电路如图2所示。
由图2可见,嵌入式CPU对无线模块的控制接口主要由5根信号线组成,分别是DIN、DOUT、TXEN、PWR_UP、CS。其中,TXEN是发送使能端,通过对TXEN置位和复位实现发送状态和接收状态的切换,并通过GPIO口进行控制,PWR_UP是节能控制端,利用LPC2104的一个GPIO口对其进行编程,实现无线模块的工作模式和休眠状态的切换;CS可进行频道选择,通过GPIO设置,可以利用LPC2104的UART1串口控制DIN、DOUT信号。
为了节能,nRF401大多数情况下应处于关闭状态,无线部分硬件上是不具备自动唤醒功能的,必须通过软件方式采用合理的通信协议以保证节能同时数据不丢失。
5 调光控制电路设计
传统的调光方法都采用移相触发晶闸管,控制晶闸管的导通角来控制输出功率,不
MOC3041内部含有过零检测电路,当输入引脚1输入15mA的电流,输出端6引脚、4引脚之间的电压稍过零时,内部双向晶闸管导通,触发外部晶闸管导通,当MOC3041输入引脚输入电流为0时,内部双向晶闸管关断,从而外部晶闸管也关断,其调光控制电路如图3所示。
6 无线模块软件设计
无线模块通过UART串口与系统相连,所以必须对UART进行初始化,LPC2104的UART串口符合RS232标准,也支持550工业标准。
LPC2104有两个通用的异步串行接口(UART),启动时UART默认状态是无法使用的,必须通过编程GPIO寄存器来使能它们。
本系统使用UART1与nRF401进行连接,UART1带有调制解调器接口,16字节接收和发送FIFO。内置波特率发生器以及包含标准的调制解调器接口信号。
在使用UART1时,先要设置TXD1、RXD1引脚连接方式,然后设置串口的波特率及工作模式,即可进行数据的发送和接收,本系统使用11.0592MHz晶体振荡器,不适用PLL,VPB为4分频,设置UART1波特率为9600bit/s,则除数值N=18,即12H,UART1的初始化程序如下:
在 *** 作系统环境下,系统启动时会自动初始化串行口,所以应用程序调用串行口资源将变得更容易,值得注意的是,应用程序往往是多任意系统,为了实时监测串行口消息,在 *** 作环境中一般单开一个串行口扫描任务,保证信息不丢失,在一个已有的工程文件的主函数中添加串行口的寄存器初始化代码,并添加串口扫描任务,由于对无线模块的控制还有系统的GPIO,所以扫描程序中还要包括对I/O的 *** 作,当系统收到串口信息时,将会主动向主任务发送一个串行口信息,主任务接收到该信息将会调用响应函数,响应该消息。
7 结束语
无线通信模块nRF401集发射、接收于一体,大大简化了灯光控制器设计的复杂程度,智能灯光控制器通过RS485接口很容易组网,为实现智能家居网络化提供了方便。
由图2可见,嵌入式CPU对无线模块的控制接口主要由5根信号线组成,分别是DIN、DOUT、TXEN、PWR_UP、CS。其中,TXEN是发送使能端,通过对TXEN置位和复位实现发送状态和接收状态的切换,并通过GPIO口进行控制,PWR_UP是节能控制端,利用LPC2104的一个GPIO口对其进行编程,实现无线模块的工作模式和休眠状态的切换;CS可进行频道选择,通过GPIO设置,可以利用LPC2104的UART1串口控制DIN、DOUT信号。
为了节能,nRF401大多数情况下应处于关闭状态,无线部分硬件上是不具备自动唤醒功能的,必须通过软件方式采用合理的通信协议以保证节能同时数据不丢失。
5 调光控制电路设计
采用单片机I/O口灌电流的方法控制晶闸管实现开关和调光控制。用内部带有过零检测电路的光电耦合器MOC3041作为晶闸管的驱动器,同时能实现强、弱电的隔离。
传统的调光方法都采用移相触发晶闸管,控制晶闸管的导通角来控制输出功率,不
MOC3041内部含有过零检测电路,当输入引脚1输入15mA的电流,输出端6引脚、4引脚之间的电压稍过零时,内部双向晶闸管导通,触发外部晶闸管导通,当MOC3041输入引脚输入电流为0时,内部双向晶闸管关断,从而外部晶闸管也关断,其调光控制电路如图3所示。
6 无线模块软件设计
无线模块通过UART串口与系统相连,所以必须对UART进行初始化,LPC2104的UART串口符合RS232标准,也支持550工业标准。
LPC2104有两个通用的异步串行接口(UART),启动时UART默认状态是无法使用的,必须通过编程GPIO寄存器来使能它们。
本系统使用UART1与nRF401进行连接,UART1带有调制解调器接口,16字节接收和发送FIFO。内置波特率发生器以及包含标准的调制解调器接口信号。
在使用UART1时,先要设置TXD1、RXD1引脚连接方式,然后设置串口的波特率及工作模式,即可进行数据的发送和接收,本系统使用11.0592MHz晶体振荡器,不适用PLL,VPB为4分频,设置UART1波特率为9600bit/s,则除数值N=18,即12H,UART1的初始化程序如下:
在 *** 作系统环境下,系统启动时会自动初始化串行口,所以应用程序调用串行口资源将变得更容易,值得注意的是,应用程序往往是多任意系统,为了实时监测串行口消息,在 *** 作环境中一般单开一个串行口扫描任务,保证信息不丢失,在一个已有的工程文件的主函数中添加串行口的寄存器初始化代码,并添加串口扫描任务,由于对无线模块的控制还有系统的GPIO,所以扫描程序中还要包括对I/O的 *** 作,当系统收到串口信息时,将会主动向主任务发送一个串行口信息,主任务接收到该信息将会调用响应函数,响应该消息。
7 结束语
无线通信模块nRF401集发射、接收于一体,大大简化了灯光控制器设计的复杂程度,智能灯光控制器通过RS485接口很容易组网,为实现智能家居网络化提供了方便
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)