版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于紅外傳感器的非接觸測(cè)溫儀設(shè)計(jì)摘要突如其來(lái)的COVID-19疫情的傳播速度快,范圍廣,做好疫情防控的重要環(huán)節(jié)是控制好傳染源、切斷傳播的途徑。公共場(chǎng)所人員的高密度,高流動(dòng)性,使得選擇一種快速、準(zhǔn)確的測(cè)溫方式對(duì)做好發(fā)熱人員的篩查有重要意義。簡(jiǎn)單便攜且精確度高的溫度儀成為當(dāng)下疫情影響下的人們的重要需求。當(dāng)然測(cè)溫儀的應(yīng)用不是僅僅局限于醫(yī)學(xué),還可以應(yīng)用于火災(zāi)報(bào)警等。在這樣的一個(gè)新冠的大背景下研制一個(gè)既可應(yīng)用于家庭、又體積小方便攜帶、測(cè)量速度快、實(shí)時(shí)性好的非接觸測(cè)溫儀十分需要,這樣可以每天記錄自己的體溫狀況。因?yàn)槊總€(gè)物體本身有著各自的特定溫度,所以它們會(huì)向外部發(fā)出一種具有各自特征和頻率的紅外線(xiàn)輻射能量,這個(gè)數(shù)值是相對(duì)固定的。當(dāng)被檢測(cè)到的物體發(fā)射出紅外輻射能時(shí),可以將其能量轉(zhuǎn)化成電信號(hào),溫度的多少和能量的強(qiáng)弱有對(duì)應(yīng)性,就可以根據(jù)這個(gè)對(duì)應(yīng)性計(jì)算出電信號(hào)對(duì)應(yīng)的溫度的多少。在這個(gè)系統(tǒng)方案中就參照了這個(gè)原理,利用紅外傳感器對(duì)體溫進(jìn)行測(cè)量,紅外傳感器將檢測(cè)到的紅外輻射能轉(zhuǎn)換成電信號(hào),信號(hào)再經(jīng)過(guò)放大傳入A/D轉(zhuǎn)換器,轉(zhuǎn)換成數(shù)字信號(hào),并把轉(zhuǎn)換得到的數(shù)字信號(hào)輸入單片機(jī)STM32中,STM32把得到的信號(hào)傳入顯示電路OLED。關(guān)鍵詞:紅外測(cè)溫;STM32F103C8T6;MLX90614;OLED顯示;超聲波測(cè)距目錄TOC\o"1-3"\h\u16963摘要 概述紅外測(cè)溫系統(tǒng)概述基于紅外傳感器設(shè)計(jì)一個(gè)非接觸測(cè)溫儀。本系統(tǒng)主要有主控模塊、顯示模塊、紅外測(cè)溫模塊、超聲波測(cè)距模塊等。由STM32103C8T6為主控,MLX90614為紅外測(cè)溫模塊,HC-SR04為超聲波測(cè)距模塊,并通過(guò)0.96OLED顯示溫度和距離輸出。圖2-SEQ圖2-\*ARABIC1紅外測(cè)溫系統(tǒng)原理圖系統(tǒng)方案實(shí)現(xiàn)選擇單片機(jī)的選擇與論證:方案一:選擇80C51單片機(jī)為本次設(shè)計(jì)的核心處理器,51也是我接觸過(guò)的單片機(jī),它提供了8位CPU,4KB的ROM存儲(chǔ)空間和128B的RAM存儲(chǔ)空間,但是它僅支持5V供電;而且沒(méi)有自編程能力,也就是說(shuō)在系統(tǒng)程序調(diào)試時(shí),修改程序錯(cuò)誤的或增加一些程序功能時(shí),都需要多次拔插芯片,容易對(duì)芯片造成一定程度的損壞。方案二:選擇STM32F103作為本次設(shè)計(jì)的控制器,STM32系列的內(nèi)核是ARMCortex-M3,它的設(shè)計(jì)滿(mǎn)足了要求高性能,低功耗和低成本的嵌入式應(yīng)用。而且包含了512KB的高速Flash存儲(chǔ)器,還有三個(gè)12位的ADC,1個(gè)兩通道12位DAC,定時(shí)器有11個(gè),他還有兩個(gè)16位帶死區(qū)控制和緊急剎車(chē),還集成了用于電機(jī)控制的PWM高濾波、溫度補(bǔ)償?shù)葦?shù)據(jù)處理任務(wù)。STM32F103單片機(jī)還具有數(shù)據(jù)處理功能,本身就自帶有ADC模塊,因此不需要外部再搭建A/D轉(zhuǎn)換模塊,在一定程度上大大簡(jiǎn)化了電路。所以選取STM32F103為此次設(shè)計(jì)所需的單片機(jī)。紅外傳感器的選擇與論證:方案一:使用紅外溫度傳感器IRTR,但是這個(gè)系列的紅外傳感器是多用于工業(yè)方面的傳感器。方案二:使用熱電堆紅外傳感器MLX90614,MLX90614是常用的非接觸式的紅外溫度傳感器,內(nèi)部包含了紅外探測(cè)熱電堆芯片和信號(hào)處理專(zhuān)用集成芯片,封裝在TO-39。該模塊還運(yùn)用了低噪聲放大器、17位ADC和強(qiáng)大的DSP處理單元,輕松讓傳感器能夠擁有高精度,高分辨率的測(cè)量結(jié)果。方案一中傳感器多用于工業(yè)方面,因此不選用方案一,由于MLX90614具有較高的靈敏度,以及較小的熱慣性,所以適用于醫(yī)學(xué)測(cè)溫,故選用方案二。顯示模塊的選擇與論證:方案一:使用LED數(shù)碼管顯示。它的優(yōu)勢(shì)在于價(jià)格便宜,操作簡(jiǎn)單,電壓低,壽命長(zhǎng)可以用于所有數(shù)字參數(shù)的顯示。方案二:采用OLED液晶顯示屏顯示。它的優(yōu)勢(shì)在于硬件電路制作簡(jiǎn)單,可直接連接到微控制器端口,程序控制簡(jiǎn)單,能耗低,顯示內(nèi)容多。但是方案一中數(shù)碼管,電路復(fù)雜而且能夠顯示的信息也沒(méi)有方案二多,方案二中液晶顯示屏顯示信息量大,而且更加美觀(guān),同時(shí)它的功耗和尺寸都很小。在本系統(tǒng)中需要的顯示的信息量要稍大一些,而且要更加直接,所以在本次設(shè)計(jì)中我選選擇了方案二的OLED液晶顯示屏顯示。本設(shè)計(jì)方案思路本次方案首先用到了紅外線(xiàn)測(cè)溫的原理:由于物體的本身所具有的溫度就是不一樣的,也就是說(shuō)它會(huì)發(fā)射出具有不同波長(zhǎng)的穩(wěn)定的紅外線(xiàn)輻射能力。當(dāng)被測(cè)物體發(fā)射出紅外線(xiàn)輻射能時(shí),可以將這個(gè)能量轉(zhuǎn)變?yōu)殡娦盘?hào)。紅外線(xiàn)輻射能量的強(qiáng)弱與物體自身的溫度是有一定的對(duì)應(yīng)聯(lián)系的,物體的溫度大小可以按照和輻射能量的強(qiáng)弱關(guān)系換算得出。本方案應(yīng)用了這個(gè)原理,利用紅外傳感器進(jìn)行溫度檢測(cè),紅外傳感器會(huì)先采集被測(cè)物體的紅外信號(hào),然后將這個(gè)信號(hào)轉(zhuǎn)換成電信號(hào),放大這個(gè)電信號(hào),再經(jīng)過(guò)A/D轉(zhuǎn)換為數(shù)字信號(hào),并將這個(gè)信號(hào)傳輸?shù)絊TM32中,STM32將接受到的數(shù)字信號(hào)發(fā)送到OLED液晶屏顯示其數(shù)值。超聲波測(cè)距主要采用渡越時(shí)間法,其原理為:主控單元發(fā)射一定頻率的脈沖,激勵(lì)超聲波發(fā)射電路產(chǎn)生超聲波,當(dāng)超聲波傳播到兩種介質(zhì)的分界面時(shí)產(chǎn)生反射波,反射波經(jīng)介質(zhì)傳播返回到超聲波接收電路,主控單元測(cè)出超聲波從發(fā)射到接收所用的時(shí)間,即可計(jì)算出超聲波傳感器與被測(cè)物體之間的距離。REF_Ref23984\r\h[2]主要技術(shù)指標(biāo)設(shè)計(jì)一個(gè)基于紅外傳感器的非接觸式紅外測(cè)溫儀,能顯示被測(cè)溫度和距離。(1)工作電壓:3.6V(2)測(cè)量溫度:0-100度(3)測(cè)量距離:0-2米硬件設(shè)計(jì)本課題擬以STM32F103單片機(jī)為核心,由紅外傳感器、超聲波模塊和OLED顯示模塊等組成,數(shù)字紅外傳感器將物體紅外輻射能轉(zhuǎn)換成數(shù)字信號(hào),輸入到STM32控制器中,經(jīng)控制器的運(yùn)算后,傳感器信號(hào)在液晶屏上顯示出被測(cè)物體溫度讀數(shù)。圖3-SEQ圖3-\*ARABIC1系統(tǒng)總體結(jié)構(gòu)框圖STM32F103C8T6概述STM32控制器有許多系列,它是一個(gè)32位的處理器,是以ARMCortex-M3為開(kāi)發(fā)核心,可以分為以下這些類(lèi)型:超低功耗型STM321、基本型STM32F101和STM32F102USB、互連型STM32F105和STM32F107、增強(qiáng)型STM32F103和超值型STM32F100。在本次的設(shè)計(jì)方案中選擇的是STM32F103。更高性能的32位ARMCortex-M3RISC就是該系列處理器的內(nèi)核。該處理器不僅內(nèi)核體積小、而且硬件配置巧妙便捷、高度集成的系統(tǒng)組件、良好的中斷延遲、系統(tǒng)響應(yīng)速度塊、軟件編程基礎(chǔ)易懂等有點(diǎn),為嵌入式系統(tǒng)提供了理想的解決方案。增強(qiáng)型STM32F103C8T6擁有高性能的內(nèi)核,正常工作時(shí)的頻率是72MHz,其內(nèi)部包含了能夠達(dá)到128K字節(jié)的閃存和20K字節(jié)的SRAM的高速內(nèi)存,豐富的I/O端口和外設(shè)可連接的兩條APB總線(xiàn)。所有類(lèi)型的設(shè)備都包括兩個(gè)12位ADC、三個(gè)通用16位定時(shí)器和一個(gè)PWM定時(shí)器,以及標(biāo)準(zhǔn)和高級(jí)通信接口:最多兩個(gè)I2C接口和SPI接口、三個(gè)USART接口、一個(gè)USB接口和一個(gè)can接口。Stm32f103xx中容量增強(qiáng)型系列產(chǎn)品的電源電壓范圍為2.0V至3.6V,它的溫度測(cè)量范圍可以在-40℃到+85℃之間,擴(kuò)展溫度范圍可在-40℃到+105℃之間。圖3-SEQ圖3-\*ARABIC2STM32F103引腳圖(封裝圖)下圖是STM32F103的主控電路,可以從中看出該芯片的配置資源十分豐富,擁有充足的I/O端口,并且有內(nèi)置的定時(shí)器。所以只需要簡(jiǎn)單的電路就可以實(shí)現(xiàn)許多復(fù)雜的你想要的功能。圖3-SEQ圖3-\*ARABIC3STM32F103主控電路MLX90614紅外測(cè)溫模塊設(shè)計(jì)關(guān)于紅外測(cè)溫模塊,總所皆知,MLX90614系列是應(yīng)用最為廣泛的,也是最受歡迎的。若想投入使用,大概率會(huì)對(duì)紅外測(cè)溫該模塊進(jìn)行校準(zhǔn)跟線(xiàn)性化處理。發(fā)展到現(xiàn)在,并且大受歡迎,紅外測(cè)溫模塊必有它自己的優(yōu)點(diǎn)所在,首先它不需要接觸就能測(cè)溫,再者測(cè)量精度也高。由于體積小,取用也方便,還不影響攜帶。最最重要的一點(diǎn)是所需成本低,非常經(jīng)濟(jì)。MLX90614可以?xún)H僅使用單通道輸出就能得到用戶(hù)所需要的溫度以及環(huán)境溫度,并且內(nèi)部還設(shè)有兩個(gè)輸出接口,因此常常用與北方室內(nèi)溫度加熱,使得空調(diào)內(nèi)部可以根據(jù)用戶(hù)所需進(jìn)行調(diào)節(jié),當(dāng)然也可以應(yīng)用于醫(yī)療方面。、測(cè)量溫度的方式一共有兩種,可以根據(jù)實(shí)際需要來(lái)選擇用接觸式的測(cè)量方式還是非接觸式的測(cè)量方式。如果要使用接觸式,那么只能處于熱平衡之后的狀態(tài)才可以進(jìn)測(cè)量所需物體的溫度。這種方式也存在著一定的缺點(diǎn),等待時(shí)間過(guò)長(zhǎng),并且容易隨著外界溫度的變化而變化。但是,紅外溫度測(cè)量就不一樣了,它主要是依據(jù)需要測(cè)量的物體發(fā)出的紅外輻射來(lái)確定溫度的,并不需要與被測(cè)物體進(jìn)行接觸,除此之外,還能測(cè)量出溫度分布的范圍,不僅溫度的分辨率高,響應(yīng)時(shí)間短,測(cè)量的范圍寬,并且測(cè)量沒(méi)有上限,也不容易受到外界的影響,綜上所述,本課題選擇使用MLX90614模塊來(lái)測(cè)量溫度。單片機(jī)與MLX90614紅外測(cè)溫模塊之間的通信方式為“類(lèi)IIC”通信。從字面上講,通信方式類(lèi)似于IIC,但并不完全相同。這種通信方式也稱(chēng)為SMBus。SMBus(systemmanagementbus)是Intel公司在1995年提出的一種高效的同步串行總線(xiàn)。SMBus有且只有兩條信號(hào)線(xiàn),即雙向數(shù)據(jù)線(xiàn)SDA和時(shí)鐘信號(hào)線(xiàn)SCL。它允許處理器運(yùn)用串行方式與其他的外設(shè)接口設(shè)備來(lái)進(jìn)行通信或交換信息,這種通信方式大大提高了信息的傳輸速度,而且降低了設(shè)備使用時(shí)的資源占用,同時(shí)還可以在沒(méi)有SMBus接口的情況下使用軟件進(jìn)行仿真。圖3-SEQ圖3-\*ARABIC4MLX90614通信交互MLX90416工作原理MLX90614由MLX81101紅外熱電堆傳感器和包括含有穩(wěn)壓電路、低噪聲放大器、A/D轉(zhuǎn)換器、DSP單元、脈寬調(diào)制電路及邏輯控制電路的MLX90302信號(hào)處理芯片構(gòu)建的。??他的工作原理大致可闡述為:紅外熱電堆傳感器的輸出溫度信號(hào)經(jīng)內(nèi)部低噪聲、低失調(diào)運(yùn)算放大器(OPA)放大,再經(jīng)A/D轉(zhuǎn)換器(ADC)轉(zhuǎn)換為17位數(shù)字信號(hào),最后經(jīng)可編程FIR和IIR低通數(shù)字濾波器(DSP)處理,將得到的結(jié)果儲(chǔ)存在其內(nèi)部RAM存儲(chǔ)器中。LX90614中有兩個(gè)存儲(chǔ)器,分別為EEPROM和RAM。MLX90614中共有32個(gè)字長(zhǎng)為16位的EEPROM存儲(chǔ)單元,它的地址是000H—01FH。EEPROM中的一切寄存器都是可以由SMBus進(jìn)行讀取操作的,但只有一些寄存器是能夠改寫(xiě)操作的(地址為0x00,0x01,0x02,0x03,0x04,0x05*,0x0E,0x0F,0x09)。可改寫(xiě)部分如下表所示。名稱(chēng)功能地址Tomax測(cè)量物體溫度上限設(shè)定000HTomin測(cè)量物體溫度下線(xiàn)設(shè)定001HPWMCTRLPWM控制002HTa范圍環(huán)境溫度范圍003H發(fā)射率校準(zhǔn)系數(shù)0.1-1004HConfigRegister1配置寄存器005HSMBus地址器件寄存地址設(shè)置00EH表3-SEQ表3-\*ARABIC1MLX90614EEPROM地址被測(cè)物體的上下限溫度可設(shè)為T(mén)omax和Tomin,環(huán)境溫度測(cè)量的范圍設(shè)為T(mén)a。它的溫度上限測(cè)量公式為:(3.1),并將計(jì)算出的值寫(xiě)入000H;溫度下限的計(jì)算方法和上限相同,計(jì)算出的值被寫(xiě)入001H。MLX90614中一共包含了32個(gè)17位的RAM存儲(chǔ)單元,注意的是不要用RAM來(lái)輸入值,只能讀取16位存儲(chǔ)數(shù)據(jù)通過(guò)讀取RAM中的存儲(chǔ)單元。得到的環(huán)境溫度結(jié)果便會(huì)存儲(chǔ)在006H的存儲(chǔ)單元中,而得到的待測(cè)量物體的溫度數(shù)據(jù)會(huì)保存在地址007H存儲(chǔ)單元中。所以通過(guò)保存在RAM地址中的結(jié)果,在運(yùn)用公式計(jì)算,就可知道Ta及帶測(cè)量物體的To。(3.2)(3.3)名稱(chēng)地址是否可讀Melexis預(yù)留000HYES………………Melexis預(yù)留003HYES原始數(shù)據(jù)IR通道1004HYES原始數(shù)據(jù)IR通道2005HYESTa006HYESTobj1007HYESTobj2008HYESMelexis預(yù)留009HYES表3-SEQ表3-\*ARABIC2MLX90614RAM地址在本設(shè)計(jì)中,我采取了如下圖MLX90614引腳與STM32的對(duì)應(yīng)接線(xiàn)。圖3-SEQ圖3-\*ARABIC5MLX90614引腳圖MLX90614一共四個(gè)外部引腳,分別是串行時(shí)鐘SCL、信號(hào)輸入SDA、電源VCC和接地GND。VCC在本電路中接到STM32F103C8T6的3.3V輸出上(5V也可行,但為了接線(xiàn)方便采用3.3V),GND接最小系統(tǒng)開(kāi)發(fā)板上的地。溫度傳感器的SCL和SDA引腳分別與最小系統(tǒng)的PA0和PA2相連接。超聲波測(cè)距模塊設(shè)計(jì)本方案選用了HC-SR04超聲波測(cè)距模塊,它可以測(cè)量2cm-400cm的距離,并且無(wú)需接觸,測(cè)量精度能達(dá)到3mm。HC-SR04中還集成了超聲波發(fā)射器、接收器和控制電路。工作原理是:HC-SR04中的超聲波發(fā)射探頭發(fā)射出超聲波脈沖,經(jīng)媒質(zhì)(空氣)傳到物體表面,反射后通過(guò)媒質(zhì)(空氣)傳到接收探頭,測(cè)出超聲脈沖從發(fā)射到接收一共所需的時(shí)間,根據(jù)媒質(zhì)中的聲速,就可以求得從探頭到物體表面之間的距離。
工作電壓DC5V工作電流15mA工作頻率40Hz最遠(yuǎn)射程4m最近射程2cm測(cè)量角度15度輸入觸發(fā)信號(hào)10uS的TTL脈沖輸出回響信號(hào)輸出TTL電平信號(hào),與射程成比例表3-SEQ表3-\*ARABIC3HC-SR04電氣參數(shù)HC-SR04共有四個(gè)引腳,分別是電源VCC、接地GND、輸入觸發(fā)信號(hào)Trig(可以觸發(fā)測(cè)距)和傳出信號(hào)回響Echo(可以傳回時(shí)間差)。在這個(gè)設(shè)計(jì)中,引腳配置如下圖,VCC和GND分別接最小系統(tǒng)板上的3V3和地,Trig和Echo分別接到單片機(jī)上I/O端口PB11和PB10。圖3-SEQ圖3-\*ARABIC6HC-SR04引腳圖OLED顯示模塊設(shè)計(jì)本設(shè)計(jì)采用了0.96寸黃藍(lán)雙色的OLED顯示屏,即屏上1/4為黃色,下3/4為藍(lán)色,而且該顏色的區(qū)域劃分是固定的。分辨率是128*64,顯示效果清晰,對(duì)比度高。超大可視角度、寬電壓供電,兼容3.3V和5V邏輯電平,且無(wú)需電平轉(zhuǎn)換芯片。采用了IIC接口方式通訊,默認(rèn)地址為0X78。電氣參數(shù)如下表所示。
名稱(chēng)參數(shù)顯示顏色藍(lán)黃雙色尺寸0.96(inch)類(lèi)型OLED驅(qū)動(dòng)芯片SSD1306分辨率128*64模塊接口3-line、4-line、IICinterface有效顯示區(qū)域21.744*10.864(mm)觸摸屏類(lèi)型無(wú)觸摸屏觸摸IC無(wú)觸摸IC模塊PCB底板尺寸27.3*27.8(mm)視角>160°工作電壓3.3V-5V工作溫度-20℃-60℃工作濕度-30℃-70℃功耗待定產(chǎn)品重量8(g)表3-SEQ表3-\*ARABIC4OLED電氣參數(shù)0.96寸OLED顯示屏的驅(qū)動(dòng)芯片是SSD1306,它包含了穩(wěn)壓芯片,而且支持軟件的模擬IIC通訊和硬件IIC通訊,一旦通電就可實(shí)現(xiàn)自動(dòng)復(fù)位,而且功耗低,有自發(fā)光自由視角。SSD106中有三種尋址模式:頁(yè)尋址模式、水平尋址模式和垂直尋址模式。尋址方式?jīng)Q定了數(shù)據(jù)寫(xiě)入方式。該模塊也共有四個(gè)引腳分別為電源VCC、接地GND、時(shí)鐘管腳SCL和數(shù)據(jù)管腳SDA。在本設(shè)計(jì)中,將VCC和GND分別接最小系統(tǒng)板的5V和地,SCL和SDA分別接PB6和PB7,如下圖。圖3-SEQ圖3-\*ARABIC7OLED引腳圖本章小結(jié)本章詳細(xì)介紹了主控制模塊、紅外測(cè)溫模塊、超聲波測(cè)距模塊和OLED顯示模塊這幾個(gè)部分。整章圍繞該設(shè)計(jì)使用的芯片、模塊,以及根據(jù)對(duì)應(yīng)的參數(shù)、原理畫(huà)出相關(guān)電路原理圖,來(lái)實(shí)現(xiàn)對(duì)應(yīng)的功能。還分析了各個(gè)芯片與總控制芯片STM32F103C8T6之間管腳的連接關(guān)系。
軟件設(shè)計(jì)總體方案該設(shè)計(jì)在軟件上使用Keiluvision5C語(yǔ)言實(shí)現(xiàn),主要是要實(shí)現(xiàn)各個(gè)模塊之間的數(shù)據(jù)輸入輸出。該軟件是單片機(jī)的常用編程工具,可以使用C語(yǔ)言并且調(diào)試方便。軟件的設(shè)計(jì)和硬件的設(shè)計(jì)一樣都是分模塊進(jìn)行的,先分成各個(gè)模塊編寫(xiě)程序以便于程序的調(diào)試。先完成各個(gè)子模塊的程序編寫(xiě),然后在主程序中調(diào)用子程序來(lái)實(shí)現(xiàn)各個(gè)部分所需的功能。主程序流程本設(shè)計(jì)的軟件實(shí)現(xiàn)流程為:程序一旦開(kāi)始運(yùn)行,整個(gè)系統(tǒng)都要先進(jìn)行初始化,包括了延時(shí)函數(shù)的初始化、紅外測(cè)溫模塊的初始化、超聲波測(cè)距模塊的初始化和OLED液晶屏的初始化,然后繼續(xù)運(yùn)行開(kāi)始測(cè)溫、測(cè)距,并通過(guò)OLED顯示出所得數(shù)據(jù)。圖4-SEQ圖4-\*ARABIC1主程序流程圖intmain(void){ floatlength; doubletemp;//溫度變量浮點(diǎn)數(shù) inti,a,b,c;//定義整數(shù) SystemInit();//系統(tǒng)初始化 delay_init(); //延時(shí)函數(shù)初始化 NVIC_Configuration(); //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí) uart_init(9600); //串口初始化為9600 LED_Init(); TIM2_Int_Init(2500,7200); SMBus_Init();//初始化紅外測(cè)溫模塊 Hcsr04Init();Hcsr04Init(); OLED_Init(); //OLED初始化printf("超聲波初始化成功!\n"); show();while(1) { length=Hcsr04GetLength();//printf("距離為:%.3fcm\n",length); OLED_Fill_l(0); OLED_ShowCN(0,2,2);OLED_ShowCN(16,2,3); OLED_ShowStr(32,2,":",2); temp=SMBus_ReadTemp();//讀取溫度 //printf("temp:%lf\r\n",temp); a=(int)(temp*10)%10;//小數(shù)點(diǎn)后一位 b=(int)(temp*100)%10;//小數(shù)點(diǎn)后二位 //i=ceil(temp);//向上取整,只顯示整數(shù)值 c=(int)temp;//取整 i=(int)length; if(i<200) {sprintf((char*)buf4,"%dcm",i); OLED_ShowStr(40,2,buf4,2); } //printf("abic%d%d%d%d\r\n",a,b,i,c); sprintf((char*)buf1,"%d",c); sprintf((char*)buf2,"%d",a); sprintf((char*)buf3,"%d",b); if(c<41) {OLED_ShowStr(72,0,buf1,2); OLED_ShowStr(88,0,".",2); OLED_ShowStr(96,0,buf2,2); OLED_ShowStr(104,0,buf3,2); } } }模塊說(shuō)明MLX90614測(cè)溫模塊MLX90614紅外測(cè)溫模塊支持IIC協(xié)議和SMBus協(xié)議,在本設(shè)計(jì)中決定通過(guò)SMBus總線(xiàn)協(xié)議實(shí)現(xiàn)STM32微處理器與MLX90614通信。SMBus是二線(xiàn)串行協(xié)議,管腳SDA是數(shù)據(jù)的輸入輸出,SCL是數(shù)據(jù)輸入時(shí)作為通信時(shí)鐘信號(hào)。主要流程如下,先發(fā)送一個(gè)字節(jié),一個(gè)字節(jié)是8位,具體操作是每次發(fā)送最高位,然后循環(huán)發(fā)送8次。這就是成功發(fā)送了一個(gè)字節(jié),即從機(jī)發(fā)送了一個(gè)字節(jié),主機(jī)就要返回一個(gè)應(yīng)答信號(hào)來(lái)告訴從機(jī)是否繼續(xù)發(fā)送下一個(gè)字節(jié)。同理,從SMBus上接受一個(gè)字節(jié)也是通過(guò)循環(huán)8位依次接受過(guò)來(lái)的。對(duì)于采集的數(shù)據(jù)要進(jìn)行數(shù)據(jù)校驗(yàn),即我們的程序會(huì)將PEC的數(shù)據(jù)通過(guò)SA_W、Command、SA_R和LSByte、MSByte讀出來(lái)。然后通過(guò)校驗(yàn)函數(shù)來(lái)判斷讀到的PEC數(shù)據(jù)是否正確。再然后是要讀取溫度函數(shù),這個(gè)函數(shù)的輸入?yún)?shù)就IIC設(shè)備的從機(jī)地址和command寄存器地址。首先從機(jī)地址左移一位,把讀寫(xiě)位空出來(lái),因?yàn)椴恢雷铋_(kāi)始是啥狀態(tài),我們就需要發(fā)送一個(gè)停止信號(hào),因?yàn)镋rrorCounter=0x00;那么進(jìn)行"--"操作之后就不等于0,就進(jìn)行下面的操作。接下來(lái)就發(fā)送起始信號(hào),發(fā)送從機(jī)設(shè)備地址,如果發(fā)送的從機(jī)地址正確,就接著發(fā)送操作從機(jī)地址的command這個(gè)地址,因?yàn)檫@里保存著溫度數(shù)據(jù)。然后重新發(fā)起一個(gè)起始信號(hào),開(kāi)始讀數(shù)據(jù),把溫度數(shù)據(jù)的低位DataL高位DataH和PEC數(shù)據(jù)讀出來(lái),再進(jìn)行PEC數(shù)據(jù)校驗(yàn),判斷讀到的PEC數(shù)據(jù)和校驗(yàn)得到的PEC數(shù)據(jù)是否相等,相等的話(huà)就跳出循環(huán),通過(guò)將高位數(shù)據(jù)左移8位再與低8位進(jìn)行按位或就得到了最終的數(shù)據(jù)data。最后通過(guò)公式(3.3)得到我們所需的最終溫度實(shí)際值,并通過(guò)OLED顯示出來(lái)。注意SMBus讀時(shí)序和寫(xiě)時(shí)序都有其特定的標(biāo)準(zhǔn)。寫(xiě)時(shí)序:首先主機(jī)會(huì)發(fā)送一個(gè)起始位,然后再發(fā)送從機(jī)的地址0X00和寫(xiě)標(biāo)志位0。一共是8位。發(fā)送這8位數(shù)據(jù)之后,主機(jī)會(huì)等待從機(jī)的響應(yīng),如果從機(jī)發(fā)送的是應(yīng)答信號(hào),那么主機(jī)就繼續(xù)向從機(jī)發(fā)送一個(gè)字節(jié)的數(shù)據(jù),并且再一次等待從機(jī)的響應(yīng)信號(hào),如果主機(jī)收到的還是應(yīng)答信號(hào)就繼續(xù)發(fā)送數(shù)據(jù),一直重復(fù)直到發(fā)送完成。讀時(shí)序:首先主機(jī)也會(huì)發(fā)送一個(gè)起始位,然后再發(fā)送從機(jī)的地址0X00和讀標(biāo)志位1,一共是8位。發(fā)送這8位數(shù)據(jù)之后,從機(jī)就會(huì)等待主機(jī)的響應(yīng)信號(hào),如果主機(jī)發(fā)送的是應(yīng)答信號(hào),從機(jī)就向主機(jī)發(fā)送一個(gè)字節(jié)的數(shù)據(jù)。讀時(shí)序就是主機(jī)從從機(jī)讀數(shù)據(jù)的過(guò)程。同理,從機(jī)每發(fā)完一個(gè)字節(jié)的數(shù)據(jù)之后都要向主機(jī)尋問(wèn)是否繼續(xù)發(fā)送數(shù)據(jù),如果是,從機(jī)就繼續(xù)發(fā)送數(shù)據(jù)直到收到非應(yīng)答信號(hào)停止發(fā)送數(shù)據(jù),最后主機(jī)會(huì)再發(fā)送一個(gè)停止信號(hào)。各種信號(hào)解釋如下:起始信號(hào):當(dāng)處于CPU使時(shí)鐘線(xiàn)SCL保持在高電平的狀態(tài)下時(shí),假若數(shù)據(jù)信號(hào)SDA突然變?yōu)榱说碗娖骄驼f(shuō)明信號(hào)開(kāi)始。而當(dāng)這個(gè)信號(hào)被IIC總線(xiàn)上的設(shè)備接收到時(shí),就會(huì)自動(dòng)開(kāi)始向處理器發(fā)送數(shù)據(jù)。應(yīng)答信號(hào):當(dāng)接收器接收到發(fā)送過(guò)來(lái)的8位數(shù)據(jù)后,就會(huì)在第9個(gè)時(shí)鐘周期,使數(shù)據(jù)信號(hào)自動(dòng)變?yōu)榈碗娖綘顟B(tài)。就是當(dāng)接收數(shù)據(jù)的IC在接收到發(fā)送數(shù)據(jù)的IC發(fā)送過(guò)來(lái)的8位數(shù)據(jù)后,會(huì)自動(dòng)向其發(fā)送特定的低電平脈沖,用來(lái)告知對(duì)方已收到數(shù)據(jù)作為應(yīng)答。這樣子,CPU就可以通過(guò)應(yīng)答信號(hào)來(lái)判定下一步應(yīng)該做什么,若收到了應(yīng)答信號(hào)則根據(jù)實(shí)際情況決定是不是要繼續(xù)傳遞信號(hào),若并沒(méi)有受到應(yīng)答信號(hào)就可以知道受控單元有故障之處。非應(yīng)答信號(hào):當(dāng)時(shí)鐘線(xiàn)SCL一直維持在高電平狀態(tài)時(shí),數(shù)據(jù)線(xiàn)SDA也與之同步一直顯示為高電平,這就是非應(yīng)答信號(hào)。結(jié)束信號(hào):停止信號(hào)是指當(dāng)處理器強(qiáng)制讓時(shí)鐘信號(hào)SCL維持在高電平狀態(tài)時(shí),數(shù)據(jù)信號(hào)SDA突然就變?yōu)楦唠娖降臓顟B(tài)。而當(dāng)這個(gè)狀態(tài)被IIC總線(xiàn)上的設(shè)備發(fā)現(xiàn)時(shí),處理器就會(huì)立刻停下數(shù)據(jù)傳輸。數(shù)據(jù)信號(hào):處在數(shù)據(jù)傳輸?shù)臓顟B(tài)下,時(shí)鐘線(xiàn)SCL會(huì)一直維持高電平,當(dāng)數(shù)據(jù)線(xiàn)SDA處于高電平時(shí)則代表1,反之則表示為0。圖4-SEQ圖4-\*ARABIC2MLX90614模塊流程圖SMBus起始信號(hào)代碼:voidSMBus_StartBit(void){SMBUS_SDA_H(); //首先拉高數(shù)據(jù)線(xiàn)SMBus_Delay(5); //延時(shí)幾微秒SMBUS_SCK_H(); //拉高時(shí)鐘線(xiàn)SMBus_Delay(5); //延時(shí)幾微秒SMBUS_SDA_L(); //拉低數(shù)據(jù)線(xiàn)SMBus_Delay(5); //延時(shí)幾微秒//在SCK=1時(shí),檢測(cè)到SDA由1到0表示通信開(kāi)始(下降沿)SMBUS_SCK_L(); //拉低時(shí)鐘線(xiàn)SMBus_Delay(5); //延遲幾微秒}SMBus停止信號(hào):voidSMBus_StopBit(void){SMBUS_SCK_L(); //拉低時(shí)鐘線(xiàn)SMBus_Delay(5); //延遲幾微秒SMBUS_SDA_L(); //拉低數(shù)據(jù)線(xiàn)SMBus_Delay(5); //延遲幾微秒SMBUS_SCK_H(); //S拉高數(shù)據(jù)線(xiàn)SMBus_Delay(5); //延遲幾微秒SMBUS_SDA_H(); //在SCK=1時(shí),檢測(cè)到SDA由0到1表示通信結(jié)束(上升沿)}超聲波測(cè)距模塊用Trig和Echo引腳實(shí)現(xiàn)測(cè)距的流程:先通過(guò)觸發(fā)信號(hào)Trig輸出一段至少為10us的高電平脈沖,引起第一次測(cè)距,超聲波在這個(gè)傳輸?shù)倪^(guò)程中信號(hào)回響Echo管腳一直輸出高電平(此時(shí)應(yīng)啟動(dòng)計(jì)時(shí)器)。在觸發(fā)信號(hào)Trig的脈沖完全輸出后,檢測(cè)到Echo管腳變?yōu)榈碗娖剑ù藭r(shí)應(yīng)停止計(jì)時(shí)器計(jì)數(shù)),便可測(cè)量出信號(hào)回響Echo保持高電平的時(shí)間t,t就是超聲波對(duì)于所測(cè)距離發(fā)射和接收的一個(gè)來(lái)回所花費(fèi)的總時(shí)間。我們知道大氣中聲音傳播速度為340m/s,根據(jù)(4.1)。由原理可得超聲波發(fā)送出去再回來(lái)是測(cè)量距離的兩倍,所以假設(shè)距離是L,所以(4.2)。t我們通過(guò)定時(shí)器算出來(lái),單位為us,經(jīng)過(guò)計(jì)算化簡(jiǎn)可得(4.3)。一開(kāi)始先將I/O初始化,并將定時(shí)器初始化,觸發(fā)信號(hào)Trig輸入高電平,檢測(cè)到Echo由低電平轉(zhuǎn)換為高電平時(shí),定時(shí)器將啟動(dòng)并開(kāi)始計(jì)時(shí),當(dāng)信號(hào)回響Echo從高電平轉(zhuǎn)化為低電平時(shí)定時(shí)器結(jié)束計(jì)時(shí),通過(guò)換算可得到時(shí)間差t,在經(jīng)過(guò)公式(4.3)計(jì)算出距離,為了優(yōu)化本次設(shè)計(jì),還加入了取五次的數(shù)據(jù)進(jìn)行加權(quán)濾波來(lái)消除“余震”對(duì)測(cè)量結(jié)果的影響。代碼流程圖大致如下:圖4-SEQ圖4-\*ARABIC3超聲波測(cè)距流程圖OLED顯示模塊OLED提供了4種接口方式:6800、8080兩種并行接口方式、4線(xiàn)的穿行SPI接口方式、IIC接口方式。本次設(shè)計(jì)方案采用了IIC接口方式,IIC(Inter-IntegratedCircuit)總線(xiàn)是PHILIPS公司研發(fā)的一種兩線(xiàn)式總線(xiàn),可以實(shí)現(xiàn)外圍設(shè)備與微控制器間的連接。它是由數(shù)據(jù)線(xiàn)SDA和時(shí)鐘線(xiàn)SCL組成的串行總線(xiàn),既能夠發(fā)送數(shù)據(jù),也能夠接收數(shù)據(jù)。在CPU和被控IC間、或是IC與IC之間進(jìn)行的雙向傳送,高速I(mǎi)IC總線(xiàn)一般可達(dá)到400kbps以上。在數(shù)據(jù)傳輸期間,IIC總線(xiàn)上存在三種信號(hào)類(lèi)型:起始信號(hào),終止信號(hào)和響應(yīng)信號(hào)。CPU向控制單元發(fā)送信號(hào)后,等待來(lái)自控制單元的響應(yīng)信號(hào),并在收到響應(yīng)信號(hào)后,根據(jù)實(shí)際情況決定是否繼續(xù)發(fā)送信號(hào)。如果沒(méi)有接受響應(yīng)信號(hào),則判斷控制單元有故障。首先我們要先配置好STM32F103C8T6的IIC外設(shè)和GPIO的模式,即將數(shù)據(jù)線(xiàn)SDA和時(shí)鐘線(xiàn)SCL分別設(shè)置為管腳PB7和PB6,GPIO口設(shè)置為開(kāi)漏輸出模式。再配置好IIC的工作模式、時(shí)鐘占空比、尋址模式和傳輸速率,然后使用IIC來(lái)驅(qū)動(dòng)OLED顯示。發(fā)送一個(gè)最小單元,可以接收兩個(gè)參數(shù),一個(gè)是地址,一個(gè)是數(shù)據(jù)。利用while循環(huán)判斷I2C總線(xiàn)是否處于繁忙狀態(tài)。產(chǎn)生一個(gè)開(kāi)始信號(hào),等待并發(fā)送目標(biāo)設(shè)備的地址,也就是OLED屏幕的地址。等待并發(fā)送寄存器地址,等待并發(fā)送數(shù)據(jù),完成后產(chǎn)生一個(gè)停止信號(hào)。完成上述步驟后初始化OLED屏幕,并為其設(shè)置坐標(biāo)和字符。代碼實(shí)現(xiàn)主要流程圖如下:圖4-SEQ圖4-\*ARABIC4OLED顯示流程圖本章小結(jié)本章節(jié)基于Keiluvision5的研發(fā)環(huán)境,以C語(yǔ)言為工具進(jìn)行代碼編寫(xiě)。首先分析主控制程序需要初始化的函數(shù)然后畫(huà)出實(shí)現(xiàn)代碼的流程圖。然后具體分析紅外測(cè)溫子程序、超聲波測(cè)距子程序、OLED顯示子程序這三個(gè)部分的設(shè)計(jì)過(guò)程和流程圖。
制作與調(diào)試硬件電路連接本設(shè)計(jì)采用畫(huà)圖軟件AltiumDesigner來(lái)完成整個(gè)原理圖的繪制。主控芯片STM32F103C8T6作為微控制器,MLX90614作為測(cè)溫電路,0.96OLED作為顯示模塊,輸出測(cè)量得到的數(shù)據(jù),并且根據(jù)不同的器件所需的工作電壓設(shè)計(jì)了5V/3V3輸入。下圖是整體硬件原理圖。圖5-SEQ圖5-\*ARABIC1整體硬件原理圖本設(shè)計(jì)使用ST-LINKV2來(lái)給STM32F103C8T6下載程序,引腳連接如下:ST-LINKSTM32F103C8T63.3V3.3VSWCLKSWCLKSWDIOSWOGNDG表5-SEQ表5-\*ARABIC1ST-LINK引腳連接圖5-SEQ圖5-\*ARABIC2實(shí)物連接圖首先下載安裝STLINK驅(qū)動(dòng),安裝成功后,ST-LINK的藍(lán)燈常量,且在設(shè)備管理中顯示ST-LINK設(shè)備。圖5-SEQ圖5-\*ARABIC3接下來(lái)按如下步驟操作圖5-SEQ圖5-\*ARABIC4圖5-SEQ圖5-\*ARABIC5點(diǎn)擊Settings進(jìn)入以下頁(yè)面圖5-SEQ圖5-\*ARABIC6圖5-SEQ圖5-\*ARABIC7程序燒錄完成圖5-SEQ圖5-\*ARABIC8燒錄完成圖5-SEQ圖5-\*ARABIC9燒錄程序?qū)嵨飯D圖5-SEQ圖5-\*ARABIC10燒錄完成后,完成實(shí)物連接,注意引腳對(duì)應(yīng)。STM32F103C8T6MLX90614HC-SR04OLED3V3VCCGGNDPA0SCLPA2SDA3V3VCCGGNDPB11TrigPB10Echo5VVCCGGNDPB6SCLPB7SDA表5-SEQ表5-\*ARABIC2完整電路圖連接調(diào)試與誤差分析軟件調(diào)試:這個(gè)設(shè)計(jì)要外部連接電路才能完成仿真,所以我沒(méi)有進(jìn)行最后的仿真,僅僅用AltiumDesigner進(jìn)行了編譯,程序部分用Keiluvision5進(jìn)行了編譯。在這個(gè)部分主要想實(shí)現(xiàn)下面兩點(diǎn)內(nèi)容:目標(biāo)程序錯(cuò)誤,整體程序調(diào)試。目標(biāo)程序錯(cuò)誤糾正:通常這是在創(chuàng)建目標(biāo)程序時(shí)執(zhí)行的操作。軟件有一定的自動(dòng)糾錯(cuò)能力,可以自動(dòng)改正我們輸入的程序命令中的錯(cuò)誤。例如寫(xiě)入格式中存在的一些錯(cuò)誤,如標(biāo)簽未定義或重復(fù)定義,發(fā)送地址溢出等,此部分主要是小細(xì)節(jié)錯(cuò)誤,因此需要小心謹(jǐn)慎,慢慢調(diào)試。整體程序調(diào)試:就是把各子程序整體綜合成一個(gè)整體電路來(lái)進(jìn)行調(diào)試,觀(guān)察目前的程序編寫(xiě)能否實(shí)現(xiàn)設(shè)想的功能。若這個(gè)環(huán)節(jié)出現(xiàn)錯(cuò)誤,優(yōu)先判斷是不是各子程序在運(yùn)行時(shí)有沖突,比如數(shù)據(jù)緩沖單元沖突,標(biāo)志位的建立和清除編寫(xiě)上是不合理的,堆棧溢出,輸入輸出狀態(tài)有問(wèn)題等再進(jìn)-步對(duì)細(xì)節(jié)進(jìn)行修改。硬件調(diào)試:本次設(shè)計(jì)的紅外測(cè)溫系統(tǒng)的硬件調(diào)試是必須依賴(lài)于軟件才能進(jìn)行調(diào)試的,不少的硬件故障被發(fā)現(xiàn)在軟件調(diào)試時(shí),當(dāng)然要先排除系統(tǒng)中明顯的硬件故障,比如管腳連接錯(cuò)誤。調(diào)試工作大致可分為4個(gè)步驟:線(xiàn)路檢查:首先對(duì)照硬件原理圖,認(rèn)真核對(duì)各個(gè)引腳的連接是否正確,并確認(rèn)所使用的元器件的型號(hào)、規(guī)格和安裝都是按之前的要求進(jìn)行,如果有需要的話(huà)還可以通過(guò)萬(wàn)用表來(lái)查看電路中每個(gè)環(huán)節(jié)是否有短路斷路。電源調(diào)試:硬件首次通電前的調(diào)試需要先進(jìn)行調(diào)試,因?yàn)橐坏┏霈F(xiàn)了電源故障,上電后就容易對(duì)器件造成不可逆的損壞。調(diào)試的方法一般有兩種:一是使穩(wěn)壓電源的輸出端開(kāi)路,查看這時(shí)候的電源的工作狀態(tài);還可以線(xiàn)取下實(shí)物硬件中上的重要集成芯片,查驗(yàn)電源的負(fù)載能力(用假負(fù)載)。在排除電源沒(méi)有故障后才能進(jìn)行下一步。通電檢查:在完成上一步驟的前提下,才可以接通電源。最好能在電源與其它電路間都串連上電流表。一旦上電后發(fā)現(xiàn)電流過(guò)大的情況時(shí),馬上將電源斷開(kāi)。若電壓大于正常工作電壓,這可能是由于電路中的短路或故障引起的。這一環(huán)節(jié)主要就是為了看設(shè)計(jì)中是否出現(xiàn)了短路,或者因?yàn)樵骷膿p壞、裝配的錯(cuò)誤而造成了電流異常。檢查芯片的邏輯關(guān)系是否出錯(cuò):上電后觀(guān)察每個(gè)插座上的管腳的電平,對(duì)管腳的輸入輸出電流進(jìn)行測(cè)量看是否符合預(yù)期。單片機(jī)系統(tǒng)一般屬于數(shù)字邏輯電路,通過(guò)電平校驗(yàn)的方法可以先檢查出邏輯設(shè)計(jì)上是否正確,器件的選擇和連接是否符合要求。圖5-SEQ圖5-\*ARABIC11手指測(cè)溫測(cè)距圖5-SEQ圖5-\*ARABIC12電腦屏幕測(cè)溫測(cè)距圖5-SEQ圖5-\*ARABIC13飲料表面測(cè)溫測(cè)距通過(guò)三次測(cè)量比較發(fā)現(xiàn),該測(cè)溫測(cè)距系統(tǒng)比較準(zhǔn)確,但是還是存在一定誤差。經(jīng)過(guò)分析測(cè)溫系統(tǒng)可能存在以下造成誤差的原因并提出解決方案設(shè)想:環(huán)境溫度對(duì)測(cè)量溫度造成的影響,傳感器只有在熱平衡和等溫條件下才能保證和達(dá)到所標(biāo)定的測(cè)量精度。傳感器背部的熱電子、傳感器背部或旁邊的加熱器/冷卻器、或當(dāng)熱/冷物體靠近傳感器,不僅會(huì)加熱傳感器元件,而且會(huì)加熱溫度計(jì)封裝。所有可以通過(guò)增加一個(gè)監(jiān)測(cè)環(huán)境溫度的測(cè)溫模塊,通過(guò)第三方標(biāo)定來(lái)實(shí)現(xiàn)溫度補(bǔ)償以提高精度或是將傳感器和環(huán)境隔離。測(cè)量角度和測(cè)量距離都會(huì)影響非接觸測(cè)溫傳感器的測(cè)量數(shù)值。紅外線(xiàn)強(qiáng)度會(huì)隨著距離的增加而衰弱,因此在遠(yuǎn)距離測(cè)溫過(guò)程中進(jìn)行距離補(bǔ)償。不同物體發(fā)射率不同,會(huì)影響測(cè)溫結(jié)果??梢酝ㄟ^(guò)修改發(fā)射率來(lái)提高測(cè)溫精度。如測(cè)量不銹鋼時(shí)發(fā)射率設(shè)置在0.3左右,測(cè)量碳設(shè)置在0.95左右,人體在0.95左右,而MLX90614出廠(chǎng)默認(rèn)值為1。修改發(fā)射率要把發(fā)射率寫(xiě)到MLX90614的EEPROM里面。測(cè)距系統(tǒng)造成誤差的可能原因即解決方案設(shè)想:一次的數(shù)據(jù)往往容易造成誤差,想要提高測(cè)距精確度可以多次測(cè)量,去掉最大最小值后取平均值的方法。本次設(shè)計(jì)已使用該方法減少誤差。根據(jù)該傳感器測(cè)距原理可知精準(zhǔn)計(jì)算高電平時(shí)間t是提高測(cè)距精度的關(guān)鍵點(diǎn)。不同的單片機(jī)時(shí)鐘頻率不同會(huì)引起計(jì)算結(jié)果的差異。所以我們可以先測(cè)出定時(shí)器的值,然后通過(guò)示波器查看高電平持續(xù)的時(shí)間,比較計(jì)算出他們之間存在的關(guān)系,這樣就能準(zhǔn)確計(jì)算高電平的持續(xù)時(shí)間t,從而提高精度。在我的設(shè)計(jì)中,程序上用的是電平觸發(fā)的方式,但是有人說(shuō)使用串口的方式會(huì)使精確度更高。結(jié)論為了能夠順利完成本次畢業(yè)設(shè)計(jì),我搜集參考了大量的文獻(xiàn)和資料,通過(guò)這些文獻(xiàn)資料了解到了非接觸紅外測(cè)溫的優(yōu)點(diǎn),并且通過(guò)對(duì)各個(gè)模塊的優(yōu)缺點(diǎn)分析確定了在本設(shè)計(jì)中需要的型號(hào)器材。首先選擇了STM32單片機(jī),為此去查閱了它的相關(guān)資料手冊(cè)。此外在本設(shè)計(jì)中選取了MLX90614紅外測(cè)溫模塊,因?yàn)橥ㄟ^(guò)查閱它的數(shù)據(jù)手冊(cè)時(shí)發(fā)現(xiàn)它精度較高而且自帶溫度補(bǔ)償,十分滿(mǎn)足本次設(shè)計(jì)需求。在超聲波和OLED的選取上也是因?yàn)槠洳粌H常用于STM32而且便宜可實(shí)現(xiàn)。至此,硬件部分和軟件部分的設(shè)計(jì)已經(jīng)基本實(shí)現(xiàn)完成。本次設(shè)計(jì)主要實(shí)現(xiàn)的功能就是對(duì)一個(gè)物體同時(shí)進(jìn)行測(cè)溫測(cè)距并顯示數(shù)據(jù),基本實(shí)現(xiàn)了任務(wù)書(shū)的要求。該設(shè)計(jì)有硬件和軟件兩部分組成,硬件部分和軟件部分都包括了單片機(jī)控制模塊、紅外測(cè)溫模塊、超聲波測(cè)距模塊和OLED顯示模塊。從開(kāi)始搜集資料到選取所需元件再到繪制原理圖實(shí)現(xiàn)硬件設(shè)計(jì)部分,鞏固了甚至學(xué)到了許多本科生涯沒(méi)有接觸過(guò)的知識(shí),這可以算是我真正意義上的第一次獨(dú)立自主完成一個(gè)設(shè)計(jì),每一個(gè)環(huán)節(jié)都很重要都受益匪淺。在繪制原理圖時(shí)要了解每個(gè)引腳的作用,要合理分配引腳,使單片機(jī)與各個(gè)模塊正常準(zhǔn)確連接。比如STM32F103C8T6雖然由37個(gè)通用I/O口,看似都一樣,但是仔細(xì)研究后發(fā)現(xiàn)PA13、PA14、PA15、PB3、PB4、PC14、PC15、PD0、PD1的默認(rèn)功能并不是GPIO,使用時(shí)需要先開(kāi)啟AFIO時(shí)鐘,就是當(dāng)STM32上電復(fù)位后默認(rèn)啟動(dòng)JTAG模式,會(huì)占用PA13、PA14、PA15、PB3、PB4
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇州站施工組織設(shè)計(jì)方案(幕墻)
- 二零二五年度金融行業(yè)IT運(yùn)維安全保障協(xié)議3篇
- 專(zhuān)業(yè)化海路物流合作合同(2024版)版B版
- 2025年度環(huán)保建筑材料推廣合作框架協(xié)議4篇
- 2025年度購(gòu)物中心場(chǎng)地合作開(kāi)發(fā)及商業(yè)運(yùn)營(yíng)合同4篇
- 二零二四圖書(shū)購(gòu)置項(xiàng)目與圖書(shū)館無(wú)障礙閱讀服務(wù)合同3篇
- 2025年度智能攤位管理系統(tǒng)開(kāi)發(fā)與實(shí)施合同4篇
- 2025年度劇本創(chuàng)作與版權(quán)授權(quán)管理合同3篇
- 二零二五版4S店汽車(chē)銷(xiāo)售合同樣本圖2篇
- 2025年度農(nóng)產(chǎn)品質(zhì)量安全追溯體系服務(wù)合同4篇
- 衡水市出租車(chē)駕駛員從業(yè)資格區(qū)域科目考試題庫(kù)(全真題庫(kù))
- 護(hù)理安全用氧培訓(xùn)課件
- 《三國(guó)演義》中人物性格探析研究性課題報(bào)告
- 注冊(cè)電氣工程師公共基礎(chǔ)高數(shù)輔導(dǎo)課件
- 土方勞務(wù)分包合同中鐵十一局
- 乳腺導(dǎo)管原位癌
- 冷庫(kù)管道應(yīng)急預(yù)案
- 司法考試必背大全(涵蓋所有法律考點(diǎn))
- 公共部分裝修工程 施工組織設(shè)計(jì)
- 《學(xué)習(xí)教育重要論述》考試復(fù)習(xí)題庫(kù)(共250余題)
- 裝飾裝修施工及擔(dān)保合同
評(píng)論
0/150
提交評(píng)論