摘要
筆記本電腦,便于攜帶,體積小,而且它的功能滿足大多數人的需要,隨著科學技術的近步帶來的成本下降,筆記本的價格也為大多數人所接受。隨著使用筆記本人數的增加,筆記本的各種問題也暴露出來,除了性價比之外,最關心的莫過于散熱。筆記本在性能與便攜性對抗中,散熱成為最關鍵的因素,筆記本散熱一直是筆記本核心技術中的瓶頸。有時筆記本電腦會意外的死機,一般就是系統溫度過高導致。為了解決這個問題,人們設計了散熱底座,可以使筆記本產生的熱量盡快的擴散到電腦外部,不影響筆記本的使用功能,不會使電腦的線路出現腐蝕現象,保證筆記本電腦的正常工作。好的底座可以很大的延長筆記本電腦使用壽命。 本設計針對散熱問題做了深入的探討,并設計出一套基于單片機控制的智能散熱底座,綜合了成本和性能等相關因素,采用了Atmel公司的AT89S52為核心搭建了該系統。在本著成本控制和推向市場的前提下,文中的電路簡約而易于批量生產,在完成散熱功能和最少成本的前提下達到了節能和智能。
目錄
1 引言 1.1 系統研究背景 1.2 散熱原理和方式 1.3 筆記本散熱底座設計 1.3.1 散熱底座的材料 1.3.2 散熱底座的結構 1.3.3 散熱底座的性能 2 系統方案論證 2.1 系統框圖 2.2 各模塊方案論證 2.2.1 控制器的選擇 2.2.2 溫度采集器件的選擇 2.2.3 電機及其驅動器的選擇 3 系統硬件設計 3.1 單片機AT89S52 3.1.1 芯片介紹 3.1.2 系統時鐘電路 3.1.3 復位電路 3.2 溫度傳感器電路 3.2.1 芯片DS18B20介紹 3.2.2 傳感器連接電路 3.3 直流電機驅動電路 3.3.1 三極管簡介 3.3.2 直流電機簡介 3.3.3 直流電機驅動電路 3.4 串口通信電路 3.4.1 串口通信介紹 3.4.2 芯片MAX232介紹 3.4.3 MAX232電路連接圖 3.5 電源電路 3.5.1 電源芯片介紹 3.5.2 電源芯片連接電路 4 系統軟件設計 4.1 編程語言簡介 4.2 單片機程序設計 4.2.1 主程序設計 4.2.2 溫度采集子程序 4.3 VB上位機程序設計 4.3.1 VB6.0軟件介紹 4.3.2 主程序設計 4.3.3 交互式界面設計 5 系統集成與調試 5.1 硬件調試 5.2 軟件調試 5.3 調試問題及解決方法 結 論 參考文獻 附錄1: 單片機程序 附錄2: VB6.0程序 附錄3: 英文資料及中文翻譯 致 謝
筆記本電腦,便于攜帶,而且它的功能滿足大多數人的需要,隨著技術的近步帶來的成本下降,筆記本的價格也為大多數人所接受。隨著使用筆記本人數的增加,筆記本的各種問題也暴露出來,其中散熱問題至關重要,它不僅關系著能耗更關系著筆記本的使用壽命。因此散熱成為最關鍵的因素,筆記本散熱一直是筆記本核心技術中的瓶頸。有時筆記本電腦會莫名奇妙的死機,一般就是系統溫度過高導致。為了解決這個問題,人們設計了散熱底座,可以使筆記本產生的熱量盡快的擴散到電腦外部,不影響筆記本的使用功能,保證筆記本電腦的正常工作。而目前市場上僅僅有的是單開關式的散熱器,且操作不方便,經常開關,還沒有根據溫度變化來進行控制的智能散熱底座。
散熱,其實就是一個熱量傳遞過程通過傳導、對流、輻射等幾種方式。通常在臺式機中主要是風冷技術,這包括中央處理器、顯卡、電源及機箱的散熱風扇等,在筆記本電腦中,風冷依舊的主要的散熱方式,絕大數的散熱方式是:風扇、熱管、散熱板的組合。目前很多筆記本電腦采用鋁鎂合金的外殼,對散熱也起到了一定的作用。在筆記本電腦底部一般都有散熱通風口,或吸入或吹出,對筆記本電腦的散熱都非常重要。筆記本電腦在設計的時候也考慮到散熱問題,往往會用墊腳將機身抬高,但是在溫度過高的時候,就顯得比較勉強。筆記本的散熱底座的散熱原理主要有兩種:1.單純通過物理學上的導熱原理實現散熱功能。將塑料或金屬制成的散熱底座放在筆記本的底部,抬高筆記本以促進空氣流通和熱量輻射,可以達到散熱效果。2.在散熱底座上面再安裝若干個散熱風扇來提高散熱性能。這種風冷散熱方式包括吸風和吹風兩種。兩種送風形式的差別在于氣流形式的不同,吹風時產生的是紊流,屬于主動散熱,風壓大但容易受到阻力損失,例如我們日常夏天用的電風扇;吸風時產生的是層流,屬于被動散熱,風壓小但氣流穩定,例如機箱風扇。 理論上說,開放環境中,紊流的換熱效率比層流大,但是筆記本底部和散熱底座實際組成了一個封閉空間,所以一般吸風散熱方式更符合風流設計規范。市場上的散熱底座多數是有內置吸風式風扇的。
1.3.1 散熱底座的材料 當前市場主要產品使用的材料有兩種:金屬或者塑料。金屬的導熱性好,但現在任何一款筆記本的底部都有防滑膠墊,和金屬散熱底座不可能緊貼在一起,所以金屬的導熱性能不能完全發揮出來。當然,金屬底座還是可以更好地將筆記本內散發出來熱量吸收并擴散出去。另外金屬一般比較重,而且由于制造時工藝要求較高,一旦做工不夠精細,極易傷人。塑料材質一般比較輕便,硬度也較高,很多工程塑料的強度甚至超過金屬。出于成本及輕便的考慮,重量較輕、發熱小的筆記本可以選用設計較好的塑料散熱底座。但是如果是重量較大,發熱較高的筆記本還是得使用金屬材質的做工良好的散熱底座。
1.3.2 散熱底座的結構 風扇型的散熱底座構造,一般是由金屬或者塑料外殼加上內置的2--4個風扇構成,風扇的供電方案有通過筆記本USB接口供電以及外置電源供電兩種。大多數筆記本電腦的散熱底座的風扇均采用吸風式設計,因為這樣可以最大限度的減少空氣擾動造成的影響,提高散熱效率。 散熱底座風扇的數量和布局也非常重要,現在的筆記本后部往往是電池,而一些主要發熱部件如:中央處理器和硬盤等位置相對靠中間,特別是硬盤,大多設計在手托下面,而這些部位很多散熱底座往往沒有設計風扇。所以在設計散熱底座前,先弄清筆記本底座幾個主要部件的位置,確定最熱的幾個位置。
1.3.3 散熱底座的性能 性能判定方法:同等環境下,使用散熱底座和不使用,分別記錄開機五分鐘和開機一小時后的系統主要溫度參數,可以大概確定該散熱底座的散熱性能。還需要特別注意的是散熱底座的噪音和振動問題,風扇的數量和質量是決定因素。風扇多固然增加散熱效果,但是相應的耗電及噪音振動也增加了,所以一般以2~3個為宜。所以底座測試的時候需要留心判斷下其噪音是否能夠接受,是否會有振動影響電腦硬盤。
本系統的結構主要包括對外界溫度信息的采集電路,控制器電路,散熱風扇控制電路,上位機串口通信電路。選擇合理的電路方案,能實現好系統的功能,降低設計的成本,而且有利于后繼添加的擴展功能。下面先給出系統組成框圖,然后對可能的各方案進行比較說明。
圖2-1 系統框圖
2.2.1 控制器的選擇 方案一:采用可編程邏輯器件CPLD作為控制器。CPLD可以實現各種復雜的邏輯功能、規模大、密度高、體積小、穩定性高、IO資源豐富、易于進行功能擴展。采用并行的輸入輸出方式,提高了系統的處理速度,適合作為大規模控制系統的控制核心。但本系統不需要復雜的邏輯功能,對數據的處理速度的要求也不是非常高。且從使用及經濟的角度考慮放棄了此方案。 方案二:采用凌陽公司的16位單片機,它是16位控制器,具有體積小、驅動能力高、集成度高、易擴展、可靠性高、功耗低、結構簡單、中斷處理能力強等特點。處理速度高,尤其適用于語音處理和識別等領域。但是當凌陽單片機在語音處理和辨識時,由于其占用的CPU資源較多而使得處理其它任務的速度和能力降低。 方案三:采用Atmel公司的AT89S52單片機作為主控制器。AT89S52是一種低功耗、高性能CMOS微控制器,具有8K在系統可編程Flash存儲器。使用Atmel公司高密度非易失性存儲器技術制造,與工業80C51產品指令和引腳完全兼容。片上Flash允許程序存儲器在系統可編程,亦適于常規編程器。在單芯片上,擁有靈巧的8位CPU和在系統可編程Flash,使得AT89S52為眾多嵌入式控制應用系統提供高靈活、超有效的解決方案。AT89S52具有以下標準功能:8k字節Flash,256字節RAM,32位I/O口線,看門狗定時器,2個數據指針,三個16位定時器,一個6向量2級中斷結構,全雙工串行口,片內晶振及時鐘電路。另外,AT89S52可降至0Hz靜態邏輯操作,支持2種軟件可選擇節電模式。 因此,本設計采用方案三。
2.2.2 溫度采集器件的選擇 方案一:使用模數轉換芯片和模擬溫度器件組成,其溫度感知器件一般為溫度的線性器件,然后通過模擬轉數字芯片把模擬量轉換為數字量送入控制器加以識別和判斷,其優點是,其通過選擇合適的轉換芯片和模擬溫度器件可已達到很高的精度,一般的模數轉換有8位、10位、12位等,在一般的系統中都采用此種方案。但對于本設計中會產生更多的電路,一是增加了體積不易于安裝,二是本系統不需要很高的精度。 方案二:采用“一線總線”數字化溫度傳感器DS18B20,DS18B20支持“一線總線”接口,測量溫度范圍為 -55℃~125℃,在-10℃~85℃范圍內,精度為±0.5℃。現場溫度直接以“一線總線”的數字方式傳輸,大大提高了系統的抗干擾性。適合于惡劣環境的現場溫度測量,如:環境控制、設備或過程控制、測溫類消費電子產品等。適用于對性能要求不高,成本控制嚴格的應用,是經濟型產品。 因此,本設計采用方案二。 2.2.3 電機及其驅動器的選擇 方案一:采用直流電機加模擬電路,通過電位器調節電機兩端電壓進行控制。達林頓管串聯在直流電機回路上,通過調節電位器改變電機回路的電流的大小,從而達到控制電機的目的。此方案的優點在,電路簡單,通過一個電位器就可以達到調節電機速度的目的,但它也存在明顯的不足,三極管工作在放大區時在電機回路上將產生一個壓降,會產生很多的熱量,效率很低。 方案二:采用PWM控制步進電機。PWM控制是利用微處理器的數字輸出來對模擬電路進行控制的一種非常有效的技術,廣泛應用在從測量、通信到功率控制與變換的許多領域中。PWM對半導體器件的導通和關斷進行控制,是輸出端得到一系列幅值相等而寬度不相等的脈沖,用這些脈沖來代替正弦波或其他所需要的波形。按一定的規則對各脈沖的寬度進行調制,既可改變逆變電路輸出電壓的大小,也改變輸出頻率。對于本設計的不足之處也很明顯,步進電機適用于精確控制,本電路不需要非常精確。而且電路過于復雜,成本過高。 方案三:采用三級管直接驅動直流電機,電路使三級管工作在飽和和截止區,三極管處于很低的功耗狀態,發揮簡單的開關作用來控制電機兩端電流的通斷,從而達到控制電機的目的。此設計簡單,成本低,易于實現, 因此,本設計采用方案三。
硬件系統的主要包括對外界溫度信息的采集電路,控制器電路,散熱風扇控制電路,上位機串口通信電路,電源電路。下面就具體的電路進行闡述。
3.1.1 芯片介紹 AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統可編程 Flash 存儲器。使用Atmel公司高密度非易失性存儲器技術制造,與工業80C51產品指令和引腳完全兼容。片上Flash允許程序存儲器在系統可編程,亦適于常規編程器。在單芯片上,擁有靈巧的8位CPU和在系統可編程Flash,使得AT89S52 為眾多嵌入式控制應用系統提供高靈活、超有效的解決方案。 AT89S52具有以下標準功能:8k字節Flash,256字節RAM,32位I/O口線,看門狗定時器,2個數據指針,三個16位定時器/計數器,一個6向量2級中斷結構,全雙工串行口,片內晶振及時鐘電路。另外AT89S52可降至0Hz靜態邏輯操作,支持2種軟件可選擇節電模式。空閑模式下,CPU停止工作,允許RAM、定時器/計數器、串口、中斷繼續工作。掉電保護方式下,RAM 內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。 主要性能 1.與 MCS-51單片機產品兼容 2.8K字節在系統可編程Flash存儲器 3.1000次擦寫周期 4.全靜態操作:0Hz~33Hz 5.三級加密程序存儲器 6.32個可編程I/O口線 7.三個16位定時器/計數器 8.八個中斷源 9.全雙工UART串行通道 10.低功耗空閑和掉電模式 11.掉電后中斷可喚醒 12.看門狗定時器 13.雙數據指針 14.掉電標識符
AT89S52方框圖 圖3-1 AT89S52方框圖
引腳結構:
圖3-2 AT89S52引腳圖
引腳功能描述: VCC:電源。 GND:地。 P0口:P0口是一個8位漏極開路的雙向I/O 口。作為輸出口,每位能驅動 8 個 TTL 邏輯電平。對 P0 端口寫“1”時,引腳用作高阻抗輸入。當訪問外部程序和數據存儲器時,P0 口也被作為低8位地址/數據復用。在這種模式下,P0具有內部上拉電阻。在 flash 編程時,P0 口也用來接收指令字節;在程序校驗時,輸出指令字節。程序校驗時,需要外部上拉電阻。 P1口:P1口是一個具有內部上拉電阻的8位雙向I/O口,P1輸出緩沖器能驅動4個TTL邏輯電平。對P1端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流。此外,P1.0 和 P1.2 分別作定時器/計數器 2 的外部計數輸入(P1.0/T2)和時器/計數器 2的觸發輸入(P1.1/T2EX)。在 flash 編程和校驗時,P1 口接收低 8 位地址字節。 P2口:P2 口是一個具有內部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅動4個TTL邏輯電平。對P2 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流。在訪問外部程序存儲器或用16位地址讀取外部數據存儲器時,P2口送出高八位地址。在這種應用中,P2口使用很強的內部上拉發送 “1”。在使用8位地址訪問外部數據存儲器時,P2 口輸出P2鎖存器的內容。在flash編程和校驗時,P2 口也接收高8位地址字節和一些控制信號。 P3口:P3口是一個具有內部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅動4個TTL邏輯電平。對P3端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流。P3口亦作為AT89S52特殊功能(第二功能)使用。在flash編程和校驗時,P3口也接收一些控制信號。 RST:復位輸入。晶振工作時,RST腳持續2個機器周期高電平將使單片機復位。看門狗計時完成后,RST腳輸出96個晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認狀態下,復位高電平有效。 ALE/PROG:地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8位地址的輸出脈沖。在 flash 編程時,此引腳(PROG)也用作編程輸入脈沖。 在一般情況下,ALE以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強調,在每次訪問外部數據存儲器時,ALE 脈沖將會跳過。如果需要,通過將地址為8EH的SFR的第0位置“1”,ALE操作將無效。這一位置“1”,ALE僅在執行MOVX或MOVC指令時有效。否則,ALE將被微弱拉高。這個ALE使能標志位的設置對微控制器處于外部執行模式下無效。 PSEN:外部程序存儲器選通信號(PSEN)是外部程序存儲器選通信號。當 AT89S52 從外部程序存儲器執行外部代碼時,PSEN 在每個機器周期被激活兩次,而在訪問外部數據存儲器時,PSEN 將不被激活。 EA/VPP:訪問外部程序存儲器控制信號。為使能從0000H到FFFFH的外部程序存儲器讀取指令,EA必須接GND。為了執行內部程序指令,EA 應該接VCC。在 flash 編程期間,EA也接收12V電壓。 XTAL1:振蕩器反相放大器和內部時鐘發生電路的輸入端。 XTAL2:振蕩器反相放大器的輸出端。
3.1.2 系統時鐘電路 時鐘電路是用來產生89S52單片機工作時所必須的時鐘信號,89S52本身就是一個復雜的同步時序電路,為保證工作方式的實現,89S52在唯一的時鐘信號的控制下嚴格的按時序執行指令進行工作,時鐘的頻率影響單片機的速度和穩定性。通常時鐘由于兩種形式:內部時鐘和外部時鐘。 我們系統采用內部時鐘方式來為系統提供時鐘信號。89S52內部有一個用于構成振蕩器的高增益反向放大器,該放大器的輸入輸出引腳為XTAL1和XTAL2,它們跨接在晶體振蕩器和用于微調的電容,便構成了一個自激勵振蕩器電路中的C1、C2的選擇在30PF左右,但電容太小會影響振蕩的頻率、穩定性和快速性。晶振頻率為在1.2MHZ~12MHZ之間,頻率越高單片機的速度就越快,但對存儲器速度要求就高。為了提高穩定性我們采用溫度穩定性好的瓷片電容,采用的晶振頻率為11.0592MHZ。
圖3-3 時鐘電路
3.1.3 復位電路 復位電路是影響單片機系統運行穩定性的主要內部因素之一。單片機的復位操作有手動復位和加電復位兩中方式。加電復位是任何單片機都具有的功能。它通過專用的復位電路產生復位信號,是系統的原始復位方式,發生在開機加電時,是系統自動完成的。單片機系統在調試程序時,有可能出現死機、死循環、程序“跑飛”等情況,手動復位是解決這一情形的最好方式 。 單片機系統中用到的復位方式有四種,它們是:積分型、微分型、比較器型和看門狗型。前三種是在芯片外面用分立元件或集成電路芯片搭建完成,最后一種位于芯片內部,屬于芯片的一部分。單片機系統中用到的復位電路有上電復位、按鍵電平復位和按鍵脈沖復位三種。 本設計中,為了簡便設計采用的上電復位電路如下圖所示:
圖3-4 復位電路
3.2.1 芯片DS18B20介紹 Dallas半導體公司的數字化溫度傳感器DS1820是世界上第一片支持“一線總線”接口的溫度傳感器。一線總線獨特而且經濟的特點,使用戶可輕松地組建傳感器網絡,為測量系統的構建引入全新概念。 DS18B20支持“一線總線”接口,測量溫度范圍為 -55℃~125℃,在-10℃~85℃范圍內,精度為±0.5℃。現場溫度直接以“一線總線”的數字方式傳輸,大大提高了系統的抗干擾性。適合于惡劣環境的現場溫度測量,如:環境控制、設備或過程控制、測溫類消費電子產品等。與前一代產品不同,新的產品支持3V~5.5V 的電壓范圍,使系統設計更靈活、方便。DS18B20 可以程序設定9~12位的分辨率,精度為±0.5℃。可選更小的封裝方式,更寬的電壓適用范圍。分辨率設定,及用戶設定的報警溫度存儲在EEPROM 中,掉電后依然保存。 DS1822與DS18B20 軟件兼容,是DS18B20 的簡化版本。省略了存儲用戶定義報警溫度、分辨率參數的EEPROM,精度降低為±2℃,適用于對性能要求不高,成本控制嚴格的應用,是經濟型產品。繼“一線總線”的早期產品后,DS1820 開辟了溫度傳感器技術的新概念。DS18B20 和DS1822 使電壓、特性及封裝有更多的選擇,讓我們可以構建適合自己的經濟的測溫系統。 18B20管腳圖
圖3-5 18B20管腳圖
3.2.2 傳感器連接電路 圖3-6 傳感器連接電路 3.3.1 三極管簡介 三極管,全稱應為半導體三極管,也稱雙極型晶體管,晶體三極管,是一種電流控制電流的半導體器件。其作用是把微弱信號放大成幅值較大的電信號,也用作無觸點開關。三極管分類:按材質分:硅管、鍺管。按結構分:NPN、PNP。按功能分:開關管、功率管、達林頓管、光敏管等。按功率分:小功率管、中功率管、大功率管。按工作頻率分:低頻管、高頻管、超頻管。按結構工藝分:合金管、平面管。 晶體管促進并帶來了“固態革命”,進而推動了全球范圍內的半導體電子工業。作為主要部件,它及時、普遍地首先在通訊工具方面得到應用,并產生了巨大的經濟效益。由于晶體管徹底改變了電子線路的結構,集成電路以及大規模集成電路應運而生,這樣制造像高速電子計算機之類的高精密裝置就變成了現實。
3.3.2 直流電機簡介 輸出或輸入為直流電能的旋轉電機,稱為直流電機,它是能實現直流電能和機械能互相轉換的電機。當它作電動機運行時是直流電動機,將電能轉換為機械能;作發電機運行時是直流發電機,將機械能轉換為電能。直流電機的結構應由定子和轉子兩大部分組成。直流電機運行時靜止不動的部分稱為定子,定子的主要作用是產生磁場,由機座、主磁極、換向極、端蓋、軸承和電刷裝置等組成。隨著人們生活水平的提高,產品質量、精度、性能、自動化程度、功能以及功耗、價格問題已經是選擇家用電器的主要因素。永磁直流電機既具有結構簡單、 運行可靠、維護方便等優點,又具備良好的調速特性,現已廣泛應用于各種場合。
3.3.3 直流電機驅動電路 采用三級管直接驅動直流電機,電路使三級管工作在飽和或截止區,三極管處于很低的功耗狀態,發揮簡單的開關作用來控制電機兩端電流的通斷,從而達到控制電機的目的。對于電路的保護采用二極管續流方式并聯在電機兩端。
圖3-7 直流電機驅動電路
3.4.1 串口通信介紹 RS-232已經成為PC機與通信工業中應用最廣泛的串行通信接口之一,盡管近年來隨著USB技術的成熟與發展,RS-232串口的地位將逐步被USB接口協議取代,但是在工業控制與嵌入式系統中,RS-232串口通信以其低廉的實現價格,較長的通信距離,優異的抗干擾能力,仍然占有十分大的應用比例。 RS-232是一種在低速率串行通信中增加通信距離的單端標準,其采用了不平衡的傳輸方式,典型的RS-232信號在正負電平之間擺動,數據傳輸時,發送端驅動器的輸出正電平范圍在+5~+15V之間,負電平范圍在-5~-15V之間,與TTL電平相對應時,邏輯1對應RS-232通信的負電平,邏輯0對應RS-232通信的正電平。 9針串口功能一覽表:1.載波檢測(DCD)2.接收數據(RXD)3.發送數據(TXD)4.數據終端準備好(DTR)5.信號地(GND)6.數據準備好(DSR)7.發送請求(RTS) 8.發送清除(CTS)9.振鈴指示(RI)數據連接線主要在設備中起橋梁的作用,使PC機與單片機,PC機與PC機之間進行數據通信,串口間通信只要連接三條線就可以了。即接收數據線,發射數據線和信息地線。在某時刻,對一臺機來說是發送數據,對另一臺機就是接收數據。所以接收數據線與發射數據線要換接。
3.4.2 芯片MAX232介紹 MAX232產品是由美國Maxim公司推出的一款兼容RS-232標準的芯片,該器件包含兩個驅動器、兩個接收器和一個電壓發生器電路提供TIA/EIA-232-F電平,該器件符合TIA/EIA-232-F標準,每一個接收器將TIA/EIA-232-F電平轉換成5TTL/CMOS電平,每一個發送器將TTL/CMOS電平轉換成TIA/EIA-232-F電平,有從貼片到直插等不同的封裝類。
圖3-8 MAX232芯片內部結構圖
3.4.3 MAX232電路連接圖 MAX232采用單5V供電,內部有兩個電荷泵,通過充電電容的作用將+5V電壓轉換為+10V的電壓,第一個電荷泵利用充電電容C1將+5V電壓加倍提升到+10V,第二個電荷泵利用充電電容C2和C4將+10V電壓變換為-10V的電壓,為RS-232通信提供工作電平。對于MAX232來說,推薦采用10uF的電解電容。
圖3-9 MAX232與電腦連接
3.5.1 電源芯片介紹 電源電路主要運用到7805穩壓芯片,輸出電壓為5V,加散熱片時驅動電流可達1A,輸出電流200~300mA時,7805溫度在50度左右,并且有過溫切斷輸出起到保護功能。該系列芯片技術成熟,所需的外圍器件少,性價比高,運用的非常廣泛,其內部原理圖如圖3-10所示。 圖3-10為7805的引腳圖: 1.INPUT 電源輸入端,最大可達35V 2.GROUND電源地 3.OUTPUT +5V輸出端
圖3-10 7805內部原理圖
圖3-11 7805的引腳圖
3.5.2 電源芯片連接電路 由變壓器出來的交流信號經過橋式整流和電容濾波之后送給LM7805,穩壓5V輸出,它的輸出單獨供給單片機。在三端穩壓管的輸入輸出端與地之間連接大容量的濾波電容,使濾掉紋波的效果更好,輸出的直流電壓更穩定。接小容量高頻電容以抑制芯片自激,輸出引腳端連接高頻電容以減小高頻噪聲,使單片機工作在一個良好的電源環境中,提高系統穩定性。
圖3-12電源電路原理
軟件部分也是整個系統的核心部分之一,硬件制作成功后,加上軟件部分才能使整個系統得以運行。本系統的軟件部分主要包括主程序和系統初始化子程序、電機控制程序、溫度采集程序、串口通信程序。
C語言是一種計算機程序設計語言。它既有高級語言的特點,又具有匯編語言的特點。它可以作為系統設計語言,編寫工作系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬件的應用程序。因此,它的應用范圍廣泛。 C語言對操作系統和系統使用程序以及需要對硬件進行操作的場合,用C語言明顯優于其它解釋型高級語言,有一些大型應用軟件也是用C語言編寫的。C語言具有繪圖能力強,可移植性,并具備很強的數據處理能力,因此適于編寫系統軟件,三維,二維圖形和動畫。它是數值計算的高級語言。 其特點為: 1.語言簡潔、緊湊、使用方便、靈活。 2.運算符豐富。 3.數據結構豐富,具有現代化語言的各種數據結構。 4.具有現代化的控制語句。 5.語法限制不太嚴格,程序設計自由度大。 6.能實現匯編語言的大部分功能,可以直接對硬件進行操作。 7.生成目標代碼質量高,程序執行效率高。 8.程序可移植性好。 匯編語言是面向機器的程序設計語言。匯編語言是一種功能很強的程序設計語言,也是利用計算機所有硬件特性并能直接控制硬件的語言。“匯編語言”作為一門語言,對應于高級語言的編譯器,需要一個“匯編器”來把匯編語言原文件匯編成機器可執行的代碼。匯編語言的長處在于編寫高效且需要對機器硬件精確控制的程序。 匯編語言比機器語言易于讀寫、調試和修改,同時具有機器語言全部優點。但在編寫復雜程序時,相對高級語言代碼量較大,而且匯編語言依賴于具體的處理器體系結構,不能通用,因此不能直接在不同處理器體系結構之間移植。 其特點為: 1.面向機器的低級語言,通常是為特定的計算機專門設計的。 2.保持了機器語言的優點,具有直接和簡捷的特點。 3.可有效地控制計算機的各種硬件設備,如存儲器、CPU、I/O端口等。 4.目標代碼簡短,占用內存少,執行速度快,是高效的程序設計語言。5.經常與高級語言配合使用,應用廣泛。
4.2.1 主程序設計 圖4-1 主程序流程圖
4.2.2 溫度采集子程序
圖4-2 溫度采集子程序
4.3.1 VB6.0軟件介紹 Visual basic 是在Basic語言的基礎上發展起來的,因此它有Basic語言簡單而又不貧乏的優點。 1.Basic語言的發展歷史 Basic相對于其他的計算機編程語言來說,可以成為古老的編程語言了。它最初由美國計算機科學家John kemeny和Thomas Kurtz設計,誕生于1964年,迄今為止經歷了40多年。其間經歷了GW-Basic、True Basic、Turbo Basic、Quick Basic C等很多版本。隨著Windows 的流行,微軟的工程師們著眼于未來在改進QuickBasic的基礎上開發了Visual Basic的第一個版本。其后,Visual Basic 一發不可收拾,被世界各地的許多程序員所愛。微軟在1991年推出Visual Basic 1.0以后,于1992年、1993年、1995年、1997年、1998年接連發布了Visual Basic 2.0 、3.0、 4.0、5.0、6.0版本。 2.Visual Basic的特點 Visual Basic是一種可視化的、面向對象和采用事件驅動方式的結構化高級程序設計語言,可用于開發Windows環境下的各類應用程序。 (1)可視化編程 與傳統程序化設計語言相比,Visual Basic提供了可視化設計工具,程序員再也不用為編寫大量的界面代碼而犯愁,取而代之的是只需要按屏幕布局的設計要求,用系統提供的工具,在屏幕上面畫出各種圖形對象,并設置這些圖形對象的屬性之后,Visual Basic會自動產生界面代碼,從而大大提高程序設計的效果。 (2)面向對象的程序設計 Visual Basic 4.0 以后的版本都支持面向對象的程序設計,但它與一般的面向對象的程序設計語言,與C++又完全不一樣。在設計對象時,不必編寫建立和描述每個對象的程序代碼,而是用工具把它們畫在界面上,由Visual Basic自動生成對象的程序代碼并封裝起來。每個對象以圖形方式顯示在界面上,都是可視的。 (3)結構化程序設計語言 Visual Basic由于是在Quick Basic的基礎上發展而來的,所以具有高級程序設計語言的語句結構,接近于自然語言和人類的邏輯思維方式,其語言簡單易懂。Visual Basic是解釋型語言,在輸入代碼的同時,解釋系統將高級語言分解翻譯成計算機可以識別的機器指令,并判斷每個語句的語法錯誤。在設計VisualBasic程序的過程中,隨時可以運行程序,而在整個應用程序設計好之后,可比編譯生成可執行文件,脫離Visual Basic環境,直接在Windows環境下運行。 (4)事件驅動編程機制 Visual Basic通過事件來執行對象的操作。一個對象可能會有多個事件。例如,用鼠標單擊窗體,鼠標在窗體上移動,改變窗體的大小等。Visual basic事件驅動的思想是如果用戶單擊了窗體,就會觸發窗體的單擊事件。而這個事件被編程人員寫入的代碼也會隨之執行。如果不單擊窗體,窗體單擊事件就永遠不會被觸發,里面的程序也不會被執行。因此,開發大型軟件時,不必建立具有明顯開始和結束的程序,而是編寫若干微小的子程序,即過程,這些過程分別面向不同的對象,由用戶操作觸發某個事件來驅動執行某種特定的功能,或者由事件驅動程序調用通用過程來執行指定的操作。這樣可以方便編程人員提高工作效率。 (5)數據庫訪問 Visual Basic具有很強的數據庫管理功能。利用數據控件和可視化數據管理器窗口直接建立活處理Microsoft Access格式的數據庫,同時黑可以訪問FoxPro、Paradox等其他外部數據庫。
4.3.2 主程序設計 主要包括串口通信控制和溫度顯示。單片機實時監測數據的圖形顯示一般都借助于數據處理能力強大的上位PC機。VB6.0具有強大的圖形處理功能和良好的界面設計功能并且可以利用MSComm控件方便地實現和單片機的串行數據通信。介紹利用VB6.0的窗體對象、命令按鈕控件對象、微軟的MSComm控件對象、數組和用戶自定義坐標系動態、連續、數字、波形地顯示單片機實時檢測數據。 該顯示方法的坐標系符合人們看圖習慣,顯示的實時波形隨時間動態變化并從左向右平移,視覺效果好且數值顯示精確。如圖4-3所示。
4.3.3 交互式界面設計 可以通過界面來顯示溫度,顯示當前系統時間,并監控實時溫度,可以繪制出溫度曲線。還可以直接對散熱器進行控制。如圖4-4所示。
圖4-3 繪制的窗口界面
圖4-4 設計后生成的界面 本系統的調試主要分為硬件調試、軟件調試等兩大部分。經過初步的分析設計后,在制作硬件電路的同時,調試也在穿插進行。這樣有利于問題的分析和解決,不會造成問題的積累,而且不會因為一個小問題而進行整體電路的檢查,從而可以節約大量的調試時間。軟件編程中,首先完成單元功能模塊的調試,然后進行系統調試,整體上與硬件調試的方法差不多。聯機調試是最重要的一部分,同時也是本設計成功的關鍵。
靜態調試,靜態調試是用戶系統未工作前的硬件檢查過程。 首先應對表面進行檢查,即對焊接后的電路板的所有連接線仔細檢查。通過目測查出一些明顯的安裝及連接錯誤并及時排除。其次用萬用表測量,主要是測量目測是懷疑通斷的情況,尤其是要測量電源與地之間是否短路。最后是加電檢查。開啟電源后,檢查芯片的電源電壓是否正確,也可用手觸摸,是否有明顯發燙,所遇芯片均未發現異常,可進入下一步調試。如圖5-1所示。
圖5-1硬件電路 將系統軟件按照模塊化程序設計方法編寫出來,然后輸入到KEIL編譯器編程模擬調試中,在編譯器的支持下,將經過初步調試的程序加載到主模塊中,按照以下方法調試: 1.單步:一次只執行一條指令,在每步執行后,返回監控調試程序。 2.行:可以從程序的任何一條地址處啟動,然后全速運行。 3.點運行:可以在程序任何位置設置斷點,當程序執行到斷點時,控制返回到監控調試程序。 4.查和修改存儲器單元的內容。 5.查和修改寄存器的內容。 程序調試可以一個一個模塊進行,一個一個子程序的調試,從中可以發現程序中的死循環、機器碼錯誤及轉移地址錯誤,也可以發現待測系統中軟件算法和硬件設計錯誤。如圖5-2,圖5-3所示。
圖5-2 VB6.0程序調試
圖5-3 單片機程序調試
在硬件無故障和軟件模塊調試完成的情況下,還要對系統進行聯機調試。在系統調試時,應將全部硬件電路都接上,應用程序模塊也都組合好,進行全系統軟硬件調試。系統調試是排除軟硬件中的殘留錯誤,使整個系統能夠完成預定的工作任務,達到要求的技術性能指標。如圖5-4所示。 1、調試中檢查元器件失效。造成這種情況的原因有兩個:一個是元器件買來時就已壞了;另一個是由于安裝錯誤,造成器件燒壞。可以采取檢查元器件與設計要求的型號、規格和安裝是否一致。 2、電源故障。在通電前,一定要檢查電源電壓的幅值和極性,否則很容易造成集成塊損壞。加電后檢查各插件上引腳的電位,一般先檢查VCC與GND之間電位,若在5V~4.8V之間屬正常。 3、當判斷單片機不工作時候,需要進行聯機仿真調試。聯機仿真必須借助單片機開發的最基本工具如仿真開發裝置、示波器、萬用表等。
圖5-4 集成調試
測試使用的筆記本為聯想昭陽E290G。聯想昭陽系列筆記本不僅是政府采購機型而且也是目前市場使用數量最多的,有一定代表性。測試時的室內溫度為27℃。數據整理如圖5-5所示。表明使用本設計能很好的降低溫度,輔助筆記本散熱,延長筆記本使用壽命,達到隨溫度而控制的要求。
圖5-5 筆記本底部溫度
結論在選擇畢業設計課題上面,對筆記本散熱問題非常的感興趣,本設計課題是用傳感器、直流電機和單片機來實現,鑒于目前對電路的設計,由于很多相關知識片都沒有接觸過,所以在這次畢業設計中學到了很多。在這個設計中不僅需要對芯片進行硬件設計還要進行軟件設計,在軟件編程過程中遇到了很多問題,后來翻閱了大量有關單片機方面的書籍、上網查閱資料才真正根據設計要求設計硬件電路,逐步完成了軟件方面的編程。 本系統實現了電腦底座溫度數據的測量和監控,本設計很好的完成了對筆記本的溫度監控和散熱設備的運行,可以將數據上傳至電腦進行后期分析處理。可以被廣泛的應用到生產和生活中,如帶有溫度控制的場合、工業溫度測量儀表等。由于溫度監控是一個實踐應用性很強的課題,要使其產品化,能夠經受住實際應用的嚴格考驗,還需要很多細致的改進。
大學的學習已接近尾聲,畢業設計是一次檢驗我大學學習成果的機會,這次畢業設計不僅把四年來所學知識融會貫通,而且提高了我的動手創造能力,同時在指導教師的悉心幫助下,我的專業技術水平有了很大進步。從開始加入這個項目的設計到現在項目的完成,我們真正經歷了一次自己參與并設計的過程。我感覺收獲非常大,我們獲得的不僅是理論上的收獲,還有實踐中的豐收。這次畢業設計一定會為我們在不久的將來踏上工作崗位打下了良好的實踐基礎。
在畢業設計及我的大學學習生活即將結束的時候,心中有很多感觸,首先我要對我的畢業設計指導老師張根柱老師及所有大學教授過我的老師表示誠心的真摯的感謝。同時張老師嚴謹的治學態度和為人給了我們很大的教育,這將使我終身受益。同時我還要感謝我的母校,為我提供了這個學習機會,為我提供了良好的畢業設計場所和試驗條件。最后,祝愿我校日后蓬勃發展,發展成為一所獨具風格的國際性綜合大學。
單片機源程序如下: |