基于DSP定時器的LED控制系統(tǒng)設(shè)計_第1頁
基于DSP定時器的LED控制系統(tǒng)設(shè)計_第2頁
基于DSP定時器的LED控制系統(tǒng)設(shè)計_第3頁
基于DSP定時器的LED控制系統(tǒng)設(shè)計_第4頁
基于DSP定時器的LED控制系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩100頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于DSP定時器的LED控制系統(tǒng)設(shè)計【實用文檔】doc文檔可直接使用可編輯,歡迎下載

基于DSP定時器的LED控制系統(tǒng)設(shè)計【實用文檔】doc文檔可直接使用可編輯,歡迎下載《DSP系統(tǒng)設(shè)計與應(yīng)用》課程設(shè)計報告書題目名稱:基于DSP定時器的LED控制系統(tǒng)設(shè)計學(xué)院:機電工程學(xué)院專業(yè):專電氣工程及其自動化班級:2013級2班學(xué)號名:指導(dǎo)教師:2016年12月課程設(shè)計報告書設(shè)計目的DSP課程設(shè)計是深化和提高課程理論知識的重要途徑之一。以DSP綜合集成與應(yīng)用的基本理論為基礎(chǔ),研究了DSP最小系統(tǒng)設(shè)計的基本方法,并學(xué)習(xí)了用C語言編寫DSP編程與使用測試箱及DSP系統(tǒng)的相關(guān)軟件。培養(yǎng)獨立思考能力;培訓(xùn)分析、總結(jié)和撰寫技術(shù)報告能力,本次課程設(shè)計目的在于:(1)學(xué)習(xí)用DSP來控制LED燈的閃亮.(2)學(xué)習(xí)DSP程序的調(diào)試與編寫,利用觀察變量查看程序運行。(3)學(xué)習(xí)測試箱的使用方法。設(shè)計內(nèi)容及功能說明設(shè)計內(nèi)容:本次設(shè)計內(nèi)容為基于DSP定時器的LED控制系統(tǒng)設(shè)計,具體要求如下:(1)給定電源12V,設(shè)計供電電路.(2)給定外部晶振30M,系統(tǒng)時鐘工作在150M,給出寄存器如何配置。(3)利用定時器定時1秒,實現(xiàn)四個LED燈的秒閃。(4)自主完成發(fā)揮功能。(5)撰寫設(shè)計報告。功能說明:本設(shè)計利用F28335DSP芯片來控制模擬基本的LED閃爍,給予系統(tǒng)額定電壓來保證系統(tǒng)的正常工作,用中斷的方式定時控制LED燈的集體閃爍頻率。設(shè)計步驟設(shè)計步驟設(shè)計步驟設(shè)計步驟設(shè)計步驟步驟一:DSP最小系統(tǒng)分析1。DSP最小系統(tǒng)能夠用于基本的數(shù)字信號處理,運行一些簡單的程序。此部分主要包括電源電路、復(fù)位電路、時鐘電路等。2.晶振電路DSP的時鐘可以有兩種連接方式,即外部振蕩器方式和諧振器方式.如果使用內(nèi)部振蕩器,則必須在X1/XCLKIN和X2兩個引腳之間連接一個石英晶體。如果采用外部時鐘,可將輸入時鐘信號直接連到X1/CI.KIN引腳上,X2懸空.本設(shè)計采用外部晶振,直接選擇一個3.3V供電的30MHz晶振實現(xiàn)。系統(tǒng)工作是通過編程選擇5倍頻的PLL功能,可實現(xiàn)最高工作頻率(150MHz).如圖1所示:圖1晶振電路圖3.復(fù)位電路對于實際的DSP應(yīng)用系統(tǒng),特別是產(chǎn)品化的DSP系統(tǒng),其可靠性是一個不容忽視的問題。由于DSP系統(tǒng)的時鐘頻率較高,在運行時極有可能發(fā)生干擾和被干擾的現(xiàn)象,嚴(yán)重的系統(tǒng)問題可能出現(xiàn)死機現(xiàn)象。為了克服這些情況,除了在軟件上做一些保護(hù)措施外硬件上必須做相應(yīng)的處理。硬件上最有效的保護(hù)措施是采用具有看門狗(Watchdog)功能的自動復(fù)位電路相結(jié)合的方式。TMS320F28335的復(fù)位輸入引腳XRS為處理器提供了一種硬件初始化的方法,它是一種不可屏蔽的外中斷,可在任何時候?qū)Γ訫S320F28335進(jìn)行復(fù)位。本設(shè)計采用了簡單的RC復(fù)位電路,復(fù)位電路如圖所示2:圖2復(fù)位電路圖4.電源電路F28335DSP采用了雙電源供電機制,以獲得更好的電源性能,其工作電壓為3.3V和1。8V。其中,1.8V主要為該器件的內(nèi)部邏輯提供電壓,包括CPU和其他所有的外設(shè)邏輯。與3。3V供電相比,1.8V供電大大降低功耗。外部接口引腳仍然采用3.3V電壓,便于直接與外部低壓器件接口,而無需額外的電平變換電路。在本設(shè)計里我用TI公司的TPS7301單輸出可調(diào)電壓調(diào)節(jié)器作為主器件的電源電路,將12V轉(zhuǎn)換為3.3V和1.9V供給DSP,使系統(tǒng)正常工作。電源電路如圖3所示:圖3電源電路圖步驟二:本次設(shè)計硬件電路分析1.定時器中斷的實現(xiàn)為了實現(xiàn)定時器的精確走時功能,系統(tǒng)利用定時器0、PIE模塊和CPU中斷共同作用產(chǎn)生定時器中斷。首先為定時器0設(shè)置定時初值,并開啟定時器使其計數(shù)。當(dāng)定時器計數(shù)器寄存器遞減到零時,定時器會產(chǎn)生一個中斷TINT并將其傳送給PIE外設(shè)中斷模塊,當(dāng)PIE中的中斷時能位PIEIER被時能后,PIE會將這個中斷傳送給CPU,如果CPU的中斷使能位和INTM被使能,則CPU會相應(yīng)定時器0中斷,轉(zhuǎn)而執(zhí)行定時器0的中斷服務(wù)子程序。2。LED顯示電路在定時結(jié)束后LED要不停地閃亮,提醒用戶定時結(jié)束。在本次設(shè)計中,將一個發(fā)光二極管的輸入段與電源相連接,輸出與DSP芯片的GPIO4端口相連接,當(dāng)GPIO端口為低電平時,LED點亮。步驟三:CMD文件介紹。text段:存放C程序代碼;.cinit:存放C程序中的變量初值和常量;。stack:為C程序系統(tǒng)堆棧保留存儲空間、用于保存返回地址、函數(shù)間的參數(shù)傳遞、存儲局部變量和保存中間結(jié)果;。bss:為C程序中的全局和靜態(tài)變量保留存儲空間;。const:存放C程序中的字符常量、浮點常量和用.const聲明的常量;.sysmem:用于C程序中的malloc、calloc和realloc函數(shù)動態(tài)分配存儲空間;.far:為C程序中用far聲明的全局和靜態(tài)變量保留空間.MEMORY用于定義目標(biāo)存儲器的映射,描述了目標(biāo)系統(tǒng)可以使用的物理存儲地址范圍及其類型。PAGE0為程序存儲空間,起始地址為0x000000包含BEGIN、BOOT_RSVD、RAMM0、RAML0、RAML1、ZONE7A存儲區(qū).PAGE1為數(shù)據(jù)存儲空間,起始地址為0x000400包含了RAMM1、RAML4、RAML5、RAML6、RAML7、ZONE7B存儲區(qū)。SECTIONS用于指示連接器怎樣組合輸入端,以及如何將輸出段定位到存儲器中,用于將COFF目標(biāo)文件中的各個段定位置MEMORY偽指令定義的存儲區(qū)域。步驟四:流程圖及軟件設(shè)計1.系統(tǒng)時鐘的詳細(xì)配置如下PLLSTS[OSCOFF]=0;PLLSTS[PLLOFF]=0;PLLCR[DIV]=1010;PLLSTS[DIVSEL]=2;PLLKCR0的ADCENCLK=0。2.PLL模塊的寄存器鎖相環(huán)模塊的寄存器包括鎖相環(huán)控制寄存器PLLCR和鎖相環(huán)狀態(tài)寄存器PLLSTS,以及外部時鐘輸出控制寄存器XINTCNF2。其中XINTCNF2用于配置XCLKOUT與SYSCLKOUT的關(guān)系。PLLCR和PLLSTS用于振蕩器和鎖相環(huán)模塊的配置,以產(chǎn)生CPU時鐘輸入CLKIN,其位分布如下:1540保留DIVPLLCR保留DIVR-0R/W-0保留DIVSEL1598保留DIVSELPLLSTSR-0R/W-076543210DIVSELMCLKOFFOSCOFFMCLKCLRMCLKSTSPLLOFF保留PLLOCKSDIVSELMCLKOFFOSCOFFMCLKCLRMCLKSTSPLLOFF保留PLLOCKSR/W—0R/W-0R/W—0R/W—0R-0R/W—0R—0R/W—0OSCOFF和PLLSTS分別用于振蕩器時鐘和鎖相環(huán)時鐘的允許;PLLOCKS為鎖相環(huán)鎖定狀態(tài)標(biāo)志;MCLKOFF、MCLKCLR、和MCLKSTS用于輸入時鐘失效檢測。3.流程圖SHAPE\*MERGEFORMAT開始中斷結(jié)束DSP初始化時鐘初始化中斷向量開始中斷結(jié)束DSP初始化時鐘初始化中斷向量初始化定時器執(zhí)行程序等待中斷發(fā)生改變LED燈狀態(tài)YN圖4程序流程圖步驟五:系統(tǒng)調(diào)試及設(shè)計結(jié)果分析按下電源按鈕,寫入程序,剛開始,4個LED燈全滅,等待一秒鐘,4個LED等全亮,如此循環(huán)。測試結(jié)果成功完課程題目的。效果圖如圖5所示:圖5效果圖設(shè)計小結(jié)通過這次DSP課程設(shè)計,我覺得學(xué)到了很多東西。它讓我懂得了什么是課程設(shè)計,為我們以后的畢業(yè)設(shè)計打下了一些基礎(chǔ)。更重要的是通過這次課程設(shè)計,我多少清楚了在以后的工作中我們這個專業(yè)能做些什么,也為我們以后的工作積累了一些經(jīng)驗,很有意義.在本次課程設(shè)計過程中出現(xiàn)了一些不該出現(xiàn)的失誤。一是不會使用CCS軟件,在同學(xué)的幫助下使用并編寫程序。其二是不能DSP程序燒入試驗箱的問題,但是在老師的指導(dǎo)下成功將程序燒入試驗箱;之后又遇到DSP程序燒入試驗箱后試驗箱無反應(yīng),同樣在老師的幫助下完成實驗,并在試驗箱上得到想要的實驗結(jié)果。通過這次課程報告,使我更深入的掌握了DSP的許多知識,學(xué)會了如何讓配置寄存器、系統(tǒng)時鐘,如何設(shè)計電源等等很多知識,不僅復(fù)習(xí)了以前所學(xué)過的知識,而且還接觸并學(xué)到了很多書本上沒有的知識。使我解決問題時更加冷靜和熟練,遇到不會知識的積極查閱相關(guān)資料,并做好筆記。經(jīng)過仔細(xì)調(diào)查確定問題的原因和解決問題的能力有了很大提高。最后,感謝劉老師的幫忙以及同學(xué)之間的相互幫助,使我能順利完成這次課程設(shè)計.評分標(biāo)準(zhǔn)(一)系統(tǒng)設(shè)計部分(50分,分三檔,達(dá)不到最低檔的小組需重新設(shè)計上交)1。完成規(guī)定的全部功能,硬件電路設(shè)計正確,程序簡潔、可讀性、邏輯性強,較好的演示了全部功能。(50分)2。完成規(guī)定的全部功能,硬件電路設(shè)計正確,程序較簡潔、可讀性、邏輯性較強,基本演示了全部功能。(45分)3.完成規(guī)定的部分功能,硬件電路設(shè)計無明顯錯誤,程序設(shè)計無明顯錯誤,能夠完成部分功能的演示。(40分)(二)設(shè)計報告撰寫情況(45分)1。態(tài)度認(rèn)真,報告內(nèi)容充實、撰寫規(guī)范.(20分)2.對所做設(shè)計進(jìn)行了詳細(xì)的介紹,語言組織精煉,測試數(shù)據(jù)記錄準(zhǔn)確.(25分)(三)發(fā)揮部分(5分)在完成規(guī)定功能的基礎(chǔ)上,有創(chuàng)新性功能設(shè)計個人,獲得此項成績.總分任課教師簽字審核人簽字附錄:附錄A:實物圖圖A圖B附錄B:CMD文件MEMORY{PAGE0:BEGIN:origin=0x000000,length=0x000002BOOT_RSVD:origin=0x000002,length=0x00004ERAMM0:origin=0x000050,length=0x0003B0RAML0:origin=0x008000,length=0x001000RAML1:origin=0x009000,length=0x002000ZONE7A:origin=0x200000,length=0x00FC00CSM_RSVD:origin=0x33FF80,length=0x000076CSM_PWL:origin=0x33FFF8,length=0x000008ADC_CAL:origin=0x380080,length=0x000009RESET:origin=0x3FFFC0,length=0x000002IQTABLES:origin=0x3FE000,length=0x000b50IQTABLES2:origin=0x3FEB50,length=0x00008cFPUTABLES:origin=0x3FEBDC,length=0x0006A0BOOTROM:origin=0x3FF27C,length=0x000D44PAGE1:RAMM1:origin=0x000400,length=0x000400RAML4:origin=0x00B000,length=0x002000RAML5:origin=0x00D000,length=0x001000RAML6:origin=0x00E000,length=0x001000RAML7:origin=0x00F000,length=0x001000ZONE7B:origin=0x20FC00,length=0x00040}SECTIONS{codestart:>BEGIN,PAGE=0ramfuncs:>RAML0,PAGE=0.text:〉RAML1,PAGE=0.cinit:>RAML0,PAGE=0.pinit:〉RAML0,PAGE=0。switch:〉RAML0,PAGE=0.stack:>RAMM1,PAGE=1.ebss:〉RAML4,PAGE=1.econst:>RAML5,PAGE=1。esysmem:>RAMM1,PAGE=1IQmath:〉RAML1,PAGE=0IQmat(yī)hTables:>IQTABLES,PAGE=0,TYPE=NOLOADIQmathTables2:>IQTABLES2,PAGE=0,TYPE=NOLOADFPUmathTables:〉FPUTABLES,PAGE=0,TYPE=NOLOADDMARAML4:>RAML4,PAGE=1DMARAML5:〉RAML5,PAGE=1DMARAML6:>RAML6,PAGE=1DMARAML7:>RAML7,PAGE=1ZONE7DATA:>ZONE7B,PAGE=1。reset:>RESET,PAGE=0,TYPE=DSECTcsm_rsvd:>CSM_RSVDPAGE=0,TYPE=DSECTcsmpasswds:>CSM_PWLPAGE=0,TYPE=DSECT.adc_cal:load=ADC_CAL,PAGE=0,TYPE=NOLOAD}附錄C:源程序#include"DSP2833x_Device.h"#include"DSP2833x_Examples.h”interruptvoidzz(void);#defineLED(*(unsignedshortint*)0x180000)#defineSRAM_Base_Adress?0x100000voidmain(void){InitSysCtrl();InitXintf16Gpio();DINT;InitPieCtrl();InitPieVectTable();EALLOW;IER=0x0000;IFR=0x0000;PieVectTable.TINT0=&zz;EDIS;InitCpuTimers();ConfigCpuTimer(&CpuTimer0,150,1000000);CpuTimer0Regs。TCR。all=0x4001;IER|=M_INT1;PieCtrlRegs.PIEIER1.bit.INTx7=1;EINT;ERTM;LED=0xff;for(;;);?}interruptvoidzz(void){LED=~LED;PieCtrlRegs。PIEACK.all=PIEACK_GROUP1;}計算機控制技術(shù)實驗—基于Mat(yī)lab的最少拍控制系統(tǒng)設(shè)計學(xué)院:計算機科學(xué)與技術(shù)班級:姓名:學(xué)號:指導(dǎo)老師:日期:基于Matlab的最少拍控制系統(tǒng)設(shè)計實驗?zāi)康膶W(xué)習(xí)使用Matlab設(shè)計最少拍系統(tǒng)的方法。實驗器材x86系列兼容型計算機,Matlab軟件。實驗原理1。數(shù)字PID系統(tǒng)設(shè)計建立所示的數(shù)字PID系統(tǒng)控制模型并進(jìn)行系統(tǒng)仿真,已知:,采樣周期T=0。1s。2。最少拍系統(tǒng)仿真最少拍設(shè)計,是指系統(tǒng)在典型輸入信號(如階躍信號、速度信號、加速度信號等)作用下,經(jīng)過最少拍(有限拍)使系統(tǒng)輸出的系統(tǒng)穩(wěn)態(tài)誤差為零。因此,最少拍控制系統(tǒng)也稱最少拍無差系統(tǒng)或最少拍隨動系統(tǒng),它實質(zhì)上是時間最優(yōu)控制系統(tǒng),系統(tǒng)的性能指標(biāo)就是系統(tǒng)調(diào)節(jié)時間最短或盡可能短,即對閉環(huán)Z傳遞函數(shù)要求快速性和準(zhǔn)確性。下面以一個具體實例介紹最少拍系統(tǒng)的設(shè)計和仿真??紤]圖中所示的采樣數(shù)字控制系統(tǒng),被控對象的脈沖傳遞函數(shù)為最少拍采樣數(shù)字控制系統(tǒng)設(shè)采樣周期T=1s,首先求取廣義被控對象的脈沖傳遞函數(shù):廣義被控對象我們知道,最少拍系統(tǒng)是按照指定的輸入形式設(shè)計的,輸入形式不同,數(shù)字控制器也不同。因此,對三種不同的輸入信號分別進(jìn)行考慮:(1)單位階躍信號:計算可得到最少拍數(shù)字控制器為??D檢驗誤差序列:E從E(z)看出,按單位速度輸入設(shè)計的系統(tǒng),當(dāng)k大于等于2之后,即二拍之后,誤差e(k)=0,滿足題目要求.(2)單位速度信號:原理同上,我們可以得到:eq\f(3,4)檢驗誤差:從E(z)看出,按單位速度輸入設(shè)計的系統(tǒng),當(dāng)k2之后,即二拍之后,誤差e(k)0,滿足題目要求.(3)單位加速度信號:DE可知,按加速度輸入信號設(shè)計的系統(tǒng)當(dāng)k大于等于3,即三拍之后,誤差e(k)=0。將所得結(jié)果分別用Matlab中的Simulink工具箱進(jìn)行仿真,并將輸入、輸出和誤差三條曲線放置在同一圖像內(nèi),比較三種情況下的跟隨特性。實驗步驟在三種輸入(單位階躍/速度/加速度)分別作用下,運用Simulink對其控制結(jié)果進(jìn)行仿真.(1)單位階躍信號:系統(tǒng)Simulink仿真模型框圖如下圖所示:單位階躍信號輸入時最少拍控制系統(tǒng)將示波器的數(shù)據(jù)存為矩陣形式,命名為y1在Matlab命令窗口輸入:〉>plot(tout(:,1),y1(:,2:4));>〉holdon,legend('輸入','誤差’,'輸出')可得輸入、輸出和誤差三條曲線仿真結(jié)果如下圖所示:單位階躍信號輸入時系統(tǒng)的仿真結(jié)果(2)單位速度信號:控制系統(tǒng)Simulink框圖如下圖所示:單位速度信號輸入時最少拍控制系統(tǒng)將示波器的數(shù)據(jù)存為矩陣形式,命名為y2在Matlab命令窗口輸入>〉plot(tout(:,1),y2(:,2:4));〉>holdon,legend('輸入’,'誤差’,’輸出’)可得輸入、輸出和誤差三條曲線仿真結(jié)果如下圖所示:單位速度信號輸入時系統(tǒng)的仿真結(jié)果(3)單位加速度信號:控制系統(tǒng)Simulink框圖如下圖所示:單位加速度信號輸入時最少拍控制系統(tǒng)將示波器的數(shù)據(jù)存為矩陣形式,命名為y3在Matlab命令窗口輸入〉〉plot(tout(:,1),y3(:,2:4));>〉holdon,legend('輸入’,’誤差’,’輸出’)仿真結(jié)果圖如下圖所示:單位加速度信號輸入時系統(tǒng)的仿真結(jié)果實驗數(shù)據(jù)及結(jié)果分析由上面的仿真結(jié)果圖可知,按最少拍控制系統(tǒng)設(shè)計出來的閉環(huán)系統(tǒng),在有限拍后進(jìn)入穩(wěn)態(tài),這時閉環(huán)系統(tǒng)輸出在采樣時間精確的跟蹤輸入信號。如單位階躍信號在一拍后,單位速度信號在兩拍后,單位加速度信號則在三拍之后。然而,進(jìn)一步研究可以發(fā)現(xiàn)雖然在采樣時刻系統(tǒng)輸出與所跟蹤的參考輸入一致,但在兩個采樣時刻之間,系統(tǒng)的輸出存在著紋波或振蕩。例如單位階躍信號在一拍后的穩(wěn)態(tài)響應(yīng)仍有許多振蕩。這種紋波不僅影響系統(tǒng)的控制性能,產(chǎn)生過大的超調(diào)和持續(xù)振蕩,而且還增加了系統(tǒng)功率損耗和機械磨損。實驗總結(jié)在本次設(shè)計的過程中,我發(fā)現(xiàn)很多的問題,給我的感覺就是有點難,不是很順手.在調(diào)試的過程中,遇到的問題更多,調(diào)試的過程是一個讓人思考的過程,也是熟悉穩(wěn)態(tài)方法和實踐動手的好機會,順著模塊的順序依次排查接線,出現(xiàn)問題,想出各種可能的情況,測試解決.通過這次的課程設(shè)計,鍛煉了我的動手實踐能力,讓我有機會將課本所學(xué)的知識與實際相結(jié)合。切身體會到動手能力的重要。同時電路的設(shè)計修改也是我將知識整理融匯的過程,在某些課設(shè)涉及的地方我的理解更加深入了。今后隨著學(xué)習(xí)的深入,還會有更加深入的理論方法,相信到時候我可以學(xué)會更多知識,將所學(xué)的知識學(xué)以致用。引言隨著微電子技術(shù)、計算機技術(shù)、軟件技術(shù)、網(wǎng)絡(luò)技術(shù)和現(xiàn)代測量技術(shù)的迅速發(fā)展,一種新型的先進(jìn)儀器—-虛擬儀器成為當(dāng)前系統(tǒng)研究的熱點。虛擬儀器的出現(xiàn)開辟了儀器技術(shù)的新紀(jì)元,它是多門技術(shù)與計算機技術(shù)結(jié)合的產(chǎn)物,其基本思想逐步代替儀器完成某些功能,如數(shù)據(jù)的采集、分析、顯示和存儲等,最終達(dá)到取代傳統(tǒng)電子儀器的目的。虛擬儀器通過軟件開發(fā)平臺將計算機硬件資源與儀器硬件有機地融為一體,把計算機強大的數(shù)據(jù)處理能力和儀器硬件的測量、控制能力結(jié)合在一起,通過軟件實現(xiàn)對數(shù)據(jù)的顯示、存儲及分析處理,并通過交互式圖形界面實現(xiàn)系統(tǒng)控制和顯示測量數(shù)據(jù),并使用框圖模塊指定各種功能。采用集成電路溫度傳感器和虛擬儀器方便地構(gòu)建一個測溫系統(tǒng),且外圍電路簡單,易于實現(xiàn),便于系統(tǒng)硬件維護(hù)、功能擴展和軟件升級。

