历史上的今天
返回首页

历史上的今天

今天是:2026年03月14日(星期六)

2023年03月14日 | 基于LPC2104微处理器和nRF401器件实现智能化灯光控制系统的设计

2023-03-14 来源:elecfans

1、引言

随着人们生活质量的提高,灯具已不单纯是室内的基本照明工具,而且是建筑装饰的一种实用艺术品,当家里有各式各样的灯具之后,将它们精心地搭配在一起,达到最适合的气氛效果是高品质生活的需要,目前灯光的控制主要还是手动形式,逐个控制所有的灯具,这样不仅麻烦而且效率低下,也不符合现代舒适生活的标准。


因此,设计一个可以便捷地控制灯光、同时还提供场景组合等功能的智能化灯光系统不仅具有实用价值,而且还具有广阔的市场前景。


2、设计目标

设计一个智能化灯光控制器,安装在家中的各个房间,提供无线遥控、轻触式灯光控制、场景组合、预设存储等丰富功能。通过手持遥控器来控制住宅内所有的灯光;通过遥控器上的场景设置按键,方便地设定灯光场景和迅速切换,可以通过面板上的轻触按钮控制灯光的开关和亮度,或者是多盏灯进入某种预设的场景,各灯光控制器通过RS485的总线与家庭以太网网络终端通信实现对灯光亮度的远程控制和查询。


该智能化灯光控制系统分为接收外来控制信号和执行控制操作两部分,为了接收控制信号,系统需具备无线接收功能和按键输入面板,为了对灯具执行控制,需要设计220V调光控制电路。


LPC2104具有丰富的外围接口资源,并有很高的可靠性和运算速度,非常适于该系统的设计,智能灯光控制器原理如图1所示。

基于LPC2104微处理器和nRF401器件实现智能化灯光控制系统的设计

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、调光控制电路设计

采用单片机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接口很容易组网,为实现智能家居网络化提供了方便。


推荐阅读

史海拾趣

Amphenol Nexus公司的发展小趣事

2008年,Amphenol公司看中了Nexus, Inc.在连接器领域的潜力,决定对其进行收购。收购完成后,Amphenol成立了提供全球销售支持的Amphenol Nexus Technologies,同时仍保持了对客户支持和开发的坚定承诺。这一举措使Amphenol Nexus Technologies得以借助Amphenol的全球性的资源和网络,进一步拓展其业务范围和市场影响力。

A/D Electronics Inc公司的发展小趣事

随着产品线的不断丰富,A/D Electronics Inc开始积极拓展国内外市场。公司通过与全球知名电子品牌建立战略合作关系,成功将产品打入国际市场。同时,公司还积极参加国际电子展会,展示其最新技术成果和产品,进一步提升了品牌知名度和市场影响力。

Bharat Electronics Ltd公司的发展小趣事

Bharat Electronics Ltd(以下简称BEL)的创立可追溯到印度硅谷班加罗尔,那里不仅是科技创新的摇篮,也是BEL扎根生长的沃土。自1954年起,BEL便在飞利浦和大盾的支持下成立,初期主要生产ECC81、ECC82、ECC83、EL34等电子管,为国防事业提供关键技术支持。其成立之初便与印度国防部紧密合作,成为印度军工电子领域的领军企业,为国家的国防安全奠定了坚实的基础。

Global Components & Controls公司的发展小趣事
电路中的电阻或电容也可能出现故障,如开路、短路或容值变化等。这些问题会影响电路的正常工作,导致台灯亮度不稳定或无法调节。需要根据具体情况进行检修和更换。
Alcatel-Lucent公司的发展小趣事
将挡住光线的纸拿开,观察灯光亮度的变化。如果灯光稍有变化但趋于稳定,说明RP2的调节已到位;如果亮度变化很大,则需要进一步调节RP2使灯光稍有下降直至稳定。
铨力(ALLPOWER)公司的发展小趣事

铨力(ALLPOWER)公司成立于XXXX年,由一群热衷于绿色能源技术的创新者共同创立。公司初期专注于太阳能电源产品的研发和生产,凭借着对技术的深入研究和市场需求的敏锐洞察,很快在行业中崭露头角。通过不断的技术创新和产品优化,铨力逐渐在太阳能电源领域建立起自己的品牌地位。

问答坊 | AI 解惑

单片机P80C592

有哪位用过单片机P80C592做过CAN总线节点的吗?我是用它做双CAN总线冗余设计.恳求高手指点一下它里面的关于CAN控制器的四个寄存器的编程.谢谢!…

查看全部问答>

单片机

#include \"reg51.h\" #include \"intrins.h\" sbit p27=P2^7;  //数码管位控制口 p2.7~p2.4 sbit p26=P2^6;   //P0 段控制 sbit p25=P2^5; sbit p24=P2^4; sbit p23=P2^3;   //灯控制 sbit p10=P1^0;// sbi ...…

查看全部问答>

lcd显示图片颜色丢失

如题,我用的是统宝的3.5寸屏TD035STED4 开机显示桌面时,颜色显示都是正确的,但是显示图片的时候,色彩显示不对。 现象如同在PC端,把一张显示完好的图片保存为256色BMP图像时一样,部分颜色信息会丢失,颜色没有渐变的感觉,是一块一块的。 L ...…

查看全部问答>

CE下XML跟XAML有什么区别?解析XML/XAML文件的比较好用的类/库有那些?

CE下XML跟XAML有什么区别?解析XML/XAML文件的比较好用的类/库有那些?…

查看全部问答>

请问怎么在evc中实现vc上的CCheckListBox

现在需要一个带复选框的列表框,在vc可以用CCheckListBox,那么在evc中应该怎么实现呢?…

查看全部问答>

能否获得短消息的处理权

在window mobile中能否在系统获得短消息之后,获得短信的处理权,处理完之后(例如来电防火墙之类)再决定是否抛给上层界面 …

查看全部问答>

求直流升压电路

  本人需要一个由9V直流升压到14V直流的电路.   各位大侠,帮忙啊! 给个网址也行,当然,能直接教就更好了!!   先谢谢了!…

查看全部问答>

求波形测试代码

各位大侠,我是新手,现在想用C8051在keil下编写一个代码。实现如下功能:输入一个波形,比如说方波,我们能知道打印此波形的频率和个数,谢谢各位大侠的指导和帮助。。急啊…

查看全部问答>

大家帮忙看看为什么风扇转不起来了。 新手求助

闲来无事把自己的小风扇拆了,刚开始风扇是工作的,但是后来就不工作了:( ,大家帮忙看看哪出问题了,电机不转,但是上电后会发出声音,且有震动。 主要是不熟悉原理,想拆掉看看,谁知。。。     …

查看全部问答>

下了STM32的3.0.0的固件库,看了下帮助,这种chm格式的真不错

I2C的部分怎么样了,以前由于库的原因,一直没敢用硬的。那个chm格式的何时能出个中文版的啊?…

查看全部问答>