版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 本科畢業(yè)設(shè)計(jì)(論文)</p><p><b> (201 屆)</b></p><p> 論文題目 數(shù)字式變壓器溫度測(cè)控系統(tǒng)</p><p> (英文) The Digital Temperature Measurement System of The Transformer</p>
2、<p> 所在學(xué)院 電子信息學(xué)院 </p><p> 專(zhuān)業(yè)班級(jí) 電氣工程及其自動(dòng)化 </p><p> 學(xué)生姓名 學(xué)號(hào) </p><p> 指導(dǎo)教師 職稱(chēng) </p><p> 完成日期
3、 年 月 日</p><p><b> 摘 要</b></p><p> 變壓器是一種常見(jiàn)的電力設(shè)備,在使用過(guò)程中有溫度過(guò)高等問(wèn)題,這種問(wèn)題會(huì)造成變壓器損毀等后果,這就要我們?cè)O(shè)計(jì)變壓器溫度測(cè)控系統(tǒng)來(lái)解決這個(gè)問(wèn)題。</p><p> 本文應(yīng)用STC89C51系列單片機(jī)和熱敏電阻,對(duì)干式變壓器溫度監(jiān)測(cè)和控
4、制系統(tǒng)進(jìn)行研究。本設(shè)計(jì)中應(yīng)用查表法和插值法對(duì)變壓器繞組溫度進(jìn)行測(cè)量,通過(guò)設(shè)置溫度上限的方式給出報(bào)警信號(hào),同時(shí)去控制散熱電機(jī)工作。</p><p> 本文的設(shè)計(jì)成果可用于干式變壓器的溫度上限報(bào)警和自動(dòng)調(diào)節(jié)散熱處理。</p><p> 關(guān)鍵詞:STC89C51單片機(jī);干式變壓器;溫度測(cè)控;熱敏電阻;</p><p><b> Abstract</b
5、></p><p> The transformer is a common electric power equipment, in use process, and the high temperature problem, this problem will cause damage to the consequences of transformer, etc, this will be our
6、temperature measurement and control system of transformer design to solve the problem.</p><p> The applied STC89C51 series microcontroller and thermistors, dry type transformer temperature monitoring and co
7、ntrol system for research. This design application querying method and interpolation method of transformer winding temperature measuring, through the way of upper limit set temperature alarm signal, and to control motor
8、cooling.</p><p> This design results can be used to dry type transformer temperature limit alarm and automatic adjustment heat treatment.</p><p> Key words: STC89C51 single-chip microcomputer;
9、 Dry type transformer; Temperature measurement and control; Thermistors;</p><p><b> 目 錄</b></p><p><b> 1 引言1</b></p><p><b> 2 總體設(shè)計(jì)3</b><
10、/p><p><b> 3 硬件設(shè)計(jì)4</b></p><p> 3.1 STC12C5A60S2單片機(jī)4</p><p> 3.2 熱敏電阻5</p><p> 3.3 A/D轉(zhuǎn)換6</p><p> 3.4 報(bào)警控制電路7</p><p> 3.5 風(fēng)
11、機(jī)控制輸出電路8</p><p> 3.6 液晶顯示模塊9</p><p><b> 4 軟件設(shè)計(jì)10</b></p><p> 4.1 軟件IDE簡(jiǎn)介10</p><p> 4.2流程圖及程序11</p><p> 4.2.1主程序流程圖及程序如圖4-111</p&g
12、t;<p> 4.2.2液晶1864程序13</p><p> 4.2.3熱敏電阻19</p><p> 5 制作和調(diào)試20</p><p> 5.1 硬件電路的布局與焊接20</p><p> 5.1.1 電路組成20</p><p> 5.1.2 系統(tǒng)制作20</p>
13、;<p> 5.2 系統(tǒng)調(diào)試20</p><p> 5.3 部分調(diào)試結(jié)果20</p><p><b> 6 結(jié)論25</b></p><p><b> 致 謝26</b></p><p><b> 參考文獻(xiàn)27</b></p>
14、<p> 附錄1 系統(tǒng)實(shí)物圖28</p><p> 附錄2 實(shí)驗(yàn)原理圖31</p><p> 附錄3 畢業(yè)設(shè)計(jì)作品說(shuō)明書(shū)32</p><p> 附錄4 軟件代碼34</p><p><b> 1 引言</b></p><p> 隨著我國(guó)經(jīng)濟(jì)建設(shè)的迅速發(fā)展,城鄉(xiāng)
15、用電負(fù)荷不斷增加。無(wú)油、防火、壽命長(zhǎng)、節(jié)能、低噪、維護(hù)簡(jiǎn)單和安全可靠的干式變壓器得以越來(lái)越廣泛的應(yīng)用。據(jù)有關(guān)資料記載,進(jìn)20年來(lái)干式變壓器得到了迅速發(fā)展,特別是在配電變壓器中,干式變壓器所占比例越來(lái)越大,發(fā)展國(guó)家已占50%以上;我國(guó)起步晚,近年大中華城市約占30%~40%,北京、上海、廣州和深圳等城市已達(dá)60%以上。</p><p> 變壓器是輸變電系統(tǒng)中的主要設(shè)備,是一種用于交流電能轉(zhuǎn)換的電氣設(shè)備。它可以把一
16、種交流電壓、交流電流的電能轉(zhuǎn)換成相同頻率的另一種交流電壓、交流電流的電能。變壓器在電力系統(tǒng)中的主要作用是變換電壓,以利于電能的傳輸。其性能、質(zhì)量直接關(guān)系到電力系統(tǒng)運(yùn)行的可靠性和運(yùn)營(yíng)效益。自改革開(kāi)放以來(lái),為滿(mǎn)足我國(guó)電力工業(yè)的發(fā)展建設(shè)需要,電力變壓器行業(yè)得到了較快發(fā)展。</p><p> 我國(guó)已經(jīng)開(kāi)始試用激光法測(cè)量變壓器的繞組溫度,并且已試用于生產(chǎn)。所以變壓器激光載波測(cè)溫,就是采用激光作為載波,把含有溫度信息的被調(diào)
17、制信號(hào),通過(guò)激光傳播到無(wú)線電的地方,以達(dá)到直接測(cè)量變壓器繞組熱點(diǎn)溫度的目的。它的工作原理大致如下:利用對(duì)溫度反應(yīng)靈敏的熱敏電阻作為感溫元件,把它放置在高電位處的被測(cè)點(diǎn)上。這個(gè)熱敏電阻與其它電子器件組成一個(gè)RC振蕩器,C為定值。當(dāng)熱敏電阻阻值隨溫度的升高而降低時(shí),振蕩器的頻率增加,這樣就把溫度信息的變化,轉(zhuǎn)換為頻率信息的變化,用這個(gè)變化著的頻率信息去控制方向性強(qiáng)、單色性好、功率密度高的激光束的電源,引起激光束的脈沖變化,通過(guò)發(fā)射透視發(fā)射出
18、去。脈沖激光束由接受裝置收到后再把光信號(hào)變成電信,然后再經(jīng)過(guò)放大、整形、解調(diào)、直流放大等一系列過(guò)程,又把溫度數(shù)值還原直接由表計(jì)刻度指示出來(lái)。利用激光測(cè)試變壓器繞組溫度,關(guān)鍵是埋入感溫元件,并在變壓器內(nèi)部安裝發(fā)射裝置,因?yàn)樵诶@組上埋入感溫元件十分復(fù)雜,并且測(cè)量可靠性差。因此,目前這個(gè)問(wèn)題尚在研究中。</p><p> 干式變壓器的安全運(yùn)行和使用壽命很大程度上取決變壓器繞組絕緣的安全可靠,繞組溫度超過(guò)絕緣材料的耐熱
19、極限而使絕緣材料破壞是導(dǎo)致變壓器不能正常工作的主要因素之一,因而對(duì)變壓器的運(yùn)行溫度進(jìn)行實(shí)時(shí)監(jiān)測(cè),控制及其報(bào)警控制是十分重要的。</p><p><b> 2 總體設(shè)計(jì)</b></p><p> 不同型號(hào)的干式變壓器繞組絕緣、電壓等級(jí)和容量等都不相同,運(yùn)行過(guò)程中的溫升標(biāo)準(zhǔn)也不一樣。因此,為使本溫度控制系統(tǒng)具有通用性,所以溫度限制和溫升標(biāo)準(zhǔn)均從鍵盤(pán)上以軟件賦值的方式進(jìn)
20、行設(shè)定,以某廠生產(chǎn)的SCR10型變壓器為例進(jìn)行分析,該變壓器絕緣耐熱級(jí)為H級(jí),風(fēng)機(jī)啟動(dòng)溫度為100℃,風(fēng)機(jī)溫度為80℃,耐熱報(bào)警溫度為130℃,超溫跳閘溫度為150℃。</p><p> 本設(shè)計(jì)以STC89C51單片機(jī)為核心,并由、電源供電電路、溫度采集電路、電機(jī)控制、液晶顯示模塊和蜂鳴警示模塊,其總體的硬件組成框圖如圖2-1所示。</p><p> 圖2-1 硬件系統(tǒng)結(jié)構(gòu)方框圖<
21、;/p><p> 每一模塊的具體功能解釋如下:</p><p> 1、電源供電電路:指的是單片機(jī)供電電源,完成由220V交流到直流5V的變換</p><p> 2、溫度采樣電路:主要由熱敏電阻測(cè)溫</p><p> 3、液晶顯示模塊:顯示室內(nèi)溫度等</p><p> 4、蜂鳴警示模塊:溫度超過(guò)給定值后給予用戶(hù)提示
22、</p><p> 5、風(fēng)機(jī)控制模塊:當(dāng)溫度達(dá)到最高溫度時(shí),風(fēng)機(jī)啟動(dòng)降溫</p><p> 6、A/D轉(zhuǎn)換模塊:把被控對(duì)象的各種模擬信息編程計(jì)算機(jī)可以識(shí)別的數(shù)字信息</p><p><b> 3 硬件設(shè)計(jì)</b></p><p> 溫度控制系統(tǒng)由溫度測(cè)量、溫度監(jiān)視和輸出控制三部分組成,如圖1所示。具體包括89C5
23、1單片機(jī)、溫度傳感器、A/D轉(zhuǎn)換、鍵盤(pán)及顯示電路、報(bào)警控制電路和風(fēng)機(jī)控制輸出電路等。</p><p> 3.1 STC12C5A60S2單片機(jī)</p><p> STC89C51系列單片機(jī)是宏晶科技生產(chǎn)的單時(shí)鐘/及其周期(1T)的單片機(jī),是高速/低功耗/超強(qiáng)抗干擾的第一代8051單片機(jī),指令代碼完全兼容傳統(tǒng)8051,但速度快8~12倍。內(nèi)部集成MAX810專(zhuān)用復(fù)位電路,2路PWM,8路
24、高速10位A/D轉(zhuǎn)換(250K/S),針對(duì)電機(jī)控制,強(qiáng)干擾場(chǎng)合。</p><p> 圖 3-1 STC12C5A60S2單片機(jī)</p><p> 1-8腳:通用I/O接口p1.0~p1.7</p><p><b> 9腳:rst復(fù)位鍵</b></p><p> 10 .11腳:RXD串口輸入 TXD串口輸出<
25、;/p><p> 12-19:I/O p3接口 (12,13腳 INT0中斷0 INT1中斷1</p><p> 14,15 : 計(jì)數(shù)脈沖T0 T1 </p><p> 16,17: WR寫(xiě)控制 RD讀控制輸出端)</p><p> 18,19: 晶振諧振器 20 地線 </p><p> 21-28 p
26、2 接口 高8位地址總線</p><p> 29: psen 片外rom選通端 單片機(jī)對(duì)片外rom操作時(shí) 29腳(psen)輸出低電平</p><p> 30:ALE/PROG 地址鎖存器</p><p> 31:EA rom取指令控制器 高電平片內(nèi)取 低電平片外取</p><p> 32-39:p0.7~p0.0(注意此接口的順
27、序與其他I/O接口不同 與引腳號(hào)的排列順序相反)</p><p><b> 40:電源+5V</b></p><p><b> 3.2 熱敏電阻</b></p><p> 熱敏電阻器是敏感元件的一類(lèi),按照溫度系數(shù)不同分為正溫度系數(shù)熱敏電阻器(PTC)和負(fù)溫度系數(shù)熱敏電阻器(NTC)。熱敏電阻器的典型特點(diǎn)是對(duì)溫度敏感,
28、不同的溫度下表現(xiàn)出不同的電阻值。正溫度系數(shù)熱敏電阻器(PTC)在溫度越高時(shí)電阻值越大,負(fù)溫度系數(shù)熱敏電阻器(NTC)在溫度越高時(shí)電阻值越低,它們同屬于半導(dǎo)體器件。</p><p> 電阻值計(jì)算例:試根據(jù)電阻-溫度特性表,求25°C時(shí)的電阻值為5(kΩ),B值偏差為50(K)的熱敏電阻在10°C~30°C的電阻值。步驟(1)根據(jù)電阻-特性表,求常數(shù)C、D、E。To=25+273.15
29、T1=10+273.15T2=20+273.15T3=30+273.15(2)代入BT=CT2+DT+E+50,求BT。(3)將數(shù)值代入R=5exp {(BT1/T-1/298.15)},求R。*T:10+273.15~30+273.15。</p><p> NTC(Negative Temperature CoeffiCient)是指隨溫度上升電阻呈指數(shù)關(guān)系減小、具有負(fù)溫度系數(shù)的熱敏電阻現(xiàn)象和材料.該材料是利
30、用錳、銅、硅、鈷、鐵、鎳、鋅等兩種或兩種以上的金屬氧化物進(jìn)行充分混合、成型、燒結(jié)等工藝而成的半導(dǎo)體陶瓷,可制成具有負(fù)溫度系數(shù)(NTC)的熱敏電阻.其電阻率和材料常數(shù)隨材料成分比例、燒結(jié)氣氛、燒結(jié)溫度和結(jié)構(gòu)狀態(tài)不同而變化.現(xiàn)在還出現(xiàn)了以碳化硅、硒化錫、氮化鉭等為代表的非氧化物系NTC熱敏電阻材料.NTC熱敏半導(dǎo)瓷大多是尖晶石結(jié)構(gòu)或其他結(jié)構(gòu)的氧化物陶瓷,具有負(fù)的溫度系數(shù),電阻值可近似表示為:Rt = RT *EXP(Bn*(1/T-1/T0
31、) 式中RT、RT0分別為溫度T、T0時(shí)的電阻值,Bn為材料常數(shù).陶瓷晶粒本身由于溫度變化而使電阻率發(fā)生變化,這是由半導(dǎo)體特性決定的. </p><p> 現(xiàn)在低成本測(cè)溫方案中NTC熱敏電阻用的比較多,一般采用查表的方法獲取溫度值,這就牽涉到溫度和阻值的對(duì)應(yīng)關(guān)系。通常的方法是用標(biāo)準(zhǔn)溫度計(jì),環(huán)境溫度沒(méi)上升一度測(cè)量一下熱敏電阻的阻值,通過(guò)這種方法獲得阻值和溫度的對(duì)應(yīng)關(guān)系工作比較煩瑣,誤差比較大,另外溫度變化不好控制
32、;還有一種方法就是通過(guò)公式計(jì)算得到R-T表,雖然NTC熱敏電阻溫度和阻值不是呈線性的關(guān)系,但通過(guò)下面的公式仍能計(jì)算出溫度和阻值的對(duì)應(yīng)關(guān)系:</p><p><b> ?。?-1)</b></p><p> 對(duì)上面的公式解釋如下:</p><p> 1. Rt 是熱敏電阻在T1溫度下的阻值;</p><p> 2.R
33、是熱敏電阻在T2常溫下的標(biāo)稱(chēng)阻值;</p><p> 3.B值是熱敏電阻的重要參數(shù);</p><p> 4.EXP是e的n次方;</p><p> 5.這里T1和T2指的是K度即開(kāi)爾文溫度,K度=273.15(絕對(duì)溫度)+攝氏度;</p><p> 例如我手頭有一個(gè) MF58502F327型號(hào)的熱敏電阻 </p><
34、;p> MF58—— 型號(hào)玻璃封裝 </p><p> 502 —— 常溫25度的標(biāo)稱(chēng)阻值為5K </p><p> F —— 允許偏差為±1% </p><p> 327 —— B值為3270K的NTC熱敏電阻</p><p><b> e=2.71828</b></p><
35、;p> 那它的RT=5000*EXP(3270*(1/T1-1/(273.15+25))), B=3270, R=5000 T2=273.15+25這時(shí)候代入T1溫度就可以求出相應(yīng)溫度下熱敏電阻的阻值,注意溫度單位的轉(zhuǎn)換,例如我們要求零上10攝氏度的阻值,那么T1就為(273.15+10)。</p><p><b> 3.3 A/D轉(zhuǎn)換</b></p><p&g
36、t; A/D轉(zhuǎn)換器是一種能把輸入模擬電壓或電流變成與成正比的數(shù)字量,即能把被控對(duì)象的各種模擬信息編程計(jì)算機(jī)可以識(shí)別的數(shù)字信息。STC12C5A60S2單片機(jī)中的A/D轉(zhuǎn)換是逐次逼近式8位模/數(shù)轉(zhuǎn)換芯片,其輸出具有三態(tài)鎖存功能,內(nèi)有10個(gè)輸入通道,比較適合轉(zhuǎn)換精度要求不太高的單片機(jī)應(yīng)用系統(tǒng)。STC12C5A60S2單片機(jī)的轉(zhuǎn)換結(jié)束信號(hào)E0C接STC12C5A60S2的外部中斷,INT0上。系統(tǒng)設(shè)計(jì)完成后,經(jīng)放大器輸出,當(dāng)溫度為0c(=時(shí)
37、,變換器輸出零伏,A/D轉(zhuǎn)換器轉(zhuǎn)換結(jié)果為0OH; 當(dāng)溫度為255℃時(shí),變換器輸I乜5V,A/D轉(zhuǎn)換器轉(zhuǎn)換結(jié)果為FFH。也就是說(shuō),溫度在0℃~255℃時(shí),A/D轉(zhuǎn)換器轉(zhuǎn)換結(jié)果為o0H~FFH。這樣處理既可以減少標(biāo)度變換,又可避免由標(biāo)度變換帶來(lái)的誤差。計(jì)算機(jī)中廣泛采用逐次逼近式A/D轉(zhuǎn)換器作為接口電路,它的結(jié)構(gòu)不太復(fù)雜,轉(zhuǎn)換速度也高。并行A/D轉(zhuǎn)換器的轉(zhuǎn)換速度最快,但因結(jié)構(gòu)復(fù)雜而造價(jià)較高,故只用于那些轉(zhuǎn)換速度極高的場(chǎng)合。 </p>
38、;<p> 圖3-2 逐次逼近式A/D轉(zhuǎn)換器原理框圖</p><p> 3.4 報(bào)警控制電路</p><p> 報(bào)警控制電路由80C51的P2.2口輸出控制,如圖3-3所示。當(dāng)變壓器繞組溫度超過(guò)給定上限時(shí),置P2.2高電平。</p><p> 圖3-3 蜂鳴警示模塊</p><p> 3.5 風(fēng)機(jī)控制輸出電路<
39、/p><p> 當(dāng)溫度達(dá)到最大值是,P1.3值高電平,電機(jī)啟動(dòng),給予變壓器降溫。</p><p> 圖3-4 風(fēng)機(jī)散熱模塊</p><p> 3.6 液晶顯示模塊</p><p> 液晶顯示模塊用于將輸出信息,如倒計(jì)時(shí)時(shí)間等顯示出來(lái),其接口電路如圖3-12所示。</p><p> 圖3-5 液晶顯示模塊</
40、p><p><b> 4 軟件設(shè)計(jì)</b></p><p> 本設(shè)計(jì)采用C語(yǔ)言來(lái)編寫(xiě)程序,C語(yǔ)言是一種結(jié)構(gòu)化的高級(jí)程序設(shè)計(jì)語(yǔ)言,且能直接對(duì)計(jì)算機(jī)的硬件進(jìn)行操作[9],與匯編語(yǔ)言相比,它的優(yōu)點(diǎn)如下:對(duì)單片機(jī)的指令系統(tǒng)不要求了解,僅要求對(duì)MCS-51的存儲(chǔ)器結(jié)構(gòu)有初步了解;寄存器分配、不同存儲(chǔ)器的尋址及數(shù)據(jù)類(lèi)型等細(xì)節(jié)可由編譯器管理;程序有規(guī)范的結(jié)構(gòu),可分為不同的函數(shù),這
41、種方式可使程序結(jié)構(gòu)化;采用自然描述語(yǔ)言,已近似人的思維過(guò)程方式使用,改善了程序的可讀性;編程及程序調(diào)試時(shí)間顯著縮短,大大提高了效率;提供的庫(kù)函數(shù)包括了許多標(biāo)準(zhǔn)子程序,且具有較強(qiáng)的數(shù)據(jù)處理能力;程序易于移植[10]。</p><p> 4.1 軟件IDE簡(jiǎn)介</p><p> 德國(guó)KEIL公司的uVision2是關(guān)于8051系列單片機(jī)的開(kāi)發(fā)工具,是以真正的WINDOWS IDE, uVi
42、sion2 IDE中集成了編譯器,Cx51編譯器,Ax51匯編器,BL51/Lx51定位器和Debug調(diào)試器,應(yīng)用方便簡(jiǎn)單易學(xué),同時(shí)還提供大量的編程函數(shù)庫(kù),大大加快了軟件開(kāi)發(fā)的進(jìn)程。uVision2具有友好的交互界面、下拉菜單、快捷鍵和快速訪問(wèn)命令列表等,使編程、調(diào)試工作方便且高效[11]。此外,它的軟件仿真功能可以在不連接仿真板的情況下模擬硬件的各項(xiàng)功能來(lái)調(diào)試程序。uVision2 IDE界面如圖4-1所示。</p>&
43、lt;p> 圖4-1 uVision2 IDE界面</p><p><b> 4.2流程圖及程序</b></p><p> 4.2.1主程序流程圖及程序如圖4-1</p><p><b> 圖4-1主程序</b></p><p><b> /*</b></
44、p><p> File name main.c</p><p> Aother lizheng</p><p> Data 2012-3-23</p><p><b> */</b></p><p> #include"LCD12864.h"</p><
45、;p> #include "reR.h"</p><p> #define AD_SPEED 0x60 </p><p> uchar ADValue[4]={'0','0','0','\0'};</p><p> int outvalue=0;</p>
46、<p> int temper=0;</p><p> sbit LED_Green=P2^1;</p><p> void menue(void);</p><p> sbit dj=P0^6;</p><p> sbit fmq=P2^5; </p><p><b> //初始
47、化函數(shù)</b></p><p> void init()</p><p><b> {</b></p><p> P1ASF = 0xff; //0000,0010, 將 P1.1 置成模擬口</p><p> AUXR1 &= ~0x04; //0000,
48、0100, 令 ADRJ=0</p><p> ADC_CONTR=0xe0; </p><p><b> }</b></p><p><b> //延時(shí)子函數(shù)</b></p><p> //delay_time 表示延時(shí)多少毫秒</p><p> void de
49、lay(uchar delay_time) // 延時(shí)函數(shù)</p><p><b> {</b></p><p><b> uint n;</b></p><p> while(delay_time--)</p><p><b> {</b></p&
50、gt;<p><b> n = 6000;</b></p><p> while(--n);</p><p><b> }</b></p><p><b> }</b></p><p> //獲得AD結(jié)果的函數(shù)</p><p>
51、 //返回值為AD的值 最大為1024</p><p> uint get_AD_result(uchar channel)</p><p><b> {</b></p><p> uchar AD_finished=0; //存儲(chǔ) A/D 轉(zhuǎn)換標(biāo)志</p><p> uint dwshuj
52、u=0,zhjg=0,gwshuju=0;</p><p> ADC_RES = 0;</p><p> ADC_RESL = 0;</p><p> channel &= 0x07; //0000,0111 清0高5位</p><p> ADC_CONTR = AD_SPEED;</p&g
53、t;<p><b> _nop_();</b></p><p> ADC_CONTR |= channel; //選擇 A/D 當(dāng)前通道</p><p><b> _nop_();</b></p><p> ADC_CONTR |= 0x80; //啟動(dòng)
54、A/D 電源</p><p> delay(1); //使輸入電壓達(dá)到穩(wěn)定</p><p> ADC_CONTR |= 0x08; //0000,1000 令 ADCS = 1, 啟動(dòng)A/D轉(zhuǎn)換,</p><p> AD_finished = 0;</p><p>
55、 while (AD_finished ==0 ) //等待A/D轉(zhuǎn)換結(jié)束</p><p><b> {</b></p><p> AD_finished = (ADC_CONTR & 0x10); //0001,0000 測(cè)試A/D轉(zhuǎn)換結(jié)束否</p><p><b> }</b></p&
56、gt;<p> ADC_CONTR &= 0xE7; //1111,0111 清 ADC_FLAG 位, 關(guān)閉A/D轉(zhuǎn)換,</p><p> gwshuju=ADC_RES;</p><p> dwshuju=ADC_RESL;</p><p> zhjg=gwshuju<<2|dwshuju;&l
57、t;/p><p> return (zhjg); //返回 A/D 高 8 位轉(zhuǎn)換結(jié)果</p><p><b> }</b></p><p><b> //主函數(shù)</b></p><p> void main(void)</p><p><
58、;b> {</b></p><p><b> init();</b></p><p> LcmInit();</p><p> PutStr(0,3,"當(dāng)前溫度:");</p><p> PutStr(1,3," 度");</p>
59、<p> PutStr(2,3,"上限溫度:");</p><p> PutStr(3,3,"34 度");</p><p><b> while(1)</b></p><p><b> {</b></p><p> outvalue =
60、 get_AD_result(0);</p><p> temper=adstart(outvalue);</p><p> temper=40;</p><p> if(temper>34)</p><p><b> {</b></p><p><b> dj=0;&l
61、t;/b></p><p><b> fmq=0; </b></p><p><b> } else</b></p><p><b> {</b></p><p><b> dj=1;</b></p><p><
62、b> fmq=1;</b></p><p><b> }</b></p><p> ADValue[0]=temper/100+'0';</p><p> ADValue[1]=temper%100/10+'0';</p><p> ADValue[2]=tem
63、per%10+'0';</p><p> PutStr(1,3,ADValue);</p><p> PutStr(1,5," ");</p><p> delay(200);</p><p> 4.2.2液晶1864程序</p><p><b> /*<
64、;/b></p><p> File Name: LCD12864.c</p><p> Aother: lizheng</p><p> Data: 2012-3-13</p><p><b> */</b></p><p> #ifndef _LCD12
65、864_INCLUDED_</p><p> #define _LCD12864_INCLUDE</p><p> #include "LCD12864.h"</p><p> /**************************************************************</p><p&
66、gt;<b> iO口宏定義區(qū)</b></p><p> ***************************************************************/</p><p> sbit CS =P0^0;</p><p> sbit SID=P0^1;//r/w</p><p>
67、sbit SCK=P0^2;//e</p><p> /*******************************************************************</p><p><b> 常量聲明區(qū)</b></p><p> ******************************************
68、**************************/ </p><p> unsigned char code AC_TABLE[]={ //坐標(biāo)編碼</p><p> 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,</p><p> 0x90,0x91,0x92,0x93,0x94,0x
69、95,0x96,0x97,</p><p> 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,</p><p> 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,</p><p><b> };</b></p><p> void delaynms(
70、unsigned int di) //延時(shí)</p><p><b> {</b></p><p> unsigned int da,db;</p><p> for(da=0;da<di;da++)</p><p> for(db=0;db<10;db++);</p><p>
71、<b> }</b></p><p> void delayms(unsigned int di) //延時(shí)</p><p><b> {</b></p><p> unsigned int da,db;</p><p> for(da=0;da<di;da++)</p>
72、<p> for(db=0;db<100;db++);</p><p><b> }</b></p><p> /****************************************************************</p><p> 聲明:建議讀者先查閱我們提供的12864word文檔資料
73、,理解12864定坐標(biāo)的</p><p> 方式。 </p><p><b> 發(fā)送一個(gè)字節(jié)</b></p><p> *****************************************************************/</p><p> void Se
74、ndByte(unsigned char Dbyte)</p><p><b> {</b></p><p> unsigned char xdata i;</p><p> for(i=0;i<8;i++)</p><p><b> {</b></p><p>
75、;<b> SCK = 0;</b></p><p> Dbyte=Dbyte<<1;</p><p><b> SID = CY;</b></p><p><b> SCK = 1;</b></p><p><b> SCK = 0;</
76、b></p><p><b> }</b></p><p><b> }</b></p><p> /**********************************************************</p><p><b> 接收一個(gè)字節(jié)</b>
77、;</p><p> ***********************************************************/</p><p> unsigned char ReceiveByte(void)</p><p><b> {</b></p><p> unsigned char xd
78、ata i,temp1,temp2;</p><p> temp1=temp2=0;</p><p> for(i=0;i<8;i++)</p><p><b> {</b></p><p> temp1=temp1<<1;</p><p><b> SCK
79、= 0;</b></p><p> SCK = 1; </p><p><b> SCK = 0;</b></p><p> if(SID) temp1++;</p><p><b> }</b></p><p> for(
80、i=0;i<8;i++)</p><p><b> {</b></p><p> temp2=temp2<<1;</p><p><b> SCK = 0;</b></p><p><b> SCK = 1;</b></p><p&
81、gt;<b> SCK = 0;</b></p><p> if(SID) temp2++;</p><p><b> }</b></p><p> return ((0xf0&temp1)+(0x0f&temp2));</p><p><b> }</b&
82、gt;</p><p> /****************************************************************</p><p><b> 檢查忙狀態(tài)</b></p><p> ***********************************************************
83、*******/</p><p> void CheckBusy( void )</p><p><b> {</b></p><p> do SendByte(0xfc); //11111,RW(1),RS(0),0</p><p> while(0x80&ReceiveByte());<
84、/p><p><b> }</b></p><p> /******************************************************************</p><p><b> 寫(xiě)一個(gè)字節(jié)的指令</b></p><p> ******************
85、*************************************************/</p><p> void WriteCommand( unsigned char Cbyte )</p><p><b> {</b></p><p><b> CS = 1;</b></p><
86、;p> CheckBusy();</p><p> SendByte(0xf8); //11111,RW(0),RS(0),0</p><p> delaynms(40); //延時(shí)是必須的</p><p> SendByte(0xf0&Cbyte);</p><p> delaynms(20)
87、; //延時(shí)是必須的</p><p> SendByte(0xf0&Cbyte<<4);</p><p> delaynms(20); //延時(shí)是必須的</p><p><b> CS = 0;</b></p><p><b> }</b></p>
88、<p> /*************************************************************</p><p><b> 寫(xiě)一個(gè)字節(jié)的數(shù)據(jù)</b></p><p> **************************************************************/</p>
89、;<p> void WriteData( unsigned char Dbyte )</p><p><b> {</b></p><p><b> CS = 1;</b></p><p> CheckBusy();</p><p> SendByte(0xfa);
90、 //11111,RW(0),RS(1),0</p><p> delaynms(40); </p><p> SendByte(0xf0&Dbyte);</p><p> delaynms(20); </p><p> SendByte(0xf0&Dbyte<<4);</p>
91、<p> delaynms(20); </p><p><b> CS = 0;</b></p><p><b> }</b></p><p> /******************************************************************</p>
92、<p><b> lcd初始化函數(shù)</b></p><p> *******************************************************************/</p><p> void LcmInit( void )</p><p><b> {</b></
93、p><p> delaynms(10); //啟動(dòng)等待,等LCM講入工作狀態(tài)</p><p> WriteCommand(0x30);</p><p> delaynms(1);</p><p> WriteCommand(0x03);</p><p> WriteCommand(0x0c);</p>
94、<p> WriteCommand(0x01);</p><p> WriteCommand(0x06);</p><p><b> }</b></p><p> /*******************************************************************************
95、************************</p><p><b> 設(shè)定光標(biāo)函數(shù)</b></p><p> ********************************************************************************************************/</p><p>
96、; void Location_xy_12864(unsigned char x,unsigned char y)</p><p><b> {</b></p><p><b> switch(x)</b></p><p><b> {</b></p><p><
97、b> case 0:</b></p><p> x=0x80;break;</p><p><b> case 1:</b></p><p> x=0x90;break;</p><p><b> case 2:</b></p><p> x=0
98、x88;break;</p><p><b> case 3:</b></p><p> x=0x98;break;</p><p><b> default:</b></p><p><b> x=0x80;</b></p><p><b
99、> }</b></p><p><b> y=y&0x07;</b></p><p> WriteCommand(0x30);</p><p> WriteCommand(y+x);</p><p> WriteCommand(y+x);</p><p><
100、;b> }</b></p><p> void Lcd_SetPos(uchar X,uchar Y)</p><p> { </p><p> uchar xdata pos;</p><p><b> if (X==0)</b></p
101、><p><b> {X=0x80;}</b></p><p> else if (X==1)</p><p><b> {X=0x90;}</b></p><p> else if (X==2)</p><p><b> {X=0x88;}</b>
102、;</p><p> else if (X==3)</p><p><b> {X=0x98;}</b></p><p> pos = X+Y ; </p><p> WriteCommand(pos); //顯示地址</p><p><b> }</b>
103、</p><p> /***********************************************************************************</p><p><b> 清除文本</b></p><p> ********************************************
104、****************************************/</p><p> void LcmClearTXT( void )</p><p><b> {</b></p><p> unsigned char xdata i;</p><p> WriteCommand(0x30);&l
105、t;/p><p> WriteCommand(0x80);</p><p> for(i=0;i<64;i++)</p><p> WriteData(0x20);</p><p> Location_xy_12864(0,0); </p><p><b> }</b><
106、/p><p> /**************************************************************************************</p><p><b> 清除圖片</b></p><p> *********************************************
107、********************************************/</p><p> void LcmClearBMP( void )</p><p><b> {</b></p><p> unsigned char xdata i,j;</p><p> WriteCommand(0x
108、34);</p><p> WriteCommand(0x36);</p><p> for(i=0;i<32;i++)</p><p><b> {</b></p><p> WriteCommand(0x80|i);</p><p> WriteCommand(0x80);&l
109、t;/p><p> for(j=0;j<32;j++)</p><p> WriteData(0);</p><p><b> }</b></p><p><b> }</b></p><p> /*********************************
110、*******************************************************</p><p><b> 顯示字符串</b></p><p> *****************************************************************************************/</
111、p><p> void PutStr(unsigned char row,unsigned char col,unsigned char *puts)</p><p><b> { </b></p><p> WriteCommand(0x30);</p><p> WriteCommand(AC_TABLE[
112、8*row+col]);</p><p> while(*puts != '\0')</p><p><b> {</b></p><p> if(col==8)</p><p><b> {</b></p><p><b> col=0;
113、</b></p><p><b> row++;</b></p><p><b> }</b></p><p> if(row==4) row=0;</p><p> WriteCommand(AC_TABLE[8*row+col]);</p><p>
114、 WriteData(*puts);</p><p><b> puts++;</b></p><p> if(*puts != '\0')</p><p><b> {</b></p><p> WriteData(*puts);</p><p>&
115、lt;b> puts++;</b></p><p><b> col++;</b></p><p><b> } </b></p><p><b> }</b></p><p><b> }</b></p>&l
116、t;p><b> #endif </b></p><p><b> 4.2.3熱敏電阻</b></p><p> #include "reR.h"</p><p> #include "LCD12864.h"</p><p> #include
117、 "math.h"</p><p> unsigned char ADValue1[5];</p><p> char adstart(int shu1)</p><p><b> {</b></p><p><b> int i=0;</b></p>&l
118、t;p> double xdata v=0;</p><p> double xdata I=0;</p><p> double xdata R=0;</p><p> double xdata S=0;</p><p> char temper;</p><p><b> shu1=&l
119、t;/b></p><p> v=shu1*1.0/1024*5;</p><p> I=(5.2-v)/10000;</p><p> R=v*1.0/I;</p><p> S=log(R/100000)*1.0/4000;</p><p> S=(1.0/279)+S;</p>&l
120、t;p> temper=1.0/S-279;</p><p> return temper;</p><p><b> }</b></p><p><b> 5 制作和調(diào)試</b></p><p> 5.1 硬件電路的布局與焊接</p><p> 5.1.1
121、 電路組成</p><p> 電路的模塊化設(shè)計(jì)有利于于調(diào)試,在本設(shè)計(jì)中將電路分為:STC89C51最小系統(tǒng)模塊、18264顯示模塊、溫度采集,電機(jī)控制模塊,電源模塊。</p><p> 5.1.2 系統(tǒng)制作</p><p> 根據(jù)系統(tǒng)的設(shè)計(jì)方案,本設(shè)計(jì)的硬件制作包括三個(gè)步驟:其中有溫度采集電路,報(bào)警電路和電機(jī)控制電路。排版好后,最后焊接元器件,形成一個(gè)整體。&
122、lt;/p><p> 在焊接時(shí)要注意:由于STC89C51引腳排列比較密而且多,焊接時(shí)必須小心,還要防靜電,焊接不好就很容易把芯片給燒壞。還有在使用中數(shù)據(jù)線、電源等接反或接錯(cuò)都很容易損壞芯片。</p><p><b> 5.2 系統(tǒng)調(diào)試</b></p><p> 本設(shè)計(jì)的調(diào)試分為三部分:硬件調(diào)試、軟件調(diào)試和軟硬結(jié)合調(diào)試。</p>
123、<p> 硬件調(diào)試:主要是調(diào)試各個(gè)模塊是否穩(wěn)定地實(shí)現(xiàn)了各自的基本功能。比如報(bào)警模塊,看是否能實(shí)現(xiàn)指定的功能。</p><p> 軟件調(diào)試:調(diào)試的軟件采用Keil uVision2軟件。將各個(gè)模塊的子程序下載入單片機(jī),看是否能完成預(yù)定的功能,比如溫度過(guò)高時(shí)LED燈亮,溫度沒(méi)達(dá)到是LED燈不亮。</p><p> 軟硬結(jié)合調(diào)試:各個(gè)模塊分別調(diào)試成功后,將各個(gè)模塊組合起來(lái),組
124、合好后要對(duì)再次進(jìn)行檢查,確保連接無(wú)誤后再進(jìn)行軟件硬件聯(lián)合調(diào)試,一步步實(shí)現(xiàn)題目的要求。在調(diào)試的過(guò)程中,不可避免會(huì)遇到許多無(wú)法預(yù)知的問(wèn)題,只有多次反復(fù)的調(diào)試和大量的修改來(lái)完善設(shè)計(jì)。</p><p> 5.3 部分調(diào)試結(jié)果</p><p> 圖1和2是仿真和下載界面,圖3是硬件沒(méi)接通電源時(shí),圖4、5、6和7溫度達(dá)到最大值時(shí)報(bào)警LED燈亮及電機(jī)啟動(dòng)降溫時(shí)的情況。</p><
125、p> 圖5-1 數(shù)字式變壓器溫度測(cè)控系統(tǒng)仿真圖</p><p> 圖5-2 數(shù)字式變壓器溫度測(cè)控系統(tǒng)仿真圖</p><p> 圖5-3 數(shù)字式變壓器溫度測(cè)控系統(tǒng)實(shí)物圖</p><p> 圖5-4 數(shù)字式變壓器溫度測(cè)控系統(tǒng)實(shí)物圖</p><p> 圖5-5 數(shù)字式變壓器溫度測(cè)控系統(tǒng)實(shí)物圖</p><
126、p> 圖5-6 數(shù)字式變壓器溫度測(cè)控系統(tǒng)實(shí)物圖</p><p> 圖5-7 數(shù)字式變壓器溫度測(cè)控系統(tǒng)實(shí)物圖</p><p><b> 6 結(jié)論</b></p><p> 本設(shè)計(jì)方案以STC89C51單片機(jī)為核心,設(shè)計(jì)了對(duì)變壓器的測(cè)溫及溫控,使得變壓器可以更加穩(wěn)定和正常的運(yùn)行,其中包括:測(cè)溫電路、顯示電路、A/D轉(zhuǎn)換、蜂鳴警報(bào)、
127、和風(fēng)機(jī)降溫功能的數(shù)字式變壓器溫度測(cè)控系統(tǒng)。經(jīng)實(shí)際設(shè)計(jì)與制作,基本達(dá)到了一般變壓器的測(cè)溫效果。</p><p> 本設(shè)計(jì)還存在以下不足之處:1)準(zhǔn)確度問(wèn)題:在溫度較高,如240℃以上時(shí)候,由于熱敏電阻的特性不是太穩(wěn)定,測(cè)量的數(shù)值與理想值之間的偏差逐漸增大,可能是采用的熱敏電阻特性不穩(wěn)定所致。2)由于熱敏電阻的阻值隨溫度變化,但是又不是規(guī)律的變化,所以使用數(shù)值的時(shí)候,把特性曲線看成直線來(lái)計(jì)算。</p>
128、<p><b> 致 謝</b></p><p> 四年的時(shí)間,不知不覺(jué)已走到了盡頭,隨著畢業(yè)論文的結(jié)尾,四年大學(xué)生涯也將落下帷幕?;叵氪髮W(xué)的四年生活,充實(shí)而又多彩,給我?guī)椭呐笥牙蠋熖?、太多,令我感?dòng)的時(shí)刻數(shù)不勝數(shù),我會(huì)把每一份關(guān)懷,每一份勉勵(lì)都銘記、珍藏于心。</p><p> 在大學(xué)四年學(xué)習(xí)過(guò)程中,感覺(jué)到上了大學(xué)就是不一樣,掌握了很多技術(shù)性
129、的知識(shí),也讓我真正地感覺(jué)到了電子與電氣的魅力之處,這些感受和認(rèn)知與自己平時(shí)的努力和老師的的細(xì)心指導(dǎo)是分不開(kāi)的。在論文即將完成之際,我的心情無(wú)法平靜,從開(kāi)始進(jìn)入課題到論文的順利完成,有多少可敬的師長(zhǎng)、同學(xué)、朋友給了我無(wú)言的幫助,在這里請(qǐng)接受我誠(chéng)摯的謝意!</p><p> 我要感謝,非常感謝我的導(dǎo)師李老師。他為人隨和熱情,治學(xué)嚴(yán)謹(jǐn)細(xì)心。在閑聊中他總是能像知心朋友一樣鼓勵(lì)你,在論文的寫(xiě)作和措辭等方面他也總會(huì)以“專(zhuān)業(yè)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字式變壓器溫度測(cè)控系統(tǒng)【開(kāi)題報(bào)告】
- 數(shù)字式變壓器溫度測(cè)控系統(tǒng)【任務(wù)書(shū)】
- 畢業(yè)論文---數(shù)字式多路溫度采集系統(tǒng)的設(shè)計(jì)
- 電力變壓器溫度監(jiān)控系統(tǒng)的設(shè)計(jì)【畢業(yè)論文】
- 變壓器畢業(yè)論文
- 變壓器畢業(yè)論文
- csc241數(shù)字式變壓器保護(hù)裝置
- 數(shù)字式變壓器保護(hù)的研究與應(yīng)用.pdf
- csc-241數(shù)字式變壓器保護(hù)裝置
- csc241數(shù)字式變壓器保護(hù)裝置
- 數(shù)字式變壓器綜合保護(hù)裝置的研究.pdf
- 溫度測(cè)控系統(tǒng)畢業(yè)論文
- 溫度測(cè)控系統(tǒng)畢業(yè)論文
- 數(shù)字式變壓器差動(dòng)保護(hù)若干問(wèn)題研究.pdf
- 變壓器數(shù)顯溫度控制裝置的研制-畢業(yè)論文
- 電源變壓器設(shè)計(jì)畢業(yè)論文
- 變壓器故障分析畢業(yè)論文
- 變壓器畢業(yè)論文外文翻譯
- 電力變壓器保護(hù)畢業(yè)論文
- 畢業(yè)論文-開(kāi)題報(bào)告-文獻(xiàn)綜述電力變壓器溫度監(jiān)控系統(tǒng)的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論