貴州大學(xué)電氣工程學(xué)院 黨長青 熊錦玲 陳湘萍
本系統(tǒng)是基于UCOSII操作系統(tǒng)的溫度采集系統(tǒng),微控制器采用的是意法半導(dǎo)體(ST)公司推出的基于ARM CortexM3內(nèi)核的STM32F103增強(qiáng)型系列STM32F103VC。傳感器使用的是具有負(fù)溫度系數(shù)的熱敏電阻,其阻值隨溫度的升高而減小,通過AD采樣其電壓值,就可以算出對(duì)應(yīng)的阻值,再查詢熱敏電阻的溫度——阻值系數(shù)表,就可以得出當(dāng)前的溫度。該系統(tǒng)的顯示分為兩個(gè)部分,從機(jī)顯示和主機(jī)顯示,從機(jī)顯示采用的是一個(gè)2.8寸的TFT彩色液晶,調(diào)用液晶的顯示庫函數(shù),只需要設(shè)定好函數(shù)的各項(xiàng)參數(shù),也就是顯示的坐標(biāo)和顯示內(nèi)容,就可以在液晶屏上看到我們想看到的內(nèi)容了。主機(jī)顯示即上位機(jī)顯示,用VC編寫顯示的界面。
Stm32f103vc是一個(gè)基于cortex-M3的32位ARM7微控制器,并帶有64或128kB的嵌入式高速Flash存儲(chǔ)器,最高72MHz工作頻率,在存儲(chǔ)器的0等待周期訪問時(shí)可達(dá)1.25DMips/MHz。
由于內(nèi)置了寬范圍的串行通信接口(3個(gè)USART、SPI和2個(gè)I2C)和20KB的片內(nèi)SRAM,7通道DMA控制器,支持的外設(shè)有定時(shí)器、ADC、SPI、I2C和USART,使得Stm32f103vc也適合用在通信網(wǎng)關(guān)和協(xié)議轉(zhuǎn)換器中。3個(gè)16位定時(shí)器,每個(gè)定時(shí)器有多達(dá)4個(gè)用于輸入捕獲/輸出比較/PWM或脈沖計(jì)數(shù)的通道和增量編碼器輸入。1個(gè)16位帶死區(qū)控制和緊急剎車,用于電機(jī)控制的PWM高級(jí)控制定時(shí)器。
方案一:采用Pt10鉑電阻作為檢測(cè)溫度的傳感器,其原理是將溫度的變化反應(yīng)到電阻的電壓的變化上,經(jīng)過A/D轉(zhuǎn)換器將其轉(zhuǎn)換成數(shù)字量,與其溫度的變化相同。其優(yōu)點(diǎn)是測(cè)量的范圍廣,缺點(diǎn)是成本高,輔助電路復(fù)雜,難維護(hù)。
方案二:采用半導(dǎo)體溫度傳感器DS18B20,DS18B20為可編程數(shù)字式溫度傳感器,將采集到的溫度轉(zhuǎn)換成二進(jìn)制數(shù)保存在傳感器中,SCM可以通過對(duì)DS18B20的寄存器的訪問讀出寄存器的值,DS18B20內(nèi)部有上下限報(bào)警值設(shè)定寄存器,可以對(duì)傳感器進(jìn)行上下限報(bào)警設(shè)定。其優(yōu)點(diǎn)是操作簡(jiǎn)單,硬件電路簡(jiǎn)單,不易受到外界的干擾。
方案三:采用熱敏電阻,其阻值隨溫度的變化而變化,一般分為兩種基本類型,負(fù)溫度系數(shù)(NTC)和正溫度系數(shù)(PTC),NTC表現(xiàn)為阻值隨溫度的升高而減小,PTC表現(xiàn)為阻值隨溫度的升高而升高,這兩種熱敏電阻都各自具有優(yōu)點(diǎn)和特點(diǎn),以適應(yīng)不同的應(yīng)用場(chǎng)合,其應(yīng)用電路簡(jiǎn)單,成本低,在測(cè)量精度要求不是很好的場(chǎng)合,熱敏電阻是很好的選擇,基于以上考慮,在本系統(tǒng)中采用的是分溫度系數(shù)的熱敏電阻。
從機(jī)顯示模塊采用的是一個(gè)2.8寸的TFT彩色液晶顯示器,該液晶具有操作簡(jiǎn)單,顯示的信息量大而且設(shè)計(jì)靈活的特點(diǎn),顯示只需要在轉(zhuǎn)換結(jié)束以后調(diào)用顯示的庫函數(shù),設(shè)置好各項(xiàng)參數(shù),需要的內(nèi)容就會(huì)顯示在液晶屏上。
主機(jī)顯示采用的PC機(jī),用VC編寫一個(gè)從串口接收數(shù)據(jù)的界面。在串口打開之前界面如圖3.1所示。
圖3.1 上位機(jī)顯示界面
本系統(tǒng)采用的Stm32f103vc,其供電電源3.3V,其內(nèi)核供電為1.8V,采用的是線性三端集成穩(wěn) 壓芯片U 10 LT1117-3.3,具體電路圖如圖4.1所示。
圖4.1 系統(tǒng)的供電電路圖
圖4.2 串口接口電路圖
在本系統(tǒng)中需要用到串口通信。控制發(fā)送數(shù)據(jù)到PC上顯示。在串口通信中使用到的芯片是MAX3232,MAX3232是一種低功耗擁有兩個(gè)接收器和兩個(gè)發(fā)射器的串口接口芯片。它兼容了RS-232的特性。供電范圍是3V-5.5V.在MAX3232內(nèi)部,有兩個(gè)充電泵。該芯片的外圍電路非常簡(jiǎn)單,外部只需要接上4個(gè)0.1uF的充電電容就可以使用了。通信速率在120kbps能夠保證數(shù)據(jù)不出錯(cuò)。并且能夠保持RS232的輸出電平。MAX3232具有低至1uA的關(guān)閉模式,在便攜式設(shè)備中,降低了電源的消耗,延長了電池的壽命。在低能耗的關(guān)閉模式中,接收器任然處于激活模式,允許調(diào)制解調(diào)器接收數(shù)據(jù),其應(yīng)用電路如圖4.2所示。
在本系統(tǒng)中,傳感器使用的是具有負(fù)溫度系數(shù)的熱敏電阻(NTC),其測(cè)溫原理是:熱敏電阻的阻值隨溫度的升高而降低,熱敏電阻兩端的電壓也相應(yīng)的降低,通過STM32內(nèi)部的AD采樣就可以得到熱敏電阻兩端的電壓,其應(yīng)用電路如圖4.3所示。
圖4.3 熱敏電阻應(yīng)用電路圖
圖5.1 從機(jī)軟件流程圖
圖5.2 主機(jī)軟件流程圖
假如在某一時(shí)刻采樣得到的電壓值為A伏,此時(shí)熱敏電阻的阻值為B歐,計(jì)算出此時(shí)點(diǎn)電阻值,再查詢熱敏電阻的阻值與溫度關(guān)系的對(duì)應(yīng)表,就可以得出此時(shí)的溫度。
圖5.3 主機(jī)接收數(shù)據(jù)界面
該模塊主要是實(shí)現(xiàn)NTC溫度傳感器測(cè)溫功能,首先讀取AD轉(zhuǎn)換的值,然后根據(jù)此值計(jì)算所對(duì)應(yīng)的溫度值。輸出參數(shù)為十進(jìn)制的溫度值。程序流程圖如圖5.1所示。
圖5.4 設(shè)計(jì)實(shí)物圖
該模塊主要是完成接收下位機(jī)傳送上來的數(shù)據(jù),并將數(shù)據(jù)以正確的形式顯示在控制界面當(dāng)中。該模塊包括界面的設(shè)計(jì)以及具體的響應(yīng)函數(shù)的設(shè)計(jì)。
上位機(jī)的串口通信用的不是VC自帶的MSCOMM控件,這里使用一個(gè)動(dòng)態(tài)庫,分別是Pcomm.h,Pcomm.lib,Pcomm.dll。輸入?yún)?shù)為串口的接收數(shù)據(jù),輸出參數(shù)為編輯框的顯示數(shù)據(jù)。程序的流程圖如圖5.2所示。打開串口后主機(jī)接收數(shù)據(jù)時(shí)的界面如圖5.3所示。設(shè)計(jì)的實(shí)物圖如圖5.4所示。
[1]周立功.ARM嵌入式系統(tǒng)基礎(chǔ)教程(二)[M].北京:北京航空航天大學(xué)出版社,2005.
[2]周立功.ARM嵌入式系統(tǒng)基礎(chǔ)教程(三)[M].北京:北京航空航天大學(xué)出版社,2005.
[3]周立功等.EasyArm2131教材[M].
[4]譚浩強(qiáng)著.C程序設(shè)計(jì)(第三版)[M].清華大學(xué)出版社,2007.
[5]周旭.現(xiàn)代傳感器技術(shù)[M].北京:國防工業(yè)出版社,2007.
[6]田澤.嵌入式系統(tǒng)開發(fā)與應(yīng)用教程[M].北京:北京航空航天大學(xué)出版社,2005.