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

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 基于ZigBee技術(shù)的智能調(diào)光系統(tǒng)

          基于ZigBee技術(shù)的智能調(diào)光系統(tǒng)

          作者: 時間:2011-03-31 來源:網(wǎng)絡(luò) 收藏


          3.2 終端設(shè)備節(jié)點設(shè)計
          終端設(shè)備的軟件設(shè)計包括A/D轉(zhuǎn)換、定時計數(shù)器等,其中最主要的是控制光強PWM波占空比設(shè)計。
          PWM控制就是對脈沖寬度進行調(diào)制的。采用定時器T4,它是8位定時/計數(shù)器,支持輸出比較和PWM輸出,光強控制策略如圖6所示。


          光強控制策略如下:
          (1)當(dāng)實際光強大于光強合適區(qū)的上限時,調(diào)節(jié)定時器的寄存器,使得PWM占空比變小,光強變小,逐漸回到光強合適區(qū);
          (2)當(dāng)實際光強小于光強合適區(qū)的下限時,調(diào)節(jié)定時器的寄存器,使得PWM占空比變大,光強變大,逐漸回到光強合適區(qū);
          (3)當(dāng)實際光強在光強合適區(qū)中時,由于誤差的存在,以及人眼對光強小范圍的變化不是特別敏感,可以不用調(diào)節(jié)定時器的寄存器。

          4 上位機軟件設(shè)計
          監(jiān)控機系統(tǒng)采用LabVIEW進行編程,它的主體由狀態(tài)機結(jié)構(gòu)、串口通信部分組成,可以實現(xiàn)一鍵開燈、一鍵關(guān)燈功能,并且觀察光照值。狀態(tài)機功能列表如表2所示。


          通信串口設(shè)置主要用于設(shè)置PC機與網(wǎng)絡(luò)控制器的串口通信參數(shù),包括串口端口的選擇、波特率、奇偶檢驗位、數(shù)據(jù)位和停止位等。
          為了使系統(tǒng)運行安全可靠,還設(shè)計了安全登錄子系統(tǒng),即只有先登錄該系統(tǒng)才能完成整個系統(tǒng)的監(jiān)控。登錄程序如圖7所示。


          最后,將主監(jiān)控機設(shè)置為服務(wù)器系統(tǒng),通過網(wǎng)站可以讓接入以太網(wǎng)的PC機通過遠程登錄到該服務(wù)器。這樣,就可以遠程監(jiān)控整個系統(tǒng)的運行。

          5 結(jié)語
          經(jīng)過測試,該系統(tǒng)可以滿足功能方面的需求,用TI的SmartRFStudio信號測試軟件在對模塊無線收發(fā)與數(shù)據(jù)傳輸可靠性的測試時,結(jié)果比較好。在20多米的有障礙空間中,使得CC2430工作在最強發(fā)射功率下,可以比較穩(wěn)定傳輸數(shù)據(jù),這符合的理論值。
          用手遮擋光敏電阻來模擬室內(nèi)光線變暗,白光LED的亮度變強;手移開,白光LED亮度變暗。將系統(tǒng)的調(diào)節(jié)頻率提高后,可以實現(xiàn)無級,并在上位機上監(jiān)控運行狀況。


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁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); })();