1.1功能分析
1.1.1功能分析當(dāng)小車溫度降在警報(bào)溫度以下,LCD屏顯示“zheng chang”小車正常轉(zhuǎn)動(dòng)。 當(dāng)芯片達(dá)到一定溫度時(shí)候發(fā)出報(bào)警,Led燈亮,LCD屏顯示“wen du gao !”小車停止轉(zhuǎn)動(dòng); 1.1.2工作原理STM32單片機(jī)內(nèi)置了一個(gè)溫度傳感器,這個(gè)溫度傳感器產(chǎn)生一個(gè)隨溫度性變化的電壓,測(cè)量范圍為-40 - +125攝氏度。在內(nèi)部被鏈接到輸出通道ADC_IN16上,用于將傳感器的輸出轉(zhuǎn)換成數(shù)字量。
第二章 硬件設(shè)計(jì)
2.1設(shè)計(jì)原理
圖2.1溫度傳感器結(jié)構(gòu)圖 STM32單片機(jī)內(nèi)置了一個(gè)溫度傳感器,這個(gè)溫度傳感器產(chǎn)生一個(gè)隨溫度性變化的電壓,測(cè)量范圍為-40 - +125攝氏度。在內(nèi)部被鏈接到輸出通道ADC_IN16上,用于將傳感器的輸出轉(zhuǎn)換成數(shù)字量。溫度傳感器模擬輸入的采樣時(shí)間需大于2.2us。在STM32單片機(jī)教學(xué)開(kāi)發(fā)板上,模擬部分的供電電源VDDA接3.3V,模擬地與系統(tǒng)GND相連。 若要使用STM32自帶的溫度傳感器,需設(shè)置ADC控制器2(ADC_CR2)中的TSVREFE控制位,以使能溫度傳感器Vsense輸入通道ADC_IN16和內(nèi)部參考電壓Vrefint輸入通道ADC_IN17。通過(guò)固件庫(kù)函數(shù)來(lái)完成這兩個(gè)通道的使能。 當(dāng)fADC = 14MHz,采樣時(shí)間設(shè)為239.5個(gè)周期時(shí),則采樣時(shí)間位39.5/17.1us,這是推薦的采樣時(shí)間。實(shí)際系統(tǒng)時(shí)鐘往往為72MHz,fADC = 12MHz,可設(shè)采樣時(shí)間位71.5個(gè)周期。 ADC_IN16通道上讀出溫度傳感器電壓與實(shí)際溫度的對(duì)應(yīng)關(guān)系如下: Temperature = ((V25 - Vsense) / Avg_Slope)+25 Temoerature = (14.3 – 14.0)*1000/4.3 + 25 = 31.9 由于STM32單片機(jī)的ADC是12位的,模擬部分電路的供應(yīng)電源VDDA接3.3V,所以溫度傳感器的電壓值與轉(zhuǎn)換后數(shù)字量關(guān)系為: V = AD_value*3.3 / 4095 2.2設(shè)計(jì)的結(jié)構(gòu)圖
圖2.2 結(jié)構(gòu)框圖 
圖2.3。保叮埃睱CD與STM32單片機(jī)連接圖 最終按照原理進(jìn)行連線得到下圖實(shí)物圖:
圖2.4 實(shí)物圖 第三章 軟件設(shè)計(jì)
3.1軟件設(shè)計(jì)原理利用STM32單片機(jī)內(nèi)置溫度傳感器檢測(cè)環(huán)境溫度的步驟如下: - 初始化ADC:選擇ADC_IN16輸入通道,設(shè)置采樣時(shí)間等參數(shù)。
- 設(shè)置控制寄存器2(ADC_CR2)中的TSVREFE位,開(kāi)啟內(nèi)置溫度傳感器和內(nèi)部參考電壓通道。
- 設(shè)置控制寄存器2(ADC_CR2)中的ADNO位,軟件啟動(dòng)ADC轉(zhuǎn)換,也可以用外部觸發(fā)。
- 讀取寄存器(ADC_DR)中的結(jié)果,如果有必要,可進(jìn)行數(shù)字濾波。
- 計(jì)算溫度值。
- 判斷測(cè)量溫度與設(shè)定值的大小關(guān)系。若測(cè)量值小于設(shè)定值,則小車正常運(yùn)行且PE4輸出高電平,LCD顯示”zheng chang”;若測(cè)量值大于設(shè)定值,則只有PE3輸出低電平,LCD顯示”wen du gao !”。
3.2軟件設(shè)計(jì)流程圖圖3.2設(shè)計(jì)流程圖 3.3主要代碼
第四章 調(diào)試與運(yùn)行結(jié)果經(jīng)過(guò)一次次的調(diào)試與改進(jìn),我們將程序編譯下載操作,最終結(jié)果如下顯示: 4.1串口顯示出當(dāng)前芯片的溫度為40.73 圖4.1 串口顯示圖 4.2當(dāng)我們?cè)O(shè)定溫度為50時(shí),這是我們的溫度是不超過(guò)我們?cè)O(shè)定的警戒值,所以LCD顯示“zhang chang”電機(jī)正常轉(zhuǎn)動(dòng)。
IMG_20191217_110710.jpg (2.59 MB, 下載次數(shù): 60)
下載附件
2019-12-18 16:53 上傳
圖4.2溫度未達(dá)到警戒值時(shí)狀態(tài)圖 4.3當(dāng)我們?cè)O(shè)定溫度為20時(shí),這是我們的溫度是超過(guò)我們?cè)O(shè)定的警戒值,所以LCD顯示“wen。洌酢。纾幔铩。 边@時(shí)我們LED警示燈常亮,電機(jī)不轉(zhuǎn)。

