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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于C8051F單片機(jī)的氣流儀

          基于C8051F單片機(jī)的氣流儀

          作者:范力旻,徐锫,張以松 時(shí)間:2008-07-17 來源:電子測試 收藏

            0 引 言

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

            本課題研究的棉花是根據(jù)GB6468-1992棉纖維"馬克隆值"測試方法的有關(guān)規(guī)定,結(jié)合目前的微電腦監(jiān)控系統(tǒng)技術(shù),采用C8051F,具有測試速度快、容易維修、費(fèi)用低、效率高等特點(diǎn)。

            馬克隆值為在特定條件下一團(tuán)棉花的透氣性的度量。實(shí)踐經(jīng)驗(yàn)表明,馬克隆值與紡紗有著密切的關(guān)系,馬克隆值過高或過低,其棉纖維可紡性能都較差,只有馬克隆值適中的棉纖維才能獲得較全面的紡紗經(jīng)濟(jì)效益。

            1的基本原理

            本儀器是氣流式的馬克隆值測定儀。馬克隆的基本原理是以一定壓力的氣流通過固定容積內(nèi)的定質(zhì)量的纖維塞,由于纖維的表面積不同,對氣流的阻力大小不同,在纖維塞兩端產(chǎn)生的壓力差或流量大小也不同。表面積小的纖維,對氣流的阻力小流量大(或壓差小);反之,流量大(或壓差大)。因此可根據(jù)流量或壓力差的變化,指示出纖維的透氣性。試樣的質(zhì)量和體積對儀器是常數(shù),透氣性的變化可用馬克隆值單位來標(biāo)定。

            式中:A為試樣筒內(nèi)截面積;L為試樣筒高度;△P為試樣筒兩端壓力差;S為纖維比表面積;μ為空氣粘滯系數(shù);ε為試樣筒內(nèi)纖維的空隙率(纖維集合體內(nèi)空間體積與集合體總體積之);K為常數(shù)。

            從公式可以看出:纖維的表面積越小(即纖維越粗),通過的流量越大,表示纖維的透氣性越好,所測的馬克隆值越高,表明纖維的成熟度越好。因此,一般情況下,纖維成熟度越好,其馬克隆值也越高,即兩者是正相關(guān)。 2 硬件設(shè)計(jì)

            根據(jù)氣流儀的原理,我們采用C8051F023為核心控制。該內(nèi)核為高速8051微控制器。

            有兩個(gè),分別為氣壓傳感器和稱重傳感器。據(jù)本儀器的設(shè)計(jì)精度要求,選擇微重傳感器和微壓傳感器。硬件框圖如圖1所示。

            儀器工作過程:在電子稱上稱8 g棉樣后均勻地放入試樣筒內(nèi),形成固定密度的纖維塞。氣泵向儲(chǔ)氣筒充氣產(chǎn)生恒壓,恒壓氣流經(jīng)氣阻(試樣筒內(nèi)的纖維塞)流入儀器,在試樣筒的兩端形成了氣壓差。由于不同馬克隆值的棉纖維對氣流的阻力不同,因此形成的壓差也不同,氣壓傳感器將此壓差信號轉(zhuǎn)換成電量,單片機(jī)將數(shù)據(jù)處理后,顯示出馬克隆值及馬克隆值等級,同時(shí)還能完成平均值的運(yùn)算。

            3軟件設(shè)計(jì)

            程序設(shè)計(jì)是按照結(jié)構(gòu)化的程序設(shè)計(jì)方法設(shè)計(jì)的,將整個(gè)程序細(xì)分為若干子程序,以方便調(diào)試與檢查。

            儀器開機(jī)上電后,單片機(jī)首先查詢儀器是否需要砝碼校準(zhǔn),如果需要?jiǎng)t進(jìn)行砝碼校準(zhǔn),否則判斷是否馬值校準(zhǔn),如果是進(jìn)行馬值校準(zhǔn),否則判斷是否稱重。當(dāng)稱量了8 g的棉花后,程序判斷P1.7口是否為低電平,如果是則進(jìn)行馬值測定,否則仍進(jìn)入稱重子程序。由于我們的儀器只能測量馬值范圍為2.5~7.0的馬值,因此得到馬值時(shí)首先判斷馬值是否滿度。當(dāng)測量值低于1 V時(shí),也就是馬值低于2.5時(shí),認(rèn)為馬值滿度,并顯示E000,若馬值沒有滿度則依據(jù)經(jīng)驗(yàn)公式計(jì)算馬值真值。最后進(jìn)行馬值等級的判斷,依據(jù)國標(biāo)的規(guī)定,馬值范圍在3.7~4.2的為A級,3.5~3.6,4.3~4.9的為B級,3.4以下或5.0以上為C級。判斷結(jié)束后,單片機(jī)調(diào)用顯示子程序,顯示出被側(cè)棉樣的馬值及相應(yīng)的等級。圖2是主程序流程圖。

            整個(gè)軟件子程序包括砝碼校準(zhǔn)子程序,馬值校準(zhǔn)子程序,稱重子程序,馬值測量子程序,顯示子程序以及一些算法子程序等。

            通過對傳感器及其放大電路的設(shè)計(jì),我們知道當(dāng)氣壓為零點(diǎn)時(shí),電壓為0.500 V,當(dāng)氣壓滿度為400 Pa時(shí),電壓為2.46 V,曲線如圖3所示。

            從考慮精度的要求出發(fā),我們選擇A/D轉(zhuǎn)換為10位,參考電壓為2.5 V,當(dāng)輸入模擬量為2.5 V時(shí),轉(zhuǎn)換成數(shù)字量為210=1 024(800H),根據(jù)硬件電路,當(dāng)試樣筒沒有放入棉花時(shí),氣流通過后測得的氣壓差0,送入單片機(jī)的電壓為0.500 V,即由方程:

            換算成對應(yīng)的數(shù)字量為0CDH,根據(jù)式(4)和表1的數(shù)據(jù)可以算出馬克隆值和數(shù)字量的一個(gè)對應(yīng)表,將此表輸入程序中作為馬值計(jì)算的基準(zhǔn)。

            由國標(biāo)規(guī)定的標(biāo)準(zhǔn)棉樣的馬值,通過實(shí)驗(yàn)我們找出了其對應(yīng)的電壓值,發(fā)現(xiàn)它們不是線性關(guān)系,也不能用-個(gè)簡單的數(shù)學(xué)表達(dá)式表示,因此采用分段處理的方法表示出他們的邏輯關(guān)系。并依據(jù)這個(gè)規(guī)律進(jìn)行數(shù)學(xué)建模。具體流程圖如圖4所示。

            上述馬值真值沒有考慮校準(zhǔn)偏差的情況,因此應(yīng)進(jìn)行馬值補(bǔ)償。首先判斷該馬值是低、中、高中的哪一個(gè)等級,然后從EEPROM存儲(chǔ)器中調(diào)出在馬值校準(zhǔn)中得到的偏差,經(jīng)過計(jì)算后得到同實(shí)際值相吻合的馬值。

            4實(shí)驗(yàn)測試

            根據(jù)國標(biāo)GB6468-1992棉纖維"馬克隆值"測試方法的有關(guān)規(guī)定對所設(shè)計(jì)的儀器進(jìn)行校驗(yàn)。用馬克隆值分別為A、B、C級的不同棉樣,在室溫21℃左右的環(huán)境下,所測得的數(shù)據(jù)誤差不超過±0.1。儀器精度完全符合要求。

            5結(jié)束語

            本儀器在設(shè)計(jì)中緊密結(jié)合我國國情,具有人機(jī)界面好、方便、快捷、體積小、性價(jià)比好的特點(diǎn)。所設(shè)計(jì)的儀器采用單片控制,使用電子稱重,氣壓傳感器測定馬值,且具有標(biāo)準(zhǔn)棉樣或標(biāo)準(zhǔn)塞自動(dòng)校正及馬值自動(dòng)分級功能,能夠做到智能剔除異常數(shù)據(jù),是測定馬克隆值的一代新產(chǎn)品。

          稱重傳感器相關(guān)文章:稱重傳感器原理


          評論


          相關(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); })();