智能儀器智能溫度測試儀的設計_第1頁
智能儀器智能溫度測試儀的設計_第2頁
智能儀器智能溫度測試儀的設計_第3頁
智能儀器智能溫度測試儀的設計_第4頁
智能儀器智能溫度測試儀的設計_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、北華大學智能儀器綜合設計實習報告 題目:智能溫度測試儀的設計 專業(yè):測控技術與儀器 班級: 姓名: 學號: 指導老師:目錄一、 概述 1二、 方案設計 21設計任務 22總體方案 23具體方案 24PT100傳感器特性 3 5測溫原理 3三MK-4PC 智能儀器實驗教學系統(tǒng)簡介 3四硬件電路設計 51硬件功能分析 52.各部分硬件設計5五軟件設計81. 編程環(huán)境介紹 82.軟件功能需求分析103.各部分軟件設計11a軟件的流程圖 11b.主程序11六調試21七實習總結21八參考文獻22一、概述溫度是自然界中和人類打交道最多的物理參數(shù)之一,無論是在生產(chǎn)實驗場所,還是在居住休閑場所,溫度的采集或控

2、制都十分頻繁和重要,而且,網(wǎng)絡化遠程采集溫度并報警是現(xiàn)代科技發(fā)展的一個必然趨勢。 由于溫度不管是從物理量本身還是在實際人們的生活中都有著密切的關系,所以溫傳感器就會相應產(chǎn)生。傳感器主要用于測量和控制系統(tǒng),它的性能好壞直接影響系統(tǒng)的性能。溫度傳感器從使用的角度大致可分為接觸式和非接觸式兩大類,前者是讓溫度傳感器直接與待測物體接觸,而后者是使溫度傳感器與待測物體離開一定的距離,檢測從待測物體放射出的紅外線,達到測溫的目的。由于PT100熱電阻的溫度與阻值變化關系,人們便利用它的這一特性,發(fā)明并生產(chǎn)了PT100熱電阻溫度傳感器。它是集溫度濕度采集于一體的智能傳感器。溫度的采集范圍可以在-200+20

3、0,濕度采集范圍是0%100%。pt100溫度傳感器是一種將溫度變量轉換為可傳送的標準化輸出信號的儀表。主要用于工業(yè)過程溫度參數(shù)的測量和控制。帶傳感器的變送器通常由兩部分組成:傳感器和信號轉換器。傳感器主要是熱電偶或熱電阻;信號轉換器主要由測量單元、信號處理和轉換單元組成(由于工業(yè)用熱電阻和熱電偶分度表是標準化的,因此信號轉換器作為獨立產(chǎn)品時也稱為變送器),有些變送器增加了顯示單元,有些還具有現(xiàn)場總線功能。此次實習我們利用SST89V564RD單片機結合溫度傳感器技術而開發(fā)設計了這一溫度測量系統(tǒng)。二、方案設計1設計任務測溫的模擬電路是把當前PT100熱電阻傳感器的電阻值,轉換為容易測量的電壓值

4、,經(jīng)過放大器放大信號后送給A/D轉換器把模擬電壓轉為數(shù)字信號后傳給單片機,單片機再根據(jù)公式換算把測量得的溫度傳感器的電阻值轉換為溫度值,并將數(shù)據(jù)送出到LCD顯示器進行顯示。2總體方案智能溫度測量儀的設計,包括硬件和軟件的設計。先對該測量儀進行概括性介紹,然后介紹該測量儀在硬件設計上的主要器件:“Pt100熱電阻”、單片機和LCD顯示器以及描述測量儀的總體結構原理。在本設計中,是以鉑電阻PT100作為溫度傳感器,采用恒流測溫的方法,通過單片機進行控制,用放大器、A/D轉換器進行溫度信號的采集。總體來說,該設計是切實可行的。本設計系統(tǒng)包括溫度傳感器,信號放大電路,A/D轉換模塊,數(shù)據(jù)處理與控制模塊

5、,溫度顯示五個部分。3具體方案本設計系統(tǒng)主要包括溫度信號采集單元,單片機數(shù)據(jù)處理單元,溫度顯示單元。其中溫度信號的數(shù)據(jù)采集單元部分包括溫度傳感器、溫度信號的獲取電路(采樣)、放大電路、A/D轉換電路。 系統(tǒng)的總結構框圖如圖1-1所示。系統(tǒng)的總結構框圖 本溫度測量系統(tǒng)設計,是采用PT100溫度傳感器經(jīng)過放大和A/D轉換器送到單片機進行控制溫度顯示。另外本系統(tǒng)還可以通過外接電路擴展實現(xiàn)溫度報警功能,從而更好的實現(xiàn)溫度現(xiàn)場的實時控制。 經(jīng)過多次的修改和調試測量,本設計基本符合設計要求,由于受人為因素和軟硬件的限制,系統(tǒng)難免不了帶來一些誤差,但通過調節(jié)和精確計算可以減小誤差。 4PT100傳感器特性

