《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于GSM的中央空調末端控制器研究
基于GSM的中央空調末端控制器研究
李樹江,李 楠
沈陽工業大學 信息科學與工程學院,遼寧 沈陽110178
摘要: 針對當前中央空調末端普遍采用固定時間調度方式,基于ARM9、GSM網絡和PID控制策略設計了遠程中央空調末端控制器,通過短消息實現末端裝置遠程啟/停和室內溫度查詢。實驗結果表明,末端裝置可以通過短信按需要開閉,實現節能。
關鍵詞: ARM9 SIM300
Abstract:
Key words :
</a>摘  要: 針對當前中央空調末端普遍采用固定時間調度方式,基于ARM9" title="ARM9">ARM9" title="ARM9">ARM9" title="ARM9">ARM9" title="ARM9">ARM9、GSM網絡和PID控制策略設計了遠程中央空調末端控制器,通過短消息實現末端裝置遠程啟/停和室內溫度查詢。實驗結果表明,末端裝置可以通過短信按需要開閉,實現節能。
 關鍵詞: GSM;SIM300;嵌入式系統;遠程控制

  中央空調末端控制器是中央空調系統中最重要的裝置之一,對于中央空調的節能有著重要意義。現有的中央空調末端風閥啟/停控制有手動開閉控制和固定時間調度的風量控制兩種。啟動后的控制策略常采用PID或模糊控制方法對室內溫度進行控制[1,2]。這種由中央空調控制系統集中的固定調度算法,雖然控制系統容易實現,但它只適用于負荷和作息時間固定的用戶,如何根據用戶的實際需求來調整末端送風裝置調度時間,是節能和保持舒適度的關鍵。現有按照需求實現遠程末端控制的方式有藍牙技術和以太網。而藍牙的有效傳輸距離短,以太網又布線復雜,受地域、環境、經濟條件等影響的限制[3]。
  為了解決以上問題,本文設計實現了一種基于手機SIM卡GSM網絡的中央空調末端風閥異地控制模塊。GSM除語音業務外,另有短消息數據傳輸業務[4-8]。該模塊不但可以完成室內溫度信息通過GSM網絡以短信息的形式報告用戶,同時也可以由用戶通過該模塊發送期望設定室內溫度給末端控制器,完成遠程控制。
        本文以Samsung公司的S3C2410芯片作為處理器,以Linux2.6為嵌入式操作系統,基于PID控制策略,通過手機短信的方式對中央空調末端裝置進行遠程控制,實現了對室內溫度的設置和監控,取得了很好的實際效果。
1 末端控制器系統設計
1.1 控制器系統硬件設計
  本文基于ARM9平臺,采用Linux嵌入式操作系統,以S3C2410處理器為核心。系統硬件主要由以下模塊組成:
  (1)GSM/GPRS射頻模塊。用來與GPRS網絡進行通信的射頻模塊,本文選用Simcom公司推出的工業級GSM/GPRS雙頻Modem模塊SIM300,具有完整的Modem信號,在網絡通信時可以作為一個Modem而存在。模塊采用串行接口通信,主要為語音傳輸、短信息和數據業務提供無線接口,帶GPRS功能[9]。SIM300芯片的外圍電路采用了芯片的典型連接,利用阻容充電和施密特觸發器整形獲得上電后大約1.5 s低電平延時來啟動。
  (2)16C550串行接口。16C550是一種用于將并口數據轉換成串口數據的高速UART芯片,并自帶16位FIFO緩存通道,而且波特率可選。一方面可獲得完整的Modem控制,另一方面也是為了獲得精準的UART波特率,本文在SIM300射頻模塊與處理器組成的控制單元進行串行通信時使用16C550芯片。16C550芯片的虛擬地址為0xdb000000,工作在帶中斷的FIFO方式;其波特率設置為115200,傳輸無校驗,8位數據位,1位停止位,忽略輸入BREAK、幀錯誤和奇偶校驗錯,使用標準模式傳輸。
  (3)CPU中央處理單元。采用Samsung公司生產的32/16位高性能基于ARM920T內核的RISC微處理器S3C2410,具有低功耗、自帶8通道10位ADC和DAC、并支持NAND Flash和SDRAM存儲器等特點。該單元包括S3C2410微控制器的最小系統、時鐘電路、復位電路等部分。
  (4)輸入輸出單元:模擬房間內的溫度傳感器信號輸入到處理器的A/D轉換器;處理器通過PID算法得到的輸出量由D/A轉換器輸出以控制送風執行閥的開度,調整房間內的送風量從而達到調節室內溫度的目的。
  圖1為系統硬件框圖。

 