本設(shè)計利用LabVIEW作為語言開發(fā)平臺,設(shè)計了一個溫度控制系統(tǒng),并利用計算機串口與下位機串行通訊,能實現(xiàn)溫度的實時測量與控制.1緒論現(xiàn)代計算機技術(shù)和信息技術(shù)的迅猛發(fā)展,沖擊著國民經(jīng)濟(jì)的各個領(lǐng)域,也引起了測量儀器和測試技術(shù)的巨大變革。人們曾為測量儀器從模擬化、數(shù)字化到智能化的進(jìn)步而欣喜,也為自動測試技術(shù)的日新月異的發(fā)展所鼓舞,當(dāng)今虛擬儀器技術(shù)的出現(xiàn)又使得測量儀器進(jìn)步入了高科技的殿堂。與傳統(tǒng)的儀器不同,虛擬儀器(virtualinstrument)是基于計算機和標(biāo)準(zhǔn)總線技術(shù)的模塊化系統(tǒng),通常它是由控制模塊、儀器模塊和軟件組成,在虛擬儀器中軟件是至關(guān)重要的,儀器的功能都要通過它來實現(xiàn),因此軟件是虛擬儀器的核心,“軟件就是儀器",從本質(zhì)上反映了虛擬儀器的特征。從構(gòu)成方式上講,虛擬儀器可分為四大類:GPIB體系結(jié)構(gòu)、PC-DAQ體系結(jié)構(gòu)、VXI體系結(jié)構(gòu)和PXI體系結(jié)構(gòu)。GPIB體系結(jié)構(gòu)是通過GPIB總線將具有GPIB接口的計算機和儀器集成的測試系統(tǒng)。其優(yōu)點是用戶可以充分利用自己的計算機和儀器資源,且組建方便靈活、操作簡單,曾是國際流行的自動測試系統(tǒng)。當(dāng)今,在VXI為主的體系結(jié)構(gòu)中,有時也采用GPIB作為輔助,這樣可以充分利用本單位儀器資源,或稱補VXI儀器模塊的不足。

