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

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

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

經過一次次的調試與改進,我們將程序編譯下載操作,最終結果如下顯示:
4.1串口顯示出當前芯片的溫度為40.73

4.2當我們設定溫度為50時,這是我們的溫度是不超過我們設定的警戒值,所以LCD顯示“zhang chang”電機正常轉動。

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