6、電阻式溫度傳感器(RTD, Resistance Temperature Detector)是指一種物 質材料作成的電阻,它會隨溫度的改變而改變電阻值。 PT100溫度傳感器是一種以鉑(Pt)做成的電阻式溫度傳感器,屬于正電阻系數(shù), 由于它的電阻溫度關系的線性度非常好,因此在測量較小范圍內(nèi)其電阻和溫度變化的關系式如下:R=Ro(1+T) 其中=0.00392, Ro為100(在0的電阻值),T為華氏溫度,因此鉑做成的電阻式溫度傳感器,又稱為PT100。 PT100溫度傳感器的測量范圍廣:-200+600,偏差小,響應時間短,還具有抗振動、穩(wěn)定性好、準確度高、耐高壓等優(yōu)點,其得到了廣泛的應用,本

7、設計即采用PT100作為溫度傳感器。5測溫原理通過運放U1A將基準電壓4.096V轉換為恒流源,電流流過Pt100時在其上產(chǎn)生壓降,再通過運放U1B將該微弱壓降信號放大(圖中放大倍數(shù)為10),即輸出期望的電壓信號,該信號可直接連AD轉換芯片。智能儀器實驗開發(fā)平臺集中了單雙極性輸入通道、程控放大、模擬濾波、16位A/D轉換及CPLD技術和單片機技術,并具有超過128KB的大存儲空間,集中體現(xiàn)了智能儀器課程所涉及到的各種軟硬件技術,非常適合大學本科生的學習以及在此基礎上的進一步開發(fā)。三MK-4PC 智能儀器實驗教學系統(tǒng)簡介智能儀器實驗開發(fā)平臺采用模塊化設計,整個平臺設有一個母板,該母板具有四個相同

8、規(guī)格的擴展部分,每個擴展部分設四個插口,每個插口對應的分別為單片機的P0、P1、P2、P3口,如圖1所示。設計時將單片機作為控制部分的核心,因此單片機板獨立占用其中一個擴展,顯示部分采用液晶模塊完成,該部分還設有四個按鍵作為組合按鍵使用。第三個部分為基于CPLD的16位數(shù)據(jù)采集部分,設有兩個獨立輸入通道,每個通道可設置為單極性輸入或雙極性輸入,具有程控放大、模擬濾波等功能,CPLD控制A/D轉換器完成數(shù)據(jù)的采集工作,數(shù)據(jù)采集的采樣頻率可設置為10KHz、20KHz 500KHz,采樣點數(shù)可以根據(jù)要求設置。平臺的最后一個擴展部分為空,留給平臺的使用者做擴展使用,根據(jù)要求自己獨立設計該部分的電路。

9、圖1俯視尺寸規(guī)格圖(單位:毫米)除平臺能夠獨立完成各項實驗項目外,為實現(xiàn)對采集的數(shù)據(jù)進行圖形化顯示,該平臺還可以通過標準的RS-232接口與PC機連接,通過PC機的顯示器將數(shù)據(jù)波形顯示出來,同時還可以利用該串行接口對單片機進行仿真或傳輸控制參數(shù)使其工作在設定模式下。整個功能框圖如圖2所示。圖2 功能框圖四硬件電路設計1硬件功能分析圖4 硬件部分電路圖 后面有CPLD及單片機,單片機控制液晶顯示部分。圖5 液晶顯示器電路圖2.各部分硬件設計對于熱電阻的測量電路我們可以采用二線式的測量電路等。而對于我們此次實習則選擇利用恒流源模擬此測量部分。 二線式圖如下:圖6 二線式圖 信號取回后需要進行信號的

