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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于物流運輸過程監(jiān)測的振動測量系統(tǒng)

          基于物流運輸過程監(jiān)測的振動測量系統(tǒng)

          作者: 時間:2016-11-18 來源:網(wǎng)絡(luò) 收藏
            引言

            現(xiàn)代物流業(yè)已經(jīng)成為促進經(jīng)濟發(fā)展的主要動力之一,是促進經(jīng)濟發(fā)展的主體行業(yè)。物流是物品從供應(yīng)地向接收地的實體流動過程,根據(jù)實際需要,將運輸、儲存、裝卸、搬運、包裝、流通加工、配送、信息處理等基本功能實施有機結(jié)合。運輸是現(xiàn)代物流業(yè)中十分重要的一個環(huán)節(jié)之一,通過運輸,向生產(chǎn)者源源不斷地運送生產(chǎn)材料,保證生產(chǎn)的順利進行,同時又把商品不斷地運送到消費市場,滿足消費者的需求。

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

            由于生產(chǎn)需求的多元化,運輸?shù)奈锲肪哂卸鄻有?,對運輸?shù)囊蟪尸F(xiàn)多樣化。普通物品的運輸,對運輸過程沒有特殊要求。而易碎物品或危險品的運輸,需要對其運輸過程中的振動參數(shù)進行監(jiān)測,以保證運輸物品的完整性或安全性。

            本文提出并實現(xiàn)了一種用于物流運輸過程監(jiān)測振動測量系統(tǒng),用振動傳感器采集運輸車輛的振動信息。系統(tǒng)采集到的振動信息,可以存儲起來用于對物流運輸過程的分析。同時,振動系統(tǒng)還可以和報警系統(tǒng)連接,當振動數(shù)據(jù)超出安全區(qū)間時進行報警提示。

            1 測量系統(tǒng)及硬件設(shè)計

            1.1 測量系統(tǒng)設(shè)計

            本文提出的振動測量系統(tǒng)結(jié)構(gòu)如圖1所示,以ATmega16L單片機和加速度傳感器MMA7260為核心,配以外圍電路組成。如需在振動超標時報警,系統(tǒng)可以和相應(yīng)的報警系統(tǒng)連接。

            1.2 MMA7260加速度傳感模塊

            系統(tǒng)采用MMA7260加速度傳感器測量振動參數(shù)。MMA7260由美國飛思卡爾公司生產(chǎn),是一種低成本、低功耗、開啟快速,功能完善抗震能力強的三軸加速度傳感器,共有四檔測量范圍供選擇,分別是1.5g,2g,4g,6g,其中1.5g的精確度最高,達到了800 mv/g;MMA7260具有休眠模式,在休眠模式時的電流為3μA。

            MMA7260加速度傳感器輸出模擬電壓信號來表征運動物體的加速度,輸出的模擬電壓信號與加速度成正比,模擬信號經(jīng)由A/D轉(zhuǎn)換后由微控制器進行計算處理。圖2給出了MMA7260的引腳的示意圖,其中Xout,Yout,Zout分別是X,Y,Z模擬電壓輸出引腳,G1,G2是量程選擇引腳,VCC是傳感器工作電源引腳,VSS是傳感器接地引腳。

            在使用MMA7260加速度傳感器時,需要根據(jù)實際要求,通過對引腳4和引腳5賦予不同的數(shù)值以選擇合適的量程,具體的選擇方式和所對應(yīng)的量程范圍及靈敏度見表1。

            1.3 控制器與加速度數(shù)據(jù)采集

            本測量系統(tǒng)采用ATMEL公司的單片機ATmega16L作為主控制器。ATmega16L是高性能低功耗8位單片機,內(nèi)部具有16 kB可編程Flash,0.5 kB的E2PROM,1 kB片內(nèi)SRAM,內(nèi)部集成了一個逐次比較式ADC電路,具有10位精度,13~260μs的轉(zhuǎn)換時間,8路可選的單端輸入通道。

            ATmega16與MMA7260的連接如圖3所示,用單片機PA口中的PA0,PA1,PA2分別作為MMA7260振動傳感器X,Y,Z三個軸模擬電壓的輸入端。接收到的模擬電壓信號由單片機內(nèi)部自帶的A/D轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字信號,然后對數(shù)據(jù)進行處理。單片機的PC3引腳和PC4引腳用作振動傳感器量程選擇的控制端。MMA7260的G1和G2分別連接單片機的PC3引腳和PC4,通過控制PC3引腳和PC4引腳的輸出電平選擇所需量程,本系統(tǒng)中采用1.5g的量程,因此PC3引腳和PC4引腳均輸出低電平。MMA7260的Sleep Mode引腳連接到單片機中的PC1引腳,讓此引腳輸出高電平,允許傳感器進入睡眠模式,睡眠模式下具有節(jié)能效果。

            2 測量系統(tǒng)軟件設(shè)計

            測量系統(tǒng)軟件主要包括硬件初始化和數(shù)據(jù)處理。初始化包括單片機的ADMUX寄存器初始化,單片機I/O口初始化。數(shù)據(jù)處理包括振動信息采集及A/D轉(zhuǎn)換后的數(shù)據(jù)處理。系統(tǒng)軟件采用C語言編程設(shè)計,軟件流程圖如圖4所示。系統(tǒng)上電之后,首先進行初始化,然后系統(tǒng)開始進行數(shù)據(jù)采集和處理。主控制器采用中斷方式進行工作,每隔一定時間從MMA7260振動傳感器中讀取振動信息,單片機對模擬數(shù)據(jù)進行A/D轉(zhuǎn)換,并對其進行處理,然后進入低功耗休眠狀態(tài)。

            在對振動傳感器的三個軸的電壓信息進行采集時,把A/D轉(zhuǎn)換器的工作方式設(shè)置成了自由轉(zhuǎn)換方式,采用輪詢方式分別對X,Y和Z軸的電壓信息進行采集,然后進入休眠狀態(tài)。通過定時計數(shù)器設(shè)定一個時間,定時時間到從休眠狀態(tài)喚醒,繼續(xù)采集X,Y,Z三軸的電壓信息。

            3 系統(tǒng)實現(xiàn)及實驗

            本文實現(xiàn)的振動測量系統(tǒng),MMA7260振動傳感器實現(xiàn)振動信息采集,單片機對數(shù)據(jù)進行A/D轉(zhuǎn)換和處理。需要指出的是,在實現(xiàn)的樣例系統(tǒng)中加入了RS 232串口,以將測量數(shù)據(jù)輸?shù)絇C機,方便系統(tǒng)調(diào)試。

            為了驗證本文設(shè)計的系統(tǒng),在實驗室環(huán)境下進行了運輸振動模擬測試。實驗時,把振動傳感器MMA7260固定在玩具小車上面,晃動小車以產(chǎn)生振動,同時采集振動傳感器輸出的數(shù)據(jù)。部分實驗數(shù)據(jù)如圖5所示,可以看出,當小車受到振動時,傳感器能明顯地檢測到振動的信息。

            4 結(jié)語

            本文研究并設(shè)計了一種用于物流運輸過程監(jiān)測的振動測量系統(tǒng),以對怕磕碰、易碎物品或危險品等的運輸過程進行監(jiān)測。介紹了系統(tǒng)的構(gòu)成、硬件設(shè)計和軟件流程,并給出了實現(xiàn)的系統(tǒng),以此進行了振動測量實驗,結(jié)果表明,系統(tǒng)運行良好,能夠準確地記錄振動參數(shù),可以廣泛地應(yīng)用在物流運輸監(jiān)測系統(tǒng)中,作為車輛運輸過程振動監(jiān)測的一種有效手段。

          參考文獻:

          [1].ATmega16Ldatasheethttp://www.dzsc.com/datasheet/ATmega16L_1127392.html.
          [2].ATmega16datasheethttp://www.dzsc.com/datasheet/ATmega16_144718.html.



          評論


          技術(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); })();