馬傳奇
(阜陽職業(yè)技術(shù)學(xué)院工程科技學(xué)院 安徽省阜陽市 236031)
要實(shí)現(xiàn)工農(nóng)生產(chǎn)的自動(dòng)化,溫度的測量是最基本的一個(gè)參數(shù)。隨著科技的發(fā)展,技術(shù)要求的重視,溫度測量的精度也越來越被重視,因此高精度溫度測量系統(tǒng)的研究成為亟需解決的問題[3]。在高科技快速發(fā)展的現(xiàn)代社會(huì),檢測溫度的儀器已經(jīng)普遍應(yīng)用到各個(gè)工業(yè)領(lǐng)域中,智能化溫度控制系統(tǒng)成為了溫度控制的主要方向趨勢。目前國內(nèi)基于單片機(jī)的測溫系統(tǒng)普遍使用51系列或AVR單片機(jī)[4],因其運(yùn)行速度較慢,內(nèi)部保護(hù)控制能力不佳,極易引起芯片的損壞,一般僅在對性能要求較低的場合使用。另外,在測量精度上,目前常用溫度傳感器測溫電路中,測量溫度的絕對誤差普遍在0.1至0.3℃,很難突破更高精度的測溫要求?,F(xiàn)有溫度測量方法步驟過于繁瑣以及測量時(shí)間較長,因此研究溫度的測量方法和裝置具有重要的意義。為解決這一問題,本課題研究一種基于STM32微控制器的高精度、高性價(jià)比的智能測溫系統(tǒng)。該系統(tǒng)可以顯示實(shí)時(shí)溫度,以 STM32 為核心控制器,將溫度傳感器采集到的信息進(jìn)行數(shù)據(jù)實(shí)時(shí)顯示,從而實(shí)現(xiàn)高精度快速測溫。
國外對溫度測控技術(shù)的研究相對較早,始于20世紀(jì)70年代。溫度測控的系統(tǒng)在我們國家開展研究比國外晚一些,上世紀(jì)80年代左右我國開始研究溫度測控系統(tǒng)。我國的工程技術(shù)人員在吸收和借鑒發(fā)達(dá)國家溫度測控技術(shù)的基礎(chǔ)上,掌握了溫度室內(nèi)微機(jī)控制技術(shù),但是與發(fā)達(dá)國家相比,仍然存在著比較大的差距。我國的溫度測量控制的層次還比較低,生產(chǎn)實(shí)際中任然存在著多種的迫切處理的問題,例如我們裝備配套需要完善,產(chǎn)業(yè)化程度急需提高,溫度的精度控制急需提升,可靠度和安全性能需要改善。
溫度傳感器的選擇很重要,一款性能良好的傳感器影響著測溫系統(tǒng)的性能指標(biāo)?;趥鞲衅鬟x型主要是按照傳感器的測溫范圍、線性度等性能指標(biāo),選擇合適的傳感器進(jìn)行溫度的采集,當(dāng)前市場上較常見的有半導(dǎo)體熱敏電阻、金屬熱電阻、熱電偶、集成溫度傳感器等[5]。其中半導(dǎo)體熱敏電阻雖然靈敏度很高,價(jià)格便宜,但是線性度很差,主要用于溫度的控制及低精度溫度測量。金屬熱電阻目前使用較多的是銅電阻和鉑電阻[6],其中銅電阻主要適用于測量精度不太高、測量范圍不大(-50~150℃)的場合[7]。鉑材料是當(dāng)前工農(nóng)業(yè)生產(chǎn)中熱電阻較理想的材料,使用鉑材料的鉑電阻傳感器是目前測溫較好的一種常見溫度計(jì)[8],它能在長時(shí)間保持穩(wěn)定的復(fù)現(xiàn)性達(dá)到10-4K,應(yīng)用于中溫度區(qū)域和低溫度區(qū)域的溫度監(jiān)測。熱電偶的測溫范圍很寬,但溫度至電壓傳遞函數(shù)中的非線性往往需要增加外部補(bǔ)償電路。集成溫度傳感器功耗低、體積小,但其測溫范圍一般不超過200℃。DS18B20是一種較為理想的溫度測量器件,測量信號是數(shù)字量,傳感器體積小,產(chǎn)品價(jià)格低廉,穩(wěn)定性高,溫度測量精度高的特點(diǎn),具有較高的性價(jià)比。
20世紀(jì)90年在溫度控制領(lǐng)域出現(xiàn)了智能溫度傳感器,當(dāng)時(shí)的技術(shù)相對落后這種傳感器的測溫精度比較低,它的分辨力在1℃。美國等西方國家已經(jīng)推出多款精度和分辨率等性能參數(shù)比較高的數(shù)字溫度傳感器,如TS18B20,此傳感器結(jié)構(gòu)簡單,使用方便,封裝形式豐富多樣,占用空間不大,適用于狹小空間溫控領(lǐng)域。
在測量精度上,目前三線制DS18B20溫度傳感器測溫電路中,測量溫度的絕對誤差普遍在0.1至0.3℃,難突破更高精度的測溫要求。四線制連接法是目前精度最高的一種接線方式,國外研究的四線制的測溫系統(tǒng)的精度已達(dá)到0.01℃。
從溫度測控系統(tǒng)的發(fā)展來看,以微控制器為核心構(gòu)成的溫度控制系統(tǒng)已被國內(nèi)外許多公司和相關(guān)的科研單位作為研究對象, 其具有硬件升級簡單,軟件工具豐富,單聯(lián)機(jī)運(yùn)行調(diào)試方便,生產(chǎn)制造成本低廉,設(shè)備的更新?lián)Q代迅速的特點(diǎn)。加之近年來,微控制器的性能不斷提高,而價(jià)格逐年降低,微控制器的溫度控制系統(tǒng)具有廣闊的發(fā)展和應(yīng)用前景。目前國內(nèi)外基于微控制器的智能測溫系統(tǒng)普遍使用51系列或AVR單片機(jī),因其運(yùn)行速度過慢,保護(hù)能力差,很容易燒壞芯片。
為了滿足溫度測量市場快速發(fā)展的需要,ST公司于2011年推出了STM32系列產(chǎn)品,擴(kuò)展原有的指令,增加新的FPU單元模塊,同時(shí)運(yùn)行的頻率提高到170MHz左右,在軟件編程和引腳方面此系列產(chǎn)品不同型號之間具有很好的兼容性,同時(shí)可方便產(chǎn)品使用方迅速升級產(chǎn)品。
工業(yè)生產(chǎn)過程中溫度測控系統(tǒng)的核心競爭力主要取決于溫度采集方式、測量電路、微控制器、測溫精度、系統(tǒng)穩(wěn)定性等幾大因素[9]。結(jié)合目前工業(yè)生產(chǎn)過程中的溫度測控系統(tǒng)存在的主要問題,設(shè)計(jì)一種基于STM32微控制器和DS18B20溫度傳感器作為溫度傳感器的溫度測量和控制系統(tǒng)。本文主要研究智能測溫系統(tǒng)的溫度采集部分和單片機(jī)連接的硬件電路設(shè)計(jì)及軟件程序開發(fā),并實(shí)現(xiàn)溫度的高精度采集和實(shí)時(shí)顯示。
基于STM32處理器的測溫系統(tǒng)構(gòu)成如圖1所示。
圖1:測溫系統(tǒng)構(gòu)成圖
本文研究的基于STM32控制的智能測溫系統(tǒng)由五大模塊構(gòu)成:溫度采集模塊、測量電路模塊、放大電路模塊、微控制器模塊和數(shù)據(jù)顯示模塊。溫度采集模塊采用DS18B20傳感器作為溫度傳感器,采用三線制連接法測量電路;放大電路模塊采用差分放大電路抑制共模信號,采用差分對稱,能夠?qū)α泓c(diǎn)漂移和噪聲進(jìn)行很好的抑制[10]。在基于Cortex M4內(nèi)核的STM32控制器的基礎(chǔ)上,搭建系統(tǒng)所需的外部控制電路,通過軟件編程實(shí)現(xiàn)溫度數(shù)據(jù)的實(shí)施顯示。重點(diǎn)研究在溫度測量過程中測量電路的設(shè)計(jì)和微控制器實(shí)時(shí)顯示溫度的問題。通過設(shè)計(jì)溫度采集模塊和測量電路模塊實(shí)現(xiàn)溫度的高精度快速測量,通過微控制器的外設(shè)電路和程序編寫,顯示溫度的采集結(jié)果。
基于ARM7構(gòu)架的是stm32系列處理器,具有實(shí)施仿真和數(shù)據(jù)跟蹤的性能。這種芯片不僅功能比較強(qiáng)大,同時(shí)在設(shè)計(jì)之初就追求降低能耗和降低成本目標(biāo),在耗能低的同時(shí)它還能提供比較豐富的接口,方便實(shí)驗(yàn)研究外圍電路的擴(kuò)展。這款處理器的系統(tǒng)學(xué)習(xí)也比較簡單,學(xué)習(xí)者很容易掌握硬件設(shè)計(jì)和軟件控制的技能。
4.1.1 STM32的特性
(1)內(nèi)部使用Cortex-M3內(nèi)核,構(gòu)架先進(jìn);
(2)實(shí)施性能優(yōu)秀;
(3)比較低的功率消耗;
(4)豐富的外設(shè);
(5)集成整合程度較高;
(6)開發(fā)簡單,產(chǎn)品市場推廣速度快。
4.1.2 STM32微控制器接口電路
如圖2所示。
圖2:STM32微控制器接口電路圖
JDY-31藍(lán)牙模塊用于無線通信,它具有價(jià)格低廉、所用空間小、數(shù)據(jù)傳輸快捷等特點(diǎn),外部只需少量電路就可實(shí)現(xiàn)通訊功能。本文中的藍(lán)牙模塊就是為了無線數(shù)據(jù)傳輸而專門打造的,支持串行接口,支持SP藍(lán)牙串口協(xié)議。
4.2.1 藍(lán)牙模塊主要參數(shù)
(1)工作電壓:3.3V-6V;
(2)溫度區(qū)域:零下40℃-85℃;
(3)天線:PCB板載天線;
(4)功耗:19mA。
4.2.2 藍(lán)牙模塊接口連接說明
(1)RXD 串口輸入,電平為TTL電平;
(2)TXD 串口輸出,電平為TTL電平;
(3)GND 接GND;
(4)VCC 接3.3V-6V。
4.2.3 藍(lán)牙模塊接線圖
如圖3所示。
圖3:藍(lán)牙模塊接線圖
DS18B20這種數(shù)字溫度傳感器具有數(shù)據(jù)測量精度極高、接口電路簡單、極強(qiáng)抗干擾能力、硬件成本低、傳感器外形小巧安裝方便等優(yōu)點(diǎn)[11]。這種溫度傳感器外觀根據(jù)不同的應(yīng)用而變化進(jìn)行封裝,DS18B20可用于電纜溝的溫度測量[12]、高爐水循環(huán)和鍋爐的溫度測量、機(jī)房溫度測量、農(nóng)業(yè)溫室溫度測量、潔凈室溫度測量、彈藥庫溫度測量等。
4.3.1 DS18B20使用情況
(1)測溫區(qū)域最低可測-55℃,最高可測125℃。
(2)電源使用直流電源,所需電壓范圍3.0~5.5V[13]。
(3)使用更簡單,無需其他配套元件。
(4)采用串行方式傳送測量的數(shù)字量。
4.3.2 DS18B20傳感器實(shí)物圖
如圖4。
圖4:DS18B20傳感器實(shí)物圖
4.3.3 DS18B20溫度傳感器原理圖
如圖5,10K電阻為上拉電阻,保證DS18B20傳感器數(shù)據(jù)讀取更穩(wěn)定,使用一條數(shù)據(jù)線把STM32微處理器與DS18B2O連接,即可實(shí)現(xiàn)他們之間的通信。
圖5:DS18B20器件原理圖
依據(jù)控制系統(tǒng)的控制要求,除了上述的核心器件外,還需要一些輔助的器材,整個(gè)系統(tǒng)控制所需的器件如表1所示。
表1:STM32單片機(jī)溫度采集系統(tǒng)硬件材料表
系統(tǒng)軟件部分主要針對DS18B20溫度傳感器、基于Cortex M4內(nèi)核的STM32微控制器進(jìn)行信息的處理和傳輸,藍(lán)牙數(shù)據(jù)傳輸?shù)饶K進(jìn)行驅(qū)動(dòng)調(diào)試,以及配合按鍵、蜂鳴器功能特點(diǎn)和通信協(xié)議進(jìn)行設(shè)計(jì)開發(fā)。STM32微控制器溫度測控設(shè)計(jì)流程如圖6所示。
圖6:STM32微控制器溫度測控設(shè)計(jì)流程圖
系統(tǒng)程序較為復(fù)雜,計(jì)算量大,因此運(yùn)用了很多的浮點(diǎn)計(jì)算,在程序編寫時(shí)使用C語言編寫。C語言適用于大多數(shù)程序控制系統(tǒng),項(xiàng)目可以很容易地轉(zhuǎn)換為使用其他處理器控制系統(tǒng),在功能、結(jié)構(gòu)、可讀性、可移植性和可維護(hù)性方面相對簡單。以下介紹溫度控制系統(tǒng)的編程語言、程序的開發(fā)以及程序的燒錄。
程序編寫時(shí)使用C語言編寫,對于大多數(shù)微控制器,使用高級語言(如C語言)具有以下優(yōu)勢:
(1)對處理器的存儲(chǔ)結(jié)構(gòu)和程序指令不需要提前學(xué)習(xí);
(2)數(shù)據(jù)的尋址模式和寄存器的分配由微處理器的編譯器管理,編寫程序期間無需考慮內(nèi)部存儲(chǔ)地址和存儲(chǔ)數(shù)據(jù)的類型等事宜;
(3)所編程序的可讀性高;
(4)更類似于人類思維的關(guān)鍵字和操作函數(shù),方便理解;
(5)這種語言便捷,節(jié)約程序編寫和調(diào)試的時(shí)間;
(6)有很多標(biāo)準(zhǔn)的示范程序,方便程序員開發(fā);
(7)模塊化編程技術(shù)運(yùn)用,可以將前期準(zhǔn)備好的程序添加到新程序中,簡化開發(fā)的難度;
(8)C語言適用于大多數(shù)程序控制系統(tǒng),項(xiàng)目可以很容易地轉(zhuǎn)換為使用其他處理器控制系統(tǒng),在功能、結(jié)構(gòu)、可讀性、可移植性和可維護(hù)性方面相對簡單。
本設(shè)計(jì)中單片機(jī)開發(fā)環(huán)境是Keil,Keil是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與其他語言相比,C語言在功能、結(jié)構(gòu)、可讀性、可移植性和可維護(hù)性方面相對簡單。Keil提供了包括C編譯器、宏匯編、鏈接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(μVision)將這些部分組合在一起。在微軟的操作系統(tǒng)上都可以運(yùn)行keil軟件,對系統(tǒng)的硬件配置要求不高。使用C語言編程,使用Keil軟件是最好的選擇。即使不使用C語言,譬如使用匯編語言進(jìn)行程序編寫,其易于使用的集成環(huán)境、強(qiáng)大的軟件模擬、豐富的調(diào)試工具,使得在程序開發(fā)和調(diào)試方面事半功倍。Keil有以下優(yōu)點(diǎn):
(1)Keil軟件同時(shí)支持WINXP、WIN7、WIN10等多種操作系統(tǒng),提供了豐富的庫函數(shù)和功能強(qiáng)大的開發(fā)工具;
(2)Keil可以完成從編輯、編譯、到連接、調(diào)試的一套開發(fā)流程。
Keil軟件界面如圖7所示。
圖7:Keil uVision5開發(fā)界面圖
FlyMcu是一款好用的stm32燒錄程序軟件,對于專業(yè)的單片機(jī)開發(fā)者來說應(yīng)該非常適用,軟件可以廣泛地應(yīng)用于電路編程(ICP)和應(yīng)用編程(IAP)領(lǐng)域,支持進(jìn)行編程、校驗(yàn)、讀器件信息。
可以通過下載器(即CH340串口燒錄模塊)下載單片機(jī)程序。單片機(jī)開發(fā)板、下載器以及PC連接好后,首先需要在軟件中選擇串口號,然后選擇項(xiàng)目程序“hex”文件所在的地址,最后就可以點(diǎn)擊開“開始編程(P)”按鈕即可下載程序。程序的下載頁面如圖8所示。
圖8:燒錄軟件下載界面
本文中開發(fā)的程序使用ch340串口燒錄模塊進(jìn)行燒錄。采用USB接口的串口燒錄模塊,在與外部電腦連接時(shí)非常便捷,同時(shí)這種燒錄模塊具有性能可靠、價(jià)格低廉、性能優(yōu)越等特點(diǎn),其便捷性使得許多微處理器開發(fā)的技術(shù)人員樂意使用此模塊。
5.4.1 CH340串口燒錄模塊特點(diǎn)
(1)支持 USB1.1 或 USB2.0 通信;
(2)全面支持 WIN98、WINME、WIN2000、WINXP、 VISTA、 WIN7 等操作系統(tǒng);
(3)采用 USB 口供電;
(4)在對芯片編程時(shí)可以使用目標(biāo)系統(tǒng)本身電源,也可以使用編程器從 USB 口取電供給目標(biāo)板,但應(yīng)保證目標(biāo)板電流不大于500mA,以免不能正常編程;
(5)編程完成不影響目標(biāo)板的程序運(yùn)行;
(6)支持 大部分芯片燒錄;
(7)編程器提供 3.3V 與 5V 的電壓輸出接口;
(8)使用串口速度既快又穩(wěn)定,USB接口筆記本和臺(tái)式機(jī)都可快速連接,非常方便;
(9)這種芯片封裝技術(shù)使得程序編寫運(yùn)行穩(wěn)定快捷。
5.4.2 CH340串口燒錄模塊引腳說明
(1)+5V是5V輸出輸出,因有USB電源線,故本開發(fā)板不需要接;
(2)VCC本開發(fā)板不需要接;
(3)3V3 是3.3V輸出,本開發(fā)板不需要接;
(4)TXD 接單片機(jī)的RXD引腳;
(5)RXD 接單片機(jī)的RXD引腳;
(6)GND 接GND。
5.4.3 CH340串口燒寫模塊與單片機(jī)的具體接線圖
如表2所示。
表2:CH340模塊與單片機(jī)開發(fā)板對應(yīng)接線
本文主要從系統(tǒng)構(gòu)造,硬件設(shè)計(jì),軟件分析進(jìn)行研究。溫度的采集使用DS18B20溫度傳感器,數(shù)據(jù)的處理使用基于cortex M4內(nèi)核的STM32微控制器,數(shù)據(jù)傳輸使用具有成本低、體積小、收發(fā)靈敏度高的藍(lán)牙模塊。通過藍(lán)牙傳輸實(shí)現(xiàn)數(shù)據(jù)的無線傳輸至手機(jī)端,非常方便,可以實(shí)現(xiàn)溫度遠(yuǎn)距離實(shí)時(shí)傳輸,極大程度了降低了在溫度監(jiān)測系統(tǒng)管理的人力成本。整個(gè)智能測溫系統(tǒng)能夠?qū)崿F(xiàn)高精度的溫度采集,滿足設(shè)計(jì)要求。