本系統由單片機開發板AT89C51、集成溫度傳感器、連續漸進式A/D轉換器ADC0804、運放LM324等元器件組成,采用 Protues 軟件進行模擬電路仿真,完成模擬信號調理,通過51 單片機(內置 ADC)采集溫度信號,最后通過數碼管顯示溫度數值。
在基本要求實驗中,采用的技術指標是①溫度測試范圍:0℃~110℃② 溫度測試精度:±2℃③ 溫度測試分辨率:0.2℃④ 溫度顯示方式:4 位數碼管顯示,第 1 位數碼管顯示符號(零下溫度顯示“—”號,零上及低于100℃不顯示)第 2 位數碼管顯示溫度的十位數值,第 3 位數碼管顯示溫度的個位數值及小數點,第 4 位數碼管顯示溫度測量值的小數點后第一位數值。
在提高實驗中,采用了以下技術指標① 溫度控制數值可在 40℃~70℃之間設置② 溫度控制精度:±1℃③ 研究合適的溫度控制算法。
② 溫度測試精度:±2℃
③ 溫度測試分辨率:0.2℃
④ 溫度顯示方式:4 位數碼管顯示,第1位數碼管顯示符號(零下溫度顯示“—”號,零上及低于100℃不顯示),第2位數碼管顯示溫度的十位數值,第3位數碼管顯示溫度的個位數值及小數點,第4位數碼管顯示溫度測量值的小數點后第一位數值。
2 、提高要求
(1)功能要求
① 實現溫度自動控制功能,具有溫度檢測和溫度控制兩種工作狀態,并可手動切換工作狀態;
②對象溫度控制:可通過單片機控制加熱器進行溫度自動調節,并可設置和顯示溫度恒定數值,控制對象為大功率電阻;
(2)技術指標
① 溫度控制數值可在 40℃~70℃之間設置
② 溫度控制精度:±1℃
③ 研究合適的溫度控制算法。
1.2 設計要求
1.根據設計任務設計幾種實現方案,經比較從中優選確定一種實現方案。
2.說明所選電路的組成及工作原理,并繪出原理框圖。
3.設計各單元電路,計算元器件參數并選擇元器件類別型號。
4.畫出實際電路圖,并用 Protues 軟件進行電路仿真。
5.列出元器件清單。
6.組裝并調試方案電路,記錄調試步驟及結果。
7.設計單片機程序,完成數據采集、處理和顯示。
8.對電路功能及技術指標進行測試,記錄測試數據。
1.3 限定條件
1.模擬電路電源:+5V
2.單片機開發軟件:Keil UV3 v8.02
3.電路仿真軟件:Proteus
4.主要器件:
(1)溫度傳感器:LM35
(2)運放:LM324
(3)單片機模塊:AT89C51單片機模塊
5.除單片機模塊外,其它電路在一塊萬用板上焊接好并調試正常,通過杜邦頭跳線與單片機模塊連接。傳感器通過杜邦頭跳線與電路板連接,集成電路使用插座實現引腳連接。
2.2 溫度測量與溫度傳感器
溫度測量方法可分為接觸式和非接觸式兩類,接觸式的測溫方法是基于物體的熱交換現象。選定某一測溫器,與被測物體相接觸,進行充分的熱交換,待兩者溫度一致時,測溫器輸出的大小即反映被測溫度的高低。接觸式測溫的優點是簡單、可靠、測量精度高;缺點是測溫時有較大的滯后,對運動物體測溫較困難,測溫器易影響被測對象的溫度場分布,測溫上限受到測溫器件材料性質的限制,故所測溫度不能太高。
溫度傳感器是把溫度轉換為電量的測溫器。常用的溫度傳感器有:金屬熱電阻和半導體熱敏電阻、熱電偶、PN 結型傳感器和集成溫度傳感器、石英晶體溫度傳感器、渦流式溫度傳感器、電容式溫度傳感器等。
采用集成溫度傳感器測量溫度,具有省電、體積小、線性好、成本低等優點,而且能滿足一般測溫工作(-50℃~+150℃)的需要,本設計使用集成溫度傳感器,型號為 LM35。
傳感器使用說明見附件 1:《LM35 數據手冊》。
2.3 模擬信號調理
1.調零與調滿度
半導體溫度傳感器有一個共同的特點,即其輸出電壓或電流與絕對溫度成正比或線性關系。因為常用的溫標為攝氏溫度,而且為便于測量,希望在 0℃(傳感器插入冰水中)時,測溫電路輸出顯示為 0,在100℃(傳感器插入沸水中)時,測溫電路輸出顯示為 100。因此,半導體測溫電路中需要設計調零電路和調滿度(也稱調靈敏度)電路。
2.放大與電平平移
模擬傳感器輸出的信號通常為非標準雙極性或單極性小信號,為實現數據采集,需適應 A/D 轉換器輸入電平要求,因此要對模擬信號進行放大和電平平移。
2.4 模擬信號 A/D 轉換
模擬信號需經 A/D 轉換后,才能被采集到單片機中,完成后續的處理。
2.5 數碼管顯示
4 位數碼管顯示,電路設計參考硬件資料。
2. 電路調試過程 ① 通過實驗所給的信息和所學可以畫出模擬實驗電路圖 ②通過實驗給的例程,實驗要求以及所學的程序語言來完成實驗程序,使其使程序無錯誤,并讓電路圖能夠正常的運行。 ③將程序編譯運行后產生的hex文件導入proteus的程序中,打開電路開關,調節溫度感應器的旋鈕,并觀察數碼管的示數,讓這兩個示數的誤差在±1℃之間。 5.2 實驗調試過程 若實驗中溫度感應器和數碼管的示數之差過大,就可以通過調節電路圖中的電阻阻值和電容值來調整實驗電路圖,使其滿足實驗要求。同時也可以調節實驗程序來調節實驗電路圖,最后讓其滿足實驗要求。 5.3 測量誤差分析 溫度感應器和數碼管之差誤差過大,有以下原因: 1. 在模擬信號A/D轉換過程中,對電阻阻值設計不合理,也就會導致示數誤差過大。 2. 在ADC0804芯片的設計里,連接的電阻的電容的示數發生改變也就會導致示數存在誤差過大。 3. 設計的程序代碼中存在這失誤,也就會導致誤差過大。
結束語
在本次綜合電子實驗中,我獨立的完成了整個基本功能實驗,這提高了我的實驗動手能力,讓我對這門有了深刻的了解,這次實驗使我了解和掌握電子設計的方法和步驟,能夠綜合所學的理論知識提出設計方案并加以論證,并掌握系統方案的設計方法。能培養我獨立分析問題、解決問題的能力。同時掌握了傳感器檢測、模擬信號調理、數據采集等技術的設計和實驗方法。能夠掌握單片機系統的軟硬件工作原理及設計、調試方法, 我也學習了如何使用電子設計、仿真軟件進行電路輔助設計,并正確繪制電路圖,學習電路的實驗調試和測試方法,提高實踐能力。
在這次實驗中,我也發現了自己的不足,自己缺少動手能力,對電路基礎知識理解不深刻,總是犯一些低級失誤,我也非常感謝老師和同學們對我的指導,讓我對整個實驗有了深刻的了解,讓我完成了實驗。
這次基本實驗的不足是電路元器件的精確度和靈敏度較弱,使其在實驗測試過程中出現了較大誤差,動手能力較弱。也希望自己在接下來的學習生活中有和更大的進步。
基本實驗電路圖
表2. 軟件模塊清單
- #include<reg51.h>
- #define uchar unsigned char
- #define uint unsigned int
- sbit wr=P3^6;
- sbit rd=P3^7;
- sbit cs=P3^5;
- uchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//共陰數碼管碼表
- uchar s,g,f,l,x;//數碼管顯示變量
- float A;
- uint K;
- void delay(uint);
- void adc();
- void adc()
- {
- //啟動ADC0804采樣//
- cs=0;wr=0;rd=1;
- delay(50);
- cs=1;wr=1;rd=1; //WR由低到高時,AD開始轉換
- delay(100);
- //讀AD數值//
- cs=0;wr=1;rd=0;//讀取轉換數據結果
- delay(50);
- A=P1;//P1的新數據賦值給adval,用于數碼管顯示的s g f的分離
- A=A*144/256;
- K=P1*144/256;
- cs=1;wr=1;rd=1;//停止AD讀取
- }
- void main()
- {
- uint s,g,f,l,x;
- while(1)
- {
- adc();
-
- s=K/10;
- l=s/10;
- x=s%10;
- g=K%10;
- f=(A-K)*10;
- P2=0XFE; //11111110 選中十位數碼管
- P0=tab[l]; //顯示
- delay(50);
- P2=0XFD; //11111110 選中十位數碼管
- P0=tab[x]; //顯示
- delay(50);
- P2=0XFB; //11111101 選中個位數碼管
- P0=tab[g]+0x80; //顯示
- delay(50);
-
- P2=0XF7;//11111011 選中小數點后數碼管
- P0=tab[f]; //顯示
- delay(50);
- }
- }
- void delay(uint m)//延時子程序,約500個機器周期
- {
- while(m--);}
復制代碼
以上圖文的Word格式文檔下載(內容和本網頁上的一模一樣,方便大家保存):
綜合電子設計報告.docx
(901.39 KB, 下載次數: 141)
2019-5-18 15:47 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|