本文提出了一種基于STC12C5A60S2單片機的智能插座的設計方案.該智能插座實現了過熱保護、防雷擊浪涌保護、按鍵設置、環境溫度檢測、實時時鐘、信息顯示等多種功能,并且可以通過光控、定時控制以及GSM遠程控制實現對電器的通斷電,從而實現節能以及智能化.從元器件的價格、體積等出發,選擇價格較低、體積較小的電子元器件,實現了小型化以及經濟性.
1、硬件設計
硬件主要包括STC12C5A60S2單片機最小系統、光控電路、晶閘管光耦控制電路、GSM遠程控制模塊、DS1302時鐘部分、OLED顯示模塊及驅動、按鍵模塊、DS18B20溫度檢測部分等,考慮到成本以及小型化,在選擇元器件時,主要選擇價格較低、體積較小的元器件.插座的系統框圖如圖l所示.
系統接于220V的交流電路,經過電壓的轉換電路降為5V,同時向DS1302、STC12C5A60S2等芯片提供電能.DS1302為時鐘芯片,用于產生系統時間,通過相對應的按鍵控制STC12C5A60S2可設置DS1302芯片,數據返回到STC12C5A60S2,STC12C5A60S2通過OLED的驅動板使OLED將時間顯示在數碼管上.按下定時鍵時,可由按鍵設置家用電器開、關的時間,并且寫入STC12C5A60S2,同時STC12C5A60S2不斷從DS1302讀入時問,當讀入的時間與STC12C5A60S2中設置的時間匹配時,晶閘管執行開或關的指令,進而控制用電器的開、關.同理,在GSM遠程控制模塊、DS18B20溫度檢測部分以及光控部分,都是通過主控芯片STC12C5A60S2的控制,當滿足設定的開或者關的狀態時,晶閘管執行開或者關,從而實現電器的開與關.
1.1、單片機最小系統的設計
主控器主要由MCU、復位電路和振蕩器組成,是單片機工作的必要組成部分和控制中樞.STC12C5A60S2是一款高速、低功耗、超強干擾的新一代8051單片機,指令代碼完全兼容傳統的8051,但速度快8—12倍,其內部有集成的MAX810專用復位電路、2路PWM、8路高速10位A/D轉換(25萬次/秒)等.
1.2、光控功能模塊的硬件設計
光控模塊即通過光敏電阻對光強的感知實現插座的通、斷電.光敏電阻對光具有可變性,無光時阻值無限大,相當于短路,隨著光照強度的增加阻值逐漸減小,根據這一原理可實現家用電器有光工作、無光停止工作的性能.本次所用的是F5硫化鎘光敏電阻MG45,靈敏度高,質量可靠.該光敏電阻可用于光電自動控制,亮阻為2~10KW,暗阻為1—10MW.圖2所示即為光控模塊的電路原理圖。
1.3、DS1302時鐘模塊設計
DSl302是可以涓流充電的時鐘芯片,它需要兩個電源以及振蕩電路才可以工作,通過單片機的控制,可以提供時間信息.DS1302的電路如圖3所示.此系統用時鐘芯片提供時間,通過STC12C5A60S2輸出給OLED顯示器顯示當前時間,當按下定時按鍵后,STC12C5A60S2從時鐘芯片讀一次數據,傳輸給顯示器.此時,通過按鍵可設置起始時問.設置好后再按下定時按鍵,起始時間被儲存在STC12C5A60S2內部,同時可設置終止時間.當第三次按下定時按鍵后,終止時間被儲存在STC12C5A60S2內部,同時顯示器顯示跳回當前時間,當前時間每增加一秒,STC12C5A60S2內部都將起始時間與之進行比較,當兩個時間相同時,STC12C5A60S2輸出信號使用電器開啟,當內部終止時間與當前時間相同時,STC12C5A60S2輸出信號使用電器關閉.設計選用的是32.768KHz(3*8mm)的晶振、3.3V的紐扣電池.
1.4、晶閘管與光耦部分的電路設計
晶閘管屬于半控型電力電子器件和脈沖觸發型器件,一旦導通,則需要在主電路使通過晶閘管的電流降到接近于0的某一數值以下.雙向晶閘管是一對反并聯聯結的普通晶閘管集成,晶閘管所能夠承受的電壓和電流容量很高,工作可靠,故在此智能插座中選用雙向可控硅和具有過零檢查的光耦晶閘管,通過雙向可控硅和光耦的結合實現自動控制的通斷電,設計選擇的元器件主要有:MOC3023MSOP-6、BT136S-600E的貼片雙向可控硅等.圖4是晶閘管與可控硅部分的原理圖.
1.5、遠程控制功能的GSM模塊設計
GSM模塊主要使用TC351,TC351新版西門子工業CSM模塊是一個支持中文短信息的工業級GSM模塊,當供電電壓低于3.3V就會自動關機.模塊在發射時,電流峰值可高達2A,在此電流峰值時電源電壓(送人模塊的電壓)下降值不能超過0.4V.所以該模塊對電源的要求較高,電源的內阻+FFC聯接線的電阻必須小于200m歐。
1.6、防雷擊浪涌保護模塊的設計
設計在電路之中并聯壓敏電阻MYN15-681K,它的標稱電壓是680V,性能高,可用于防止供電電網中出現的過高浪涌電壓和雷擊對插座的傷害.此外還選取了OLED(128x64)、DS18820等.
2、軟件設計
2.1、實時時鐘功能的程序流程設計
DS1302是美國DALLAS公司推出的一種高性能、低功耗的時鐘實時芯片.在程序設計的過程之中,必須特別注意時序.圖5是DS1302的程序流程圖.在讀寫數據的過程之中,RST/CE腳必須為高電平;對DS1302的操作歸根結底是對它的12個寄存器的操作.若要使其在重新啟動單片機時,顯示的時間不是初始化的DS1302值,則需要在主函數中進行判斷:若DS1302的秒寄存器值發生變化,則不進行初始化;否則進入DS1302的初始化函數.通過主控芯片的控制,實現實時時鐘的功能.
2.2、溫度檢測部分的程序流程設計
DS18B20是一種單線數字化溫度傳感器,根據它1的通訊協議可知:MCU控制該芯片完成溫度轉換需要三個步驟.操作DS18B20時,最關鍵的就是復位、寫數據和讀數據,圖6是DS18B20的程序操作流程圖.單總線器件ROM的獲取,可借用讀數據函數提前讀出,先初始化,再讀ROM.通過微處理器的控制,從而將實時溫度存儲下來.通過比較實時溫度與設定溫度,控制該智能插座的通斷電.
2.3、遠程控制功能的程序流程設計
模塊主要包括GSM初始化、來短信檢測等.圖7為初始化GSM的程序流程圖.單片機通過兩個I/O口控制TC351的開關機、復位等,通過串口與TC35進行數據通信,通信速率為9600kbps,采用8位異步通訊方式,l位起始位,8位數據位,1位停止位.GSM模塊僅是此系統的一個外圍電路,通過單片機的控制實現遠程控制.
3、功能說明與測試
系統有光控、時控、GSM控制、溫度過熱保護等功能設置了9個按鍵,可以實現時間的調整、定時操作、模式選擇、顯示設置等.光控主要是使該插座有光時工作、無光時斷電;時控是使此插座實現定時開關電源,通過程序設計可以實現多次定義通電時間和斷電時間;GSM控制主要是為了防止人離開房間之后忘了關閉電器或者是想在人未到房間時開啟電器等,故可以在此種情況之下實現通斷電;過熱保護主要是通過檢測溫度,若溫度超過一特定區間的值,則實現插座的通斷電,從而保護電器.
開發過程之中比較重要的幾點:(1)DS1302與MCU之間的連線不宜過長;(2)DS1302在初始化的時候要進行判斷,否則不能夠實現掉電不掉時;(3)光控部分的電路可以使用光敏電阻和一個普通電阻串聯,簡單易懂;
(4)選器件時應該注意成本以及大小,兩者均需考慮.智能插座的實物外觀圖如圖8所示,測試數據如表1所示.
4、結語
本文設計的智能插座可實現光控、時控、GSM遠程控制、過熱保護等功能,通過使用成本較低、體積較小的芯片使系統更加小巧、實惠.系統具有節能性、經濟性、小型性、智能化等特點,這種多功能的智能插座應具有良好的應用前景.
評論