基于STM32處理器的定時(shí)開關(guān)裝置設(shè)計(jì)
本文針對(duì)市場(chǎng)上現(xiàn)有的定時(shí)開關(guān)裝置的弊端,設(shè)計(jì)了一種基于STM32處理器的定時(shí)開關(guān)裝置。該裝置利用GSM網(wǎng)絡(luò)實(shí)現(xiàn)遠(yuǎn)程遙控功能,并通過nRF24L0l+無線通信模塊,遙控在一定范圍內(nèi)任意分布的多個(gè)開關(guān)。系統(tǒng)具有友好的人機(jī)交流界面,可設(shè)置多組定時(shí)時(shí)間,以及觸摸屏控制、掉電保護(hù)和紅外遙控等功能。
目前,國(guó)內(nèi)市場(chǎng)上出現(xiàn)了多種定時(shí)開關(guān)產(chǎn)品,并被廣泛應(yīng)用于家居生活、汽車服務(wù)、公共照明和倉(cāng)庫(kù)管理等領(lǐng)域。其中大部分產(chǎn)品都只有簡(jiǎn)單的定時(shí)功能;無法實(shí)現(xiàn)遙控、顯示等高級(jí)功能。而少數(shù)可遙控的產(chǎn)品也只局限于較近距離的范圍內(nèi),并未實(shí)現(xiàn)遠(yuǎn)程控制,這些降低了它的便利性和實(shí)用性。隨著科技的進(jìn)步,人們向往智能化、節(jié)約化的家居生活,各種網(wǎng)絡(luò)家電應(yīng)運(yùn)而生,但其高昂的價(jià)格卻讓普通大眾望而卻步,因此怎樣使傳統(tǒng)電器“智能化”是當(dāng)前一個(gè)值得研究的問題。
針對(duì)上述問題,設(shè)計(jì)了—種新型的智能開關(guān)裝置,在傳統(tǒng)定時(shí)開關(guān)的基礎(chǔ)上改進(jìn)完善,并對(duì)GSM網(wǎng)絡(luò)在該領(lǐng)域的應(yīng)用進(jìn)行了研究,真正實(shí)現(xiàn)用戶在任何時(shí)間、地點(diǎn),對(duì)用電器工作狀態(tài)的控制。不僅如此,設(shè)計(jì)還對(duì)傳統(tǒng)定時(shí)開關(guān)結(jié)構(gòu)進(jìn)行了改進(jìn),使得一個(gè)主控制器可在一定范圍內(nèi)無線遙控任意分布的多個(gè)定時(shí)開關(guān)分機(jī),幫助建立類似于網(wǎng)絡(luò)家電體系的小型民用遙控開關(guān)控制系統(tǒng),可大幅降低使用成本。設(shè)計(jì)中還加入了觸摸屏顯示和紅外遙控等功能,使得產(chǎn)品更加人性化,具有操作方便、可靠性強(qiáng)、小型化、低功耗等特點(diǎn),彌補(bǔ)了傳統(tǒng)產(chǎn)品的不足,同樣適合老年人、殘疾人使用。
1 系統(tǒng)概述
系統(tǒng)利用GSM短信網(wǎng)絡(luò),使用戶在信號(hào)覆蓋范圍內(nèi)的任何位置,都能隨意控制各種用電器的工作狀態(tài),系統(tǒng)整體結(jié)構(gòu)如圖1所示。
用戶處在遠(yuǎn)程位置時(shí),可以使用手機(jī)或其他方式,通過現(xiàn)有GSM網(wǎng)絡(luò)以短信息的形式向主控制器發(fā)送指令。當(dāng)主控制器的處理器單元檢測(cè)到接收完成后,會(huì)立即從GSM模塊中讀取短信內(nèi)容,并分析判斷是否需要執(zhí)行。如需執(zhí)行,則處理器就會(huì)啟動(dòng)無線傳輸模塊向指定的一個(gè)或多個(gè)控制分機(jī)發(fā)送相應(yīng)的指令,并通過觸摸屏顯示相關(guān)參數(shù);當(dāng)控制分機(jī)的處理器單元讀取并識(shí)別指令后,會(huì)控制光耦對(duì)繼電器做出相應(yīng)動(dòng)作。
當(dāng)用戶在近距離范圍內(nèi)時(shí),可以通過紅外遙控器或主控制器自帶的觸摸屏,向主控制器發(fā)送“定時(shí)開(關(guān))”等指令,主控制器的紅外接收器或處理器單元接收到指令后,經(jīng)過分析處理,根據(jù)指令內(nèi)容做出相應(yīng)動(dòng)作。
2 硬件電路設(shè)計(jì)
系統(tǒng)分為主控制器和控制分機(jī)兩部分。主控制器系統(tǒng)以意法半導(dǎo)體公司的SWM32F103RBT6芯片為核心的處理器單元和西門子公司生產(chǎn)的TC35模塊為主,還包括了由AT24C02芯片組成的存儲(chǔ)電路、nRF24L01+無線傳輸模塊、紅外接收器HS0038B、以及一塊2.8寸(1寸=2.54 cm)TFT觸摸屏。其硬件結(jié)構(gòu)如圖2所示。
控制分機(jī)系統(tǒng)如圖3所示,其處理器單元采用低成本的STC89C52芯片,并與無線傳輸模塊、紅外接收器、數(shù)字溫度傳感器DS18B20、LED指示燈等構(gòu)成控制分機(jī)系統(tǒng)。而控制分機(jī)的執(zhí)行模塊,則由光耦芯片PC817、繼電器驅(qū)動(dòng)電路和插座共同組成。為保證系統(tǒng)的穩(wěn)定可靠和使用安全,控制分機(jī)的系統(tǒng)電源和繼電器驅(qū)動(dòng)路的電源相互獨(dú)立,二者之間沒有聯(lián)系。
2.1 處理器單元
主控制器的處理器單元選用意法半導(dǎo)體公司新STM32F103RBT6芯片,它是基于ARM公司推出的V7平臺(tái)的Cortex—M3內(nèi)核的32位處理器。該處理器芯片具有64個(gè)引腳、51個(gè)IO口、128 kB Flash、20 kBSRAM、3個(gè)串口、2個(gè)SPI接口、1個(gè)CAN總線和1個(gè)USB接口。芯片的數(shù)據(jù)處理能力為1.25 dMi/s·MHz,在72 MHz的工作頻率下,工作電流為36 mA,待機(jī)時(shí)下降到2 mA,是目前32位處理器市場(chǎng)上功耗最低的產(chǎn)品。其售價(jià)接近51系列單片機(jī)的市場(chǎng)售價(jià),但它的數(shù)據(jù)處理能力卻幾乎媲美DSP,較高的性價(jià)比,使其具有較好的發(fā)展前景。
STM32主控芯片內(nèi)部包含實(shí)時(shí)時(shí)鐘(RTC)。RTC是一個(gè)獨(dú)立的定時(shí)器,該模塊擁有一組連續(xù)計(jì)數(shù)的計(jì)數(shù)器,再配合相應(yīng)的軟件設(shè)置,就可似提供時(shí)鐘日歷的功能,并支持掉電保護(hù),通過修改計(jì)數(shù)器的值來重新設(shè)置系統(tǒng)當(dāng)前的日期和時(shí)間。設(shè)計(jì)中,定時(shí)開關(guān)的定時(shí)時(shí)鐘功能可以依靠RTC來完成,因此主控制器只需利用STM32F103RBT6自帶的RTC模塊就能夠滿足設(shè)計(jì)要求。控制分機(jī)系統(tǒng)的處理器單元采用價(jià)格低廉的STC89 C52單片機(jī),該芯片的資源足以滿足控制分機(jī)系統(tǒng)的設(shè)計(jì)要求。
2. 2 GSM模塊TC35
作為系統(tǒng)設(shè)計(jì)中遠(yuǎn)程控制部分的核心,GSM通訊模塊選用了性價(jià)比高,并且已經(jīng)擁有國(guó)內(nèi)的無線電設(shè)備入網(wǎng)證的西門子TC35系列模塊。T C35是西門子公司推出的GSM模塊,它支持雙頻和標(biāo)準(zhǔn)的AT指令集。TC35模塊通過配套的天線連接器和接口連接器,可分別與天線和SIM卡讀卡器連接,并通過串口與處理器芯片連接。
TC35模塊電路如圖4所示,共有40個(gè)引腳,通過一個(gè)ZIF(Zero Insertion Force)連接器引出,這40個(gè)引腳可以劃分為5類,即電探、SIM卡、數(shù)據(jù)輸入/輸出、音頻接口和控制。TC35模塊的數(shù)據(jù)輸入/輸出接口是一個(gè)串行異步收發(fā)器,符合ITU—T RS232接口標(biāo)準(zhǔn),波特率在300 bit.s-1~115kbit·s-1范圍內(nèi)可選,利用AT命令切換操作模式,可以使它處于數(shù)據(jù)、語(yǔ)音、短消息或傳真模式。TC35模塊的短信功能支持TEXT和PDU兩種模式,設(shè)計(jì)使用TEXT模式來收發(fā)短信息。
2.3 nRF24L01+無線收發(fā)模塊
系統(tǒng)設(shè)計(jì)中的另一個(gè)重要組成部分,就是用于主控制器和控制分機(jī)之間進(jìn)行通信的無線數(shù)據(jù)傳輸模塊,該部分選用nRF24L01+系列無線收發(fā)模塊。nRF24L01+是nRF24L01的加強(qiáng)型,兩者在引腳上完全兼容,它工作在2.4~2.5 GHz ISM頻段,內(nèi)置頻率合成器、功率放大器、晶體振蕩器、調(diào)制器等功能模塊,并且融合了增強(qiáng)型ShockBurst技術(shù),具有成本低、功耗小、網(wǎng)絡(luò)結(jié)點(diǎn)多等特點(diǎn)。在使用PCB制板天線時(shí),nRF 24L01+的通信距離一般可達(dá)100 m,而使用配套的加長(zhǎng)天線后,通信距離還有較大提升。
根據(jù)設(shè)計(jì)要求,系統(tǒng)采用PCB制版天線的nRF24L01+模塊。在主控制器系統(tǒng)中,nRF24L01+模塊與STM32F103RBT6處理器使用SPI口通信協(xié)議;對(duì)于控制分機(jī)部分,則利用STC89C52單片機(jī)的普通IO口模擬SPI時(shí)序與nRF24L01+模塊完成通信。
3 軟件設(shè)計(jì)
3.1 主控制器部分
主控制器的軟件部分是在MDK4.0環(huán)境下使用V3.5.0版本的庫(kù)函數(shù)完成編程的,軟件設(shè)計(jì)流程如圖5所示。系統(tǒng)加電后,初始訖相關(guān)外設(shè),讀取AT24C02芯片內(nèi)的數(shù)據(jù),根據(jù)數(shù)據(jù)內(nèi)容執(zhí)行相關(guān)函數(shù)。由于STM32自帶的RTC模塊提供了鬧鐘中斷功能,利用這一功能可以實(shí)現(xiàn)預(yù)約定時(shí)開(關(guān))的功能。TC35與處理器通過串口完成通信,并在串口中斷服務(wù)函數(shù)中完成對(duì)短信內(nèi)容的識(shí)別工作,系統(tǒng)還利用外部中斷的方式接收紅外遙控發(fā)出的指令。
3.2 控制分機(jī)部分
如圖6所示,控制分機(jī)分析判斷無線模塊接收到的指令信息,通過控制光耦實(shí)現(xiàn)間接控制繼電器的目的,開關(guān)裝置溫度過高時(shí),系統(tǒng)自動(dòng)切斷電源,以防止事故發(fā)生。
4 調(diào)試與測(cè)試結(jié)果
系統(tǒng)采用模塊化與整體組合相結(jié)合的方法進(jìn)行調(diào)試,經(jīng)過軟件仿真、組裝調(diào)試和系統(tǒng)測(cè)試,基本實(shí)現(xiàn)了系統(tǒng)設(shè)計(jì)的功能。測(cè)試時(shí),用戶通過短信或手動(dòng)方式向裝置傳達(dá)指令,裝置依照指令完成相應(yīng)的功能,同時(shí)通過觸摸屏來顯示相關(guān)參數(shù)。經(jīng)測(cè)試,裝置在高噪音、多塵等惡劣環(huán)境下也可正常運(yùn)行。
5 結(jié)束語(yǔ)
此裝置實(shí)現(xiàn)了多組定時(shí)、電路保護(hù)、掉電數(shù)據(jù)保持等功能,同時(shí)加入了紅外遙控控制和觸摸屏顯示,與傳統(tǒng)的定時(shí)開關(guān)類產(chǎn)品相比,更穩(wěn)定、智能,且易于操作,彌補(bǔ)了傳統(tǒng)產(chǎn)品的不足。