王國(guó)杰 薛 磊 趙 凱
(邯鄲職業(yè)技術(shù)學(xué)院 計(jì)算機(jī)系,河北 邯鄲 056005)
Proteus 是Lab Center Electronics 公司開(kāi)發(fā)的系統(tǒng)設(shè)計(jì)輔助軟件(EDA),具有仿真嵌入式芯片及其外圍器件的功能,這使其受到廣大嵌入式開(kāi)發(fā)應(yīng)用者的青睞[1-2]。Proteus 可以幫助開(kāi)發(fā)人員從電子原理圖設(shè)計(jì)、代碼調(diào)試到嵌入式芯片與外圍電路協(xié)同仿真,并可最終完成電路的PCB 板設(shè)計(jì),從而實(shí)現(xiàn)了從概念到產(chǎn)品的完整開(kāi)發(fā)。Proteus 同時(shí)也是世界上唯一將電路布圖、PCB 板設(shè)計(jì)和虛擬仿真三合一的EDA 工具軟件,支持ARM、8086和MSP430等多數(shù)嵌入式芯片仿真開(kāi)發(fā),同時(shí)也支持Keil、IAR 和CubeIDE 等多種編譯器[3-4]。
傳感器是一種能夠感受被測(cè)量的信息,并把該信息按一定規(guī)律變換成電信號(hào)或其他信息的測(cè)量裝置,按照其基本感知功能可分為熱敏元件、氣敏元件、光敏元件、力敏元件等幾大類(lèi)。由于傳感器檢測(cè)技術(shù)是實(shí)踐性非常強(qiáng)的一門(mén)課程,學(xué)生學(xué)好這門(mén)課程的關(guān)鍵在于理論學(xué)習(xí)和實(shí)驗(yàn)實(shí)訓(xùn)要深度結(jié)合。常規(guī)的傳感器實(shí)訓(xùn)室多采用電子硬件設(shè)備實(shí)訓(xùn)平臺(tái),這就造成了實(shí)驗(yàn)設(shè)備的前期投入多、設(shè)計(jì)局限性大并且維護(hù)成本高等一系列問(wèn)題,并且由于職業(yè)院校學(xué)生眾多,很難做到一人一臺(tái)設(shè)備。鑒于這種情況,我們采用了Proteus仿真軟件進(jìn)行傳感器實(shí)訓(xùn)平臺(tái)的研究開(kāi)發(fā),充分利用該仿真軟件的特點(diǎn)實(shí)現(xiàn)了理論教學(xué)與實(shí)驗(yàn)實(shí)訓(xùn)相結(jié)合的較好的解決方案。
傳感器仿真實(shí)訓(xùn)平臺(tái)主要用于對(duì)各種被測(cè)量的信息進(jìn)行采集、處理、轉(zhuǎn)換、存儲(chǔ)和顯示等,其中包括了感知輸入、微處理器控制系統(tǒng)和顯示輸出三部分。感知輸入由各類(lèi)傳感器、電橋、放大電路、濾波器和調(diào)理電路等組成,主要完成被測(cè)量信息的采集、放大、調(diào)理、轉(zhuǎn)換和數(shù)據(jù)輸入等功能;微處理器控制系統(tǒng)由按鍵、微處理器芯片及其外圍電路等組成,完成接口通訊、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)輸出等功能;顯示輸出則由LCD 液晶模塊及驅(qū)動(dòng)電路等組成,用于各類(lèi)傳感器數(shù)據(jù)的顯示。
系統(tǒng)硬件主要包括傳感器電路和數(shù)據(jù)處理顯示兩部分,傳感器電路主要由溫度傳感器DS18B20、測(cè)距傳感器HCSR04及壓力傳感器MPX4115等8種不同類(lèi)型傳感器組成,可完成不同類(lèi)型的物理量采集;數(shù)據(jù)處理顯示由微處理器AT89C52、按鍵、LCD 屏顯AMPIRE128*64及外圍器件組成,用于完成功能選擇、數(shù)據(jù)處理和顯示等,其系統(tǒng)硬件仿真平臺(tái)如圖1所示。
圖1 傳感器實(shí)驗(yàn)實(shí)訓(xùn)虛擬仿真平臺(tái)原理圖
DS18B20是數(shù)字信號(hào)輸出類(lèi)型的溫度傳感器,與微處理器采用一線(ONE-WIRE)總線連接,僅需要一條數(shù)據(jù)線即可完成雙向通訊。支持多點(diǎn)組網(wǎng)模式,最多8個(gè)DS18B20可以并聯(lián)在唯一的數(shù)據(jù)線上,從而可實(shí)現(xiàn)多點(diǎn)測(cè)溫。供電電壓為3.0 V~5.5 V,可通過(guò)編程設(shè)定分辨率為9~12位,也可根據(jù)用戶的需求設(shè)置溫度上下限報(bào)警值,具有體積小、精度高、功耗低、抗干擾能力強(qiáng)等特點(diǎn)[5-6]。其測(cè)溫范圍為-55℃~ +125℃,被廣泛用于工業(yè)恒溫控制、民用消費(fèi)電子產(chǎn)品如溫度計(jì)或任何熱敏感系統(tǒng)等領(lǐng)域,硬件連接原理如圖2所示。
圖2 溫度傳感器硬件連接原理及顯示圖
HCSR04是一款可提供2cm~400cm 非接觸式距離感測(cè)功能的超聲波測(cè)距模塊,距離測(cè)量精度可達(dá)3mm。模塊包括超聲波發(fā)射器、接收器與控制電路三部分[7]。當(dāng)超聲波碰到物體界面時(shí)會(huì)產(chǎn)生反射回波,如果碰到活動(dòng)物體時(shí)能產(chǎn)生多普勒效應(yīng)。本模塊具有兩個(gè)端口,當(dāng)觸發(fā)(Trig)端口發(fā)一個(gè)10US 以上的高電平,發(fā)射器發(fā)出超聲波同時(shí)回聲(Echo)口輸出高電平,此時(shí)立刻打開(kāi)定時(shí)器計(jì)時(shí),當(dāng)接收器接收到回波時(shí)回聲(Echo)口變?yōu)榈碗娖酵V褂?jì)時(shí),此時(shí)定時(shí)器的值除以2就為此次聲波通過(guò)該距離的時(shí)間,波速乘以時(shí)間就是與物體之間的距離值,硬件連接原理圖如圖3所示。
圖3 測(cè)距傳感器硬件連接原理及顯示圖
MPX4115是美國(guó)Motorola Inc 生產(chǎn)的集成壓力傳感器,其融合了高水準(zhǔn)的微電機(jī)技術(shù),采用薄膜鍍金屬設(shè)計(jì)。MPX4115在測(cè)量范圍內(nèi)可以輸出與所加氣壓呈良好線性關(guān)系的高精度模擬電壓值,內(nèi)部帶有溫度自動(dòng)補(bǔ)償電路,可以很好地克服半導(dǎo)體壓力敏感器件存在的溫度漂移問(wèn)題,還能為高水準(zhǔn)模擬輸出信號(hào)提供一個(gè)均衡壓力[8-9]。在 0℃~85℃的溫度下誤差不超過(guò)1.5%,溫度補(bǔ)償范圍是 -40℃~ +125℃。由于MPX4115 輸出的是模擬電壓值,因此必須進(jìn)行 A/D 轉(zhuǎn)換成數(shù)字量后才能交由微處理器處理。
本設(shè)計(jì)A/D 芯片采用的是ADC0832,這是一種8位分辨率,具有雙通道A/D 轉(zhuǎn)換芯片,其與MPX4115可同時(shí)采用5V 電源供電。其內(nèi)部電源與參考電壓復(fù)用,具有雙數(shù)據(jù)輸出作為數(shù)據(jù)校驗(yàn),轉(zhuǎn)換快且穩(wěn)定性好。具有4條數(shù)據(jù)線與微處理器接口,分別是CS(片選)、CLK(時(shí)鐘)、DO(數(shù)據(jù)輸出)、DI(數(shù)據(jù)輸入)。由于DI 端與DO 端并非同時(shí)有效,并且與微處理器通信時(shí)為雙向接口,因此在電路設(shè)計(jì)時(shí),DO和DI 可并聯(lián)在一起共用一根數(shù)據(jù)線。MPX4115模擬電壓輸出口連接到ADC0832通道CH0,其硬件連接原理如圖4所示。
圖4 壓力傳感器及A/D 硬件連接原理及顯示圖
熱電阻PT100是一種電阻值隨溫度上升而近似線性升高的一次元件,其材料是鉑。PT100的工作溫度范圍-200 ℃~ +850 ℃,在該溫度范圍內(nèi),它的穩(wěn)定性和線性相對(duì)較好,其原理為接觸溫度在0℃ 時(shí)PT100的阻值為100歐姆,當(dāng)溫度升到100℃時(shí)其阻值約為138.5歐姆[10]。其溫度測(cè)量由兩部分組成,即熱電阻和信號(hào)轉(zhuǎn)換電路,轉(zhuǎn)換電路的作用主要是把PT100電阻值的變化轉(zhuǎn)換成可傳送的標(biāo)準(zhǔn)化輸出信號(hào)。
PT100熱電阻按其接線方式分為二線制、三線制和四線制三種。在熱電阻的兩端各用一根導(dǎo)線來(lái)把電阻信號(hào)引出來(lái)的方式稱(chēng)為二線制,這種引線方法最為簡(jiǎn)單,但由于在工業(yè)應(yīng)用中引出的導(dǎo)線距離較遠(yuǎn),這時(shí)導(dǎo)線存在的電阻對(duì)于測(cè)量的結(jié)果影響較大,影響的大小主要取決于該導(dǎo)線的材質(zhì)和長(zhǎng)度等因素,二線制引線的方式由于不能消除導(dǎo)線電阻所產(chǎn)生的影響,因此只適合測(cè)量精度較低的場(chǎng)合。本仿真實(shí)訓(xùn)平臺(tái)采用的就是二線制。三線制是在PT100的一端引出一根導(dǎo)線,另一端引出兩根導(dǎo)線,這種方式通常采用電橋電路,可以較好地消除引線電阻的影響,接線方式相比于四線制要簡(jiǎn)單些,是目前工業(yè)應(yīng)用領(lǐng)域中最常用的溫度測(cè)量方法,其消除導(dǎo)線電阻的前提是:三根導(dǎo)線材質(zhì)、線徑和長(zhǎng)度必須相同。在熱電阻的兩端各引出兩根導(dǎo)線的方式稱(chēng)為四線制,這種測(cè)量方法能夠完全消除導(dǎo)線電阻的誤差,但由于引出導(dǎo)線較多,在測(cè)量中電路連接比較復(fù)雜,因此在工業(yè)應(yīng)用中很少采用四線制測(cè)量方法,它主要用于高精度的溫度測(cè)量場(chǎng)合,如實(shí)驗(yàn)室內(nèi)進(jìn)行精密測(cè)量。
熱電阻測(cè)量信號(hào)轉(zhuǎn)換電路最常用的就是電橋電路,主要包括直流和交流兩種,其作用是把由于溫度變化而產(chǎn)生的電阻變化率ΔR/R 轉(zhuǎn)換成電壓輸出,然后經(jīng)過(guò)電路放大和調(diào)理后通過(guò)選擇開(kāi)關(guān)SW1連接到ADC0832通道CH1進(jìn)行測(cè)量。其優(yōu)點(diǎn)在于可以測(cè)量被測(cè)物體的微弱變化、電路便于實(shí)現(xiàn)及測(cè)量精確等。本設(shè)計(jì)采用的是直流電橋,輸出方式為電壓型,其硬件電路連接原理如圖5所示。
圖5 熱電阻PT100及轉(zhuǎn)換電路原理圖
本仿真實(shí)訓(xùn)平臺(tái)還包括了溫濕度傳感器SHT11、光照傳感器APDS-9002、熱電偶TCK 和粉塵傳感器PPD42等[11]。SHT11是一款經(jīng)過(guò)內(nèi)部校準(zhǔn)的數(shù)字信號(hào)輸出的溫、濕度傳感器,具有很高的可靠性、穩(wěn)定性、抗干擾能力強(qiáng)和極低的功耗。SHT11與微處理器通過(guò)二線串行數(shù)字接口傳輸數(shù)據(jù)。硬件接口電路設(shè)計(jì)簡(jiǎn)單原理如圖6所示。光照傳感器APDS-9002主要用于檢測(cè)光照強(qiáng)度,先將光照強(qiáng)度轉(zhuǎn)為電壓值,再經(jīng)簡(jiǎn)單的調(diào)理電路將該電壓值轉(zhuǎn)換為ADC0832所需值,通過(guò)選擇開(kāi)關(guān)SW1連接到ADC0832通道CH1進(jìn)行測(cè)量,主要用于農(nóng)林業(yè)等溫室大棚對(duì)光照強(qiáng)度的檢測(cè)等,硬件連接原理如圖6所示。
熱電偶TCK 是工業(yè)領(lǐng)域里測(cè)量溫度最常用的元件,將溫度信號(hào)轉(zhuǎn)換成熱電動(dòng)勢(shì)信號(hào)。特點(diǎn)是裝配簡(jiǎn)單、更換方便、精度高及測(cè)量范圍廣。其兩端連接到MAX6675輸入端T+和T-, MAX6675是MAXIM 公司的具有線性校正、冷端補(bǔ)償、熱電偶斷線檢測(cè)的K 型A/D 轉(zhuǎn)換器,其溫度分辨能力為12位0.25℃,冷端補(bǔ)償范圍為-20~+80℃,具有低功耗特性,與微處理器接口采用兼容SPI 串口通信,硬件連接如圖6所示。粉塵傳感器PPD42基于光的散射原理,即粉塵在光的照射下會(huì)產(chǎn)生散射現(xiàn)象,通過(guò)光敏元件把散射的光信號(hào)轉(zhuǎn)換成電壓信號(hào),電信號(hào)經(jīng)過(guò)內(nèi)部調(diào)理電路轉(zhuǎn)換成PWM 方式輸出,微處理器通過(guò)計(jì)算粉塵濃度值輸出顯示。它可以連續(xù)檢測(cè)空氣中的1微米以上的粉塵粒子,可廣泛用于空氣凈化器、空氣質(zhì)量監(jiān)控儀和清新機(jī)等,硬件連接如圖6所示。
圖6 四路傳感器硬件連接原理圖
仿真實(shí)訓(xùn)平臺(tái)采用AT89C52作為微處理器,其開(kāi)發(fā)編譯環(huán)境為Keil C51,軟件設(shè)計(jì)主要包括主程序和各個(gè)傳感器測(cè)量子程序模塊兩部分。其中主程序模塊完成系統(tǒng)初始化和測(cè)量子模塊的選擇功能,傳感器測(cè)量子程序模塊主要用于上述8種傳感器實(shí)驗(yàn)參數(shù)采集、A/D 轉(zhuǎn)換、數(shù)據(jù)換算及顯示等。
系統(tǒng)完成基本硬件初始化后,主程序進(jìn)入到功能選擇界面,在該界面可通過(guò) “上” 和 “下” 按鍵來(lái)選擇做何種傳感器測(cè)量實(shí)驗(yàn),字體反顯表示選中該實(shí)驗(yàn),此時(shí)按下 “確認(rèn)” 按鈕則進(jìn)入到該實(shí)驗(yàn)子模塊程序中,其主程序流程和顯示界面如圖7所示。
圖7 主程序流程及顯示界面圖
本仿真實(shí)訓(xùn)平臺(tái)包含8個(gè)傳感器測(cè)量子程序,在所有子程序中按下 “返回” 按鈕直接返回到功能選擇界面,這樣可進(jìn)行下一個(gè)傳感器測(cè)量實(shí)驗(yàn)選擇。在這些子程序中包含了硬件初始化、參數(shù)采集、A/D 轉(zhuǎn)換、數(shù)據(jù)換算公式及數(shù)據(jù)輸出顯示等。子程序和A/D 轉(zhuǎn)換流程如圖8所示。
圖8 子程序和A/D 轉(zhuǎn)換流程圖
實(shí)驗(yàn)效果測(cè)試是仿真實(shí)訓(xùn)平臺(tái)設(shè)計(jì)的一個(gè)重要方面,本系統(tǒng)對(duì)該平臺(tái)的8個(gè)傳感器模塊進(jìn)行了實(shí)驗(yàn)測(cè)試,結(jié)果表明該平臺(tái)設(shè)計(jì)簡(jiǎn)單實(shí)用,能滿足學(xué)生對(duì)傳感器實(shí)驗(yàn)的要求。現(xiàn)以壓力傳感器壓力MPX4115實(shí)際測(cè)量結(jié)果為例,記錄在表1中,該傳感器量程為15.3kPa~114.9kPa,分度值為0.1kPa,常溫下誤差不超過(guò)1.5%。對(duì)比測(cè)量值與實(shí)際壓力值可知,隨著壓力值降低,誤差相對(duì)變大但在量程范圍內(nèi),誤差基本滿足設(shè)計(jì)要求。總結(jié)誤差原因大致有3點(diǎn):1.ADC0832分辨率只有8位,電壓精度為19.53mV 即(5/256)V,相對(duì)較低;2.在測(cè)量范圍內(nèi),壓力與輸出電壓大致呈線性關(guān)系,有一定的非線性,其換算公式:電壓 = ((10.0 / 23.0) * ADC0832(0)) + 9.3;3.溫度補(bǔ)償也有一定的誤差。
表1 仿真誤差效果測(cè)試表
設(shè)計(jì)并實(shí)現(xiàn)了基于Proteus 的傳感器虛擬仿真實(shí)訓(xùn)平臺(tái),其特點(diǎn)是成本低,沒(méi)有場(chǎng)地和器材等條件的限制,可重復(fù)操作,改變了以往傳統(tǒng)實(shí)驗(yàn)的教學(xué)模式;安全性好,不會(huì)因操作不當(dāng)而發(fā)生事故;效率高,可以使學(xué)生快速掌握實(shí)驗(yàn)和達(dá)到具體目標(biāo)和要求[12]。本設(shè)計(jì)通過(guò)對(duì)系統(tǒng)各個(gè)傳感器模塊進(jìn)行實(shí)際測(cè)試,結(jié)果表明,該平臺(tái)設(shè)計(jì)簡(jiǎn)單直觀,可以使學(xué)生按照自己的想法來(lái)實(shí)現(xiàn)傳感器電路的設(shè)計(jì),對(duì)學(xué)生理解理論知識(shí)有很大的促進(jìn),極大地提高了學(xué)生學(xué)習(xí)的積極性和創(chuàng)造力。