1 、系統(tǒng)結(jié)構(gòu)
教室電器智能節(jié)能系統(tǒng)主要由人體檢測(cè)、亮度檢測(cè)、溫度檢測(cè)、單片機(jī)模塊、電力線載波通信模塊、上位機(jī)控制軟件6個(gè)功能模塊組成。
該系統(tǒng)以PC機(jī)作為上位主機(jī),各下位機(jī)由單片機(jī)組成,各下位機(jī)之問無數(shù)據(jù)傳輸,只與主機(jī)產(chǎn)生數(shù)據(jù)交換,系統(tǒng)結(jié)構(gòu)如圖1所示。
1.1 紅外檢測(cè)模塊
教室人數(shù)統(tǒng)計(jì)由2個(gè)人體檢測(cè)電路實(shí)現(xiàn),分別安裝于教室門口內(nèi)、外兩側(cè)。門內(nèi)外兩側(cè)的紅外傳感器只要檢測(cè)到有人進(jìn)教室或出教室,其輸出將有電平跳變,從而先后觸發(fā)單片機(jī)的中斷,單片機(jī)根據(jù)中斷次數(shù)和順序統(tǒng)計(jì)教室人數(shù)。紅外傳感器采用熱釋電紅外傳感器D203S,其外圍電路如圖2所示,IClA是一級(jí)低頻信號(hào)的放大電路,放大后信號(hào)濾波電路選出信號(hào)0.2~10 Hz的信號(hào)。
在靜態(tài)時(shí),6,7腳的電壓也是1/2VCC,當(dāng)有信號(hào)后,6腳的電壓就會(huì)在1/2VCC上下擺動(dòng),這個(gè)電壓再通過IClB進(jìn)行放大,輸入到后面的比較電路,該門限電路不管輸入信號(hào)是在1/2VCC上偏還是下偏,都將在上下門限值之間輸出一個(gè)高電平,此高電平經(jīng)過光耦后的信號(hào)作為單片機(jī)INT0外部中斷的請(qǐng)求信號(hào)。
1.2 電力載波通信模塊
上位機(jī)須根據(jù)單片機(jī)的檢測(cè)數(shù)據(jù)自動(dòng)控制教室照明和風(fēng)扇的開通與關(guān)斷,而上位機(jī)與各個(gè)單片機(jī)之間的信號(hào)傳輸是通過2片電力載波芯片LM1893將信號(hào)在電網(wǎng)上調(diào)制或解調(diào)來實(shí)現(xiàn)。
LM1893是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的高性能專用電力載波通信芯片,具有使用方便、價(jià)格低廉、精度高和可靠性好的特點(diǎn),采用移頻鍵控的調(diào)制解調(diào)方式,抑制噪音的FSK調(diào)制方式,可實(shí)現(xiàn)任意編碼方式的數(shù)字序列半雙工通信,載波頻率在50~300 kHz之間可選擇。
單片機(jī)機(jī)與電力載波通信芯片LM1893連接電路如圖3所示,上位機(jī)與LM1893的外圍電路基本與此類似。LM1893的5腳為TX/RX發(fā)送接收控制端,由單片機(jī)的P1.0端控制,高電平為發(fā)送狀態(tài),低電平為接收狀態(tài)。LM1893輸入端17管腳與單片機(jī)的串行發(fā)送端相連,當(dāng)控制端為電平時(shí),由單片機(jī)輸入的數(shù)據(jù)經(jīng)LM1893芯片內(nèi)部的調(diào)制振蕩單元,調(diào)制為125 kHz的正弦模擬信號(hào),經(jīng)過功率放大后從芯片的I/O(第10管腳)輸出,最后通過信號(hào)耦合變壓器將此模擬信號(hào)耦合到電網(wǎng)上,實(shí)現(xiàn)數(shù)據(jù)的傳送。
當(dāng)控制端為低電平時(shí),接收端12管腳與單片機(jī)的串行輸人口接收端相連。從電力線上來的信號(hào)經(jīng)高壓耦合電容和變壓器T組成的耦合電路從LM1893的10腳送入內(nèi)部平衡限幅放大器,經(jīng)芯片內(nèi)部電路的解調(diào)處理,從數(shù)據(jù)輸出端12腳輸出數(shù)據(jù)信號(hào)(TTL電平),從而實(shí)現(xiàn)單片機(jī)的接收。上位機(jī)的發(fā)送接收的方式和原理與此相同,不贅述。
2 、系統(tǒng)的軟件設(shè)計(jì)
2.1 通信協(xié)議
為了保證電力線通訊的順利進(jìn)行,本系統(tǒng)采用的通信協(xié)議遵守《地區(qū)電網(wǎng)數(shù)據(jù)采集與監(jiān)控系統(tǒng)通用技術(shù)條件》,并且參照X-10協(xié)議。在電力線載波通信的過程中,因?yàn)椴捎卯惒桨腚p工工作方式,所以一定要有包含控制機(jī)制的傳輸協(xié)議以確保數(shù)據(jù)的可靠傳輸。上位機(jī)和下位機(jī)需采用適當(dāng)?shù)膮f(xié)議和時(shí)序配合。該設(shè)計(jì)中,每次通訊過程總是由上位PC機(jī)首先發(fā)起,通訊時(shí)單片機(jī)先進(jìn)入通訊狀態(tài),等待與計(jì)算機(jī)通訊。上位機(jī)向下位機(jī)發(fā)送的命令為系統(tǒng)碼、地址碼、命令碼和校驗(yàn)碼。
由于采用共用的電力線通訊,為避免電力線上的雜波載波信號(hào)對(duì)本系統(tǒng)主機(jī)和各從機(jī)的誤接收,在發(fā)送地址信號(hào)前,加了一個(gè)系統(tǒng)碼。而校驗(yàn)碼是對(duì)此碼前所傳送的所有數(shù)據(jù)進(jìn)行簡(jiǎn)單加法,保留1個(gè)字節(jié),進(jìn)位自然溢出得到的數(shù)值,數(shù)據(jù)傳輸?shù)慕邮辗綄?duì)所收到的數(shù)據(jù)的正確性進(jìn)行判斷。同理,從機(jī)向主機(jī)發(fā)送命令為起始碼、地址碼、數(shù)據(jù)塊和校驗(yàn)碼。
2.2 上位機(jī)軟件實(shí)現(xiàn)
上位機(jī)采用Delphi 7作為開發(fā)環(huán)境,對(duì)數(shù)據(jù)的存儲(chǔ)采用數(shù)據(jù)庫(kù)Paradox,此單端數(shù)據(jù)庫(kù)由Borland公司開發(fā),可采用BDE引擎,與Delphi 7融合較好。對(duì)串口RS 232直接使用Windows API函數(shù)和多線程技術(shù)實(shí)現(xiàn)通信功能,串口通信軟件由負(fù)責(zé)人機(jī)交互的主線程和對(duì)串口進(jìn)行處理的后臺(tái)輔助線程組成。
通信軟件構(gòu)架如圖4所示,主線程是串口通信程序的管理者,用來初始化串口(通過調(diào)用Win32 API函數(shù)),自定義通信事件消息,創(chuàng)建、刪除輔助線程,進(jìn)行人機(jī)交互的操作及協(xié)調(diào)好各線程運(yùn)行。輔助線程是串口通信軟件的核心,包括讀線程和寫線程。輔助線程對(duì)串口進(jìn)行實(shí)時(shí)監(jiān)視,當(dāng)監(jiān)測(cè)到預(yù)定義的事件時(shí),立即調(diào)用相應(yīng)的線程進(jìn)行處理并向主線程發(fā)相應(yīng)的消息,如串口出錯(cuò),則退出線程并向主線程報(bào)錯(cuò);如接收到數(shù)據(jù)就調(diào)用讀線程自動(dòng)接收數(shù)據(jù)并進(jìn)行處理。
本系統(tǒng)由于對(duì)實(shí)時(shí)性要求不高,波特率選用在600~1 200 b/s之間,上位機(jī)的自定義幀格式為1位起始位,8位數(shù)據(jù)位,1位地址幀識(shí)別位,1位停止位,無奇偶校驗(yàn)位。上位機(jī)工作流程如圖5所示,上位機(jī)通過RS 232串行發(fā)送口TXD以廣播形式向下位機(jī)先發(fā)系統(tǒng)碼后發(fā)地址碼,經(jīng)LM1893調(diào)制成125 kHz的正弦信號(hào),通過耦合變壓器,耦合至電力線上。上位機(jī)發(fā)送后將設(shè)置LM1893為解調(diào)狀態(tài)處,準(zhǔn)備接收數(shù)據(jù)。而所有從機(jī)的LM1893已處于解調(diào)狀態(tài),完成接收數(shù)據(jù),此數(shù)據(jù)通過中斷服務(wù)子程序由單片機(jī)串行接收口RXD輸入各自CPU,如果起始碼和地址碼都正確,從機(jī)將LM1893設(shè)置為調(diào)制狀態(tài),將地址確定信號(hào)返回信息給主機(jī)。主機(jī)收到數(shù)據(jù),對(duì)正誤標(biāo)識(shí)進(jìn)行判斷,如收到正確返回信號(hào),則繼續(xù)與此從機(jī)通信;如遇錯(cuò)誤標(biāo)識(shí)或在一定時(shí)間內(nèi)沒收到回送信息,則進(jìn)行命令重發(fā)。
2.3 下位機(jī)軟件實(shí)現(xiàn)
由于涉及到單片機(jī)多機(jī)通訊,因此單片機(jī)串行口工作方式選為方式3,通訊格式為每11位構(gòu)成一串行幀:1位起始位(0),8位數(shù)據(jù)位(最低有效位在前),1位地址幀識(shí)別位(1),1位停止位(1),無奇偶校驗(yàn)位(上位機(jī)的地址幀的識(shí)別位將進(jìn)入單片機(jī)RB8)。
下位機(jī)軟件流程如圖6所示,其中flag1是當(dāng)前通信單片機(jī)的標(biāo)志位,當(dāng)flag1=1時(shí),表示此單片機(jī)正在通信,其他單片機(jī)的flag1全置零,防止誤動(dòng)作;flag2是為了防止由于錯(cuò)誤通信,還沒有發(fā)送有效數(shù)據(jù)就導(dǎo)致相應(yīng)用電設(shè)備的誤動(dòng)作,通過軟件設(shè)計(jì)減小錯(cuò)誤的發(fā)生。
最后,由于交流電網(wǎng)上的干擾因素較多,為了盡可能的排除干擾,接收端得到正確可靠的信號(hào),要求接到電力載波芯片10管腳的信號(hào)耦合變壓器的設(shè)計(jì)既要保證有用信號(hào)的正確耦合,又要隔離電網(wǎng)雜波。除此之外,上位機(jī)軟件可通過校驗(yàn)碼和對(duì)每個(gè)數(shù)據(jù)重發(fā)10次,接收端對(duì)接收的10個(gè)數(shù)據(jù)取相同個(gè)數(shù)最多的數(shù)據(jù)作為有效數(shù)據(jù)去處理來盡量減少干擾引起的通信失敗。
3 、結(jié)語(yǔ)
實(shí)驗(yàn)證明基于電力載波開發(fā)的教室電器智能節(jié)能系統(tǒng)能可靠地完成PC機(jī)與單片機(jī)完數(shù)據(jù)的遠(yuǎn)程傳輸,實(shí)現(xiàn)對(duì)教室照明系統(tǒng)的智能控制,達(dá)到了節(jié)能的作用。若將其做些適當(dāng)?shù)母难b應(yīng)用于諸如社會(huì)生產(chǎn)等其他方面,將會(huì)為全社會(huì)帶來可觀的經(jīng)濟(jì)效益。由于在實(shí)際測(cè)試中基于載波的通信系統(tǒng),交流電網(wǎng)干擾因素較多,為了盡可能排除干擾就要從系統(tǒng)的軟件和硬件的設(shè)計(jì)同時(shí)著手。對(duì)于通訊速度要求不高的系統(tǒng),如網(wǎng)絡(luò)抄表系統(tǒng)能、智能大樓控制系統(tǒng),電力線載波通訊有很大的實(shí)用和推廣價(jià)值。