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

          新聞中心

          EEPW首頁 > 物聯(lián)網(wǎng)與傳感器 > 設(shè)計(jì)應(yīng)用 > 基于ADμC812的溫度檢測系統(tǒng)的設(shè)計(jì)

          基于ADμC812的溫度檢測系統(tǒng)的設(shè)計(jì)

          ——
          作者: 時(shí)間:2007-01-26 來源:《EDN電子設(shè)計(jì)技術(shù)》 收藏
          1引言

            本系統(tǒng)以adμc812單片機(jī)為處理核心,分為溫度傳感、信號處理(差分放大、采樣保持)、系統(tǒng)復(fù)位、led顯示、串行數(shù)據(jù)通信、上位機(jī)控制等6個(gè)功能模塊。

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

          系統(tǒng)的工作原理如圖1所示。傳感器將溫度(物理量)轉(zhuǎn)化為電量(電壓),然后通過差分放大模塊將信號先放大再保持處理,接著將兩路模擬信號(電壓)送至adμc812的p1.0、p1.1管腳進(jìn)行內(nèi)部a/d轉(zhuǎn)換器采樣得到相應(yīng)的數(shù)據(jù),最后通過芯片內(nèi)部處理由led串行顯示模塊將具體值顯示出來并發(fā)送給上位機(jī)。

          其中串行通信(rs-232)既可以保證上位機(jī)與adμc812主芯片之間數(shù)據(jù)通信的順利進(jìn)行,又可以作為adμc812芯片的下載工具的數(shù)據(jù)線,這為程序的在線調(diào)試提供了便利。

          由于設(shè)計(jì)中主要用到了a/d、串行通信等模塊,所以采用adμc812作為主控制芯片,它主要擔(dān)負(fù)以下3種功能:

          (1)采樣各通道的模擬量并進(jìn)行相關(guān)運(yùn)算。(2)實(shí)時(shí)數(shù)據(jù)led顯示。(3)檢測通信口狀態(tài),接到通信 握手信號時(shí)與計(jì)算機(jī)進(jìn)行通信。

          2adμc812的主要性能特點(diǎn)

          由美國模擬器件公司推出的adμc812單片機(jī),其內(nèi)部包含了高精度的8通道12位模數(shù)轉(zhuǎn)換器(adc),2通道12位數(shù)模轉(zhuǎn)換器(dac)以及可編程的8位(與8051單片機(jī)兼容)微控制器單元(mcu)。另外,片內(nèi)有8kb閃速/電擦除程序存儲器、640單元閃速/電擦除數(shù)據(jù)存儲器、256個(gè)單元數(shù)據(jù)sram(支持可編程)。

          mcu支持的功能包括看門狗定時(shí)器、電源監(jiān)視器以及adc dma功能。為多處理器接口和i/o擴(kuò)展提供了32條可編程的i/o線、與i2c兼容的串行接口、spi串行接口和標(biāo)準(zhǔn)uart串行接口i/o。

          mcu內(nèi)核和模擬轉(zhuǎn)換器兩者均有正常、空閑以及掉電工作模式,它提供了適合于低功率應(yīng)用的、靈活的電源管理方案。器件包括在工業(yè)溫度范圍內(nèi)用3v和5v電壓工作的兩種規(guī)格,有52引腳、塑料四方形扁平封裝形式(potp)可供使用。

          3系統(tǒng)硬件電路設(shè)計(jì)

          硬件設(shè)計(jì)的模塊大致可以分為溫度信號傳感,信號的處理,采樣保持,led實(shí)時(shí)顯示,單片機(jī)采樣控制及與計(jì)算機(jī)之間的通信等。

          溫度檢測電路是整個(gè)系統(tǒng)最基本的一個(gè)模塊,它主要檢測所測環(huán)境的溫度和為后續(xù)電路提供處理信號。通過溫度傳感器鉑電阻,將溫度變化信號轉(zhuǎn)變成相應(yīng)電壓變化。該電壓值大小在一定的溫度范圍內(nèi)隨溫度變化的函數(shù)關(guān)系近似為線性,它的變化幅度大約為0.388ω/℃。

          為了提高整個(gè)系統(tǒng)的性能和可靠性,把a(bǔ)dμc812的數(shù)字地接在一起、模擬地接在一起,然后共地,以此減小外界的干擾信號對芯片正常工作的影響。用max813l作為主芯片的復(fù)位之用,更好的保證系統(tǒng)穩(wěn)定運(yùn)行。圖2所示的電路可以保證adμc812在上電時(shí)正常復(fù)位,掉電時(shí)正常關(guān)閉,在非完全掉電和電源低落時(shí)也能給出正常、合適的響應(yīng)。

          adμc812的uart串行接口是全雙工的,它可以同時(shí)發(fā)送和接收數(shù)據(jù)。串行網(wǎng)絡(luò)的物理接口由引腳rxd(p3.0)和txd(p3.1)提供。圖3是利用這兩個(gè)引腳設(shè)計(jì)的rs-232接口電路,可實(shí)現(xiàn)上位機(jī)與adμc812的串行通信。

          rxd和txd通過rs-232收發(fā)器(adm202芯片)連接到9線d型連接器上;收發(fā)器能夠產(chǎn)生串行接口通信所需電平,從而允許d型連接器直接與上位機(jī)串行接口相連。由于此電路中所采用的收發(fā)器是adm202芯片,它內(nèi)部沒有集成esd保護(hù)電路,所以需要外接0.1μf的電容構(gòu)成外部保護(hù)電路。

          4系統(tǒng)軟件設(shè)計(jì)

          在系統(tǒng)軟件設(shè)計(jì)中,主要分為兩部分:一是adμc812的單片機(jī)程序,主要承擔(dān)終端的信號采集處理,把有關(guān)數(shù)據(jù)傳送至計(jì)算機(jī),以實(shí)現(xiàn)計(jì)算機(jī)信息集中處理與控制;二是計(jì)算機(jī)上的上位機(jī)程序,以實(shí)現(xiàn)有效的協(xié)調(diào)、管理和控制各終端運(yùn)行(如圖4所示)。
          本系統(tǒng)中,計(jì)算機(jī)和adμc812模塊之間的通信距離比較近,所以采用rs-232標(biāo)準(zhǔn)的串行數(shù)據(jù)通信協(xié)議??紤]到終端選擇的同比性,這里主要研究了兩路信號采集工作,即選擇了兩路終端。

          (1)主程序框圖

          開機(jī)初始化(堆棧指針設(shè)置,a/d采樣控制寄存器設(shè)置初始化,數(shù)據(jù)實(shí)時(shí)顯示清零等),adμc812等待上位機(jī)發(fā)送啟動采集數(shù)據(jù)的命令和選擇終端采集通道,一旦握手信號建立,系統(tǒng)便開始進(jìn)入預(yù)定狀態(tài),采集外界信號;若握手不成功則通過串行口通知計(jì)算機(jī)發(fā)送命令失敗。主程序的流程圖如圖5所示。

          (2)上位機(jī)軟件設(shè)計(jì)

          使用高級語言delphi7通過調(diào)用api函數(shù)與單片機(jī)adμc812通信。由于沒有使用硬件握手聯(lián)機(jī),所以在上位機(jī)里,每1s讀取一次串口緩沖區(qū)的數(shù)據(jù);在讀取數(shù)據(jù)前先發(fā)送命令給單片機(jī),讓單片機(jī)開始數(shù)據(jù)采 樣,然后再發(fā)送讓單片機(jī)傳遞數(shù)據(jù)的命令,同時(shí)計(jì)算機(jī)便開始接收,這樣實(shí)現(xiàn)了兩者之間的同步。上位機(jī)程序的流程圖如圖6所示。


          5測試結(jié)果

          根據(jù)測試得到的部分實(shí)驗(yàn)數(shù)據(jù)如下:實(shí)驗(yàn)數(shù)據(jù)驗(yàn)證說明,本系統(tǒng)的設(shè)計(jì)不管在單、雙通道采樣控制,還是在實(shí)時(shí)處理顯示精度上,都取得了理想的效果。




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