經(jīng)緯型智能路燈控制系統(tǒng)
摘要:為了使路燈照明更加節(jié)能、高效,以時鐘芯片DS12887和單片機(jī)為核心設(shè)計智能路燈控制電路,根據(jù)日期和路燈所在地的經(jīng)、緯度,計算出談地當(dāng)天天黑時間和天亮?xí)r間,設(shè)定為時鐘芯片DS12887的鬧鈴,以鬧鈴觸發(fā)單片機(jī)中斷,控制路燈天黑而開、天亮而關(guān)。該智能路燈控制系統(tǒng)能提高路燈的自動化管理水平,使路燈開關(guān)控制更加及時、合理。
關(guān)鍵詞:智能路燈;DS12887時鐘芯片;ATM89C54;中斷控制
0 引言
隨著我國經(jīng)濟(jì)高速發(fā)展,人民生活水平日益提高,能源和資源變得日益緊張,電力短缺已成為制約國民經(jīng)發(fā)展的突出矛盾。目前我國照明消耗的電能約占電生產(chǎn)總量的10%~20%,而城市公共照明則在照明用電中占30%,并且近幾年隨著讓城市亮起來口號的提出,全國路燈的數(shù)量仍在迅猛地增長。公共路燈節(jié)的口號便由此而提出。通常的節(jié)能途徑有兩個:一個采用節(jié)能光源;二是采用合理的控制線路。本文在使用節(jié)能光源的情況下采用經(jīng)緯型路燈控制器來實(shí)現(xiàn)路燈節(jié)能。
經(jīng)緯型路燈控制器,采用單片機(jī)技術(shù),模擬日照規(guī)律,天黑能自動開燈,天亮能自動關(guān)燈。它具有光控開關(guān)自動變換開關(guān)時間的優(yōu)點(diǎn),克服了光控開關(guān)易受干擾的缺點(diǎn);具有定時開關(guān)定時精確的長處,克服了定時開關(guān)不會自動變換開關(guān)時間的短處。這類路燈控制器開關(guān)燈時間合理、準(zhǔn)確,有利于節(jié)省電力,目前路燈管理部門大都使用這類產(chǎn)品。但是目前經(jīng)緯型路燈控制系統(tǒng)中多采用DS1302時鐘芯片,該芯片沒有鬧鈴功能,只能采用查詢方式,能耗開支較大,這也是目前國內(nèi)下位機(jī)設(shè)計的通病。本文設(shè)計的經(jīng)緯型智能路燈控制系統(tǒng)采用DS12887時鐘芯片,該芯片具有鬧鈴功能,鬧鈴時間到可觸發(fā)單片機(jī)中斷,通過中斷方式控制路燈開關(guān),免去了查詢開支,降低了能耗,提升了下位機(jī)的工作效率。
1 DS12887時鐘芯片概述
實(shí)時鐘是電子控制和通信設(shè)備中常用的器件。美國DALLAS公司推出的實(shí)時鐘芯片DS12887,外圍電路簡單,除具有精確時鐘外,還帶有114 B掉電不易失的通用RAM,因此深受用戶的歡迎。8位地址數(shù)據(jù)總線分時復(fù)用的DS12887與同樣外部總線結(jié)構(gòu)的MCU接口連接非常方便。DS12 887主要特性如下:
(1)內(nèi)含一個鋰電池,斷電后運(yùn)行十年以上不丟失數(shù)據(jù);
(2)可計秒、分、時、天、星期、日、月、年,并有閏年補(bǔ)償功能;
(3)采用二進(jìn)制數(shù)碼或BCD碼表示時間、日歷和定鬧;
(4)采用12小時或24小時制,12小時時鐘模式帶有PM和AM指示,有夏令時功能;
(5)可選Motorola和Intel總線時序;
(6)可編程方波信號輸出;
(7)有128 B RAM單元與軟件接口,其中14 B作為時鐘和控制寄存器,114 B為通用RAM,所有RAM單元數(shù)據(jù)都具有掉電保護(hù)功能;
(8)中斷信號輸出(IRQ)和總線兼容,定鬧中斷、周期性中斷、時鐘更新周期結(jié)束中斷可分別由軟件屏蔽,也可分別進(jìn)行測試。
2 系統(tǒng)功能描述
2.1 自動定時開關(guān)燈
智能路燈控制系統(tǒng)根據(jù)路燈所在地的經(jīng)緯度與每天日期,運(yùn)用一系列天文公式,自動計算出該天天黑時間和天亮?xí)r間。在系統(tǒng)時間設(shè)定后,系統(tǒng)自動把當(dāng)前時間與當(dāng)天天黑天亮?xí)r間作比較,確定初始路燈開關(guān)狀態(tài),并把此時之后的第一個天黑時間或天亮?xí)r間設(shè)定為定時芯片DS12887的鬧鈴時間;鬧鈴時間到,引發(fā)系統(tǒng)中斷,通過繼電器開關(guān)改變路燈開關(guān)狀態(tài),并把下一個天黑時間或天亮?xí)r間設(shè)定為鬧鈴時間,如此循環(huán)往復(fù),自動根據(jù)每天天黑天亮?xí)r間開關(guān)路燈。
2.2 顯示、調(diào)整系統(tǒng)時間
可以利用功能按鍵,觸發(fā)外部中斷,在LCD屏上顯示系統(tǒng)日期和時鐘,并可以手動對系統(tǒng)當(dāng)前的年、月、日、時、分、秒等時間要素進(jìn)行修改。日期和時間修改后,系統(tǒng)自動設(shè)定路燈開關(guān)鬧鈴。
2.3 顯示、調(diào)整鬧鈴時間
可以利用功能按鍵,觸發(fā)外部中斷,在LCD屏上顯示下次鬧鈴時間,也就是查詢當(dāng)天的天亮或天黑時間——路燈亮之前顯示的是路燈的開燈時間,路燈亮之后顯示的是路燈的關(guān)閉時間。此外,還可以針對日食、陰天等特殊情況手動調(diào)整鬧鈴時間,比如可以手動把開燈時間設(shè)定到日食前幾分鐘,路燈開啟之后,再手動把關(guān)燈時間設(shè)定在日食過后幾分鐘,下一個開燈時間則由系統(tǒng)自動按照正常情況設(shè)定。
3 硬件電路的設(shè)計
智能路燈控制系統(tǒng)的硬件部分包括:復(fù)位電路、液晶顯示驅(qū)動電路、實(shí)時時鐘電路、鍵盤處理電路和繼電器驅(qū)動電路等部分。
使用Proteus對該電路進(jìn)行仿真,用Led燈模擬路燈的開關(guān)狀態(tài),包括復(fù)位電路、液晶顯示驅(qū)動電路、實(shí)時時鐘電路和按鍵處理電路等;單片機(jī)采用了ATM89C54,也可以采用其他單片機(jī);功能按鍵包括ITN0,S1,S2,S3,S4,分別用于觸發(fā)外部中斷、顯示時間、加一、減一、顯示鬧鈴。
4 程序設(shè)計
程序采用C語言編寫。主程序流程如圖1所示。主程序初始化后,開外部中斷,隨即轉(zhuǎn)入空語句循環(huán)。系統(tǒng)功能主要在中斷服務(wù)程序中實(shí)現(xiàn)。2個主要中斷服務(wù)程序是按鍵中斷服務(wù)程序和鬧鈴中斷服務(wù)程序。
4.1 按鍵中斷處理
按鍵中斷服務(wù)程序流程如圖2所示。當(dāng)按下INT0鍵,觸發(fā)外部中斷,進(jìn)入按鍵中斷服務(wù)程序,初始化LCD顯示。
進(jìn)入中斷后,按下S1鍵顯示系統(tǒng)時間;再次按下S1進(jìn)入設(shè)置系統(tǒng)時間的年份設(shè)置狀態(tài);繼續(xù)按下S1可以依次設(shè)置月、日、時、分、秒等;第8次按下S1時,系統(tǒng)根據(jù)設(shè)定好的日期計算當(dāng)日天黑天亮?xí)r間,與當(dāng)前時鐘對比,自動設(shè)定當(dāng)前路燈開關(guān)狀態(tài)和下一個鬧鈴時間,并顯示;第9次按下S1退出顯示。按S2鍵可以對要設(shè)置的位加一,按S3鍵減一。
進(jìn)入中斷后,按下S4鍵顯示鬧鈴時間,再次按下S4進(jìn)入設(shè)置鬧鈴時間的小時設(shè)置狀態(tài),繼續(xù)按下S4可以依次設(shè)置分和秒,最后退出顯示。按S2鍵可以對要設(shè)置的位加一,按S3鍵減一。
部分程序如下:
4.2 鬧鈴中斷處理
開燈或關(guān)燈鬧鈴時間到時,由DS12887時鐘芯片引發(fā)單片機(jī)的外部中斷,系統(tǒng)進(jìn)入鬧鈴中斷服務(wù)程序。
在鬧鈴中斷服務(wù)程序中,首先讀取鬧鈴時間,與正午時間12:00:00進(jìn)行對比,如圖3所示。如果鬧鈴時間晚于正午時間,說明此時為天黑時刻,系統(tǒng)通過繼電器開關(guān)打開路燈,然后計算出第二天的天亮?xí)r間,設(shè)定為下一次鬧鈴時間。相反如果鬧鈴時間早于正午時間,說明此事為天亮?xí)r刻,系統(tǒng)通過繼電器開關(guān)關(guān)閉路燈,然后計算出當(dāng)天的天黑時問,設(shè)定為下一次鬧鈴時間。
部分程序如下:
5 結(jié)語
基于時鐘芯片DS2887的智能路燈控制系統(tǒng)提高了路燈的自動化管理水平,使路燈開關(guān)控制更加及時、合理。實(shí)際應(yīng)用證明,該路燈控制系統(tǒng)具有實(shí)時性好、節(jié)能高效、穩(wěn)定可靠、便于控制、成本低廉等優(yōu)點(diǎn),具有較高的實(shí)用價值和廣闊的社會前景。