VXI體系結(jié)構(gòu)綜合了.pib和vem總線的優(yōu)點,它集成的系統(tǒng)硬件集成度高、數(shù)據(jù)傳輸率快、便攜性好,是當(dāng)今倍受業(yè)界關(guān)注的體系結(jié)構(gòu).PXI體系結(jié)構(gòu)是以PCI總線為基礎(chǔ)的體系結(jié)構(gòu),由于其總線吞吐率高、硬件的價格較低被業(yè)內(nèi)人士認(rèn)為是符合國情的一種體系結(jié)構(gòu)。虛擬儀器應(yīng)用程序的開發(fā)環(huán)境主要有兩種=一種是基于傳統(tǒng)的文本語言的軟件開發(fā)環(huán)境,常用的有l(wèi)abwindows/cvi、.visualbasidc=vc++等:一種是基于圖形化語言的軟件開發(fā)環(huán)境,常用的有LabVIEW和hpvee。其中圖形化軟件開發(fā)系統(tǒng)是用工程人員所熟悉的術(shù)語和圖形化符號代替常規(guī)的文本語言編程,界面友好,操作簡便,可大大縮短系統(tǒng)開發(fā)周期,深受專業(yè)人員的青睞。1.1課題背景隨著世界經(jīng)濟(jì)的發(fā)展,工業(yè)的迅速擴張,政府和企業(yè)家們花在設(shè)備上的投入越來越多,這筆巨大的開銷,極大地限制了企業(yè)的資金,從而制約著企業(yè)的發(fā)展。而虛擬儀器技術(shù)憑借著其開發(fā)容易、開發(fā)成本低、開發(fā)周期短等明顯的優(yōu)點,漸漸地在工業(yè)測控領(lǐng)域嶄露頭角。它的出現(xiàn)使企業(yè)家們看到了降低成本的希望。本設(shè)計將就虛擬儀器怎樣用在工業(yè)測控中進(jìn)行一番簡單的探討。1.2虛擬儀器簡介隨著微電子技術(shù)、計算機技術(shù)、軟件技術(shù)、網(wǎng)絡(luò)技術(shù)和現(xiàn)代測量技術(shù)的迅速發(fā)展,一種新型的先進(jìn)儀器-—虛擬儀器成為當(dāng)前系統(tǒng)研究的熱點.虛擬儀器通過軟件開發(fā)平臺將計算機硬件資源與儀器硬件有機地融為一體,把計算機強大的數(shù)據(jù)處理能力和儀器硬件的測量、控制能力結(jié)合在一起,通過軟件實現(xiàn)對數(shù)據(jù)的顯示、存儲及分析處理。在對大規(guī)模、集成化、智能化及數(shù)字電子儀器需求愈加迫切的形勢下,計算機技術(shù)、儀器技術(shù)和通信技術(shù)相結(jié)合,產(chǎn)生了具有里程碑意義的新一代儀器-—虛擬儀器。虛擬儀器的出現(xiàn)開辟了儀器技術(shù)的新紀(jì)元,它是多門技術(shù)與計算機技術(shù)結(jié)合的產(chǎn)物,其基本思想逐步代替儀器完成某些功能,如數(shù)據(jù)的采集、分析、顯示和存儲等,最終達(dá)到取代傳統(tǒng)電子儀器的目的。虛擬儀器是計算機硬件資源、儀器硬件、數(shù)據(jù)分析處理、軟件、通信軟件極圖形用戶界面的又效結(jié)合,具有傳統(tǒng)儀器所具備的信號采集、信號處理分析、信號輸出等功能。其基本構(gòu)成包括計算機、虛擬儀器軟件、硬件接口和測試儀器等。虛擬儀器有以下優(yōu)點:(1)利用了計算機豐富的軟件資源。實現(xiàn)了部分儀器硬件的軟件化,節(jié)省了物質(zhì)資源,增加了系統(tǒng)的靈活性。通過軟件技術(shù)和相應(yīng)數(shù)值算法,實時直接地對測試數(shù)據(jù)進(jìn)行各種分析與處理.圖形用戶界面(GUI)技術(shù)的應(yīng)用,真正的做到界面友好、人機交互。(2)基于計算機網(wǎng)絡(luò)技術(shù)和接口技術(shù).虛擬儀器具有方便、靈活的互聯(lián)能力(Connectivity),廣泛支持諸如CAN、FieldBus、PROFIBUS等各種工業(yè)總線標(biāo)準(zhǔn)。因此,利用虛擬儀器技術(shù)可方便地構(gòu)建自動測試系統(tǒng),實現(xiàn)測量、控制過程的網(wǎng)絡(luò)化。(3)基于計算機的開放式標(biāo)準(zhǔn)體系結(jié)構(gòu)。虛擬儀器的硬、軟件具有開放性、模塊化、可重復(fù)使用及互換性等特點,用戶可根據(jù)自己上的需要,選用不同廠家的標(biāo)準(zhǔn)接口產(chǎn)品,使儀器的開發(fā)更為高效,縮短儀器組建、開發(fā)時間。(4)具有很強的靈活性.虛擬儀器的功能由用戶自己定義,這意味著可自由的組合計算機平臺、硬件、軟件以及各種實現(xiàn)應(yīng)用系統(tǒng)所需要的附件。這種靈活性在由供應(yīng)商定義、功能固定、獨立的傳統(tǒng)儀器是達(dá)不到的。從傳統(tǒng)儀器的轉(zhuǎn)變,為用戶帶來了更多的實際利益。上述虛擬儀器的特點不僅推進(jìn)了儀器為基礎(chǔ)的界面系統(tǒng)改造,同時也影響了以虛擬儀器為主的圖形構(gòu)造方法的進(jìn)化.過去獨立分散、互不相干的許多領(lǐng)域,虛擬儀器通過軟件開發(fā)平臺將計算機硬件資源與儀器硬件有機地融為一體,把計算機強大的數(shù)據(jù)處理能力和儀器硬件的測量、控制能力結(jié)合在一起,通過軟件實現(xiàn)對數(shù)據(jù)的顯示、存儲及分析處理。虛擬儀器的出現(xiàn)是儀器發(fā)展史上的一場革命,代表著儀器發(fā)展的最新方向和潮流,是信息技術(shù)的一個重要領(lǐng)域,必將對科學(xué)技術(shù)的發(fā)展和工業(yè)生產(chǎn)產(chǎn)生不可估量的影響。1。2.1虛擬儀器的概念、發(fā)展傳統(tǒng)儀器一般是一臺獨立的裝置,從外觀上看,它是一般由操作面板、信號輸入端口、檢測結(jié)果輸出這幾個部分組成.操作面板上一般有一些開關(guān)、按鈕、旋鈕等。檢測結(jié)果的輸出方式有數(shù)字顯示、指針式表頭顯示、圖形顯示及打印輸出等。從功能方面分析,傳統(tǒng)儀器可分為信號的采集與控制、信號的分析與處理、結(jié)果的表達(dá)與輸出這幾個部分.傳統(tǒng)儀器的功能都是通過硬件電路或固化軟件實現(xiàn)的,而且由儀器生產(chǎn)廠家給定,其功能和規(guī)模一般都是固定的,用戶無法隨意改變其結(jié)構(gòu)和功能。傳統(tǒng)儀器大都是一個封閉的系統(tǒng),與其它設(shè)備的連接受到限制。另外,傳統(tǒng)儀器價格昂貴,技術(shù)更新慢,開發(fā)費用高.隨著計算機技術(shù)、微電子技術(shù)和大規(guī)模集成電路技術(shù)的發(fā)展,出現(xiàn)了數(shù)字化儀器和智能儀器。盡管如此,傳統(tǒng)儀器還是沒有擺脫獨立使用和受同操作的模式,在較為復(fù)雜的應(yīng)用場合或測試參加較多的情況下,使用起來就不太方便.這三方面的原因,使傳統(tǒng)儀器很難事業(yè)信息時代對儀器的需求。那么如何解決這個問題呢?可以設(shè)想,在必要的數(shù)據(jù)采集硬件和通用計算機支持下,通過軟件來實現(xiàn)儀器的部分或全部功能,這就是設(shè)計虛擬儀器的核心思想。所謂虛擬儀器,就是在通用的計算機平臺上定義和設(shè)計儀器的功能,用戶操作計算機的同時就是在使用一臺專門的電子儀器。虛擬儀器以計算機為核心,充分利用計算機強大的圖形界面和數(shù)據(jù)處理能力,提供對測量數(shù)據(jù)的分析和顯示功能.虛擬儀器技術(shù)給用戶一個充分發(fā)揮自己的才能、想象力的空間。用戶可以隨心所欲地根據(jù)自己的需求,設(shè)計自己的儀器系統(tǒng),滿足多種多樣的用戶需求.表2。1為傳統(tǒng)儀器與虛擬儀器的比較一覽表.虛擬儀器作為一種新型的儀器種類,具有以下特點:(1)強調(diào)“軟件即儀器”的概念,軟件充當(dāng)了儀器中相當(dāng)重要的且以往由硬件充當(dāng)?shù)慕巧#?)打破了傳統(tǒng)儀器小而全的現(xiàn)狀,可以將信號的分析、顯示、存儲、打印和其它管理利用計算機來完成.(3)便于工作和管理,虛擬儀器技術(shù)是儀器的設(shè)計和管理統(tǒng)一到虛擬儀器的標(biāo)準(zhǔn),使得儀器管理規(guī)范,使用簡便,維護(hù)費用低。(4)儀器自定義,科研和工程人員自己設(shè)計自己的儀器。由于虛擬儀器的開放性,用戶可以方便地修改測試方案,構(gòu)成各種專用儀器。儀器的開發(fā)周期短,升級容易,節(jié)省了硬件開發(fā)和生產(chǎn)的費用.(5)便于組成自動測試系統(tǒng)。虛擬儀器充分利用計算機技術(shù),可以對測試方案進(jìn)行編程;而且數(shù)據(jù)的遠(yuǎn)程傳輸、數(shù)據(jù)在軟件之間的交換等,都使系統(tǒng)組建變得靈活;計算機的存儲、打印和網(wǎng)絡(luò)化等功能也進(jìn)一步增進(jìn)了虛擬儀器的功能。電子儀器發(fā)展至今,大體可分為四代:模擬儀器、數(shù)字儀器、智能儀器和虛擬儀器。第一代模擬儀器第一代模擬儀器如指針式萬用表、晶體管電壓表等,它們的基本結(jié)構(gòu)是電磁機械式的,借助指針來顯示最終結(jié)果.第二代數(shù)字化儀器數(shù)字化儀器目前相當(dāng)普及,如數(shù)字電壓表等。這類儀器將模擬信號的測量轉(zhuǎn)化為數(shù)字信號的測量,并以數(shù)字方式輸出最終結(jié)果,實用于快速響應(yīng)和較高準(zhǔn)確度的測量。第三代智能要求智能儀器內(nèi)置微處理器,既能進(jìn)行自動測試,又具有一定的數(shù)據(jù)處理,可取代部分腦力勞動,習(xí)慣上稱為智能儀器。它的功能塊全部都是以硬件的形式存在,無論是開發(fā)還是應(yīng)用,都缺乏靈活性。第四代虛擬儀器虛擬儀器是現(xiàn)代計算機教技術(shù)和測量技術(shù)相結(jié)合的產(chǎn)物,是傳統(tǒng)儀器觀念的一次巨大變革,是將來虛擬產(chǎn)業(yè)發(fā)展的一個重要方向。從1988年開始,陸續(xù)有虛擬儀器產(chǎn)品面市。此后,虛擬儀器產(chǎn)品的陸續(xù)飛速增加。1。2。2虛擬儀器的工作原理虛擬儀器以透明的方式把計算與傳統(tǒng)儀器一樣。虛擬儀器同樣劃分為數(shù)據(jù)采集與控制、數(shù)據(jù)分析與處理、結(jié)果表達(dá)三大功機資源和儀器硬件的測試能力結(jié)合起來,實現(xiàn)了儀器功能的運作。虛擬儀器的功能模塊如圖所示.虛擬儀器用各種圖標(biāo)或控件來虛擬傳統(tǒng)儀器面板上的各種器件.由各種開關(guān)圖標(biāo)實現(xiàn)儀器電源的通斷;由各種按鈕圖標(biāo)來設(shè)置被測信號的“放大倍數(shù)”、“通道”等參數(shù);由各種顯示控件以數(shù)值或波形的方式顯示測量或分析結(jié)果;由計算機的鼠標(biāo)和鍵盤操作來模擬傳統(tǒng)儀器面板上的實際操作;以對圖形化軟件流程圖的編程來實現(xiàn)各種信號測量和數(shù)據(jù)分析功能。PC—DAQ采集器PC—DAQ采集器網(wǎng)絡(luò)傳輸信號處理串口儀器磁盤復(fù)制數(shù)字濾波串口儀器磁盤復(fù)制數(shù)字濾波GPIB儀器GPIB儀器文件I/O統(tǒng)計文件I/O統(tǒng)計VXI儀器VXI儀器圖形用戶接口分析圖形用戶接口分析PXI儀器PXI儀器圖1.1虛擬儀器的功能模塊1.2。3虛擬儀器與傳統(tǒng)儀器的比較傳統(tǒng)儀器和虛擬儀器的比較傳統(tǒng)儀器虛擬儀器儀器廠商定義用戶自己定義硬件是關(guān)鍵軟件是關(guān)鍵儀器的功能、規(guī)模均已固定系統(tǒng)功能和規(guī)??赏ㄟ^軟件修改和增減封閉的系統(tǒng),與其它設(shè)備連接受限制基于計算機的開放系統(tǒng),可方便地同外設(shè)、網(wǎng)絡(luò)及其它相應(yīng)設(shè)備連接價格昂貴價格低,可重復(fù)利用技術(shù)更新慢技術(shù)更新快開發(fā)和維護(hù)費用高軟件結(jié)構(gòu)可大大節(jié)省開發(fā)和維護(hù)費用多為實驗室擁有個人可擁有一個實驗室1.3圖形化編程語言LabVIEW的簡介LabVIEW(laboratoryvirtualinstrumentengineeringworkbench)是一種圖形化的編程語言和開發(fā)環(huán)境,它廣泛地被工業(yè)界、學(xué)術(shù)界和研究實驗室所接收,被公認(rèn)為是標(biāo)準(zhǔn)的數(shù)據(jù)采集和儀器控制軟件。LabVIEW不僅提供了與遵從GPIB,VXI,RS-232和RS-485協(xié)議的硬件及數(shù)據(jù)采集卡通信的全部功能,還布置了支持TCP/IP,ActiveX等軟件標(biāo)準(zhǔn)的庫函數(shù),而且圖形化的編程界面使編程過程變得生動有趣。LabVIEW是一個功能強大且靈活的軟件,利用他可以方便的建立自己的虛擬儀器.以LabVIEW為代表的圖形化編程語言,又稱為“G"語言。使用這種語編程時,基本上不需要編寫程序代碼,而是“繪制”程序流程圖。LabVIEW盡可能利用工程技術(shù)人員所熟悉的術(shù)語、圖標(biāo)和概念,因而它是一種面向最終用戶的開發(fā)工具,可以增強工程人員構(gòu)建自己的科學(xué)和工程系統(tǒng)的能力,提供了實現(xiàn)儀器編程和數(shù)據(jù)采集系統(tǒng)的便捷途徑.使用它進(jìn)行原理研究、設(shè)計、測試并實現(xiàn)儀器系統(tǒng)時,可以大大提高工作效率。利用LabVIEW,可產(chǎn)生獨立運行的可執(zhí)行文件。LabVIEW是真正的32位編譯器。像其他軟件一樣,LabVIEW提供了Windows,UNIX,Linux和Macintosh等多種版本.1。4論文各章節(jié)的安排在本論文中,作者將先在第二章中介紹一下本設(shè)計中所使用的一些基本原理和器件的一些知識,然后提出自己的軟硬件設(shè)計方案的思路。然后在第三章介紹LabVIEW的一些編程的基本知識。在第四章中,將討論LabVIEW的儀器控制和驅(qū)動。在第五章和第六章中,將分別就自己的硬軟件設(shè)計方案提出論述。最后將談一下自己的系統(tǒng)制作和調(diào)試過程中的一些問題和解決方法。1.5本論文任務(wù)(1)設(shè)計一個由微控制器控制的溫度采集裝置,使其能夠準(zhǔn)確地采集環(huán)境溫度。(2)通過某種通信協(xié)議,將采集到的溫度送往上位機進(jìn)行顯示和處理。(3)用LabVIEW編寫上位機的程序,使其能夠接受下位機發(fā)送來的溫度信息數(shù)據(jù),并作出處理想,同時顯示在PC屏幕上。(4)使用LabVIEW編寫PID控制程序,能實現(xiàn)對溫度的比較準(zhǔn)確的控制。(5)使用LabVIEW編寫模糊控制程序,能實現(xiàn)對溫度的控制.圖1.2上位機界面圖1.2硬件實物圖2溫度控制設(shè)計方案本設(shè)計采用LabVIEW和AVR單片機組成系統(tǒng)的主要模塊.由下位機把單線式溫度傳感器DS18B20測量到的溫度,通過串口發(fā)送到的由LabVIEW構(gòu)建的上位機去.然后在上位機中進(jìn)行處理和顯示,通過PID或者模糊算法,計算出要輸出的控制量,再由串口將數(shù)據(jù)發(fā)送到下位機,交由下位機處理。下位機根據(jù)一定的關(guān)系,輸出一定的信號來控制固態(tài)繼電器的通斷.固態(tài)繼電器的交流端就會因為通斷而控制水泥電阻工作與否,以此達(dá)到控制溫度的目的。2.1硬件及軟件的選擇2.1。1硬件的選擇系統(tǒng)的硬件設(shè)計主要分為四個部分:主控部分、DS18B20測溫部分、通信部分、程序下載部分。在下位機控制器上,由于需要采用PWM技術(shù)對加熱裝置進(jìn)行控制,而傳統(tǒng)的51系列單片由于其內(nèi)部并不具有專門的PWM模塊,當(dāng)從上位機發(fā)送控制數(shù)據(jù)時,就必須采取中斷才能執(zhí)行這個過程。由于AVR系列單片機內(nèi)部均有現(xiàn)成的PWM模塊,可以在進(jìn)行采集溫度的同時,進(jìn)行PWM控制。所以,本設(shè)計選擇Atmel公司生產(chǎn)的ATMega16八位高性能微處理器。AVR單片機是1997年由ATMEL公司研發(fā)出的增強型內(nèi)置Flash的RISC(ReducedInstructionSetCPU)精簡指令集高速8位單片機。AVR的單片機可以廣泛應(yīng)用于計算機外部設(shè)備、工業(yè)實時控制、儀器儀表、通訊設(shè)備、家用電器等各個領(lǐng)域,它與51單片機、PIC單片機相比具有一系列的優(yōu)點:(1)在相同的系統(tǒng)時鐘下AVR運行速度最快;(2)芯片內(nèi)部的Flsah、EEPROM、SRAM容量較大;(3)所有型號的Flash、EEPROM都可以反復(fù)燒寫、全部支持在線編程燒寫(ISP);(4)多種頻率的內(nèi)部RC振蕩器、上電自動復(fù)位、看門狗、啟動延時等功能,零外圍電路也可以工作;(5)每個IO口都可以以推換驅(qū)動的方式輸出高、低電平,驅(qū)動能力強;(6)內(nèi)部資源豐富,一般都集成AD、DA模數(shù)器、PWM、SPI、USART、TWI、I2C通信口、豐富的中斷源等。目前支持AVR單片機編譯器的語言主要有匯編語言、C語言、BASIC語言等.其中C編譯器主要有CodeVisionAVR、AVRGCC、IAR、ICCAVR等,C語言編譯器由于它具有功能強大、運用靈活、代碼小、運行速度快等先天性的優(yōu)點,使得它在專業(yè)程序設(shè)計上具有不可代替的地位.測溫部分,本設(shè)計采用美國DALLAS公司生產(chǎn)的一線式溫度傳感器DS18B20。數(shù)字式溫度傳感器DS18B20是美國DALLAS公司推出的一種可組網(wǎng)數(shù)字式溫度傳感器,采用1—wire總線接口,測溫范圍為-55℃—+125℃,精度可達(dá)0.0675℃,最大轉(zhuǎn)換時間為200ms。DS18B20能夠直接讀取被測物體的溫度值,體積小,電壓適用范圍寬(3V~5V),用戶還可以通過編程實現(xiàn)9--12位的溫度讀數(shù),即具有可調(diào)的溫度分辨率。DS18B20與單片機的接口簡單,只需將信號線與單片機的一位雙向端口相連即可。系統(tǒng)中DS18B20采用外接電源方式,VDD端用3V~5。5V電源供電。由于其測溫分辨率較高(12位),因此對時序及電特性參數(shù)要求較高,必須嚴(yán)格按照時序要求操作.其數(shù)據(jù)的讀寫是由主機讀寫特定時間片來完成的,包括初始化、讀時間片和寫時間片。DS18B20的主要特征:全數(shù)字溫度轉(zhuǎn)換及輸出。先進(jìn)的單總線數(shù)據(jù)通信.最高12位分辨率,精度可達(dá)土0.5攝氏度.12位分辨率時的最大工作周期為750毫秒??蛇x擇寄生工作方式。檢測溫度范圍為–55°C~+125°C(–67°F~+257°F)內(nèi)置EEPROM,限溫報警功能。DS18B20引腳功能:·GND電壓地·DQ單數(shù)據(jù)總線·VDD電源電壓圖2。1DS18B20功率控制部分,本設(shè)計采用無錫天豪公司生產(chǎn)的GTJ24-2A固態(tài)繼電器.GTJ24—2A系列產(chǎn)品用于可編程序控制,各種自動化控制裝置及計算機輸出控制接口等;用于各種需雙路控制的場合.其電氣參數(shù)為:輸入控制電壓3-14VDC(自動限流),關(guān)斷電壓1.2VDC,開啟電流5mA,控制電流<25mA,工作電壓24—240VAC。該固態(tài)繼電器為過零型繼電器,在電流過零時導(dǎo)通,過零時關(guān)斷。相對于隨機型的固態(tài)繼電器,使用過零型的固態(tài)繼電器可以使本設(shè)計比較方便地控制固態(tài)繼電器中雙向晶閘管的導(dǎo)通周期數(shù),從而控制加熱元件的工作時間。通信部分,由于溫度變化并不是一個很快的過程,所以并不需要很高的數(shù)據(jù)采集和發(fā)送速度.而且,計算機的各種通信方式中,尤以串口通信方式最為簡單,因此本設(shè)計采用傳統(tǒng)的RS-232串口通信。由于單片機的工作電平TTL電平,它要與計算機上的串口進(jìn)行通信,就必須轉(zhuǎn)換成相應(yīng)的計算機串口電平,也就是RS—232電平。在本設(shè)計中采用美國MAXIM公司生產(chǎn)的MAX232進(jìn)行電平轉(zhuǎn)換。2.1.2軟件的選擇軟件選擇包括下位機程序的編譯軟件和上位機的編程軟件。下位機的編譯軟件,通常有ICCAVR、WinAVR(也就是通常所說的GCC)、IARAVR、CodeVisionAVR、ATmanAVR,在這里使用ICCAVR和AVRStudio的組合。這是因為市面上(大陸)的教科書使用ICCAVR作為例程的較多,集成代碼生成向?qū)?雖然它的各方面性能均不是特別突出,但使用較為方便;而AVRStudio集軟硬件仿真、調(diào)試、下載編程于一體,有效彌補了ICCAVR仿真能力的不足,同時還可以有效地對程序進(jìn)行調(diào)試。上位機方面,本設(shè)計采用目前NI最新的LabVIEW8。6進(jìn)行編程。結(jié)合上NI為工業(yè)控制而開發(fā)的PID和模糊邏輯控制包,可以輕松地實現(xiàn)PID或模糊控制。2.2硬件及軟件設(shè)計方案2.2。1硬件設(shè)計方案下圖給出系統(tǒng)硬件組成框圖,由計算機、單片機、測溫電路及溫度控制電路組成.該系統(tǒng)集計算機、強大的圖形化編程軟件和模塊化硬件于一體,建立靈活且以計算機為基礎(chǔ)的測量及控制方案,構(gòu)建出滿足需要的系統(tǒng)。利用傳感器獲取溫度信號,再由單片機組成的小系統(tǒng)對溫度信號進(jìn)行采集、處理和轉(zhuǎn)換,然后通過RS-232串口將數(shù)據(jù)送給計算機.并通過計算機運行的LabVIEW程序來分析處理輸入數(shù)據(jù).最終由計算機顯示結(jié)果。同時,通過計算機串口采樣輸入信號,利用LabVIEW中的PID控制算法,求出系統(tǒng)輸出信號的大小,再由串口將輸出信號傳輸至外部溫度控制電路,以實現(xiàn)溫度控制。溫度測控對象溫度測控對象溫度控制電路溫度測量電路單片機計算機圖2.2系統(tǒng)組成框圖2。2。2軟件設(shè)計方案(1)PID控制在自動控制中,一個系統(tǒng)的運行要求能夠滿足給定的性能指標(biāo),具有抗干擾能力和穩(wěn)定性。對于被控制的對象,其本身的物理結(jié)構(gòu)和工作過程是一定的,在給定信號作用時,對象的輸出并不一定能滿足系統(tǒng)的性能要求,所以需要加入一個控制器??刂破髋c被控對象以閉環(huán)的形式構(gòu)成系統(tǒng),以幫助整個系統(tǒng)的輸出滿足給定的性能指標(biāo),而控制器運用的控制規(guī)律多種多樣.?PID(ProportionalIntegralDerivative比例微分積分)控制是控制工程中技術(shù)成熟,應(yīng)用廣泛的一種控制策略,它經(jīng)過長期工程實踐,已形成了一套完整的控制方法和典型的結(jié)構(gòu).

