1 系統構成及原理
系統主要由 GSM 模塊、時鐘電路、單片機和驅動電路等構成,具體如圖 1 所示.
本設計采用單片機作為系統的控制中心. 單片機從時鐘芯片讀取當前日期,再根據港口所在地的經緯度計算出每天日出日落的時間;單片機實時讀取當前時間,并與計算出的日出日落時間進行比對,如果定時時間已到,單片機就根據定時控制高桿燈的閉或開. 同時,單片機通過串口與 GSM 模塊通信,可響應工作人員以短信形式發送來的控制命令,實現對高桿燈開關的手動控制以及系統時間的校準等功能.
2 系統硬件組成
本設計主控單元采用宏晶 STC12C5A60 系列單片機. 該系列單片機具有較大的程存和數存空間,自帶 E2PROM,芯片工作電壓 3.3~5.5 V. 具體電路如圖 2 所示,其中,U1 為時鐘芯片 PCF8563,該芯片通過數據線 SDA 和時鐘 SCL 構成的串行 I2C 總線,與單片機之間雙向傳送數據,從而實現時間、日期等數據的讀??;U2 為看門狗芯片 MAX813L,在單片機程序跑飛或者系統電壓低于門限值(4.65 V)時,該芯片可以對單片機進行復位,保證單片機的正常工作;U3 為安森美的 LDO,實現電壓從 12 V 到 5 V 的轉換,同時增加 TVS 管對 LDO 的保護.
2.2 驅動電路
實際中,每個高桿燈有 3 組高壓鈉燈,每組工作電流為 10.3 A. 選用額定電壓 380 V 下額定電流 37 A 的接觸器來控制,每一路驅動電路如圖 3 所示,單片機 I/O 口與驅動電路之間增加了光耦進行隔離. 設計采用 2 個松樂 SRS-12VDC 型和 1 個歐姆龍 G2R 型功率繼電器構成帶自鎖功能的繼電器電路.
需要開燈時,可控制 P1.1 口輸出一個 100 ms 的低電平脈沖,驅動 Q2 導通給繼電器 K2 線圈供電,
K2 吸合后將 K1 提供的 12 V 電壓提供給 K3 線圈,繼電器 K3 吸合,接觸器控制端子與 220 V 交流電接通,進而控制 380 V 電源點亮高桿燈. 由于繼電器 K3 的線圈也與其端子 4 相連,在脈沖結束后,通過端子 4 可繼續給線圈供電,使其保持吸合狀態,實現狀態的自鎖. 需要關燈時,可控制 P1.0 口輸出一個100 ms 的低電平,驅動 Q1 給繼電器 K1 供電,K1 吸合后端子 6 不再給 K3 供電,K3 不再吸合,高桿燈關閉.
2.3 TC35i 模塊與單片機接口電路
TC35i 模塊是一款支持中文短信息的工業級 GSM 模塊. 使用 RS232 串口與 MCU 連接實現串口通信,
通信速率為 9 600 kbit/s,采用 8 位異步通訊方式,1 位起始位,8 位數據位,1 位停止位. 采用標準的 AT 指令集[5]方便開發與設計. 本文采用 PDU 編碼將控制指令和反饋信息以 Unicode 字符的形式發送.
TC35i 有 40 個引腳,通過 1 個 ZIF 連接器引出. 設計中,將其第 1~5 引腳與 VCC 相連,第 6~10 引腳與地相連,實現對其供電. 第 15 引腳與單片機 INT0 引腳相連,通過一個大于 100 ms 的低電平脈沖實現模塊的啟動. 第 18、19 引腳與單片機 RXD 和 TXD 引腳相連,實現串口通信. 第 24~29 引腳依次
與 SIM 卡的 CCIN、CCRST、CCIO、CCCLK、CCVCC 和 CCGND 相連,實現數據處理[4].
3 程序設計
3.1 主程序流程圖
初始化過程將完成對定時器、中斷、串口、GSM 模塊以及時鐘芯片的初始化,將默認手機號碼和港口經緯度信息依次寫入 E2PROM 的第一、二扇區. 在每次完成開燈動作 600 s 后,程序將讀取日期和經緯度信息,由此計算出第 2 天關燈和開燈的時間,并存入 E2PROM 第 3 扇區. 主程序將不斷比較當前時間與存放在 E2PROM 中的定時時間. 如果定時時間到了,程序執行相應的開關燈動作. 如果接收到短信命令,且手機號碼合法,則響應該短信命令.
例如,春、秋分前后,煙臺市的日落時間為 18:00. 當前時間為 17:50,此時為白天,不需要開燈. 程序將不停檢測定時時間是否已到. 如果時間到了 18:00,程序執行開燈動作,600 s 后計算明天的關燈和開燈時間. 之后將檢測是否到了新的關燈時間,當檢測到第 2 天 6:00 左右時,定時時間到,執行相應的關燈操作. 而后繼續檢測是否到達第 2 天 18:00 左右的開燈時間,如此循環執行.
3.2 日出日落時間算法
假設地球為球形,圓形太陽的上沿剛好到達地平線的時刻,即為太陽升起落下的時刻. 以觀察者所處的地平面為參考平面,考慮到大氣折射的影響,當太陽處在-0.833° 的位置就是日出日落時的位置. 為了方便計算,把時間按角度換算,即 12 h=180° . 計算時,先假設一個太陽位置,再采用這個假設的位置計算日出位置,采用迭代法不斷地用計算出的新位置重新計算太陽的位置. 當兩次位置之差足夠小時,輸出日出日落時間,
4 應用實例
本設計已經成功應用在煙臺港大面積堆場的照明系統中,選擇每個月的 1 日、11 日、21 日對開關燈的時間進行監測,具體結果如表 1 所示. 具體的開關燈時間與中科院國家授時中心提供的日出日落時間
相比,誤差前后不超過 3 min. 在陰、雨、霧天,還可通過手機短信進行控制,增強了系統的適應能力.
5 結論
經過一年的觀測,系統運行穩定. 由于大氣散射的原因,天亮和天黑時間會相應提前和延后,故系統誤差并未帶來實質的影響. 在滿足港口裝卸對燈光要求的前提下,較大程度地節省了電力資源. 但系統缺少對高桿燈狀態及故障的檢測功能,仍需要人工確認. 如果能夠利用電腦作為多個高桿燈從機的服務器,通過 GPRS 網絡對高桿燈狀態進行實時監控,應該會取得更加方便、直觀的效果,這也是今后改進
的一個方向.