當(dāng)小車溫度降在警報溫度以下,LCD屏顯示“zheng chang”小車正常轉(zhuǎn)動。
當(dāng)芯片達到一定溫度時候發(fā)出報警,Led燈亮,LCD屏顯示“wen du gao !”小車停止轉(zhuǎn)動;
1.1.2工作原理STM32單片機內(nèi)置了一個溫度傳感器,這個溫度傳感器產(chǎn)生一個隨溫度性變化的電壓,測量范圍為-40 - +125攝氏度。在內(nèi)部被鏈接到輸出通道ADC_IN16上,用于將傳感器的輸出轉(zhuǎn)換成數(shù)字量。

圖2.1溫度傳感器結(jié)構(gòu)圖
STM32單片機內(nèi)置了一個溫度傳感器,這個溫度傳感器產(chǎn)生一個隨溫度性變化的電壓,測量范圍為-40 - +125攝氏度。在內(nèi)部被鏈接到輸出通道ADC_IN16上,用于將傳感器的輸出轉(zhuǎn)換成數(shù)字量。溫度傳感器模擬輸入的采樣時間需大于2.2us。在STM32單片機教學(xué)開發(fā)板上,模擬部分的供電電源VDDA接3.3V,模擬地與系統(tǒng)GND相連。
若要使用STM32自帶的溫度傳感器,需設(shè)置ADC控制器2(ADC_CR2)中的TSVREFE控制位,以使能溫度傳感器Vsense輸入通道ADC_IN16和內(nèi)部參考電壓Vrefint輸入通道ADC_IN17。通過固件庫函數(shù)來完成這兩個通道的使能。
當(dāng)fADC = 14MHz,采樣時間設(shè)為239.5個周期時,則采樣時間位39.5/17.1us,這是推薦的采樣時間。實際系統(tǒng)時鐘往往為72MHz,fADC = 12MHz,可設(shè)采樣時間位71.5個周期。
ADC_IN16通道上讀出溫度傳感器電壓與實際溫度的對應(yīng)關(guān)系如下:
Temperature = ((V25 - Vsense) / Avg_Slope)+25
Temoerature = (14.3 – 14.0)*1000/4.3 + 25 = 31.9
由于STM32單片機的ADC是12位的,模擬部分電路的供應(yīng)電源VDDA接3.3V,所以溫度傳感器的電壓值與轉(zhuǎn)換后數(shù)字量關(guān)系為:
V = AD_value*3.3 / 4095
2.2設(shè)計的結(jié)構(gòu)圖
圖2.2 結(jié)構(gòu)框圖

圖2.3 1602LCD與STM32單片機連接圖
最終按照原理進行連線得到下圖實物圖:
圖2.4 實物圖
第三章 軟件設(shè)計利用STM32單片機內(nèi)置溫度傳感器檢測環(huán)境溫度的步驟如下:

經(jīng)過一次次的調(diào)試與改進,我們將程序編譯下載操作,最終結(jié)果如下顯示:
4.1串口顯示出當(dāng)前芯片的溫度為40.73

4.2當(dāng)我們設(shè)定溫度為50時,這是我們的溫度是不超過我們設(shè)定的警戒值,所以LCD顯示“zhang chang”電機正常轉(zhuǎn)動。

利用STM32單片機內(nèi)部溫度傳感器監(jiān)測溫度的程序運行結(jié)果如圖,實際從測量出來的溫度值超過正常值太多,找到以下原因:
1、ADC的參考電壓不穩(wěn)定,這是測控問題常見問題;
2、使能ADC前未做校準,校準可以防止內(nèi)部電容器的不一致性問題;
3、ADC采樣轉(zhuǎn)換過程中受到干擾
圖5.1 串口顯示圖
在本次ARM課設(shè)—-基于ARM的溫度采集系統(tǒng)中學(xué)到了一些很重要的東西,那就是如何從理論到實踐的轉(zhuǎn)化,怎樣將我們所學(xué)到的知識運用到實踐中去。在大學(xué)課堂的學(xué)習(xí)只是給我們灌輸專業(yè)知識,而我們應(yīng)把所學(xué)的知識應(yīng)用到我們現(xiàn)實的生活中去。通過此次設(shè)計,充分認識到動手實踐的重要性,在幾基本的實驗課以及本次課設(shè)中都會出現(xiàn)一些問題,而我們正是要發(fā)現(xiàn)這些問題,去解決他們。也同時讓我感受到ARM在生活中的作用以及一些應(yīng)用拓展。讓我學(xué)到很多,不僅僅來自課本中的知識。
以上的Word格式文檔51黑下載地址:
文檔.doc
(10.03 MB, 下載次數(shù): 20)
| 歡迎光臨 (http://www.raoushi.com/bbs/) | Powered by Discuz! X3.1 |