PID控制器結(jié)構(gòu)簡單、穩(wěn)定性好、工作可靠、調(diào)整方便。當(dāng)被控對象的結(jié)構(gòu)和參數(shù)不能完全被掌握,或得不到精確的數(shù)學(xué)模型時,控制理論的其它技術(shù)難以采用,系統(tǒng)控制器的結(jié)構(gòu)和參數(shù)必須依靠經(jīng)驗和現(xiàn)場調(diào)試來確定,這時應(yīng)用PID控制技術(shù)最為方便。因此當(dāng)不能完全了解一個系統(tǒng)和被控對象,或不能通過有效的測量手段來獲得系統(tǒng)參數(shù)時,就是PID的用武之地.PID控制器PID控制器執(zhí)行機構(gòu)被控對象測量裝置期望值輸出反饋圖2.3PID控制系統(tǒng)PID顧名思義,就是根據(jù)系統(tǒng)誤差利用比例,微分,積分計算出控制量進(jìn)行控制。比例,積分,微分這三個環(huán)節(jié)又相互獨立,有各自不同的作用,在現(xiàn)場也可以根據(jù)實際情況來選擇使用。

P控制(比例控制)?如果控制器的輸出僅僅與誤差成正比關(guān)系,即u(t)=Kpε(t),便構(gòu)成了一個比例控制器,可見比例控制器實際上是一個增益可調(diào)的放大器。比例控制器通過改變比例放大系數(shù)Kp調(diào)節(jié)輸出,對誤差的反應(yīng)很快,但是其輸出與期望值之間總是存在一個穩(wěn)態(tài)誤差,必須使用手動復(fù)位來消除,在實際運用中很不方便。提高Kp值可以增加系統(tǒng)的開環(huán)增益,使穩(wěn)態(tài)誤差減小,還能夠增加系統(tǒng)的快速性;但容易使系統(tǒng)的穩(wěn)定程度變差,振蕩變多。而當(dāng)Kp值小時,又會使系統(tǒng)動作變得緩慢,所以校正系統(tǒng)很少單獨使用P控制.KpKp誤差圖2。4比例控制I控制(積分控制)由于P控制存在穩(wěn)態(tài)誤差需要手動復(fù)位,人們發(fā)現(xiàn)可以通過引入一個積分項來消除穩(wěn)態(tài)誤差。積分控制器的輸出與誤差信號的積分成正比,即,所以PI控制器的輸出有:積分項對誤差進(jìn)行積分,隨著時間的增加積分項增大,只要誤差還存在,就會不斷輸出。這樣,即便誤差很小,積分項也會隨著時間的增加而加大,推動控制器的輸出增大使穩(wěn)態(tài)誤差進(jìn)一步減小,直到等于零,以達(dá)到消除穩(wěn)態(tài)誤差的目的.因此,PI控制器,可以使系統(tǒng)在進(jìn)入穩(wěn)態(tài)后無穩(wěn)態(tài)誤差。但是對時間的積分必將影響系統(tǒng)的快速動態(tài)性能,對于一些系統(tǒng)會出現(xiàn)超調(diào)過大的現(xiàn)象,嚴(yán)重的甚至引起系統(tǒng)崩潰.

