關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于GSM的中央空調末端控制器研究

        基于GSM的中央空調末端控制器研究

        作者: 時間:2009-12-17 來源:網絡 收藏
        系統中最重要的裝置之一,對于的節能有著重要意義?,F有的中央空調風閥啟/??刂朴惺謩娱_閉控制和固定時間調度的風量控制兩種。啟動后的控制策略常采用PID或模糊控制方法對室內溫度進行控制[1,2]。這種由中央空調控制系統集中的固定調度算法,雖然控制系統容易實現,但它只適用于負荷和作息時間固定的用戶,如何根據用戶的實際需求來調整送風裝置調度時間,是節能和保持舒適度的關鍵。現有按照需求實現遠程末端控制的方式有藍牙技術和以太網。而藍牙的有效傳輸距離短,以太網又布線復雜,受地域、環境、經濟條件等影響的限制[3]。
          為了解決以上問題,本文設計實現了一種手機SIM卡網絡的中央空調末端風閥異地控制模塊。除語音業務外,另有短消息數據傳輸業務[4-8]。該模塊不但可以完成室內溫度信息通過網絡以短信息的形式報告用戶,同時也可以由用戶通過該模塊發送期望設定室內溫度給末端,完成遠程控制。
        本文以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為系統硬件框圖。

        本文引用地址:http://www.104case.com/article/163402.htm

        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;inbytes;i++) {
          write(tty_fd,buf[i],1);
          usleep(100);
           }
           return tcdrain(tty_fd);
        }
          

        pid控制器相關文章:pid控制器原理



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 绍兴市| 长治市| 神池县| 奉节县| 莱西市| 楚雄市| 平顶山市| 于都县| 香格里拉县| 汉寿县| 万源市| 衡水市| 鄂托克旗| 抚顺县| 如皋市| 海伦市| 南和县| 宜兰县| 永胜县| 九寨沟县| 马龙县| 体育| 云龙县| 万年县| 彭泽县| 同心县| 蓬莱市| 阿拉善左旗| 尉犁县| 抚州市| 思茅市| 万全县| 社旗县| 囊谦县| 榆树市| 固镇县| 甘孜县| 岳池县| 息烽县| 正安县| 宁晋县|