1.2 控制器系統軟件設計
  操作系統采用實時性強的Linux2.6內核,編譯器使用gcc 4.0.2版本,完成了各個功能模塊的接口函數。由于在進行嵌入式系統內核開發時,若交叉編譯工具(特別是gcc)版本較低則無法編譯高版本內核,版本過高也不行。因此本文為配合要采用的Linux2.6.18內核開發末端控制器,進行定制開發交叉編譯環境。具體如下:crosstool-0.43,binutils-2.16.1.tar.bz2,gcc-4.0.2,glibc-2.3.5,glibc-linuxthreads-2.3.5,linux-libc-headers-2.6.12.0,gdb-6.5,生成交叉編譯工具為arm-9tdmi-linux-gcc。其中短消息通信線程的初始化和主循環共分為以下4個步驟:
  (1)完成串口初始化。系統啟動并完成初始化后,開始反復讀取16C550芯片發來的串口數據。當GSM模塊收到新短信后,通過串口向處理器發送1個字符串。該字符串格式、長度及內容都是固定的,以+CMTI開頭,以此為依據判斷是否新短信到來。
  (2)向SIM300模塊發送讀取短消息的AT指令,判斷短消息內容。首先通過手機號來判斷短消息是否由用戶發來。如果短消息由用戶發來,則判斷用戶發送的指令,否則直接刪除。
  (3)如果用戶發送的內容是“設定溫度XX”(XX代表二位溫度值),則將“XX”通過解碼函數解碼成ASCII字符,再通過換算得到用戶期望設置的溫度發送給溫度控制模塊,最后刪除該信息。如果用戶發送的內容是“查詢狀態”,則將當前溫度值和室內狀態以短消息的形式發送給用戶手機,最后同樣刪除該信息。
  (4)處理器繼續讀取串口數據。
  短消息通信程序流程如圖2所示。

 

  處理器通過串口與GSM模塊通信,串行通信的基本參數有:波特率、數據位、停止位及校驗方式等。串口驅動程序實現了對串口的讀寫操作,給應用程序提供發送接收數據的接口。串口正常工作之前,需要進行初始化設置,選擇串口工作方式,設置波特率、數據格式及中斷,建立數據隊列和信號量。應用程序只要調用相應的函數,就可以實現相應的功能。
  以串口發送一個字符串為例介紹發送程序,其中buf表示要發送的字符串,nbytes表示字符的個數:
int tty_write(char*buf,int nbytes)
{
  int i;
  for(i=0;i<nbytes;i++) {
    write(tty_fd,&buf[i],1);
    usleep(100);
    }
   return tcdrain(tty_fd);
}
  短消息的接收與發送由處理器和SIM300模塊通過16C550芯片串行通信完成,處理器向SIM300模塊發送AT指令讀取或發送短消息。發送中文短信息時,發送的是漢字的UCS2編碼,所以在初始化SIM300模塊時須發送指令“AT+CMGF=0”,把模塊的短消息工作模式設置為PDU模式,以UCS2編碼方式發送短消息。同樣,SIM300模塊收到的短消息也是PDU編碼方式,要讀取出用戶發送的中文指令就必須將消息內容解碼成ASCII字符。根據實際應用情況(發送漢字信息較少且固定),從節約系統資源的角度考慮,直接查找漢字的UCS2編碼表,查出要發送漢字的UCS2碼并發送。
  發送短消息首先要向SIM300模塊發送整個短消息代碼位數的16進制數,之后是短信頭代碼“001100D”、中國區號“+86”的編碼“9168”和發送的目的手機號碼。此處的目的手機號碼必須是每兩位互換得來,由于手機號碼是11位,最后一位用“N”補齊,而短消息內容是用UCS2碼編寫,所以繼續發送編碼方式代碼“0008A7”,最后才是短消息正文的UCS2碼。
  當有新消息到達時,收到的數據包內封裝了消息發送時間、來自的手機號碼和消息正文。如果來自的手機號碼與預先設置的用戶號碼不一致則直接將短消息刪除;一致則繼續判斷短消息正文。由于接收到的短消息也是由UCS2編碼處理過的中文,所以把消息正文內容與預先約定好的“設定溫度”和“當前狀態”兩種UCS2編碼相比較后分別轉到相應的處理函數,若與約定的兩種編碼都不一致,則視為錯誤消息刪除。
  本文全部程序代碼由C語言編寫,短消息發送部分代碼如下:
void gprs_msg(char*number,char*msgr)//短信發送函數
{
  char ctl[]={26,0};
  char head[]=″0011000D9168″;//短信頭代碼及中國區號
  char headmsg[]=″0008A7″;//短信編碼方式代碼
  unsigned int count;
  char sum[2];

  tty_writecmd(″at″,strlen(″at″));
  tty_writecmd(″at″,strlen(″at″));
  tty_write(″at+cmgs=″,strlen(″at+cmgs=″));

  count=strlen(msgr)/2+14;//計算短信長度

  sum[0]=(char)(count/10+48);
  sum[1]=(char)(count%10+48);//將短信長度
                //解碼為16進制
 
  tty_writecmd(sum,2);
  tty_write(head,strlen(head));
  tty_write(number,strlen(number));
  tty_write(headmsg,strlen(headmsg));//發送短信頭
  tty_write(msgr,strlen(msgr));//發送短信正文

  tty_write(ctl,1);
  tty_write(″\r″,strlen(″\r″));//發送短信結束代碼
  usleep(300000);//進程休眠
  printf(″Message sent.\n″);
}
  上述函數封裝了PDU模式發送短消息的頭信息和正文字符長度等,參數僅為目的手機號碼的PDU編碼和短消息正文的UCS2編碼。這樣做避免了大量的重復代碼,也提高了程序的運行效率。
1.3 增量式PID控制策略
  PID是一種線性控制器,它根據給定值r(t)與實際輸出y(t)構成控制偏差:
 

  式中:KP為比例系數;TI為積分時間常數;TD為微分時間常數。
  由于計算機處理的是數字量,控制器的驅動對象是風閥執行器,所以控制系統中使用的控制策略是數字增量式PID。
  u(k)=Ae(k)-Be(k-1)+Ce(k-2)
  以下是增量式PID控制策略的實現函數:
double PID(double feedback)
{
  double Err,pErr,dErr,dU;
  Err=Command-feedback;//當前誤差
  pErr=Err-ppreErr;//比例項增量式誤差
  dErr=Err-2*preErr+pre2Err;//微分項增量式誤差
  dU=Proportion*pErr+pDerivative*dErr+ Integral*Err;
                                        //控制量增量
  pre2Err=preErr;
  preErr=Err;
  return dU;
}
2 實驗
  本實驗對象以1.3噸的中央空調系統的實物模型為例,該系統可以模擬中央空調多種運行模式,并可以通過對執行風閥輸入模擬信號來調節風閥的具體開度,以此來調整送入房間的送風量,達到控制模擬房間制冷量的目的。本實驗對象有2個模擬房間,其中末端裝置的驅動閥為TANG TECH TM04~24,溫濕度傳感器為VECTOR ADS-H1T1。嵌入式控制器的D/A輸出的0~4.096 V信號經放大至0~10 V后,直接驅動風閥驅動器。模擬房間的的溫濕度傳感器輸出范圍為1~5 V,直接輸入處理器內部A/D的AIN[0]腳。
  系統提供了兩種用戶短消息內容的識別,分別是“設定溫度XX”和“查詢狀態”。如用戶發送“查詢狀態”,而當前室內狀態為23℃,則系統自動向用戶返回短消息“溫度:23;狀態:正常”。如果室內是異常溫度,則系統發送短消息自動報警“溫度60;狀態警告”。如果用戶發送“設定溫度23”,則系統將當前室內設定溫度改為23℃,并回復“已設定溫度23”。此時本地的控制器以PID進行溫度控制。
  為了使用戶可以方便關閉室內控制器,而又不需要增加其他的短消息內容,本文設置了最高溫度限制50℃。當用戶發送“設定溫度”大于49℃時,系統認為用戶要求關閉控制器,繼而把溫度設定點改為OFF,風閥完全關閉,同時返回短消息“已關閉”。采用這種方法,既保證了系統有關閉風閥的功能,又不需要添加新的短消息命令。控制器關閉后,如果用戶再次發送短消息設置室內溫度為正常范圍內的溫度,則控制器重新開啟。
  短消息命令詳情見表1。

  為了測試系統節能實際效果,在室外溫度9℃的條件下開啟2個模擬房間的末端控制器,并設置預期室內溫度23℃。假定2個房間中,模擬房間一8:00有人,模擬房間二9:00開始有人;通過計算表明,9:00開啟模擬房間二的室內控制器要比8:00同時開啟2個模擬房間的室內控制器節約全天所耗能量的7%左右。
  本文實現了GSM遠程控制方法,通過手機短信方式,對中央空調系統末端裝置進行控制及對室內溫度進行實時監控和管理。實驗結果表明,系統可以方便、靈活、快捷、按需調節房間的溫度,實現節能。并且,系統可擴充性強,在軟件升級后還可實現如末端能量計量等更多功能。
