版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
本畢業(yè)設(shè)計是基于LabVIEW的多點溫度采集系統(tǒng)設(shè)實現(xiàn)多點溫度采集系統(tǒng)的設(shè)計。多點溫度采集系統(tǒng)主要由基于系統(tǒng)和基于STM32F103C8系列單片機及DS18B20溫度傳感器的下位機下位機主程序包括單片機等待溫度采集命令、調(diào)用溫度數(shù)據(jù)讀取子程序、發(fā)送數(shù)據(jù)等程序。單片機接通電源,對各項數(shù)據(jù)進行初始化,而后便開始等待命令來采集到溫度數(shù)據(jù),而后經(jīng)過數(shù)據(jù)的轉(zhuǎn)換,并且進行數(shù)據(jù)處理之后,將溫度數(shù)據(jù)傳輸?shù)絇C端的上位機。而后便重新開始等待采集命令,從而實最主要的工作在于軟件設(shè)計中對模塊的整合以及對于框架的設(shè)計。經(jīng)過幾次的實驗,推翻了一開始建立的構(gòu)架,在一些資料的啟發(fā)下,選擇了利用狀態(tài)機作為一個大框架來進行平臺的搭建,包含初始化狀態(tài),等待狀態(tài),發(fā)送狀態(tài),接收目錄 1.1選題背景以及研究意義 22概述 52.1多點溫度采集系統(tǒng)概述 52.2本設(shè)計方案思路 62.2.1器件的選型 6 62.3研發(fā)方向和技術(shù)關(guān)鍵 2.4主要技術(shù)指標(biāo) 8 83.2溫度傳感器模塊 4軟件設(shè)計 4.1總體方案 4.3狀態(tài)分析 4.4deal狀態(tài)模塊分析 4.5界面設(shè)計 5調(diào)試 275.1單片機驅(qū)動程序調(diào)試 5.2labview界面調(diào)試 5.3聯(lián)合調(diào)試 6結(jié)論 工具有至關(guān)重要的作用,不僅影響產(chǎn)品的質(zhì)量高低,也影響到產(chǎn)品生產(chǎn)線的安全問題。因為單獨的溫度采集技術(shù)很難再短時間內(nèi)實現(xiàn)質(zhì)的飛躍,所以在計算機技溫度采集領(lǐng)域的研究相對還是比較完善的,比如工業(yè)就采用非接觸式測溫方法,利用了熱脹冷縮原理,壓力溫度原理,熱效應(yīng)法等方法監(jiān)測溫度。所以溫度檢測研究領(lǐng)域開始就溫度采集技術(shù)與其他技術(shù)的結(jié)合來達到更強大功能的想法不斷提出,其中最引人注目的就是引入虛擬儀器技術(shù)這一最新技術(shù),讓溫度采集系統(tǒng)進入到了一個新時代,基于虛擬儀器的溫度監(jiān)測系統(tǒng)不斷涌現(xiàn)?;贚abview的多點溫度采集系統(tǒng)就是在這個階段誕生,而后不斷完善。本系統(tǒng)的研究意義在并且可以應(yīng)用到很多場景中。而且根據(jù)具體的需要,本系統(tǒng)可以很快速的做出更多的擴展,比如通過采集到的數(shù)據(jù)制圖分析,設(shè)計告警系統(tǒng),而且也可以帶入其他的數(shù)據(jù)信息,比如濕度,速度等等數(shù)據(jù)。盡管研究趨于成熟,但也十分具有研究很實際應(yīng)用的意義,并且學(xué)習(xí)起來由于圖形化編輯語言G編寫程序,產(chǎn)生的程隨著技術(shù)的不斷發(fā)展,虛擬儀器技術(shù)應(yīng)運而生。虛擬技術(shù)就是方便通過強大己的目的。NILabview圖形化開發(fā)工具就是使用了虛擬儀器技術(shù)。自80年代問世通過Labview設(shè)計一個UI界面實現(xiàn)良好的人機交互,在上位機能夠?qū)崿F(xiàn)告警,溫在被研發(fā)出來的起步就是測試的作用。歷經(jīng)一段時間,在測試方面,漸漸擁有了2labview驅(qū)動程序,能夠很便捷的在labview上各項用語言描寫的函數(shù)用圖像化模塊統(tǒng)一,然后整合為labview工具包。這樣控制模塊甚至只需要幾個模塊就能實現(xiàn)它的功能。不僅開發(fā)難度降低了。所需要動程序。使用LabVIEW可以非常方便的編制各種控制程序。仿真LabVIEW包含多種多樣的數(shù)學(xué)運算函數(shù),特別適合進行模擬、仿真。并且據(jù)市場調(diào)查網(wǎng)發(fā)布的《2019-2024年中國LabVIEW應(yīng)用市場開發(fā)狀況及市場需求容量專項調(diào)查報告》測試測量、控制、仿真是中國LabVIEW主要應(yīng)用市場。而溫度采集系統(tǒng)的應(yīng)用,也已經(jīng)有了非常廣泛的應(yīng)用,根據(jù)產(chǎn)品分類,控制模塊有2,4,8,16路控制模塊;信號采集模塊有熱電偶輸入采集模塊,熱電阻輸如MODBUSTCP服務(wù)器。生產(chǎn)產(chǎn)商非常多,代表有HBM,OmegaEngineering,含了臺式,便攜式以及DIN導(dǎo)軌式。且能夠應(yīng)用于農(nóng)業(yè),建筑,汽車,軍工等領(lǐng)溫度采集系統(tǒng):在國內(nèi)中易云物聯(lián)網(wǎng)科技有限公司,廣東天琴信息技術(shù)有限公司,以及漢隆自動化技術(shù)有限公司,北京阿爾泰科技發(fā)展有限公司等公司都有涉及溫度采集系統(tǒng)的業(yè)務(wù),而這些公司基本都只有長則15年短則兩三年的歷史,企業(yè)的發(fā)展也很夠很大程度上反應(yīng)一個國家的科研水平。我國的溫度采集系統(tǒng)技術(shù)就是在近20年左右的時間里開始逐步發(fā)展起來的。從生活上就可以得到反饋,小時候只有水銀溫度計這樣通過材料熱脹冷縮的方式進行溫度采集的方法。漸漸的耳蝸溫度采集器這樣直接,快速的溫度采集設(shè)備被發(fā)展出來,再到如今各式各樣的溫度采集系統(tǒng),例如紅外溫度采集,熱電阻式溫度采集系統(tǒng)漸漸普及開來。尤其在工業(yè)上具有很大的意義。機械,電子類的,通過熱電阻式溫度傳感器,可以很方便的得到溫度數(shù)據(jù),并且能便捷的與單片機系統(tǒng)和上位機進行通訊。而工業(yè)上,無接觸式的測溫方式使得檢測溫度數(shù)據(jù)變得異常方便,尤其對于高熔點金屬的冶煉,接觸式的溫度采集很難在如此之高的溫度之下正常工作,他的硬件設(shè)備就需要更高熔點金屬來制作,不說制造成本高,是否能夠制作成功也是一個未知數(shù)。在溫度采集技術(shù)的發(fā)展下,其他技術(shù)也能得到更好的發(fā)展。國外在20世紀(jì)70年代的時候,就已經(jīng)開始了對溫度傳感技術(shù)的研究,在最初階段,是通過一些3儀器進行組合,已達到采集信息的作用,并記錄下信息,對現(xiàn)場的工作進行指示4和控制。而后逐漸發(fā)展成控制系統(tǒng),通過中央控制終端設(shè)備以及傳感器等,都是通過計算機根據(jù)程序反饋的參數(shù)給終端設(shè)備下達指令,而終端設(shè)備則是給計算機一個回饋信號,并且下發(fā)指令,讓具體的設(shè)備采取操作,實現(xiàn)生產(chǎn)環(huán)境溫度的調(diào)節(jié)。而到現(xiàn)在,溫度采集,溫度控制等技術(shù)正走向綜合化。國外開始開發(fā)通過計算機為數(shù)據(jù)采集控制系統(tǒng)的終端,能夠在各個不同方面進行綜合分析控制的虛擬儀器技術(shù):根據(jù)電子測量儀器的發(fā)展,大致可以把它分為模擬儀器、數(shù)字化儀器、智能儀器和虛擬儀器四類。而虛擬儀器就是和本畢業(yè)設(shè)計相關(guān)的,由美國國家儀器公司NationalInstr合的方向。而國內(nèi)外的差距在這個方面確實顯而易見,國外是生產(chǎn)者而我國是使用者。NI公司開發(fā)的Labview軟件以及LabWindows/CVI開發(fā)軟件,這兩款軟件都是國際上公認(rèn)的優(yōu)秀虛擬儀器開發(fā)平臺軟件。國內(nèi)虛擬儀器技術(shù)引入以后,應(yīng)用還是非常廣泛的,各個大學(xué)實驗室都有虛擬儀器的開發(fā)成果。像四川大學(xué)的教師還研制初“航空電臺二線綜合測試儀”組成虛擬儀器系統(tǒng)。但是在這個方面我5溫度傳感器發(fā)展到現(xiàn)在已經(jīng)是最普遍的傳感器只有了,他的發(fā)展主要經(jīng)歷了三個階段:傳統(tǒng)的分立式溫度傳感器、模擬集成溫度傳感器、智能集成溫度傳感器。目前的智能溫度傳感器與20世紀(jì)90年代被研發(fā)出來,它是微電子技術(shù)、計算機技術(shù)和自動測試技術(shù)(ATE)的結(jié)晶。在功能上,他能夠完美的輸出溫度數(shù)據(jù),以及一些相關(guān)的變量,并且兼容性好,能夠適配各種型號的單片機。但是社會的發(fā)展讓人們對溫度傳感器的要求也日漸提高,所以溫度傳感器從單片機的模擬式轉(zhuǎn)向數(shù)字化發(fā)展,像網(wǎng)絡(luò)化發(fā)展,通過技術(shù)的飛速發(fā)展,做到了更高精度,多功能,且總線標(biāo)準(zhǔn)化,降低了成本,提升了安全性。多點溫度采集系統(tǒng)應(yīng)運而生。其包含了溫度傳感器,單片機,以及上位機軟件。而在本畢業(yè)設(shè)計中,采用了基于Labview的上位機系統(tǒng)和基于stm32F103C8系列單片機和DS18B20溫度傳感器的下位機系統(tǒng)。在基于labview的多點溫度采集系統(tǒng)中,虛擬儀器和單片機的連接采用串□的模式。因為近距離之下,串口節(jié)等,它們是串行接口按電氣標(biāo)準(zhǔn)及協(xié)議來劃分的。本畢業(yè)設(shè)計采用的是USB轉(zhuǎn)TTL接□。串□的作用就是串并聯(lián)轉(zhuǎn)換,是將CPU的并行信號轉(zhuǎn)化為連續(xù)的串行數(shù)據(jù)流發(fā)送出去,并且可以把串行的數(shù)據(jù)流轉(zhuǎn)化為并行的數(shù)據(jù)傳回CPU。主要參數(shù)有波特率,數(shù)據(jù)位,停止位,奇偶校驗位等?;趌abview的多點溫度采集系統(tǒng)實現(xiàn)了溫度信息的數(shù)據(jù)自動采集、溫度顯示及溫度達到上限或下限溫度時自動報警,并且將采集到的數(shù)據(jù)以以一定格式保存在指定路徑下的txt文件中的功能。主要的系統(tǒng)框圖如圖1:圖表顯示圖表顯示上位機下位機單片機溫度采集62.2本設(shè)計方案思路溫度傳感器:因為我們并沒有需要在嚴(yán)苛環(huán)境下的要求,所以只需要滿足正常狀況下的溫度采集,并且確保一定的精度就可以達到我們的要求。所以我們需而目前市面上的溫度傳感器已經(jīng)非常普遍了,我們只需要能自動實時監(jiān)測溫度,單片機電流能夠驅(qū)動,并且有良好的測量廣度的傳感器。于是選用了DS18B20溫度傳感器。DS18B20溫度傳感器體積小,價格低廉,3V-5并且功耗低,且精確到0.1攝氏度,完美符合我們的要求。單片機:因為溫度傳感器除了電源線和接地線就只用一個IO□據(jù),并且在整個下位機系統(tǒng)之中,只使用了溫度傳感器和串□,所以用到的資源并不多,我們優(yōu)先考慮最小系統(tǒng)板一類的。而現(xiàn)在主要使用的單片機大多為C51單片機與STM32單片機。但是由于C片機采用了哈弗結(jié)構(gòu),數(shù)據(jù)處理更快,于是采用了stm32F103C8T6系列單片機的USB轉(zhuǎn)串□:使用USB轉(zhuǎn)串口設(shè)備相當(dāng)于將傳統(tǒng)的體積較大攜帶不易的串□設(shè)備變成了便捷型即插即用的USB設(shè)備。UART一般來說包含TTL電平的串□和RS232電平的串□。TTL電平是3.3V的,而RS232的電平對單片機來說要求過高,只需要選擇TTL電平類型即可用單片機驅(qū)動。而在國內(nèi)搜索的,市面上最普遍的是CH340模塊。CH340模塊是國產(chǎn)的,價格比較便宜,并且能夠完美的實現(xiàn)程序燒寫模塊:程序燒錄方式一般分為ISP(在系統(tǒng)編程),IAP(在應(yīng)用編面積和成本,并且簡化了產(chǎn)品應(yīng)用程序的下載。一般程序下載器分為ST-LINK、J-LINK、U-LINK,他們懂得區(qū)別是在于適用范圍。因為ST-LINK是針對SJTAG、SWD等標(biāo)準(zhǔn)接口,能輕易滿足我們燒寫程序的要求,并且上面附有指示燈,可以在使用時得到一個反饋?,F(xiàn)今ST-LINK-V2已經(jīng)被做成U盤大小,體積小易攜帶也愈加方便。所以我們采用ST-LINK-V2作為程序燒寫的工具。本設(shè)計是溫度采集系統(tǒng),設(shè)計思路是溫度的“采集一顯示一分析”。首先是下位機,單片機控制溫度傳感器進行溫度采集。下位機主程序包括單片機系統(tǒng)初始化、等待采集命令、調(diào)用溫度數(shù)據(jù)讀取子程序、調(diào)用數(shù)據(jù)轉(zhuǎn)換子程7序、發(fā)送數(shù)據(jù)等程序。單片機接通電源,對各項數(shù)據(jù)進行初始化,而后便開始等待命令進行采集。接收到溫度數(shù)據(jù)采集命令,就調(diào)用程序的子函數(shù),通過溫度采集函數(shù),來采集到溫度數(shù)據(jù),而后經(jīng)過數(shù)據(jù)的轉(zhuǎn)換,并且進行數(shù)據(jù)處理之后,通過串□(本畢業(yè)設(shè)計采取串□1)將溫度數(shù)據(jù)傳輸?shù)絇C端的上位機。而后便重新而后是上位機,運用LabVIEW計算機技術(shù)和儀器相結(jié)合的特點,用它靈活的就對數(shù)據(jù)進行處理,并且通過串□發(fā)回一段數(shù)據(jù),進行回饋,告知下位機已經(jīng)成功接收到數(shù)據(jù)。如果溫度數(shù)據(jù)完全正確,則通過顯示控件以及溫度計,顯示出收到的數(shù)據(jù),并且通過數(shù)據(jù)建立圖表,并且能夠?qū)囟葦?shù)據(jù)以一定的格式寫入到固一個完整的多點溫度采集系統(tǒng),需要軟硬件的完美配合,才能夠嚴(yán)謹(jǐn),精準(zhǔn)的完成功能。在本畢業(yè)設(shè)計過程中,總體的設(shè)計,采用了自上而下的設(shè)計框架,先確定所需的功能,而后預(yù)想到大概的界面設(shè)計,根據(jù)需求制定方案,建立一個大概的框架,而后的功能劃分位一個個小模塊,分別進行設(shè)計與編程,同時各個模塊能夠互相組合,搭建成一個完美的整體,能夠很好的配合運行。系統(tǒng)包含上位機系統(tǒng)和下位機系統(tǒng),下位機系統(tǒng)主要是通過單片機編程控制溫度傳感器進行2.3研發(fā)方向和技術(shù)關(guān)鍵83.1串口通信模塊串行與并行通信的優(yōu)缺點對比:顧名思義,串口通信就是用串行連接的建立更多的隊伍提高效率是必然的。但是在人數(shù)不多的速度很快,那么就沒有必要建立多條道路,只需要一條道就串口通信原理:串行通訊就是每次傳輸?shù)臄?shù)據(jù)只有一個字符,并且每都有一個固定的格式,以“起始位”為頭,以“停止位位則分奇偶,或者無校驗位。最后有停止位和空閑位,都規(guī)收到數(shù)據(jù)的時候,就能夠通過高低電平的轉(zhuǎn)換,即長段的平即為“起始位”,起始位之后就是7個數(shù)據(jù)位,以得到我們的數(shù)據(jù)。圖2為串□傳輸示意圖:芯片2芯片1芯片2USB總線的常用轉(zhuǎn)接芯片有CH340,CH341,CH372等等。結(jié)合了市場情況,以及我們所需的要求,本畢業(yè)設(shè)計采用了CH340模塊,可以實USB轉(zhuǎn)IrDA紅外或者USB轉(zhuǎn)打印口。在串□方式下,CH340通過MODEM聯(lián)絡(luò)信號的方式,讓計算機能夠擴展異步串口,或是能夠?qū)⒑唵蔚拇谠O(shè)備進行功經(jīng)足夠。國外芯片的話PL2303在市場上有風(fēng)評不好,有許多仿制品,易出現(xiàn)質(zhì)量9封裝,對于新手來說焊接比較困難。FT232批量價在10元以上這個價格基本上已經(jīng)不在考慮范圍內(nèi)了,一般用在工業(yè)級環(huán)境。經(jīng)過綜合的比較,我們選擇CH340CH340的特點:可以完全兼容Windows操作系統(tǒng)下的串口程序,并且兼容USBV2.0,支持全雙工,支持50-20M波特率??梢杂?-5V電壓驅(qū)動。圖3CH340模塊原理圖圖3為CH340,USB轉(zhuǎn)串□的原理圖,接線情況:兩者電源□芯片的的TransmitData引腳和ReceiveData引腳接排針引出,在外通過杜邦線分只有擁有獨立的接收端和發(fā)送端即允許數(shù)據(jù)同時在兩個方向上傳輸,這樣才能實現(xiàn)數(shù)據(jù)的全雙工傳輸。全雙工通信是兩個單工通信方式溫度傳感原理:主要分為熱電阻和熱電偶兩類。熱電阻傳感傳感器的原理是由于內(nèi)部金屬材料使用的不同,他的熱脹冷縮特性不同,通過實驗在不同溫度下的電阻變化總結(jié)規(guī)律,而后根據(jù)規(guī)律,可以選擇其中一個參量作為輸出信號,以本畢業(yè)設(shè)計采用DS18B20數(shù)字溫度傳感器。因為這一款溫度傳感器具有很多高,范圍為-55℃~+125℃較廣;4.體積小;5.在使用中不需要任何外圍元件。測量原理:DS18B20數(shù)字溫度傳感器內(nèi)部具有兩個晶振。低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,可以產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,高溫度系數(shù)晶振所產(chǎn)生的信號可以作為輸入給另一個減法計數(shù)器的脈沖輸入,然后以低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖為基準(zhǔn),通過計數(shù)器對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖進行計數(shù),直到高溫度系數(shù)晶振產(chǎn)生的脈沖結(jié)束,通過比值得到溫度數(shù)據(jù),進而完成溫度測量。譬如一度他會產(chǎn)生一個脈沖波,三十度則產(chǎn)生三十個脈沖波。而高溫度系數(shù)晶振DS18B20溫度的轉(zhuǎn)換:如果我們要做的是讓DS18B20進行一次溫度的轉(zhuǎn)換,那具體的操作就是:2、主機再寫一個操作命令(CCH)來跳過ROM作(CCH)命令讓DS18B20完成轉(zhuǎn)換的操作。但是要注意的是每個命令字在寫入的時候是從低字節(jié)位開始的,例如AAH的二進制為10101010,在寫到總線上時要從低位開始寫, 超cable置1短時延時750uscable置1延時600uscable置1cable置0延時15us延時45uscable置1cable置1cablecable置1延時2uscable置0延時3uscable置1延時5us延時60us過程1過程3過程5過程2過程4過程6圖8DS18B20時序圖時序圖照應(yīng)了以上的流程圖,涵蓋了初始化,讀操作,寫操作的大概時序。黑線初始化:主機控制數(shù)據(jù)線拉低,延時750us左右,數(shù)據(jù)線拉高。這時有一個延時,等待DS18B20反饋。此時若在15us-60us之間收到DS18B20返回的一個低電平,則在進行一個延時,而后數(shù)據(jù)線拉高。此中要注意,延時等待DS18B20反饋候,要進行超時控制。而初始化成功的標(biāo)志就是讀到DS18B20操作的先低后高的時序。寫操作:上圖中,過程三表示寫入低電平操作,即總線拉低60us再拉高5us。過程四表示寫入高電平操作,即總線拉低5us再拉高60us。讀操作:過程5表示讀低電平,即總線拉低5us然后釋放總線,根據(jù)讀入高低電平判斷數(shù)據(jù)。單片機是一種集成電路芯片又稱為單片微控制器,相當(dāng)于把計算機系統(tǒng)集成并且隨著技術(shù)的發(fā)展,單片機越發(fā)普及,從51到32,單片機現(xiàn)在擁有了更豐富的庫函數(shù),有了更快的運行速率,有了更大的地址空間,更大的存儲器,并且從馮諾依曼結(jié)構(gòu)到了哈弗結(jié)構(gòu),數(shù)據(jù)處理更快了。單片機在學(xué)生群體中都已經(jīng)成波的輸出的控制,到各種復(fù)雜系統(tǒng)的建立,甚至于很多的競賽都是以單片機為核心的,比如全大學(xué)生電子設(shè)計競賽,也是通過單片機來編寫代碼,實現(xiàn)對硬件的本畢業(yè)設(shè)計就采用了stm32F103C8T6系列單片機。大致參數(shù)如下表:名稱總線寬度32位類別頻率封裝類型工作電壓程序存儲器類型工作溫度擇的是STM32F103C8T6的最小系統(tǒng)板。電源:一般分為分為5V和3.3V這兩個標(biāo)準(zhǔn)。5V一般由USB提供,3.3V—般是通過AMS1117芯片穩(wěn)壓得到。復(fù)位電路:電源復(fù)位時,當(dāng)NRST引腳被拉低,產(chǎn)生外部復(fù)位,并產(chǎn)生復(fù)位4軟件設(shè)計基于labview的多點溫度采集系統(tǒng),軟件設(shè)計的主要方案分為基于labview的界面設(shè)計以及基于keil的單片機驅(qū)動程序。1.首先定一個時鐘,時鐘包括使能端的時鐘,和單片機系統(tǒng)本身自帶的時鐘。需要根據(jù)你所使用的IO□進行具體的判斷。2.配置IO□,PB6,PB7,PB9以及PA9,PA10;其中PA9,PA10是串□1的固定端口,需要將兩口分別設(shè)置為推挽輸出和浮空輸入,并且改變GPIO速率,最后再進行使能。PB9是控制LED燈的端□,起到一個示意的作用,判斷其是否工作。PB6,PB7,是溫度數(shù)據(jù)傳輸?shù)亩丝?,兩個端口分別對應(yīng)一個溫度傳感器,通過這兩個端口來接收溫度數(shù)據(jù)。0.5s,并且循環(huán)DS18B20使能□,一旦采集到一次數(shù)據(jù),便讀取一次溫度數(shù)據(jù)并且發(fā)送一次溫度數(shù)據(jù)。Labview的界面程序設(shè)計:1.首先程序是一直在運行的,所以主要的程序都在一個while的大框架下。只有進行一次的操作在框架之外,指定文件的路徑,與文件名稱,創(chuàng)建txt文件,并且打開文件,建立好序號,溫度1,溫度2以及日期與時間的寫入格式。%Y%m%d%H%M%S溫度2日期和時間序號2.程序運行時,是根據(jù)狀態(tài)機來判斷進程,狀態(tài)機包含六個狀態(tài)。下面介紹程序在狀態(tài)機下的具體運行。(1)一直運行時,整個界面都有不同的狀態(tài)。首先是初始化狀態(tài)(init),初始化包含串口開閉的狀態(tài);串□目前的狀態(tài);讀取字節(jié)的內(nèi)容;波特率的狀態(tài);波形圖標(biāo)的狀態(tài);以及后面程序使用的變量sendflag狀態(tài);(2)初始化完成之后,自動進入wait狀態(tài)。等待狀態(tài)中,引入一個事件結(jié)構(gòu):運行,連接一個串口狀態(tài)LED燈,若正確打開串口,就通過串□發(fā)送一個數(shù)(4)當(dāng)串□成功打開,并且發(fā)送一個打開指令之后,進入getdata狀態(tài)(收集數(shù)據(jù)狀態(tài))。如果收到數(shù)據(jù),首先檢測數(shù)據(jù)字節(jié)數(shù)是否為0,若為0,則重新進入wait狀態(tài)。如果不為0則確定成功收到數(shù)據(jù),并且顯示出收到的數(shù)據(jù)。并都是24個字節(jié)。如果確認(rèn)收到的數(shù)據(jù)確實為24個字節(jié)則將接受到的數(shù)據(jù)在數(shù)據(jù)是錯誤的,重新進入wait狀態(tài)。(5)deal狀態(tài)(處理狀態(tài))中,首先劃分讀取到的數(shù)據(jù),前13個數(shù)據(jù)都是固及第十九和第二十個數(shù)據(jù),并強制轉(zhuǎn)換類型為浮點數(shù)類型,分別作為溫度1和溫度2數(shù)據(jù)的整數(shù)部分,第十六個數(shù)據(jù)是小數(shù)點,此時收集第十七個和第二十二個數(shù)據(jù),并強制轉(zhuǎn)換類型為浮點數(shù)類型分別作為溫度1和溫度2數(shù)據(jù)的小數(shù)部分,并且除以10與前面得到的溫度數(shù)據(jù)分別相加,得到完整的精確到零點一攝氏度的溫度數(shù)據(jù)但是前提是收到數(shù)據(jù)的前十三位與最后兩位必須與單片己根據(jù)實際情況進行調(diào)整。并且固定下寫入txt文件的文本格式—一序號),溫度1,溫度2,以及日期和實踐。并將收到的數(shù)據(jù)寫入指定路徑下的txt文件中。而后進入wait狀態(tài),重新準(zhǔn)備接收溫度數(shù)據(jù)。(6)exit狀態(tài)(退出狀態(tài))。只有按下exit鍵的時候進入,改變串□狀態(tài)值,上述設(shè)計都基于一個狀態(tài)機的建立,即init狀態(tài)(初始化,默認(rèn))到wait狀態(tài) (等待狀態(tài))到send狀態(tài)(發(fā)送狀態(tài))到getdata狀態(tài)(接收數(shù)據(jù)狀態(tài))到deal狀態(tài)(處理數(shù)據(jù)狀態(tài))到exit狀態(tài)(退出狀態(tài))。將基于labview的界面設(shè)計以及基于keil的單片機驅(qū)動程序相結(jié)合,就是本基于labview的多點溫度采集系統(tǒng)的軟件總體設(shè)計。下圖為keil程序流圖:延時1000ms下圖為labview程序流圖:打開串口4.3狀態(tài)分析本畢業(yè)設(shè)計分為Init,wait,send,GetData,Deal,Exit六個狀態(tài)。1.Init狀態(tài):初始化狀態(tài)。如下圖,在整個while循環(huán)的大框架中,將串口開閉值,串□狀態(tài)值,發(fā)送標(biāo)志位,波特率選擇,清空數(shù)據(jù)接收表和清空圖表。2.Wait狀態(tài):等待狀態(tài)。分為超時,串□開閉值改變,以及exit,三種情況。串□未打開就一直在超時狀態(tài)之中,相當(dāng)于等待串口打開。串□打開則進行波特率選擇,改變串□狀態(tài),并且通過布爾控件燈亮來示意串□已經(jīng)打開。而后進入send狀態(tài)。反之則一直在超時狀態(tài)。Exit狀態(tài)即控制exit控件,只需點擊,就直接直接關(guān)閉串口并且退出程序運行。類似于單片機中中斷的原理。真真源TA.3.Send狀態(tài):發(fā)送狀態(tài)。只檢測標(biāo)志位,如果sendflag標(biāo)志位為真,則發(fā)送一串?dāng)?shù)據(jù),進行回饋,表示已經(jīng)正確的收到了溫度數(shù)據(jù)。并且修改sendflag標(biāo)志位防止重復(fù)發(fā)送數(shù)據(jù)。真4.GetData狀態(tài):收集數(shù)據(jù)狀態(tài)。下圖從左到右,分別為收到的數(shù)據(jù)先進行字節(jié)數(shù)檢測,字節(jié)數(shù)不為0時即邏輯為真,即在readbuffer中顯示出收到的數(shù)據(jù),若字節(jié)數(shù)與預(yù)期發(fā)送字節(jié)數(shù)相同,就進入數(shù)據(jù)處理狀態(tài)。若字節(jié)數(shù)與預(yù)期發(fā)送字節(jié)數(shù)不同,判斷數(shù)據(jù)為錯誤數(shù)據(jù)則不進行數(shù)據(jù)處理,重新進入wait狀態(tài),等待接收溫度數(shù)據(jù)。四2四百百噴序號2數(shù)值十進制數(shù)字符率換22一-50D真行結(jié)束常量圖LP回C--變sendflag標(biāo)志位,使得進入send狀態(tài)時,能夠發(fā)送一串?dāng)?shù)據(jù),為單片機進行一個回饋。而后通過“截取字符串”劃分?jǐn)?shù)據(jù)為六段,通過首尾兩段判斷收到的數(shù)據(jù)是否正確,中間則是分別截取兩個溫度數(shù)據(jù)的整數(shù)與小數(shù)部分,得到核心數(shù)據(jù)。而后通過十進制數(shù)字符串至數(shù)值轉(zhuǎn)換,轉(zhuǎn)字符串為數(shù)值,再將其轉(zhuǎn)換為單精度浮點數(shù),通過運算得到溫度數(shù)據(jù),精確到0.1攝氏度,并做出波形圖表,溫度計,溫度顯示控件以及將采集的溫度數(shù)據(jù)以序號,溫度1,溫度2,日期和時間的格式保存到指定路徑下的txt文件中,其中序號以輸入控件的形式存在,運行一次就+1一次,并且保存到序號的局部變量。并增加高低溫上下限報警功能。6.Exit狀態(tài):退出狀態(tài)。即通過串口狀態(tài)判斷串口是否應(yīng)該關(guān)閉,若要關(guān)閉,則關(guān)閉串口,并且調(diào)整串口狀態(tài)和串口開閉值。真檢測數(shù)據(jù)模塊:如圖18,根據(jù)幀頭幀尾的幾位確定的數(shù)據(jù),來判斷收到的數(shù)據(jù)是否完全正確。如果正確,則對收到溫度的數(shù)據(jù)進行提取。.I.I32回百回數(shù)據(jù)處理以及顯示模塊:如圖19,將數(shù)據(jù)由字符串轉(zhuǎn)至單精度浮點數(shù)。進行運算得出之后,設(shè)置溫度閾值,制作上下限報警燈,以及根據(jù)數(shù)據(jù)建立波形圖標(biāo)和溫度計。.C上限報警T數(shù)據(jù)保存模塊:如圖20,將數(shù)據(jù)以一定格式保存到txt文件中。同同數(shù)值至小數(shù)字符串轉(zhuǎn)換50數(shù)值至小數(shù)字符串轉(zhuǎn)換寫入文本文件獲取日期/時間字符量D連接字符串母回5數(shù)值至十進制數(shù)字符串轉(zhuǎn)換行結(jié)束常量圖CC2在界面設(shè)計之前,應(yīng)該構(gòu)建一個大致框架的思路。一開始的思路在直接建立串□,然后進入while循環(huán),后來認(rèn)為框架不合理,應(yīng)該先建立一個整體大框架,之后進行串□端口與波特率的選擇來打開串口。在labview軟件中,建立串也是配置串□,在儀器IO中,打開VISA串□配置,建立輸入控件,即對串□的選擇與波特率的選擇,而后必須有一個輸出。而后建立了一個VISA讀取的IO控件,從中讀取到串口得到的數(shù)據(jù),之后通過檢驗字節(jié)數(shù)檢測數(shù)據(jù)的完整性,通過檢測數(shù)據(jù)前端后端的值來判斷數(shù)據(jù)的正確性。然后截取發(fā)送來的溫度數(shù)據(jù),通過數(shù)值建立顯示控件(包含當(dāng)前的溫度顯示控件,溫度計等)以及圖表的制作。而下圖為設(shè)計好的界面,有兩個溫度計并不在下圖中,有一個溫度閥值是溫度的上限報警值,報警則上限報警燈亮,一個溫度閾值是溫度的下限報警值,報警則下限報警燈亮。中間是收到字符串的顯示(readbuffer)以及收到兩組數(shù)據(jù),溫度數(shù)據(jù)制作的圖表。右邊則是串□端□的選擇(COM),以及串□打開的示意燈,波特率的選擇,串□開閉按鈕,當(dāng)前溫度1與溫度2的顯示控件,以及停止運行的按圖21為整個設(shè)計的界面:在完成本界面之前,曾用另一種方式建立過上位機系統(tǒng)如圖22:真%T回四四回回□圖22使用框架在這個程序中,也能實現(xiàn)串□通信,收集溫度數(shù)據(jù),制作溫度圖表,實現(xiàn)溫度告警以及保存溫度數(shù)據(jù)的作用。但是由于在這個程序下,如果需要修改,就需要重于是研究之后,選擇使用狀態(tài)機,來劃分整個框架,讓結(jié)構(gòu)變得更簡潔。就好像代碼寫的更規(guī)范了。并且在上述功能中,增加了類似串口助手通信的功能。比如選擇通訊端□,選擇波特率,并且有接收窗□。如果需要的話也隨時可以添加發(fā)送窗□。并且清晰的結(jié)構(gòu)制作完成以后,當(dāng)以后需要使5.1單片機驅(qū)動程序調(diào)試程序完成之后,首先將程序燒錄到STM32最小系統(tǒng)板中。首先與合調(diào)試,STM32最小系統(tǒng)板通過CH340芯片模塊,usb轉(zhuǎn)串□,連接到PC上,通過不同的波特率,連接串口,并且進行發(fā)送數(shù)據(jù),接受指令的操作,確定單片機方面與串□正常連接,并且能夠雙向發(fā)送數(shù)據(jù)。而后多次收發(fā)由單片機通過溫度傳感器收到的溫度數(shù)據(jù),確定是否能夠穩(wěn)定正確的發(fā)送溫度數(shù)據(jù)。而后對外部環(huán)境進行改變可以通過握住溫度傳感器,或者通過空調(diào)改變溫度等方式,確定溫度在labview完成設(shè)計后,首先應(yīng)確保串□的使用,通過虛擬串口助手建立了兩串口網(wǎng)絡(luò)調(diào)制器則選擇COM2,觀察兩者是否能夠連接。如果連接成功,則將波性。如果完全相同,則labview串□可以正常使用。此時確保labview串口打開并且連接串口網(wǎng)絡(luò)調(diào)制器之后,模擬發(fā)送溫度數(shù)據(jù)到labview串□端,lab會實時顯示當(dāng)前兩個傳感器檢測到的溫度,并且兩個溫度圖表會根據(jù)輸入的溫度數(shù)據(jù),實時跟進,不斷繪制圖表,以便于更清晰簡介的看到溫度的變化。而后設(shè)置溫度閾值,假設(shè)當(dāng)前溫度25攝氏度,則可以將溫度閾值設(shè)置為26攝氏度,打開串口實時傳輸數(shù)據(jù),用手握住溫度傳感器,觀察到溫度數(shù)據(jù)不斷上升。當(dāng)溫度數(shù)據(jù)超過26攝氏度時,報警燈亮,則證明當(dāng)數(shù)據(jù)慢慢上升時,溫度報警功能正常。而將溫度閾值調(diào)低如0攝氏度之后,再打開串口傳輸數(shù)據(jù),若得到溫度數(shù)據(jù)的時候,報警燈直接亮起,則證明報警功能正常。相同的道理可以反其道而行之,檢測溫度下限報警的功能是否正常。并且在實驗的時候,要打開指定路徑下的txt文首先將程序燒錄到STM32最小系統(tǒng)板中。STM32最小系統(tǒng)板通過CH340芯片模塊,usb轉(zhuǎn)串□,連接到PC上,Labview中的serial_select(串口選擇)選擇COM6(由于USB轉(zhuǎn)串□時,連接到PC上默認(rèn)為COM5),觀察兩者是否能夠連接。如果連接成功,則將波特率(bandrate)數(shù)值調(diào)至相同,連接labview界面串并且進行發(fā)送數(shù)據(jù),接受指令的操作,確定單片機方面與labview界面串□正常連接,并且能夠雙向發(fā)送數(shù)據(jù)。此時單片機發(fā)送溫度數(shù)據(jù)到labview串口端,labview串□端接收到數(shù)據(jù)會從readbuffer(讀入字節(jié))處顯示出來,并且如果收到的數(shù)據(jù)完整,則進入數(shù)據(jù)正確性的判斷,即判斷首尾的字符串是否為應(yīng)發(fā)字符串,如果溫度數(shù)據(jù)完全正確,則溫度顯示控件和溫度計會因為溫度數(shù)據(jù)實時改變以及溫度圖表會實時根據(jù)收到的溫度數(shù)據(jù)畫出曲線。并且D盤test文件中的,以當(dāng)時的日期和時間命名的txt文件,并且里面的溫度按順序一條條清晰的羅列。而后設(shè)置溫度閾值,假設(shè)當(dāng)前溫度25攝氏度,則可以將溫度上限閾值設(shè)置為26攝氏度,打開串口實時傳輸數(shù)據(jù),用手握住溫度傳感器,觀察到溫度數(shù)據(jù)不斷上升。當(dāng)溫度數(shù)據(jù)超過26攝氏度時,溫度上限報警燈亮,則證明當(dāng)數(shù)據(jù)慢慢上升時,溫度上限報警功能正常。而將溫度下限閾值調(diào)高至25攝氏度之后,再打開串□傳輸數(shù)據(jù),若得到溫度數(shù)據(jù)的時候,下限報警燈直接亮起,則證明溫度下限報警功能通過實驗得到一段labview收集到并保存下來的溫度數(shù)據(jù)如:序號溫度1溫度2日期和時間2021年5月19日21:56:292021年5月19日21:56:302021年5月19日21:56:312021年5月19日21:56:322021年5月19日21:56:332021年5月19日21:56:342021年5月19日21:56:352021年5月19日21:56:362021年5月19日21:56:372021年5月19日21:56:382021年5月19日21:56:392021年5月19日21:56:402021年5月19日21:56:412021年5月19日21:56:422021年5月19日21:56:432021年5月19日21:56:442021年5月19日21:56:452
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年池州職業(yè)技術(shù)學(xué)院單招職業(yè)技能考試備考試題含詳細答案解析
- 2026年貴州城市職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試備考試題及答案詳細解析
- 2026年寶雞職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)筆試參考題庫含詳細答案解析
- 2026年山西鐵道職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)考試模擬試題含詳細答案解析
- 2026年四川財經(jīng)職業(yè)學(xué)院單招綜合素質(zhì)筆試參考題庫含詳細答案解析
- 2026年常州紡織服裝職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試備考題庫及答案詳細解析
- 2026年河南女子職業(yè)學(xué)院單招綜合素質(zhì)筆試參考題庫含詳細答案解析
- 2026年山西水利職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)考試備考題庫含詳細答案解析
- 2026年廣東金融學(xué)院高職單招職業(yè)適應(yīng)性測試備考試題及答案詳細解析
- 2026年運城幼兒師范高等??茖W(xué)校高職單招職業(yè)適應(yīng)性測試備考題庫及答案詳細解析
- 2025-2026學(xué)年北京市西城區(qū)初二(上期)期末考試物理試卷(含答案)
- 新版預(yù)算管理制度
- 2024版人教版八年級上冊英語單詞表(含音標(biāo)完整版)
- 空調(diào)設(shè)備維護保養(yǎng)制度范文(2篇)
- “轉(zhuǎn)作風(fēng)、換腦子、促管理”集中整頓工作心得體會
- 提高幕墻主龍骨安裝合格率(QC)
- 高層樓宇門窗安裝安全施工方案
- 河南省天一大聯(lián)考2024-2025學(xué)年高一化學(xué)上學(xué)期期末考試試題
- 高血壓病的中醫(yī)藥防治
- 產(chǎn)科品管圈成果匯報降低產(chǎn)后乳房脹痛發(fā)生率課件
- 綠植租賃合同
評論
0/150
提交評論