10、調理,信號調理電路圖如下:圖7 信號調理電路圖 右下角OP07起偏置作用。調節(jié)電位器Rpot1可調節(jié)偏置。上圖的差分放大電路的輸出連接至程控放大電路的輸入。電路圖如下:圖8 程控放大電路圖 程控放大器的輸出信號進入電平抬高電路。如下:圖9 電平抬高電路圖 兩個二極管起鉗位作用。這個電路是求差電路。 電平抬高電路的輸出進入程控濾波電路。如下圖:圖10 程控濾波電路圖 用到的程控濾波芯片為LTC1569-7,F(xiàn)CLK0是CPLD產(chǎn)生的方波信號,用來控制濾波器截止頻率。若要控制濾波器截止頻率為1kHz,CPLD要產(chǎn)生32k的方波信號給FCLK0。 程控濾波電路之后接入A/D轉換器。圖如下:圖11 A

11、D轉換電路圖 U20為AD780,它是基準電壓芯片。A/D轉換器是AD7655,它是一款16位的A/D,它的數(shù)據(jù)口D0-D7、控制端口BUSY、CNVST、IMPULSE、BYTESWAP連接至CPLD。單片機通過往CPLD寫控制字來控制A/D的采樣率。 單片機部分的電路圖如下: 圖12 單片機部分電路圖五軟件設計1. 編程環(huán)境介紹單片機軟件開發(fā)采用目前比較通用的Keil51開發(fā)軟件完成,該軟件有很多詳細的應用文檔,在此不再贅述。如果不使用硬件仿真器,多數(shù)通用單片機都無法實現(xiàn)在線仿真功能,而本實驗平臺所用單片機SST89V564RD可以實現(xiàn)在線仿真以及程序下載功能,兩者皆可以通過PC機的標準R

12、S-232串口與Keil51軟件通信實現(xiàn),其連接示意圖如下圖,本節(jié)主要介紹如何在現(xiàn)有Keil51軟件基礎上實現(xiàn)上述功能。針對在線仿真功能,SST公司為方便用戶使用單片機調試程序而開發(fā)了調試工具SoftICE(Software In Circuit Emulator,在電路軟件模擬),該調試工具可實現(xiàn)下述功能:Ø 下載INTEL HEX文件Ø 在線調試及設置斷點,支持匯編語言和C51語言Ø 反匯編代碼區(qū)到8051助記符Ø 讀寫代碼/數(shù)據(jù)存儲器、FSR特殊功能寄存器及PORT端口Ø IAP(In Application Programming,應用

13、中再編程)功能Ø 軟件重啟動圖6 計算機與實驗平臺連接示意圖對于我們本次實習的單片機SST89V564RD,我們用keil C51編程環(huán)境進行程序的編寫。keil C51 軟件是眾多單片機應用開發(fā)的優(yōu)秀軟件之一。它集編輯、編譯、仿真于一體,支持匯編、PLM 語言和 C 語言的程序設計。界面友好,易學易用。對于下載的軟件我們可以直接用keil C51下載。同時我們也可以在SST軟件的下載頁面中下載。而且這兩種下載方式都需要程序生成.HEX文件。如下圖所示:圖13而應用SoftICE調試工具進行程序在線仿真調試的過程是這樣的: (1)利用SST Boot-Strap Loader軟件將S

14、oftICE直接下載到單片機中,重新上電復位后,單片機中的SoftICE便可以與Keil51軟件通信以進行仿真調試,下載界面如下 (2)在Keil51軟件上選擇使用的單片機型號SST89V564RD; (3)在Keil51軟件的Project下拉菜單中選擇“Options for TargetMonitor51”; (4)在Options for TargetMonitor51窗口的Debug欄中選擇“Use Keil Monitor-51 Driver”,由于每次RESET目標板時用戶代碼區(qū)會被擦除,如果用戶程序需要在開始時下載到目標板,要勾上“Load Application at Sta

15、rtup”; (5)點擊Settings項,彈出Target Setup窗口進行配置,可以選擇PC機與目標板通信的串行接口及波特率,如果需要顯示存儲器的實時窗口,請不要選Cache Options,注意,如果選擇了的中斷向量3Serial Interrupt去Stop Program Exacution,SoftICE將修改在位置0023H個字節(jié),要確保用戶程序未占用這些地址; (6)開始調試,此時可以根據(jù)Keil51軟件的Debug進行程序調試。通過View下拉菜單的部分選項可以觀察及修改特殊功能寄存器及數(shù)據(jù)存儲器等的內(nèi)容。2.軟件功能需求分析單片機軟件開發(fā)采用目前比較通用的Keil51開發(fā)

