<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統 > 設計應用 > 基于MSP430的智能家居系統

          基于MSP430的智能家居系統

          作者: 時間:2012-08-09 來源:網絡 收藏

          摘要:介紹了一種以系列單片機為核心的,用CC1100無線模塊搭建星型網絡結構的無線網絡平臺,實現了低功耗、低成本、操作簡單靈活的設計方案。
          關鍵詞:;星型網絡

          0 引言
          隨著數字信息技術和網絡技術的高速發(fā)展,以及人們物質生活水平的不斷提高,人們的工作、生活與通訊、信息的關系日益緊密,可以說信息化社會正在逐步改變人們的生活方式與工作習慣,同時也對傳統的住宅提出了挑戰(zhàn),便應運而生了。
          智能家居在保持了傳統居住功能的基礎上,擺脫了被動模式,成為具有能動性智能化的現代工具。它不僅提供了全方位的信息交換功能,還優(yōu)化了人們的生活方式和居住環(huán)境,幫助人們有效地安排時間、節(jié)約各種能源,實現了家電(如空調、熱水器等)控制、照明控制、室內外遙控、窗簾自控、定時控制等。

          1 構成
          本文以微處理器為核心,把無線網絡平臺應用到智能家居上,實現了智能家居的無線控制和智能控制。無線網絡平臺的智能家居將家居生活有關的各個子如安防、燈光控制、太陽能熱水器控制、窗簾控制、煤氣檢測及控制、室內溫度濕度檢測等有機地結合起來,通過無線網絡實現智能控制和管理,能很好地實現“以人為本”的全新家居生活體驗。圖1系統組成框圖。

          本文引用地址:http://www.ex-cimer.com/article/171056.htm

          f.JPG


          本系統采用MSP430系列單片機為核心控制單元,用CC1100無線模塊搭建無線網絡平臺。由兩部分構成:第一個部分主控芯片外圍電路的設計--主要包括電源模塊、液晶顯示、鍵盤操作等;第二部分無線節(jié)點外圍模塊的設計--主要包括太陽能熱水器水溫水量的測量及自動給水裝置、室內空氣質量的檢測、各房間溫度濕度的檢測、報警裝置等。
          1.1 電源管理模塊
          該模塊的電源需求有5V和3.3V兩種,其中無線模塊要求3.3V供電,我們本著低功耗的原則,5V穩(wěn)壓和3.3V穩(wěn)壓都采用了低壓差的開關穩(wěn)壓管LM1117和LM1085,芯片產熱少功能穩(wěn)定;液晶顯示采用12864,能清晰地顯示漢字、數字、字母、符號等,12864液晶內建GB碼簡體中文字型庫,顯示清晰,使用方便。
          1.2 安防系統設計
          智能安防系統可以監(jiān)測人或動物的意外侵入、室內的空氣質量等。選用熱釋電紅外傳感器(人體紅外感應模塊)監(jiān)測人或動物發(fā)射的紅外線,該模塊采用紅外專用芯片BISS0001設計人體傳感模塊,它最大的優(yōu)點是性能穩(wěn)定可靠。模塊線路板尺寸33×28mm,透鏡直徑約25mm,模塊厚度20mm,體積更小,更容易嵌入其他設備。模塊采用低功耗穩(wěn)壓器件7133A-1,可以保證在很寬的輸入電壓下穩(wěn)定提供3.3V的工作電壓,確保模塊正常工作。圖2人體傳感模塊。

          a.JPG


          半導體空氣傳感器檢測窄氣中低濃度污染物的異味,如空氣中的低濃度香煙污染物和其它異味,對H2、CO等有較高的敏感度。選用日本FIGARO公司開發(fā)生產的TGS2600,傳感器測量電路如圖3所示。此傳感器要求有兩個電壓輸入:加熱器電壓VH和電路電壓VC。加熱器電壓VH加于集成加熱器上以保持傳感器在一個特定的最佳感應溫度。電路電壓VC被加載以便于測量與氣敏元件串聯的負載電阻電壓Vout。此傳感器有極性,所以電路電壓VC必須是直流??梢杂靡粋€公共的電源來同時供給VH和VC以滿足傳感器的電氣需求。合理選擇負載電阻RL使報警門限電壓最優(yōu)化,并使半導體傳感器功耗小于15mW。當目標體存在時,傳感器功耗在RS與RL相等時最大。

          b.JPG


          1.3 環(huán)境溫濕度監(jiān)測系統設計
          濕度傳感器HS1101是獨特工藝設計的電容元件,電路如圖4所示,它的特點是全互換性,在示準環(huán)境下不需校正;長時間飽和下快速脫濕;高可靠性與長時間穩(wěn)定性;可用于線性電壓或頻率輸出回路,快速反應時間。

          e.JPG


          環(huán)境溫度測量用DS18B20實現,如圖5所示。

          c.JPG


          1.4 無線節(jié)點結構
          本系統采用CC1100無線模塊,如圖6所示,CC1100的數據包協議已經固化在芯片中,使用起來非常方便,它的數據包格式能被軟件配置,可根據自己的實際情況對數據包格式進行刪減,通過前導和同步詞匯的設定可以實現無線網絡平臺之間的干擾,可以對地址設定,解決無線網絡平臺內部節(jié)點之間的信號干擾問題。并且還可以通過設定地址濾波和最大長度濾波實現外界信號對本系統的干擾,CRC校驗還可以提高信息的準確度。

          d.JPG


          采用星型無線網絡結構,星型網絡是由一個控制終端和若干個傳感器終端組成。每個傳感器終端上都安裝上一個處理器和一個無線芯片,主控制端通過廣播的方式呼叫其他傳感器終端和執(zhí)行終端。傳感器終端和執(zhí)行終端只有在接收到與自己地址匹配的數據包才會接收數據。能有效解決網絡沖突問題。

          2 系統軟件設計
          通過無線將采集的數據傳到主控臺,進行數據傳輸和控制,主控臺鍵盤可以對各個節(jié)點進行控制和操作。如智能太陽能熱水器,通過鍵盤的控制,LCD上能很好地顯示水溫和水量,并能夠及時判斷出是否給水。熱釋電報警模塊采用低功耗穩(wěn)壓器件7133A-1,可以保證在很寬的輸入電壓下穩(wěn)定提供3.3V的工作電壓,確保模塊正常工作。有人輸出約3V高電平,無人輸出0V低電平。
          無線傳輸協議的制定及組網:
          協議中指令分為七種:查詢指令、ACK應答指令、操作指令、操作返回指令、休眠指令、突發(fā)事件指令、申請地址指令。
          查詢指令用于主機對各個節(jié)點的工作狀態(tài)查詢,確定網絡連接狀況,從機接收到此指令后返回帶有自身地址的ACK應答。
          應答指令用于從機接收到有效主機查詢命令后的回應命令。
          操作指令用于主機在確定從機工作正常后發(fā)送從機執(zhí)行什么操作。
          操作返回指令用于從機返回操作數據或狀態(tài)。
          休眠命令用于主機發(fā)送指令使模塊休眠,此命令無返回。從機接收到此指令后進入休眠狀態(tài)等待下一次有效查詢。
          申請地址指令,此指令需要在突發(fā)事件頻道(頻道2)由從機發(fā)送,用于新節(jié)點加入時,向主機申請一個可用的地址。主機接收到此指令后返回一個未占用的地址。
          協議中主節(jié)點上電初始化后就開始以輪詢方式依次查詢各個子節(jié)點的工作狀態(tài),子節(jié)點接收到查詢信號后,若工作正常則返回與自己地址相關的ACK信號,主機接收到從機ACK信號后,發(fā)送操作指令,然后等待返回數據,當對此節(jié)點一系列的操作執(zhí)行完后主機發(fā)送休眠指令讓節(jié)點進入休眠模式,降低系統功耗。
          從機上電后進入休眠狀態(tài),等待主機喚醒,當接收到主機查詢指令后返回ACK信號,然后等待主機發(fā)送操作指令,指令執(zhí)行后若有返回數據則需要通過操作返回指令將數據返回,若無數據返回則只返回操作成功標志位。程序流程圖如圖7所示。

          g.JPG



          3 結束語
          本設計實現了一個小型、低功耗、低成本、操作簡單靈活的智能家居系統,以CC1100為無線傳輸節(jié)點,搭建星型網絡結構,完成家庭內部設備的通訊。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();