版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 溫度顯示及控制電路</b></p><p><b> 溫度顯示及控制電路</b></p><p><b> 一,溫度測量電路</b></p><p> 測溫電路采用3線式測溫電路,在電路中,熱敏電阻為鉑熱電阻RT,RT與R1、R2、R3組成橋路。電路中由于導(dǎo)線存在電
2、阻,會給測量帶來誤差,用三線測量法會減小誤差。如果電纜中的導(dǎo)線的種類相同,導(dǎo)線電阻相等,溫度系數(shù)也是一樣的,應(yīng)此,即使電纜長度改變,溫度系數(shù)也一起跟著改變,以實現(xiàn)溫度補償。放大電路經(jīng)常采用三運放構(gòu)成儀用放大器,這種放大器的輸入阻抗高,共模抑制比大。經(jīng)放大器放大后的信號,一般要由折線近似的模擬電路或A/D轉(zhuǎn)換器構(gòu)成數(shù)據(jù)表,進行線形化。因為R1的阻值比RT要大的多,所以RT變動時的非線性對溫度特性影響非常小。注意要將R2兩端的基準電壓調(diào)為準
3、確的20V。</p><p><b> 溫度測量電路</b></p><p><b> 二,模數(shù)轉(zhuǎn)換電路</b></p><p> 在測溫電路中,溫度改變會引起熱敏電阻的變化,通過測溫電路將電阻量轉(zhuǎn)換為電壓量,在模數(shù)轉(zhuǎn)換中,需要將電壓量轉(zhuǎn)換為數(shù)字溫度量而直觀的顯示出來。</p><p> A
4、DC0804的基本參數(shù):電源電壓Vcc為+5V;輸入模擬電壓為8路,帶8選1的多路選擇開關(guān),輸入電壓范圍為0~5V;8為分辨率;線性誤差為±1LSB。</p><p> 當(dāng)?shù)刂锋i存允許信號ALE變1時,3位地址代碼送入地址譯碼器后,與地址代碼相對應(yīng)的一路模擬信號送入A/D轉(zhuǎn)換器;當(dāng)ALE變0時,地址被鎖存,在轉(zhuǎn)換結(jié)束前送不進新的地址。當(dāng)啟動脈沖START上升時,將逐次比較器清零,下降沿到達時,開始A/
5、D轉(zhuǎn)換,變換時間為100us。轉(zhuǎn)換結(jié)束時,將8位數(shù)字信號鎖存于三態(tài)輸出緩沖器中,并使EOC信號變高表示轉(zhuǎn)換結(jié)束。同時輸出允許信號OE給出一個正脈沖,A/D值送到數(shù)據(jù)輸出端。</p><p> 圖為ADC0804與CPLD的連接方式:</p><p><b> 數(shù)模轉(zhuǎn)換電路</b></p><p> 下圖是ADC0804的工作波形,可用CP
6、LD實現(xiàn)對A\D轉(zhuǎn)換的控制,并將轉(zhuǎn)換結(jié)果讀入CPLD中變換為溫度顯示值,送入顯示電路。</p><p> ADC0804的工作波形</p><p> 求取樣數(shù)字量與溫度的對應(yīng)值的方法一般用公式法和查表法。例如:8位數(shù)字量DB7~DB0從00H變到FFH對應(yīng)溫度從0oC變到100oC,用公式法計算則:溫度T=(DB0~DB7)*100 oC /FFH,需進行乘、除法運算,用可編程器件實現(xiàn)
7、是不具優(yōu)勢的。另一種方法是查表,即把取樣值DB0~DB7按照模擬輸入電壓與溫度的關(guān)系編出一個表格,每輸入一組取樣數(shù)字量DB0~DB7,則直接讀取相應(yīng)的溫度值送到顯示器顯示出來。具體的實現(xiàn)方法則可以使用存儲器,也可以用CPLD制造一個完成查表功能的硬件模塊。如果采用存儲器,則將A/D取樣值的DB0~DB7作存儲器地址,相應(yīng)的溫度值則是存儲單元中的數(shù)據(jù)。</p><p> 下面CPLD的程序代碼(帶標注),程序分為
8、組合進程和時序進程兩部分,組合進程實現(xiàn)ADC0804工作所需的各項控制信號,時序進程實現(xiàn)現(xiàn)態(tài)到次態(tài)的轉(zhuǎn)換。</p><p> CPLD的程序代碼:(VHDL)</p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC
9、_ARITH.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY temp IS</p><p><b> PORT(</b></p><p> Din:IN STD_LOGIC_VECTOR(7 DOWNTO 0);</p>
10、<p> Dout:OUT STD_LOGIC_VECTOR(11 DOWNTO 0);</p><p> CP:IN STD_LOGIC;</p><p> Rst:IN STD_LOGIC;</p><p> Ncs,Nwr,Nrd,:OUT STD_LOGIC;</p><p> Nintr:IN STD_LOGI
11、C);</p><p><b> END temp;</b></p><p> ARCHITECTURE behav OF temp IS</p><p> TYPE STATE_TYPE IS(S0,S1,S2,S3);</p><p> SIGNAL State:STATE_TYPE;</p>
12、<p> SIGNAL EC,Nin:STD_LOGIC;</p><p> SIGNAL D:STD_LOGIC_VECTOR(7 DOWNTO 0);</p><p> SIGNAL Value:STD_LOGIC_VECTOR(11 DOWNTO 0);</p><p><b> BEGIN</b></p>
13、<p> System Connection:BLOCK</p><p><b> BEGIN</b></p><p> Nin<=Nintr;</p><p> Dout<=Value;</p><p> END BLOCK System Connection;</p>
14、<p><b> bk1:Block</b></p><p><b> BEGIN</b></p><p> Nin<=Nintr;</p><p> Dout<=Value;</p><p> End Block bk1;</p><p>&
15、lt;b> bk2:Block</b></p><p><b> BEGIN</b></p><p> PROCESS(CP,Rst)</p><p><b> BEGIN</b></p><p> IF Rst='1'THEN</p>&l
16、t;p><b> Ncs<='1';</b></p><p><b> Nwr<='1';</b></p><p><b> Nrd<='1';</b></p><p><b> EC<='0
17、9;;</b></p><p> State<=S0;</p><p> ELSIF CP'EVENT AND CP='1'THEN</p><p> CASE State IS</p><p><b> WHEN S0=></b></p><p
18、><b> Ncs<='0';</b></p><p><b> Nwr<='0';</b></p><p><b> Nrd<='1';</b></p><p><b> EC<='0';
19、</b></p><p> State<=S1;</p><p><b> WHEN S1=></b></p><p><b> Ncs<='1';</b></p><p><b> Nwr<='1';</b
20、></p><p><b> Nrd<='1';</b></p><p><b> EC<='0';</b></p><p> IF Nin='0'THEN</p><p> State<=S2;</p>
21、<p><b> END IF;</b></p><p><b> WHEN S2=></b></p><p><b> Ncs<='0';</b></p><p><b> Nwr<='1';</b></
22、p><p><b> Nrd<='0';</b></p><p><b> EC<='1';</b></p><p> State<=S3;</p><p><b> WHEN S3=></b></p>
23、<p><b> Ncs<='1';</b></p><p><b> Nwr<='1';</b></p><p><b> Nrd<='1';</b></p><p><b> EC<='0&
24、#39;;</b></p><p> State<=S0;</p><p> WHEN OTHERS=></p><p> State<=S0;</p><p><b> END CASE;</b></p><p><b> END IF;<
25、/b></p><p> END PROCESS;</p><p> END BLOCK bk2;</p><p><b> bk3:Block</b></p><p><b> BEGIN</b></p><p> PROCESS(CP)</p>
26、<p><b> BEGIN</b></p><p> IF CP'EVENT AND CP='1'THEN</p><p> IF EC='1'THEN</p><p><b> D<=Din;</b></p><p><b
27、> END IF;</b></p><p><b> END IF;</b></p><p> END PROCESS;</p><p> END BLOCK bk3;</p><p> (注:1,bk1、bk2、bk3為ADC0804取樣控制的VHDL描述。以下bk4為將取樣數(shù)字量轉(zhuǎn)換為3為
28、BCD碼:</p><p><b> 編程說明</b></p><p> ?。?)8位數(shù)字量DB0-DB7如何變成3位BCD碼?通常采用乘除運算,但用CPLD/FPGA實現(xiàn)乘除運算是很耗資源的。因此采用查表方法求取DB0-DB7與模擬溫度量0~100oC的對應(yīng)關(guān)系。表中將8位數(shù)字量分成高4位HB和低4位LB,這樣每個4位碼的編碼都是從0000-1111的16組碼,由
29、于100oC被8位二進制碼的最大值除得到的結(jié)果是0.04oC,即數(shù)字量每增大1LSB對應(yīng)的模擬溫度量增大0.04oC。</p><p><b> 溫度與數(shù)字量的關(guān)系</b></p><p> ?。?)從表中得到的溫度值必須用BCD碼表示才能便于用LED數(shù)碼管顯示。</p><p> 例如來自ADC0804的DB0~DB7是89H(1000
30、1001B),高4位HB是1000,低4位LB是1001。從表中查到高4位1000對應(yīng)的溫度值是51.2oC,寫成BCD碼是0101、0001、0010;低4位1001對應(yīng)的溫度量是3.6oC,寫成BCD碼就是0000、0011、0110。其和是54.8oC。求得對應(yīng)的BCD碼的運算如下:</p><p> HB 0101 0001 0010</p><p> LB
31、0000 0011 0110</p><p> + 進位 1 1</p><p> —————————————————</p><p> 結(jié)果 0101 0100 1000</p><p> 從上式可見,在每位BCD碼的“和”超過9時,必須進行結(jié)果調(diào)整,才能得到正確的BCD碼。這樣需在運
32、算中判斷是否有進位的產(chǎn)生,將DB3~DB0、DB7~DB4、DB11~DB8三位BCD碼的進位分別設(shè)為C30、C74、C118,若判斷某1位BCD碼的“和”超過9時則對應(yīng)的進位為1,需將結(jié)果調(diào)整,若為零則不調(diào)整。</p><p> 2,bk4為8位數(shù)字量到3位BCD碼的VHDL描述)</p><p><b> bk4:Block</b></p>&l
33、t;p> SIGNAL V:STD_LOGIC_VECTOR(7 DOWNTO 0);</p><p> SIGNAL HB,LB:STD_LOGIC_VECTOR(11 DOWNTO 0);</p><p> SIGNAL C30,C74,C118:STD_LOGIC;</p><p><b> BEGIN</b></p&
34、gt;<p><b> V<=D;</b></p><p> HB<="100001100000"WHEN V(7 DOWNTO 4)="1111"ELSE</p><p> "100010010110"WHEN V(7 DOWNTO 4)="1110"EL
35、SE</p><p> "100000110010"WHEN V(7 DOWNTO 4)="1101"ELSE</p><p> "011101101000"WHEN V(7 DOWNTO 4)="1100"ELSE</p><p> "011100000100"
36、;WHEN V(7 DOWNTO 4)="1011"ELSE</p><p> "011001000000"WHEN V(7 DOWNTO 4)="1010"ELSE</p><p> "010101110110"WHEN V(7 DOWNTO 4)="1001"ELSE</p&g
37、t;<p> "010100010010"WHEN V(7 DOWNTO 4)="1000"ELSE</p><p> "010001001000"WHEN V(7 DOWNTO 4)="0111"ELSE</p><p> "001110000100"WHEN V(7
38、DOWNTO 4)="0110"ELSE</p><p> "001100100000"WHEN V(7 DOWNTO 4)="0101"ELSE</p><p> "001001010110"WHEN V(7 DOWNTO 4)="0100"ELSE</p><p&
39、gt; "000110010010"WHEN V(7 DOWNTO 4)="0011"ELSE</p><p> "000100101000"WHEN V(7 DOWNTO 4)="0010"ELSE</p><p> "000001100100"WHEN V(7 DOWNTO 4)=
40、"0001"ELSE</p><p> "000000000000";</p><p> LB<="000001100000"WHEN V(3 DOWNTO 0)="1111"ELSE</p><p> "000001010010"WHEN V(3 DOW
41、NTO 0)="1110"ELSE</p><p> "000001001000"WHEN V(3 DOWNTO 0)="1101"ELSE</p><p> "000001001000"WHEN V(3 DOWNTO 0)="1100"ELSE</p><p>
42、 "000001000100"WHEN V(3 DOWNTO 0)="1011"ELSE</p><p> "000001000000"WHEN V(3 DOWNTO 0)="1010"ELSE</p><p> "000000110110"WHEN V(3 DOWNTO 0)=&qu
43、ot;1001"ELSE</p><p> "000000110110"WHEN V(3 DOWNTO 0)="1000"ELSE</p><p> "000000101000"WHEN V(3 DOWNTO 0)="0111"ELSE</p><p> "00
44、0000100100"WHEN V(3 DOWNTO 0)="0110"ELSE</p><p> "000000100000"WHEN V(3 DOWNTO 0)="0101"ELSE</p><p> "000000010110"WHEN V(3 DOWNTO 0)="0100&qu
45、ot;ELSE</p><p> "000000010010"WHEN V(3 DOWNTO 0)="0011"ELSE</p><p> "000000001000"WHEN V(3 DOWNTO 0)="0010"ELSE</p><p> "000000000100
46、"WHEN V(3 DOWNTO 0)="0001"ELSE</p><p> "000000000000";</p><p> C30<='1'WHEN HB(3 DOWNTO 0)+LB(3 DOWNTO 0)>"01001"ELSE'0';</p>&l
47、t;p> C74<='1'WHEN HB(7 DOWNTO 4)+LB(7 DOWNTO 4)>"01001"ELSE'0';</p><p> C118<='1'WHEN HB(11 DOWNTO 8)+LB(11 DOWNTO 8)>"01001"ELSE'0';</
48、p><p> Value(3 DOWNTO 0)<=HB(3 DOWNTO 0)+LB(3DOWNTO 0)+"0110"WHEN C30='1'ELSE</p><p> HB(3 DOWNTO 0)+LB(3 DOWNTO 0);</p><p> Value(7 DOWNTO 4)<=HB(7 DOWNTO 4
49、)+LB(7 DOWNTO 4)+"0111"WHEN C74='1'AND C30='0'ELSE</p><p> HB(7 DOWNTO 4)+LB(7 DOWNTO 4)+"0110"WHEN C74='1'AND C30='0'ELSE</p><p> HB(7 DOWN
50、TO 4)+LB(7 DOWNTO 4)+"0001"WHEN C74='1'AND C30='1'ELSE</p><p> HB(7 DOWNTO 4)+LB(7 DOWNTO 4);</p><p> Value(11 DOWNTO 8)<=HB(11 DOWNTO 8)+LB(11 DOWNTO 8)+"011
51、1"WHEN C118='1'AND C74='1'ELSE</p><p> HB(11 DOWNTO 8)+LB(11 DOWNTO 8)+"0110"WHEN C118='1'AND C74='0'ELSE</p><p> HB(11 DOWNTO 8)+LB(11 DOWNTO 8)
52、+"0001"WHEN C118='0'AND C74='1'ELSE</p><p> HB(11 DOWNTO 8)+LB(11 DOWNTO 8);</p><p> END BLOCK bk4;</p><p><b> 三,時鐘電路</b></p><p&g
53、t; 由于CPLD工作時需要時鐘脈沖,在此時鐘脈沖由555定時器組成的方波發(fā)生器提供。</p><p> 如圖所示,電路由555、VT1、VT2、R11、R12、R14、C1組成一個無穩(wěn)態(tài)多諧振器。從圖中我們可以看出,電容器C1的充電和放電回路獨立分開,在調(diào)節(jié)R14時,只會改變其充放電時間常數(shù),不會改變其振蕩頻率。在C1充電到(2/3)VDD閾值電平之前,3腳呈高電平,即t1期間,VT2導(dǎo)通,VT1飽和導(dǎo)通,
54、故RVT1呈現(xiàn)的阻抗很小,即充電時間</p><p> t1=0.693(RVT1+R11+R14左)C1</p><p> t2=0.693(R12+R14右)C1</p><p> T=t1+t2=0.693(RVT1+R11+R12+RP1)C1</p><p><b> DR=t1/T</b></p
55、><p> 調(diào)節(jié)RP1,可使占空比在2%~98%范圍內(nèi)變化,而周期不變。</p><p> 下圖為由555定時器組成的時鐘電路,其中555定時器的引腳如下:</p><p><b> 1,GND</b></p><p><b> 2,TRIG</b></p><p>&l
56、t;b> 3,Q-輸出</b></p><p><b> 4,R</b></p><p><b> 5,CVolt</b></p><p><b> 6,THR</b></p><p><b> 7,DIS</b></p&
57、gt;<p><b> 8,Vcc</b></p><p> 由555定時器組成的時鐘電路</p><p><b> 四,顯示電路</b></p><p> 顯示電路由三個BCD數(shù)碼管組成,由于CPLD輸出的是BCD碼,所以直接將三個數(shù)碼管接到CPLD的12個輸出引腳上即可。8421BCD數(shù)碼管如下圖
58、所示:</p><p> 數(shù)碼管顯示的是四個引腳的二進制轉(zhuǎn)換為十進制的值,比如四個引腳的邏輯值為1001,則數(shù)碼管顯示9。</p><p> 8421BCD數(shù)碼管與CPLD的連接示意圖</p><p><b> 五,控制電路</b></p><p> 控制電路由NPN2(2N222),NPN3(2N2907),N
59、PN4(2N3507),R15,R16,R17,R18,Vd1,Vd2及一電熱絲(R19 Heater)組成。</p><p><b> 工作原理:</b></p><p> 當(dāng)由OP2輸出的電壓值大于三極管的導(dǎo)通值時,三極管NPN2,NPN3,NPN4全部導(dǎo)通,電熱絲兩端沒有電壓,電熱絲不工作,電路處于不加熱狀態(tài)。</p><p> 當(dāng)
60、由OP2輸出的電壓值小于三極管的導(dǎo)通值時,三極管處于截至狀態(tài),接在電路兩端的電壓全部加到電熱絲上,電熱絲開始工作,電路處于加熱狀態(tài)。隨著溫度的升高OP2的輸出電壓也隨著升高,當(dāng)電壓升高至某一值,三極管全部導(dǎo)通,電熱絲兩端即沒有電壓,電熱絲停止工作。如此重復(fù),溫度可控制在某一特定的范圍之內(nèi)。</p><p><b> 恒溫控制電路</b></p><p> 總結(jié):整
61、個電路即由這五個部分組成,實現(xiàn)了由溫度測量到溫度顯示及控制的功能。溫度傳感器在生活中有著廣泛的運用,尤其是溫度傳感器組成的一些溫控系統(tǒng),在生產(chǎn)實踐、國防科學(xué)、科研教學(xué)中,發(fā)揮了巨大的作用。例如:在暑期的社會實踐中。我們所在的紫金山天文臺星河電子有限公司就自主研發(fā)了一種列車軸溫檢測、報警、控制系統(tǒng),廣泛地運用在了鐵道部的大部分列車上,為我們交通運輸?shù)陌踩峁┝擞辛Φ募夹g(shù)保障。</p><p> 在整個電子綜合設(shè)計
62、的過程中,我們遇到過很多的困難,有軟件使用方面的,有設(shè)計思想偏差方面的,尤其是我們使用VHDL語言實現(xiàn)數(shù)字部分的邏輯設(shè)計時,由于理論知識的缺乏,也缺少一些實踐的經(jīng)驗,所以在很長的一段時間內(nèi)我們都不能很好地解決這個問題,但通過與老師的交流、同學(xué)之間的討論,最終,困難被我們一一克服。</p><p> 總體來說,通過短學(xué)期綜合電子課程設(shè)計這門課程的學(xué)習(xí),在軟件方面,我們鞏固了ProtelSE、Multisim8的知
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 彩燈循環(huán)顯示控制電路課程設(shè)計
- 課程設(shè)計--- 溫度控制電路與設(shè)計
- 課程設(shè)計---溫度測量與控制電路
- 溫度測量與控制電路課程設(shè)計
- 溫度測量顯示電路課程設(shè)計--溫度測量顯示電路設(shè)計
- fpga課程設(shè)計--vga圖像顯示控制電路設(shè)計
- 八路彩燈循環(huán)顯示控制電路課程設(shè)計
- 數(shù)電課程設(shè)計--- 彩燈循環(huán)顯示控制電路設(shè)計
- eda課程設(shè)計---溫度測量與控制電路設(shè)計
- 溫度控制顯示課程設(shè)計
- 課程設(shè)計---溫度測量顯示電路設(shè)計
- 電子技術(shù)課程設(shè)計---小型溫度控制電路的設(shè)計
- 課程設(shè)計---簡易彩燈控制電路
- 課程設(shè)計---數(shù)字式溫度測量控制電路的設(shè)計
- 課程設(shè)計---彩燈控制電路設(shè)計
- 課程設(shè)計---手動記分控制電路
- 步進馬達控制電路課程設(shè)計
- 課程設(shè)計——拔河游戲控制電路
- 課程設(shè)計----水塔水位控制電路
- 畢業(yè)設(shè)計--紅外溫度計顯示及控制電路設(shè)計
評論
0/150
提交評論