16、軟件完成。如果不使用硬件仿真器,多數(shù)通用單片機都無法實現(xiàn)在線仿真功能,兩者皆可以通過PC機的標準RS-232串口與Keil51軟件通信實現(xiàn)。針對在線仿真功能,SST公司為方便用戶使用單片機調試程序而開發(fā)了調試工具SoftICE(Software In Circuit Emulator,在電路軟件模擬)。該調試工具可實現(xiàn)下述功能:(1) 下載INTEL HEX文件;(2)在線調試及設置斷點,支持匯編語言和C51語言;(3)反匯編代碼區(qū)到8051助記符;(4)讀寫代碼/數(shù)據(jù)存儲器、FSR特殊功能寄存器及PORT端口;(5)IAP(In Application Programming,應用中再編程)

17、功能;(6)軟件重啟動。利用該調試工具我們可以很方便的用計算機對MK-4PC智能儀器實驗開發(fā)平臺進行各項試驗及實習。3.各部分軟件設計a軟件的流程圖 開始系統(tǒng)初始化PT100溫度數(shù)據(jù)采集處理讀到的數(shù)據(jù)送LCD顯示結束 開始初始化函數(shù)A/D轉換器進行A/D轉換將轉換后的電壓轉換為溫度返回 圖1 系統(tǒng)總流程圖 圖2 溫度轉換程序流程圖 開始系統(tǒng)初始化調用溫度子程序調用顯示子程序調用掃描按鍵程序 開始將溫度數(shù)據(jù)寫入到LCD讀取溫度值顯示溫度值返回 圖3 顯示流程圖 圖4 主函數(shù)流程圖b.主程序ADS7841驅動程序#include <iom64v.h>#include <macro

18、s.h>#include "delay.h"#include "ads7841.h"#include "LCD1602.h"/-ADS7841控制字節(jié)-#define control_byte 0b10011000/bit val description/bit7 1 start,恒為1/bit6,5,4 001 選擇CH0為+IN/bit4 1 選擇為單端輸入/bit2 X 外部MODE接GND,該位無作用,恒為12位/bit1,0 00 轉換期間ADC為掉電模式void port_init(void) PORTA = 0xF

19、F;/將所有端口初始化為輸入,打開上拉 DDRA = 0x00; PORTB = 0xFF; DDRB = 0x00; PORTC = 0xFF; DDRC = 0x00; PORTD = 0xFF; DDRD = 0x00; PORTE = 0xFF; DDRE = 0x00; PORTF = 0xFF; DDRF = 0x00; PORTG = 0xFF; DDRG = 0x00;void main() unsigned int result; unsigned char i,array4,table="0123456789" port_init(); /端口初始化 L

20、CD1602_init(); /1602液晶初始化 ads7841_init(); /ADS7841初始化 LCD_write_string(0x80,"result:"); while(1) ads7841_start(); /啟動ADS7841,即拉低CS delay_nus(10); result=ads7841_W_R(control_byte); /發(fā)送控制字,并得到轉換數(shù)據(jù) result&=0b0000111111111111; /屏蔽掉高四位 delay_nus(10); ads7841_finish(); /停止ADS7841,即拉高CS for(i

21、=0;i<4;i+) /以下均為顯示部分 arrayi=result%10;/ esult/=10; for(i=0;i<4;i+) LCD_write_onechar(0x87+i,tablearray3-i); delay_nms(300);#ifndef _ads7841_h#define _ads7841_hdefine DCLK PD0#define DCLK_ddr DDRD#define DCLK_port PORTD#define DCLK_pin PIND#define CS PD1#define CS_ddr DDRD#define CS_port PORTD#

22、define CS_pin PIND#define DIN PD2#define DIN_ddr DDRD#define DIN_port PORTD#define DIN_pin PIND#define BUSY PD3#define BUSY_ddr DDRD#define BUSY_port PORTD#define BUSY_pin PIND#define DOUT PD4#define DOUT_ddr DDRD#define DOUT_port PORTD#define DOUT_pin PINDdefine ads7841_start() CS_port&=(1<&

23、lt;CS) /啟運ADS7841#define ads7841_finish() CS_port|=(1<<CS) /停止ADS7841void ads7841_init(void);unsigned int ads7841_W_R(unsigned char byte);#endif#include <iom64v.h>#include <macros.h>#include "delay.h"#include "ads7841.h"/* * 函數(shù)名稱:ads7841_init()* * 函數(shù)功能:初始化ADS784

24、1端口* * 備 注:無*/void ads7841_init(void)DCLK_port&=(1<<DCLK); /時鐘端初始化為輸出低電平DCLK_ddr|=(1<<DCLK);CS_port|=(1<<CS); /片選端初始化為輸出高電平CS_ddr|=(1<<CS); /即不選中ADS7841DIN_port&=(1<<DIN); /數(shù)據(jù)輸入端初始化為輸出低電平DIN_ddr|=(1<<DIN);BUSY_port|=(1<<BUSY); /忙信號初始化為輸入,打開上拉BUSY_ddr

