在LED 路灯控制系统中常需要定时控制,而其中定时器的设计至关重要。通过对比,本文采用DS1302 这款高性能、低功耗的RTC 时钟芯片。本设计中介绍了整套定时器系统的结构,给出了Attiny13 和DS1302 接口电路以及软件程序,同时对DS1302 烧写实时时间的模块进行软硬件部分的设计。整套系统通过LED 路灯的定时开关和分时PWM 调光达到节能的目的。
1 引言
随着经济的发展,节能减排和低碳经济已成为当今全球关注的热点。而在照明领域,LED 作为第四代照明光源,以其高效节能长寿命等诸多优点脱颖而出。近几年在道路照明领域中LED 的应用越来越多。在路灯应用上,大部分城市在零点之后道路几乎空无一人,此时在低交通流量的道路上保持高亮度显然没有必要。因此对路灯亮度进行调节尤为重要,对节能减排也十分关键。
目前在LED 路灯控制中,主要还是采用定时控制。这种方式,按照定时器设定固定的时间对LED路灯实现定时自动开关和分时PWM 调光控制,既节省了人力成本,又达到节能减排的目的。目前的市场上的定时器方案良莠不齐,大部分随着使用时间的增长,同步性变差。而好的经纬度定时器则价格昂贵,不太适合在路灯上大规模使用。
本文设计了一款基于DS1302 和Attiny13 的LED定时器来改进这些问题。本文主要介绍了定时器的软硬件设计以及和上位机通讯的时间烧写模块的软硬件设计。
2 整体系统组成
整个定时器系统结构如图1 所示,主要包括上位机( PC) ,与PC 通过串口连接的实时时钟烧写模块,与烧写模块通过SPI 口连接的定时器以及带PWM 调光驱动的LED 路灯。
图1 LED 路灯定时控制系统结构图
用户通过操作PC 界面上的程序将时间写入时间烧写模块,保存好。然后用户操作时间烧写模块通过SPI 接口将时间写入定时器中DS1302,这样就完成定时器的设置。定时器中Attiny13 不断读取DS1302 的时间,定时动作,发出PWM 信号控制LED 驱动,实现定时控制。
本设计主要关注定时器和时间烧写模块的软硬件设计。
3 定时器软硬件设计
3. 1 定时器硬件设计
定时器主要由实时时钟部分和MCU 电路组成。实时时钟部分采用的芯片是DS1302。DS1302 是美国DALLAS 公司推出的一款高性能、低功耗、带RAM 的低功耗实时时钟芯片,它可以对年、月、日、周、时、分和秒进行计时,并能够对每月的天数和闰年的天数进行自动调整。时钟既可以采用24 小时制,也可以采用12 时制。DS1302 功耗很低,保持数据和时钟信息时功率小于1mW,在没有主电源的情况下,采用副电源3V 锂电池供电可以工作长达10 年。
MCU 采用的是AVR 系列8 位单片机Attiny13。Attiny13 是一款高性能、低功耗的8 位AVR 微处理器,其结构简单,引脚少,价格便宜,适合在路灯控制系统中大批量使用,以节约成本。
如图2 所示,整个定时模块采用外部和LED 驱动一样的48V DC 供电,利用齐纳二极管和电容组成的稳压电路将电压稳定在4. 7V,作为DS1302 的主电源和Attiny13 的电源,DS1302 备份电源由3V的锂纽扣电池供电。
实时时钟芯片DS1302 靠32. 768kHz 的晶振提供计时脉冲,实现时分秒的计时。通过SPI 三线接口与MCU 进行同步通信,分别为CE 引脚、SCLK串行时钟引脚、IO 串行数据引脚3 线。
图2 定时器电路原理图
Attiny13 以其功能简单,低价等优势成为定时器的MCU,利用3 个IO 口读取DS1302 的时间。内部TC0 是通用8 位定时器计数器模块,有两个独立的输出比较单元,且支持PWM 功能。它提供精确的执行时序与波形产生,在PB0 上产生PWM 信号实现调光。
3. 2 定时器软件设计
在软件上的设计主要是Attiny13 单片机上的程序编写,在AVR Studio 4 环境下编写调试。流程图如图3 所示,程序工作流程如下:
1) 宏定义,如自定义定时调光时间和调光占空比;
2) 端口初始化,包括IO 口的输入输出配置,看门狗配置和定时器Timer0 配置为快速PWM 模式;
3) 针对DS1302 初始化函数,定义1 个字节读写函数和时分秒读写函数;
4) 主函数,循环调用DS1302 时间读取函数获取DS1302 上的实时时间,判断是否开关灯,调节调光占空比,实现定时控制。
图3 定时器程序流程图
在程序中用户可根据实际情况对程序进行改造,添加不同占空比和不同的调光时间节点,自主地实现灵活的定时控制。
4 时间烧写模块软硬件设计
考虑到实际使用中,在LED 路灯系统里定时器是批量使用,为了保证调光的同步性一致,因此实际生产过程中每个定时器各自的初始时间必须各不相同,但和实时时间必须保持一致。
整个模块实现的功能是将PC 的当前时间保存到烧写模块中并可实现走时,显示到LCD 屏幕上,按下按钮,可将当前动态时间发送给定时器,并反馈到LCD 屏幕上。
4. 1 时间烧写模块硬件设计
时间烧写模块的结构图如图4 所示。
图4 时间烧写模块结构图
其中核心MCU 为8 位AVR 单片机Atmega16,Atmega16 通过串口和PC 通讯,和DS1302 通过3 线SPI 连接。用户通过操作PC 上的界面,将PC 当前的时间通过Atmega16 赋予内部DS1302 并保存于其中,用户可以通过LCD 屏幕看到内部DS1302 的时间正常。至此时间烧写模块已将实时时间保存至其中。
接下来用户只需操作时间烧写模块即可实现功能。通过按键,用户可将当前时间发送给定时器,同时将定时器时间显示在LCD 上。这样保证每个定时器之间时间的同步性,均与PC 的系统时间保持一致。
中国照明网论文频道现向广大业内朋友征集稿件。稿件内容要求具有技术性、可读性。欢迎研究机构、院校、企业进行投稿。
投稿信箱:edit@lightingchina.com.cn
联系电话:0086-020-85530605-5029
(投稿时请注明作者姓名、单位、邮编和地址及电话、E-mail;以便通知审核结果,如发稿七日内无通知请来电查询。)
广东中照网传媒有限公司 版权所有 增值电信业务经营许可证:粤B2-20050039 粤ICP备06007496号
传真:020-85548112 E-mail:Service@lightingchina.com.cn 中国照明网