版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、南昌航空大學(xué)學(xué)士學(xué)位論文第一章 前言在中國,服裝制造加工業(yè)在工業(yè)結(jié)構(gòu)中占據(jù)重要的比例。而染色機(jī)作為一種適應(yīng)范圍廣泛的成品之理想的漂染設(shè)備,廣泛應(yīng)用于羊毛衫、晴綸和棉毛衫等成衣的染色、漂白、煮煉和水洗等工藝,也可應(yīng)用于手套、襪子、毛巾等成品的漂染處理。在染色機(jī)染色的生產(chǎn)過程中,溫度是一個(gè)大的滯后系統(tǒng),且受多種因素的影響,這些因素的變化范圍雖然不大,但他們是不確定的。染色工藝對(duì)于溫度控制要求非常嚴(yán)格,染液的升溫、保溫和降溫必須符合工藝要求,否則將會(huì)產(chǎn)生色差、缸差、著色不勻等次品。溫度是工業(yè)生產(chǎn)和科學(xué)實(shí)驗(yàn)中的重要參數(shù)之一,具有非線性、強(qiáng)耦合、時(shí)變、時(shí)滯等特性。在化工、冶金、工業(yè)爐窯等工業(yè)生產(chǎn)中,對(duì)溫
2、度的控制直接影響到許多產(chǎn)品的質(zhì)量及使用壽命。而隨著現(xiàn)代科技的發(fā)展,電子計(jì)算機(jī)已用于溫室環(huán)境的控制。自70年代以來,由于工業(yè)過程控制的需要,特別是在微電子技術(shù)和計(jì)算機(jī)技術(shù)的迅猛發(fā)展以及自動(dòng)控制理論和設(shè)計(jì)方法發(fā)展的推動(dòng)下,國外溫度控制系統(tǒng)發(fā)展迅速,并在智能化、自適應(yīng)、參數(shù)自整定等方面取得成果。在這方面,以日本、美國、德國、瑞典等國家技術(shù)領(lǐng)先,都生產(chǎn)出了一批商品化的、性能優(yōu)異的溫度控制器以及儀器儀表,并在各行業(yè)廣泛應(yīng)用。它們主要具有以下特點(diǎn):1、 適應(yīng)大慣性、大滯后等復(fù)雜溫度控制系統(tǒng)的控制。2、 能夠適應(yīng)于受控系統(tǒng)數(shù)學(xué)模型難以建立的溫度控制系統(tǒng)的控制。3、 能夠適應(yīng)于受控系統(tǒng)過程復(fù)雜、參數(shù)時(shí)變的溫度
3、控制系統(tǒng)的控制。4、 這些溫度控制系統(tǒng)普遍采用自適應(yīng)控制、自校正控制、模糊控制、人工智能等理論以及計(jì)算機(jī)技術(shù),運(yùn)用先進(jìn)的算法,適用范圍廣泛。5、 溫度控制系統(tǒng)具有控制精度高、抗干擾能力強(qiáng)、魯棒性好的特點(diǎn)。例如lm56是美國國家半導(dǎo)體公司(nsc)推出的低功耗、可編程集成溫度控制器,內(nèi)部含有溫度傳感器和基準(zhǔn)電壓源。兩個(gè)集電極開路的數(shù)字信號(hào)輸出端,用來進(jìn)行溫度控制,利用外接電阻分壓器可以方便地對(duì)上下限溫度進(jìn)行設(shè)定。當(dāng)溫度超過上限溫度或低于下限溫度時(shí),其數(shù)字信號(hào)輸出端輸出相應(yīng)的邏輯電平,經(jīng)驅(qū)動(dòng)電路實(shí)現(xiàn)對(duì)溫度的控制,控溫范圍為一40+125,控溫誤差小于士2。內(nèi)部含有遲滯電壓比較器,利用遲滯電壓比較器
4、的滯后特性,可有效地避免執(zhí)行機(jī)構(gòu)在控溫點(diǎn)附近頻繁動(dòng)作,滯后溫度為5。另有一個(gè)模擬信號(hào)輸出端,輸出與攝氏溫度成線性關(guān)系的電壓信號(hào)。該電壓信號(hào)經(jīng)模數(shù)轉(zhuǎn)換后,可用來驅(qū)動(dòng)顯示裝置,以實(shí)現(xiàn)對(duì)自身溫度的精確測量。集成溫度控制器ds56是美國dallas半導(dǎo)體公司推出的低功耗、可編程集成溫度控制器,內(nèi)部包含有溫度傳感器和高精度基準(zhǔn)電壓源。有兩個(gè)集電極開路的數(shù)字信號(hào)輸出端,專門用來進(jìn)行溫度控制,利用外接的精密電阻分壓器可以實(shí)現(xiàn)對(duì)上下限溫度的準(zhǔn)確設(shè)定,當(dāng)溫度超過上限溫度或低于下限溫度時(shí),其數(shù)字信號(hào)輸出端將輸出相應(yīng)的邏輯電平,經(jīng)驅(qū)動(dòng)電路以實(shí)現(xiàn)對(duì)溫度的控制??販胤秶鸀?0+125,在400內(nèi),精度為3,在085內(nèi),
5、精度為2,在85125內(nèi),精度為3 。內(nèi)部含有遲滯電壓比較器,利用遲滯電壓比較器的滯后特性,可有效地避免執(zhí)行機(jī)構(gòu)在控溫點(diǎn)附近頻繁動(dòng)作,滯后溫度thyst為+5。另有一個(gè)模擬信號(hào)輸出端,輸出與攝氏溫度成線性關(guān)系的電壓信號(hào),該電壓信號(hào)經(jīng)模/ 數(shù)轉(zhuǎn)換后,可用來驅(qū)動(dòng)顯示裝置,以實(shí)現(xiàn)對(duì)自身溫度的精確測量。該集成溫度控制器可廣泛應(yīng)用于家用電器和辦公設(shè)備的過熱保護(hù)、數(shù)據(jù)采集系統(tǒng)及電池供電系統(tǒng)的溫度監(jiān)測、工業(yè)過程控制、降溫風(fēng)扇控制、電器設(shè)備的過熱保護(hù)等領(lǐng)域。相對(duì)于國外的發(fā)展水平,國內(nèi)生產(chǎn)的溫度控制器總體水平不高。目前,我國在這方面的總體水平處于20世紀(jì)80年代中后期的水平,成熟產(chǎn)品主要以“點(diǎn)位”控制以及常規(guī)的
6、pid控制器為主,它只能適應(yīng)一般溫度系統(tǒng)控制,難于控制滯后、復(fù)雜、時(shí)變溫度系統(tǒng)控制。而適應(yīng)于較高控制場合的智能化、自適應(yīng)控制器,國內(nèi)技術(shù)還十分不成熟。但我國在溫度控制系統(tǒng)上還是取得了一些成果和進(jìn)步的。例如唐山鋼鐵公司高速線材廠運(yùn)用模糊控制理論和傳統(tǒng)的pid控制相結(jié)合,不僅成功的實(shí)現(xiàn)了溫度自動(dòng)控制,而且還使噸鋼油耗指標(biāo)大幅度下降,取得了近千萬元的經(jīng)濟(jì)效益。隨著生產(chǎn)力的發(fā)展和對(duì)溫度控制精度要求的不斷提高,溫度控制系統(tǒng)的控制技術(shù)得到迅猛發(fā)展,當(dāng)前比較流行的溫度控制系統(tǒng)有基于單片機(jī)的溫度控制系統(tǒng)、基于plc的溫度控制系統(tǒng)、基于工控機(jī)(ipc)的溫度控制系統(tǒng)、集散型溫度控制系統(tǒng)(dcs)、現(xiàn)場總線控制系
7、統(tǒng)(fcs)等。第二章 系統(tǒng)組成及工作原理2.1系統(tǒng)設(shè)計(jì)要求與技術(shù)指標(biāo)本課題要求采用鉑熱電阻測溫,其控溫范圍為:25-135;采用數(shù)字pid算法,使控溫精度達(dá)到2;能實(shí)時(shí)輸入控溫工藝,實(shí)時(shí)顯示染缸實(shí)測溫度,超溫時(shí)能報(bào)警。該控制器能對(duì)8臺(tái)染色機(jī)實(shí)現(xiàn)溫度控制。其具體技術(shù)要求如下:1、實(shí)現(xiàn)對(duì)多路溫度信號(hào)進(jìn)行采集;2、采用數(shù)字pid控制算法對(duì)系統(tǒng)進(jìn)行控制;3、控溫范圍為:25-135,控溫精度達(dá)到2;2.2 系統(tǒng)功能及工作原理系統(tǒng)采用stc89c52單片機(jī)作為核心控制器,控制系統(tǒng)正常工作。通過由pt-100構(gòu)成的電橋電路采集溫度信號(hào),由于電橋產(chǎn)生的電壓信號(hào)過低,通過tlc084構(gòu)成的放大電路將輸出電壓
8、控制在0-5v的范圍內(nèi),并將輸出電壓信號(hào)送入adc0804進(jìn)行模數(shù)轉(zhuǎn)換,將轉(zhuǎn)換數(shù)據(jù)送入單片機(jī)進(jìn)行顯示,并通過pid算法實(shí)現(xiàn)對(duì)系統(tǒng)的加熱與制冷時(shí)間長短進(jìn)行控制。各模塊具體功能如下所示:1、 通過cd4051模擬開關(guān)采集8路染色機(jī)信號(hào),并將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)送入單片機(jī)處理;2、 鍵盤及顯示模塊實(shí)現(xiàn)對(duì)控制溫度和時(shí)間的設(shè)定及顯示,以及實(shí)現(xiàn)通道的選擇與顯示;3、 pt-100電橋電路模塊實(shí)現(xiàn)對(duì)溫度信號(hào)的采集,并通過放大電路使輸出電壓范圍控制在-5v;4、 報(bào)警模塊由isd1420組成,實(shí)現(xiàn)超溫時(shí)的報(bào)警功能;5、 加熱,降溫模塊由光耦及雙向可控硅構(gòu)成,通過單片機(jī)控制實(shí)現(xiàn)對(duì)系統(tǒng)的加熱及降溫。2.3 系統(tǒng)
9、組成及框圖系統(tǒng)由硬件與軟件兩大部分組成,硬件電路由以下幾個(gè)部分組成:溫度采集部分、單片機(jī)最小系統(tǒng)控制部分、7279鍵盤部分、時(shí)鐘電路部分、加熱控制電路部分、制冷控制部分、語音報(bào)警電路部分和液晶顯示部分。其中溫度采集部分由pt-100電橋電路、tl084放大電路、cd4051模擬開關(guān)以及adc0804模數(shù)轉(zhuǎn)換電路構(gòu)成;加熱控制電路部分和制冷控制部分電路由光耦和雙向可控硅組成;單片機(jī)控制部分由max232通信模塊、復(fù)位電路和時(shí)鐘晶振組成;語音報(bào)警電路部分由isd1420及其外圍電路組成,采用lm386驅(qū)動(dòng)功率為1w的喇叭。系統(tǒng)的硬件電路組成框圖如圖2.1所示:stc89c52溫度采集電路模擬開 關(guān)
10、放大電路鍵盤控制電路液晶顯示電路語音報(bào)警電路電 源復(fù)位電路a/d轉(zhuǎn)換電路加溫降溫控制電路時(shí)鐘電路圖2.1 系統(tǒng)硬件電路組成框圖系統(tǒng)的軟件部分采用模塊化的設(shè)計(jì)方法,將軟件分為主程序模塊、中斷服務(wù)模塊、溫度采集模塊、7279鍵盤模塊、時(shí)鐘模塊、液晶顯示模塊、語音報(bào)警模塊、pid算法模塊和pid控制模塊。其中ad數(shù)據(jù)采樣及處理、語音報(bào)警、pid控制算法子程序和pid控制值輸出用中斷服務(wù)模塊來處理。在中斷程序中,將定時(shí)器0定時(shí)為1秒,當(dāng)開定時(shí)器0時(shí),每隔一秒進(jìn)入中斷處理程序進(jìn)行數(shù)據(jù)的采集和處理。鍵盤顯示模塊通過直接使用7279芯片的讀鍵盤數(shù)據(jù)指令來獲取鍵值進(jìn)行比較處理后轉(zhuǎn)入相應(yīng)的處理程序,能達(dá)到更好的
11、人機(jī)交互效果。加溫降溫控制通過使用pid算法計(jì)算出控制值,然后使用定時(shí)器1產(chǎn)生的pwm波控制p2.1口和p2.2口的高低電平轉(zhuǎn)換來控制雙向可控硅的通斷來實(shí)現(xiàn)加熱降溫的控制。第三章 微電腦多路染色機(jī)溫度控制器的硬件設(shè)計(jì)硬件是整個(gè)系統(tǒng)正常工作的基礎(chǔ),硬件電路的優(yōu)劣與合理設(shè)計(jì)關(guān)系到系統(tǒng)能否正常及其穩(wěn)定性。本系統(tǒng)硬件電路主要由溫度采集部分、單片機(jī)最小系統(tǒng)控制部分、7279鍵盤部分、時(shí)鐘電路部分、加熱控制電路部分、制冷控制部分、語音報(bào)警電路部分和液晶顯示部分組成,其各部分設(shè)計(jì)如下。3.1 單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)主要由單片機(jī)、時(shí)鐘電路、復(fù)位電路組成。其電路圖如圖3.1所示:圖3.1 單片機(jī)最小系統(tǒng)電
12、路圖為將程序通過keil uvision2軟件寫入單片機(jī),通過max232串口通信電路實(shí)現(xiàn)單片機(jī)與計(jì)算機(jī)之間的通信,其電路如圖3.2所示:圖3.2 max232串口通信電路圖3.1中,stc89c52的x1、x2端分別是反相放大器輸入和輸出端,外接晶振產(chǎn)生時(shí)鐘送至單片機(jī)內(nèi)部的各個(gè)部件,在本次實(shí)驗(yàn)中使用的是12m頻率的晶振。其中c10、c11是33pf的反饋電容。其作用有兩個(gè):其一是使振蕩器起振,其二是對(duì)振蕩器的頻率f起微調(diào)作用。同時(shí),由于p0口作為語音芯片isd1420的地址輸出口,且stc89c52中p1口沒有上拉電阻,故在p1口接阻值為10k的上拉電阻。在本系統(tǒng)中采用的復(fù)位方式是手動(dòng)復(fù)位。
13、手動(dòng)復(fù)位是直接通過按鍵s2使res信號(hào)維持高電平一段時(shí)間即可。當(dāng)單片機(jī)復(fù)位以后,除sp=07,p0、p1、p2、p3為0ff外,其它寄存器都為0。3.2 溫度采集部分3.2.1 溫度轉(zhuǎn)換電路溫度轉(zhuǎn)換電路是由pt-100電橋電路和tl084放大電路組成。pt-100電橋電路采用pt-100型鉑熱電阻作為溫度傳感器,鉑熱電阻是利用阻值隨溫度變化而變化的特性來測量溫度,它有很好的穩(wěn)定性和測量精度,測量范圍寬,被廣泛應(yīng)用于作溫度的基準(zhǔn),pt-100將溫度的變化轉(zhuǎn)化為電阻的變化,并通過橋堆將電阻的變化轉(zhuǎn)化為電壓的變化,因?yàn)樗玫膲翰钪挥泻练?jí),所以要經(jīng)過tl084放大器放大,再通過a/d轉(zhuǎn)換器,把電壓量
14、轉(zhuǎn)換成數(shù)字量,然后將轉(zhuǎn)換的數(shù)值送cpu處理。溫度轉(zhuǎn)換電路如圖3.3所示:圖3.3 溫度轉(zhuǎn)換電路tl084是四輸入運(yùn)算放大放大器,具有高轉(zhuǎn)換率、低輸入偏置和偏置電流以及低失調(diào)電壓溫度系數(shù)的特點(diǎn)。在圖3.3中,運(yùn)放結(jié)構(gòu)的測量放大器由tlc084兩級(jí)組成,兩個(gè)對(duì)稱的同相放大器構(gòu)成第一級(jí),第二級(jí)為差動(dòng)放大器減法器。通過改變電阻r38的大小,可方便地調(diào)節(jié)放大器的增益,在集成化的測量放大器中,r38是外接電阻,用戶可根據(jù)整機(jī)的增益要求來選擇r38的大小。3.2.2 a/d轉(zhuǎn)換電路a/d轉(zhuǎn)換電路由模擬開關(guān)cd4051和模數(shù)轉(zhuǎn)換器adc0804組成,其作用是將經(jīng)模擬開關(guān)選通的模擬信號(hào)轉(zhuǎn)換成對(duì)應(yīng)的數(shù)字信號(hào),從而
15、實(shí)現(xiàn)多路溫度采集。adc0804是8 位coms 依次逼近型的a/d 轉(zhuǎn)換器,其轉(zhuǎn)換時(shí)間是100us。轉(zhuǎn)換結(jié)束時(shí),可由cpu打開三態(tài)門,讀出8位的轉(zhuǎn)換結(jié)果。a/d轉(zhuǎn)換電路如圖3.4所示:圖3.4 a/d轉(zhuǎn)換電路圖3.3 7279鍵盤部分hd7279是一片具有串行接口的可同時(shí)驅(qū)動(dòng)8位共陰式數(shù)碼管(或64只獨(dú)立led)的智能顯示驅(qū)動(dòng)芯片,該芯片同時(shí)還可連接多達(dá)64鍵的鍵盤矩陣,單片即可完成led顯示、鍵盤接口的全部功能。hd7279內(nèi)部含有譯碼器,可直接接受bcd碼或16進(jìn)制碼,而且具有2種譯碼方式。hd7279還具有多種控制指令,如左移(a1h)、右移(a0h)、消隱(98h)、閃爍(88h)、
16、段尋址等。在本系統(tǒng)中,考慮到單片機(jī)的i/o口使用個(gè)數(shù)的限制,故舍棄矩陣式鍵盤的按鍵方式,采用7279顯示板上的鍵盤來進(jìn)行按鍵操作。在操作過程中,只需接4根接口線,分別為:片選線cs、串行時(shí)鐘線clk、串行數(shù)據(jù)線data以及鍵盤申請(qǐng)線key,其中cs為片選信號(hào)(低電平有效)。其原理圖如圖3.5所示。圖3.5 7279顯示板原理圖3.4 時(shí)鐘電路部分在本系統(tǒng)中,時(shí)鐘電路部分采用串行時(shí)鐘芯片ds1302,它是一種高性能、低功耗的時(shí)鐘芯片,包括實(shí)時(shí)時(shí)鐘/日歷和31個(gè)字節(jié)的靜態(tài)ram??蓪?shí)時(shí)的對(duì)秒、分、時(shí)、日、周、月、年進(jìn)行計(jì)數(shù)處理,可通過外部可充電池加電長期保存數(shù)據(jù),并能為電池慢速充電。它與單片機(jī)之間
17、能簡單地采用同步串行的方式進(jìn)行通信,因此連線簡單,僅需用到 、i/o和sclk三個(gè)口線。其電路圖如圖3.6所示:圖3.6時(shí)鐘電路圖3.5 液晶顯示部分液晶顯示部分采用的是fyd12864漢字圖形點(diǎn)陣液晶顯示模塊,它具有非常完備的字庫,內(nèi)置8192個(gè)16x16點(diǎn)漢字,128個(gè)16x8點(diǎn)ascii字符集,還可以顯示自定義圖形,能夠滿足多種顯示的需要。同時(shí)它具有并行和串行兩種工作方式,考慮到單片機(jī)i/o使用數(shù)目的限制,故在使用液晶顯示是采用的是串行通信的工作方式。其與單片機(jī)的連線圖如圖3.7所示: 圖3.7 液晶模塊連線圖3.6 語音報(bào)警電路部分語音報(bào)警電路部分由isd1420語音芯片及其外圍電路組
18、成。其中,a0-a7為語音芯片的地址端,每位地址代表125ms的尋址,l60個(gè)地址覆蓋20s(160xo125s=20s)的語音范圍,錄音及放音功能均從設(shè)定的起始地址開始。地址端與單片機(jī)的p0口相連,通過軟件將isd1420的地址置為ox00作為起始地址來進(jìn)行錄放音。錄音過程中,通過長按s1鍵,此時(shí)led點(diǎn)亮表示錄音正常。17、18管腳為:mic、micref,兩管腳之間接咪頭,進(jìn)行錄音。14、15管腳為sp+、sp-,由于采用的喇叭功率為1w,若接兩管腳間容易失真。故采用單端輸出,sp-接10uf到地以防止燒壞isd1420芯片,sp+接外部功率放大器lm386。喇叭功放電路如圖3.9所示。
19、圖3.9中r21為電位器,通過調(diào)節(jié)電位器阻值的大小可以調(diào)節(jié)喇叭聲音的高低。語音報(bào)警電路如圖3.8所示。圖3.8 語音報(bào)警電路圖3.9 喇叭功放電路3.7加熱控制電路部分本部分設(shè)計(jì)主要由驅(qū)動(dòng)器7407、光耦moc3041和雙向可控硅構(gòu)成。加熱控制電路主要利用光電耦合器實(shí)現(xiàn)強(qiáng)電與弱電的隔離,避免回執(zhí)機(jī)構(gòu)的運(yùn)行對(duì)前端電路的影響,并將光耦輸出的控制信號(hào)送至雙向可控硅的控光制端,實(shí)現(xiàn)控制其開關(guān)狀態(tài)的關(guān)斷與閉合,從而控制加熱器件的加熱時(shí)間,以實(shí)現(xiàn)對(duì)系統(tǒng)溫度的控制,并且此電路還有低噪聲、可靠性高、驅(qū)動(dòng)功率小、對(duì)電源電壓適應(yīng)能力強(qiáng)和抗干擾能力強(qiáng)等優(yōu)點(diǎn)。所以在控制電路的設(shè)計(jì)中,采用了此電路作為加熱控制開關(guān)。在加
20、熱部分中,采用電烙鐵作為加熱器件。當(dāng)雙向可控硅導(dǎo)通時(shí),電烙鐵加熱。其具體電路如圖3.10所示。圖3.10 加熱控制電路圖3.8 降溫控制電路部分本部分電路設(shè)計(jì)原理和加熱控制電路原理相同,由驅(qū)動(dòng)器7407、光耦moc3041、雙向可控硅組成。降溫器件為直流電機(jī),雙向可控硅導(dǎo)通后,直流電機(jī)驅(qū)動(dòng)進(jìn)行降溫處理。其原理圖如圖3.11所示。圖3.11 降溫控制電路圖第四章 微電腦多路染色機(jī)溫度控制器的軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì)采用c51語言,在windows xp環(huán)境下采用keil uvision2軟件進(jìn)行編寫,對(duì)stc89c52進(jìn)行編程。4.1軟件整體設(shè)計(jì)思路系統(tǒng)的軟件一般由主程序和若干子程序以及中斷程序組成
21、。在主程序中調(diào)用子程序,子程序中對(duì)每個(gè)模塊進(jìn)行實(shí)際的操作。通過對(duì)每個(gè)子程序的調(diào)試并結(jié)合硬件實(shí)現(xiàn)每個(gè)功能模塊的作用。然后在主程序中,合理的排列子程序的執(zhí)行順序,關(guān)鍵是要將整個(gè)程序的邏輯順序表示清楚。在系統(tǒng)軟件的設(shè)計(jì)過程中,采用模塊化的結(jié)構(gòu)設(shè)計(jì)思想能使每個(gè)模塊的設(shè)計(jì)無須過多地關(guān)聯(lián)其它模塊,可以獨(dú)立進(jìn)行修改和調(diào)試。為系統(tǒng)的開發(fā)及調(diào)試提供了相當(dāng)大的便利。系統(tǒng)軟件包括九個(gè)模塊:主模塊、中斷服務(wù)模塊、溫度采集模塊、7279鍵盤模塊、時(shí)鐘模塊、液晶顯示模塊、語音報(bào)警模塊、pid算法模塊和pid控制模塊。主程序主要完成液晶顯示及鍵盤處理功能,通過判斷是否有鍵按下,按下的鍵值與功能鍵是否相等來執(zhí)行相應(yīng)的功能,如
22、對(duì)溫度參數(shù)的設(shè)定、時(shí)間的設(shè)定、通道選擇等。中斷程序主要完成對(duì)ad數(shù)據(jù)采樣及處理、語音報(bào)警、pid控制算法子程序和pid控制值輸出等功能。其余子程序則是對(duì)系統(tǒng)功能的豐富及完善,如時(shí)鐘模塊。4.2 系統(tǒng)變量定義及i/o口分配在編寫軟件程序前,將stc89c52的i/o口進(jìn)行合理地分配,能使軟件編寫過程方便且資源不產(chǎn)生沖突。單片機(jī)的i/o口分配表如表4.1所示。表4.1 單片機(jī)i/o分配表 fyd12864液晶ds1302時(shí)鐘adc0804p1.0cs_lcdp1.3sclk_ds1302p3.6wrp1.1sid_lcdp1.4io_ds1302p3.7rdp1.2sclk_lcdp1.5rst_
23、ds1302p2.0cs_ad7279鍵盤cd4051加熱降溫控制p1.6csp2.3cd_ap2.1k_jianp1.7clkp2.4cd_bp2.2k_jiap3.4datp2.5cd_cisd1420p3.5keyp2.6play_e編寫程序時(shí),由于采用的程序語言為c51,在軟件編寫前應(yīng)定義全局變量,以供整體程序使用。全局變量定義情況如下所述:str416 存放四行十六列的液晶數(shù)據(jù)變量str_temp3 存放三位的溫度數(shù)據(jù)變量keynum 定義鍵值變量 flag 定義液晶界面切換標(biāo)志位flag1 定義溫度設(shè)定值個(gè)位/十位/百位切換標(biāo)志位 flag2 定義通道選擇標(biāo)志位 chanl 定義所
24、選通道號(hào)變量set_flag 定義時(shí)間設(shè)定值秒/分/時(shí)等的切換標(biāo)志位cc3 存放三次溫度采樣值 bai 定義溫度設(shè)定值的百位shi 定義溫度設(shè)定值的十位 ge 定義溫度設(shè)定值的個(gè)位同時(shí),在ds1302時(shí)鐘模塊變量和pid算法模塊變量的定義中,采用結(jié)構(gòu)體的定義方式將所需的變量定義在一個(gè)結(jié)構(gòu)體中,使數(shù)據(jù)處理清晰方便。其定義情況如下所示:1、ds1302時(shí)鐘模塊結(jié)構(gòu)體定義 typedef struct time_struct uchar second; 定義ds1302時(shí)鐘芯片的秒位變量 uchar minute; 定義ds1302時(shí)鐘芯片的分位變量 uchar hour; 定義ds1302時(shí)鐘芯片
25、的時(shí)位變量 uchar week;定義ds1302時(shí)鐘芯片的星期變量 uchar day;定義ds1302時(shí)鐘芯片的日變量 uchar month;定義ds1302時(shí)鐘芯片的月變量 uchar year;定義ds1302時(shí)鐘芯片的年變量 ; struct time_struct time_;2、pid算法模塊結(jié)構(gòu)體定義typedef struct pidvalue uchar ek3; 存放采樣值與設(shè)定值之間的差值 uchar ekflag3; 存放采樣值與設(shè)定值之間的差值的符號(hào)位 uchar kp; 定義pid中的p系數(shù)uchar ki; 定義pid中的i系數(shù)uchar kd; 定義pid中
26、的d系數(shù)uchar uk; 定義pid的輸出值 uchar rk; 定義pid中的設(shè)定值 uchar ck; 定義pid中的實(shí)際值 ;struct pidvalue pid; 4.3 軟件模塊化分析系統(tǒng)的軟件設(shè)計(jì)主要包括以下幾個(gè)模塊:主模塊、中斷服務(wù)模塊、溫度采集模塊、7279鍵盤模塊、時(shí)鐘模塊、液晶顯示模塊、語音報(bào)警模塊、pid算法模塊和pid控制模塊。下面是關(guān)于這幾個(gè)模塊的設(shè)計(jì)過程。4.3.1 主程序模塊在系統(tǒng)上電以后,主程序進(jìn)行時(shí)鐘芯片初始化、液晶初始化、定時(shí)器/計(jì)數(shù)器初始化、定時(shí)器/計(jì)數(shù)器啟動(dòng)、液晶顯示初始界面及鍵盤掃描判斷有鍵按下否。如無鍵按下,則顯示液晶初始化界面;有鍵按下,則分析
27、標(biāo)志位根據(jù)所得標(biāo)志位的值執(zhí)行相應(yīng)的子程序。然后通過相應(yīng)的鍵值執(zhí)行時(shí)間的設(shè)定、控制溫度的設(shè)定以及通道選擇的子程序。系統(tǒng)主流程圖如圖4.1所示:開始lcd初始化調(diào)用液晶初始化界面子程序定時(shí)器初始化時(shí)鐘芯片初始化鍵盤掃描,判斷flag=?0 12調(diào)用screen_2(),開定時(shí)器0中斷調(diào)用screen_3()圖4.1 主程序流程4.3.2 中斷服務(wù)模塊本次軟件設(shè)計(jì)中,中斷服務(wù)模塊的設(shè)計(jì)是整個(gè)軟件設(shè)計(jì)的重要部分。在中斷服務(wù)模塊中,通過開啟定時(shí)器t0來定時(shí)調(diào)用一些子程序進(jìn)行操作。在中斷服務(wù)模塊中執(zhí)行下列操作:調(diào)用adc0804進(jìn)行溫度數(shù)據(jù)的采集和處理;將采集到的溫度與設(shè)定的溫度進(jìn)行比較,判斷系統(tǒng)是要加熱
28、還是制冷,同時(shí)判斷是否進(jìn)行超溫報(bào)警的操作;然后啟動(dòng)pid算法和pid控制輸出等。在中斷服務(wù)模塊的設(shè)計(jì)中,通過設(shè)置th0=(65536-50000)/256、tl0=(65536-50000)%256。使得定時(shí)器t0的時(shí)間為50ms。其流程圖如圖4.2所示:中斷入口保護(hù)現(xiàn)場重賦定時(shí)器初值時(shí)間變量aa+aa=20?調(diào)用a/d子程序,清零aa采樣t=設(shè)定t?采樣t設(shè)定t?語音報(bào)警pid控制算法pid控制輸出恢復(fù)現(xiàn)場中斷返回nyyny n圖4.2 中斷服務(wù)程序流程圖4.3.3 ds1302時(shí)鐘模塊時(shí)鐘芯片ds1302內(nèi)含有一個(gè)實(shí)時(shí)時(shí)鐘/日歷和31字節(jié)靜態(tài)ram,通過簡單的串行接口與單片機(jī)進(jìn)行通信。實(shí)時(shí)
29、時(shí)鐘/日歷電路提供秒、分、時(shí)、日、日期、月、年的信息,每月的天數(shù)和閏年的天數(shù)可自動(dòng)調(diào)整。時(shí)鐘程序模塊主要完成對(duì)ds1302的讀寫以及將讀出值送入顯存單元等功能,并能夠在按鍵按下時(shí)進(jìn)行時(shí)鐘調(diào)整。ds1302主要由移位寄存器、控制邏輯、振蕩器、實(shí)時(shí)時(shí)鐘以及ram組成。在串行傳輸任何數(shù)據(jù)前,必須先把置為高電平“1”,數(shù)據(jù)輸入(寫操作)是在sclk的上升沿進(jìn)行,即在上升沿到達(dá)前,數(shù)據(jù)必須有效;數(shù)據(jù)的輸出(讀操作)是在sclk的下降沿進(jìn)行。如果為低電平,那么所有的數(shù)據(jù)傳輸終止,且i/o引腳變?yōu)楦咦杩範(fàn)顟B(tài)。寫入時(shí),最先傳入的一個(gè)字節(jié)為命令字,命令字節(jié)中包含讀/寫操作、操作對(duì)象和地址信息,隨后的時(shí)鐘周期在讀
30、操作時(shí)輸出數(shù)據(jù),在寫操作時(shí)輸入數(shù)據(jù)。無論是命令字還是數(shù)據(jù),它們的傳送都是低位在前,高位在后。 對(duì)時(shí)鐘芯片的操作,一般有以下六個(gè)步驟:1.通過對(duì)寫保護(hù)寄存器的操作,關(guān)閉寫保護(hù),使ds1302允許寫入; 2.通過將秒寄存器最高位置1,使時(shí)鐘振蕩器停止,以便設(shè)定初值;3.初始化ds1302,將設(shè)定值寫入各時(shí)鐘寄存器;4.將設(shè)定值讀出;5.將秒寄存器的最高位置0,啟動(dòng)時(shí)鐘;6.打開寫保護(hù),禁止對(duì)任何寄存器進(jìn)行寫操作。要正確讀寫ds1302,關(guān)鍵在于時(shí)序。在控制命令字輸入后的下一個(gè)sclk時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入ds1302,數(shù)據(jù)輸入從低位即位0開始, 同樣,在緊跟8位的控制命令字后的下一個(gè)sclk脈
31、沖的下降沿讀出ds1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位0位至高位7。單字節(jié)數(shù)據(jù)讀寫時(shí)序如圖4.3所示。 圖4.3 單字節(jié)數(shù)據(jù)讀寫時(shí)序圖在對(duì)ds1302操作時(shí),定義一個(gè)結(jié)構(gòu)體time_struct來存儲(chǔ)時(shí)鐘的時(shí)、分、秒、日期等數(shù)據(jù)。在ds1302時(shí)鐘芯片的程序編寫中,關(guān)鍵是搞懂ds1302的寫子程序以及讀子程序。寫子程序及讀子程序的流程圖如圖4.4、圖4.5所示。在時(shí)鐘模塊中,通過寫子程序?qū)r(shí)間初值寫入ds1302芯片寄存器中,然后通過讀子程序?qū)懭氲某踔底x出并通過液晶顯示子程序?qū)r(shí)間顯示出來。由于在硬件電路中并沒有外接干電池故在程序中寫入“2011年5月25日 wed 02:30:00”。入口允許
32、傳輸數(shù)據(jù)發(fā)送地址接受數(shù)據(jù)關(guān)閉傳輸數(shù)據(jù)返回入口允許傳輸數(shù)據(jù)發(fā)送地址發(fā)送數(shù)據(jù)返回關(guān)閉傳輸數(shù)據(jù) 圖4.4 寫子程序流程圖圖4.5 讀子程序流程圖ds1302中共有12個(gè)寄存器,其中7個(gè)寄存器與日歷、時(shí)鐘有關(guān),它們均以bcd碼格式存放,如表4.2所示:表4.2 ds1302時(shí)鐘寄存器地址與格式寄存器名 命令字取值范圍 格 式 讀操作 寫操作 d7d6d5d4d3d2d1d0秒寄存器81h80h0059ch秒(十位)秒(個(gè)位)分寄存器83h82h00590分(十位)分(個(gè)位)時(shí)寄存器85h54h0112或012312或240 a/p 時(shí)(十位)時(shí)(十位)時(shí)(個(gè)位)日寄存器87h86h 0128/30/3
33、100日(十位)日(個(gè)位)月寄存器89h88h0112000月(十位)月(個(gè)位)周寄存器8bh8ah010700000周年寄存器8dh8ch0099年(十位)年(個(gè)位)4.3.4 溫度采集模塊在溫度采集模塊中,通過cd4051八路模擬開關(guān)與模數(shù)轉(zhuǎn)換器adc0804相結(jié)合的方法達(dá)到多路溫度采集的功能。cd4051是單8通道數(shù)字控制模擬電子開關(guān),有三個(gè)二進(jìn)制控制輸入端a、b、c和inh輸入,具有低導(dǎo)通阻抗和很低的截止漏電流。在操作過程中,只要改變a、b、c的值,就可以選通不同的通道。其中,inh是禁止端,當(dāng)inh置1時(shí),所有通道截止。cd4051的真值表如表4.3所示。 表4.3 cd4051真值
34、表inhcba輸出00000000110010200113010040101501106011171均不導(dǎo)通adc0804是8位逐次逼近型a/d轉(zhuǎn)換器,它的轉(zhuǎn)換時(shí)間是100us,adc0804進(jìn)行模擬/數(shù)字的轉(zhuǎn)換時(shí),控制adc0804動(dòng)作的信號(hào)只有cs、wr、rd。因此,在進(jìn)行a/d轉(zhuǎn)換的軟件編寫中,只需要送出所需的cs、wr、rd的控制信號(hào)。其流程圖如圖4.6所示。啟動(dòng)a/d轉(zhuǎn)換p0=0xff,允許輸入數(shù)據(jù)調(diào)用100us延時(shí)子程序p0口數(shù)據(jù)處理送顯示返回入口圖4.6 a/d轉(zhuǎn)換流程圖4.3.5 液晶顯示模塊在液晶顯示模塊中,采用的是fyd12864液晶顯示模塊。它具有兩種通訊模式:并行通訊模
35、式和串行通訊模式。由于i/o口的限制和考慮到接線數(shù)量的簡單,采用串行通訊模式將psb直接接地,則液晶顯示模塊為串口通訊模式。在液晶顯示模塊與單片機(jī)stc89c52的連接中,只需連接cs、sid、clk三根口線,它們分別為:模組片選端、串行數(shù)據(jù)輸入端、串行同步時(shí)鐘。該模塊的液晶每行可以顯示8個(gè)漢字(雙字節(jié))或16個(gè)半角字符(單字節(jié)),共可以顯示四行。在對(duì)每行進(jìn)行送數(shù)時(shí),要先把要顯示的漢字或字符的位置算好,否則很容易顯示亂碼。字符顯示ram在液晶模塊中的地址為80h90h,字符顯示ram的地址與32個(gè)字符顯示區(qū)域有著一一對(duì)應(yīng)的關(guān)系,其對(duì)應(yīng)關(guān)系如表4.4所示:表4.4 字符顯示ram地址表第一行首址
36、80h81h82h83h84h85h86h87h第二行首址90h91h92h93h94h95h96h97h第三行首址88h89h8ah8bh8ch8dh8eh8fh第四行首址98h99h9ah9bh9ch9dh9eh9fh在對(duì)液晶顯示程序的編寫過程中,要對(duì)液晶的相關(guān)時(shí)序圖有所了解,這是將液晶顯示子程序?qū)懞玫闹攸c(diǎn)和難點(diǎn)。其串行模式數(shù)據(jù)傳輸時(shí)序圖如圖4.7所示,串口方式讀寫數(shù)據(jù)時(shí)序圖如圖4.8所示。圖4.7 串行模式數(shù)據(jù)傳輸時(shí)序圖圖4.8 串口方式讀寫數(shù)據(jù)時(shí)序圖由圖4.7可知,在進(jìn)行數(shù)據(jù)傳輸時(shí),無論是命令字還是數(shù)據(jù),都必須是在cs信號(hào)為高電平的情況下進(jìn)行的,一個(gè)字節(jié)的數(shù)據(jù)要先傳送高四位,中間間隔四
37、個(gè)低電平,再傳送該數(shù)據(jù)的低四位。在使用液晶顯示模塊時(shí),必須進(jìn)行液晶的初始化。設(shè)定好液晶的工作模式以及顯示狀態(tài),比如:清除顯示、顯示狀態(tài)開/關(guān)、游標(biāo)或顯示移位控制、反白選擇等。將液晶初始化后進(jìn)行發(fā)送子程序的編寫,其流程圖如圖4.9所示。在液晶的寫子程序中調(diào)用兩次發(fā)送子程序,分別用來發(fā)送指令與數(shù)據(jù),并且必須先發(fā)送指令再發(fā)送數(shù)據(jù)。液晶的寫子程序如圖4.10所示。ny入口i=0i8?i+,數(shù)據(jù)最高位送數(shù)據(jù)線產(chǎn)生同步時(shí)鐘信號(hào)返回入口cs=1發(fā)送寫指令/數(shù)據(jù)取高四位并發(fā)送取低四位并發(fā)送返回圖4.9 發(fā)送子程序流程圖 圖4.10 寫子程序流程圖將發(fā)送以及寫子程序編寫好后,通過調(diào)用寫子程序?qū)⒁壕У娘@示子程序編
38、寫好,其流程圖如圖4.11所示。n返回y入口液晶初始化將寫命令寫入首字節(jié)設(shè)置顯示位置將寫數(shù)據(jù)寫入首字節(jié)將要顯示的字符的代碼送數(shù)據(jù)線是否寫完?圖4.11 液晶顯示子程序流程圖以下是編程時(shí)經(jīng)常用到的控制器接口信號(hào)和指令的說明:1. rs、r/w的配合選擇決定控制界面的4種模式及e信號(hào):表4.5 控制界面的4種模式rsr/w功能說明llmpu寫指令到指令暫存器(ir)lh讀出忙標(biāo)志(bf)及地址記數(shù)器(ac)的狀態(tài)hlmpu寫入數(shù)據(jù)到數(shù)據(jù)暫存器(dr)hhmpu從數(shù)據(jù)暫存器(dr)中讀出數(shù)據(jù)表4.6 e信號(hào)e狀態(tài)執(zhí)行動(dòng)作結(jié)果高低i/o緩沖dr配合/w進(jìn)行寫數(shù)據(jù)或指令高dri/o緩沖配合r進(jìn)行讀數(shù)據(jù)或
39、指令低/低高無動(dòng)作2. 模塊控制芯片提供兩套控制命令,基本指令和擴(kuò)充指令,一般情況下,只需用到基本指令,基本指令如表4.7所示:表4.7 基本指令表(re=0)指 令 碼功 能指令rsr/wd7d6d5d4d3d2d1d0清除 顯示0000000001將ddram填滿20h,并且設(shè)定ddram的地址計(jì)數(shù)器(ac)到00h地址 歸位000000001x設(shè)定ddram的地址計(jì)數(shù)器(ac)到00h,并且將游標(biāo)移到開頭原點(diǎn)位置;這個(gè)指令不改變ddram 的內(nèi)容顯示狀態(tài)開/關(guān)0000001dcbd=1: 整體顯示 on c=1: 游標(biāo)on b=1:游標(biāo)位置反白允許進(jìn)入點(diǎn)設(shè)定00000001i/ds指定在
40、數(shù)據(jù)的讀取與寫入時(shí),設(shè)定游標(biāo)的移動(dòng)方向及指定顯示的移位設(shè)定gram地址0001ac5ac4ac3ac2ac1ac0設(shè)定cgram 地址設(shè)定ddram 地址0010ac5ac4ac3ac2ac1ac0設(shè)定ddram 地址(顯示位址) 第一行:80h87h 第二行:90h97h讀取忙標(biāo)志和地址01bfac6ac5ac4ac3ac2ac1ac0讀取忙標(biāo)志(bf)可以確認(rèn)內(nèi)部動(dòng)作是否完成,同時(shí)可以讀出地址計(jì)數(shù)器(ac)的值寫數(shù)據(jù)到ram10數(shù) 據(jù)將數(shù)據(jù)d7d0寫入到內(nèi)部的ram (ddram/cgram/iram/gram)讀出ram值11數(shù) 據(jù)從內(nèi)部ram讀取數(shù)據(jù)d7d0 (ddram/cgram/
41、iram/gram)4.3.6 語音報(bào)警模塊在語音報(bào)警模塊中,使用的是isd1420語音芯片。其功能主要是在采集溫度大于設(shè)定溫度時(shí),將語音芯片的playe端置“0”,此時(shí)啟動(dòng)語音芯片的播放功能,實(shí)現(xiàn)報(bào)警作用。在isd1420語音芯片中,a0-a7地址輸入有雙重功能,根據(jù)地址中的a6,a7的電平狀態(tài)決定功能。如果a6,a7有一個(gè)是低電平,a0a7輸入全解釋為地址位,作為起始地址用。a0-a7 由低位向高位排列,每位地址代表125 毫秒的尋址,160個(gè)地址覆蓋20秒(160*0.125s=20s)的語音范圍,錄音及放音功能均從設(shè)定的起始地址開始,錄音結(jié)束由停止鍵操作決定,芯片內(nèi)部自動(dòng)在該段的結(jié)束位
42、置插入結(jié)束標(biāo)志(eom);而放音時(shí)芯片遇到eom標(biāo)志即自動(dòng)停止放音。在isd語音報(bào)警的硬件電路中,人工手動(dòng)錄取報(bào)警音樂。將芯片的25腳(recled)端通過按鍵接地,當(dāng)按鍵接地時(shí),recled置“0”,此時(shí)isd1420錄音。在錄音前通過軟件賦予p0口首地址0x00,而語音芯片的地址端與p0口相連,故錄音首地址為0x00。當(dāng)溫度超過設(shè)定溫度時(shí),將isd操作模式設(shè)為軟件置playe為“0”,此時(shí)播放錄音。isd1420語音芯片的地址功能表如表4.8所示。表4.8 isd1420地址功能表地址狀態(tài)功能說明dip開關(guān)12345678(on=0,off=1)地址位a0a1a2a3a4a5a6a7(1為
43、高電平,0為低電平,*為高或低電平)00000000一段式最長20 秒錄放音,從首地址開始。10000000以八位二進(jìn)制表示地址,每個(gè)地址代表125 毫秒。地址模式00000010一段從a6 地址開始的12 秒錄放音。*0只要a6、a7 有一位是0,就處于地址模式。*0*00010011循環(huán)放音操作,按一下pe 鍵可循環(huán)放音,按pl 鍵停止;或按住pl 鍵放音,松開即停止。操作模式00001011按順序連續(xù)分段錄放音,每段語音長度不限。00000011地址指針復(fù)位,開始錄放第一段。10001011按pe 鍵可快速選段放音isd1420語音芯片的程序流程圖如圖4.12所示:入口設(shè)置isd1420
44、工作方式寫入播放首地址playe端置“0”延時(shí)10秒playe端置“1”返回 圖4.12 語音芯片放音流程圖4.3.7 7279鍵盤模塊7279鍵盤模塊在系統(tǒng)中的作用是完成對(duì)按鍵按下的識(shí)別和對(duì)相應(yīng)按鍵進(jìn)行處理。它包括溫度設(shè)定、時(shí)鐘的調(diào)整、檢測通道的選擇。在設(shè)計(jì)系統(tǒng)按鍵控制的過程中,考慮到單片機(jī)i/o口使用的方便和合理,采用7272鍵盤。同時(shí),傳統(tǒng)的按鍵在實(shí)際應(yīng)用當(dāng)中,應(yīng)該進(jìn)行消抖處理。常用的方法有:硬件消抖和軟件消抖。而7279鍵盤顯示模塊具有自動(dòng)去抖動(dòng)功能。因此,使用7279鍵盤能更加穩(wěn)定和方便。7279鍵盤顯示板具有許多指令,比如:右移指令(a0h)、循環(huán)左移指令(a3h)、閃爍控制(88
45、h)、消隱控制(98h)、讀鍵盤數(shù)據(jù)指令(15h)等。在系統(tǒng)中,關(guān)鍵用到的是7279的讀鍵盤數(shù)據(jù)指令。通過該條指令將7279鍵盤的每個(gè)按鍵鍵值讀出并用7279顯示板得數(shù)碼管顯示出來。其鍵值表如表4.9所示。表 4.9 7279鍵盤鍵值表按鍵號(hào)鍵值功能說明161fh秒/分/時(shí)/星期等時(shí)間切換151eh時(shí)間加141dh時(shí)間減131ch液晶工作界面切換1217h溫度設(shè)定值個(gè)位/十位/百位切換1116h溫度設(shè)定值加1015h溫度設(shè)定值減914h通道選擇在7279鍵盤模塊中,通過讀鍵盤指令將讀出的鍵盤數(shù)據(jù)賦給key_num,通過讀出的key_num值與表4.9中的鍵值相比較,如果相等的話轉(zhuǎn)入相應(yīng)的程序中
46、進(jìn)行處理。在系統(tǒng)中,使用了8個(gè)按鍵分別為916,其鍵值如表4.9中所示。在進(jìn)入鍵盤模塊時(shí),當(dāng)讀出的鍵盤值為“1ch”時(shí)flag=1,此時(shí)系統(tǒng)啟動(dòng)從開機(jī)界面轉(zhuǎn)入工作界面。第二次讀出鍵值為“1ch”時(shí)flag=2,此時(shí)系統(tǒng)結(jié)束工作進(jìn)入結(jié)束界面。第三次讀出鍵盤值為“1ch”時(shí)flag=1,再次進(jìn)入工作界面。當(dāng)讀出的鍵值為“1fh”時(shí)set_flag+,set_flag加到8時(shí),再次置“1”。set_flag值大小從16,其對(duì)應(yīng)的處理方式為秒、分、時(shí)、星期、日、月、年的設(shè)置。其中,鍵值為“1eh”、“1dh”分別對(duì)應(yīng)時(shí)間加、時(shí)間減。當(dāng)讀到的鍵值為“17h”時(shí)flag1+,flag1值的大小從1到3,分
47、別對(duì)應(yīng)溫度的個(gè)位、十位、百位。而鍵值“16h”、“15h”分別對(duì)應(yīng)溫度加,溫度減。當(dāng)讀到的鍵值為“14h”時(shí)flag2+,其值大小從1到3,分別對(duì)應(yīng)通道0、通道1、通道2。其流程圖如圖4.13所示。讀鍵值,賦給key_num入口判定鍵值,key_num=?1ch1fh07h04h界面設(shè)置時(shí)間設(shè)置溫度設(shè)置通道選擇返回圖4.13 7279鍵盤模塊流程圖4.3.8 pid算法模塊在微電腦多路染色機(jī)溫度控制器的軟件設(shè)計(jì)中,pid算法模塊是重中之重,同時(shí)也是一個(gè)比較大的難點(diǎn)。pid控制是目前工程上應(yīng)用最廣的一種控制方法,它的優(yōu)點(diǎn)在于結(jié)構(gòu)簡單,且不依賴被控對(duì)象模型,控制所需的信息量也很少,因而非常易于工程
48、實(shí)現(xiàn),同時(shí)通過參數(shù)的調(diào)整也可獲得較好的控制效果。pid控制是將誤差信號(hào)的比例(p)、積分(i)和微分通過線性組合構(gòu)成控制量,故稱之為pid控制。因此,在使用中只需要設(shè)定三個(gè)參數(shù)即可。在軟件編寫中,通過使用結(jié)構(gòu)體將pid算法的變量都定義好。分別有偏差值、偏差值符號(hào)、p系數(shù)、i系數(shù)、d系數(shù)、設(shè)定值、實(shí)際值。在進(jìn)行pid運(yùn)算時(shí),通過將設(shè)定值與采樣值相減,即=設(shè)定值-采樣值。則為本次偏差信號(hào), 為前一次偏差信號(hào),為前兩次的偏差信號(hào),為pid控制算法的比例系數(shù),為pid控制算法的積分系數(shù),為pid控制算法的微分系數(shù)。然后將這些數(shù)據(jù)按增量式pid控制算法的計(jì)算公式進(jìn)行計(jì)算。pid算法是這樣的:控制器的輸出
49、是與控制器的輸入(誤差)成正比,與輸入的積分成正比和輸入的導(dǎo)數(shù)成正比的這三個(gè)分量之和。pid控制器的性能就決定于、這三個(gè)系數(shù)。采用增量式pid算法的系統(tǒng)框圖如圖4.14所示。圖4.14 增量式pid算法系統(tǒng)框圖當(dāng)增大比例系數(shù)時(shí),系統(tǒng)的動(dòng)作變靈敏,速度加快,穩(wěn)態(tài)誤差減小;但振蕩次數(shù)也會(huì)加多,調(diào)節(jié)時(shí)間加長。積分控制使系統(tǒng)的穩(wěn)定性下降,但能消除穩(wěn)態(tài)誤差,提高系統(tǒng)的控制精度。微分控制可以改善動(dòng)態(tài)特性,它對(duì)偏差的變化趨勢進(jìn)行超前調(diào)整,從而可以有效地提高系統(tǒng)的動(dòng)態(tài)性能,加大阻尼,減小超調(diào)量。pid運(yùn)算后的最終結(jié)果是算出pid控制值。通過定時(shí)器1定時(shí)50ms,每50mspid控制值自減直到控制值減為“0”。
50、此時(shí),系統(tǒng)進(jìn)行加熱降溫處理。其流程圖如圖4.15所示。系統(tǒng)設(shè)計(jì)的pid參數(shù)的大小是通過軟件不斷的來調(diào)整以達(dá)到控制溫度的目的的,過程比較繁瑣,需要耐心。經(jīng)過調(diào)試,取kp=90、ki=31、kd=43。圖4.15 pid控制算法流程圖4.3.9 pid控制模塊本模塊的作用是通過定時(shí)器1將pid算法子程序中計(jì)算出的pid值送給pid控制模塊進(jìn)行相應(yīng)的處理。其處理方法為:通過定時(shí)器1定時(shí)50毫秒,當(dāng)時(shí)間到50毫秒時(shí)將pid值自減,直到pid值減為0為止,在這段時(shí)間內(nèi)進(jìn)行加熱的處理。主要原理是采用pwm波控制雙向可控硅的通斷時(shí)間來進(jìn)行溫度控制。在pid算法子程序中,pid的滿值為100。則由此可知,pid控制子程序的周期為5秒。如圖4.16所示。pwm 1 0 1 2 3 100 t/50ms 一個(gè)控制周期 控制值輸出 pwm 1 0 5 t/s圖4.16 pwm控制輸出原理圖第五章 微電腦多路染色機(jī)溫度控制器的系統(tǒng)調(diào)試
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 以完成一定工作任務(wù)為期限的勞動(dòng)合同理解與適用
- 2025版快遞運(yùn)輸快遞包裹電子標(biāo)簽應(yīng)用合同3篇
- 展柜合同樣本
- 2025版城市軌道交通項(xiàng)目合作協(xié)議3篇
- 二零二五年冷鏈運(yùn)輸包裝材料承包合同3篇
- 借款合同補(bǔ)充協(xié)議書
- 2024年無鉛銀漿項(xiàng)目可行性研究報(bào)告
- 北京協(xié)和醫(yī)學(xué)院《資源與環(huán)境經(jīng)濟(jì)學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年度網(wǎng)絡(luò)安全風(fēng)險(xiǎn)評(píng)估與風(fēng)險(xiǎn)控制合同
- 2024年中國數(shù)顯功率表市場調(diào)查研究報(bào)告
- 研究生英語閱讀教程(基礎(chǔ)級(jí))第三版-課后習(xí)題答案
- 【高等數(shù)學(xué)練習(xí)題】皖西學(xué)院專升本自考真題匯總(附答案解析)
- 文件袋、檔案袋密封條模板
- 校本課程《典籍里的中國》教案
- 四年級(jí)上冊(cè)信息技術(shù)教案-9演示文稿巧編輯 |人教版
- 2022年人力資源管理各專業(yè)領(lǐng)域必備知識(shí)技能
- 租賃(出租)物品清單表
- 提高聚氯乙烯卷材地面一次驗(yàn)收合格率
- 甲型H1N1流感防治應(yīng)急演練方案(1)
- LU和QR分解法解線性方程組
- 漏油器外殼的落料、拉深、沖孔級(jí)進(jìn)模的設(shè)計(jì)【畢業(yè)論文絕對(duì)精品】
評(píng)論
0/150
提交評(píng)論