




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 . PAGE47 / NUMPAGES52摘 要溫度是機(jī)械加工中最基本的參數(shù)之一,在生產(chǎn)過程中常需要對溫度進(jìn)行檢測和監(jiān)控。數(shù)控機(jī)床加工中,常需要對數(shù)控機(jī)床進(jìn)行熱誤差計(jì)算并實(shí)現(xiàn)熱誤差補(bǔ)償,通過熱誤差補(bǔ)償技術(shù)來達(dá)到提高數(shù)控機(jī)床加工精度的目的。因此,研究一種基于串行通信的多路溫度采集和實(shí)時(shí)監(jiān)控系統(tǒng),對提高工業(yè)控制性能、提高數(shù)控機(jī)床的加工精度以與提高生產(chǎn)效率有著重要的意義。本文設(shè)計(jì)了一種數(shù)控機(jī)床多點(diǎn)溫度采集電路,可以同時(shí)對四路溫度進(jìn)行實(shí)時(shí)的采集和顯示,通過設(shè)定溫度的報(bào)警圍對其進(jìn)行預(yù)警,并且利用串口實(shí)現(xiàn)單片機(jī)和計(jì)算機(jī)的通信,使用上位機(jī)完成數(shù)據(jù)處理和溫度的顯示等。溫度的測量精度低于0.5。設(shè)計(jì)中使用ST
2、C89C52作為下位機(jī)的主控芯片,并使用LCD1602液晶屏進(jìn)行溫度的顯示,采用溫度傳感器TC1047進(jìn)行溫度采集。將溫度傳感器輸出的電壓通過RC濾波電路以與運(yùn)放OP07組成的放大電路,然后通過A/D轉(zhuǎn)換,最后將A/D轉(zhuǎn)換的數(shù)字量通過RS232串口發(fā)送到LABVIEW編寫的上位機(jī)進(jìn)行數(shù)據(jù)處理和顯示。通過上位機(jī)設(shè)置溫度的采集速率以與設(shè)定報(bào)警溫度上限,將采集到的數(shù)據(jù)以TXT或XLS格式存儲(chǔ)到電腦中。硬件電路采用低成本的設(shè)計(jì)思想,軟件設(shè)計(jì)采用模塊化的設(shè)計(jì)方法,最后進(jìn)行實(shí)物的制作和調(diào)試,驗(yàn)證了設(shè)計(jì)的設(shè)計(jì)穩(wěn)定性和可行性,實(shí)現(xiàn)了設(shè)計(jì)的預(yù)期結(jié)果。關(guān)鍵詞:串口通信;LABVIEW;數(shù)控機(jī)床;熱誤差;多通道溫度
3、采集AbstractTemperature is one of the most basic parameters in the machining and temperature detection and monitoring is commonly found in the production. In CNC machining, thermal error of CNC machine need to be calculated, and thermal error compensation is implemented. Through the thermal error comp
4、ensation techniques to achieve the purpose of the improvement of precision CNC machining. So the study of a multi-channel temperature acquisition and real-time monitoring system based on serial communication has an important significance to improve the performance of industrial control and productio
5、n efficiency.This article design a multi-channel temperature acquisition circuit of CNC machine. It can acquire four channel temperature data at the same time, also the display of these data is real-time. The method also can set temperature alarming range and if the data exceed the range the system
6、will warn. And using the serial port to realize the single chip microcomputer and computer communication, using upper computer to complete data processing and display of temperature, etc. Temperature measuring precision less than 0.5 . STC89C52 is the main control chip of the design, and LCD1602 is
7、used to display the temperature value,and temperature sensor TC1047 is used for temperature acquisition. Temperature sensor output voltage will by RC filter circuit and amplifier circuit which is composed of operational amplifier OP07, and then through the A/D conversion .finally, through the RS232
8、serial port sent the digital quantity to upper computer for data processing and display,and the upper computer is wrote by LABVIEW.Can set the temperature data acquisition rate,and can set temperature limit through upper computer,and the collected data can be stored your computer in TXT or XLS forma
9、t.The design of hardware circuit is based on stable, viable, low-cost design ideas. And the design of software uses modular method. And finally by finishing and debugging of the circuit, we verify the feasibility of the design and also we achieve to the expected results of the design.Keywords: seria
10、l communication; LABVIEW; CNC machine; thermal error; multi-channel temperature acquisition目 錄 TOC o 1-3 h z u HYPERLINK l _Toc356903554引言 PAGEREF _Toc356903554 h 1HYPERLINK l _Toc3569035551 系統(tǒng)綜述 PAGEREF _Toc356903555 h 2HYPERLINK l _Toc3569035561.1 方案論證與選擇 PAGEREF _Toc356903556 h 2HYPERLINK l _Toc3
11、569035571.2 系統(tǒng)整體框圖 PAGEREF _Toc356903557 h 3HYPERLINK l _Toc3569035582 硬件電路設(shè)計(jì) PAGEREF _Toc356903558 h 4HYPERLINK l _Toc3569035592.1 51單片機(jī)主控電路 PAGEREF _Toc356903559 h 4HYPERLINK l _Toc3569035602.1.1 單片機(jī)主控電路設(shè)計(jì) PAGEREF _Toc356903560 h 4HYPERLINK l _Toc3569035612.1.2 C51程序語言 PAGEREF _Toc356903561 h 5HYP
12、ERLINK l _Toc3569035622.2 TC1047溫度采集電路 PAGEREF _Toc356903562 h 5HYPERLINK l _Toc3569035632.3 RC低通濾波電路 PAGEREF _Toc356903563 h 6HYPERLINK l _Toc3569035642.4 OP07放大電路 PAGEREF _Toc356903564 h 7HYPERLINK l _Toc3569035652.5 A/D轉(zhuǎn)換電路 PAGEREF _Toc356903565 h 8HYPERLINK l _Toc3569035662.6 LCD1602顯示電路 PAGEREF
13、 _Toc356903566 h 9HYPERLINK l _Toc3569035672.7 串口通信電路 PAGEREF _Toc356903567 h 10HYPERLINK l _Toc3569035682.8 電源穩(wěn)壓電路 PAGEREF _Toc356903568 h 11HYPERLINK l _Toc3569035693 下位機(jī)軟件設(shè)計(jì) PAGEREF _Toc356903569 h 12HYPERLINK l _Toc3569035703.1 主程序框架 PAGEREF _Toc356903570 h 12HYPERLINK l _Toc3569035713.2 ADC0832
14、驅(qū)動(dòng)程序 PAGEREF _Toc356903571 h 13HYPERLINK l _Toc3569035723.3 LCD1602顯示驅(qū)動(dòng)程序 PAGEREF _Toc356903572 h 15HYPERLINK l _Toc3569035733.4 串口通信程序 PAGEREF _Toc356903573 h 17HYPERLINK l _Toc3569035744 上位機(jī)軟件設(shè)計(jì) PAGEREF _Toc356903574 h 18HYPERLINK l _Toc3569035754.1 上位機(jī)人機(jī)交互界面設(shè)計(jì) PAGEREF _Toc356903575 h 18HYPERLINK
15、l _Toc3569035764.2 上位機(jī)程序框圖設(shè)計(jì) PAGEREF _Toc356903576 h 19HYPERLINK l _Toc3569035774.2.1 主程序框圖設(shè)計(jì) PAGEREF _Toc356903577 h 19HYPERLINK l _Toc3569035784.3.2 LABVIEW串口程序設(shè)計(jì) PAGEREF _Toc356903578 h 20HYPERLINK l _Toc3569035794.3.3 串口數(shù)據(jù)幀解碼 PAGEREF _Toc356903579 h 21HYPERLINK l _Toc3569035804.3.4 數(shù)據(jù)處理和顯示 PAGER
16、EF _Toc356903580 h 22HYPERLINK l _Toc3569035814.3.5 數(shù)據(jù)的存儲(chǔ)和讀取 PAGEREF _Toc356903581 h 23HYPERLINK l _Toc3569035824.3.6 采集速率和溫度報(bào)警 PAGEREF _Toc356903582 h 24HYPERLINK l _Toc3569035835 原理圖電路仿真 PAGEREF _Toc356903583 h 25HYPERLINK l _Toc3569035846 實(shí)物的組裝調(diào)試與軟件驗(yàn)證 PAGEREF _Toc356903584 h 27HYPERLINK l _Toc356
17、9035856.1 實(shí)物的制作流程 PAGEREF _Toc356903585 h 27HYPERLINK l _Toc3569035866.2 硬件調(diào)試與軟件驗(yàn)證 PAGEREF _Toc356903586 h 28HYPERLINK l _Toc3569035876.2.1 電源電路測試 PAGEREF _Toc356903587 h 28HYPERLINK l _Toc3569035886.2.2 LCD1602顯示測試 PAGEREF _Toc356903588 h 28HYPERLINK l _Toc3569035896.2.3 放大電路測試 PAGEREF _Toc35690358
18、9 h 29HYPERLINK l _Toc3569035906.2.4 A/D轉(zhuǎn)換測試 PAGEREF _Toc356903590 h 29HYPERLINK l _Toc3569035916.2.5 下位機(jī)串口通信測試 PAGEREF _Toc356903591 h 29HYPERLINK l _Toc3569035926.2.6 上位機(jī)串口通信測試 PAGEREF _Toc356903592 h 29HYPERLINK l _Toc3569035936.2.7 下位機(jī)與上位機(jī)整體功能測試 PAGEREF _Toc356903593 h 30HYPERLINK l _Toc35690359
19、46.3 數(shù)據(jù)測量與誤差分析 PAGEREF _Toc356903594 h 30HYPERLINK l _Toc3569035956.3.1 溫度傳感器標(biāo)定 PAGEREF _Toc356903595 h 30HYPERLINK l _Toc3569035966.3.2 數(shù)據(jù)的測量 PAGEREF _Toc356903596 h 34HYPERLINK l _Toc3569035976.3.3 誤差計(jì)算與分析 PAGEREF _Toc356903597 h 36HYPERLINK l _Toc3569035986.4 軟硬件調(diào)試綜述 PAGEREF _Toc356903598 h 37HYP
20、ERLINK l _Toc3569035997 結(jié)論 PAGEREF _Toc356903599 h 38HYPERLINK l _Toc3569036007.1 系統(tǒng)功能 PAGEREF _Toc356903600 h 38HYPERLINK l _Toc3569036017.2 功能擴(kuò)展 PAGEREF _Toc356903601 h 38HYPERLINK l _Toc3569036027.3 前景展望 PAGEREF _Toc356903602 h 39HYPERLINK l _Toc356903604 辭 PAGEREF _Toc356903604 h 40HYPERLINK l _
21、Toc356903605參考文獻(xiàn) PAGEREF _Toc356903605 h 41HYPERLINK l _Toc356903606附錄一 電路設(shè)計(jì)原理圖 PAGEREF _Toc356903606 h 42HYPERLINK l _Toc356903607附錄二 電路設(shè)計(jì)PCB圖 PAGEREF _Toc356903607 h 43HYPERLINK l _Toc356903608附錄三 電路設(shè)計(jì)實(shí)物圖 PAGEREF _Toc356903608 h 43HYPERLINK l _Toc356903609附錄四 上位機(jī)實(shí)時(shí)數(shù)據(jù)采集界面圖 PAGEREF _Toc356903609 h 4
22、4HYPERLINK l _Toc356903610附錄五 上位機(jī)歷史數(shù)據(jù)讀取界面圖 PAGEREF _Toc356903610 h 45引言隨著科學(xué)技術(shù)的不斷發(fā)展,對現(xiàn)代設(shè)備精確度的要求不斷增長,信息采集(即傳感器技術(shù))、信息傳輸(通信技術(shù))和信息處理(計(jì)算機(jī)技術(shù))為信息技術(shù)的前沿尖端技術(shù),其應(yīng)用非常廣泛,已經(jīng)滲透到社會(huì)的每一個(gè)領(lǐng)域1-3。數(shù)據(jù)采集是指將溫度、壓力、流量、位移等物理量轉(zhuǎn)換成數(shù)字量后,再由計(jì)算機(jī)進(jìn)行存儲(chǔ)、處理、顯示或者打印的過程。在生產(chǎn)過程中應(yīng)用數(shù)據(jù)采集,可對生產(chǎn)現(xiàn)場的工藝參數(shù)進(jìn)行采集、監(jiān)視和記錄,為提高產(chǎn)品質(zhì)量、降低成本提供信息和手段。數(shù)控機(jī)床在加工過程中,熱誤差是因溫度上升
23、引起的加工誤差。據(jù)統(tǒng)計(jì),在精密加工和超精密加工中,由于熱變形引起的加工誤差占總加工誤差的50%70%4-5。目前,有兩類方法可以用來減小機(jī)床的熱誤差。一是通過改進(jìn)機(jī)床結(jié)構(gòu)設(shè)計(jì)方法,直接減小熱誤差,但是會(huì)大大提高成本。二是通過建立熱誤差模型進(jìn)行補(bǔ)償?shù)姆椒?5-16。LABVIEW軟件是NI公司開發(fā)用于測控領(lǐng)域的圖形化開發(fā)環(huán)境,它在數(shù)據(jù)采集、儀器控制、測量分析和數(shù)據(jù)顯示方面有著明顯的優(yōu)勢而得到廣泛的應(yīng)用14。它是一種方便的人機(jī)界面軟件,其編程的方式相比于VC等比較復(fù)雜的上位機(jī)編程軟件來說更加的簡單和有針對性。利用NI的LABVIEW軟件和數(shù)據(jù)采集卡可以實(shí)現(xiàn)數(shù)據(jù)的采集、存儲(chǔ)、分析處理?;蛘咄ㄟ^其它接
24、口可以很容易地將采集到的數(shù)據(jù)發(fā)送到LABVIE編寫的上位機(jī)。設(shè)計(jì)的主要目的和任務(wù)是,在生產(chǎn)車間中對數(shù)控機(jī)床的主要部件進(jìn)行實(shí)時(shí)多點(diǎn)溫度采集,采集硬件電路主要包括:溫度傳感器,放大濾波,A/D轉(zhuǎn)換,下位機(jī)控制,串口通信等功能;采集通道數(shù)=4,采集溫度精度:0.5度,溫度圍:040度。上位機(jī)對采集的溫度數(shù)據(jù)進(jìn)行受熱分析,并顯示溫度隨時(shí)間的變化趨勢,并對加工的熱變形誤差進(jìn)行計(jì)算和補(bǔ)償。1 系統(tǒng)綜述1.1 方案論證與選擇設(shè)計(jì)主要是實(shí)現(xiàn)數(shù)控機(jī)床機(jī)床4路溫度的采集,正確選擇溫度傳感器和設(shè)計(jì)放大電路對整個(gè)設(shè)計(jì)起到事半功倍的作用。下面簡要分析設(shè)計(jì)硬件電路方案的選擇和上位機(jī)編寫軟件的選擇。(1)溫度傳感器選擇 設(shè)
25、計(jì)中溫度傳感器可以選擇數(shù)字溫度傳感和模擬溫度傳感器。設(shè)計(jì)中要求采集的溫度精度為0.5,數(shù)字溫度傳感器相對容易實(shí)現(xiàn)對溫度的高精度測量,如數(shù)字溫度傳感器DS18B20,但進(jìn)行多路溫度采集時(shí)使用數(shù)字溫度傳感器成本高,在滿足溫度測量精度的條件下,選擇模擬溫度傳感器。模擬溫度傳感器又分為電壓輸出型溫度傳感器和電流輸出型溫度傳感器兩種。其中電流輸出型溫度傳感器,輸出電流一般都很小,如AD590電流輸出型溫度傳感器,需要將輸出電流的變化轉(zhuǎn)化電壓的變化,才能進(jìn)行電壓放大和A/D轉(zhuǎn)換等11。設(shè)計(jì)中選用電壓輸出型溫度傳感器TC1047溫度傳感,TC1047輸出電壓每變化10mV,表示溫度變化1,正確設(shè)計(jì)放大電路和
26、選擇A/D轉(zhuǎn)換芯片就可以滿中溫度測量精度為0.5的要求。(2)濾波電路設(shè)計(jì)設(shè)計(jì)中溫度傳感器選擇的是電壓輸出型溫度傳感器,設(shè)計(jì)中要求將大于50Hz的信號(hào)給予濾除。設(shè)計(jì)中選擇使用無源RC低通濾波電路即可以滿足設(shè)計(jì)要求。(3)電壓放大電路的設(shè)計(jì)設(shè)計(jì)中可以選擇使用儀用放大器或運(yùn)算放大器組建電路進(jìn)行電壓放大。選用儀用放大器可以大大減小電路設(shè)計(jì)的復(fù)雜度,如儀用放大器AD620和AD623只需要外接一個(gè)滑動(dòng)變阻器就可以實(shí)現(xiàn)放大倍數(shù)的精確調(diào)節(jié)。而使用運(yùn)算放大器電路設(shè)計(jì)復(fù)雜,精度也沒有儀用放大器的高,但儀用放大器的價(jià)格相對運(yùn)算放大器來說價(jià)格非常昂貴。設(shè)計(jì)中選擇運(yùn)算放大器OP07進(jìn)行放大電路的設(shè)計(jì),也可以滿足設(shè)計(jì)
27、的要求,并且設(shè)計(jì)成本大大降低。(4)A/D轉(zhuǎn)換芯片選擇設(shè)計(jì)中要合理選擇A/D轉(zhuǎn)換芯片的分辨率。設(shè)計(jì)放大電路的放大數(shù)5,只要A/D能分辨放大電路25mV輸出電壓的變化,就可以實(shí)現(xiàn)測量溫度精度為0.5的要求。設(shè)計(jì)中選用8位分辨率的A/D轉(zhuǎn)換芯片ADC0832,在參考電壓為5V時(shí)可以分辨最小20mV的電壓變化,滿足設(shè)計(jì)要求。(5)上位機(jī)編程軟件選擇以上主要分析了硬件電路設(shè)計(jì)方案的選擇,上位機(jī)的設(shè)計(jì)也是設(shè)計(jì)的難點(diǎn)。設(shè)計(jì)選擇使用LABVIEW作為上位機(jī)的編寫軟件,LABVIEW是圖形化編程語言,相對于其他文本編程語言來說,LABVIEW相對簡單的多,可以很容易實(shí)現(xiàn)程序的編寫和顯示界面的美化設(shè)計(jì)10。1.
28、2 系統(tǒng)整體框圖 設(shè)計(jì)主要任務(wù)分為上位機(jī)的設(shè)計(jì)和下位機(jī)設(shè)計(jì)兩個(gè)大模塊。其中,下位機(jī)主要是硬件電路的設(shè)計(jì)和C語言程序的編寫。用電壓輸出型溫度傳感器TC1047來實(shí)現(xiàn)四路溫度的實(shí)時(shí)監(jiān)測,用液晶LCD1602顯示采集到的溫度值。將溫度傳感器輸出的電壓,通過RC濾波電路,將50HZ以上的信號(hào)給予濾除,再經(jīng)過運(yùn)算放大器OP07組建的放大電路對濾波后的電壓信號(hào)進(jìn)行放大,使用兩片ADC0832將四路放大的模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào)。主控芯片STC89C52將A/D轉(zhuǎn)換的數(shù)字量經(jīng)過基于MAX232芯片的串行通信方式,發(fā)送到用LABVIEW軟件編寫的上位機(jī),同時(shí)將數(shù)字量經(jīng)數(shù)據(jù)處理轉(zhuǎn)化為溫度值在液晶LCD1602上顯
29、示。上位機(jī)將接收到的數(shù)據(jù)進(jìn)行處理和顯示,顯示溫度隨時(shí)間的變化曲線以與用顏色的淺深來表示溫度的高低,上位機(jī)可以設(shè)定報(bào)警溫度上限值和采集溫度的速率。上位機(jī)分為兩個(gè)面板,一個(gè)為實(shí)時(shí)數(shù)據(jù)顯示面板,另一個(gè)為歷史數(shù)據(jù)讀取顯示面板,可以實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)采集,同時(shí)也可以讀取和分析歷史數(shù)據(jù)。設(shè)計(jì)的整體框圖如圖1-1所示。PC機(jī)STC89C52串口串口電路LABVIEW溫度傳感器放大電路轉(zhuǎn)換溫度傳感器放大電路濾波電路濾波電路穩(wěn)壓電源 . . .LCD液晶顯示圖1-1 數(shù)控機(jī)床測溫系統(tǒng)整體框圖2 硬件電路設(shè)計(jì)2.1 51單片機(jī)主控電路設(shè)計(jì)所選用的單片機(jī)型號(hào)為STC89C52,其與市場大部分51系列單片機(jī)完全兼容,并且在
30、性能方面和速度上更具有優(yōu)勢。STC89C52是一種低功耗、高性能CMOS8位微控制器,在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。STC89系列單片機(jī)CPU主要功能是產(chǎn)生各種控制信號(hào),控制輸入/輸出端口的數(shù)據(jù)傳輸、數(shù)據(jù)的算術(shù)運(yùn)算、邏輯運(yùn)算以與位操作處理等。STC89系列單片機(jī)幾乎包含了所有數(shù)據(jù)采集和控制中所需的所有單元模塊,可稱得上是一個(gè)片上系統(tǒng)6-10。2.1.1 單片機(jī)主控電路設(shè)計(jì)圖2-1 單片機(jī)主控電路設(shè)計(jì)單片機(jī)最小系統(tǒng)原理圖如圖2-1所示。主控模塊由復(fù)位電路,晶振時(shí)鐘電路和IO電路3部分組成。復(fù)位電
31、路設(shè)計(jì)為按鍵復(fù)位和上電復(fù)位,通過在單片機(jī)的RST腳接10uf電容接電源,10K電阻接地的方式,完成上電復(fù)位,RST引腳再經(jīng)過一個(gè)200歐的電阻和一個(gè)按鍵可以實(shí)現(xiàn)按鍵復(fù)位。測溫電路設(shè)計(jì)要用到串口通信,為了得到較準(zhǔn)確的波特率,降低通信的誤碼率,晶振電路使用的是11.0592MHZ的晶振,晶振兩端分別接2個(gè)22pf電容接地,保證其時(shí)鐘電路的穩(wěn)定性。單片機(jī)引腳為訪問外部存儲(chǔ)器控制信號(hào),將其接高電平,訪問部ROM。IO電路其引腳的功能具體如下:P0口為液晶LCD1602的并行數(shù)據(jù)總線,為了增加對LCD1602的驅(qū)動(dòng)能力,外加了10K排阻;P1.0P1.2為LCD的控制口;P2.0P2.4為ADC0832
32、的數(shù)據(jù)輸入輸出和控制口。P3.0和P3.1分別為串口通信的數(shù)據(jù)接收和數(shù)據(jù)發(fā)送口。2.1.2 C51程序語言C51是為51系列單片機(jī)設(shè)計(jì)的一種C語言,其特點(diǎn):結(jié)構(gòu)化語言,代碼緊湊;接近真實(shí)語言,程序可讀性強(qiáng);庫函數(shù)豐富,編程工作量小;機(jī)器級(jí)控制能力,功能很強(qiáng);與匯編指令無關(guān),易于掌握;對于有復(fù)雜計(jì)算的程序來說,更突顯其優(yōu)勢,C51語言已成為51系列單片機(jī)程序開發(fā)的主流軟件方法。C51與標(biāo)準(zhǔn)C語言對比,其語法規(guī)則、程序結(jié)構(gòu)、編程方法大致一樣,而數(shù)據(jù)類型、存儲(chǔ)模式與中斷處理存在著差異13。2.2 TC1047溫度采集電路設(shè)計(jì)采用4個(gè)溫度傳感器TC1047A來采集4路溫度,將溫度的變化轉(zhuǎn)化為電壓的變化
33、。TC1047和TC1047A是線性電壓輸出溫度傳感器,可以精確地測量從-40到+125之間的溫度。10mV/的輸出電壓的斜率響應(yīng)允許在溫度圍對預(yù)計(jì)的溫度進(jìn)行測量。TC1047傳感器輸出電壓的大小會(huì)隨溫度的改變而改變,溫度增大,輸出電壓會(huì)增大,溫度減小,其輸出電壓也會(huì)減小12。TC1047溫度傳感器輸出電壓與溫度變化成線性關(guān)系,關(guān)系表達(dá)式為:其中:為傳感器輸出電壓,單位為;測量溫度值,單位為。TC1047溫度傳感器輸出電壓隨溫度變化的關(guān)系曲線如圖2-2所示。圖2-2 TC1047輸出電壓隨溫度變化的關(guān)系曲線如圖2-3所示為TC1047溫度傳感器接口電路的設(shè)計(jì),其中3號(hào)管腳用于為該芯片供電,管腳
34、1為電源地,管腳2為電壓輸出,只要給芯片供電就可以使溫度傳感器正常工作。圖2-3 TC1047接口原理圖2.3 RC低通濾波電路設(shè)計(jì)采用一階無源RC低通濾波電路濾除頻率為50HZ以上的干擾信號(hào),使溫度傳感器的輸出電壓較穩(wěn)定。常用的濾波電路有無源濾波和有源濾波兩大類。若濾波電路元件僅由無源元件(電阻、電容、電感)組成,則稱為無源濾波電路。無源濾波的主要形式有電容濾波、電感濾波和復(fù)式濾波(包括倒L型、LC濾波、LC型濾波和RC型濾波等)。若濾波電路不僅由無源元件,還由有源元件(雙極型管、單極型管、集成運(yùn)放)組成,則稱為有源濾波電路。有源濾波的主要形式是有源RC濾波,也被稱作電子濾波器。無源濾波電路
35、的結(jié)構(gòu)簡單,易于設(shè)計(jì),但它的通帶放大倍數(shù)與其截止頻率都隨負(fù)載而變化,因而不適用于信號(hào)處理要求高的場合。有源濾波電路的負(fù)載不影響濾波特性,因此常用于信號(hào)處理要求高的場合。濾波電路還可以分為高通、低通、帶通和帶阻濾波器,是一種能使有用頻率信號(hào)通過,同時(shí)抑制無用頻率成分的電路。設(shè)計(jì)需要采集由溫度傳感器將溫度轉(zhuǎn)化為電壓的信號(hào),在實(shí)際中溫度的變化頻率不可能是太高的。為了使采集到的電壓信號(hào)更加穩(wěn)定可靠,設(shè)計(jì)需要將高于50HZ以上的信號(hào)濾除掉,才能進(jìn)行電壓信號(hào)的放大。在滿足要求的前提下,為了使設(shè)計(jì)更加的簡單,采用RC無源低通濾波電路。RC低通濾波器的截止頻率計(jì)算公式為:其中:為電阻的阻值,單位為;為電容值,
36、單位為。設(shè)計(jì)中選用的電容為,電阻,所以可以計(jì)算出低通濾波器的截止頻率為:所以滿足截止頻率小于50HZ的要求,RC低通濾波電路原理圖設(shè)計(jì)如圖2-4所示。圖2-4 RC低通濾波電路2.4 OP07放大電路 設(shè)計(jì)采用運(yùn)算放大器OP07作為主芯片組建電壓放大電路,放大經(jīng)過RC低通濾波器電路后的電壓信號(hào)。OP07芯片是一種低噪聲,非斬波穩(wěn)零的雙極性運(yùn)算放大器集成電路。由于OP07具有非常低的輸入失調(diào)電壓,所以O(shè)P07在很多應(yīng)用場合都不需要額外的調(diào)零。OP07同時(shí)具有輸入偏置電流低各和開環(huán)增益高的特點(diǎn)。這種低失調(diào)電壓、高開環(huán)增益的特性使得OP07特別適用于高增益的測量設(shè)備和放大傳感器輸出的信號(hào)。溫度傳感器
37、TC1047在0到40的電壓輸出圍為到,每變化一度,精度要求為0.5。而采用的是8位的A/D轉(zhuǎn)換,最大能分辨20mV電壓變化,放大器的放大倍數(shù)為5即可滿中要求。設(shè)計(jì)要求能實(shí)時(shí)快速地采集溫度的變化,對采集的速度有較高的要求,不能通過模擬開關(guān)來分時(shí)放大每一通道的電壓信號(hào),而是每個(gè)通道都有各自的放大電路,這樣就可以大大提高溫度采集的速度。單通道放大電路原理圖如圖2-5所示。 圖2-5 單通道電壓放大電路如上圖2-5所示為三運(yùn)放組成的差分放大電路,其中和都是組成電壓跟隨器,用于增大輸入阻抗減小輸出阻抗。的管腳3輸入溫度傳感器的輸出電壓,用于將電壓進(jìn)行差分放大。需要根據(jù)要求計(jì)算各電阻的參數(shù)值。的輸出電壓
38、為:(2-1)根據(jù)運(yùn)算放大器虛短虛斷的特性可得:(2-2)其中:,(2-3)由公式(2-1)、(2-2)和(2-3)可計(jì)算出如下表達(dá)式:(2-4)其中表達(dá)式(2-4)中為電阻阻值,單位為;分別為輸入輸出電壓,單位為。設(shè)表達(dá)式(2-4)中的,即為電壓放大倍數(shù),為了方便計(jì)算,取,,將和所選擇的電阻阻值代入(2-4)可得:解得:,電阻用一個(gè)的滑動(dòng)變阻器代替,便于放大倍數(shù)的調(diào)節(jié)。2.5 A/D轉(zhuǎn)換電路設(shè)計(jì)采用兩片分辨率為8位的A/D轉(zhuǎn)換芯片ADC0832將已放大的模擬電壓信號(hào)轉(zhuǎn)換為單片機(jī)可以處理的數(shù)字信號(hào)。ADC00832為8位分辨率的逐次逼近型雙通道A/D轉(zhuǎn)換芯片,其最高分辨可達(dá)256級(jí),可以適應(yīng)一
39、般模擬量的轉(zhuǎn)換要求。其部電源輸入與參考電壓復(fù)用,使得芯片的模擬電壓輸入在05V之間。芯片的轉(zhuǎn)換時(shí)間僅為32us,具有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗(yàn),以減小誤差,轉(zhuǎn)換速度快且性能穩(wěn)定性強(qiáng)。獨(dú)立的芯片使能輸入,使多器件掛接和處理器控制變得更加方便。設(shè)計(jì)要求采集4通道的模擬量,而單片ADC0832只有雙通道,所以選擇使用2片ADC0832。之所以選擇兩片ADC0832作為A/D轉(zhuǎn)換電路,而不是選擇集成有多通道的A/D轉(zhuǎn)換芯片,如ADC0834或ADC0838,而這兩個(gè)芯片在操作時(shí)更復(fù)雜,編寫軟件時(shí)會(huì)降低模擬量采集的速度,若選用常用的轉(zhuǎn)換芯片ADC0809,在頻率為500KHZ時(shí),轉(zhuǎn)換速度才128us,速度
40、也達(dá)不到。在設(shè)計(jì)時(shí)將兩片芯片的引腳CLK、DI和DO分別對應(yīng)并聯(lián)在一起連接到單片片機(jī)的三個(gè)I/O口上,而兩芯片的片選信號(hào)CS則連接到不同的I/O口上,可以通過片選端來選擇要操作的A/D芯片。兩片ADC0832組成的A/D轉(zhuǎn)換電路原理圖如圖2-6所示。圖2-6 A/D轉(zhuǎn)換電路2.6 LCD1602顯示電路設(shè)計(jì)LCD1602主要用于顯示采集到的4路溫度值。LCD1602是常用的液晶顯示屏,它顯示的容為162,即可以顯示兩行,每行16個(gè)字符,目前絕大多數(shù)字符液晶基于HD44780液晶芯片的,控制原理是完全一樣的,因此基于HD44780寫的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。LCD16
41、02工作電壓為3.3V或5V,含復(fù)位電路,提供各種控制命令如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能。有80字節(jié)顯示數(shù)據(jù)存儲(chǔ)器DDRAM,建有192個(gè)5X7點(diǎn)陣的字型的字符發(fā)生器CGROM和8個(gè)可由用戶自定義的5X7的字符發(fā)生器CGRAM。圖2-7 LCD1602顯示電路LCD1602主要由控制引腳和數(shù)據(jù)引腳2個(gè)部分組成。參考圖2-7其中RS和RW兩個(gè)引腳用于控制LCD1602的寫操作類型,當(dāng)RS和RW均為0時(shí),即都為低電平時(shí),則此次單片機(jī)發(fā)送的8位數(shù)為對LCD1602的控制命令,通過命令類型的判斷執(zhí)行相應(yīng)的LCD的配置。而當(dāng)RS為1即高電平時(shí),則發(fā)送的8位數(shù)為需要顯示的容,LCD對其進(jìn)
42、行顯示。每次的寫命令,需要將LE控制引腳置為高電平,使能此次寫,平時(shí)狀態(tài)則置為低電平。引腳1和2分別為LCD的電源和接地端,引腳15和16分別為LCD背光調(diào)節(jié)的正極和負(fù)極,分別接上電源和地。LCD的3引腳用于調(diào)整字符顯示的對比度,此部分通過外加一個(gè)10K電位器,接電源和地之間來實(shí)現(xiàn)手動(dòng)的調(diào)整,一般當(dāng)對比度不夠高時(shí),字符不會(huì)顯示,而增加太多時(shí)會(huì)出現(xiàn)重影,因此合適的對比度對于顯示效果比較重要。2.7 串口通信電路設(shè)計(jì)采用MAX232芯片進(jìn)行單片與PC之間的電平轉(zhuǎn)換,實(shí)現(xiàn)單片機(jī)與PC機(jī)之間的通信。MAX232芯片是美信(MAXIM)公司專為RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的單電源電平轉(zhuǎn)換芯片,使用+5V單電
43、源供電。由于電腦串口RS232電平是-10V,+10V,而一般的單片機(jī)應(yīng)用系統(tǒng)的信號(hào)電壓是TTL電平0 V和+5V,MAAX232就是用來進(jìn)行電平轉(zhuǎn)換的,該器件包含2驅(qū)動(dòng)器、2接收器和一個(gè)電壓發(fā)生器電路提供TIA/EIA-232-F電平。該器件符合TIA/EIA-232-F標(biāo)準(zhǔn),每一個(gè)接收器將TIA/EIA-232-F電平轉(zhuǎn)換成5-V TTL/CMOS電平。每一個(gè)發(fā)送器將TTL/CMOS電平轉(zhuǎn)換成TIA/EIA-232-F電平。圖2-8 串口通信電路串口通信電路原理圖設(shè)計(jì)如圖2-8所示。此次設(shè)計(jì)的串口通信電路主要使用MAX232芯片來實(shí)現(xiàn)電平轉(zhuǎn)換。其中T1IN和R1OUT分別接單片機(jī)的發(fā)送引腳
44、TXD和接收引腳RXD,MAX232外接5個(gè)1uf電容為經(jīng)典電路的接法,主要實(shí)現(xiàn)振蕩式升壓將單片機(jī)的電平變成符合計(jì)算機(jī)的電平類型。與計(jì)算機(jī)接口電路使用RS232 DB9接頭,由于不需要奇偶校驗(yàn)等,因此只需接其中3根線,即發(fā)送、接收和地線。2.8 電源穩(wěn)壓電路設(shè)計(jì)要求運(yùn)算放大器OP07需要在正負(fù)電源下工作,并且A/D的參考電壓值也需要較穩(wěn)定。為了使電路正常并且穩(wěn)定工作,選用L78/ L79穩(wěn)壓芯片設(shè)計(jì)穩(wěn)壓電源。L78系列是三端正電源穩(wěn)壓芯片,它有一系列固定的固定的正電壓輸出,應(yīng)用十分廣泛。芯片部有電流限制、過熱保護(hù)以與安全工作區(qū)的保護(hù),使它基本不會(huì)損壞。如果能夠提供足夠的散熱片,就能夠提供大于1
45、.5A的輸出電流。雖然芯片是按照固定輸出電壓來設(shè)計(jì)的,但是接入適當(dāng)?shù)耐獠科骷螅湍塬@得各種不同的輸出電壓和輸出電流。L79系列是三端穩(wěn)壓芯片除了輸出是負(fù)電壓之外,其余特性與L78系列是三端穩(wěn)壓芯片基本一致。圖2-9 穩(wěn)壓電源電路電源電路原理圖如圖2-9所示。選用L7812和L7912穩(wěn)壓芯片分別得到穩(wěn)定的正12V和負(fù)12V電壓。而A/D轉(zhuǎn)換芯片、溫度傳感器和單片機(jī)等都需要正5V的工作電壓,選用L7805穩(wěn)壓芯片得到穩(wěn)定的正5V電壓輸出。其中P5用于接220V交流轉(zhuǎn)12V交流的變壓器,對12V交流經(jīng)過整流后輸出直流正電壓和直流負(fù)電壓。將整流后的直流電壓經(jīng)過一個(gè)2200uF和一個(gè)0.33uF的電
46、容后可以得到較穩(wěn)定的直流電壓。然后通過穩(wěn)壓芯片L7812和L7912就可以得到穩(wěn)定的正負(fù)12V電壓,把穩(wěn)壓管輸出的正12V作為L7805的輸入,L7805就可以輸出穩(wěn)定的正5V電壓。3 下位機(jī)軟件設(shè)計(jì)下位機(jī)程序設(shè)計(jì)使用KEIL C的編譯環(huán)境,并使用C語言進(jìn)行程序的編寫,然后經(jīng)過編譯后生成.hex文件。此次設(shè)計(jì)因?yàn)橐玫酱谕ㄐ?,所以選擇使用串口下載,將代碼下載到相應(yīng)STC89C52的單片機(jī)中去。3.1 主程序框架下位機(jī)程序設(shè)計(jì)采用模塊化的設(shè)計(jì)思想,主要包括下面幾部分:(1)編寫LCD1602驅(qū)動(dòng)程序,實(shí)現(xiàn)對LCD1602的8字節(jié)寫命令操作函數(shù)、寫數(shù)據(jù)操作函數(shù),調(diào)用寫命令函數(shù)初始化液晶屏以與通過
47、寫命令和寫數(shù)據(jù)這兩個(gè)函數(shù)來編寫在指定的位置顯示單個(gè)字符、在指定的位置開始顯示字符串等擴(kuò)展函數(shù),便于在主程序中調(diào)用。通過在主程序中調(diào)用相應(yīng)的LCD顯示函數(shù),最終完成4路溫度值的顯示。(2)編寫ADC0832驅(qū)動(dòng)程序,實(shí)現(xiàn)對4通道模擬電壓的采集。程序中包括相應(yīng)通道的選擇和對A/D轉(zhuǎn)換結(jié)果1個(gè)字節(jié)的讀取。為了能方便在主函數(shù)中選擇轉(zhuǎn)換通道和讀取相應(yīng)通道的A/D轉(zhuǎn)換結(jié)果。將程序設(shè)計(jì)成有兩個(gè)參數(shù)變量和帶返回值的函數(shù),其中一參數(shù)變量用來選擇對那片芯片操作,另一個(gè)參數(shù)變量用來選擇轉(zhuǎn)換通道,最后的返回值則為A/D的轉(zhuǎn)換結(jié)果。(3)編寫串口通信程序,實(shí)現(xiàn)將A/D轉(zhuǎn)換的8位數(shù)字量通過串口發(fā)送到上位機(jī)。串口通信程序包
48、括串口的初始化配置函數(shù),串口1個(gè)字節(jié)發(fā)送函數(shù)。其中串口的初始化配置要特別注意波特率的設(shè)置,應(yīng)該和上位機(jī)的波特率設(shè)置成一樣大小,保證串口通信更準(zhǔn)確;而串口發(fā)送則采用查詢法。在主程序過調(diào)用發(fā)送子函數(shù)即可以將數(shù)據(jù)發(fā)送到上位機(jī)。(4)編寫主程序,實(shí)現(xiàn)在主程序中調(diào)用已編寫好的子程序,即將整個(gè)下位機(jī)的的功能在主程序中實(shí)現(xiàn)。在主函數(shù)中,首先對LCD1602、ADC082和串口進(jìn)行初始化,然后在一個(gè)大循環(huán)中不停地采集A/D轉(zhuǎn)換的數(shù)據(jù),并通過處理通過串口發(fā)送到上位,同時(shí)再經(jīng)過適當(dāng)?shù)奶幚?,在LCD上顯示出溫度值。為了使接收到的數(shù)據(jù)更準(zhǔn)確,在取A/D轉(zhuǎn)換結(jié)果時(shí),連續(xù)讀取10次,再求取平均值,而LCD溫度顯示函數(shù)則在
49、定時(shí)器中斷調(diào)用,設(shè)置成每隔一段時(shí)間對溫度值進(jìn)行刷新一次。下位機(jī)的主程序流程圖如圖3-1所示。YESYESYESNONONO開始結(jié)束LCD顯示、串口、A/D轉(zhuǎn)換、定時(shí)器中斷等初始化對4路A/D轉(zhuǎn)換每個(gè)通道各讀取10次,并保存將各通道采集到的10組A/D轉(zhuǎn)換結(jié)果分別求平均值,并保存串口發(fā)送數(shù)據(jù)到上位機(jī)是否定時(shí)器中斷?是否定時(shí)器中斷?是否定時(shí)器中斷? 進(jìn)入中斷服務(wù)程序?qū)⒏魍ǖ赖臄?shù)字量平均值轉(zhuǎn)換為電壓值將電壓值轉(zhuǎn)換為溫度值LCD1602顯示4通道溫度值開始結(jié)束圖3-1 下位機(jī)主程序流程圖3.2 ADC0832驅(qū)動(dòng)程序ADC0832未工作時(shí)其CS輸入端應(yīng)為高電平,此時(shí)芯片禁止讀寫,CLK、DO和DI的電
50、平值可任意。當(dāng)要進(jìn)行A/D轉(zhuǎn)換時(shí),必須將CS使能端置低電平并且保持低電平直到轉(zhuǎn)換完全結(jié)束。使能CS之后,單片機(jī)向芯片時(shí)鐘輸入端CLK輸入時(shí)鐘脈沖,數(shù)據(jù)輸入端DI用于輸入數(shù)據(jù)進(jìn)行A/D轉(zhuǎn)換通道的選擇,數(shù)據(jù)輸出端DO用于輸出A/D轉(zhuǎn)換的結(jié)果。在第一個(gè)時(shí)鐘脈沖的下降沿之前DI必須保持高電平,表示啟動(dòng)信號(hào),在第二和第三個(gè)下降沿之前DI輸入的數(shù)據(jù)用于選擇A的轉(zhuǎn)換通道。ADC0832的操作時(shí)序如圖3-2所示。圖3-2 ADC0832的時(shí)序圖在進(jìn)行A/D轉(zhuǎn)換時(shí),要用到兩片ADC0832,在進(jìn)行A/D轉(zhuǎn)換時(shí),先選擇其中一片芯片進(jìn)行A/D轉(zhuǎn)換,讀取兩個(gè)通道的值,之后再選擇另外一個(gè)芯片進(jìn)行A/D轉(zhuǎn)換,再讀取兩個(gè)通
51、道的值。再選擇芯片時(shí)只能使能其中的一個(gè)芯片,而另外的一個(gè)芯片的使能端必須禁止。ADC0832驅(qū)動(dòng)程序流程圖如圖3-3所示。開始選擇一片ADC0832選擇通道1選擇通道2保存轉(zhuǎn)換結(jié)果保存轉(zhuǎn)換結(jié)果選擇另一片ADC0832選擇通道3選擇通道4保存轉(zhuǎn)換結(jié)果保存轉(zhuǎn)換結(jié)果結(jié)束圖3-3 A/D轉(zhuǎn)換程序流程圖ADC0832在讀取轉(zhuǎn)換結(jié)果時(shí),是在時(shí)鐘脈沖下串行輸出的,并且是最高位先輸出。讀取A/D轉(zhuǎn)換的部分代碼如下:for(i=0;i8;i+) /循環(huán)8次讀取1個(gè)字節(jié)數(shù)據(jù)val=val1; /val用于暫存轉(zhuǎn)換結(jié)果,經(jīng)過8次左移后即為轉(zhuǎn)換結(jié)果CLK=1;CLK=0; /數(shù)據(jù)輸出在下降沿后有效if(DO)val=
52、val|0 x01; /若輸出為1則與0 x01相或3.3 LCD1602顯示驅(qū)動(dòng)程序LCD顯示驅(qū)動(dòng)程序在進(jìn)行數(shù)據(jù)的顯示時(shí),先要對LCD寫入初始化控制命令字,初始化成功之后,寫入數(shù)據(jù)地址控制命令,再寫入數(shù)據(jù)才能把數(shù)據(jù)顯示出來。程序主要包括寫命令、寫數(shù)據(jù)、數(shù)據(jù)地址指針設(shè)定、顯示單個(gè)字符、顯示字符串等。LCD1602的寫操作時(shí)序如圖3-4所示。圖3-4 LCD1602寫操作時(shí)序 根據(jù)LCD1602寫操作時(shí)序圖可知,當(dāng)RS為低電平,RW為高電平時(shí)為寫命令操作,控制命令主要是用設(shè)置LCD顯示模式、光標(biāo)的設(shè)置等,單片機(jī)將8位數(shù)據(jù)送到LCD并行數(shù)據(jù)總線上,單片機(jī)給E數(shù)據(jù)端一個(gè)正脈沖信號(hào),就可以將控制命令字
53、寫入LCD。當(dāng)RS為高電平,RW為高電平時(shí)為寫數(shù)據(jù)操作,LCD就會(huì)將接收到的數(shù)據(jù)在液晶屏上顯示出來。在進(jìn)行數(shù)據(jù)顯示前需要先設(shè)置數(shù)據(jù)地址指針,這樣才能在想要的位置顯示出數(shù)據(jù)。LCD1602顯示驅(qū)動(dòng)程序流程圖如圖3-5所示。NO YES開始LCD初始化根據(jù)想要顯示的位置計(jì)算相應(yīng)的地址發(fā)送地址發(fā)送數(shù)據(jù)數(shù)據(jù)是否發(fā)送完?結(jié)束圖3-5 LCD1602顯示驅(qū)動(dòng)程序流程圖 根據(jù)以上LCD寫操作時(shí)序和LCD顯示驅(qū)動(dòng)程序流程圖編寫出相應(yīng)的驅(qū)動(dòng)函數(shù),部分顯示函數(shù)如下:void Display_LCD_1602_dan_zi(uchar X,uchar Y,uchar Value) /在指定位置 / 寫入一個(gè)字符,X
54、為行,Y為列,Value為寫入的數(shù)據(jù)LocationXY( X, Y); /確定字符顯示的位置函數(shù)Write_or_dat(Value,1); /寫入數(shù)據(jù)函數(shù)void Display_LCD_1602_duo_zi(uchar X,uchar Y,uchar *P) /顯示字符串函 /數(shù),P指向字符串的首地址LocationXY( X, Y); /設(shè)定初始地址while(*P)Write_or_dat(*P,1);P+;3.4 串口通信程序 串口通信程序主要包括串口的初始化、串口數(shù)據(jù)發(fā)送,其中串口的初始化主要是用于設(shè)置波特率。在通信中采用的串口通信波特率為9600,在程序設(shè)計(jì)中采用查詢法發(fā)送數(shù)
55、據(jù),串口通信程序流程圖如圖3-6所示。NONOYESYES開始結(jié)束串口初始化將發(fā)送的數(shù)據(jù)寫入SBUFTI是否為1?TI清0數(shù)據(jù)是否發(fā)送完?圖3-6 串口通信程序流程圖 在進(jìn)行串口通信程序編寫時(shí),編寫單字節(jié)發(fā)送函數(shù)和字符串發(fā)送函數(shù),其中部分程序代碼如下:void Sent_Byte(uchar dat) /發(fā)送單字節(jié)函數(shù)SBUF=dat; /將數(shù)據(jù)送到緩沖器while(!TI); /判斷是否發(fā)送完TI=0; /發(fā)送完清標(biāo)志位void Sent_Date(uchar *dat) /發(fā)送一個(gè)字符串函數(shù)while(*dat)!= 0) /如果字符串未結(jié)束,指針+指向下一個(gè)字符Sent_Byte(*da
56、t); /發(fā)送單字節(jié)函數(shù)dat+; /指針+4 上位機(jī)軟件設(shè)計(jì)4.1 上位機(jī)人機(jī)交互界面設(shè)計(jì)此次設(shè)計(jì)的上位機(jī)人機(jī)交互界面主要分為兩個(gè)窗口,即實(shí)時(shí)數(shù)據(jù)窗口和歷史數(shù)據(jù)窗口,可以在使用過程中進(jìn)行切換。實(shí)時(shí)數(shù)據(jù)窗口主要是用于實(shí)現(xiàn)4路溫度數(shù)據(jù)的實(shí)時(shí)顯示、實(shí)時(shí)溫度變化曲線顯示與實(shí)時(shí)溫度強(qiáng)度圖顯示。并且可以在本界面設(shè)定串口的有關(guān)配置,如波特率、數(shù)據(jù)位、奇偶校驗(yàn)位等;另外可以設(shè)定設(shè)定溫度采集的速率、報(bào)警的溫度上限值、選擇數(shù)據(jù)的數(shù)據(jù)的存儲(chǔ)路徑等;同時(shí)可以開始和停止溫度的采集。除此之外,還顯示出模擬的數(shù)控機(jī)床熱變形誤差,當(dāng)采集的溫度值超過設(shè)計(jì)的溫度上限時(shí),報(bào)警指示燈就會(huì)閃爍并發(fā)出報(bào)警聲。因?yàn)閷?shí)時(shí)窗口顯示的數(shù)據(jù)是變
57、動(dòng)的,鑒于此歷史數(shù)據(jù)窗口主要是用于歷史數(shù)據(jù)的讀取方便數(shù)據(jù)的分析。在進(jìn)行數(shù)據(jù)顯示時(shí),除了顯示溫度值外,還顯示出采集到溫度所對應(yīng)的時(shí)間。圖4-1 實(shí)時(shí)數(shù)據(jù)顯示界面人機(jī)交互界面的實(shí)時(shí)數(shù)據(jù)顯示窗口設(shè)計(jì)如圖4-1所示。實(shí)時(shí)數(shù)據(jù)顯示窗口不僅可以顯示溫度隨時(shí)的變化曲線,以與用強(qiáng)度圖表中用顏色淺深來表示溫度大小。除了用數(shù)值來顯示溫度值外,還用4個(gè)類似于溫度計(jì)的柱體來直觀顯示溫度的大小。圖中開始按鈕可以用來控制數(shù)據(jù)的采集和暫停。4.2 上位機(jī)程序框圖設(shè)計(jì)4.2.1 主程序框圖設(shè)計(jì) 主程序通過串口接收下位機(jī)發(fā)送的4路A/D轉(zhuǎn)換采集到的8位數(shù)字量,通過數(shù)據(jù)處理,計(jì)算出溫度值、熱變形誤差,同時(shí)能在前面板顯示出來。另外
58、還要實(shí)現(xiàn)報(bào)警、數(shù)據(jù)存儲(chǔ)和相關(guān)數(shù)據(jù)采集參數(shù)設(shè)定等功能。上位機(jī)的整體程序設(shè)計(jì)流程圖如圖4-2所示。NONONOYESYESYES開始接收緩沖區(qū)是否為空?采集按鈕是否按下?讀取接收緩沖區(qū)數(shù)據(jù)數(shù)據(jù)幀的解碼數(shù)據(jù)處理計(jì)算出溫度值數(shù)據(jù)存儲(chǔ)溫度數(shù)據(jù)、曲線與強(qiáng)度圖顯示是否超出設(shè)定溫度值?結(jié)束報(bào)警圖4-2 上位主程序流程圖4.3.2 LABVIEW串口程序設(shè)計(jì)在LABVIEW程序串程序設(shè)計(jì)中,主要用到VISA配置串口、屬性節(jié)點(diǎn)、VISA讀取和簡單錯(cuò)誤處理等幾部分組成,下面分別簡單介紹這幾個(gè)節(jié)點(diǎn)的使用。圖4-3 VISA配置串口如圖4-3所示為VISA配置串口節(jié)點(diǎn),通過該節(jié)點(diǎn)可以很方便的對串口的參數(shù)進(jìn)行配置,如波特
59、率、奇偶校驗(yàn)、停止位等,通過配置好相關(guān)參數(shù),即對串口進(jìn)行初始化,上位機(jī)才能與下位機(jī)通過串口通信。圖4-4 VISA串口數(shù)據(jù)讀取如圖4-4所示為串口緩沖區(qū)讀取節(jié)點(diǎn),通過該節(jié)點(diǎn)可以讀取下位機(jī)發(fā)送到串口數(shù)據(jù)緩沖區(qū)里的數(shù)據(jù)。其中有一個(gè)比較重要的設(shè)置,就是VISA READ的“字節(jié)總數(shù)”這個(gè)輸入,由于在串口通信中,如果指定讀取100個(gè)串口緩沖區(qū)的字節(jié)數(shù),如果當(dāng)前緩沖區(qū)的數(shù)據(jù)量不足100個(gè)時(shí),程序會(huì)一直停在VISA READ這個(gè)節(jié)點(diǎn)上,如果在超時(shí)的時(shí)間(默認(rèn)是10秒)還沒有湊足100個(gè)數(shù)據(jù)的話,程序就會(huì)報(bào)“Time out”的錯(cuò)誤,如果超時(shí)時(shí)間設(shè)置得太長,有可能導(dǎo)致程序很長時(shí)間停止在VISA READ這個(gè)
60、節(jié)點(diǎn)上。解決的辦法是使用“Bytes at Port”這個(gè)串口的屬性節(jié)點(diǎn),這個(gè)屬性節(jié)點(diǎn)讀取當(dāng)前串口緩沖區(qū)有字節(jié)數(shù),然后將它的輸出連接到VISA READ的“讀取字節(jié)數(shù)”這個(gè)輸入端上即可,這樣當(dāng)前緩沖區(qū)中有多少個(gè)字節(jié)就讀回多少個(gè),不會(huì)有任何等待,該屬性節(jié)點(diǎn)如圖4-5所示。圖4-5 Bytes at Port屬性節(jié)點(diǎn) 將以上幾個(gè)節(jié)點(diǎn)正確連接起來,再結(jié)合while結(jié)構(gòu)和判斷結(jié)構(gòu)就可以實(shí)現(xiàn)對下位機(jī)發(fā)送來的數(shù)據(jù)進(jìn)行不斷的讀取。其部分程序設(shè)計(jì)如圖4-6所示。圖4-6 串口數(shù)據(jù)讀取部分程序4.3.3 串口數(shù)據(jù)幀解碼正位機(jī)發(fā)送來的采集到的4路數(shù)據(jù),在讀取串口的數(shù)據(jù)之后并不知道接收到的數(shù)據(jù)是屬于那一路的,需要將
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 加盟連鎖項(xiàng)目服務(wù)合同范本
- 農(nóng)村小區(qū)搬遷合同范本
- 中學(xué)食堂承包團(tuán)隊(duì)合同范本
- 人力股分紅合同范例
- 個(gè)人技術(shù)投資合同范本
- 制造模具合同范本
- 中建施工員合同范本
- 中藥原料采購合同范本
- 不需交社保員工合同范本
- 傳媒公司培訓(xùn)合同范例
- 絕句遲日江山麗說課稿
- 高中化學(xué)教材(人教版)課本實(shí)驗(yàn)(回歸課本)
- DB41T 2542-2023 燃?xì)忮仩t煙氣余熱回收利用技術(shù)規(guī)范
- DB11∕T 1847-2021 電梯井道作業(yè)平臺(tái)技術(shù)規(guī)程
- 2020光伏組件用接線盒 安全要求和試驗(yàn)IEC62790
- 獸藥GSP質(zhì)量管理制度匯編
- USB-3.1-TYPE-C-培訓(xùn)資料公開課獲獎(jiǎng)?wù)n件
- 《機(jī)械制圖(多學(xué)時(shí))》中職全套教學(xué)課件
- 2024-2025學(xué)年小學(xué)信息技術(shù)(信息科技)第二冊電子工業(yè)版(2022)教學(xué)設(shè)計(jì)合集
- 課堂教學(xué)質(zhì)量評價(jià)表
- 人工智能通識(shí)-課件全套 黃君羨 01-12 初識(shí)人工智能 -AIGC安全與倫理
評論
0/150
提交評論