郭芷妍,胡立夫,史佳偉,劉雨珊
(沈陽航空航天大學(xué) 自動(dòng)化學(xué)院,遼寧沈陽,110036)
隨著移動(dòng)網(wǎng)絡(luò)技術(shù)和無線數(shù)據(jù)傳輸技術(shù)的不斷發(fā)展,智能家居逐漸火熱起來,便捷了人們的生活。但隨之而來也出現(xiàn)了如家用電器過載、內(nèi)部線路老化引發(fā)大量火災(zāi)的問題,而插座作為根本的多通道配電組件能夠?qū)崿F(xiàn)家用電器的間接控制。因此本文提出了基于單片機(jī)的多功能插座設(shè)計(jì)方案,用戶能夠通過Android 手機(jī)控制插座,以此間接控制家用電器的供電開關(guān)或定時(shí)開關(guān)電源,對(duì)于能源的有效利用有著重要意義。而且,當(dāng)插座檢測(cè)到相連家用電器的電壓或電流超出安全范圍,或插座內(nèi)部器件檢測(cè)到溫度超過安全范圍時(shí),會(huì)自動(dòng)停止供電,同時(shí)蜂鳴器報(bào)警,避免發(fā)生火災(zāi)。
基于單片機(jī)的多功能插座設(shè)計(jì)以STC15F2K60S2 芯片作為下位機(jī)的控制核心,通過CS5463 電能計(jì)量傳感器對(duì)電壓、電流、功率和溫度等物理數(shù)據(jù)實(shí)行采集,通過時(shí)鐘模塊實(shí)時(shí)讀取時(shí)間數(shù)據(jù),采用藍(lán)牙無線通信技術(shù)實(shí)現(xiàn)數(shù)據(jù)的傳輸,繼電器模塊控制電源的開關(guān)。單片機(jī)將不同模塊的數(shù)據(jù)結(jié)合并處理和顯示,達(dá)到無線控制,插座保護(hù),蜂鳴器報(bào)警等功能。多功能插座硬件整體結(jié)構(gòu)圖如圖1所示。軟件部分由單片機(jī)軟件和Android 手機(jī)APK 軟件組成,軟件程序由不同的子函數(shù)共同搭建,通過調(diào)用合理地結(jié)合在一起,實(shí)現(xiàn)各個(gè)功能。
圖1 多功能插座硬件整體結(jié)構(gòu)圖
多功能插座的硬件電路部分包括微控制器模塊、顯示模塊、傳感器模塊、無線通信模塊、報(bào)警模塊、繼電器模塊和電源模塊共八個(gè)模塊。
STC15F2K60S2 微控制器引腳與傳統(tǒng)8051 單片機(jī)的最小應(yīng)用系統(tǒng)兼容。本設(shè)計(jì)中,由于OLED 采用I2C 通信方式,因此利用它自帶的普通I/O 口定義為I2C 通信協(xié)議中的兩條總線。STC15F2K60S2 微控制器內(nèi)部帶有IRC 時(shí)鐘,通過下載軟件時(shí)調(diào)節(jié)晶振頻率的方法選定內(nèi)部IRC 時(shí)鐘頻率。STC15F2K60S2 單片機(jī)最小系統(tǒng)電路圖如圖2 所示。
圖2 STC15F2K60S2 最小系統(tǒng)電路圖
本設(shè)計(jì)顯示器選用OLED 12864。在多功能插座使用時(shí),難免會(huì)有大的加速度動(dòng)作,這種情況下,相比LCD 顯示屏,OLED12864 顯示屏的抗震性能更優(yōu)越。而且即使陽光直射,顏色也不會(huì)顯弱。OLED12864 與STC15F2K60S2 的連接電路圖如圖3 所示。
圖3 OLED12864 與STC15F2K60S2 的連接電路圖
本設(shè)計(jì)采用CS5463 傳感器模塊,它通過SPI 通信協(xié)議直接輸出數(shù)字量的參數(shù)信息,使用方法簡單,靈敏度高且功率損耗低。CS5463功率測(cè)量芯片由兩個(gè)24 位高速ADC、1 個(gè)電能轉(zhuǎn)換頻率器、1 個(gè)計(jì)算功率器、一個(gè)串行接口組成。它能夠測(cè)量高精度的瞬時(shí)電壓、電流以及功率,自帶溫度傳感器,可以實(shí)行系統(tǒng)校準(zhǔn)。CS5463與STC15F2K60S2 的連接電路圖如圖4所示。
圖4 CS5463B 傳感器模塊與STC15F2K60S2 的連接電路圖
本設(shè)計(jì)的無線數(shù)據(jù)傳輸器選用HC06,其模塊采用Blue2.0 技術(shù),支持主從模式。本設(shè)計(jì)采用從機(jī)模式,通過AT 命令修改HC06 模塊通訊波特率,波特率范圍為1200~1382400。通過微控制器串口通信功能,TXD 端口連接P3.0 口引腳,藍(lán)牙發(fā)送數(shù)據(jù),微控制器接收。RXD 端口連接P3.1 口引腳,藍(lán)牙接收數(shù)據(jù),微控制器發(fā)送。其與STC15F2K60S2的連接電路圖如圖5 所示。
圖5 HC06 與STC15F2K60S2 的連接電路圖
本設(shè)計(jì)報(bào)警電路選擇使用蜂鳴器實(shí)行聲報(bào)警。因?yàn)榉澍Q器發(fā)聲需較大的電流,須通過一個(gè)三極管電路實(shí)現(xiàn)電流的放大,然后微控制器對(duì)三極管基極輸出高低電平來控制完成聲報(bào)警。當(dāng)檢測(cè)到電壓、電流和溫度超過安全范圍時(shí),單片機(jī)管腳置低電平,蜂鳴器報(bào)警。三極管基級(jí)串行一個(gè)電阻與P2.4 口引腳相連,為控制器輸出高低電平控制報(bào)警。其與STC15F2K60S2 的連接電路圖如圖6 所示。
圖6 蜂鳴器與STC15F2K60S2 的連接電路圖
繼電器電路采用繼電器和發(fā)光二極管。三極管基極串行一個(gè)電阻與P3.5 口引腳相連,繼電器導(dǎo)通或關(guān)閉受微控制器輸出高低電平控制。LED 端口與P1.6 口引腳相連,微控制器輸出高低電平控制二極管亮滅。其與STC15F2K60S2的連接電路圖如圖7 所示。當(dāng)繼電器模塊接上電源時(shí),電源和地之間的D3 發(fā)光二極管發(fā)光,模塊電源接通。
圖7 繼電器與STC15F2K60S2 的連接電路圖
本設(shè)計(jì)電源模塊采用PM01。PM01 模塊為AC-DC 隔離開關(guān)電源,輸出穩(wěn)定5V 電壓功耗低,功耗低,綠色環(huán)保,空載損耗<0.1W。+Vo 與VCC 口相連,-Vo 與GND 相連,給單片機(jī)提供電源。其與STC15F2K60S2 的連接電路圖如圖8 所示。
圖8 PM01 與STC15F2K60S2 的連接電路圖
多功能插座的軟件設(shè)計(jì)包含微控制器程序編寫、Android 編程軟件的介紹和Android 手機(jī)軟件編寫,選擇使用采用自低向上,逐步整合的設(shè)計(jì)方法。
本設(shè)計(jì)必要讀取多個(gè)物理量數(shù)據(jù),包含功率、電壓、電流和溫度信號(hào),微控制器通過利用模擬SPI 通信協(xié)議從傳感器CS5463 電能計(jì)量模塊中讀取數(shù)據(jù),再通過OLED 顯示屏顯示。DS1302 時(shí)鐘模塊,第一次使用時(shí)首先關(guān)閉寫保護(hù),向其寫入實(shí)時(shí)時(shí)鐘數(shù)據(jù),然后打開寫保護(hù),防止初始時(shí)間數(shù)據(jù)改變,再讀取DS1302 時(shí)鐘信息并顯示。報(bào)警模塊,通過比較所讀取信息和閾值大小,進(jìn)行報(bào)警,并關(guān)閉繼電器。在主程序外有一個(gè)串口通信中斷,它會(huì)查看上位機(jī)是否發(fā)送信息,接收信息后,單片機(jī)直接控制繼電器開關(guān),或者定時(shí)控制繼電器開關(guān)。微控制器程序結(jié)構(gòu)框圖如圖9 所示。
圖9 微控制器程序結(jié)構(gòu)框圖
本設(shè)計(jì)選用了一款國內(nèi)安卓軟件E4A 易安卓,它是基于安卓系統(tǒng)下的應(yīng)用程序開發(fā)的編程語言。易安卓軟件界面簡練,操作便捷,功能強(qiáng)大,提供的安卓APP 代碼編寫語言通過簡單的學(xué)習(xí)便可以使用。易安卓軟件界面如圖10 所示,代碼編程區(qū)如圖11 所示。
圖10 E4A 軟件界面圖
圖11 代碼編程區(qū)圖
本設(shè)計(jì)中Android 手機(jī)發(fā)送數(shù)據(jù)、微控制器令串口接收數(shù)據(jù)均通過藍(lán)牙模塊進(jìn)行。用戶通過設(shè)計(jì)界面按鈕先實(shí)現(xiàn)與藍(lán)牙相關(guān)函數(shù)間的連接,再進(jìn)行數(shù)據(jù)傳輸,從而控制單片機(jī)系統(tǒng),Android 手機(jī)程序結(jié)構(gòu)框圖如圖12所示,由主窗口函數(shù)、搜索藍(lán)牙設(shè)備子函數(shù)、連接藍(lán)牙設(shè)備子函數(shù)、直接控制子函數(shù)和定時(shí)設(shè)置子函數(shù)構(gòu)成。
圖12 Android 手機(jī)程序結(jié)構(gòu)框圖
首先進(jìn)行單片機(jī)系統(tǒng)上電,觀察到電源模塊和3.3 V 降壓模塊指示燈發(fā)光。接著OLED12864 模塊在系統(tǒng)啟動(dòng)完成后,會(huì)循環(huán)顯示電能、時(shí)間和溫度信息。插上試驗(yàn)電器,觀察電壓、電流和功率變化。藍(lán)牙HC06 模塊安裝后,其燈光一直閃爍,當(dāng)與上位機(jī)連接成功時(shí),燈光停止閃爍,保持常亮狀態(tài)。繼電器模塊的控制指示燈和插座指示燈最初為熄滅狀態(tài),當(dāng)上位機(jī)發(fā)送數(shù)據(jù)使繼電器導(dǎo)通時(shí),這兩盞指示燈均發(fā)光。蜂鳴器模塊在比較電能、溫度信息和閾值后,超出安全范圍時(shí)發(fā)出報(bào)警聲,并關(guān)閉繼電器模塊,熄滅兩盞指示燈。單片機(jī)系統(tǒng)調(diào)試結(jié)果圖如圖13 所示。
圖13 單片機(jī)系統(tǒng)聯(lián)合調(diào)試時(shí)的結(jié)果圖
單片機(jī)系統(tǒng)聯(lián)合調(diào)試后,開始上位機(jī)與單片機(jī)的結(jié)合調(diào)節(jié)。點(diǎn)擊多功能插座APP,若未啟動(dòng)藍(lán)牙,界面會(huì)彈出是否啟動(dòng)藍(lán)牙的選擇框,點(diǎn)擊確定后,藍(lán)牙啟動(dòng),點(diǎn)擊搜索設(shè)備按鈕,列表會(huì)出現(xiàn)附近藍(lán)牙設(shè)備名稱,點(diǎn)擊需要連接藍(lán)牙設(shè)備,若連接成功,左上角會(huì)顯示已連接該設(shè)備,其右側(cè)按鈕會(huì)變?yōu)椤皵嚅_連接”。本插座系統(tǒng)藍(lán)牙名稱:Socket,密碼:8888,當(dāng)初次連接設(shè)備時(shí),需要輸入密碼。然后點(diǎn)擊按鈕直接控制下位機(jī),觀察插座指示燈是否點(diǎn)亮或者熄滅,點(diǎn)亮即繼電器導(dǎo)通。點(diǎn)擊設(shè)置時(shí)間,選擇定時(shí)時(shí)間;點(diǎn)擊開關(guān)按鈕,確定定時(shí)開關(guān)。再點(diǎn)擊發(fā)送按鈕,發(fā)送定時(shí)信息,觀察達(dá)到定時(shí)時(shí)間時(shí),插座指示燈是否點(diǎn)亮或者熄滅。多功能插座系統(tǒng)調(diào)試結(jié)果圖如圖14 所示。
圖14 多功能插座系統(tǒng)聯(lián)合調(diào)試時(shí)結(jié)果圖
本文設(shè)計(jì)的基于單片機(jī)的多功能插座,可以對(duì)功率、電壓、電流和溫度信號(hào)實(shí)時(shí)收集監(jiān)測(cè),OLED 顯示屏進(jìn)行顯示。當(dāng)監(jiān)測(cè)值超過安全范圍時(shí),會(huì)停止插座供電。同時(shí),用戶可以通過手機(jī)藍(lán)牙對(duì)插座進(jìn)行控制,以此間接控制家用電器的供電開關(guān)或者定時(shí)開關(guān)電源,解決了由于過載、線路老化導(dǎo)致的安全隱患,實(shí)現(xiàn)了能源的有效利用,作為智能家居產(chǎn)品研發(fā)的伴隨產(chǎn)物,對(duì)智能家居的發(fā)展也有著重要的意義。