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

          新聞中心

          EEPW首頁 > 測試測量 > 設計應用 > Proteus軟件調試實現(xiàn)的數(shù)字式指針溫度計

          Proteus軟件調試實現(xiàn)的數(shù)字式指針溫度計

          作者: 時間:2012-07-18 來源:網(wǎng)絡 收藏

            本文主要敘述利用軟件實現(xiàn)的數(shù)字式指針溫度計的一種調試方法,采用MCS51單片機作為指針溫度計的數(shù)字信號處理器,其中,選用Dallas公司的Ds1820單總線式數(shù)字溫度,該溫度計的溫度值通過四個數(shù)碼管顯示,同時還可以通過刻盤指針指示。

            硬件設計

            硬件設計包括模塊、單片系統(tǒng)及溫度顯示模塊等模塊,其中,刻度盤上指針的控制是設計中的一個重點。在設計數(shù)字電路的角位移控制時,一般選用步進電機或伺服電機,選用步進電機時,其步進角固定,同時,對于角位移的控制,會產生控制角度的動作位置不夠精確的問題;選用伺服電機也就是舵機時,其控制原理是通過MCS51單片機產生脈寬調制(PWM)信號的占空比來改變舵機搖臂旋轉的位置,以達到控制伺服電機的目的,最后在刻度盤上指示溫度值。

            系統(tǒng)硬件電路原理圖如圖1所示。

          系統(tǒng)硬件電路原理圖

            1.舵機的工作原理

            系統(tǒng)中指針的驅動由舵機實現(xiàn),為使指針在刻度盤上的初始指示精確,文中采用4個獨立按鍵實現(xiàn)指針刻盤上的粗、微調節(jié)。

            舵機是一個簡單的閉環(huán)系統(tǒng),其內部硬件電路、微型電機及減速器封裝在一個部件內,實物圖如圖2所

          示,輸出軸可在一90°~90°范圍內旋轉到任意角度。

            舵機包含控制信號線、電源線和地線3根引線,其反饋元件為一個與輸出軸同軸的精密電位器,通過電位器的反饋信號得到舵機輸出軸轉動的位置,然后將相應的電壓值反饋回控制芯片,最后將反饋的輸出軸位置與控制引線設定的位置進行比較,得到輸出軸位置的偏差,從而驅動微型電機轉動,使輸出軸轉到預定控制的角度。

            舵機的控制信號為一列PWM波,周期為18~20ms,舵機輸出軸轉動的角度位置與PWM信號占空比呈線性關系,當控制信號的高電平寬度為0.5ms時,舵機輸出軸位置為-90°;當信號高電平寬度為2.5ms時,輸出軸位置為+90°。

          實物圖

            軟件設計

            單片機軟件的設計包括DSl820的讀寫、模擬PWM輸出、單片機溫度取值、按鍵掃描、數(shù)碼管顯示等程序設計。

            1.DS1820的讀寫

            DS1820采用單總線協(xié)議,能夠實現(xiàn)數(shù)據(jù)的雙向傳輸,在進行DS1820讀寫操作前應先對DS1820進行復位,同時,必須嚴格遵守DS1820的讀寫時序,盡量精簡中斷程序,以減少對DS1820的讀寫時序的影響,提高的準確性。

            DS1820讀、寫子程序如下:
          DS1820讀
          DS1820讀

            2.PWM的輸出

            利用MCS51單片機的定時器中斷產生PWM信號,TO每產生一次中斷,PWM輸出邏輯電平翻轉一次,PWM控制信號的輸出周期為20ms。

          伺服電機相關文章:伺服電機工作原理



          上一頁 1 2 下一頁

          評論


          相關推薦

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