D控制(微分控制)

積分控制的動態(tài)性能不好,而微分項恰好可以彌補這點。微分控制器的輸出和誤差信號的微分成正比,即,所以PD控制器的輸出有:微分作用反映的是誤差信號的變化率,所以對系統(tǒng)控制具有預(yù)見性,能預(yù)見誤差的變化趨勢,因此能產(chǎn)生超前的控制作用。甚至在誤差形成之前,可能已被微分調(diào)節(jié)作用消除.所以如果微分時間選擇合適,可以減少超調(diào)和系統(tǒng)調(diào)節(jié)時間,使系統(tǒng)的動態(tài)性能大大提高。微分控制在實際運用中經(jīng)常用來抵消積分控制產(chǎn)生的不穩(wěn)定趨勢,但因其反應(yīng)的是誤差的變化率,所以僅對動態(tài)過程作用,通常不單獨使用。而且微分控制對噪聲干擾有放大作用,過強地調(diào)節(jié)微分項對系統(tǒng)抗干擾能力不利。PID控制?PID控制即比例控制、積分控制、微分控制的組合,綜合了3種控制器的優(yōu)點。實際運用中,有時也不需要用到全部的三個部分,只有比例控制單元是必不可少的。對于PID控制器,輸出為:PID控制實際就是根據(jù)經(jīng)驗,對Kp,Ti,Td這3個參數(shù)進(jìn)行整定,以得到合適的輸出值對系統(tǒng)進(jìn)行控制。具體如何整定,根據(jù)不同的現(xiàn)場有所不同。目前PID不僅應(yīng)用廣泛,發(fā)展也很快,已研究出很多對這3個參數(shù)進(jìn)行自整定的智能控制器。在和計算機這樣的數(shù)字控制器結(jié)合后,還出現(xiàn)了數(shù)字PID的設(shè)計方法,不過具體原理還是遵循于傳統(tǒng)。(2)模糊控制模糊控制是以模糊集合論、模糊語言變量和模糊邏輯推理為基礎(chǔ)的一種計算機數(shù)字控制。通常是一類缺乏精確數(shù)學(xué)模型的被控過程,采用模糊集合的理論,總結(jié)人們對系統(tǒng)的操作和控制經(jīng)驗.用模糊條件語句寫出控制規(guī)律,再用算法語言來編寫程序,按此程序?qū)ιa(chǎn)過程進(jìn)行自動控制。模糊控制同常規(guī)的控制方案相比,主要特點有:=1\*GB3①模糊控制只要求掌握現(xiàn)場操作人員或有關(guān)專家的經(jīng)驗、知識或操作數(shù)據(jù),不需要建立過程的數(shù)學(xué)模型,所以適用于不易獲得精確數(shù)學(xué)模型的被控過程,或其結(jié)構(gòu)參數(shù)不很清楚等場合。=2\*GB3②模糊控制是一種語言變量控制器,其控制規(guī)律只用語言變量的形式定性地表達(dá),不用傳遞函數(shù)與狀態(tài)方程,只要對人們的控制經(jīng)驗加以總結(jié),進(jìn)而從中提煉出規(guī)則,直接給出語言變量,再應(yīng)用推理方程進(jìn)行觀察與控制。=3\*GB3③系統(tǒng)的魯棒性強,尤其適用于時變、非線性、時延系統(tǒng)的控制.=4\*GB3④從不同的觀點出發(fā),可以設(shè)計不同的目標(biāo)函數(shù),其語言控制規(guī)則分別是獨立的,但是整個系統(tǒng)的設(shè)計可得到總體的協(xié)調(diào)控制。模糊控制的理論基礎(chǔ)是模糊集合理論,模糊集合是一種介于嚴(yán)格變量與定性間的數(shù)學(xué)表達(dá)形式,例如變量的數(shù)值分為正大(PL)、正中(PM)、正?。≒S)、零(O)、負(fù)小(NS)、負(fù)中(NM)、負(fù)大(NB)等。其中P=Posive,B=Big,M=Medium,S=Small,O=Zero,N=Negative。模糊集合理論的核心是對復(fù)雜的系統(tǒng)或過程建立一種語言分析的數(shù)學(xué)模式,提供一個嚴(yán)格的數(shù)學(xué)框架,使日常生活中的自然語言能直接轉(zhuǎn)化為計算機所能接受的算法語言。模糊集合理論的一個基本概念是函數(shù)或稱隸屬度。它表示某一個元素與模糊子集的關(guān)系(即隸屬度),并用或表示。所有隸屬度均滿足下列要求,即,表示隸屬于;,則表示不屬于。模糊子集可表示成其中的U為論域(指被考慮過程的所有元素的全體).式中的“+”號表示列舉,并不是加號;作用每項中的分式也不表示相除,分母表示元素名稱,分子表示該元素的隸屬度。模糊子集不僅可用隸屬度來描述,也可用模糊向量(即隸屬度向量)來表示,即下圖為模糊控制系統(tǒng)原理框圖。模糊控制器模糊控制器執(zhí)行機構(gòu)被控對象測量裝置期望值輸出——圖2.5模糊控制系統(tǒng)3LabVIEW集成開發(fā)環(huán)境使用LabVIEW開發(fā)平臺編制的程序稱為虛擬儀器程序,簡稱為VI.設(shè)計程序主要是在以下兩個窗口中進(jìn)行的:前面板設(shè)計窗口(FrontPanel):它是與用戶直接接觸的圖形用戶界面,即VI的虛擬儀器面板。后面板編輯窗口(BlockDiagram):它是用戶為完成特定功能而編寫的程序,即VI的圖形化源代碼。3.1LabVIEW前臺顯示面板程序前面板是圖形用戶界面,這一界面上有用戶輸入控制和輸出顯示兩類對象,用于模擬真實儀表的前面板??刂坪惋@示是用各種各樣的圖標(biāo)形式出現(xiàn)在前面板,具體表現(xiàn)為旋鈕、開關(guān)、圖形、圖標(biāo)以及其他的控制(Control)和顯示(Indicator)對象等,這使得用戶界面更加直觀易懂。3.2LabVIEW后臺控制面板后面板即是程序編輯窗口。流程圖提供VI的圖形化源程序,可以理解為傳統(tǒng)程序的源代碼。在流程圖中隊VI進(jìn)行編程,以實現(xiàn)程序的輸入和輸出功能流程圖由端口、節(jié)點、圖框和連線構(gòu)成。LabVIEW有三類端口:前面板對象端口、全局變量與局部變量端口和常量端口.對象端口被用來與程序前面板上的控制件或顯示件傳遞數(shù)據(jù);常量端口只能在程序中作為數(shù)據(jù)流起點;全局變量和局部變量端口是LabVIEW用力啊傳遞數(shù)據(jù)的工具.節(jié)點類似于文本語言的函數(shù)或子程序,LabVIEW有兩種節(jié)點類型:功能函數(shù)節(jié)點或子VI節(jié)點,二者的區(qū)別在于功能函數(shù)節(jié)點是LabVIEW本身提供給用戶使用的,不可以對它進(jìn)行修改;子VI則是用戶可以進(jìn)入并根據(jù)實際需要對其加以修改。圖框被用來實現(xiàn)結(jié)構(gòu)化控制命令,例如循環(huán)控制、順序控制以及條件分支等;此外還有MATLAB腳本、HiQ腳本以及調(diào)用C語言編程的CIN節(jié)點等。連線用于代表程序執(zhí)行過程中的數(shù)據(jù)流,它類似于文本程序的變量,數(shù)據(jù)是單向流動的。這些都是編程必須有的東西。3。3LabVIEW程序執(zhí)行流程宏觀上講,LabVIEW的運行機制已經(jīng)不是傳統(tǒng)上的馮·諾依曼式計算機體系結(jié)構(gòu)的執(zhí)行方式了.傳統(tǒng)計算機語言(如C語言)中的順序執(zhí)行結(jié)構(gòu)在LabVIEW中被并行機制所代替。而且,對于那些數(shù)學(xué)和邏輯運算過程較復(fù)雜的程序,用花可以選擇使用VC或者M(jìn)atlab等開發(fā)工具將數(shù)學(xué)分析和處理過程編寫為專用的動態(tài)鏈接庫,LabVIEW提供了專門的接口函數(shù)可以調(diào)用之。這樣,可以結(jié)合圖形語言和文本語言各自優(yōu)點,更為靈活、高效、易用。3.4LabVIEW中的儀器控制和驅(qū)動虛擬儀器是儀器的未來,但在工作臺上還有很多非虛擬儀器,毫無疑問需要用LabVIEW控制他們。對儀器的驅(qū)動是虛擬儀器實現(xiàn)對真實物理信號采集的基礎(chǔ),當(dāng)儀器驅(qū)動后,才能由軟件進(jìn)行數(shù)據(jù)的分析處理進(jìn)而實現(xiàn)某種測溫功能,并求取測量結(jié)果.并且,有時使用外部儀器也是可以的.3.4。1儀器驅(qū)動也稱為儀器驅(qū)動器模式完成對某一特定儀器控制與通信的軟件程序集,也可以認(rèn)為是儀器的軟件描述,它是應(yīng)用程序?qū)崿F(xiàn)儀器控制的橋梁。每個儀器模塊都有自己的儀器驅(qū)動器,廠商將儀器驅(qū)動以源代碼提供給用戶。由于虛擬儀器需要提供模擬實際儀器操作面板的虛擬面板,因此虛擬儀器驅(qū)動器不僅是實施儀器控制的程控代碼,還是儀器程控代碼、高級軟件編程與先進(jìn)人機交互三者相結(jié)合的產(chǎn)物,是一個包含實際儀器使用和操作信息的軟件模塊。上層是一系列按工程分組的主/副軟面板,軟面板又由一些按鍵、旋鈕、表頭等控件組合而成,每個控件對應(yīng)不同的功能,及其程控代碼相異。底層部分則基于一組I/O函數(shù)和測試接口,實時模式下,測試人員對軟面板上控件的操作將直接反映到真實儀器上。和用戶直接打交道的部分是操作接口,及虛擬軟面板和面板上的控件。應(yīng)用軟件建立在儀器驅(qū)動程序之上,直接面對操作用戶,通過提供友好直觀的測控操作界面、豐富的數(shù)據(jù)分析和處理功能,來完成自動測試任務(wù)。儀器驅(qū)動程序模塊負(fù)責(zé)處理與某一專門設(shè)備通信和控制的具體過程,通過封裝復(fù)雜的儀器編程細(xì)節(jié),為用戶使用儀器提供簡單的函數(shù)接口,用戶不必對各種儀器硬件有專門的了解,就可以通過儀器驅(qū)動程序來使用這些儀器硬件。一般由儀器廠商以動態(tài)鏈接庫的形式提供給用戶.當(dāng)需要更換新的儀器硬件時,只需要更新相應(yīng)的驅(qū)動程序,并保證它對上層的接口保持不變,新的硬件就能在原系統(tǒng)中正常運行。3.4。GPIB:通用接口總線(GeneralPurposeInterfaceBus)。有時候成為HP-IB(Hewlett—PackardInterfaceBus)和IEEE488.2總線(InstituteofElectronicEngineerstandard488.2),它幾乎是任何儀器與計算機通信的世界標(biāo)準(zhǔn).IVI:可交換虛擬儀器(InterchangeableVirtualInstrument).可以與許多不同的儀器協(xié)調(diào)工作的儀器驅(qū)動程序(用來控制外部儀器的軟件)標(biāo)準(zhǔn).LXI:LAN在儀器領(lǐng)域的擴展(LANeXtensionforInstrumentation)。LXI協(xié)會給予工業(yè)標(biāo)準(zhǔn)以太網(wǎng)技術(shù),為小型和中型系統(tǒng)提供模塊化、靈活性和性能的儀器平臺建議標(biāo)準(zhǔn)。RS—232:232號推薦標(biāo)準(zhǔn)(RecommendedStandard#232)。美國儀器協(xié)會為串行通信提出的建議標(biāo)準(zhǔn)。可以與術(shù)語“串行通信”互換使用,盡管串行通信一般指的是一次傳輸一位。也許還會看到其他一些標(biāo)準(zhǔn)如RS—485、RS-422和RS-432。SCPI:可編程儀器標(biāo)準(zhǔn)命令(StandardCommandsforProgrammableInstrumentation)。SCPI協(xié)會的一個建議標(biāo)準(zhǔn),該標(biāo)準(zhǔn)使用簡單、直觀的ASCII命令為儀器通信制定了結(jié)構(gòu)和語法.USB:通用串行總線(UniversalSerialBus),大多數(shù)PC與外部設(shè)備互聯(lián)的標(biāo)準(zhǔn)總線。VISA:虛擬儀器標(biāo)準(zhǔn)體系結(jié)構(gòu)(VirtualInstrumentStandardArchitecture),NI公司研發(fā)的一種驅(qū)動軟件體系結(jié)構(gòu)。其目的是盡量統(tǒng)一一起軟件標(biāo)準(zhǔn),不論儀器使用GPIB、PXI、VXI,還是串行接口(RS-232/422/485).3。4.3LabVIEW支持的GPIB、通常LabVIEW有兩張安裝光盤,其中一張就是設(shè)備驅(qū)動盤,它包含了一個儀器驅(qū)動庫,該庫為NI生產(chǎn)的各種程控儀器(GPIB儀器、VXI儀器和串行儀器等)提供儀器驅(qū)動程序,例如HP34401A數(shù)字萬用表的儀器驅(qū)動程序。儀器驅(qū)動程序在功能模塊~I(xiàn)nstrumentI/O-InstrumentDrivers子模板中。對于非NI公司生產(chǎn)的上述I/O接口儀器設(shè)備,可用InstrumentI/O子模板上提供的VISA圖標(biāo)來進(jìn)行驅(qū)動。利用這些儀器驅(qū)動器,用戶可以很容易地控制各種儀器,并將主要精力放在儀器功能的實現(xiàn)上,而不必關(guān)心具體的編程細(xì)節(jié),這一點是LabVIEW強大功能的體現(xiàn)。3.4.4VISAVISA是NI公司發(fā)布的為統(tǒng)一軟件標(biāo)準(zhǔn)的驅(qū)動軟件體系結(jié)構(gòu)。它是與驅(qū)動軟件通信的LabVIEW儀器驅(qū)動VI中的底層函數(shù).VISA本身不提供儀器編程功能。VISA是一個調(diào)用低層驅(qū)動程序的高層API。VISA能夠控制VXI、GPIB、串口或者基于計算機的儀器,并能根據(jù)所用儀器的類型來調(diào)用合適的驅(qū)動程序.下表給出了本系統(tǒng)用到的幾個通信模塊的基本屬性的描述.

VI名稱

VI功能

VISAConfigureSerialPort

初始化VISAresourcename指定的串口通訊參數(shù)

VISAWrite

將輸出緩沖區(qū)中的數(shù)據(jù)發(fā)送到VISAresourcename指定的串口

VISARead

將VISAresourcename指定的串口接收緩沖區(qū)中的數(shù)據(jù)讀取指定字節(jié)數(shù)的數(shù)據(jù)到計算機內(nèi)存中

VISASerialBreak

向VISAresourcename指定的串口發(fā)送一個暫停信號

VISABytesatSerialPort

查詢VISAresourcename指定的串口接收緩沖區(qū)中的數(shù)據(jù)字節(jié)數(shù)

VISAClose

結(jié)束與VISAresourcename指定的串口資源之間的會話

VISASetI/OBufferSize

設(shè)置VISAresourcename指定的串口的輸入輸出緩沖區(qū)大小

VISAFlushI/OBuffer

清空VISAresourcename指定的串口的輸入輸出緩沖區(qū)3。5本章小結(jié)本章先介紹了LabVIEW軟件編程的前后面板、執(zhí)行機理,然后就其與外部儀器通信使用的GPIB、串口、以太網(wǎng)接口硬件方面做了簡單的說明。同時學(xué)習(xí)了如何使用InstrumentI/OAssistantExpressVI快速與儀器通信,以及如何使用儀器通信函數(shù)的VISA框架.這些都是LabVIEW中與儀器通信需要用到的工具。有了VISA,用戶可以使用LabVIEW與多種連接類型的眾多儀器進(jìn)行通信,如GPIB、以太網(wǎng)、TCP/IP、串口、USB等。4LabVIEWPID和模糊控制模塊簡介NI公司為工程人員可以方便地進(jìn)行工業(yè)控制,特地開發(fā)了LabVIEW環(huán)境下的PID控制和模糊控制模塊——NILabVIEWPIDandFuzzyLogicToolkit工具包。其中包含各種常用的PID控制模塊和模糊控制模塊。由于其使用極其方便,所以本設(shè)計采用你進(jìn)行PID和模糊控制.4。1PID控制模塊簡介NI提供了在LabVIEW中使用的PID控制工具包,可幫助工程師結(jié)合NI數(shù)據(jù)采集設(shè)備快速有效地搭建一個數(shù)字PID控制器,精確可靠地完成系統(tǒng)需求。安裝NI光盤TookitSoftware中的LabVIEWPIDControlTookit,即可在LabVIEW中生成該工具包.安裝完成后打開一個新的VI,右擊程序框圖,在“函數(shù)”面板上選擇“控制設(shè)計與仿真”,即可看到PID工具包,該工具包由10個VI組成。圖4。1PID工具包利用PID.vi即可搭建一個簡單的PID控制器,在該vi的輸入端給入PID的3個參數(shù)值(PIDgains),系統(tǒng)反饋值(processvariable),實際期望值(setpoint)以及微分時間(dt),便能得到需要的輸出值(output)。該vi還能控制輸出值的范圍。圖4。2PID的使用范例PIDAdvanced。vi是為專家PID設(shè)計的vi,增加了一些高級的功能,如可以設(shè)定期望值的范圍(setpointrange),手動控制(manualcontrol),線性化(linearity)等功能。PIDAutotuning.vi是為需要自整定的PID系統(tǒng)設(shè)計的,在給出一些基本要求后,具有自整定的功能。圖4。3PIDAutotuning.viPIDLead/Lag。vi可以對PID控制器前端由系統(tǒng)反饋來的輸入信號做動態(tài)補償。PIDSetpointProfile.vi可以在期望值間斷性變化時使其變得平滑。PIDControlInputFilter.vi是一個五階的低通濾波器,放在PID控制器的processvariable前端,可以濾去小于采樣率十分之一的輸入值。PIDGainSchedule。vi可以寫入幾組增益參數(shù),并給出條件,執(zhí)行時當(dāng)輸入信號達(dá)到條件,便使用對應(yīng)的一組參數(shù)給入到PID控制器的PIDGains上。PIDOutputLimiter。vi對PID控制器輸出信號的變化速率進(jìn)行控制,以保證外部接受控制信號部件的安全。PIDEGUto%.vi和PID%toEGU。vi負(fù)責(zé)對實際數(shù)值和其在設(shè)定工程單元范圍內(nèi)占的百分比進(jìn)行轉(zhuǎn)換。圖4。4構(gòu)建PID控制系統(tǒng)4.2模糊控制模塊簡介安裝NI光盤TookitSoftware中的LabVIEWPIDControlTookit,即可在LabVIEW中生成該工具包。安裝完成后打開一個新的VI,右擊程序框圖,在FunctionsPalette上選擇ControlDesign&Simulation,即可看到FuzzyLogic工具包,該工具包由3個VI組成(圖3)。安裝工具包后,可以使用LabVIEW創(chuàng)建。fc格式的文件。。fc文件是NI自定義的一種文件格式,用于仿真模糊控制器推理機中的知識庫.圖4。5FuzzyLogic工具包創(chuàng)建一個.fc文件步驟如下:打開一個新的VI,在任務(wù)欄依次點擊Tools——ControlDesignandSimulation—-FuzzyLogicControllerDesign…,接著在彈出的FuzzyLogicControllerDesign對話框的狀態(tài)欄上點擊File——New,即打開了一個新的.fc文件。圖4。6FuzzyLogicControllerDesign接著彈出一個FuzzySetEditor?qū)υ捒?,這是仿真模糊推理器中的數(shù)據(jù)庫。工程師可根據(jù)專家經(jīng)驗繪制出輸入和輸出量的隸屬函數(shù)圖,繪制完成后點擊Quit;接著彈出RulebaseEditor對話框(圖6),這是仿真模糊推理器的規(guī)則庫。工程師根據(jù)實際情況將制定好的規(guī)則寫入,完成后點擊Quit;最后點擊File——Save,給出保存位置和文件名,一個.fc文件就創(chuàng)建完成了。圖4。7FuzzySetEditor圖4.8RulebaseEditor.fc文件使用工具包FuzzyLogic中的LoadFuzzyController.vi加載,該VI加載后將數(shù)據(jù)傳送到FuzzyController。vi中。FuzzyController.vi接收輸入信號(最多可接受4維輸入),根據(jù).fc文件進(jìn)行模糊推理,并計算出合適的輸出信號值(圖7)。工具包中的另一個VI是TestFuzzyController。vi,它可以通過手動輸入算出輸出響應(yīng)值,已到達(dá)調(diào)試。fc文件中規(guī)則和隸屬度函數(shù)的目的。5下位機的設(shè)計5.1下位機設(shè)計方案下位機上,本設(shè)計采用Atmega16控制DS18B20采集溫度,并將采集到的溫度通過串口發(fā)送到上位機,以便處理。在上位機發(fā)回控制信息后,單片機將收到的信息按照一定的規(guī)則處理后,將其送入功率控制設(shè)備。此功率設(shè)備為過零型固態(tài)繼電器,在電流過零處導(dǎo)通或關(guān)斷,易于實現(xiàn)PWM的控制。5。2下位機的硬件設(shè)計硬件部分分為四個部分:主控部分、DS18B20測溫部分、通信部分、程序下載部分.5.2。1由于需要進(jìn)行串口通信,所以單片機的晶體振蕩器我們選擇用的比較多的7。3728MHz的外部晶振。圖5.1主控部分5.2.2DS18B20本來在DS18B20的數(shù)據(jù)腳上應(yīng)該接一個4。7K的上拉電阻,可是由于Atmega16中的數(shù)據(jù)腳上已經(jīng)有了內(nèi)部的上拉電阻,我們就不需要在外部再加。這樣不僅降低了成本,最大程度利用了Atmega16的強大功能,而且降低了電路的復(fù)雜性,使布線更加方便.圖5。2測溫部分5.2。3圖5。3串口通信部分5。2.4圖5.4程序下載部分5.3下位機的軟件設(shè)計系統(tǒng)模型如下PID/模糊PID/模糊控制器加熱執(zhí)行設(shè)備溫度輸出溫度輸入圖5.5下位機系統(tǒng)模型5.3.1DS18B20DS18B20的溫度檢測與數(shù)字?jǐn)?shù)據(jù)輸出全集成于一個芯片之上,從而抗干擾力更強.其一個工作周期可分為兩個部分,即溫度檢測和數(shù)據(jù)處理。在講解其工作流程之前有必要了解DS18B20的內(nèi)部存儲器資源。DS18B20共有三種形態(tài)的存儲器資源,它們分別是:ROM只讀存儲器,用于存放DS18B20ID編碼,其前8是單線系列編碼(DS18B20的編碼是19H),后面48位是芯片唯一的序列號,最后8位是以上56的位的CRC碼(冗余校驗).數(shù)據(jù)在出產(chǎn)時設(shè)置不由用戶更改。DS18B20共64位ROM.RAM數(shù)據(jù)暫存器,用于內(nèi)部計算和數(shù)據(jù)存取,數(shù)據(jù)在掉電后丟失,DS18B20共9個字節(jié)RAM,每個字節(jié)為8位。第1、2個字節(jié)是溫度轉(zhuǎn)換后的數(shù)據(jù)值信息,第3、4個字節(jié)是用戶EEPROM(常用于溫度報警值儲存)的鏡像。在上電復(fù)位時其值將被刷新。第5個字節(jié)則是用戶第3個EEPROM的鏡像。第6、7、8個字節(jié)為計數(shù)寄存器,是為了讓用戶得到更高的溫度分辨率而設(shè)計的,同樣也是內(nèi)部溫度轉(zhuǎn)換、計算的暫存單元。第9個字節(jié)為前8個字節(jié)的CRC碼。EEPROM非易失性記憶體,用于存放長期需要保存的數(shù)據(jù),上下限溫度報警值和校驗數(shù)據(jù),DS18B20共3位EEPROM,并在RAM都存在鏡像,以方便用戶操作.控制器對18B20操作流程:(1)復(fù)位:首先必須對DS18B20芯片進(jìn)行復(fù)位,復(fù)位就是由控制器(單片機)給DS18B20單總線至少480uS的低電平信號。當(dāng)18B20接到此復(fù)位信號后則會在15~60uS后回發(fā)一個芯片的存在脈沖。(2)存在脈沖:在復(fù)位電平結(jié)束之后,控制器應(yīng)該將數(shù)據(jù)單總線拉高,以便于在15~60uS后接收存在脈沖,存在脈沖為一個60~240uS的低電平信號。至此,通信雙方已經(jīng)達(dá)成了基本的協(xié)議,接下來將會是控制器與DS18B20間的數(shù)據(jù)通信。如果復(fù)位低電平的時間不足或是單總線的電路斷路都不會接到存在脈沖,在設(shè)計時要注意意外情況的處理。(3)控制器發(fā)送ROM指令:雙方打完了招呼之后最要將進(jìn)行交流了,ROM指令共有5條,每一個工作周期只能發(fā)一條,ROM指令分別是讀ROM數(shù)據(jù)、指定匹配芯片、跳躍ROM、芯片搜索、報警芯片搜索。ROM指令為8位長度,功能是對片內(nèi)的64位光刻ROM進(jìn)行操作。其主要目的是為了分辨一條總線上掛接的多個器件并作處

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論