關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計(jì)應(yīng)用 > 基于GSM的中央空調(diào)末端控制器研究

基于GSM的中央空調(diào)末端控制器研究

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

本文引用地址:http://www.butianyuan.cn/article/163402.htm

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

  處理器通過串口與GSM模塊通信,串行通信的基本參數(shù)有:波特率、數(shù)據(jù)位、停止位及校驗(yàn)方式等。串口驅(qū)動程序?qū)崿F(xiàn)了對串口的讀寫操作,給應(yīng)用程序提供發(fā)送接收數(shù)據(jù)的接口。串口正常工作之前,需要進(jìn)行初始化設(shè)置,選擇串口工作方式,設(shè)置波特率、數(shù)據(jù)格式及中斷,建立數(shù)據(jù)隊(duì)列和信號量。應(yīng)用程序只要調(diào)用相應(yīng)的函數(shù),就可以實(shí)現(xiàn)相應(yīng)的功能。
  以串口發(fā)送一個字符串為例介紹發(fā)送程序,其中buf表示要發(fā)送的字符串,nbytes表示字符的個數(shù):
int tty_write(char*buf,int nbytes)
{
 int i;
 for(i=0;inbytes;i++) {
  write(tty_fd,buf[i],1);
  usleep(100);
   }
   return tcdrain(tty_fd);
}
  

pid控制器相關(guān)文章:pid控制器原理



上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