




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
畢業設計〔論文〕題目:加熱爐多參數檢測和爐溫控制技術學院:電氣與電子信息工程學院專業名稱:應用電子技術學號:0630210110學生姓名:王有敏指導教師:胡薔2021年5月10日摘要在工業生產中,電流、電壓、溫度、壓力、流量、流速和開關量都是常用的主要被控參數。其中,溫度控制也越來越重要。在工業生產的很多領域中,人們都需要對各類加熱爐、熱處理爐、反響爐和鍋爐中的溫度進行檢測和控制。采用單片機對溫度進行控制不僅具有控制方便、簡單和靈活性大等優點,而且可以大幅度提高被控溫度的技術指標,從而能夠大大的提高產品的質量和數量。因此,單片機對溫度的控制問題是一個工業生產中經常會遇到的控制問題。
單片機是一種集CPU、RAM、ROM、I/O接口和中斷系統等局部于一體的器件,只需要外加電源和晶振就可實現對數字信息的處理和控制。因此,單片機廣泛用于現代工業控制中。
本論文側重介紹“單片機溫度控制系統〞的軟件設計及相關內容。論文的主要內容包括:采樣、濾波、鍵盤、LED顯示系統,加熱控制系統,單片機MCS-51的開發以及系統應用軟件開發等。作為控制系統中的一個典型實驗設計,單片機溫度控制系統綜合運用了微機原理、自動控制原理、模擬電子技術、數字控制技術、鍵盤顯示技術等諸多方面的知識,是對所學知識的一次綜合測試。關鍵詞:MCS-51;8051;溫度控制;PIDABSTRACT
Withscientificconstantprogress,inindustrialproduction,electriccurrent,voltage,temperature,pressurearemainlycommonlyused.especiallyintheheattreatmentindustry,theaccuratetestandcontrollingoftemperatureisveryimportant.Inalotoffields,forexample:Inmetallurgicalindustry,chemicalproduction,powerengineering,machinemanufactures,foodprocessing,familyandindustryheatetc.peopleneedtoheatingfurnace,heat-treatmentfurnaceandallkindsofresponsestoveandboilertemperaturemeasureandcontrol,throughsoftwaredesign,toreachtheintelligentcontrolfinallyandrealizetheinteractivefunction.
AdoptSingle-ChipMicrocomputerisitcontrolconvenient,simple,flexibilityadvantagesuchasbeingheavytohavenotmerelytocontroltogoontotemperaturetocome,andcanraisebytechnicalindicatornottoaccuseoftemperaturebyalargemargin,thuscanbigimprovementqualityandthequantityofproducts.SothecontrolproblemtothetemperatureofSingle-ChipMicrocomputeristhecontrolproblemconstantlybeabletoencounterintheindustrymanufacture.
Thisthesisintroducesthedesignanddebuggingof“thetemperaturecontrolsystembymicrocomputer〞.Asatypicalexperimentaldesignincontrolsystem,itusesmuchcontrolknowledgeandcomprehensivelytestsstudent’sabilityincontrolsystem.
Thecontentofthisthesismainlyincludes:introduces,filteringware,keyboard,man-computerdialoguesupportedbyLEDindication,heatcontrolmethod,thedevelopmentofmicro-computerMCS-51andsystemicappliedsoftware.Keywords:MCS-51,8051,temperaturecontrol,PID
目錄
第一章緒論…………………1
1.1概述……………………1
1.2課題分析………………1
1.3設計思路………………2
第二章MCS-51單片機的根本知識………4
2.1MCS-51單片機的結構…………………4
2.28051存儲器配置………5
2.3定時器及其應用………8
2.4本章小結………………9
第三章采樣與濾波………10
3.1采樣……………………10
3.1.1ADC0809的主要功能……………10
3.1.2逐次逼近式轉換原理……………11
3.2數字濾波………………11
3.2.1硬件濾波器………11
3.2.2數字濾波器………12
3.3可控硅…………………14
3.3.1可控硅的結構……………………14
3.3.2可控硅的根本特性………………14
3.4本章小結………………15
第四章控制系統的算法…………………16
4.1PID控制的離散化……………………16
4.2PID位置式算法………17
4.3PID的增量式算法……………………18
4.4PID算法的改良………18
4.4.1積分別離PID控制算法……………19
4.4.2不完全微分PID算法………………20
4.4.3微分先行PID算法…………………21
4.4.4帶死區的PID控制…………………22
4.5PID控制器的參數整定………………22
4.6Smith預估器的補償原理……………26
4.7數字Smith預估系統…………………28
4.8本章小結………………30
第五章系統程序設計………31
5.1主程序…………………31
5.2鍵盤掃描及顯示程序…………………32
5.3T0中斷效勞程序………33
5.4子程序…………………34
5.4.1采樣子程序SAMP……………………34
5.4.2數字濾波子程序FILTER…………36
5.4.3
PID計算子程序…………………36
………………37硬件調試……………37軟件調試……………385.6本章小結………………39
結束語……………40
參考文獻……………41
致
謝……………42第一章緒論
1.1概述
隨著現代工業的逐步開展,在工業生產中,溫度、壓力、流量和液位是四種最常見的過程變量。其中,溫度是一個非常重要的過程變量。例如:在冶金工業、化工工業、電力工業、機械加工和食品加工等許多領域,都需要對各種加熱爐、熱處理爐、反響爐和鍋爐的溫度進行控制。然而,用常規的控制方法,潛力是有限的,難以滿足較高的性能要求。采用單片機來對它們進行控制不僅具有控制方便、簡單和靈活性大的優點,而且可以大幅度提高被測溫度的技術指標,從而能夠大大提高產品的質量和數量。因此,單片機對溫度的控制問題是一個工業生產中經常會遇到的控制問題。
1.2課題分析
單片機溫度控制系統,是利用單片機作為系統的主控制器,測量電路中的溫度反響信號經A/D變換后,送入單片機中進行處理,經過一定的算法后,單片機的輸出用來控制可控硅的通斷,控制加熱爐的輸出功率,從而實現對溫度的控制。
本單片機溫度控制系統的具體指標要求是,對加熱器加熱溫度調整范圍為600℃—1000℃,溫度控制精度小于3℃,系統的超調量須小于15%。軟件設計須能進行人機對話,考慮到本系統控制對象為電爐,是一個大延遲環節,且溫度調節范圍較寬,所以本系統對過渡過程時間不予要求。
單片機是一種集CPU、RAM、ROM、I/O接口和中斷系統于一體的器件,只需要外加電源和晶振就可以實現對數字信號的處理和控制。本設計運用MCS-51系列單片集中的8051單片機為主控制器,對加熱爐的溫度進行智能化控制,最終通過軟件設計來實現人機對話功能,實現對加熱爐的溫度控制。
本論文主要介紹單片機溫度控制系統,內容主要包括:采樣、濾波、鍵盤顯示、加熱控制系統,單片機MCS-51的開發及系統應用軟件的開發等。全文共分五章。第一章緒論介紹課題背景、目的、意義及設計的總體思路。第二章介紹主控電路核心局部MCS-51單片機8051的根本結構和配置。第三章介紹A/D采樣技術和數字濾波技術。第四章介紹以PID為主的溫度控制算法及系統加熱控制系統。第五章主要是系統軟件編程。
1.3設計思路
根據系統具體指標要求,可以對每一個具體局部進行分析設計。整個控制系統分為硬件電路設計和軟件程序設計兩局部。
硬件電路見附錄Ⅱ。分析硬件電路主要包括:加熱及控制電路局部,數據采集和模/數〔A/D〕轉換處理局部,鍵盤和顯示器局部,單片機與各局部的接口處理局部。這些可用一個方框圖來表示,如圖1-1所示,顯然,這是一個典型的單反響控制系統。圖1-1
單片機溫度控制系統框圖
從框圖上我們可以看出,整個系統也可劃分為控制電路局部、加熱電路局部和測量電路三局部??刂齐娐肥怯蓡纹瑱C來處理給定信號和反響信號,發出相應的指令來控制可控硅,是系統的核心。8051對溫度的控制是通過可控硅調功能電路實現的。在給定的周期T內,8051只要改變可控硅管的接通時間便可改變加熱絲的功率,從而到達調節溫度的目的。而可控硅的接通時間可以通過可控硅極上觸發脈沖控制。該觸發脈沖由8051用軟件在P1.3引腳上產生,受過零同步脈沖同步后經光耦合管和驅動管輸出送到可控硅的控制極上。過零同步脈沖是一種50HZ交流電壓過零時刻的脈沖,可使可控硅在交流電壓正弦波過零時觸發導通。該脈沖一方面作為可控硅的觸發同步脈沖加到控制電路中,另一方面還作為計數脈沖加到8051的T0和T1端。
加熱電路用來實現對系統的升溫加熱到達預定的溫度。當溫度沒有到達要求,控制電路利用雙向可控硅的通斷特性來決定加熱電路的通電與斷電。
測量電路功能為將測量到的信號經過處理變成數字信號送入單片機中進行處理。主要由溫度檢測和變送器組成。
溫度檢測元件和變送器的類型選擇和被控溫度及精度等級有關。鎳絡/鎳鋁熱電偶〔﹣200℃~﹢1000℃〕適用于0℃—1000℃的溫度測量范圍,相應輸出電壓為0mV—41.32mV。
變送器由毫伏變送器和電流/電壓變送器組成:毫伏變送器用于把熱點偶輸出的0mV—41.32mV變換成0mA—10mA范圍內的電流;電流/電壓變送器用于把毫伏變送器輸出的0mA—10mA電流變換成0V—5V范圍內的電壓。為了提高測量精度,變送器可以進行零點漂移。
本次設計的溫度控制范圍為600℃~1000℃之間,溫度誤差要求在3℃左右,系統超調量不超過15%,采用8位轉換器ADC0809就可以使溫度誤差保持在±2.34℃以內,滿足設計要求。
除上述電路,8051還要有8155﹑2732﹑和ADC0809等芯片接口電路。其中8155用于鍵盤/LED顯示器接口,2732可以作為8051的外部ROM存儲器,ADC0809為溫度測量電路的輸入接口,用于把連續變化的信號進行離散化。最終再通過控制電路中的鍵盤顯示器電路實現人機對話功能。軟件設計主要由溫度控制的算法和溫度控制程序組成。軟件設計主要為控制器局部,即溫度控制系統,采用PID算法,其原理是先求出實測爐溫對所需爐溫的偏差值,而后對偏差值處理而獲得控制信號去調節加熱爐的加熱功率,以實現對爐溫的控制。PID根本可滿足系統要求。
程序設計是本次設計的核心局部。整個程序包括管理程序和控制程序兩局部。管理程序是對顯示LED進行動態刷新,控制指示燈,處理鍵盤的掃描和響應,進行掉電保護,執行中斷效勞程序等。控制程序是用來對被控進行采樣,數據處理,根據控制算法進行計算和輸出等。第二章MCS-51單片機的根本知識AT89C2051單片機簡介AT89C2051是美國ATMEI公司生產的低電壓,高性能的8位單片機,片內含2kbytes的可反復電擦除FLASH程序存器和128bytes的隨機存取的數據存儲器RAM。器件采用ATMEI公司高密度、非易失性存儲技術生產,與標準的MCS-51指令系統及產品引腳兼容,但去除了P0口、P2口和ALE、、、引腳,所以不能并行擴展總線,為非總線型單片機。其主要的內部資源有:●與MCS-51產品指令和引腳完全兼容●2k字節可重擦寫FLASH閃速存儲器●全靜態操作:0—24MHZ●2級加密程序存儲器●128×8字節內部RAM●2個精密模擬比擬器●15個可編程I/O口線●2個16位定時/計數器●5個中斷源●1個可編程串行UART通道●低功耗空閑和掉電模式AT89C2051的引腳圖如圖3-1所示,其引腳定義如下:圖3-1圖3-1AT89C52引腳圖2、GND:接地。3、P1口:P1口是一個8位雙向I/O口。其中P1.0、P1.1是片內精密模擬比擬器的同相輸入端和反向輸入端,P3.6固定用于該比擬器的輸出端〔P3.6對外無引腳,不可作I/O口訪問〕。當不用該模擬比擬器時,P1.0、P1.1經外接上拉電阻后,也可作為普通I/O口使用。P1.2~P1.7為普通I/O口,內部已接上拉電阻。4、P3口:P3口是一組帶有內部上拉電阻的8位雙向I/O口。但由于P3.6口固定用作片內精密模擬比擬器的輸出端,對外無引腳,所以真正可作為I/O口用的只有7個。除了作為一般的I/O口外,更重要的用途是它的第二功能,如下所示:端口引腳第二功能RXD〔串行輸入口〕TXD〔串行輸出口〕INT0〔外中斷0〕INT1〔外中斷1〕T0〔定時/計數器0〕T1〔定時/計數器1〕5、RST:復位輸入,當振蕩器工作時,RST引腳出現兩個周期以上高電平將使單片機復位。6、XTAL1、XTAL2:晶體振蕩電路反相輸入端和輸出端。使用內部振蕩電路時外接石英晶體;外振蕩輸入時,XTAL1接地,XTAL2接外部振蕩脈沖。單片機系統結構
單片機是由運算器、控制器、存儲器、輸入設備以及輸出設備共五個根本局部組成的。單片機是把包括運算器、控制器、少量的存儲器、最根本的輸入輸出口電路、串行口電路、中斷和定時電路等都集成在一個尺寸有限的芯片上。
MCS-51單片機芯片內部邏輯結構
通過MCS-51單片機內部的邏輯結構圖掌握單片機內部的邏輯結構及各個部件的功能與特點。即:
中央處理器〔CPU〕、內部數據存儲器、內部程序存儲器、定時器/計數器、并行I/O口、串行口、中斷控制系統、時鐘電路、位處理器、總線。
MCS-51單片機的內部存儲器
MCS-51單片機芯片內部有數據存儲器和程序存儲器兩類存儲器,即所謂的內部RAM和內部ROM。同學重點要掌握內部數據存儲器的結構、用途、地址分配和使用特點。
一是內部數據存儲器的低128單元,它包括了存放器區、位尋址區、用戶RAM區,要掌握這些單元的地址分配、作用等。
二是內部數據存儲器高128單元,這是為專用存放器提供的,地址范圍為80H~FFH。所謂專用存放器是區別于通用存放器而言的,即這些存放器的功能或用途已作了專門的規定,用于存放單片機相應部件的控制命令、狀態或數據等。在這些專用存放器中,重點要掌握以下存放器的使用:
程序計數器、累加器A、B存放器、程序狀態字〔PSW〕、數據指針〔DPTR〕。
MCS-51的堆棧操作:堆棧是計算機的重要概念,要掌握以下幾方面:
1.堆棧的功用
2.堆棧的設置
3.堆棧指示器
4.堆棧使用方式
內部程序存儲器
80C51芯片內有4KROM存儲單元,其地址為0000H~0FFFH,這就是我們所說的內部程序存儲器〔或簡稱“內部ROM〞〕。無論是片內或是片外存儲器〔對于無片內ROM的單片機〕,在程序存儲器中有一組特殊的保存單元0000H~002AH,使用時應特別注意。
系統的啟動單元:0000H~0002H
五個中斷源的中斷地址區:0003H~002AH
0003H~000AH外部中斷0中斷地址區
000BH~0012H定時器/計數器0中斷地址區
0013H~001AH外部中斷1中斷地址區
001BH~0022H定時器/計數器1中斷地址區
0023H~002AH串行中斷地址區
中斷響應后,系統能按中斷種類,自動轉到各中斷區的首地址去執行程序。因此在中斷地址區中本應存放中斷效勞程序。但通常情況下,8個單元難以存下一個完整的中斷效勞程序,因此一般也是從中斷地址區首地址開始存放一條無條件轉移指令,以便中斷響應后,通過中斷地址區,再轉到中斷效勞程序的實際入口地址去。MCS-51單片機系統的存儲器結構特點
單片機的存儲器結構有兩個重要的特點:一是把數據存儲器和程序存儲器截然分開,二是存儲器有內外之分。總的來說,由芯片內存儲器和芯片外擴展存儲器構成了單片機應用系統的整個存儲器系統。
MCS-51單片機并行輸入/輸出口電路
單片機芯片內還有一項重要內容就是并行I/O口電路。MCS-51共有四個8位的并行雙向I/O口,分別記作P0、P1、P2、P3,實際上它們已被歸入專用存放器之列。這四個口除了按字節尋址之外,還可以按位尋址,四個口合在一起共有32位。
在單片機中,口是一個集數據輸入緩沖、數據輸出驅動及鎖存等多項功能于一體的I/O電路。MCS-51的四個口在電路結構上是根本相同的,但它們又各具特點,因此在功能和使用上各口之間有一定的差異。在學習中必須要掌握各個口的用途。
MCS-51單片機時鐘電路與時序
時鐘電路用于產生單片機工作所需要的時鐘信號,單片機本身就是一個復雜的同步時序電路,為了保證同步工作方式的實現,電路應在唯一的時鐘信號控制下嚴格地按時序進行工作。而時序所研究的那么是指令執行中各信號之間的相互時間關系。
要理解時鐘電路的產生與作用,能根據外部所參加的晶體的振蕩頻率計算時序的定時單位。
1.MCS-51的外部晶體的振蕩頻率范圍:1.2MHz~12MHz,
2.MCS-51時序的定時單位共有4個,依次是:拍節、狀態、機器周期和指令周期。第三章采樣和濾波數字濾波器(digitalfilter)是由數字乘法器、加法器和延時單元組成的一種裝置。其功能是對輸入離散信號的數字代碼進行運算處理,以到達改變信號頻譜的目的。由于電子計算機技術和大規模集成電路的開展,數字濾波器已可用計算機軟件實現,也可用大規模集成數字硬件實時實現。數字濾波器是一個離散時間系統〔按預定的算法,將輸入離散時間信號轉換為所要求的輸出離散時間信號的特定功能裝置〕。應用數字濾波器處理模擬信號時,首先須對輸入模擬信號進行限帶、抽樣和模數轉換。數字濾波器輸入信號的抽樣率應大于被處理信號帶寬的兩倍,其頻率響應具有以抽樣頻率為間隔的周期重復特性,且以折疊頻率即1/2抽樣頻率點呈鏡像對稱。為得到模擬信號,數字濾波器處理的輸出數字信號須經數模轉換、平滑。數字濾波器具有高精度、高可靠性、可程控改變特性或復用、便于集成等優點。數字濾波器在語言信號處理、圖像信號處理、醫學生物信號處理以及其他應用領域都得到了廣泛應用。數字濾波器有低通、高通、帶通、帶阻和全通等類型。它可以是時不變的或時變的、因果的或非因果的、線性的或非線性的。應用最廣的是線性、時不變數字濾波器.通帶和阻帶間給出了一個過渡帶,以使幅度平滑地從通帶下降到阻帶
在通帶內:1-δp≤|G(ejω)|≤1+δp
|ω|≤ωp
在阻帶內:|G(ejω)|≤δs
ωs≤|ω|≤π
頻率ωp稱為通帶截止頻率
頻率ωs稱為阻帶截止頻率
δp和δs稱為峰波紋值
在0~π間討論問題
數字濾波器的頻率響應G(ejω)是ω的周期函數
實系數數字濾波的幅度響應是ω的偶函數
因此可以在0≤ω≤π內討論數字濾波器即可
峰值通帶波紋αp和最小阻帶衰減αs一、硬件系統介紹1.1系統框圖
系統硬件框圖如圖2.1所示。主要由A/D轉換、FPGA、存儲器和D/A轉換四局部組成。1.2局部芯片介紹一個電路的性能與元器件的選擇是密切相關的,下面將從控制芯片、存儲器、A/D轉換和D/A轉換四個方面介紹系統硬件設計。數字信號處理芯片,我們選用采用Xilinx公司的XC2S50型號的FPGA芯片。用FPGA進行數據采集存儲的有以下優點:〔1〕FPGA采取有多少數據轉換芯片用多少控制單元模塊的策略,功能控制模塊與數據轉換芯片是一一對應的關系,在硬件上保證了數據采集的完全并行性;〔2〕XC2S50芯片內有RAM塊,可以設計為數據緩沖,方便解決數據流阻塞的問題;〔3〕FPGA芯片讀寫速度較高,在采集和存儲速度都上不會存在任何問題;〔4〕FPGA的設計采用在線編程的方式進行,修改和調試都相當快捷、方便;〔5〕FPGA的外圍電路除了一塊配置芯片外,不再需要其他任何外圍器件,集成度高,可靠性強。對于A/D和D/A轉換芯片,我們選用高精度的16位轉換芯片ADS8402和MAX5631,有利于提高所測數據的精度。1.3硬件工作過程傳感器采集的模擬信號,經過ADS8402芯片以后轉換為數字信號,將數字信號輸入FPGA芯片中,FPGA芯片采用IIR數字濾波算法對輸入信號進行處理,將處理后的信號一方面可以通過數字接口進行傳輸,另一方面可以經AD變換以模擬量的形式輸出,通過前后輸出和輸入信號的比照,我們就可以直觀的分析濾波效果。二、
IIR數字濾波器的原理和設計數字濾波器是實現數字濾波的核心器件,按類型分為2大類:無限沖激響應IIR和有限沖激響應FIR數字濾波器。IIR數字濾波器在很多領域中有著廣闊的應用前景,與FIR數字濾波器相比,它可以用較低的階數獲得高選擇性,所要求的階用存儲單元少,且本錢低、信號延遲小,同時還可以利用模擬濾波器設計成果,設計工作量相對較小。2.1
IIR數字濾波器的結構高階IIR濾波器可通過傳遞函數,表示為:
(3.1-1)由于高階IIR濾波器可以用假設干個二階網絡級聯起來構成。對于每一個二階根本節,它可以用轉置直接II型結構加以實現,如圖3.1所示。
圖3.1標準二階局部的轉換2.2
濾波器系數的計算該系統的設計指標為:模擬信號采樣頻率為2MHZ,每周期最少采樣20點,即模擬信號的通帶邊緣頻率為fp=100KHZ,阻帶邊緣頻率fs=1MHz,通帶波動RP不大于0.1dB〔通帶誤差不大于5%〕,阻帶衰減AS不小于32dB。本系統函數H(z)的計算采用MATLAB軟件中數字信號處理工具箱比擬方便,其中有兩個現成的函數可以使用:ellipord〔Fp/π,Fs/π,Rp,As〕函數用來計算數字橢圓濾波器的階次N和3dB截止頻率Fn,而ellip〔N,Rp,As,Fn〕函數可以求得直接型橢圓IIR濾波器的各個系數。利用MATLAB軟件進行計算,可得:b=〔0.0271
-0.0724
0.0984
-0.0724
0.0271〕,a=〔1.0000
-3.3553
4.3439
-2.5578
0.5771〕。通過調用以上兩個函數計算得到的系統函數:
〔2.2-1〕
上面的式子是直接型結構,它的實現需用的乘法器和延遲單元相對較多,而且分子和分母的系數相差較大,需要較多的二進制位數才能實現相應的精度要求。如果采用二階節級聯實現,一來各個根本節的零點、極點可以很方便地單獨進行調整,二來可以降低對二進制數位數的要求。下面給出了一個直接型結構轉為級聯型結構的文件,即利用[b0,b,a]=dir2cas(b,a),可得b0=0.0271。對該系數進行合理安排后可得式〔3.2-2〕:為了使設計簡便以及資源得充分利用,我們應該對系數進行進一步的量化,將系數由小數轉化為整數,根據需要主要考慮量化精度和系統資源兩方面,將二階網絡的系數同時擴大N倍后作為新的系數,然后再將輸出網絡的系數縮小N倍,并用二進制數進行表示圖1可控硅等效圖解圖當陽極A加上正向電壓時,BG1和BG2管均處于放大狀態。此時,如果從控制極G輸入一個正向觸發信號,BG2便有基流ib2流過,經BG2放大,其集電極電流ic2=β2ib2。因為BG2的集電極直接與BG1的基極相連,所以ib1=ic2。此時,電流ic2再經BG1放大,于是BG1的集電極電流ic1=β1ib1=β1β2ib2。這個電流又流回到BG2的基極,表成正反響,使ib2不斷增大,如此正向饋循環的結果,兩個管子的電流劇增,可控硅使飽和導通。由于BG1和BG2所構成的正反響作用,所以一旦可控硅導通后,即使控制極G的電流消失了,可控硅仍然能夠維持導通狀態,由于觸發信號只起觸發作用,沒有關斷功能,所以這種可控硅是不可關斷的。由于可控硅只有導通和關斷兩種工作狀態,所以它具有開關特性,這種特性需要一定的條件才能轉化,此條件見表1表1可控硅導通和關斷條件狀態條件說明從關斷到導通1、陽極電位高于是陰極電位
2、控制極有足夠的正向電壓和電流兩者缺一不可維持導通1、陽極電位高于陰極電位
2、陽極電流大于維持電流
兩者缺一不可從導通到關斷1、陽極電位低于陰極電位
2、陽極電流小于維持電流任一條件即可
2、根本伏安特性可控硅的根本伏安特性見圖2
圖2可控硅根本伏安特性
〔1〕反向特性當控制極開路,陽極加上反向電壓時〔見圖3〕,J2結正偏,但J1、J2結反偏。此時只能流過很小的反向飽和電流,當電壓進一步提高到J1結的雪崩擊穿電壓后,接差J3結也擊穿,電流迅速增加,圖3的特性開始彎曲,如特性OR段所示,彎曲處的電壓URO叫“反向轉折電壓〞。此時,可控硅會發生永久性反向擊穿。圖3陽極加反向電壓〔2〕正向特性當控制極開路,陽極上加上正向電壓時〔見圖4〕,J1、J3結正偏,但J2結反偏,這與普通PN結的反向特性相似,也只能流過很小電流,這叫正向阻斷狀態,當電壓增加,圖3的特性發生了彎曲,如特性OA段所示,彎曲處的是UBO叫:正向轉折電壓圖4陽極加正向電壓由于電壓升高到J2結的雪崩擊穿電壓后,J2結發生雪崩倍增效應,在結區產生大量的電子和空穴,電子時入N1區,空穴時入P2區。進入N1區的電子與由P1區通過J1結注入N1區的空穴復合,同樣,進入P2區的空穴與由N2區通過J3結注入P2區的電子復合,雪崩擊穿,進入N1區的電子與進入P2區的空穴各自不能全部復合掉,這樣,在N1區就有電子積累,在P2區就有空穴積累,結果使P2區的電位升高,N1區的電位下降,J2結變成正偏,只要電流稍增加,電壓便迅速下降,出現所謂負阻特性,見圖3的虛線AB段。這時J1、J2、J3三個結均處于正偏,可控硅便進入正向導電狀態---通態,此時,它的特性與普通的PN結正向特性相似,見圖2中的BC段3、觸發導通在控制極G上參加正向電壓時〔見圖5〕因J3正偏,P2區的空穴時入N2區,N2區的電子進入P2區,形成觸發電流IGT。在可控硅的內部正反響作用〔見圖2〕的根底上,加上IGT的作用,使可控硅提前導通,導致圖3的伏安特性OA段左移,IGT越大,特性左移越快。第四章控制系統的算法用最為廣泛的調節器控制規律為比例、積分、微分控制,簡稱PID控制,又稱PID調節。PID控制器問世至今已有近70年歷史,它以其結構簡單、穩定性好、工作可靠、調整方便而成為工業控制的主要技術一。當被控對象的結構和參數不能完全掌握,或得不到精確的數學模型時,控制理論的其他技術難以采用時,系統控制器的結構和參數必須依靠經驗和現場調試來確定,這時應用PID控制技術最為方便。即當我們不完全了解一個系統和被控對象﹐或不能通過有效的測量手段來獲得系統參數時,最適合用PID控制技術。PID控制,實際中也有PI和PD控制。PID控制器就是根據系統的誤差,利用比例、積分、微分計算出控制量進行控制的。比例〔P〕控制:比例控制是一種最簡單的控制方式。其控制器的輸出與輸入誤差信號成比例關系。當僅有比例控制時系統輸出存在穩態誤差〔Steady-stateerror〕。比例調節作用:是按比例反響系統的偏差,系統一旦出現了偏差,比例調節立即產生調節作用用以減少偏差。比例作用大,可以加快調節,減少誤差,但是過大的比例,使系統的穩定性下降,甚至造成系統的不穩定。積分〔I〕控制:在積分控制中,控制器的輸出與輸入誤差信號的積分成正比關系。對一個自動控制系統,如果在進入穩態后存在穩態誤差,那么稱這個控制系統是有穩態誤差的或簡稱有差系統〔SystemwithSteady-stateError〕。為了消除穩態誤差,在控制器中必須引入“積分項〞。積分項對誤差取決于時間的積分,隨著時間的增加,積分項會增大。這樣,即便誤差很小,積分項也會隨著時間的增加而加大,它推動控制器的輸出增大使穩態誤差進一步減小,直到等于零。因此,比例+積分(PI)控制器,可以使系統在進入穩態后無穩態誤差。積分調節作用:是使系統消除穩態誤差,提高無差度。因為有誤差,積分調節就進行,直至無差,積分調節停止,積分調節輸出一常值。積分作用的強弱取決與積分時間常數Ti,Ti越小,積分作用就越強。反之Ti大那么積分作用弱,參加積分調節可使系統穩定性下降,動態響應變慢。積分作用常與另兩種調節規律結合,組成PI調節器或PID調節器。微分〔D〕控制:在微分控制中,控制器的輸出與輸入誤差信號的微分〔即誤差的變化率〕成正比關系。自動控制系統在克服誤差的調節過程中可能會出現振蕩甚至失穩。其原因是由于存在有較大慣性組件〔環節〕或有滯后(delay)組件,具有抑制誤差的作用,其變化總是落后于誤差的變化。解決的方法是使抑制誤差的作用的變化“超前〞,即在誤差接近零時,抑制誤差的作用就應該是零。這就是說,在控制器中僅引入“比例〞項往往是不夠的,比例項的作用僅是放大誤差的幅值,而目前需要增加的是“項〞,它能預測誤差變化的趨勢,這樣,具有比例+微分的控制器,就能夠提前使抑制誤差的控制作用等于零,甚至為負值,從而防止了被控量的嚴重超調。所以對有較大慣性或滯后的被控對象,比例+微分(PD)控制器能改善系統在調節過程中的動態特性。微分調節作用:微分作用反映系統偏差信號的變化率,具有預見性,能預見偏差變化的趨勢,因此能產生超前的控制作用,在偏差還沒有形成之前,已被微分調節作用消除。因此,可以改善系統的動態性能。在微分時間選擇適宜情況下,可以減少超調,減少調節時間。微分作用對噪聲干擾有放大作用,因此過強的加微分調節,對系統抗干擾不利。此外,微分反響的是變化率,而當輸入沒有變化時,微分作用輸出為零。微分作用不能單獨使用,需要與另外兩種調節規律相結合,組成PD或PID控制器5、PID控制器的參數整定PID控制器的參數整定是控制系統設計的核心內容。它是根據被控過程的特性確定PID控制器的比例系數、積分時間和微分時間的大小。PID控制器參數整定的方法很多,概括起來有兩大類:一是理論計算整定法。它主要是依據系統的數學模型,經過理論計算確定控制器參數。這種方法所得到的計算數據未必可以直接用,還必須通過工程實際進行調整和修改。二是工程整定方法,它主要依賴工程經驗,直接在控制系統的試驗中進行,且方法簡單、易于掌握,在工程實際中被廣泛采用。PID控制器參數的工程整定方法,主要有臨界比例法、反響曲線法和衰減法。三種方法各有其特點,其共同點都是通過試驗,然后按照工程經驗公式對控制器參數進行整定。但無論采用哪一種方法所得到的控制器參數,都需要在實際運行中進行最后調整與完善?,F在一般采用的是臨界比例法。利用該方法進行PID控制器參數的整定步驟如下:(1)首先預選擇一個足夠短的采樣周期讓系統工作;(2)僅參加比例控制環節,直到系統對輸入的階躍響應出現臨界振蕩,記下這時的比例放大系數和臨界振蕩周期;(3)在一定的控制度下通過公式計算得到PID控制器的參數。在電子數字計算機直接數字控制系統中,PID控制器是通過計算機PID控制算法程序實現的。計算機直接數字控制系統大多數是采樣-數據控制系統。進入計算機的連續-時間信號,必須經過采樣和整量化后,變成數字量,方能進入計算機的存貯器和存放器,而在數字計算機中的計算和處理,不管是積分還是微分,只能用數值計算去逼近。
在數字計算機中,PID控制規律的實現,也必須用數值逼近的方法。當采樣周期相當短時,用求和代替積分,用差商代替微商,使PID算法離散化,將描述連續-時間PID算法的微分方程,變為描述離散-時間PID算法的差分方程。位置式PID控制算法考慮式〔3-4〕,用矩形積分時,有
(3-5)用差分代替微分
(3-6)將式〔3一5〕、〔3一6〕代入式〔3一4〕,PID算法變為
(3-7)或
式中
u
0——控制量的基值,即k=0時的控制;
u〔k〕——第k個采樣時刻的控制;KP——比例放大系數;
KI——積分放大系數;
KD——微分放大系數;
TS——采樣周期。
式〔3-7〕是數字PID算法的非遞推形式,稱全量算法。算法中,為了求和,必須將系統偏差的全部過去值e〔j〕〔j=1,2,3,...,k〕都存儲起來。這種算法得出控制量的全量輸出u〔k〕,是控制量的絕對數值。在控制系統中,這種控制量確定了執行機構的位置,例如在閥門控制中,這種算法的輸出對應了閥門的位置〔開度〕。所以,將這種算法稱為“位置算法〞。增量式PID控制算法
當執行機構需要的不是控制量的絕對值,而是控制量的增量〔例如去驅動步進電動機〕時,需要用PID的“增量算法〞。
由位置算法求出再求出兩式相減,得出控制量的增量算法
〔3-8〕式(3-8)稱為增量式PID算法。
對增量式PID算法〔3-8〕歸并后,得
(3-9)其中〔3-9〕已看不出是PID的表達式了,也看不出P、I、D作用的直接關系,只表示了各次誤差量對控制作用的影響。從式〔3-9〕看出,數字增量式PID算法,只要貯存最近的三個誤差采樣值e〔k〕、e〔k-1〕、e〔k-2〕就足夠了。圖3-3表示了增量式PID控制算法的流程圖。飽和特性和改良算法
實際的控制系統中,存在著飽和特性。當控制變量到達一定值后,系統的輸出變量不再增長,系統進入飽和區。這就要求系統的控制變量必須限制在某個范圍之內,即有時候,對控制量的變化率也有限制
假設計算得之控制量超出了上述范圍,系統實際執行的不是控制量的計算值,而是控制量的最值〔或〕,控制達不到預期的效果,甚至引起振蕩。這種現象在開工、停工或大幅度改變給定值的情況下尤其容易發生,此時需要改良算法。1引言交流電動機伺服驅動系統由于其結構簡單、易于維護的優點逐漸成為現代產業的根底。其中交流伺服系統在機器人與操作機械手的關節驅動以及精密數控機床等方面得到越來越廣泛的應用。交流伺服系統由交流電動機組成,交流電動機的數字模型不是簡單的線性模型,而具有非線性、時變、耦合等特點,用傳統的基于對象模型的控制方法難以進行有效的控制。對于交流伺服系統的性能,一方面要求快速跟蹤性能好,即要求系統對輸入信號的響應快,跟蹤誤差小,過渡時間短,且無超調或超調小,振蕩次數少。另一方面,要求穩態精度高,即系統穩態誤差小,定位精度高。在交流伺服控制中,常規控制方法普遍是以PID控制為根底,然而單純的PID控制存在超調量大,調節時間長,控制效率低等缺點,而且其參數的選取比擬困難。在普通的PID控制中,積分環節的作用是消除靜態誤差,提高系統的控制精度。如果在誤差較大的初始階段引入積分環節,會造成PID的積分累積,從而引起系統較大的超調。因此,本文針對PID控制的特點,設計了一種積分別離的控制方法,即當系統誤差較大時,取消積分環節,防止由于積分累積引起系統較大的超調;當系統誤差較小時,引入積分環節,以消除誤差,提高控制精度。將這種積分別離PID控制應用于交流伺服系統的位置實時控制,從而使控制過程的靜態、動態性能指標較為理想。2系統結構設計
積分別離PID控制交流伺服系統結構如圖1所示。圖中θd為給定角位移,θ為電機轉軸的實際角位移,e為θd和θ進行比擬而得到的偏差,那么有:
圖1中,u為PID控制的轉速期望值;ωd為期望電機轉速;ω為實際電機轉速;ωd與ω的偏差經過轉速調節器產生期望的電機電磁轉矩Td由于內環的缺乏可由外環控制來彌補,所以轉速調節器采用一般的PI調節器即可,而電機的電磁轉矩控制那么采用直接轉矩控制方法。
3積分別離PID控制器PID控制是一種技術成熟、應用廣泛的控制方法,其結構簡單,而且對大多數過程均有較好的控制效果。其離散PID控制規律為:
式中,u〔k〕為k時刻控制器的輸出量;KP,KI,KD分別為比例系數,積分系數和微分系數;e〔K〕為當前時刻的交流伺服系統的位置與期望值之差;e〔k-1〕為上次采樣時刻的交流伺服系統的位置與期望值之差。由式〔2〕可得到控制器輸出第k個周期時刻的控制量u〔k〕和第k-1個周期時刻的控制量u〔k-1〕之間的增量為:
在PID控制中,積分環節的作用是消除靜態誤差,提高系統的控制精度。如果在誤差較大的初始階段引入積分環節,會造成:PID的積分累積,從而引起系統較大的超調。因此,本文針對PID控制的特點,設計了一種積分別離的控制方法,積分別離PID控制算法的程序框圖如圖2所示。
當系統誤差較大時,取消積分環節,采用PD控制,防止由于積分累積引起系統較大的超調;當系統誤差較小時,引入積分環節,采用PID控制,以消除誤差,提高控制精度。即:
式中,ε>0為人為設定的閾值。積分別離控制算法可表示為:
式中,T為采樣時間,a為積分項的開關系數,即:
4實驗研究用于實驗的交流電機參數為Pn=2.2kW,Un=220V,In=5A,nn=1440r/min,r1=2.91Ω,r2=3.04Ω,Is=0.45694H,Ir=0.45694H,Im=O.44427H,Ten=14N。
通過實驗說明,積分別離PID控制充分發揮了PID控制調節精度高的優點,提高了系統的控制精度。
5結語
本文提出了一種基于積分別離PID控制的交流伺服系統,在系統誤差較大時,取消積分環節;當誤差較小時,引入積分環節,從而使系統的靜態和動態性能指標較為理想。這種控制方法提高了系統的精度。仿真實驗結果說明,該控制器具有很好的動靜態性能,是一種行之有效的控制器。實際的控制系統中,存在著飽和特性。當控制變量到達一定值后,系統的輸出變量不再增長,系統進入飽和區。這就要求系統的控制變量必須限制在某個范圍之內,即有時候,對控制量的變化率也有限制
假設計算得之控制量超出了上述范圍,系統實際執行的不是控制量的計算值,而是控制量的最值〔或〕,控制達不到預期的效果,甚至引起振蕩。這種現象在開工、停工或大幅度改變給定值的情況下尤其容易發生,此時需要改良算法。PID算法的飽和及其抑制位置算法的積分PID位置算法中,“飽和〞主要由積分項引起,稱為“積分飽和〞。要克服“積分飽和〞,關鍵是限制積分作用,使積分積累不能過大。下面介紹常用的方法。積分別離法
積分別離法是在誤差量較大時,不進行積分,直至誤差到達一定值之后,才在控制量的計算中參加積分累積。算法為
〔3-15〕其中
為門限值,見圖3-5所示。
用積分別離的改良算法效果較好,
程序簡單,程序框圖如圖3-6所示。根本思想是,當控制進入飽和區以后,便不再進行積分項的累加,而只執行削弱積分的運算。這種算法可以防止控制量長時間停留在飽和區。
這種方法是將實際執行的控制量對應的誤差值作為有效誤差值,進行積分累加,而不用實際的誤差值進行積分累加。增量算法的比例與微分
數字PID增量算法中沒有累加和項,不會出現積分飽和,防止了大的超調和震蕩。但在增量算法中,可能出現比例和微分飽和現象。為了抑制微分飽和,加速系統的動態過程,可采用積累補償法。
積累補償法的根本思想是,將那些因飽和而未能執行的控制增量信息累積起來,一旦有可能時再補充執行。數字濾波器與模擬濾波器相比有以下優點:
(1)數字濾波器是用軟件實現的,不需要增加硬設備,因而可靠性高、穩定性好,不存在阻抗匹配問題。
(2)模擬濾波器通常是各通道專用,而數字濾波器那么可多通道共享,從而降低了本錢。
(3)數字濾波器可以對頻率很低(如0.01Hz)的信號進行濾波,而模擬濾波器由于受電容容量的限制,頻率不可能太低。
(4)數字濾波器可以根據信號的不同,采用不同的濾波方法或濾波參數,具有靈活、方便、功能強的特點。
10種軟件濾波方法的例如程序
OurWay發表于2005-9-222:24:0010種軟件濾波方法的例如程序(JKRL)
假定從8位AD中讀取數據〔如果是更高位的AD可定義數據類型為int),子程序為get_ad();1、限副濾波
A、方法:根據經驗判斷,確定兩次采樣允許的最大偏差值〔設為A〕,每次檢測到新值時判斷:如果本次值與上次值之差<=A,那么本次值有效。如果本次值與上次值之差>A,那么本次值無效,放棄本次值,用上次值代替本次值
B、優點:能有效克服因偶然因素引起的脈沖干擾。
C、缺點:無法抑制那種周期性的干擾,平滑度差。
/*
A值可根據實際情況調整
value為有效值,new_value為當前采樣值
濾波程序返回有效的實際值
*/
#defineA10charvalue;charfilter()
{
char
new_value;
new_value=get_ad();
if((new_value-value>A)||(value-new_value>A)
returnvalue;
returnnew_value;
}2、中位值濾波法
A、方法:連續采樣N次〔N取奇數〕,把N次采樣值按大小排列,取中間值為本次有效值。
B、優點:能有效克服因偶然因素引起的波動干擾,對溫度、液位的變化緩慢的被測參數有良好的濾波效果。
C、缺點:對流量、速度等快速變化的參數不宜。/*
N值可根據實際情況調整
排序采用冒泡法*/
#defineN
11charfilter()
{
charvalue_buf[N];
charcount,i,j,temp;
for(count=0;count<N;count++)
{
value_buf[count]=get_ad();
delay();
}
for(j=0;j<N-1;j++)
{
for(i=0;i<N-j;i++)
{
if(value_buf[i]>value_buf[i+1])
{
temp=value_buf[i];
value_buf[i]=value_buf[i+1];
value_buf[i+1]=temp;
}
}
}
returnvalue_buf[(N-1)/2];
}
3、算術平均濾波法A、方法:連續取N個采樣值進行算術平均運算。N值較大時:信號平滑度較高,但靈敏度較低;N值較小時:信號平滑度較低,但靈敏度較高。N值的選?。阂话懔髁?,N=12;壓力:N=4
B、優點:適用于對一般具有隨機干擾的信號進行濾波,這樣信號的特點是有一個平均值,信號在某一數值范圍附近上下波動。
C、缺點:對于測量速度較慢或要求數據計算速度較快的實時控制不適用,比擬浪費RAM。#defineN12charfilter()
{
int
sum=0;
for(count=0;count<N;count++)
{
sum+=get_ad();
delay();
}
return(char)(sum/N);
}
4、遞推平均濾波法〔又稱滑動平均濾波法〕A、方法:把連續取N個采樣值看成一個隊列,隊列的長度固定為N,每次采樣到一個新數據放入隊尾,并扔掉原來隊首的一次數據.(先進先出原那么),把隊列中的N個數據進行算術平均運算,就可獲得新的濾波結果。N值的選?。毫髁?,N=12;壓力:N=4;液面,N=4~12;溫度,N=1~4
#defineN12charvalue_buf[N];
chari=0;charfilter()
{
charcount;
int
sum=0;
value_buf[i++]=get_ad();
if(i==N)
i=0;
for(count=0;count<N,count++)
sum=value_buf[count];
return(char)(sum/N);
}
5、中位值平均濾波法〔又稱防脈沖干擾平均濾波法〕A、方法:相當于“中位值濾波法〞+“算術平均濾波法〞。連續采樣N個數據,去掉一個最大值和一個最小值,然后計算N-2個數據的算術平均值。N值的選?。?~14
B、優點:融合了兩種濾波法的優點,對于偶然出現的脈沖性干擾,可消除由于脈沖干擾所引起的采樣值偏差。
C、缺點:測量速度較慢,和算術平均濾波法一樣,比擬浪費RAM。
#defineN12charfilter()
{
charcount,i,j;
charvalue_buf[N];
int
sum=0;
for
(count=0;count<N;count++)
{
value_buf[count]=get_ad();
delay();
}
for(j=0;j<N-1;j++)
{
for(i=0;i<N-j;i++)
{
if(value_buf[i]>value_buf[i+1])
{
temp=value_buf[i];
value_buf[i]=value_buf[i+1];
value_buf[i+1]=temp;
}
}
}
for(count=1;count<N-1;count++)
sum+=value[count];
return(char)(sum/(N-2));
}
6、限幅平均濾波法A、方法:相當于“限幅濾波法〞+“遞推平均濾波法〞,每次采樣到的新數據先進行限幅處理,再送入隊列進行遞推平均濾波處理。
B、優點:融合了兩種濾波法的優點,對于偶然出現的脈沖性干擾,可消除由于脈沖干擾所引起的采樣值偏差。
C、缺點:比擬浪費RAM。
/*
*/
略參考子程序1、37、一階滯后濾波法A、方法:取a=0~1,本次濾波結果=〔1-a〕*本次采樣值+a*上次濾波結果。
B、優點:對周期性干擾具有良好的抑制作用,適用于波動頻率較高的場合。
C、缺點:相位滯后,靈敏度低,滯后程度取決于a值大小,不能消除濾波頻率高于采樣頻率的1/2的干擾信號。
/*為加快程序處理速度假定基數為100,a=0~100*/#definea50charvalue;charfilter()
{
char
new_value;
new_value=get_ad();
return(100-a)*value+a*new_value;
}
8、加權遞推平均濾波法A、方法:是對遞推平均濾波法的改良,即不同時刻的數據加以不同的權。通常是,越接近現時刻的數據,權取得越大。給予新采樣值的權系數越大,那么靈敏度越高,但信號平滑度越低。
B、優點:適用于有較大純滯后時間常數的對象和采樣周期較短的系統。
C、缺點:對于純滯后時間常數較小,采樣周期較長,變化緩慢的信號不能迅速反響系統當前所受干擾的嚴重程度,濾波效果差。
/*coe數組為加權系數表,存在程序存儲區。*/#defineN12charcodecoe[N]={1,2,3,4,5,6,7,8,9,10,11,12};
charcodesum_coe=1+2+3+4+5+6+7+8+9+10+11+12;charfilter()
{
charcount;
charvalue_buf[N];
int
sum=0;
for(count=0,count<N;count++)
{
value_buf[count]=get_ad();
delay();
}
for(count=0,count<N;count++)
sum+=value_buf[count]*coe[count];
return(char)(sum/sum_coe);
}
9、消抖濾波法A、方法:設置一個濾波計數器將每次采樣值與當前有效值比擬:如果采樣值=當前有效值,那么計數器清零如果采樣值<>當前有效值,那么計數器+1,并判斷計數器是否>=上限N(溢出),如果計數器溢出,那么將本次值替換當前有效值,并清計數器。
B、優點:對于變化緩慢的被測參數有較好的濾波效果,可防止在臨界值附近控制器的反復開/關跳動或顯示器上數值抖動。
C、缺點:對于快速變化的參數不宜,如果在計數器溢出的那一次采樣到的值恰好是干擾值,那么會將干擾值當作有效值導入系統。#defineN12charfilter()
{
charcount=0;
charnew_value;
new_value=get_ad();
while(value!=new_value);
{
count++;
if(count>=N)
returnnew_value;
delay();
new_value=get_ad();
}
returnvalue;
}10、限幅消抖濾波法A、方法:相當于“限幅濾波法〞+“消抖濾波法〞先限幅,后消抖。
B、優點:繼承了“限幅〞和“消抖〞的優點改良了“消抖濾波法〞中的某些缺陷,防止將干擾值導入系統。
C、缺點:對于快速變化的參數不宜。
/*
*/.3PID控制子程序PID控制程序的入口參數是經A/D轉換的實際值,而它的各個系數均由初始化時確定,假設要修改,那么通過單片機控制屏來完成。PID增量型的出口參數是直接輸入D/A轉換的數值。本設計是將PID控制作為主要控制方法,將其放在初始程序中。不需要時,只要將其入口地址改變即可。PID控制子程序流程如圖5所示。該PID控制算法的主要目的是消除靜差和提高控制精度,系統短時間內輸出偏差很大會導致控制量超出執行機構允許的最大動作范圍,從而使系統出現較大的超調量甚致發生系統振蕩。采用變速積分法根據系統偏差的大小改變積分項的累積速度,對提高系統的品質十分有效。圖5變速積分PID控制子程序流程圖4、系統其他局部設計上位機和下位機之間采用基于RS232C通信標準的半雙工數據通信方式,為提高系統抗干擾能力的設計了看門狗電路。文中的數據采集與處理程序、上位機與下位機之間的通信程序都使用執行效率較高的匯編語言來完成,上位機的人機交互界面與數據輸出程序采用高級語言VB來開發。主程序
MOV81H,#50H;設堆棧
CLR5EH;清本次越限標志
CLR5FH;清上次
CLRA;
MOV2FH,A;
MOV30H,A;
MOV3BH,A;
MOV3CH,A;清暫存單元
MOV3DH,A;
MOV3EH,A;
MOV44H,A;
MOVDISM0,A;
MOVDISM1,A;
MOVDISM2,A;
MOVDISM3,A;
MOVDISM4,A;
MOVDISM5,A;清顯示緩沖
MOVTMOD,#56H;T0方式2:T1方式1計數
MOVTL0,#06H;
MOVTH0,#06H;TO賦值
CLRPT0;T0為低優先級中斷
SETBTR0;啟動T0
SETBET0;允許T0中斷
SETBEA;CPU中斷
LOOP:ACALLDISPLY;調用顯示程序
ACALLSCAN;調用掃描程序
ATMPLOOP;等待中斷
7.2中斷效勞程序的設計
T0中斷效勞程序:
PUSHA;
PUSHDPL;
PUSHDPH;保護現場
SETBD5H;置標志
ACALLSAMP;調用采樣子程序
ACALLFILTER;調用數字濾波程序
CJNEA,42H,TPL;Ui〔K〕≠Umax那么TPL
WL:MOVC,5EH;
MOV5FH,C;交換標志
CLR5EH;清本次標志
ACALLUPL;上限處理
POPDPH;
POPDPL;恢復現場
POPA;
RETI;中斷返回
TPL:JNCTPL1;假設Ui〔K〕>Vmax那么TPL1
CLR5FH;清上次越限標志
CJNEA,43H,MTPL;Ui〔K〕≠Umin那么MTPL
HAT:SETBP1.1;正常,綠
ACALLPID;計算PID
MOVA,2FH;PLD值→〔A〕
CPLA;
INCA;求TL1值
NM:SETBP1.3;輸出控制脈沖
MOVTL1,A;T1賦初值
MOVTH1,#OFFH;
SETBPT1;T1高優先級中斷3
SETBTR1;啟動T1
SETBET1;允許T1中斷
ACALLTRAST;標度轉換
LOOP:ACALLDISPLY;顯示溫度
JBD5H,LOOP;等待T1中斷
POPA;
POPDPH;
POPDPL;
RETI;中斷返回
MTPL:JNCHAT;假設Ui(k)>Umin那么HAT
SETBP1.0;
MOVA,45H;
CPLA;
INCA;
AJMPNM;
TPL1:SETB5EH;置本次越限標志
JNB5FH,WL;假設上次沒越限那么轉
INC44H;越限計數器加1
MOVA,44H;
CLRC;
SUBBA,#N;
JNZWL;越限次數不等于N轉
SETBP1.2;上限報警,紅燈亮
CLR5EH;
CLR5FH;清標志
POPA;
POPDPH;
POPDPL;恢復現場
RETI;從中斷返回
T1中斷效勞程序〔由001BH轉來〕
CLRD5H;清標志
CLRP1.3;停止輸出
RETI;從中斷返回
圖7.3T1中斷程序圖
圖7.4系統控制流程圖
7.3采樣程序的設計
數字濾波子程序
根據流程圖寫程序如下:
SMAP:MOVR0,#2CH;采樣值首址
MOVR1,#03H;計數器賦值
SAM1:MOVDPTR,#03F8H;
MOVX@DPTR,A;啟動ADC
MOVR2,#20H;延時
DLY:DJNZR2,DLY;結束?
HERE:JBP3.3,HERE;等待ADC結束
MOVXA,@DPTR;
MOV@RO,A;存放采樣值
INCRO;
DJNER1SAM1;
RET;
程序清單如下:
FILTER:MOVA,2CH;(2CH)送A
CJNZA,2DH,CMP1;假設〔2CH〕≠(2DH)那么CMP1
ATMPCMP2;否那么轉CMP2
CMP1:JNCCMP2;假設〔2CH〕>(2DH)那么CMP2
XCHA,2DH;
XCHA,2CH;
CMP2:MOVA,2DH;
CJNEA,2EH,CMP3;假設〔2DH〕≠(2EH)那么CMP3
MOV2AH,A;否那么〔2DH〕送2AH
RET;返回
CMP3:JCCMP4;假設〔2DH〕<(2EH)那么CMP4
MOV2AH,A;
RET;
CMP4:MOVA,2EH;
CJNEA,2CH,CMP5;假設〔2EH〕≠(2CH)那么CMP5
MOV2AH,A;
RET
CMP5:JCCMP6;假設〔2EH〕<(2CH)那么CMP6
XCHA,2CH;
CMP6:MOV2AH,A;
RET;電容C的耐壓應大于=10.6V。故取一只1000uF的電容,如圖3-15中的C1。C3為輸出電壓進一步濾波,取100uF,C2用以抵消線路的電感效應,防止產生自激振蕩,一般取0.33uF。C4用以濾除輸出端的高頻信號,改善電路的暫態響應,一般取0.1uF。5系統調試一個單片機系統經過總體設計,完成了硬件和軟件設計開發。元器件安裝后,在系統的程序存儲器中寫入編制好的應用程序,系統即可運行。但編制好的程序或焊接好的線路不能按預計的那樣正常工作是常見的事,多少會出現一些硬件、軟件上的錯誤。這就需要通過調試來發現錯誤并加以改正。調試可分為硬件調試和軟件調試。在允許的條件下,根據本設計系統的需求性首先采用在PC機上用模擬開發軟件進行檢測和調試,然后進行硬件的組裝與調試。5.1硬件調試單片機應用系統的硬件調試和軟件調試是分不開的,許多硬件故障在軟件調試時才能發現,但通常要先排除系統中明顯的硬件故障。調試工作可以分為四步:=1\*GB3①目測檢查在安裝完成的硬件電路加電之前,先用萬用表工具,根據硬件邏輯設計圖,仔細檢查樣機線路是否連接正確,并核對元器件的型號、規格和安裝是否符合要求,應特別注意電源系統的檢查,以防電源的短路和極性錯誤,并重點檢查系統總線〔地址總線、數據總線、控制總線〕是否存在相互之間短路或與其他信號線的短路。=2\*GB3②電源檢查在硬件連接、焊接完成后,先不插單片機AT89S52、語音芯片ISD1420、溫度傳感器DS18B20、功率放大器等主要元器件,通上電源。用萬用表電壓檔測各元器件插座上相應引腳電壓數值是否正確,極性是否符合。如有錯誤,就及時檢查、排除,以使每個電源引腳的數值都符合要求。=3\*GB3③各主要元器件電源檢查斷開電源,按正確的元器件方向分別插上元器件,再分別通電,并逐一檢查每個元器件上的電源是否正確,直至最后插上全部元器件,通上電源后,每個元器件上電源都正確無誤。=4\*GB3④檢查相應芯片的邏輯關系采用靜態電平檢查法檢查相應芯片的邏輯關系。即在一個芯片信號輸入端參加一個相應電平,檢查輸出電平是否正確。單片機系統大都是數字邏輯電路,使用電平檢查法可首先查出邏輯設計是否正確,選用器件和連接關系是否符合要求等。5.2軟件調試軟件調試采用脫機調試的方法,即完全用仿真軟件在PC機上對程序進行檢測和調試。在程序編寫完成后,就可以利用仿真軟件在PC機上進行調試、驗證。在調試的過程中,單片機相應輸入端由通用鍵盤和鼠標設定,通過仿真軟件的監視窗口觀察單片機的運行狀態、各存放器狀態、端口狀態等的變化是否與設計相符。如果有不相符的情況,就要仔細分析出現錯誤前后的語句,特別是那些條件、跳轉語句,找出錯誤原因,并將其改正。調試可按以下步驟進行:=1\*GB3①源程序糾錯在編寫源程序的過程中,難免會出現一些書寫格式、標號未定義或多重定義、拼寫等錯誤。一般來說,編譯軟件能發現用戶輸入的程序時出現的這些錯誤,并指定出現錯誤的位置和原因。因此可根據編譯軟件提供的錯誤置和原因,分析前后語句,將錯誤改正過來=2\*GB3②子程序功能調試程序設計通常采用模塊程序設計,調試時可對一個個子程序分別進行調試,設置好入口條件,然后采用單步運行或斷點運行方式,檢查系統CPU狀態、特殊功能存放器、RAM和I/O口狀態,看程序執行結果是否符合設計要求。確保每個子程序的輸出與設計的結果相符。=3\*GB3③整體程序綜合調試在排除各功能子程無誤的情況下,把各功能子程序整體連起來進行到綜合調試,看是否能實現預計的功能。在這階段假設發生故障,可以考慮各子程序在運行時是否破壞現場,數據緩沖單元是否發生沖突,標志位的建立和去除在設計上是否失誤,堆棧是否溢出,輸入輸出狀態是否正常等。用軟件模擬器調試不需任何在線仿真器,也不需要用戶樣機,直接就可以在PC機上開發和調試。調試和修改完畢后,對于實時性要求不高的應用系統
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小班研討秋游活動方案
- 工信局低碳宣傳活動方案
- 師生國慶活動方案
- 小學留宿活動方案
- 工程采購沙龍活動方案
- 小班精細美術活動方案
- 屋頭串串活動方案
- 市集策劃活動方案
- 巨型籃球活動方案
- 市婦聯讀書會活動方案
- 《消防安全技術實務》課本完整版
- CLSI EP25-A 穩定性考察研究
- SJG 44-2018 深圳市公共建筑節能設計規范-高清現行
- 職工子女暑期工會愛心托管班的方案通知
- (5年高職)客戶服務實務(第二版)教學課件全套電子教案匯總整本書課件最全教學教程完整版教案(最新)
- 精品中文版b4a新手指南第4章開發環境
- 兒科患兒及家屬的溝通技巧
- 光纜線路的故障分析及障礙搶修
- 童聲合唱訓練講座
- (防火閥)檢驗報告
- 輸變電工程建設管理程序指南(共61頁)
評論
0/150
提交評論