《基于STM32的遠(yuǎn)程實(shí)時(shí)溫度監(jiān)控系統(tǒng)設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于STM32的遠(yuǎn)程實(shí)時(shí)溫度監(jiān)控系統(tǒng)設(shè)計(jì)(17頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、河南大學(xué)物理與電子學(xué)院?jiǎn)纹瑱C(jī)課程設(shè)計(jì)論文河南大學(xué)物理與電子學(xué)院2015級(jí)單片機(jī)課程設(shè)計(jì)論文題目:基于STM32的遠(yuǎn)程實(shí)時(shí)溫度監(jiān)控系統(tǒng)設(shè)計(jì)論文作者姓名:作 者 學(xué) 號(hào):合作者姓名:所 在 學(xué) 院:所 學(xué) 專 業(yè):任 課 老 師:論文完成時(shí)間:目錄一、 前言2二、 系統(tǒng)組成與功能32.1 系統(tǒng)組成32.2 STM32最小系統(tǒng)板42.3DS18B20模塊42.4 ESP8266模塊52.5 手機(jī)APP62.5系統(tǒng)功能7三、系統(tǒng)原理73.1電路仿真圖73.2擴(kuò)展仿真圖73.3 實(shí)物照片7四、系統(tǒng)程序94.1 程序流程94.2 主要程序源代碼10五、 器材清單列表14六、結(jié)論15七、擴(kuò)展部分設(shè)計(jì)心得15
2、參考文獻(xiàn)16基于STM32的遠(yuǎn)程實(shí)時(shí)溫度監(jiān)控系統(tǒng)設(shè)計(jì)1、 前言這兩年內(nèi),無線AP的數(shù)量呈迅猛的增長(zhǎng),無線網(wǎng)絡(luò)的方便與高效使其能夠得到迅速的普及。除了在目前的一些公共地方有AP之外,國外已經(jīng)有先例以無線標(biāo)準(zhǔn)來建設(shè)城域網(wǎng),因此,WiFi的無線地位將會(huì)日益牢固。WiFi是目前無線接入的主流標(biāo)準(zhǔn),但是,WiFi會(huì)走多遠(yuǎn)呢?在Intel的強(qiáng)力支持下,WiFi已經(jīng)有了接班人。它就是全面兼容現(xiàn)有WiFi的WiMAX,對(duì)比于WiFi的802.11X標(biāo)準(zhǔn),WiMAX就是802.16x。與前者相比,WiMAX具有更遠(yuǎn)的傳輸距離、更寬的頻段選擇以及更高的接入速度等等,預(yù)計(jì)會(huì)在未來幾年間成為無線網(wǎng)絡(luò)的一個(gè)主流標(biāo)準(zhǔn),I
3、ntel計(jì)劃將來采用該標(biāo)準(zhǔn)來建設(shè)無線廣域網(wǎng)絡(luò)。這相比于現(xiàn)時(shí)的無線局域網(wǎng)或城域網(wǎng),是質(zhì)的變革,而且現(xiàn)有設(shè)備仍能得到支持,保護(hù)人們的每一分錢投資??偠灾彝ズ托⌒娃k公網(wǎng)絡(luò)用戶對(duì)移動(dòng)連接的需求是無線局域網(wǎng)市場(chǎng)增長(zhǎng)的動(dòng)力,雖然到目前為止,美國、日本等發(fā)達(dá)國家仍然是目前WiFi用戶最多的地區(qū),但隨著電子商務(wù)和移動(dòng)辦公的進(jìn)一步普及,廉價(jià)的WiFi,必將成為那些隨時(shí)需要進(jìn)行網(wǎng)絡(luò)連接用戶的必然之選。在本學(xué)期的單片機(jī)在課程設(shè)計(jì)中,我們兩個(gè)人一組共同討論并設(shè)計(jì)了基于STM32的遠(yuǎn)程實(shí)時(shí)溫度監(jiān)控系統(tǒng)。而且設(shè)計(jì)出了實(shí)際的成品,經(jīng)過調(diào)試后能實(shí)現(xiàn)預(yù)期的功能,同時(shí)我們兩個(gè)人在能實(shí)現(xiàn)其基本功能的基礎(chǔ)上進(jìn)行了一定程度的功能
4、擴(kuò)展。2、 系統(tǒng)組成與功能2.1 系統(tǒng)組成本系統(tǒng)主要有STM32最小系統(tǒng)板、DS18B20、ESP8266、手機(jī)App等部分組成2.1.1系統(tǒng)實(shí)現(xiàn)圖:2.1.2硬件結(jié)構(gòu)圖:2.2 STM32最小系統(tǒng)板STM32最小系統(tǒng)版主要參數(shù):內(nèi)核:Cortex-M3 32-bit RISC;工作頻率:72MHz,1.25 DMIPS/MHz;工作電壓:2-3.6V;封裝:LQFP64;I/O 口數(shù)量:51個(gè);存儲(chǔ)資源:256K Flash,48K RAM;接口資源:2 x SPI,5 x USART,2 x I2S,2 x I2C; 1 x SDIO,1 x USB,1 x CAN;模數(shù)轉(zhuǎn)換:3xADC(
5、12位),2xDA(12位,1us,分時(shí)16通道);調(diào)試下載:支持 JTAG/SWD 接口的調(diào)試下載,支持 IAP2.3 DS18B20模塊 DS18820美國DSLIAS公司推出的單總線數(shù)字溫度傳感器,具有微型化、低功耗、高性能、抗干擾能力強(qiáng)、易匹配處理器等優(yōu)點(diǎn)。處理器與DS18820通信只需要一根數(shù)據(jù)線即可,同時(shí)該數(shù)據(jù)線還可以向掛接的DS18820供電。DS18820內(nèi)部自帶AD轉(zhuǎn)換器,通過內(nèi)部的溫度采集、AD轉(zhuǎn)換等一系列過程,將溫度值以規(guī)定的格式轉(zhuǎn)換為數(shù)據(jù)并輸出,用戶可以通過一些簡(jiǎn)單的算法,將數(shù)據(jù)還原為溫度值。其分辨率可以達(dá)到12位,滿足一般情況下對(duì)溫度采集的需要。與模擬溫度傳感器相比,
6、DS18B20省去了信號(hào)調(diào)理、A/D轉(zhuǎn)換等通道處理電路,從而使得系統(tǒng)線路簡(jiǎn)單,成本低廉。主要性能指標(biāo)如下:1.電壓范圍:+3.O+5.5V(可用數(shù)據(jù)線供電)。2.測(cè)溫范圍:-55+125。3.通過編程可實(shí)現(xiàn)912位的數(shù)字讀數(shù)方式,測(cè)溫分辨率可達(dá)0.0625。具體的模塊引腳圖如圖12所示。圖12 DS18b20引腳圖 2.4 ESP8266模塊ESP8266是上海樂鑫信息科技設(shè)計(jì)的低功耗WiFi芯片,集成完整的TCP/IP協(xié)議棧和MCU。而ESP8266模塊是深圳安信可公司基于ESP8266芯片研發(fā)(增加必要外圍電路、串口flash、板載天線等)的串口WiFi模塊,成本低、使用簡(jiǎn)便、功能強(qiáng)大。2
7、.4.1串口無線配置方法本系統(tǒng)用到的模式為串口無線WIFI AP模式TCP服務(wù)器。配置方法如圖:WIFI AP模式TCP配置圖2.4.2芯片引腳及功能ESP8266引腳功能圖圖13 ESP8266引腳圖。2.5 手機(jī)APP在此系統(tǒng)中手機(jī)APP作為上位機(jī),接收下位機(jī)測(cè)得的溫度,并顯示在界面。手機(jī)APP是人機(jī)交互的重點(diǎn),實(shí)現(xiàn)了在同一局域網(wǎng)下的溫度監(jiān)測(cè)。在連接上下位機(jī)的WIFI前提下,輸入IP地址和端口號(hào),點(diǎn)擊連接按鈕可實(shí)現(xiàn)互連,下位機(jī)數(shù)據(jù)將不斷上傳至上位機(jī),刷新編輯框的溫度數(shù)值,實(shí)現(xiàn)監(jiān)測(cè)。2.5系統(tǒng)功能本設(shè)計(jì)的主要功能是通過DS18B20溫度采集模塊采集溫度,并將溫度發(fā)送給單片機(jī),實(shí)現(xiàn)實(shí)時(shí)監(jiān)控。
8、擴(kuò)展后的系統(tǒng)增加了遠(yuǎn)程監(jiān)控,即通過WIFI模塊(ESP8266)將溫度數(shù)據(jù)發(fā)送到上位機(jī)(App),可實(shí)現(xiàn)在同一局域網(wǎng)內(nèi)的遠(yuǎn)程溫度監(jiān)控系統(tǒng)。三、系統(tǒng)原理本系統(tǒng)設(shè)計(jì)的主要原理是通過WIFI把DS18B20采集到的溫度數(shù)據(jù)發(fā)送給上位機(jī)。其中STM32單片機(jī)是整個(gè)系統(tǒng)的核心,負(fù)責(zé)數(shù)據(jù)的匯入與發(fā)送。當(dāng)檢測(cè)到有溫度數(shù)據(jù)輸入時(shí),通過單片機(jī)把程序轉(zhuǎn)換后的相應(yīng)數(shù)據(jù)傳送到對(duì)應(yīng)的wifi模塊,WIFI將數(shù)據(jù)發(fā)送到手機(jī)App,實(shí)現(xiàn)遠(yuǎn)程通信與溫度的實(shí)時(shí)監(jiān)控。3.1電路仿真圖3.2擴(kuò)展仿真圖3.3 實(shí)物照片 3.3.1 硬件實(shí)物:具體的實(shí)物照片如圖3-3-1圖3-3-13.3.2 App界面App界面如圖3-3-2所示
9、圖3-3-2四、系統(tǒng)程序41 程序流程圖24 程序流程圖 4.2 主要程序源代碼4.2.1下位機(jī)部分程序DS18B20獲取溫度:/從ds18b20得到溫度值/精度:0.1C/返回值:溫度值 (-5501250) short DS18B20_Get_Temp(void) u8 temp; u8 TL,TH; /定義u8類型的字節(jié)高、低八位short tem; DS18B20_Start (); / ds1820 開始轉(zhuǎn)換 DS18B20_Rst();/復(fù)位DS18B20 DS18B20_Check(); /等待DS18B20的回應(yīng) 返回1: DS18B2不存在 返回0:存在 DS18B20_Wr
10、ite_Byte(0 xcc);/ skip rom 寫一個(gè)字節(jié)到DS18B20 DS18B20_Write_Byte(0 xbe);/ convert TL=DS18B20_Read_Byte(); / 從DS18B20讀取一個(gè)字節(jié) LSB TH=DS18B20_Read_Byte(); / 從DS18B20讀取一個(gè)字節(jié)MSB if(TH7) TH=TH; TL=TL; temp=0;/溫度為負(fù) else temp=1;/溫度為正 tem=TH; /獲得高八位 tem 0) RrceiveEditText.setText(new String(buffer, 0, len);/接收的buff
11、er顯示在EditText ); catch (IOException e) /捕獲 / TODO Auto-generated catch block e.printStackTrace();5、 器材清單列表STM32最小系統(tǒng)板 1個(gè)ESP8266 WIFI芯片 1塊DS18B20 溫度傳感器 1個(gè)電阻 4.7k 1個(gè)104電容 1個(gè)排插 5個(gè)USB-TTL1塊9*15萬用板1個(gè)焊錫若干導(dǎo)線若干六、結(jié)論通過本學(xué)期單片機(jī)課程設(shè)計(jì)的學(xué)習(xí)與動(dòng)手制作,本設(shè)計(jì)基本上實(shí)現(xiàn)了預(yù)定功能,但在此基礎(chǔ)上還可以根據(jù)不同的需求做相應(yīng)的擴(kuò)展,也可以使用不同的芯片,還可以設(shè)計(jì)實(shí)現(xiàn)溫度在數(shù)碼管上顯示,語音播報(bào)溫度等。由
12、于個(gè)人的知識(shí)有限,設(shè)計(jì)本身可能有不足之處,溫度顯示不穩(wěn)定,程序設(shè)計(jì)不是太簡(jiǎn)潔等,還有待進(jìn)一步改進(jìn)。七、擴(kuò)展部分設(shè)計(jì)心得在溫度+上位機(jī)實(shí)驗(yàn)基本功能實(shí)現(xiàn)的基礎(chǔ)上,本制作組主要擴(kuò)展了wifi,手機(jī)在app顯示功能。擴(kuò)展部分主要使用ESP8266WIFI芯片,電路主要由劉利娜同學(xué)制作,不再贅述。由于本人編程能力有限,相關(guān)程序編寫方面,破費(fèi)周折,也因此獲得了更多的寶貴經(jīng)驗(yàn)和教訓(xùn),現(xiàn)總結(jié)如下:1、 關(guān)于數(shù)據(jù)傳輸模塊,一開始想用無線透?jìng)?4L01模塊去做,并且電路也設(shè)計(jì)完成,但是考慮到無法與手機(jī)進(jìn)行串口通信,便放棄方案,在此期間浪費(fèi)了一些時(shí)間,在硬件設(shè)計(jì)方面走了彎路。需注意,RF24L01是無線串口模塊,必
13、須是有串口才可用,不符合手機(jī)硬件接口。故后來選擇了ESP8266 WIFI 模塊。2、 這個(gè)wifi接收溫度的App主要是網(wǎng)絡(luò)編程,考慮較多的是TCP協(xié)議與網(wǎng)絡(luò)接口問題,為了簡(jiǎn)便,在程序內(nèi)部只進(jìn)行socket連接,即只進(jìn)行交付并連接IP地址和端口號(hào)的工作,之后便啟動(dòng)接收線程進(jìn)行數(shù)據(jù)的接收和處理。填寫密碼和登錄WIFI在手機(jī)設(shè)置里進(jìn)行。3、 軟件編程的障礙一般是硬件的條件造成的,ESP8266在發(fā)送數(shù)據(jù)時(shí),每次發(fā)送都需要重新告訴WIFI我將要進(jìn)行多少字節(jié)數(shù)據(jù)的傳輸,在編寫發(fā)送指令時(shí)有較大難度,后來利用printf函數(shù),進(jìn)行改進(jìn),去解決指令和數(shù)據(jù)發(fā)送問題。總之,經(jīng)歷了這次程序設(shè)計(jì),我增加了對(duì)STM
14、32的熟悉程度,并且網(wǎng)絡(luò)編程部分也有了新的認(rèn)識(shí),提高了自己編程能力。此外,在硬件設(shè)計(jì)方面有更深刻理解,一個(gè)好的設(shè)計(jì)便是硬件與軟件之間的權(quán)衡,優(yōu)越的硬件條件將會(huì)使軟件開發(fā)簡(jiǎn)單,同理,當(dāng)硬件做的工作不夠時(shí),軟件的處理也可適當(dāng)彌補(bǔ)。參考文獻(xiàn)【1】趙巍、馮娜.單片機(jī)基礎(chǔ)及應(yīng)用M.北京:清華大學(xué)出版社。2009:94-103【2】高慧芳.單片機(jī)原理及系統(tǒng)設(shè)計(jì).M杭州:杭州電子科技大學(xué).2008:124-127【3】李寧.基于MDK的STM32處理器開發(fā)應(yīng)用.M北京航空航天大學(xué)出版社,2008【4】劉黎明等.單片機(jī)與嵌入式系統(tǒng)應(yīng)用?!?】郭霖.第一行代碼-Android.M人民郵電大學(xué)出版社,2016【6】國家863中部軟件孵化器.Java從入門到精通.M人民郵電大學(xué)出版社,201017