

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 畢 業(yè) 設 計 技 術 報 告</p><p> 課題名稱:自適應路燈控制器設計 </p><p> 學生姓名: </p><p> 學 號: </p><p> 專 業(yè):
2、 </p><p> 班 級: 2012級4班 </p><p> 指導教師: </p><p><b> 目錄</b></p><p><b> 第一章 前言1</b></p><p> 1.1 課題研
3、究的背景及意義1</p><p> 1.2 路燈照明技術發(fā)展狀況及趨勢1</p><p> 1.2.1 路燈照明技術的現狀1</p><p> 1.2.2 路燈照明技術的發(fā)展趨勢2</p><p> 第二章 自適應路燈控制系統的方案設計3</p><p> 2.1 控制系統的理論分析3</p
4、><p> 2.2 控制系統的整體設計方案3</p><p> 第三章 硬件電路設計4</p><p> 3.1 系統中的主要器件的介紹4</p><p> 3.1.1 單片機AT89C51簡介4</p><p> 3.1.2 模數轉換芯片簡介5</p><p> 3.1.3
5、通信芯片簡介6</p><p> 3.1.4 時鐘芯片簡介7</p><p> 3.1.5 顯示模塊簡介7</p><p> 3.1.6 光傳感器簡介8</p><p> 3.1.7 繼電器簡介9</p><p> 3.2 主要模塊電路設計10</p><p> 3.2.
6、1 單片機最小系統電路10</p><p> 3.2.2 光照采集電路11</p><p> 3.2.3 時鐘電路12</p><p> 3.2.4 路燈開關電路12</p><p> 3.2.5 串口通信電路13</p><p> 第四章 軟件設計14</p><p>
7、 4.1 系統控制程序的設計流程14</p><p> 4.2 功能模塊程序設計15</p><p> 4.2.1 模數轉換程序設計15</p><p> 4.2.2 讀取時間程序設計16</p><p> 4.2.3 顯示程序設計18</p><p> 4.3 系統控制程序設計19</p&
8、gt;<p> 4.3.1 控制繼電器程序設計19</p><p> 4.3.2 關燈方式程序設計19</p><p> 4.3.3 時間調整程序設計20</p><p> 4.4 串口通信程序設計21</p><p> 第五章 仿真測試22</p><p> 5.1 光照控制仿真測
9、試22</p><p> 5.2 時鐘控制仿真測試22</p><p> 5.3 系統總控制仿真測試23</p><p> 第六章 結束語25</p><p><b> 參考文獻26</b></p><p><b> 附錄27</b></p>
10、<p><b> 致謝32</b></p><p> 摘要:在現代化城市中,道路路燈成為城市的一條靚麗風景線,但是美好的表面下卻存在著嚴重的電能資源浪費,實現路燈的自適應控制進而達到能源節(jié)約是本設計的主要目的。本設計主要由光敏電阻構成的光照傳感器、AT89C51單片機、電磁繼電器三部分構成,光照傳感器實現光照度的采集,單片機作為主控制中心處理數據,繼電器為執(zhí)行元件調控路燈
11、的亮滅。本系統采用的策略是首先按照光照度對路燈自適應關燈控制,此外還需要按照預先設計的時間策略對路燈自適應開燈控制。</p><p> 關鍵字:路燈;自適應;光照傳感器;單片機;繼電器</p><p> ABSTRACT:In a modern city,street lamps become a beautiful landscape of the city, but there i
12、s a serious waste of resources under the better surface. The main purpose of this design is to realize the adaptive control of street lamp and achieve energy saving. This system mainly consists of three parts, which are
13、light sensor, single chip microcomputer and relay. The light sensor collects light illumination, the single chip microcomputer as the control center to deal with data, the relay as the con</p><p> KEY WORDS
14、:street lamp;adaptive; light sensor;single chip microcomputer;relay</p><p><b> 第一章 前言</b></p><p> 1.1 課題研究的背景及意義</p><p> 社會的城市化進程越來越快,路燈在城建中的重要性愈發(fā)顯著。路燈的作用已經不僅僅是為了照明,還
15、成為了城市的一道靚麗的風景,但是路燈的不合理使用浪費了大量的電能。</p><p> 我國的電能來源主要是火力發(fā)電,而發(fā)電的效率僅在44%左右。利用火力發(fā)電的同時也消耗著煤炭資源和污染著環(huán)境,一座1000兆瓦的火力發(fā)電廠每天大約消耗10萬噸的水資源,全國每年消耗標準煤約5000萬噸,火力發(fā)電造成的污染很嚴重,全國每年排放SO2約140萬噸和煙塵約1500萬噸,直接燃燒煤炭排放的酸性氣體不斷增加,使中國很多地區(qū)酸
16、雨量增加。煤粉灰塵也嚴重污染著發(fā)電站附近的環(huán)境,影響人們的日常生活及植物的正常生長。</p><p> 根據調查報告顯示2014年社會消耗電量大約是5.5萬億度,而用于路燈的用電量大約占其中的12%[1]。按市電0.7元每度計算,一年花費約460億元,嚴重制約著國家的經濟發(fā)展。但是我國的路燈管理水平還比較落后,基本上靠人工操作,花費了大量的人力成本,而且路燈的開關控制不夠準確及時,造成電能的大量浪費。</
17、p><p> 因此提高路燈控制技術,科學合理智能的控制路燈,在滿足人們在路上出行安全的同時還能節(jié)約電能和減少人力成本,減少市政開支,所以大力推廣照明節(jié)能技術具有重大的意義。</p><p> 1.2 路燈照明技術發(fā)展狀況及趨勢</p><p> 1.2.1 路燈照明技術的現狀</p><p> 目前大多數城市的路燈照明控制技術比較落后,基
18、本上都是采用傳統的控制方式,即使用人工操作,在規(guī)定的時間點統一打開和關閉路燈,而且路燈的損壞情況全靠人工巡邏檢查,并且各街道路燈沒有主次之分,主干道與小街道路燈的亮度要么統一要么偏亮或偏暗,這些現象就造成了路燈開關的不準確不及時,路燈維修不及時,各道路路燈亮度不科學,這樣的規(guī)劃設計不僅浪費能源增加人力成本,而且整體的照明效果也不好。</p><p> 1.2.2 路燈照明技術的發(fā)展趨勢</p>&
19、lt;p> 電能是重要的二次能源,我國是發(fā)電大國,主要靠火力發(fā)電,當前世界能源危機越來越嚴重,節(jié)約能源越來越重要,其中節(jié)約電能被提上日程,隨著科學技術的發(fā)展,城市路燈節(jié)能技術得到不斷地進步,從傳統的人工控制到由光照強度決定的智能控制,從高壓鈉燈到LED燈,從供電電源由市電到太陽能發(fā)電,路燈照明技術的發(fā)展對電能的節(jié)約都得到了較大的進步。</p><p> 第二章 自適應路燈控制系統的方案設計</p&
20、gt;<p> 2.1 控制系統的理論分析</p><p> 本系統整體分為兩部分又分為兩段控制,光照控制模塊和時鐘控制模塊[2]。</p><p> 光照控制指在夜晚0點以后光照傳感器開始工作,隨著天漸漸變亮,光照強度逐漸增強。主機接收從機收集的光照度,經過處理后向從機發(fā)出指令,從機根據指令執(zhí)行關燈行為,直至路燈全關。</p><p> 時鐘
21、控制指單片機在規(guī)定的時間點定時打開路燈。同時下午路燈打開的時間點隨著月份的變化而提前或延遲,例如夏季最晚打開路燈時間為19點,冬季最早打開路燈時間是17點,即每個月份增減20分鐘[3]。</p><p> 2.2 控制系統的整體設計方案</p><p> 系統整體設計方案如圖 2.1所示。</p><p> 圖2.1 控制系統整體設計框圖</p>
22、<p> 光感模塊收集光照強度提供給單片機,時鐘模塊提供時間參考,單片機根據收集的數據處理后輸出控制信息,通過控制模塊對路燈的開關進行控制。主機通過串口收集各個控制器的工作狀態(tài)信息,然后通過顯示模塊顯示各個控制器的信息[4]。</p><p> 第三章 硬件電路設計</p><p> 3.1 系統中的主要器件的介紹</p><p> 3.1.1
23、單片機AT89C51簡介</p><p><b> 單片機的特性概述:</b></p><p> AT89C51單片機提供的標準功能:(1)8位CPU。(2)片內帶振蕩器,振蕩頻率fosc范圍在1.2~12MHz;可有時鐘輸出。(3)128B的片內數據存儲器。(4)4KB的片內程序存儲器。(5)程序存儲器的尋址范圍為64KB。(6)具有尋址范圍為64KB的片外數據
24、存儲器。(7)21個字節(jié)特殊功能寄存器。(8)4個8位并行口:P0,P1,P2,P3。(9)1個全雙工串行口,可用于多機通信。(10)2個16位定時器/計數器。(11)中斷系統有5個中斷源,可編程為2個優(yōu)先級。(12)片內采用單總線結構。(13)用單一+5V電源[5]。</p><p><b> 單片機的特點:</b></p><p> (1)高度集成,體積小,可
25、靠性能高;</p><p><b> 控制功能強;</b></p><p> 電壓低,功耗低,便于生產便攜式電子產品; </p><p><b> 容易擴展;</b></p><p><b> 性價比較高;</b></p><p>
26、AT89C51單片機的部分引腳功能簡介:VCC接單一+5V電源,GND接地,P0~P3口為8位雙向I/O口,其中P3口的第二功能是P3.0(RXD)串行輸入口,P3.1(TXD)串行輸出口,P3.2(/INTO)外部中斷0,P3.3(/INT1)外部中斷1,P3.4(T0)計時器0外部輸入,P3.5(T1)計時器1外部輸入,P3.6(/WR)外部數據存儲器寫選通,P3.7(/RD)外部數據存儲器讀選通。AT89C51單片機引腳如圖3.1
27、所示。</p><p> 圖3.1 AT89C51引腳圖</p><p> 3.1.2 模數轉換芯片簡介</p><p> ADC0832是一種專門用來將模擬信號轉換為便于計算操作的數字信號的芯片,與微處理器完全兼容,它具有價格較低、接口比較簡單、轉換控制比較容易等優(yōu)點,在單片機系統開發(fā)中得到大量的使用[6]。</p><p> AD
28、C0832的特點:</p><p> ?。?)8位分辨率,最高分辨可達到256級;</p><p> ?。?)輸入輸出電平與TTL/COMS相兼容;</p><p> ?。?)供電電源為+5V時輸入電壓在0-5V之間;</p><p> ?。?)工作頻率為250KHz,轉換時間在32us;</p><p> ?。?)功
29、耗一般在15mW;</p><p> ADC0832的引腳功能表如表3-1所示,其引腳圖如圖3.2所示。</p><p> 表3-1 ADC0832引腳功能表</p><p> 圖3.2 ADC0832引腳圖</p><p> 3.1.3 通信芯片簡介</p><p> MAX485主要應用于RS-485總線
30、上,其工作電源為+5V,通信方式為半雙工,它的功能是將TTL形式的電平轉換成為抗干擾能力更強的RS-485形式的電平[7]。</p><p> RS-485接口是一種新的接口標準,它具有的特點是:</p><p> 1、RS-485的電氣特性:以A線和B線之間的電壓差大于0表示高電平,小于0表示低電平。</p><p> 2、RS-485接口的最大通信速率是1
31、0Mb/s,它的通信速率越快則通信距離就越近。 </p><p> 3、RS-485接口使用差分接收器和平衡驅動器相結合的形式,其抵抗共模的干擾能力強。</p><p> 4、RS-485接口最大通信距離大約是1200米,如果加上485中繼器通信距離更遠,并且在接口上允許最多連接128個從機,方便建立設備網絡。</p><p> MAX485引腳功能簡
32、介:RXD(1引腳)接收器輸出;/RE(2引腳)接收器輸出使能,為0時允許接收器輸出;DE(3引腳)驅動器輸出使能,為1時允許驅動器工作;TXD(4引腳)驅動器輸入;A(6引腳)接受器非反相輸入和驅動器非反向輸出端;B(7引腳)接受器反向輸入和驅動器反向輸出端;GND(5引腳)和VCC(8引腳)分別是地和電源。MAX485引腳如圖3.3所示。</p><p> 圖3.3 MAX485引腳圖</p>
33、<p> 3.1.4 時鐘芯片簡介</p><p> DS1302是一種實時時鐘芯片,可以提供詳細的時間信息,能對閏年自動校正,內部具有31字節(jié)的數據存儲,工作電壓在2.5V至5.5V之間,此外有2個電源輸入端,一個為主電源輸入端,另一個為備用電源輸入端,備用電源可以使用電池或較大的電容,防止掉電的情況下芯片可以正常的工作[7]。</p><p> DS1302的引腳圖如
34、圖3.4所示,其引腳功能描述為</p><p> X1,X2 晶振引腳32.768KHz</p><p> RST 使能引腳</p><p> I/O 數據輸入輸出引腳</p><p> SCLK 串行時鐘引腳</p><p> Vcc1,Vcc2 電源供電
35、引腳</p><p> GND 接地引腳</p><p> 圖3.4 DS1302引腳圖</p><p> 3.1.5 顯示模塊簡介</p><p> 1602液晶也被稱為1602字符型液晶,能夠同時顯示16*2即32個字符。它通常用來顯示字符。它由5*7個點組成的一個字符共組成32個字符,兩個字符之間有一個點的間隔,在兩
36、行之間也有一個點的間隔,這種情況照成圖像的顯示效果不是很好。LCD1602的引腳圖如圖3.5所示,其引腳功能如表3-2所示。</p><p> 表3-2 引腳功能表</p><p> 圖3.5 1602引腳圖</p><p> 3.1.6 光傳感器簡介</p><p> 光傳感器是利用對光照度較敏感的元件將不易檢測的光信號量轉化為容易
37、檢測的電信號量的一種傳感器,光傳感器的類別很多,在大多數的系統應用中被使用。由光敏電阻器及其外圍電路組成本設計使用的光傳感器[8][9]。</p><p> 光敏電阻是利用半導體的光電效應制成的一種電阻,它的阻值根據接收到的光線的強弱而變化。光線增強,阻值變小,光線減弱,阻值變大。光敏電阻的特性:</p><p> 亮電阻:在有光照線照射時的電阻值。</p><p&
38、gt; 暗電阻:在沒有光線照射時的電阻值。</p><p> 靈敏度:亮電阻與暗電阻的相對變化值。</p><p> 本設計使用的光敏電阻參數如下表3-3所示,光敏電阻實物如圖3.6所示。</p><p> 表3-3 光敏電阻參數表</p><p> 圖3.6 光敏電阻實物圖</p><p> 3.1.7
39、繼電器簡介</p><p> 繼電器是一種把兩個電路銜接在一起的中間器件,在輸入端輸入的電量達到一定的要求時繼電器工作,常開觸點(常閉觸點)關閉(斷開),被控電路接通或斷開,它通常被用在用弱電控制強電的電路中。所以在電路中起到保護的作用。</p><p> 4098型電磁繼電器通常由彈簧、線圈、鐵芯、銜鐵和觸點組成。工作原理是當線圈上電后,線圈中的鐵芯產生較大的磁力吸動銜鐵帶動彈簧,使
40、觸點閉合,被控電路接通。當線圈斷電后,鐵芯的磁力消失由于彈簧的作用銜鐵被復位,觸點斷開[10]。繼電器原理圖如圖3.7所示。</p><p> 圖3.7 繼電器原理圖</p><p> 3.2 主要模塊電路設計</p><p> 3.2.1 單片機最小系統電路</p><p> 單片機最小應用系統是用最少的器件構成能夠正常工作的最基
41、本的單片機應用電路,其包括晶振電路、復位電路和電源電路組成。晶振電路由一個11.0592MHz的晶振和兩個30pf的電容組成,為單片機系統提供基準時鐘信號。單片機復位一般有三種方式,即單片機上電復位、手動按動按鈕復位和軟件編程復位。上電復位是單片機在上電后從初始狀態(tài)開始運行,手動復位即單片機在運行的過程中按下復位按鍵使單片機回到初始狀態(tài)重新運行[11]。單片機最小電路如圖3.8所示。</p><p> 圖3.8
42、 單片機最小系統電路</p><p> 3.2.2 光照采集電路</p><p> 光照采集電路是系統的重要主要組成部分,主要是對光照強度的采集,將光的強弱變化轉換成電壓的大小變化,通過ADC0832處理后將信息輸入到控制中心。光照強度信息采集電路如圖3.9所示。</p><p> 圖3.9 光照強度信息采集電路</p><p> 信
43、息采集電路采用光敏電阻RG0和RG1,接收光線,其中RG0采集太陽光強RG1采集路燈光強,通過測量電阻R0和R1上的電壓,經過ADC0832將測量的模擬量轉換為數字量傳送給控制中心經過轉換操作間接得到光照強度。因為光敏電阻對光的敏感度很高,所以對光照的檢測只需在0~150Lx范圍內就行,根據路燈安裝地點適當調整光控量。同時為了對路燈的照明情況能夠實時了解,就用一個光敏電阻RG1檢測路燈是否工作正常,當路燈燈泡損壞時RG1檢測不到光照,在
44、R1上檢測到的電壓非常小,以此值表示路燈損壞。</p><p> 3.2.3 時鐘電路</p><p> DS1302時鐘電路RST引腳接單片機的P1.4控制芯片的復位,SCLK為時序信號輸入端由單片機的P1.5提供,I/O為數據輸入輸出端接單片機的P1.6,X1和X2之間接32.768KHz晶振,為了防止電源對芯片的沖擊,在主電源引腳上串聯一個電阻值為1K的電阻R。DS1302時鐘電
45、路如圖3.10所示。</p><p> 有關電源的2個引腳,1是主電源,8是備用電源,在Vcc2掉電的情況下,由Vcc1供電,使芯片正常工作。為DS1302供電是選用較大的供電,當Vcc2大于Vcc1+0.2V時,Vcc2供電,當Vcc2小于Vcc1時,Vcc1供電。DS1302的充電電路可以對后備電源充電,后備電源可以使可充電電池(3.6V)或較大電容,并選擇串入的二極管數目以調節(jié)電池充電電壓[12]。涓流充
46、電電流為</p><p><b> (3-1)</b></p><p> 其中n=0、1、2...,Vd是二極管壓降一般是0.6~0.7,R由程序設定RS寄存器為2K、4K、8K。</p><p> 圖3.10 時鐘電路圖</p><p> 3.2.4 路燈開關電路 </p><p>
47、路燈開關電路采用繼電器作為路燈的開關,通過三極管放大電路將單片機輸出的信號放大后輸入到繼電器,實現由小電控制大電。路燈開關控制電路如圖3.11所示。</p><p> 圖3.11 路燈開關控制電路</p><p> NPN型開關電路的工作原理:三極管有三種工作區(qū)域,分別是截止區(qū)、線性區(qū)和飽和區(qū),B極IB作為輸入,控制三極管的工作狀態(tài)。在截止區(qū)IB接近于0,CE不導通。在線性區(qū)IB在一定
48、的范圍內CE成比例放大導通。在飽和區(qū),IB再增大CE導通但不再放大[13]。電阻R為470歐姆,二極管1N4148并聯線圈的作用是在三極管突然不導通時與繼電器線圈組成回路防止產生的反電勢對元器件照成損壞。</p><p> 3.2.5 串口通信電路</p><p> 通過單片機串口通信,使多個路燈的控制器連接在一起,組成一主多從的模式,電路中使用MAX485芯片驅動,提高信息傳遞的距離
49、。在RS-485電路中,MAX485的RXD是數據輸出口接單片機的RXD,MAX485的TXD為數據輸入口接單片機的TXD,/RE和DE是方向控制口接單片機的P2.7,A和B接從機的A和B。在A和B之間接一個100~300歐姆的電阻,能有效提高電路對干擾的抵抗能力。RS-485電路如圖3.12所示。</p><p> 圖3.12 RS485電路圖</p><p><b> 第
50、四章 軟件設計</b></p><p> 4.1 系統控制程序的設計流程</p><p> 基于單片機控制系統的自適應路燈控制器的軟件設計采用KEIL開發(fā)環(huán)境開發(fā),根據系統的實現功能劃分成各個模塊,根據系統的設計流程圖及各個模塊的流程圖按順序逐個編寫程序,最后用PROTUES仿真系統。在程序設計中加入了對光照度求平均值的優(yōu)化設計和時間調整設計使整個系統運行更合理。系統的總流
51、程圖如圖4.1所示。</p><p> 圖4.1 控制系統設計流程圖</p><p> 系統控制流程:首先系統初始化,然后讀取時間,如果讀取的時間小于關燈設定值(假如是早上7點)這說明是在凌晨,此時系統處于光照控制時段,光傳感器檢測光照強度經過處理后根據設定的關燈步驟逐步關閉路燈至路燈全部關閉。此后系統處于時鐘控制階段,系統讀取的時間如果大于開燈設定值(假如是17點)則控制路燈打開。&
52、lt;/p><p> 4.2 功能模塊程序設計</p><p> 4.2.1 模數轉換程序設計</p><p> ADC0832模數轉換程序流程圖如圖4.2所示。</p><p> 圖4.2 ADC0832模數轉換程序流程圖</p><p> 當ADC0832沒有轉換時CS端應置為“1”,這個時候器件無法使用,C
53、LK和DO/DI的電平不要求。當要進行模數轉換時就要先將CS端置為“0”,直到轉換完成。芯片開始工作時,在第一個CLK下降之前DI端必須是“1”,表示開始信號。在第二、三個CLK下降沿之前DI輸入端要輸入2位數據,用于選擇轉換通道,輸入數據為“1”“0”時表示只對CH0進行單通道模數轉換,在第三個CLK下降之后DI端失去作用,此后開始從DO端讀取轉換后的數據,第四個CLK下降沿開始由DO端輸出轉換后的數據,從最高位開始隨后每一個CLK下
54、降沿DO端輸出下一位數據,直到第11個CLK時輸出最低位DATA0,記錄此字節(jié)數據,接著再記錄下一個字節(jié)數據,然后2個數據比較,相同就輸出,否則重新讀取[14]。</p><p> 4.2.2 讀取時間程序設計</p><p> 圖4.3 DS1302數據讀取流程圖</p><p> DS1302芯片的工作原理:芯片工作時首先進行初始化,首先將RST引腳置“1
55、”并且把8位地址數據與命令信息寫入移位寄存器中。數據在時鐘信號SCLK的上升沿時以串行方式輸入數據,前8位是要訪問的地址,命令字寫入移位寄存器后,在以后的時鐘周期內,輸出數據時就進行讀操作,輸入數據時就進行寫操作[15]。DS1302數據讀取流程圖如圖4.3所示。</p><p> DS1302的控制字的第7位必須是“1”,如果為“0”,則寄存器進入寫保護狀態(tài),第6位為“0”,則表示存放或讀取的數據是日歷時鐘數
56、據,為“1”表示存取存儲的數據,第5位至第1位是地址指示要操作的單元,第0位為“0”則表示寫操作,為“1”表示讀操作,控制字節(jié)總是從第“0”位開始輸出。DS1302的控制字如表4-1所示。</p><p> 表4-1 DS1302控制字</p><p> 4.2.3 顯示程序設計</p><p> LCD的初始化過程,顯示流程圖如圖4.4所示。</p&g
57、t;<p> 圖4.4 LCD顯示流程圖</p><p><b> LCD顯示程序流程</b></p><p> 1.定義LCD管腳,包括RS,R/W,E。</p><p> 2.顯示初始化,設置顯示方式,延時,清理顯示緩存,設置顯示模式。</p><p><b> 3.設置顯示地址。&
58、lt;/b></p><p> 4.寫顯示字符的數據。</p><p> 4.3 系統控制程序設計</p><p> 4.3.1 控制繼電器程序設計</p><p> 通過單片機口控制電磁繼電器工作,P1.7口為“1”時則繼電器閉合,被控電路斷開,路燈不工作,P1.7口為“0”時繼電器斷開,路燈工作。</p>&l
59、t;p> if(AD_val >= 120)</p><p><b> {</b></p><p> delayms(60000); //延時1分鐘</p><p> if(AD_val >= 120)</p><p><b> P1_7 = 1;</b></p&g
60、t;<p><b> }</b></p><p><b> else </b></p><p> P1_7 = 0;</p><p> delayms(250);</p><p> AD_val是采集的光照強度轉換后的值,120是設定值可根據需要改變,通過和設定值比較,
61、判斷光照強度,由此控制繼電器改變路燈的工作狀態(tài)。其中判斷過程加入了延時,通過延時一分鐘排除意外因素造成路燈閃爍,保證路燈的壽命和切換狀態(tài)的正確性[16]。</p><p> 4.3.2 關燈方式程序設計</p><p> 路燈在早晨的關燈方式采用光照控制,各路燈通過光傳感器采集光照強度,然后將采集到的數據傳給主機,因為整個路段路燈所處的環(huán)境不同,采集到的光照強度可能差別較大,所以主機處
62、理數據時將去掉一個最高值和最低值將剩下的求平均值,保證關燈的合理性。假設設置在光照強度為100Lx時路燈要全滅,所以根據系統要求設置3個步驟逐步關燈,即在光照強度達到30Lx時啟用步驟1關掉一部分,達到60Lx時啟用步驟2再關掉一部分,到100Lx時全部關掉。圖4.5為道路路燈分布圖。</p><p> 步驟1關掉的路燈:1、6、11、16、21…</p><p> 步驟2光掉的路燈:
63、4、7、10、13、18…</p><p> 圖4.5 道路路燈分布</p><p> 4.3.3 時間調整程序設計</p><p> 隨著季節(jié)的變化,白天光照時間隨之延長或縮短,所以下午開路燈的時間如果固定就造成電能的大量浪費,所以合理的調節(jié)打開路燈的時間就顯得很重要。本設計假如夏季最晚開燈時間為19點,冬季最早開燈時間為15點,即時間的調整為從12月到次年
64、6月逐月增加20分鐘,從6月到12月逐月減少20分鐘。</p><p> uchar getTime;</p><p> uchar PM,AM; //PM下午開燈時間,AM早上關燈時間 </p><p> getTime = DateTime[2] * 100 + DateTime[1]; </p><p>
65、; if(mon>0 && mon <=6)</p><p><b> {</b></p><p> AM = CLOCK[mon] - 1200;</p><p> PM = CLOCK[mon]; </p><p><b> }</b></p&g
66、t;<p><b> else</b></p><p><b> {</b></p><p> AM = CLOCK[12-mon] - 1200; </p><p> PM = CLOCK[12-mon]; </p><p><b> }</b>&
67、lt;/p><p> 將分鐘和小時重新組成一個四位數,小時作為高2位,分鐘作為低2位,從12月、1月到6月各個月的開燈時間點組成數組,例如12月下午5點開燈,通過芯片讀出來的數是24進制,也就是17點,和分鐘組成的新數就是1700,通過這種方式就能得到所有時間點相對應的數字,通過查詢法就能得到各個月的開燈時間點[17]。</p><p> 4.4 串口通信程序設計</p>&
68、lt;p> 51單片機的串口能進行全雙工通信,即能同時進行數據的發(fā)送和接收。在單片機上接一個MAX485芯片構成一個半雙工通信接口,從機開始處于接收狀態(tài),只有在主機主動發(fā)送數據時從機才對接收的數據作出響應,主機通過發(fā)送地址數據,從機接收后檢查是否與自己的地址相符,如果是自己的地址就響應,不是就不響應[4]。采用這種查詢的方式主機使所有的從機作出響應。基于本系統的功能要求,主機向從機發(fā)送數據,從機接收數據后將自己的狀態(tài)信息(地址、
69、路燈正常工作標志、光照度)發(fā)送到主機,主機收到數據后,檢查數據中的路燈正常工作標志,如果出現路燈不正常工作的標志,則將該標志的地址顯示,同時將所有從機的光照度求平均值,以此來控制從機網絡上路燈的關燈方式[18]。</p><p> 51單片機可實現一臺主機與多臺從機的通信。在多機通信時從機不主動發(fā)送數據,只有在從機接收到主機發(fā)送的命令后,從機才做出相應的響應。</p><p> 多機通
70、信的過程如下:</p><p> (1)系統啟動后全部從機初始化SM2位均置“1”,使之只能接收地址幀。</p><p> (2)主機在發(fā)送地址之前先將TB8=1,然后給所有從機發(fā)送地址數據。</p><p> (3)從機先判斷接收到的數據的第九位,如果是“1”則表明是地址幀,如果是“0”則是數據幀,從機接收到地址幀后,先與自己的地址號對比,如果地址相符就把S
71、M2=0,脫離多機狀態(tài),之后就構成雙機通信。</p><p> (4)地址不符的從機由于SM2位等于1只能響應TB8=1的數據,對于收到TB8=0的數據,則不作響應,這樣就實現了主機與從機之間的雙機通信。</p><p> 作出響應的從機通信完畢后將SM2置1,恢復系統原有的狀態(tài),等待再次響應。</p><p> 主機發(fā)送下一個地址,相應的從機作出響應,直到全
72、部從機作出響應。</p><p><b> 第五章 仿真測試</b></p><p> 本系統通過PROTUES軟件仿真測試,系統上電初始化后,主機開始發(fā)出命令收集從機的信息,從機返回的信息主要是從機地址、從機路燈的工作狀態(tài)和從機收集的光照信息。在光照控制階段(即調節(jié)光敏電阻接收的光照度使其由0逐漸增大,此時禁用系統的時鐘模塊)主機需要獲取各個從機收集的光照信息,
73、通過處理后按照設定的關燈步驟逐步關燈。在時鐘控制階段時,通過調節(jié)時間值模擬時間變化,當時間值大于17點時LED等全亮。</p><p> 5.1 光照控制仿真測試</p><p> 通過調節(jié)RG的輸入量的大小模擬光照度的變化。當光照度小于100Lx時模擬路燈LED亮,當大于100Lx時模擬路燈LED滅。光照控制仿真如圖5.1。</p><p> 圖5.1 光照
74、控制仿真圖</p><p> 5.2 時鐘控制仿真測試</p><p> 通過軟件編寫改變輸入的時間模擬現場時間控制,當輸入的時間大于17點時模擬路燈LED 亮,當輸入的時間小于17點且大于7點時路燈不亮。時鐘控制仿真如圖5.2。</p><p> 圖5.2 時鐘控制仿真圖</p><p> 5.3 系統總控制仿真測試</p&g
75、t;<p> 主機顯示模塊在路燈全部正常工作時顯示“ALL NORMAL”和時間的字樣。下圖5.3為路燈全部正常工作時的軟件仿真電路圖。</p><p> 圖5.3 路燈正常時系統仿真電路</p><p> 當有路燈出現故障時,此時有2種故障情況,一種是路燈的燈具損壞,一種是路燈的控制器損壞,此時顯示模塊將顯示“break”字樣,后面是出現故障路燈的地址和路燈的故障標志
76、(用“1”表示燈具損壞,用“2”表示控制器損壞)。下圖5.4為路燈2出現故障時的軟件仿真電路。</p><p> 圖5.4 路燈2出現故障時的軟件仿真電路</p><p><b> 第六章 結束語</b></p><p> 自適應路燈控制系統的設計是以單片機AT89C51為中心處理器,以光敏電阻作為光檢測元件提供光照度數據,以時鐘芯片DS
77、1302為控制核心提供時間參考,通過主機上的液晶顯示屏顯示從機上傳的信息,通過軟件的編程設計將各個模塊的信息合理的結合,構成路燈的自適應控制系統。它實現了分時控制和光照控制相結合的控制方式,同時在分時控制中又加入了時間調整策略,使系統能隨季節(jié)的變化而改變。在光照控制方式中,加入了延時策略和反饋信號,通過延時能有效的合理的避免外界環(huán)境的突變(閃電)而引起的錯誤信號輸入造成路燈的閃爍,反饋信號反饋的是路燈的亮滅情況,能有效的檢測控制系統打開
78、路燈的情況下路燈是否亮的信號,方便掌握路燈的工作情況。</p><p> 由于本系統采用的是分段控制,對于時鐘控制如果加入光照控制以及將光照控制的優(yōu)先級設為高級,則系統的效率更好。對于LCD顯示,顯示的內容有限,而如果主機為PC機又會增加傳輸距離,所以后期可以采用GPRS無線傳輸模塊上傳數據到PC主機,在PC主機上能夠很好的顯示所有路燈的情況。</p><p><b> 參考
79、文獻</b></p><p> [1]郭迎新.城市道路照明降壓節(jié)電技術的應用探討[J].中國高新技術企業(yè),2011(12):1-1</p><p> [2]王松武.常用電路模塊分析與設計指導[M].北京:清華大學出版社.2007.1</p><p> [3]金仁貴.單片機應用系統的開發(fā)方法[J].電腦知識與技術:學術交流.2006(12):1-1&
80、lt;/p><p> [4]王立紅.基于單片機的智能路燈控制系統[J].網絡財富,2010(6):1-1</p><p> [5]趙佩華.單片機原理及接口技術[M].北京:機械工業(yè)出版社2008.3,48-49</p><p> [6]嚴懷龍.基于單片機的數據采集系統[J].廣西輕工業(yè).2006(6):1-1</p><p> [7]莫浩
81、越,韓晉棟.基于RS-485總線的液冷測控裝置設計[J].中國科技縱橫,2015(10):1-1</p><p> [8]尹俊.基于光電傳感器的智能燈控系統的設計[J].電子技術,2011(10):1-1</p><p> [9]湯春龍.智能家居信息采集系統的研究與實現[D].湖南.電子科學與技術.2014</p><p> [10]趙尚武.小型電磁繼電器可靠
82、性試驗裝置的研究[D].北京.機電工程系.2005</p><p> [11]王皚.佘丹妮.基于單片機的模擬路燈控制系統設計[J].儀表技術.2011(11):1-1</p><p> [12]雷巍.基于DS1302的時鐘接口設計[J].四川兵工學報,2011(11):1-1</p><p> [13]童詩白.模擬電子技術基礎(第四版)[M].北京:高等教育出
83、版社2006.5:85-87</p><p> [14]張亞林.基于C52控制的ADC0832應用詳解[J].數字技術與應用,2013(13):1-1</p><p> [15]張洪瑞.單片機應用設計200例[M].北京:北京航空航天大學出版社2006.7,50-51</p><p> [16]王靜霞.單片機應用技術(C語言版)[M].北京:電子工業(yè)出版社.2
84、009.5,70-72</p><p> [17]譚浩強.C程序設計(第三版)[M].北京:清華人學出版社.2005.7,30-35</p><p> [18]孔艷艷.基于STC89C52的智能照明系統設計[J].電子世界,2014(15):1-1</p><p><b> 附錄</b></p><p> ---
85、-----------------------------------------主機通信部分程序--------------------------------------</p><p> #include <reg51.h></p><p> sbit RE_DE=P2^7;</p><p> #define COUNT 10
86、 </p><p> #define Slaver_NUM 10</p><p> unsigned char bdata flag; </p><p> sbit time_over_flag =flag^0; </p><p> unsigned char buffer[COUNT
87、]; </p><p> unsigned char point; </p><p> unsigned char Slave_AD[Slaver_NUM]; </p><p> unsigned char ADD_num; </p><p> unsigned c
88、har idata count_10ms; </p><p> unsigned char idata send_data[7]={</p><p> 0x31,0x32,0x33,0x34,0x35,0x36,0x37}; </p><p> void UART_init(); </p><p>
89、 void COM_send(void); </p><p> unsigned char CLU_checkdata(void); </p><p> void UART_init()</p><p><b> {</b></p><p> SCON =0x58;
90、 </p><p> TMOD =0x21; </p><p> TR1 =1; </p><p> ES=1; </p><p> PS=1; </p><p> TH1 =0xfd; &
91、lt;/p><p> ET1 =0; </p><p><b> }</b></p><p> void timer0_init()</p><p><b> {</b></p><p> time_over_flag=0;</p><p&g
92、t; count_10ms=0;</p><p> ADD_num=0;</p><p> TL0=0x0F0; </p><p> TH0=0x0D8; </p><p> ET0=1; </p><p><b> }</b><
93、;/p><p> void system_init(void)</p><p><b> {</b></p><p> UART_init();</p><p> timer0_init();</p><p> EA =1; </p><p&g
94、t;<b> }</b></p><p> com_interrupt(void) interrupt 4 using 3</p><p><b> {</b></p><p> unsigned char RECEIVR_buffer;</p><p> if(RI)
95、 </p><p> {RI=0; </p><p> RECEIVR_buffer=SBUF; </p><p> if(point==0) </p><p><b> {</b>
96、;</p><p> if(RECEIVR_buffer==0xFE) </p><p><b> {</b></p><p> buffer[point++]=RECEIVR_buffer;</p><p><b> }</b></p><p><
97、;b> else</b></p><p> point=0; </p><p><b> } </b></p><p> else if(point>0&&point<10)</p><p> buffer[point++]=RECEIVR_buf
98、fer; </p><p> else if(point==10)</p><p><b> {</b></p><p> if(RECEIVR_buffer==0xEF) </p><p><b> {</b></p><p> buffer[po
99、int]=RECEIVR_buffer; </p><p> Slave_AD[ADD_num++]=buffer[2]; </p><p><b> }</b></p><p><b> else</b></p><p> point=0; </p><p&g
100、t;<b> } </b></p><p> else point=0; </p><p><b> }</b></p><p> if(TI) </p><p><b> {
101、</b></p><p> TI=0; </p><p><b> }</b></p><p><b> }</b></p><p> timer0_interrupt(void) interrupt 1 usi
102、ng 2</p><p><b> { </b></p><p> count_10ms++;</p><p> if(count_10ms==50)</p><p><b> {</b></p><p> ET0=0; </p>
103、<p> TR0=0; </p><p> time_over_flag=1;</p><p> count_10ms=0x00; </p><p><b> }</b></p><p><b> else</b></p><p>&
104、lt;b> {</b></p><p> TL0=0x0F0; </p><p> TH0=0x0D8;</p><p><b> }</b></p><p><b> }</b></p><p> void COM_s
105、end(void)</p><p><b> {</b></p><p> RE_DE=1; </p><p> for(point=0;point<=10,TI=1;point++)</p><p><b> {</b>
106、</p><p> SBUF=buffer[point];</p><p><b> TI=0;</b></p><p><b> }</b></p><p> RE_DE=0; </p><p><
107、b> }</b></p><p> void write_buffer(unsigned char slaver_add)</p><p><b> {</b></p><p> unsigned char i;</p><p> TB8=1;
108、 </p><p> buffer[0]=0xFE;</p><p> buffer[1]=slaver_add;</p><p> for(i=2;i<9;i++) </p><p><b> {</b></p><p> buffer[i]=se
109、nd_data[i-2];</p><p><b> }</b></p><p> buffer[9]=0xEF;</p><p><b> }</b></p><p> void main(void)</p><p><b> {</b>&l
110、t;/p><p> unsigned char i=0;</p><p> system_init(); </p><p> do{ </p><p> write_buffer(i++); </p><p> COM_send(); </p><p>
111、; timer0_init(); </p><p><b> }</b></p><p> while(time_over_flag&&i<10);</p><p><b> }</b></p><p> ---------------------------
112、-------------從機通信部分程序----------------------------------------</p><p> #include <reg51.h></p><p> sbit RE_DE=P2^7;</p><p> #define COUNT 10 </p><p
113、> #define ADD 5</p><p> unsigned char buffer[COUNT];</p><p> unsigned char point; </p><p> void UART_init(); </p><p> void COM_
114、send(void); </p><p> unsigned char CLU_checkdata(void);</p><p> void UART_init()</p><p><b> {</b></p><p> SCON =0x0F0; </p>&
115、lt;p> TMOD =0x21; </p><p> TH1 =0xfd; </p><p> TL1 =0xfd; </p><p> TR1 =1; </p><p><b> ET1 =0; </b></p&
116、gt;<p> ES=1; </p><p> PS=1; </p><p> EA =1; </p><p> SM2=1; </p><p><b> }</b></p>
117、;<p> com_interrupt(void) interrupt 4 using 3</p><p><b> {</b></p><p> unsigned char RECEIVR_buffer;</p><p><b> if(RI) </b></p><p>
118、{ </p><p> RI=0; </p><p> RECEIVR_buffer=SBUF; </p><p> if(point==0) </p><p><b
119、> {</b></p><p> if(RECEIVR_buffer==0xFE) </p><p> buffer[point++]=RECEIVR_buffer;</p><p><b> else</b></p><p> point=0; </p&g
120、t;<p><b> } </b></p><p> else if(point==1)</p><p><b> {</b></p><p> if(RECEIVR_buffer==ADD) </p><p> buffer[point++]=
121、RECEIVR_buffer;</p><p><b> else</b></p><p> point=0; </p><p><b> } </b></p><p> else if(point>0&&point<10) </p&g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 自適應路燈控制器設計畢業(yè)論文設計
- 畢業(yè)論文--自適應led路燈控制器設計
- 畢業(yè)設計-智能路燈控制器設計
- 畢業(yè)論文--自適應led路燈控制器設計(含外文翻譯)
- 路燈控制器的設計 畢業(yè)設計論文
- 畢業(yè)設計--自適應模糊pid控制器的matlab的設計
- 畢業(yè)設計--led路燈智能控制器的設計
- 畢業(yè)設計(論文)自適應模糊pid控制器的matlab的設計
- 畢業(yè)設計--led路燈智能控制器的設計
- 模糊自適應pid控制器設計
- 畢業(yè)設計(論文)報告太陽能路燈控制器設計
- 太陽能路燈控制器2014年畢業(yè)設計
- 智能太陽能路燈控制器畢業(yè)設計論文
- 智能太陽能路燈控制器畢業(yè)設計論文
- 智能路燈控制器設計【畢業(yè)論文】
- 自適應抽油煙機控制器設計-畢業(yè)論文
- 全彩LED燈自適應控制器設計.pdf
- 汽車自適應前照燈控制器設計.pdf
- 模型參考自適應切換控制器的設計.pdf
- 路燈控制器課程設計
評論
0/150
提交評論