圖4.3溫度達(dá)到警戒值時(shí)狀態(tài)圖
第五章 實(shí)驗(yàn)總結(jié)利用STM32單片機(jī)內(nèi)部溫度傳感器監(jiān)測(cè)溫度的程序運(yùn)行結(jié)果如圖,實(shí)際從測(cè)量出來(lái)的溫度值超過(guò)正常值太多,找到以下原因: 1、ADC的參考電壓不穩(wěn)定,這是測(cè)控問(wèn)題常見(jiàn)問(wèn)題; 2、使能ADC前未做校準(zhǔn),校準(zhǔn)可以防止內(nèi)部電容器的不一致性問(wèn)題; 3、ADC采樣轉(zhuǎn)換過(guò)程中受到干擾 圖5.1 串口顯示圖
第六章 心得體會(huì)在本次ARM課設(shè)—-基于ARM的溫度采集系統(tǒng)中學(xué)到了一些很重要的東西,那就是如何從理論到實(shí)踐的轉(zhuǎn)化,怎樣將我們所學(xué)到的知識(shí)運(yùn)用到實(shí)踐中去。在大學(xué)課堂的學(xué)習(xí)只是給我們灌輸專業(yè)知識(shí),而我們應(yīng)把所學(xué)的知識(shí)應(yīng)用到我們現(xiàn)實(shí)的生活中去。通過(guò)此次設(shè)計(jì),充分認(rèn)識(shí)到動(dòng)手實(shí)踐的重要性,在幾基本的實(shí)驗(yàn)課以及本次課設(shè)中都會(huì)出現(xiàn)一些問(wèn)題,而我們正是要發(fā)現(xiàn)這些問(wèn)題,去解決他們。也同時(shí)讓我感受到ARM在生活中的作用以及一些應(yīng)用拓展。讓我學(xué)到很多,不僅僅來(lái)自課本中的知識(shí)。
IMG_20191217_110549.jpg (1.19 MB, 下載次數(shù): 59)
下載附件
2019-12-18 16:53 上傳
IMG_20191217_110430.jpg (1.12 MB, 下載次數(shù): 57)
下載附件
2019-12-18 16:53 上傳
以上的Word格式文檔51黑下載地址:
文檔.doc
(10.03 MB, 下載次數(shù): 20)
2019-12-20 02:23 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|