文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2015)06-0073-04
0 引言
無(wú)線控制系統(tǒng)由于構(gòu)建比較簡(jiǎn)單,且適應(yīng)于遠(yuǎn),、近距離的無(wú)線連接,,在物聯(lián)網(wǎng)技術(shù)及自動(dòng)控制中得到越來(lái)越廣泛的應(yīng)用,。本系統(tǒng)以普通單片機(jī)STC12C5A60S2和單片無(wú)線通信模塊WISMO228為基礎(chǔ),,采用遠(yuǎn)程無(wú)線通信和近距離無(wú)線局域網(wǎng)相結(jié)合的方法,設(shè)計(jì)并實(shí)現(xiàn)遠(yuǎn)程無(wú)線控制系統(tǒng),。
1 設(shè)計(jì)思想
隨著無(wú)線通信技術(shù)的發(fā)展,,無(wú)線網(wǎng)絡(luò)技術(shù)已滲透到人們生活的各個(gè)領(lǐng)域[1]。人們希望打破通信受地理環(huán)境,、時(shí)空限制等因素的影響,,能夠隨時(shí)隨地對(duì)多種物體進(jìn)行通信及監(jiān)控。因此,,在很多應(yīng)用領(lǐng)域,,無(wú)線通信逐漸取代了有線通信,無(wú)線控制取代了有線控制,。無(wú)線控制要解決的首要問(wèn)題是信息的無(wú)線傳輸,,包括遠(yuǎn)距離無(wú)線通信和監(jiān)控現(xiàn)場(chǎng)受控節(jié)點(diǎn)的無(wú)線連接。目前國(guó)內(nèi)有多種方案,,但其遠(yuǎn)距離通信主要是基于微機(jī),、平板電腦、ARM,,現(xiàn)場(chǎng)節(jié)點(diǎn)控制主要采用ZigBee,、WiFi等,系統(tǒng)相對(duì)比較復(fù)雜,,成本也較高,,真正投入實(shí)際應(yīng)用不很方便[1]。
針對(duì)遠(yuǎn)程控制系統(tǒng)存在的不足,,本系統(tǒng)的設(shè)計(jì)注重研究和解決了以下技術(shù)問(wèn)題:
(1)直接使用人們最廣泛使用的智能手機(jī)作為遠(yuǎn)程控制器,,用Android系統(tǒng)開(kāi)發(fā)應(yīng)用軟件,,與控制現(xiàn)場(chǎng)控制器進(jìn)行無(wú)線通信,實(shí)現(xiàn)遠(yuǎn)程控制,。
(2)現(xiàn)場(chǎng)控制器以STC12C5A60S2和WISMO228為核心進(jìn)行設(shè)計(jì),。單片機(jī)實(shí)現(xiàn)遠(yuǎn)程通信控制、現(xiàn)場(chǎng)監(jiān)控節(jié)點(diǎn)控制以及人-機(jī)交互控制,,是系統(tǒng)控制核心,;WISMO228用來(lái)實(shí)現(xiàn)和手機(jī)之間的GSM/GPRS通信;控制器中設(shè)計(jì)了nRF24L01無(wú)線射頻收發(fā)模塊,,作為現(xiàn)場(chǎng)控制網(wǎng)絡(luò)的主節(jié)點(diǎn),,具有和現(xiàn)場(chǎng)控制各個(gè)從節(jié)點(diǎn)進(jìn)行無(wú)線信號(hào)傳輸?shù)墓δ堋?/p>
(3)設(shè)計(jì)“即插即用”方式的無(wú)線射頻控制節(jié)點(diǎn),又稱(chēng)為無(wú)線控制插頭,,作為現(xiàn)場(chǎng)控制從節(jié)點(diǎn),。為了使現(xiàn)場(chǎng)控制實(shí)用方便,避免重新布設(shè)有線控制連接的困難,,該控制節(jié)點(diǎn)設(shè)計(jì)成比普通電源插頭稍大的“即插即用”式的插頭,,代替受控設(shè)備或電器原有的插頭直接插入普通電源插座中,即可作為受控節(jié)點(diǎn)使用,。在無(wú)線控制插頭中高度集成了89c2051,、nRF24L01、電源轉(zhuǎn)換器和執(zhí)行部件,。
2 系統(tǒng)硬件電路設(shè)計(jì)
系統(tǒng)的硬件設(shè)計(jì)主要有現(xiàn)場(chǎng)控制器設(shè)計(jì)和無(wú)線控制插頭設(shè)計(jì),。
2.1 主要器件簡(jiǎn)介
(1)STC12C5A60S2單片機(jī)是宏晶科技生產(chǎn)的CMOS高性能增強(qiáng)型8 bit 51系列單片機(jī),內(nèi)有60 KB的Flash和1 280 B的RAM,,有36個(gè)I/O口,,其驅(qū)動(dòng)電流高達(dá)20 mA左右,支持STC_ISP在線可編程,,具有第二串口功能,、2路PWM、8路10 bit高精度ADC,。指令與MCS-51兼容,,應(yīng)用廣泛。
(2)WISMO228無(wú)線通信模塊[2-3]是由AirPrime公司生產(chǎn)的集發(fā)射,、接收于一體,,信號(hào)靈敏度極高的GPRS/GSM模塊,內(nèi)嵌TCP/IP協(xié)議棧,,工作可選GSM方式或4個(gè)頻段(850,、900、1 800、1 900 MHz)的GPRS方式,,傳輸速度支持GPRS Class 10級(jí)別標(biāo)準(zhǔn),。與微處理器連線簡(jiǎn)單,支持串口,、SPI,、SIM卡等多種接口,典型工作電壓為3.6 V,。
圖1為模塊結(jié)構(gòu)框圖,。模塊主要由RF電路和GSM基帶控制器兩部分構(gòu)成,可以連接控制SIM卡,、進(jìn)行異步串行通信,、PWM控制、工作狀態(tài)信號(hào)輸出,、外接天線,、可編程I/O、A/D轉(zhuǎn)換以及電源等,。
(3)nRF24L01無(wú)線射頻收發(fā)器[4]是Nordic公司生產(chǎn)的集發(fā)射,、接收于一體的短距離數(shù)據(jù)傳輸芯片,它工作于2.4 GHz頻段范圍內(nèi),,標(biāo)準(zhǔn)供電為3.3 V,,電流損耗較少,。該芯片節(jié)點(diǎn)工作頻道多達(dá)125個(gè),,頻道之間切換時(shí)間短,可實(shí)現(xiàn)點(diǎn)與點(diǎn)之間的一對(duì)一,、一對(duì)多雙向無(wú)線數(shù)據(jù)通信,。它支持3種傳輸速率,選擇低速率250 kb/s,,能夠傳輸更遠(yuǎn)的距離,。
nRF24L01模塊內(nèi)置ShockBurst電路,傳送數(shù)據(jù)中包括數(shù)據(jù)地址和CRC自動(dòng)檢驗(yàn)功能,。芯片接收到數(shù)據(jù)能自動(dòng)發(fā)送應(yīng)答ACK信號(hào),,發(fā)送失敗后能自動(dòng)重發(fā)數(shù)據(jù),為無(wú)線通信有效傳輸提供了有利條件,。nRF24L01內(nèi)部集成LNA(低噪聲放大器),、PA(功率放大器)、Enhance ShockBurst電路,、芯片工作模式選擇電路,、時(shí)鐘振蕩器電路等。
(4)電源轉(zhuǎn)換芯片LNK304[5-6]:系統(tǒng)選用LNK304降壓轉(zhuǎn)換芯片完成非隔離電源開(kāi)關(guān)轉(zhuǎn)換,,實(shí)現(xiàn)AC220 V轉(zhuǎn)DC5 V電路功能,,其輸入交流電范圍為85 VAC~265 VAC,,用來(lái)代換輸出電流不大于360 mA的所有線性及電容降壓式非隔離電源電路。具有性能好,、集成度高,、效率快等優(yōu)良特性。
LNK304集成1個(gè)700 V高壓功率MOSFET開(kāi)關(guān)電路和1個(gè)電源控制電路,只需簡(jiǎn)單的電路連接就可實(shí)現(xiàn)AC-DC轉(zhuǎn)換,,用于“即插即用”式無(wú)線控制節(jié)點(diǎn)受控插頭的控制電路供電,,實(shí)現(xiàn)對(duì)電器的控制。
2.2 現(xiàn)場(chǎng)控制器設(shè)計(jì)
現(xiàn)場(chǎng)控制器包括微控制器,、WISMO228模塊及外圍電路,、無(wú)線射頻nRF24L01模塊、人機(jī)交互電路,、電源等,,其框圖如圖2所示。WISMO228通過(guò)UART與STC12C5A60S2連接,。nRF24L01通過(guò)SPI接口與微處理器相連,,并與從節(jié)點(diǎn)控制器的nRF24L01模塊進(jìn)行無(wú)線通信,構(gòu)成節(jié)點(diǎn)網(wǎng)絡(luò),。人機(jī)交互模塊主要由液晶顯示,、按鍵、LED指示燈組成,。其中5110LCD液晶通過(guò)SPI接口連接微處理器,,向用戶(hù)提供監(jiān)視界面,顯示電器設(shè)備的工作狀態(tài),。一組獨(dú)立式按鍵可自定義功能,。LED顯示無(wú)線節(jié)點(diǎn)工作狀態(tài)。這里主要介紹WISMO228模塊和nRF24L01模塊,。
(1)WISMO228模塊及其控制
WISMO228通過(guò)SMS外圍接口建立無(wú)線通信鏈路,,接收和發(fā)送控制信息。此接口完全符合GSM11.11標(biāo)準(zhǔn)規(guī)范,,作為用戶(hù)登錄GSM網(wǎng)絡(luò)的身份驗(yàn)證,,系統(tǒng)使用6腳SIM卡,支持1.8 V電壓輸入,。
WISMO228與單片機(jī)及外圍電路連接如圖3所示,。SIM卡的VCC與VPP引腳直接與WISMO228模塊的SIM_VCC引腳相連。SIM卡的CLK,、I/O,、RST信號(hào)線直接與WISMO228模塊的對(duì)應(yīng)信號(hào)線相連接;WISMO228的ON/OFF引腳,與單片機(jī)的P1.1腳相連,,通過(guò)單片機(jī)控制使該引腳在上電后保持低電平至少為685 ms,;單片機(jī)的復(fù)位信號(hào)RESET通過(guò)T9實(shí)現(xiàn)信號(hào)的變換和隔離,實(shí)現(xiàn)低電平復(fù)位,;RXD(接收)和TXD(發(fā)送)引腳分別連接單片機(jī)的RX和TX引腳,,進(jìn)行串行通信,單片機(jī)通過(guò)串行通信傳送命令和數(shù)據(jù),,控制WISMO228進(jìn)行遠(yuǎn)程信息傳輸,;ANT引腳連接外部天線,天線阻抗值為50 ?贅,,外接板焊天線外殼接地,,以保證無(wú)線信號(hào)傳輸[2]。
為了反映WISMO228工作狀態(tài),,利用其WISMO_READY引腳電平由高變低再變高,,表明WISMO228正在進(jìn)行網(wǎng)絡(luò)登錄和完成初始化,引腳外接的LED3快速閃爍,,最后點(diǎn)亮,,表示模塊初始化和正常啟動(dòng);SIM_VCC引腳連接LED2,,用來(lái)顯示SIM卡狀態(tài),,若SIM卡連接正常,則LED2被點(diǎn)亮,;TX_CTRL引腳連接LED1,,用來(lái)顯示模塊通信控制狀態(tài),若有數(shù)據(jù)正在從模塊串口輸出,,則LED2閃爍,。
(2)nRF24L01模塊及其控制電路
STC12C5A60S2通過(guò)P2口模擬SPI接口,,與nRF24L01連接,,如圖4所示。其中P2.0控制CE,,作為RX或TX模式選擇信號(hào),;P2.1控制CSN,作為nRF24L01片選信號(hào),;P2.2控制SCK,,作為nRF24L01的時(shí)鐘;P2.3連接MOSI,,作為串行數(shù)據(jù)輸入,;P2.4連接MISO,作為串行數(shù)據(jù)輸出;P3.3(/INT1)連接IRQ,,用作觸發(fā)中斷信號(hào)[4],。
2.3 無(wú)線控制插頭設(shè)計(jì)
無(wú)線控制插頭是作為系統(tǒng)控制現(xiàn)場(chǎng)的無(wú)線控制網(wǎng)絡(luò)節(jié)點(diǎn),總體框圖如圖5,。電路主要由MCU(AT89C2051)模塊,、無(wú)線節(jié)點(diǎn)模塊、電源轉(zhuǎn)換模塊,、繼電器控制模塊組成,。AT89C2051只需控制射頻模塊無(wú)線接收數(shù)據(jù)和繼電器工作。nRF24L01芯片與現(xiàn)場(chǎng)控制器中的無(wú)線節(jié)點(diǎn)模塊,,組建近距離的無(wú)線網(wǎng)絡(luò),。電源轉(zhuǎn)換模塊包括交流220 V轉(zhuǎn)直流5 V電路,為單片機(jī)和其他外圍器件供電,; 5 V轉(zhuǎn)3.3 V電路為nRF24L01供電,。繼電器控制電器設(shè)備工作,為了避免普通繼電器觸點(diǎn)通斷時(shí)的電磁干擾和較大的線圈電流,,本系統(tǒng)采用固態(tài)繼電器,。控制插頭中的關(guān)鍵技術(shù)是nRF24L01模塊和交流220 V轉(zhuǎn)直流5 V的電源模塊,。nRF24L01電路和現(xiàn)場(chǎng)控制器中的電路類(lèi)似,,在此不再介紹。
電源轉(zhuǎn)換模塊把電源插頭連接的通用交流電源插座的220 V電壓轉(zhuǎn)換為5 V直流,,該模塊電路原理如圖6,。其中:D為漏極引腳,LNK304啟動(dòng)和進(jìn)入穩(wěn)定工作狀態(tài)時(shí),,提供內(nèi)部操作電流,;BP為旁路引腳,用于給內(nèi)部提供5.8 V的電源,,外接100 nF的電容,;FB為反饋引腳,正常工作狀態(tài)下,,控制功率場(chǎng)效應(yīng)開(kāi)關(guān),,當(dāng)輸入此引腳的電流超過(guò)49 μA時(shí),場(chǎng)效應(yīng)開(kāi)關(guān)失效,;S為源極引腳,,構(gòu)成功率場(chǎng)效應(yīng)開(kāi)關(guān)的源極,同時(shí)也作為 BP和FB引腳的接地參考點(diǎn),。該電路能輸出5 V電壓和120 mA電流,,對(duì)插頭內(nèi)無(wú)線控制電路供電,,能滿(mǎn)足控制電路40 mA左右的供電需求。電源輸入部分由阻燃可熔的繞線電阻R30,、二極管D7和D8,、電容C30和C31以及電感L1構(gòu)成,交流220 V由R30接入,,通過(guò)D7和D8全波整流,,再通過(guò)C30、C31及L1濾波后接LNK304的漏極D引腳,,其中R30不僅具有將二極管的浪涌電流值限制在允許范圍內(nèi)功能,,而且若電路中出現(xiàn)短路或電流值過(guò)大時(shí)能起到熔斷保險(xiǎn)的作用;電路輸出部分由續(xù)流二極管D9,、輸出電感L8及輸出電容C34構(gòu)成,。由于LNK304使電源工作在極度不連續(xù)導(dǎo)通狀態(tài),因此選用D9為超快恢復(fù)二極管uF4005進(jìn)行反向時(shí)間的快速恢復(fù),。L8為1 mH,、280 mA的工字型磁芯電感。C34是輸出濾波電容,,其主要功能是限制輸出電壓紋波,。電路的反饋及穩(wěn)壓部分由R1、R3,、C33,、D10構(gòu)成, D10為慢速恢復(fù)二極管IN4005GP,,設(shè)其正向壓降與D9一樣,,則可認(rèn)為電解電容C33兩端電壓跟隨輸出電壓變化,選取R1和R3的阻值,,對(duì)C33的電壓進(jìn)行分壓,,使得芯片反饋引腳FB電壓為1.65 V時(shí),輸出電壓為所要求的穩(wěn)壓值5 V,。此外,,為了防止在輕載或空載的情況下,輸出電壓5 V與C33電壓存在跟蹤誤差,,因此在輸出端接1 kΩ的電阻R33作為假負(fù)載[7-8],。
3 單片機(jī)控制程序設(shè)計(jì)
主要包括現(xiàn)場(chǎng)控制器中的STC12C5A60S2控制軟件和無(wú)線控制插頭中的AT89C2051控制軟件。
3.1 現(xiàn)場(chǎng)控制器程序設(shè)計(jì)
圖7是現(xiàn)場(chǎng)控制器控制主流程,,初始化包括液晶(5110LCD)、串行接口,、WISMO228和nRF24L01的初始化,。然后主要是接收手機(jī)等無(wú)線通信工具發(fā)送的遠(yuǎn)程控制指令,,當(dāng)有新指令信息到達(dá)時(shí),WISMO228通過(guò)AT指令將控制信息內(nèi)容傳送給STC12C5A60S2,。單片機(jī)根據(jù)控制命令的要求將信息通過(guò)無(wú)線節(jié)點(diǎn)網(wǎng)絡(luò)轉(zhuǎn)發(fā)到相應(yīng)的無(wú)線控制插頭節(jié)點(diǎn),,并隨時(shí)接收現(xiàn)場(chǎng)節(jié)點(diǎn)反饋的狀態(tài)信號(hào),顯示控制狀態(tài),同時(shí)向手機(jī)發(fā)送狀態(tài)信息,。
手機(jī)和現(xiàn)場(chǎng)控制器之間通過(guò)AT指令傳送命令和數(shù)據(jù),,采用ASCII碼方式。系統(tǒng)定義對(duì)控制信號(hào)采用統(tǒng)一的編碼規(guī)則為10 bit字符,,由左向右,,字符1~4為系統(tǒng)控制密碼,暫用“####”表示,;字符5為為命令碼,,可以根據(jù)需要增減,目前只定義“T”(定時(shí)),、“G”(定量),、“C”(關(guān)閉);字符6為受控節(jié)點(diǎn)號(hào)“1”~“8”,;字符7~10為定時(shí)或定量數(shù)據(jù),,定時(shí)以s表示,可以定時(shí)0~9 999 s,;定量是指對(duì)固態(tài)繼電器控制導(dǎo)通電量的大小,,以0~220對(duì)應(yīng)接通交流電壓的大小,以便對(duì)可調(diào)電壓的電器進(jìn)行控制[3],。
3.2 無(wú)線控制插頭程序設(shè)計(jì)
圖8是無(wú)線控制插頭中AT89C2051的控制主流程,,對(duì)中斷系統(tǒng)和nRF24L01進(jìn)行初始化后,就處于待機(jī)狀態(tài),。當(dāng)nRF24L01接收到主節(jié)點(diǎn)發(fā)送的命令,,就向單片機(jī)發(fā)中斷,單片機(jī)讀取命令并進(jìn)行判斷,,若為本節(jié)點(diǎn)的指令,,就處理和執(zhí)行指令。
控制現(xiàn)場(chǎng)的局域無(wú)線網(wǎng)絡(luò)是由1個(gè)現(xiàn)場(chǎng)控制器的nRF24L01主節(jié)點(diǎn)和若干個(gè)無(wú)線插頭的nRF24L01從節(jié)點(diǎn)構(gòu)成,。nRF24L01設(shè)置為增強(qiáng)型ShockBurstTM 工作方式,。在發(fā)送、接收程序設(shè)計(jì)中,,主節(jié)點(diǎn)采用“發(fā)送→等待從機(jī)成功接收的應(yīng)答信號(hào)→發(fā)送下個(gè)數(shù)據(jù)”的控制過(guò)程,,若規(guī)定時(shí)間內(nèi)未收到應(yīng)答信號(hào),主節(jié)點(diǎn)重發(fā)當(dāng)前的數(shù)據(jù),,直至收到ACK應(yīng)答信號(hào),。從節(jié)點(diǎn)則對(duì)接收到的數(shù)據(jù)進(jìn)行校驗(yàn),、分析和處理,執(zhí)行相關(guān)操作命令,,并向主節(jié)點(diǎn)發(fā)送應(yīng)答信號(hào),。
4 系統(tǒng)應(yīng)用及功能擴(kuò)展
系統(tǒng)以其在智能家居方面的實(shí)際應(yīng)用作為實(shí)例進(jìn)行了實(shí)驗(yàn),用1個(gè)現(xiàn)場(chǎng)控制器和5個(gè)無(wú)線控制插頭構(gòu)成一個(gè)家居環(huán)境中的局域無(wú)線網(wǎng)絡(luò),,5個(gè)插頭分別作為空調(diào)機(jī),、電視機(jī)、換氣扇,、照明燈,、噴水器的電源插頭,以手機(jī)短信發(fā)送控制命令,,實(shí)現(xiàn)了對(duì)家電的遠(yuǎn)程控制,。例如:手機(jī)發(fā)送“####T31800”命令,可啟動(dòng)換氣扇開(kāi)機(jī)換氣30 min,;發(fā)送“####G50100”,可啟動(dòng)家庭噴水器以適當(dāng)?shù)拈_(kāi)啟度澆花等等,,并把現(xiàn)場(chǎng)工作狀態(tài)發(fā)送給手機(jī)。
系統(tǒng)采用現(xiàn)代無(wú)線通信技術(shù)和近距離無(wú)線網(wǎng)絡(luò)節(jié)點(diǎn)相結(jié)合的控制方法,,較好地實(shí)現(xiàn)了遠(yuǎn)程控制的實(shí)用化,,系統(tǒng)控制現(xiàn)場(chǎng)組網(wǎng)簡(jiǎn)潔,受控節(jié)點(diǎn)可多可少,,控制對(duì)象連接方便,。系統(tǒng)有較大的應(yīng)用擴(kuò)展空間,例如:可以利用多種遠(yuǎn)程無(wú)線通信工具作為控制器,;可以在手機(jī)上開(kāi)發(fā)Android控制軟件,,使之具有良好的遠(yuǎn)程人機(jī)交互界面;可以設(shè)計(jì)研制不同功能的無(wú)線控制插頭,,滿(mǎn)足不同的遠(yuǎn)程操控需求,。
參考文獻(xiàn)
[1] 曾國(guó)敬,宋躍,,何志輝.一種智能家居遠(yuǎn)程控制系統(tǒng)的硬件設(shè)計(jì)[J].電子技術(shù)應(yīng)用,,2011,37(4).
[2] Wavecom Corp.Product technical specification & customer design Guidelines,,WISMO228 wireless standard MOdem[M].France,,2009.
[3] Wavecom Corp.TCP/IP AT command Manual,WISMO228 Wireless Standard MOdem[M].France,,2009.
[4] 朱嶸濤,,徐愛(ài)鈞,葉傳濤.STC15單片機(jī)和nRF2401的無(wú)線門(mén)禁系統(tǒng)設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,,2014(6).
[5] 沙占友,,葛家怡,,許云峰.Link Switch-TN系列節(jié)能型單片開(kāi)關(guān)電源的電路設(shè)計(jì)[J].電源技術(shù)應(yīng)用,,2004(11).
[6] LNK302/304-306 LinkSwitch-TN Family Lowest Component Count, Energy-Effi cient Off-Line Switcher IC[M].Power Integrations,,2006.