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