25、&=(1<<BUSY);DOUT_port|=(1<<DOUT); /數(shù)據(jù)輸出初始化為輸入,打開上拉DOUT_ddr&=(1<<DOUT);/* * 函數(shù)名稱:ads7841_W_R* * 函數(shù)功能:向ADS7841寫入控制字節(jié),讀出轉換好的數(shù)* * 輸入?yún)?shù):unsigned char byte : 控制字節(jié) unsigned int result: AD轉換好的數(shù)* * 備 注:數(shù)據(jù)從高位到低位寫入,從高位到低位讀出*/unsigned int ads7841_W_R(unsigned char byte)unsigned char i,

26、temp;unsigned int result=0;for(i=0;i<8;i+) /8位數(shù)據(jù)計數(shù) DCLK_port&=(1<<DCLK); /拉低時鐘端 if(byte&0x80) /當前位是否是1 DIN_port|=(1<<DIN); /當前位是1,拉高數(shù)據(jù)端 else DIN_port&=(1<<DIN); /當前位是0,拉低數(shù)據(jù)端 delay_nus(10); /調整時鐘和脈沖寬度 DCLK_port|=(1<<DCLK); /時鐘上升沿 delay_nus(10); byte<<=1; /

27、數(shù)據(jù)左移1位,為送出新數(shù)據(jù)位做準備 delay_nus(10);DCLK_port&=(1<<DCLK); /拉低時鐘端delay_nus(10);i=BUSY_pin; /讀BUSY的狀態(tài)delay_nus(10);if(i&(1<<BUSY) /如果為高則說明轉換完成,應將其讀出/-以下先讀出高八位- for(i=1;i<=8;i+) result<<=1; /保存讀入的數(shù)據(jù)位 DCLK_port|=(1<<DCLK); /時鐘上升沿 delay_nus(10); DCLK_port&=(1<<DCL

28、K); /拉低時鐘端 elay_nus(10); if(DOUT_pin&(1<<DOUT) result|=0x01; else result&=0xfe; /-以下讀出低四位- for(i=1;i<=4;i+) temp<<=1; /保存讀入的數(shù)據(jù)位 DCLK_port|=(1<<DCLK); /時鐘上升沿 delay_nus(10); DCLK_port&=(1<<DCLK); /拉低時鐘端 delay_nus(10); if(DOUT_pin&(1<<DOUT) temp|=0x01; e

29、lse temp&=0xfe; for(i=1;i<=4;i+) /再給ADS7841四個時鐘 DCLK_port|=(1<<DCLK); /時鐘上升沿 delay_nus(10); /調整時鐘和脈沖寬度 DCLK_port&=(1<<DCLK); /拉低時鐘端 delay_nus(10); /調整時鐘和脈沖寬度 result=(result<<4)+temp; /將結果合成,返回return result;LCD驅動程序lcdwc(GYPOS&0x1f)|0x80); /先送Y地址 if(GYPOS>=32) /再送X地

30、址 lcdwc(GXPOS/16+8)|0x80); else lcdwc(GXPOS/16)|0x80); lcdwc(0x30); /恢復為基本指令集void lcdon(void) /LCD顯示開啟子程序 lcdwc(0x30); /設置為基本指令集 lcdwc(0x0c);void lcdoff(void) /LCD顯示關閉子程序 lcdwc(0x30); /設置為基本指令集 lcdwc(0x08);void lcdgraphon(void) /繪圖區(qū)域顯示開啟子程序 lcdwc(0x36); lcdwc(0x30); /恢復為基本指令集void lcdgraphoff(void) /

31、繪圖區(qū)域顯示關閉子程序 lcdwc(0x34); lcdwc(0x30); /恢復為基本指令集void lcdwd(unsigned char d) /向液晶顯示控制器寫數(shù)據(jù) CSPIN=1; /片選使能 transbyte(0xfa); /SYNCODE=0F8H,RW=0,RS=1,D0=0 transbyte(d&0xf0); /送高四位數(shù)據(jù),低四位補零 transbyte(d&0x0f)<<4); /送低四位數(shù)據(jù) CSPIN=0; /片選禁止void lcdwc(unsigned char c) /向液晶顯示控制器送指令 CSPIN=1; /片選使能 transbyte(0xf8); /SYNCOD

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論