參考文獻
[1] 邢麗娟,楊世忠.變風量空調系統的建模與控制[J].暖通空調,2007(11).
[2] 吳愛國,高德云.VAV空調系統的智能控制[J].制冷學報,1999(1).
[3] 楊海濤,王萬良,劉鋒光,等.具有數據流和視頻流的Internet的遠程控制系統[J].計算機工程,2007(3).
[4] BOQUETE L,BRAVO I.Telemetry and control system with  GSM communications[J].Microprocessors and Microsystems,2003,27(1):1-8.
[5] XING Jian Ping,ZHANG Jun,LI Wei Ye,et al.Vehicle  GPS real time monitoring communication system base on  GPRS/CSD[C].The sixth world congress on intelligent control and automation.Dalian:IEEE Press,2006:8745-8749.
[6] YAIPAROJ S,HARMANTZIS F,GUNASEKARAN V.On the  economics of GPRS networks with Wi-Fi integration[J].European Journal of Operational Research,2006,187(3):1459-1850.
[7] 韓曉冰,韓冰,孫戈.基于嵌入式系統的GPRS數據終端設計與實現[J].儀器儀表學報,2006,27(6).
[8] 孔德恩,胡愛群,張帆.GPRS數據終端的研究與實現[J]  微計算機信息,2007,23(3).
[9] SIM300 hardware specification[M].SIMCOM Ltd,2006.
 

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧美一区2区三区3区公司 | 久久精品5| 小明永久免费大陆在线观看 | 国产乱人伦精品一区二区 | 欧美一级黄色片视频 | 欧美freehdvideos性 | 精品无码久久久久久久动漫 | 亚洲国产成人精彩精品 | 成人丁香婷婷 | 免费大香伊蕉在人线国产 | 久久精品a亚洲国产v高清不卡 | 深夜免费看片 | 先锋影音国产精品 | 色偷偷狠狠色综合网 | 在线观看日韩精品 | 国产视频观看 | 国产麻豆精品在线观看 | 午夜爽爽视频 | 天啪天干在线视频 | 成人短视频在线观看免费 | 亚洲精品手机在线 | 亚洲欧美日本国产 | 亚洲欧美日韩精品久久亚洲区 | 国产成人精品无缓存在线播放 | 日日干天天草 | 美国一区二区三区 | 欧美成人一区二区 | 久久996re热这里有精品 | 国产一级在线播放 | 午夜手机福利视频 | 中国欧美日韩一区二区三区 | 二区久久国产乱子伦免费精品 | 中文亚洲字幕 | 天天爽天天操 | 久久久久国产亚洲日本 | 亚洲日本va中文字幕线 | 日韩视频在线观看 | 性欧美4khdxxxx | 日韩免费无砖专区2020狼 | 欧美在线日韩在线 | 我想看黄色一级片 |