基于單片機的恒溫控制系統.doc
《基于單片機的恒溫控制系統.doc》由會員分享,可在線閱讀,更多相關《基于單片機的恒溫控制系統.doc(22頁珍藏版)》請在裝配圖網上搜索。
摘要: 隨著微機測量和控制技術的迅速發(fā)展與廣泛應用,以單片機為核心的溫度采集與控制系統的研發(fā)與應用在很大程度上提高了生產生活中對溫度的控制水平。溫度是工業(yè)控制中主要的被控參數之一,特別是在冶金、化工、建材、食品、機械等工業(yè)中,具有舉足重輕的作用,因此,溫度控制系統是典型的控制系統。 本文介紹了基于單片機AT89C51 的溫度控制系統的設計方案與軟硬件實現,論述了一種以STC89C52單片機為主控制單元,以DS18B20為溫度傳感器的溫度自動控制系統。該控制系統可以根據設定的溫度,通過PID算法調節(jié)和控制pwm波的輸出,控制晶閘管導通時間從而控制水溫的自動調節(jié),系統設計了相關的硬件電路和相關應用程序。硬件電路主要包括STC89C52單片機最小系統,DS18b20測溫電路、鍵盤電路.LCD液晶顯示電路,加熱功率電路等。系統程序主要包括主程序,溫度處理子程序、按鍵處理程序、LCD顯示程序等,pwm波輸出程序。給出了系統總體框架、程序流程圖和Proteus 仿真結果,并在硬件平臺上實現了所設計的功能。關 [關鍵詞] 單片機;溫度控制系統;溫度傳感器;PID控制算法。 目 錄 1.選題背景----------------------------------------------------------2 2.設計要求----------------------------------------------------------2 2.1設計任務-----------------------------------------------------2 2.2設計要求----------------------------------------------------2 3.方案論證比--------------------------------------------------------3 3.1 溫度檢測電路方案選擇-----------------------------------------3 3.2顯示電路方案選擇 --------------------------------------------3 3.3加熱方案選擇 ------------------------------------------------3 3.4控制方法方案選擇 --------------------------------------------3 4.總體方案及工作原理----------------------------------------------4 5.系統硬件設計-----------------------------------------------------4 5.1溫度傳感器電路單元 ------------------------------------------5 5.2 輸入電壓單元 ------------------------------------------------6 5.3液晶顯示單元-------------------------------------------------6 5.4溫度上下限模塊單元 ------------------------------------------7 5.5主控制單元設計 ----------------------------------------------7 6.系統軟件設計 -----------------------------------------------------9 6.1 PID控制程序算法 --------------------------------------------9 6.2 PWM脈寬調制技術 --------------------------------------------12 6.3 控制系統程序 -----------------------------------------------13 7.設計結論及總結---------------------------------------------------19 參考文獻資料-------------------------------------------------------21 1.選題背景 對于不同場所、不同工藝、所需溫度高低 范圍不同、精度不同,則采用的測溫元件、測溫方法以及對溫度的控制方法也將不同;產品工藝不同、控制溫度的精度不同、時效不同,則對數據采集的精度和采用的控制算法也不同,因而,對溫度的測控方法多種多樣。 技術和微型計算機的迅速發(fā)展,微機測量和控制技術也得到了迅速的發(fā)展和廣泛的應用。利用微機對溫度進行測控的技術,也便隨之而生,并得到日益發(fā)展和完善,越來越顯示出其優(yōu)越性。目前, 單片微機已普遍地作用于生產過程的自動控制領域中。單片機以其體積小、價格低廉、可用其構成計算機控制系統中的智能控制單元和可靠性高等特點, 受到廣大工程技術人員的重視。溫度是生產過程中最常見的物理量, 許多生產過程是以溫度作為其被控參數的。因此,溫度控制系統是典型的控制系統 2.課題設計要求: 2.1設計任務 設計并制作一個水溫自動控制系統,控制對象為300W或400W電阻爐,容器為薄壁不銹鋼可以加溫的器皿。 2.2設計要求 2.2.1基本要求 (1)調溫功能,水溫可以在0~100℃范圍內由人工設定,人工設定溫度后系統自動控制加熱或降溫,最小區(qū)分度為0.1℃,所測溫度和實際溫度偏差≤1℃。 (2)恒溫功能,在環(huán)境溫度變化時(例如用電風扇降溫,電壓波動)實現自動控制,以保持容器內根據設定的溫度保持基本不變。 (3)用LCD或LED顯示:水的設定溫度、實際溫度、工作時間等參數信息。 2.2.2發(fā)揮部分 (1)采用適當的控制方法,當設定溫度突變(由70℃提高到90℃)時,減小系統的調節(jié)時間和超調量。 (2)采用適當的控制方法,當突加涼水擾動時,減小系統的調節(jié)時間和超調量。 (3)溫度控制的靜態(tài)誤差≤0.5℃。 3.方案論證比較 3.1溫度檢測電路的方案選擇: 方案一:用普通半導體溫度傳感器作為敏感元件,再結合電壓放大器和AD轉換器將感應到的溫度數值轉換為數字量存儲在某一單元內。但由于該方案所需元件較多,且電路較繁,調試起來較復雜,所以舍之不用。 方案二:使用數字溫度傳感器DS18B20檢測溫度,內含AD轉換器,因此線路連接十分簡單,它無需其他外加電路,直接輸出數字量,可直接與單片機通信,讀取測溫數據,電路十分簡單,它能夠達到0.5℃的固有分辨率,使用讀取溫度暫存寄存器的方法還能達到0.2℃以上精度,應用方便,這樣的電路主要工作量就集中到了單片機軟件編程上,故我們選用該方案。 3.2顯示電路的方案選擇: 方案一:使用數碼管顯示,通過數碼管顯示被測溫度和設定溫度。該方案程序簡單,但硬件占用單片機I/O口較多,對于盡量節(jié)約端口,讓線路簡單來說不是好方法,而且顯示也不夠直觀靈活,只能顯示數字,不能顯示漢字顯示功能提示,故不適合本次設計應用。 方案二:使用液晶屏lcd12864,可以顯示字母,數字及漢字,而且一次可以顯示4行,顯示很直觀,通過字幕顯示模式、溫度、曲線。該方案程序較復雜,而且lcd12864的價格昂貴,對于節(jié)約成本的角度來說,我們選擇放棄選擇方案二。 方案三:使用液晶屏1602顯示,可以顯示設定溫度及測量溫度,但顯示時1602能顯示兩行能顯示字符及數字,不能顯示漢字及曲線,完全滿足本次設計的要求,而且成本低廉,設計簡單可靠,故選擇方案三。 3.3加熱方案的選擇: 方案一:使用電熱爐進行加熱,控制電爐的功率即可控制加熱速度,當水溫過高時,關掉電爐即可,但考慮到電爐成本較高,且精度不好控制,故不選用。 方案二:固態(tài)繼電器控制加熱器工作,固態(tài)繼電器使用非常簡單,而且沒有觸點,無需外加光耦,自身就可以實現電氣隔離,還可以頻繁動作??梢允褂妙愃苝wm的方式,通過控制固態(tài)繼電器的開,斷時間比來達到控制加熱器功率的目的,適合功率不大精度不高,簡易水溫控制系統。 方式三:是使用可控硅控制加熱器的工作??煽毓枋且环N半控器件,通過控制導通角的方式來控制,對每個周期的交流電進行控制,因為導通角連續(xù)可調,故控制精度較高,且元件便宜,易于制作,我們選擇方案三。 3.4控制方法選擇方案: 方案一:采用普通的控制方法,即隨著水溫的變化調節(jié)溫度,但局限性太小,由于水溫變化快,且慣性大,不易控制精度,故采用普通控制方法顯得力不從心。 方案二:采用PWM控制加PID算法,通過采用PWM可以產生一個PWM波形,而PWM波形的占空比是通過PID算法調節(jié),這樣就可以調節(jié)加熱棒的功率進而控制溫度的變化,從而使精度提高,我們選擇方案二。 4.總體方案及工作原理 溫度傳感器 DS18B20 從設備環(huán)境的不同位置采集溫度,單片機 AT89S51 獲取采集的溫度值,經處理后得到當前環(huán)境中一個比較穩(wěn)定的溫度值,再根據當前設定的溫度上下限值,通過加熱和降溫對當前溫度進行調整。當采集的溫度經處理后超過設定溫度的上限時,,當采集的溫度經處理后低于設定溫度的下時 , 單片機通過控制晶閘管開啟升溫設備 (加熱器) 。 系統總體的原理框圖如下; PC機 MAX232電平轉換芯片 鍵盤電路 AT89S51 8BIT CPU 數據顯示 DS18B20 溫度芯片數據傳輸 輸入電源 加熱器 雙向可控硅 系統工作原理框圖 5.系統硬件設計 對題目進行深入的分析和思考,可以將整個系統硬件總體分為以下幾個方面: 5.1 溫度傳感器電路單元 測溫電路是使用DS18b20數字式溫度傳感器,它無需其他的外加電路,直接輸出數字量,可直接與單片機通信,讀取測溫數據,電路十分簡單。它能夠達到0.5的固有分辨率,使用讀取溫度的暫存寄存器的方法還能達到0.2以上的精度。 DS18B20溫度傳感器只有三根外引線:單線數據傳輸總線端口DQ ,外供電源線VDD,共用地線GND。外部供電方式(VDD接+5V,且數據傳輸總線接4.7k的上拉電阻。 綜上,在本系統中我采用溫度芯片DS18B20測量溫度。該芯片的物理化學性很穩(wěn)定,它能用做工業(yè)測溫元件,且此元件線形較好。在0—100攝氏度時,最大線形偏差小于1攝氏度。該芯片直接向單片機傳輸數字信號,便于單片機處理及控制。 DS18B20接口電路 DS18B20實物圖 5.2 輸入電壓單元 控制系統主控制部分電源需要用5V直流電源供電,其電路所示,把頻率為50Hz、有效值為220V的單相交流電壓轉換為幅值穩(wěn)定的5V直流電壓。其主要原理是把單相交流電經 過電源變壓器、整流電路、濾波電路、穩(wěn)壓電路轉換成穩(wěn)定的直流電壓。 由于輸入電壓為電網電壓,一般情況下所需直流電壓的數值和電網電壓的有效值相差較大,因而電源變壓器的作用顯現出來起到降壓作用。降壓后還是交流電壓,所以需要整流電路把交流電壓轉換成直流電壓。由于經整流電路整流后的電壓含有較大的交流分量,會影響到負載電路的正常工作。需通過低通濾波電路濾波,使輸出電壓平滑。穩(wěn)壓電路的功能是使輸出直流電壓基本不受電網電壓波動和負載電阻變化的影響,從而獲得穩(wěn)定性足夠高的直流電壓。本電路使用集成穩(wěn)壓芯片7805解決了電源穩(wěn)壓問題。 5.3 液晶顯示單元 LCM1602 是2 行16 個字符的字符型LCD 顯示器,它由32 個字符點陣塊組成,每個字符點陣塊由57 或510 個點陣組成,可以顯示ASCII 碼表中的所有可視的字符。它內置了字符產生器ROM (Character Generator ROM,CGROM)、 字符產生器RAM (CharacterGenerator RAM, CGRAM)和顯示數據RAM(Data Display RAM, DDRAM)。CGROM 中內置了192個常用字符的字模,CGRAM 包含8 個字節(jié)的RAM,可存放用戶自定義的字符,DDRAM 就是用來寄存待顯示的字符代碼。 P3.0、P3.1、P3.2接LCD1602的三個控制引腳,P4口作為LCD1602的數據接口。通過對控制引腳的控制,從而實現溫度顯示的功能。 5.4 溫度上下限鍵盤設置模塊 溫度上下限設置模塊包括四個按鍵:(1)模式切換鍵:進行模式之間的切換,模式包括設置溫度上限模式、設置溫度下限模式,每次按下該鍵就在這兩種模式之間切換。(2)溫度上下限增加鍵:增加溫度上下限的值。(3)溫度上下限減少鍵:減少溫度上下限的值。(4)溫控開關鍵:是溫控與非溫控之間的切換鍵。它用于設置是否進行溫度控制即是否讓越界的溫度值觸發(fā)加熱器的啟動 5.5 主控制單元設計: AT89S51 是一個低功耗,高性能CMOS 8位單片機,片內含8k Bytes ISP(In-system programmable)的可反復擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術制造,兼容標準MCS-51指令系統及80C51引腳結構,芯片內集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的AT89S51可為許多嵌入式控制應用系統提供高性價比的解決方案。AT89S51具有如下特點:40個引腳,4k Bytes Flash片內程序存儲器,128 bytes的隨機存取數據存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數器,2個全雙工串行通信口,看門狗(WDT)電路,片內時鐘振蕩器。 此外,AT89S51設計和配置了振蕩頻率可為0Hz并可通過軟件設置省電模式??臻e模式下,CPU暫停工作,而RAM定時計數器,串行口,外中斷系統可繼續(xù)工作,掉電模式凍結振蕩器而保存RAM的數據,停止芯片其它功能直至外中斷激活或硬件復位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應不同產品的需求。 由于系統控制方案簡單 ,數據量也不大 ,考慮到電路的簡單和成本等因素 ,因此在本設計中選用 A TMEL 公司的 A T89S51單片機作為主控芯片。主控模塊采用單片機最小系統是由于 A T89S51芯片內含有4 kB的 E2PROM ,無需外擴存儲器 ,電路簡單可靠 ,其時鐘頻率為 0~24 MHz ,并且價格低廉 ,批量價在 10元以內。 其主要功能特性: 兼容MCS-51指令系統 4k可反復擦寫(>1000次)ISP Flash ROM 32個雙向I/O口 4.5-5.5V工作電壓 2個16位可編程定時/計數器 時鐘頻率0-33MHz 全雙工UART串行中斷口線 128x8 bit內部RAM 2個外部中斷源 低功耗空閑和省電模式 中斷喚醒省電模式 3級加密位 看門狗(WDT)電路 軟件設置空閑和省電功能 靈活的ISP字節(jié)和分頁編程 雙數據寄存器指針 可以看出AT89S51提供以下標準功能:4K字節(jié)Flash閃速存儲器,128字節(jié)內部RAM,32個I/O口線,看門狗(WDT),兩個數據指針,兩個16位定時器/計數器,一個5向量兩級中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘。同時, AT89S51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計數器,串行通信口及中斷系統繼續(xù)工作。掉電方式何在RAM中的內容,但振蕩器停止工作并禁止其它所有部件工作直接到一個硬件復位。 AT89S51單片機引腳圖 6.系統軟件設計 6.1 PID控制程序算法 6.1.1 PID算法簡介 PID控制算法是控制理論中應用很廣泛的一種算法,對于一般控制系統來說,PID算法從某種意義來說具有通用性,對各種系統具有廣泛的適用性,通過現場的參數調試,可以達到很好的控制效果。 對于我們這次水溫控制系統的設計,我們同樣也可以使用PID控制算法,具體算法如下: e(i)=t測-t設 E= (2) 算法中,u(i)為當時的功率輸出。T為采樣時間,E為誤差積累,KP為比例常數,Ti為積分常數,Td為微分常數。根據實際系統,調節(jié)這三個常數,可以達到很好的效果。 大多數的溫度控制系統可以看作一階純滯后環(huán)節(jié),由于本系統純滯后時間較小,故可采用PID(比例、積分、微分)控制算法實施控制。 6.1.2 PID控制作用 PID是比例(P)、積分(I)和微分(D)3個控制作用的組合。連續(xù)系統PID控制器的微分方程為:y(t)= KPP[e(t)+] (4-1) 式中 y(t)為控制器的輸出;e(t)為控制器的輸入;KP比例放大系數;TI為控制器的積分時間常數;TD為控制器的微分時間常數。 顯然,KP越大,控制器的控制作用越強;只要e(t)不為0,積分項會因積分而使控制器的輸出變化;只要e(t)有變化的趨勢,控制器就會在微分作用下,在偏差出現且偏差不大時提前給輸出一個較強的控制作用。 6.1.3 PID算法的微機實現 由于微機控制系統是一種時間離散控制系統,故必須把微分方程離散化為差分方程,最終寫出遞推公式才能直接應用。 顯然: (4-2) (4-3) 于是, KP{e(n)++[e(n)-e(n-1)]} (4-4) 式中Δt=T,為采樣周期;e(t)為第n次采樣的偏差值;e(n-1)為第(n-1)次采樣時的偏差值;n為采樣序列,n=0,1,2,…。 由式(4-4)可以看出:計算一次Y(n),不僅需要的存儲器空間大,而且計算量也很大,于是進一步寫出遞推公式: 由 Y(n-1)= KP {e(n-1)+ +[e(n-1)-e(n-2)]} (4-5) 由式(4)減去式(5)得: ΔY(n)=Y(n)-Y(n-1) =KP {[e(n)-e(n-1)]+[e(n)-2e(n-1)+e(n-2)]} = KP[e(n)-e(n-1)]+ KI e(n)+KD[e(n)-2e(n-1)+e(n-2)] (4-6) 或 Y(n)=Y(n-1)+ KP[e(n)-e(n-1)]+ KI e(n)+KD[e(n)-2e(n-1)+e(n-2)](4-7) 式中 KI=KP,稱為積分常數;KD=KP,稱為微分常數。 6.1.4數字PID控制的參數選擇 一、數字PID參數的原則要求和整定方法 1、原則要求: 被控過程是穩(wěn)定的,能迅速和準確地跟蹤給定值的變化,超調量小,在不同干下系統輸出應能保持在給定值,操作變量不宜過大,在系統與環(huán)境參數發(fā)生變化控制應保持穩(wěn)定。顯然,要同時滿足上述各項要求是困難的,必須根據具體過程的要求,滿足主要方面,并兼顧其它方面。 2、PID參數整定方法: 理論計算法――依賴被控對象準確的數學模型(一般較難做到) 工程整定法――不依賴被控對象準確的數學模型,直接在控制系統中進行現場整定(簡單易行) 二、常用的簡易工程整定法 1、擴充臨界比例度法――適用于有自平衡特性的被控對象 整定數字調節(jié)器參數的步驟是: (1)選擇采樣周期為被控對象純滯后時間的十分之一以下。 (2)去掉積分作用和微分作用,逐漸增大比例度系數直至系統對階躍輸入的響 應達到臨界振蕩狀態(tài)(穩(wěn)定邊緣),記下此時的臨界比例系數及系統的臨界振蕩 周期。 (3)選擇控制度。 通常,當控制度為1.05時。就可以認為DDC與模擬控制效果相當。 (4)根據選定的控制度,查表5-3-2求得T、KP、TI、TD的值。 2、擴充響應曲線法――適用于多容量自平衡系統 參數整定步驟如下: (1)讓系統處于手動操作狀態(tài),將被調量調節(jié)到給定值附近,并使之穩(wěn)定下來,然后突然改變給定值,給對象一個階躍輸入信號。 (2)用記錄儀表記錄被調量在階躍輸入下的整個變化過程曲線,如圖所示。 (3)在曲線最大斜率處作切線,求得滯后時間τ,被控對象時間常數Tτ以及它們的比值Tτ/τ。 (4)由求得的τ、Tτ及Tτ/τ查表5-3-3,即可求得數字調節(jié)器的有關參數KP、TI、TD及采樣周期T。 3、歸一參數整定法 令,,。則增量型PID控制的公式簡化為 改變KP,觀察控制效果,直到滿意為止。 5.4數字PID控制的工程實現 6.2 PWM脈寬調制技術 脈寬調制(PWM)基本原理:控制方式就是對逆變電路開關器件的通斷進行控制,使輸出端得到一系列幅值相等的脈沖,用這些脈沖來代替正弦波或所需要的波形。也就是在輸出波形的半個周期中產生多個脈沖,使各脈沖的等值電壓為正弦波形,所獲得的輸出平滑且低次諧波少。按一定的規(guī)則對各脈沖的寬度進行調制,即可改變逆變電路輸出電壓的大小,也可改變輸出頻率。 例如,把正弦半波波形分成N等份,就可把正弦半波看成由N個彼此相連的脈沖所組成的波形。這些脈沖寬度相等,都等于 ∏/n ,但幅值不等,且脈沖頂部不是水平直線,而是曲線,各脈沖的幅值按正弦規(guī)律變化。如果把上述脈沖序列用同樣數量的等幅而不等寬的矩形脈沖序列代替,使矩形脈沖的中點和相應正弦等分的中點重合,且使矩形脈沖和相應正弦部分面積(即沖量)相等,就得到一組脈沖序列,這就是PWM波形。可以看出,各脈沖寬度是按正弦規(guī)律變化的。根據沖量相等效果相同的原理,PWM波形和正弦半波是等效的。對于正弦的負半周,也可以用同樣的方法得到PWM波形。 在PWM波形中,各脈沖的幅值是相等的,要改變等效輸出正弦波的幅值時,只要按同一比例系數改變各脈沖的寬度即可,因此在交-直-交變頻器中,整流電路采用不可控的二極管電路即可,PWM逆變電路輸出的脈沖電壓就是直流側電壓的幅值。 根據上述原理,在給出了正弦波頻率,幅值和半個周期內的脈沖數后,PWM波形各脈沖的寬度和間隔就可以準確計算出來。按照計算結果控制電路中各開關器件的通斷,就可以得到所需要的PWM波形。 6.3控制系統程序 6.3.1系統主函數: #include- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 基于 單片機 恒溫 控制系統
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://zhongcaozhi.com.cn/p-6665072.html