




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、本科畢業論文(設計)題目:基于單片機的溫控風扇的設計學 院:專 業:電子信息科學與技術班 級:_學 號:_學生姓名:-指導教師:_tl錄錯誤!未定義書簽。摘要 .IAbstract .錯誤!未定義書簽。第一章整體方案設計 .11前言.11.2系統整體設計.113方案論證.2131溫度傳感器的選擇.2132控制核心的選擇.3133溫度顯示器件的選擇.31.3.4調速方式的選擇 .3第二章各單元模塊的硬件設計 .52系統器件簡介.52.1DS18B20單線數字溫度傳感器簡介.52.1.2達林頓反向驅動器ULN2803簡介 .52.1.3AT89C52單片機簡介.62.1.4LED數碼管簡介 .72
2、.2各部分電路設計.82.2.1開關復位與晶振電路 .92.2.2獨立鍵盤連接電路 .92.2.3數碼管顯示電路 .102.2.4溫度采集電路 .112.2.5風扇電機驅動與調速電路 .12第三章軟件設計 .143.1程序設置 .143.2用Keil C51編寫程序 .143.3 用 Proteus進行仿真 .15331 Proteus 簡介 .153.3.2本設計基于Proteus的仿真 .16第四章系統調試 .214.1軟件調試.214.1.1按鍵顯示部分的調試 .214.1.2傳感器DS18B20溫度釆集部分調試 .214.1.3電動機調速電路部分調試 .214.2硬件調試 .224.2
3、.1按鍵顯示部分的調試 .224.2.2傳感器DS18B20溫度釆集部分調試 .224.2.3電動機調速電路部分調試 .224.3系統功能 .234.3.1系統實現的功能 .234.3.2系統功能分析 .23結 論 .24參考文獻 .25錯誤!未定義書簽。.26.27致 謝 .附錄1:電路總圖附錄2:程序代碼基于單片機的溫控風扇的設計摘要溫控風扇在現代社會中的生產以及人們的日常生活中都有廣泛的應用,如工業生產 中大型機械散熱系統中的風扇、現在筆記本電腦上的廣泛應用的智能CPU風扇等。本 文設計了基于單片機的溫控風扇系統,采用單片機作為控制器,利用溫度傳感器 DS18B20作為溫度釆集元件,并根
4、據釆集到的溫度,通過一個達林頓反向驅動器 ULN2803驅動風扇電機。根據檢測到的溫度與系統設定的溫度的比較實現風扇電機的 自動啟動和停止,并能根溫度的變化自動改變風扇電機的轉速,同時用LED A段數碼 管顯示檢測到的溫度與設定的溫度。關鍵詞: 單片機、DS18B20.溫控.風扇第一章整體方案設計1.1前言在現代社會中,風扇被廣泛的應用,發揮著舉足輕重的作用,如夏天人們用的散熱 風扇、工業生產中大型機械中的散熱風扇以及現在筆記本電腦上廣泛使用的智能CPU 風扇等。而隨著溫度控制技術的發展,為了降低風扇運轉時的噪音以及節省能源等,溫 控風扇越來越受到重視并被廣泛的應用。在現階段,溫控風扇的設計已
5、經有了一定的成 效,可以使風扇根據環境溫度的變化進行自動無級調速,當溫度升高到一定時能自動啟 動風扇,當溫度降到一定時能自動停止風扇的轉動,實現智能控制。隨著單片機在各個領域的廣泛應用,許多用單片機作控制的溫度控制系統也應運而 生,如基于單片機的溫控風扇系統。它使風扇根據環境溫度的變化實現自動啟停,使風 扇轉速隨著環境溫度的變化而變化,實現了風扇的智能控制。它的設訃為現代社會人們 的生活以及生產帶來了諸多便利,在提高人們的生活質量、生產效率的同時還能節省風 扇運轉所需的能量。本文設計了山ATMEL公司的8052系列單片機AT89C52作為控制器,采用DALLAS 公司的溫度傳感器DS18B20
6、作為溫度采集元件,并通過一個達林頓反向驅動器 ULN2803驅動風扇電機的轉動。同時使系統檢測到得環境溫度以及系統預設的溫度動 態的顯示在LED數碼管上。根據系統檢測到得環境溫度與系統預設溫度的比較,實現 風扇電機的自動啟停以及轉速的自動調節。1.2系統整體設計本設計的整體思路是:利用溫度傳感器DS18B20檢測環境溫度并直接輸出數字溫 度信號給單片機AT89C52進行處理,在LED數碼管上顯示當詢環境溫度值以及預設溫 度值。其中預設溫度值只能為整數形式,檢測到的當前環境溫度可精確到小數點后一位。 同時采用PWM脈寬調制方式來改變直流風扇電機的轉速。并通過兩個按鍵改變預設溫 度值,一個提高預設
7、溫度,另一個降低預設溫度值。系統結構框圖如下:圖1.1系統構成框圖1.3方案論證本設計要實現風扇直流電機的溫度控制,使風扇電機能根據環境溫度的變化自動啟 停及改變轉速,需要比較高的溫度變化分辨率以及穩定可靠的換擋停機控制部件。 131溫度傳感器的選擇在本設計中,溫度傳感器的選擇有以下兩種方案:方案一:釆用熱敬電阻作為檢測溫度的核心元件,并通過運算放大器放大,曲于熱 敏電阻會隨溫度變化而變化,進而產生輸出電壓變化的微弱電壓變化信號,再經模數轉 換芯片ADC0809將微弱電壓變化信號轉化為數字信號輸入單片機處理。方案二:釆用數字式的集成溫度傳感器DS18B20作為溫度檢測的核心元件,由其 檢測并直
8、接輸出數字溫度信號給單片機進行處理。對于方案一,采用熱敬電阻作為溫度檢測元件,有價格便宜,元件易購的優點,但 熱敏電阻對溫度的細微變化不太敏感,在信號采集、放大以及轉換的過程中還會產生失 真和誤差,并且山于熱敬電阻的R-T關系的非線性,其自身電阻對溫度的變化存在較大 誤差,雖然可以通過一定電路來修正,但這不僅將使電路變得更加復雜,而且在人體所 1,1李學龍.使用單片機控制的智能遙控電風扇控制器J.電子電路制作,2003, 9: 13-15.2處環境溫度變化過程中難以檢測到小的溫度變化。故該方案不適合本系統。對于方案二,曲于數字式集成溫度傳感器DS18B20的高度集成化,大大降低了外 接放大轉化
9、等電路的誤差因數,溫度誤差變得很小,并且山于其檢測溫度的原理與熱敬 電阻檢測的原理有著本質的不同,使得其溫度分辨力極高。溫度值在器件內部轉化成數 字量直接輸出,簡化了系統程序設計,乂山于該溫度傳感器采用先進的單總線技術,與 單片機的接口變得非常簡潔,抗干擾能力強,因此該方案適用于本系統。1.3.2控制核心的選擇在本設計中采用AT89C52單片機作為控制核心,通過軟件編程的方法進行溫度檢 測和判斷,并在其I/O 口輸出控制信號。AT89C52單片機工作電壓低,性能高,片內含 8k字節的只讀程序存儲器ROM和256字節的隨機數據存儲器RAM,它兼容標準的 MCS-51指令系統,單片價格也不貴,適合
10、本設計系統。1.3.3溫度顯示器件的選擇方案一:應用動態掃描的方式,采用LED共陰極數碼管顯示溫度。方案二:采用LCD液晶顯示屏顯示溫度。對于方案一,該方案成本很低,顯示溫度明確醒U,即使在黑暗空間也能清楚看見, 功耗極低,同時溫度顯示程序的編寫也相對簡單,因而這種顯示方式得到了廣泛應用。 但不足的地方是它采用動態掃描的顯示方式,各個LED數碼管是逐個點亮的,因此會 產生閃爍,但由于人眼的視覺暫留時間為20MS,故當數碼管掃描周期小于這個時間時 人眼不會感覺到閃爍,因此只要描頻率設置得當即可采用該方案。對于方案二,液晶顯示屏具有顯示字符優美,其不僅能顯示數字還能顯示字符甚至 圖形,這是LED數
11、碼管無法比擬的。但是液晶顯示模塊的元件價格昂貴,顯示驅動程 序的編寫也較復雜,從簡單實用的原則考慮,本系統采用方案一。1.3.4調速方式的選擇方案一:采用數模轉換芯片DAC0832來控制,山單片機根據當前環境溫度值輸出 相應數字量到DAC0832中,再山DAC0832產生相應模擬信號控制晶閘管的導通角, 從而通過無級調速電路實現風扇電機轉速的自動調節。方案二:采用單片機軟件編程實現PWM (脈沖寬度調制)調速的方法。PWM是 英文Pulse Width Modulation的縮丄j,它是按一定的規律改變脈沖序列的脈沖寬度,以 調節輸出量和波形的一種調節方式,在PWM驅動控制的調節系統中,最常用
12、的是矩形 波PWM信號,在控制時需要調節PWM波得占空比。占空比是指拓電平持續時間在一 個周期時間內的白分比。在控制電機的轉速時,占空比越大,轉速就越快,若全為高電 平,占空比為100%時,轉速達到最大【21。用單片機I/O 口輸出PWM信號時,有如下 三種方法:(1)利用軟件延時。當高電平延時時間到時,對I/O 口電平取反,使其變成低電平, 然后再延時一定時間;當低電平延時時間到時,再對該I/O 口電平取反,如此循環即可 得到PWM信號。在本設計中應用了此方法。(2)利用定時器。控制方法與(1)相同,只是在該方法中利用單片機的定時器來定時 進行高低電平的轉變,而不是用軟件延時。應用此方法時編
13、程相對復雜。(3)利用單片機自帶的PWM控制器。在STC12系列單片機中自身帶有PWM控制 器,但本系統所用到得AT89系列單片機無此功能。對于方案一,該方案能夠實現對直流風扇電機的無級調速,速度變化靈敏,但是D/A轉換芯片的價格較高,與其溫控狀態下無級調速功能相比性價比不高。對于方案二,相對于其他用硬件或者軟硬件相結合的方法實現對電機進行調速而 言,采用PWM用純軟件的方法來實現調速過程,具有更大的靈活性,并可大大降低 成本,能夠充分發揮單片機的功能,對于簡單速度控制系統的實現提供了一種有效的途 徑。綜合考慮選用方案二。藍厚榮.單片機的PWM控制技術J.工業控制計算機,2010,23 (3)
14、 :9798 4第二章各單元模塊的硬件設計系統主要器件包括DS18B20溫度傳感器.AT89C52單片機、五位LED共陰數碼管、 風扇直流電機、達林頓反向驅動器ULN2803。輔助元件包括電阻電容、晶振、電源、 按鍵、撥碼開關等。2.1系統器件簡介2.1.1 DS18B20DS18B20單線數字溫度傳感器簡介DS18B20數字溫度傳感器,是采用美國DALLAS半導體公司生產的DS18B20 可組網數字溫度傳感器芯片封裝而成,它具有微型化、低功耗、高性能、抗干擾 能力強、易配微處理器等優點,可直接將溫度轉化成串行數字信號供處理器處理。 適用于各種狹小空間設備數字測溫和控制領域。DS18B20的主
15、要特征:測量的結果直接以數字信號的形式輸出,以“一線總線” 方式串行傳送給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力;溫度測 量范圍在-55C125C之間,在-10C+85C時精度為0.5C;可檢測溫度分辨率為 912位,對應的可分辨溫度分別為0.5C, 0.25C, 0.125CW 0.0625C,可實現高精度 測溫;它單線接口的獨特性,使它與微處理器連接時僅需一條端口線即可實現與微處理 器的雙向通信;支持多點組網功能,即多個DS18B20可以并聯在唯一的三線上,實現 組網多點測溫的功能;工作電壓范圍寬,其范圍在3O5.5VI3】。DS18B20內部結構主要有四部分:64位RO
16、M、溫度傳感器、非揮發的溫度報警觸 發器TH和TL、配置寄存器。其管腳有三個,其中DQ為數字信號端,GND為電源地, VDD為電源輸入端。2.1.2達林頓反向驅動器ULN2803ULN2803簡介本系統要用單片機控制風扇直流電機,需要加驅動電路,為直流電機提供足夠大的 驅動電流。在本系統驅動電路中,選用達林頓反向驅動器ULN2803來驅動風扇直流電 機。ULN2803在使用時接口簡單,操作方便,可為電機提供較大的驅動電流,它實際 上是一個集成芯片,單塊芯片可同時驅動8個電機。每個電機由單片機的一個I/O 口控 制,單片機I/O 口輸出的為5V的TTL信號。郭天祥新槪念51單片機C語言教程北京:
17、電子工業岀版社.2009.342-344 5ULN2803由8個NPN達林頓晶體管組裝而成,共18個引腳,引腳N8分別是8 路驅動器的輸入端,輸入信號可直接是TTL或CMOS信號;引腳11-18分別是8路驅 動器的輸出端;引腳9為接地線,引腳10為電源輸入。當輸入TTL信號為5V或CMOS 信號為615V時,輸出的最大電圧為50V,最大電流為500mA,工作溫度范圉為070C。 本系統選用的電機為12V直流無刷電機,可用ULN2803來驅動。2.1.3 AT89C52AT89C52單片機簡介AT89C52是51系列單片機的一個型號,它是由ATMEL公司生產的一個低電 壓、高性能的8位單片機,片
18、內器件釆用ATMEL公司的非易失性、高密度存儲 技術生產,與標準的MCS-51指令系統兼容,同時片內置有通用8位中央處理器 和8k字節的可反復擦寫的只讀程序存儲器ROM以及256字節的數據存儲器 RAM,在許多許多較復雜的控制系統中AT89C52單片機得到了廣泛的應用。 AT89C52有40個引腳,各引腳介紹如下:VCC: +5V電源線;GND:接地線。P0 口: P0.7P0.0,這組引腳共8條,其中P0.7為最高位,P0.0為最低位。這8條 引腳共有兩種不同的功能,分別使用于兩種不同的情況。第一種情況是單片機不帶片外 存儲器,P0 口可以作為通用I/O 口使用,P0.7P0.0用于傳送CP
19、U的輸入/輸出數據, 此時它需外接一上拉電阻才能正常工作。第二種情況是單片機帶片外存儲器,其各引腳 在CPU訪問片外存儲器時先是用于傳送片外存儲器的低8位地址,然后傳送CPU對片 外存儲器的讀寫數據。P1 口: P1 口是一個內部含上拉電阻的8位雙向I/O 口。它也可作為通用的I/O 口 使用,與P0 口一樣用于傳送用戶的輸入輸出數據,所不同的是它片內含上拉電阻而P0 口沒有,故P0 口在做該用途時需外接上拉電阻而P1 口則無需。在FLASH編程和校驗 時,P1 口用于輸入片內EPROM的低8位地址。P2 口: P2 口為一個內部上拉電阻的8位雙向I/O 口,它可以作為通用I/O 口使用, 傳
20、送用戶的輸入/輸出數據,同時可與P0 口的第二功能配合,用于輸出片外存儲器的高 8位地址,共同選中片外存儲單元,但此時不能傳送存儲器的讀寫數據。在一些型號的 單片機中,P2 口還可以配合P1 口傳送片內EPROM的12位地址中的高4位地址。P3 口: P3 口引腳是8個帶內部上拉電阻的雙向I/O 口,當P3 口寫入1后,它們被胡漢才.單片機原理及其接口技術M(第2版).北京:淸華大學出版社.2004.第63頁.6也作為一些特殊功能端口使用,如下所示:P3.0: RXD (串行數據接收口)P3.1: TXD (串行數據發送口)P3.2: INTO (外部中斷0輸入)P3.3: INTI (外部中
21、斷1輸入)P3.4: TO (記數器0計數輸入)P3.5: T1 (記時器1外部輸入)P3.6: WR (外部RAM寫選通信號)P3.7: RD (外部RAM讀選通信號)P1. 0 1401 VccPl. 1 239P0 O/ADOF1. 2 3 33838 J J FO.FO. 1/AD11/AD1P1. 3 437 P0 2/AD2P1.4 536 P0 3/AD3P1. 5 635 P0. 4/AD4P1.6 734 P0 5/AD5FL.FL. 7 7 8 83333 J J FO.FO. 6/AH&6/AH&RESET 932 P0 7/AD7MD/P3. 0 1031 EA/Vpp
22、TXD/P3. 1 1130ALE/PMGIHT0/P3. 2 1229 PSEHIMT1/F3.IMT1/F3. 3 3 1$28J J F2F2 7/AH157/AH15T0/P3. 4 1427 P2 6/AD14T1/P3. 5 1526 P2. 5/AD13WfP3. & It25 P2. 4/AD12RD/P3. 7 IT24 P2. 3/AD11XTAL2XTAL2 ISIS2323 J J P2.P2. 2/AD102/AD10XTAL1 1922 P2.1/AD9FDIF Vss 2021P2. 0/AD8內部上拉為高電平。它也可作為通用的I/O 口使用,傳送用戶的輸入輸出數
23、據,P3 口RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平狀 態。ALE/PROG :地址鎖存允許/編程線,當訪問片外存儲器時,在P0.7P0.0引腳線 上輸出片外存儲器低8位地址的同時還在ALE/PROG線上輸出一個髙電位脈沖,其下 降沿用于把這個片外存儲器低8位地址鎖存到外部專用地址鎖存器,以便空出P0.7P0.0 引腳線去傳送隨后而來的片外存儲器讀寫數據。在不訪問片外存儲器時,單片機自動在 ALE/PROG線上輸出頻率為1/6晶振頻率的脈沖序列。PSEN :外部程序存儲器ROM的選通信號。在山外部程序存儲器取指期間,每個機器周期兩次PSEN有效。但在訪問外部數據
24、存儲器時,這兩次有效的PSEN信號將不 出現OEA/VPP:允許訪問片外存儲器/編程電源線,當貢保持低電平時,則在此期間允 許使用片外程序存儲器,不管是否有內部程序存儲器。當EX端保持高電平時,則允許 使用片內程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1和XTAL2:片內振蕩電路輸入線,這兩個端子用來外接石英晶體和微調電 容,即用來連接單片機片內OSC的定時反饋回路。2.1.4 LEDLED數碼管簡介圖2.1AT89C51單片機*0*0b共陽極本系統選用五個LED數碼管來進行溫度顯示。LED 乂稱為數碼管,它主要是山8 段發光二極管組成的不同組合,其中
25、ag為數字和字符顯示段,dp為小數點的顯示, 通過ag這7個發光二極管點亮的不同組合,可以顯示09和AF共16個數字和字 母。LED數碼管可以分為共陰極和共陽極兩種結構,如下圖2.1.2(a)和圖2.1.2(b)所示。 共陰極結構把8個發光二極管陰極連在一起,共陽極結構把8個發光二極管陽極連在一 起。通過單片機引腳輸出高低電平,可使數碼管顯示相應的數字或字母,這種使數碼管顯示字形的數據稱字形碼,乂稱段選碼。圖2丄2七段LED數碼管表2.1.1 7段LED的段選碼表顯示字符共陰極段碼共陽極段碼顯示字符共陰極段碼共陽極段碼03fHC0H87fH80H106HF9H96fH90H25bHA4HA77
26、H88H34fHBOHB7fH83H466H99HC39HC6H56dH92HD3fHA1H67dH82HE79H86H707HF8HF71H8EH一個共陰極數碼管接至單片機的電路,要想顯示數字“7”須a、b、c這3個顯示 段發光(即這3個字段為高電平)只要在P0 口輸入00000111 (07H)即可。這里07H 即為數字7的段選碼。字形與段選碼的關系見表2.1.1所示。2.2各部分電路設計151胡全.51單片機的數碼管動態顯示技術J 信息技術,2009.13:25-268c c d d gndgnd c c dpdp數碼管引腳分配圖a共陰極aOaO toto cOcOiOiO rOrO10
27、10UlvccJIn:LJLPOEjClIIII20Pn:l.D592bI-IIII20PSW-P13S1.R:5OoLOuFVCCIIL1431191816piorr purr P12 P13 P14 P15P16 Pl?3NT1INTOT1TOEAfVPXIK2RESETRDWRAT89C52AT89C52393837363534333221222324252627281011302.2.1開關復位與晶振電路在單片機應用系統中,除單片機本身需要復位以外,外部擴展I/O接口電路也需要 復位,因此需要一個包括上電和按鈕復位在內的系統同步復位電路。單片機上的XTAL1 和XTAL2用來外接石英晶
28、體和微調電容,即用來連接單片機片內OSC的定時反饋回路。 本設計中開關復位與晶振電路如下圖所示,當按下按鍵開關S1時,系統復位一次。其 中電容 Cl、C2 為 20pF, C3 為 10uF,電阻 R2、R3 為 10k,晶振為 11.0592MHzo圖2.2.1系統復位與晶振電路2.2.2獨立鍵盤連接電路鍵盤包括2個獨立按鍵S2和S3, 端與單片機的P1.3和P1.4 口相連,另一端接 地,當按下任一鍵時,P1 口讀取低電平有效。系統上電后,進入鍵盤掃描子程序,以 查詢的方式確定各按鍵,完成溫度初值的設定。其中按鍵S1為加按鍵,每按下一次, 系統對最初設定值加一,按鍵S2為減按鍵,每按下一次
29、,系統對初設定值進行減一計 算。其接線圖如下:R3OKRDTXD ALEPSEN0123456701234567FOFOFOFOFOFOFOFOFOFOFOFOroFOFOro1212 3 3 4 4 5 5 6 6 7 7 r2F2F2F2r2r2F2F2F2r2F2F2F2F2F2F2383736353433匣WR第10頁圖2.2.2獨立鍵盤連接電路2.2.3數碼管顯示電路本設計制作中選用5位共陰極數碼管作為顯示模塊,它和單片機硬件的接口如圖223所示。其中前3位數碼管DS1、DS2、DS3用于顯示溫度傳感器實時檢測采集到的 溫度,可精確到0攝氏度,顯示范圍為0-99.9攝氏度;后2位數碼
30、管DS4、DS5用于 顯示系統設置的初值溫度,只能顯示整數的溫度值,顯示范圍為099攝氏度。5位數 碼管的段選a、b、c、d、e、f、g、dp線分別與單片機的P0.0P0.7 口連接,其中P0 口 需接一 10K的上拉電阻,以使單片機的P0 口能夠輸出高低電平。5位數碼管的位選 W1W5分別與單片機的P2.0P2.4 口相連接,只要P2.0P2.4中任一位中輸出低電平, 則選中與該位相連的數碼管。IOT89C52S3I6INTI INTOT1TOEMVPXIX2RESETAT89C52P20P21P22P23P24P25P26P27KXDTXD ALEPSEN2228 J10012345670
31、1234567OOOOUOOOOOOOUOOOPPPPFPPFPPPPFPPFjTrrjTrr1 1O1234CJ67O1234CJ67 1A1A 1X1X 1A1A 1111 1 1A A 1 1A A 1 1A A 1 1A A PPPPFPPPPPPPFPPP211234 47e1414I23i 4-5f62LWJDPYEG DPDPDPY?-SEG DP22W423242526RP27T rrrr1234J78523JVIVI u ut111)111 130529Ipldk第11頁圖2.2.3數碼管顯示電路2.2.4溫度采集電路DS18B20數字溫度傳感器通過其內部計數時鐘周期來的作用
32、,實現了特有的溫度 測量功能。低溫系數振蕩器輸出的時鐘信號通過山高溫度系數振蕩器產生的門周期而被 計數,計數器預先置有與55C相對應的一個基權值。如果計數器計數到0時,高溫度 系數振蕩周期還未結束,則表示測量的溫度值高于-55C,被預置在-55C的溫度寄存器 中的值就增加1C,然后這個過程不斷重復,直到高溫度系數振蕩周期結束為止。此時 溫度寄存器中的值即為被測溫度值,這個值以16位二進制形式存放在存儲器中,通過 主機發送存儲器讀命令可讀出此溫度值,讀取時低位在前,高位在后,依次進行。由于 溫度振蕩器的拋物線特性的影響,其內用斜率累加器進行補償。DS18B20在使用時,一般都釆用單片機來實現數據
33、采集。只須將DS18B20信號線161李鋼,趙彥1-Wire總線數字溫度傳感器DSI8B20原理及應用J.現代電子技術,2005,28(21):7779.11DS1DS2DS31 _ a IXPY _a. 1_ “_DFT_a 1_ 爪 DPY&5 52 2312121 15 5TlTO MIN2 p9 9r8r8ff3 3:534343332廠 、2j.2223J丿24vl(r2:526U32 21INIIN2IN?IN4IN5IN6IN70UT10UT20UT30UT4OUTS0UT6OUT?OUTSCOM1?0 21?3164155141061311712302119110GND10UL
34、 1280:vcc 12V第13頁引腳,ULN2803的IN7引腳與單片機的P3.1引腳相連,通過控制單片機的P3.1引腳輸出PWM信號,山此控制風扇直流電機的速度與啟停。圖2.2.5風扇電機驅動與調速電系統選用的風扇電機為12V直流無刷電機,單達林頓反向驅動器ULN2803輸入TTL信號為5V或CMOS信號為615V時,輸出的最大電壓為50V,最大電流為500mA, 工作溫度范圍為070C。本系統中單片機I/O 口輸出的TTL信號為5V,因此此風扇電 機可以用ULN2803來驅動。1317第14頁第三章軟件設計3.1程序設置程序設計部分主要包括主程序、DS18B20初始化函數、DS18B20
35、溫度轉換函數、 溫度讀取函數、鍵盤掃描函數、數碼管顯示函數、溫度處理函數以及風扇電機控制函數。 DS18B20初始化函數完成對DS18B20的初始化;DS18B20溫度轉換函數完成對環境溫 度的實時采集;溫度讀取函數完成主機對溫度傳感器數據的讀取及數據換算,鍵盤掃描 函數則根據需要完成初值的加減設定;溫度處理函數對釆集到的溫度進行分析出理,為 電機轉速的變化提供條件;風扇電機控制函數則根據溫度的數值完成對電機轉速及啟停 的控制。主程序流程圖如圖3.1.1 :圖3丄1主程序流程圖3.2用Keil C51編寫程序14第15頁Keil C51是美國Keil Software公司開發的51系列兼容單片
36、機C語言的軟件開發系 統,與單片機匯編語言相比,C語言在不僅語句簡單靈活,而且編寫的函數模塊可移植 性強,因而易學易用,效率高。隨著單片機開發技術的不斷發展,從普遍使用匯 編語言到逐漸使用高級語言開發,單片機的開發軟件也在不斷發展,Keil軟件是 目前使用較多的MCS-51系列單片機開發的軟件。Keil C51軟件不僅提供了豐富的庫函數,而且它強大的集成開發調試工具為 程序編輯調試帶來便利,在開發大型軟件時更能體現高級語言的優勢。在使用時 要先建立一個工程,然后添加文件并編寫程序,編寫好后再編輯調試。Keil C51的使用界面如圖321。圖321 Keil C51的使用界而3.3用Proteu
37、s進行仿真3.3.1 ProteusProteus 簡介191譚浩強C程序設計M(第三版)北京:淸華大學出版社.2005. 37-65.15第16頁*2330*2330 0 0 15001500 0 0 IhIhProteus軟件是來自英國Labcenter electronics公司的EDA工具軟件。Proteus軟件有十多年的歷史,在全球廣泛使用,它不僅和其它EDA工具一樣有原 理布圖、PCB自動或人工布線及電路仿真的功能,而且更重要的功能是,他的電路仿 真是互動的,可以根據仿真實時觀察到得現象驗證設計的正確性及準確性并及時改變程 序代碼、原理圖連接以及元件屬性等。它還能配合系統配置的虛擬
38、儀器來顯示和輸出, 如示波器、邏輯分析儀等【,效果很好。Proteus有4個功能模塊:智能原理圖設計、完善的電路仿真功能、獨特的單片機 協同仿真功能以及實用的PCB設計平臺。其內部元件庫含有豐富的元件,支持總線結 構以及智能化的連線功能;支持主流CPU (如ARM、8051/52、AVR)及其通用外設模 型的實時仿真等,為單片機的開發應用等帶來極大的便利。軟件使用的主界面如圖3.3.1。尸-isHisH UMTITLEDUMTITLED 一 ISISISIS ProfessionalProfessional”=、 . - - - -文件 玄若住)細輯 工貝(I)設計電)烷因 遞代碼調試 庫 複
39、扳 系歩g 幫助也胡處E) n: *丨出龜電殘盤細0I3C孟|題妙輝丿DEVICESC C O 廠 r r t t I I I I ll I I IIII I I I I O ORocRoc ikeetikeet 1 1圖3.3.1 Proteus使用界而3.3.2本設計基于ProteusProteus的仿真首先啟動Proteus軟件并建立一工程,然后根據原理圖調出相應的原件,再根據要1101孫號.Proteus軟件在設計電子電路中的應用J 儀表技術,2009,8:74-75 16IPTrIPTrAT&X52AT&X52BUTTONBUTTONCAPELECCAPELECCW5TALCW5TA
40、LDS18B2DDS18B2DMOTOR-OCMOTOR-OCPKQPKQ問冋33P33PRPSRPSRE5FWCK-6RE5FWCK-6ULNULN沏a&H EAT89C52 U2% 3,2丄DS18B20 W1C2C3C4C5C6C7C8C第17頁求改變各原件的屬性并把各個原件按原理圖連接起來。在原理圖繪制連接好后再把編譯 好的程序加載到其中【川。最后根據系統要實現的功能分步進行仿真四。把溫度傳感器DS18B20溫度設置為26.4攝氏度,用鍵盤S2調節系統預設的溫度為22攝氏度。點擊開始按鈕,系統開始仿真,待一段時間穩定后,觀察到此時風扇直 流電機的轉速為+I4.2r/s,如圖332所示。
41、S3S3 2424224242巾-ISISISIS ProfessionalProfessional (toA(toA中文祥蘭舌Q)工具CD設計ID住圖 孫代訶 詭試(B)庫D 族後0)為魏 花肋QPQEI盤si |舊性葉號QQ做徹電於撐萬鈴乂miziinBc c o 廠 ” t t I I 1 1 * * | | “ I I I I o o 5Me5age|fi)5Me5age|fi)圖3.3.2 Proteus仿真效果圖一11,1樓俊軍基于Proteus和Keil的單片機演奏樂曲的實現J科技信息,2010,23:第50頁1,21王文海,周歡喜用Proteus實現51單片機的動態仿真調試JI
42、T技術,2006.20:10-11 17XR2R2-8RP1RP1XTAOXTAORAOORAOO早處| 4 4門m rs召、F F rHrHl l41”41” 4 4 F Fl lalTrralTrr.j.j::eM MOilOil3Ea5T5TTKl MtMtR3AJMR3AJMiZfliZfl 屮C C7JTAM7JTAM計匕”遠JVTJVTM2M2 2 2rcrcF FH5-1H5-1MbMb+23.3第18頁為把溫度傳感器DS18B20溫度設置為28.4攝氏度,用鍵盤S2調節系統預設的溫度 為22攝氏度。點擊開始按鈕,系統開始仿真,待一段時間穩定后,觀察到此時直流風 扇電機的轉速為+
43、23.3 r/s,如圖3.3.3所示。ssss 242424242424 - - ISISISIS ProfessionalProfessional UMlUMl中 .)文祥Q Q)蘭幻和U)工具(D D設計5D5D feSfeS (i i)孫代岡 詭試回 庫3 3 砍視0101)為統CDCD薇肋QPQPD Olili*盤炒21 |舊胚1幸十魁Q慰欣況尙紜=; *DS18B20 圖333 Proteus仿真效果圖二當把溫度傳感器DS18B20溫度設置為33.4攝氏度,用鍵盤S2調節系統預設的溫度 為22攝氏度。點擊開始按鈕,系統開始仿真,待一段時間穩定后,觀察到此時直流風 扇電機的轉速為+32
44、.0 r/s,如圖334所示。18AT&X52AT&X52BUTTONBUTTONCPELCCCPELCCCW5TALCW5TALDS18B29DS18B29MOTOR-OCMOTOR-OC PKQPKQ邊冋科 RESRESRE5FWCK-6RE5FWCK-6ULUL沁L事王未毒一-嚴i i缶I.: 、譏 clclJCTJCTAUAU28.4VCCDQGND 第19頁三*33小做-/COCO廠 I I I I II I I liilii O O 5Me53ge|s)5Me53ge|s)U232DS18B20 U3U3一 mJiel912?xemJiel912?xe在上一步仿真的基礎上(溫度傳感
45、器DS18B20溫度設置為33.4攝氏度,系統預設 的溫度為22攝氏度),用鍵盤S2調節系統預設溫度至34攝氏度,此時可知系統預設溫 度大于溫度傳感器檢測到的溫度,觀察到直流風扇電機的轉速逐漸變慢,最后轉速變為 0,符合系統要實現的功能,如圖3.3.5所示。19asas 2424224242巾-ISISISIS Profe3ionalProfe3ional (15A(15A中文祥Q Q)蘭舌0 0)昨衢工具設計0D0D住圖孫代訶詭試購庫QJQJ碗0 0)為魏花肋QPQPQEI盤si |舊性葉號QQ做徹電於撐萬鈴乂miziinBDEWE5DEWE5?SEGRfi.CC?SEGRC6.t6ZtO4
46、CQOC6.t6ZtO4 ICPUICPU ZdZd 4646幻圖 3.3.4*4TO0*4TO0 - -zaci.0zaci.0第20頁 -|6k- 32X QNDV DGDS18B20asas 2424224242巾-ISISISIS Profe3ionalProfe3ional (15A(15A中文祥蘭舌Q)Q)工具CDCD設計IDID住圖 孫代訶 詭試(B)(B)庫D D 族後0)0)為魏 花肋QPQPQEI盤si |舊性葉號QQ做徹電於撐萬鈴乂miziinB圖3.3.5 Proteus仿真效果圖四通過以上仿真可以看出,直流風扇電機在系統設定溫度一定的情況下,其轉速隨著 環境溫度(溫度
47、傳感器檢測到的溫度)的增加而增大。當環境溫度低于系統預設的溫度 時,風扇自動停止運轉,實現了系統所設計的功能。當然,在此沒有實現風扇直流電機 的無級調速,本系統實現的是電機在隨環境溫度變化的四個等級的速度變化,環境溫度 在一定小范圍內變化風扇電機轉速是不變的,只有超過了設定的某一界限時轉速才會變 化。20第21頁BUTTONBUTTON OP-OP-ELECELECCFM5TALCFM5TALDS1803JDS1803J MOTOROCMOTOROC FWAFWA:1CCCt1CCCtlFO33PlFO33PRERE 5 5RESRES函CKCK 8 8三*33小做-/U3U3一 mJiel9
48、12?xemJiel912?xe X 姜:SENc*c*! ! GMe5age|s)GMe5age|s)珈仿真m志U2C1廠 H tHr第四章系統調試4.1軟件調試4.1.1按鍵顯示部分的調試起初根據設計編寫的系統程序:程序的鍵盤接口采用P1 口,數碼管顯示采用P0 口 控制LED的斷碼,P2 口控制LED的位碼,從而實現鍵盤功能及數碼管的顯示。經過編 譯沒有出錯,但在仿真調試時,數碼管顯示的只是亂碼,沒有正確的顯示溫度,按鍵功 能也不靈,當按下鍵時,顯示并不變化。經過查找分析,發現鍵盤掃描程序沒有沒有按鍵消抖部分,按鍵在按下與松手時, 都會有一定程度的抖動,從而可能使單片機做出錯誤的判斷,導
49、致按鍵條件預設溫度時 失靈,甚至根本不能工作。因此必須在按鍵掃描程序中加入消抖部分,即在按鍵按下與 松手時加入延時判斷,以檢測鍵盤是否真的按下或已完全松手。數碼管不能正確的顯示,主要是因為所以數碼管的段碼都山P0 口傳送,而數碼管 顯示乂采用了動態掃描的方式,但在程序中卻沒有設置顯示段碼的暫存器,導致當P0 口傳送段碼時發生混亂,不能正確識別段碼。應在系統中加入鎖存器,或是在程序中設 定存儲段碼的空間。在鍵盤加入了消抖程序,數碼管顯示程序中加入了段碼的存儲空間后,數碼管能夠 正常的顯示,按鍵也能夠工作,達到了較好的效果。4.1.2傳感器DS18B20DS18B20溫度采集部分調試山于數字式集成
50、溫度傳感器DS18B20的高度集成化,為軟件的設計和調試帶來 了極大的簡便,小體積、低功耗、高精度為控制電機的精度和穩定提供了可能。軟件設 計采用P3口為數字溫度輸入口,但是需要對輸入的數字信號進行處理后才能顯示, 從而多了溫度轉換程序。通過軟件設訃,實現了對環境溫度的連續檢測,山于硬件LED 個數的限制,只顯示了預設溫度的整數部分。在溫度轉換程序中,為了能夠正確的檢測并顯示溫度的小數位,程序中把檢測的溫 度與10相乘后,再按一個三位的整數來處理。如把24.5變為245來處理,這樣為程序 的編寫帶來了方便。4.1.3電動機調速電路部分調試第22頁在本設計中,采用了達林頓反向驅動器ULN2803
51、驅動直流電機,其可驅動八個直 流電機,本系統僅驅動一個。軟件設置了 P3.1 口輸出不同的PWM波形,通過達林頓 反向驅動器ULN2803驅動直流電機轉動,通過軟件中程序設定,根據不同溫度輸出不 同的PWM波,從而得到不同的占空比控制風扇直流電機。程序實現了 P3口的PWM 波形輸出,當外界溫度低于設置溫度時,電機不轉動或自動停止轉動:當外界溫度高于 設置溫度時,電機的轉速升高或是自動開始轉動,且外界溫度與設置溫度的差值越大, 電機轉速越高,即占空比增加。在本系統中風扇電機的轉速可實現四級調速。通過溫度傳感器檢測的溫度與系統預 設溫度值的比較,實現轉速變換。當檢測到的溫度比預設的溫度每增加5攝
52、氏度時,風 扇電機轉速增加一級。4.2硬件調試4.2.1按鍵顯示部分的調試系統按鍵部分實現了以下功能:按下P1.3 口鍵,LED的后兩位顯示溫度值增一; 按下P1.4 口鍵,LED的后兩位顯示溫度值減一。調試過程中出現了當按鍵時間過長時, 設置的溫度值不是增一或者減一,而是增加后減少兒個值,出現這種情況的主要元嬰可 能是按鍵的去抖動延時時間過長造成,改進方法為將對應的按鍵去抖動延時時間適量增 加,但也不應過長,否則將出現按鍵無效的情形。系統顯示部分實現了以下功能:LED顯示的前三位實現了環境溫度整數部分與小 數部分的連續顯示,LED的后兩位能根據按鍵的調整顯示所需要的設計溫度。且LED 的顯示
53、效果很好,很穩定。4.2.2傳感器DS18B20DS18B20溫度采集部分調試將DS18B20芯片接在系統板對應的P3.1 口,通過插針在對應系統板的右下側三口 即為對應的VCC、P3.1和GND,可將芯片直接插在該插針上,因此即為方便。系統調 試中為驗證DS18B20是否能在系統板上工作,將手心靠攏或者捏住芯片,即可發現LED 顯示的前兩位溫度也迅速升高,驗證了 DS18B20能在系統板上工作。111于DS18B20為 3個引腳,因此在調試過程中因注意其各個引腳的對應位置,以免將其接反而是芯片不 能工作甚至燒毀芯片。4.2.3電動機調速電路部分調試系統本部分的設汁中重在軟件設汁,因為外圉的驅
54、動電路只是將送來的PWM信號22第23頁放大從而驅動電機轉動。系統軟件設置在P3.1 口輸出使電機轉動的PWM占空比,當 環境溫度高于設置溫度時,電機開始轉動,若此時用高于環境溫度的熱源靠近測溫芯片 DS18B20時,發現電機的轉速在升高,并越來越快,當達到一定值時,發現電機的轉 速不再升高;將熱源離開測溫芯片DS18B20時,發現電機的轉速開始下降,轉速達到 一定值時,若將設置溫度升高到環境溫度以上,發現電機乂停止了轉動。系統采用的直 流電機為12V的額定電壓,而該驅動電路在釆用單片機電源時的輸出電壓最高不過5V, 因此在調試過程中只采用了原有的5V直流電機來調試,且得到了可觀的控制效果。
55、4.3系統功能4.3.1系統實現的功能本系統能夠實現單片機系統檢測環境溫度的變化,然后根據環境溫度變化來控制風 扇直流電機輸入占空比的變化,從而產生不同的轉動速度,亦可根據鍵盤調節不同的設 置溫度,再山環境溫度與設置溫度的差值來控制電機。當環境溫度低于設置溫度時,電 機停止轉動;當環境溫度高于設置溫度時,單片機對應輸出口輸出不同占空比的PWM 信號,控制電機開始轉動,并隨著環境溫度與設置溫度的差值的增加電機的轉速逐漸升 高。系統還能動態的顯示當前溫度和設置溫度,并能通過鍵盤調節當前的設置溫度。 4.3.2系統功能分析系統總體上山五部分來組成,既按鍵與復位電路、數碼管顯示電路、溫度檢測電 路、電
56、機驅動電路。首先考濾的是溫度檢測電路,該部分是整個系統的首要部分,首先 要檢測到環境溫度,才能用單片機來判斷溫度的高低,然后通過單片機控制直流風扇電 機的轉速;其次是電機驅動電路,該部分需要使用外圉電路將單片機輸岀的PWM信號 轉化為平均電壓輸出,根據不同的PWM波形得到不同的平均電壓,從而控制電機的轉速, 電路的設汁中采用了達林頓反向驅動器ULN2803,實現較好的控制效果;再次是數碼 管的動態顯示電路,該部分的功能實現對環境溫度和設置溫度的顯示,其中DS18B20 采集環境溫度,按鍵實現不同設置溫度的調整,實現了對環境溫度和設置溫度的及時連 續顯示。23第24頁結論本次設計的系統以單片機為
57、控制核心,以溫度傳感器DS18B20檢測環境溫度,實 現了根據環境溫度變化調節不同的風扇電機轉速,在一定范圍能能實現轉速的連續調 節,LED數碼管能連續穩定的顯示環境溫度和設置溫度,并能通過兩個獨立按鍵調節 不同的設置溫度,從而改變環境溫度與設置溫度的差值,進而改變電機轉速。實現了基 于單片機的溫控風扇的設計。本系統設汁可推廣到各種電動機的控制系統中,實現電動機的轉速調節。在生產生 活中,本系統可用于簡單的日常風扇的智能控制,為生活帶來便利;在工業生產中,可 以改變不同的輸入信號,實現對不同信號輸入控制電機的轉速,進而實現生產自動化, 如在電力系統中可以根據不同的負荷達到不同的電壓信號,再山電
58、壓信號調節不同的發 電機轉速,進而調節發電量,實現電力系統的自動化調節。綜上所述,該系統的設計和 研究在社會生產和生活中具有重要地位。24第25頁參考文獻1李學龍使用單片機控制的智能遙控電風扇控制器J.電子電路制作,2003,9:1315.2藍厚榮.單片機的PWM控制技術J.工業控制計算機.2010.23(3):97983郭天祥.新概念51單片機C語言教程|M.北京:電子工業出版社.2009.342-3444胡漢才.單片機原理及其接口技術M(第2版).北京:淸華大學出版社.2004.4977.胡全.51單片機的數碼管動態顯示技術J 信息技術,2009.13:25-26李鋼,趙彥1-VVire總
59、線數字溫度傳感器DSI8B20原理及應用J.現代電子技術, 2005,28(21):7779.7馬云峰.單片機與數字溫度傳感器DS18B20的接口設計J.計算機測量與控制,2007.10(4): 2782808王會明,侯加林.智能電風扇控制器的研制J.電子與自動化,1998,5(4):2526.9譚浩強.C程序設計M(第三版)北京:淸華大學出版社.2005.37-65.10孫號.Proteus軟件在設計電子電路中的應用J.儀表技術,2009, 8:74-7511樓俊軍.基于Proteus和Keil的單片機演奏樂曲的實現J.科技信息,2010,23:第50頁12王文海,周歡喜.用Proteus實
60、現51單片機的動態仿真調試J.IT技術,2006.20:10-1113丁建軍,陳泄方,周國柱.基于M89C51的智能電風扇控制系統J.湖北工學院學報, 2003,18(2):6063.14王會明,侯加林.智能電風扇控制器的研制J.電子與自動化,1998,5(4): 2526.15劉進山.基于MCS-51電風扇智能調速器的設汁J.廣州:電子質量,2004.10(10): 71.16 YU Qihao.CHENG Guodong.NIU Fujun. The application of auto-temperature-controlled ventilation embankment in Q
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 手工具產品可靠性與壽命預測技術考核試卷
- 2025員工終止勞動合同協議書范本
- 遼寧省重點高中沈陽市郊聯體2024-2025學年高二下學期4月月考政治試題(含答案)
- 諾如病毒知識培訓
- 2025年軍隊文職人員-公務員核心備考題庫(含典型題、重點題)
- 2025年高考歷史選擇題高分秘籍
- 加強學生手機管理班會
- 2024年秋季新人教版PEP版三年級上冊英語全冊教案
- 2025年2月份創意設計類辦公用品知識產權歸屬協議
- 部隊應聘簡歷范文
- 中國資源循環集團有限公司招聘真題2024
- 2024福建省能源石化集團有限責任公司秋季社會招聘120人筆試參考題庫附帶答案詳解
- 2025年中國中壓變頻器市場競爭策略及行業投資潛力預測報告
- 吉林省吉林市2024-2025學年高三下學期3月三模試題 英語 含答案
- 2025-2030直銷銀行行業發展分析及投資戰略研究報告
- 百師聯盟2025屆高三一輪復習聯考(五)政治試題含答案
- 2025年常州紡織服裝職業技術學院單招綜合素質考試題庫及答案1套
- 2025年四川長寧縣國恒資本控股集團有限公司招聘筆試參考題庫附帶答案詳解
- 國開2025年《會計政策判斷與選擇》形考任務1-9答案
- 2025年全國普通話水平測試15套復習題庫及答案
- 2024年天津醫科大學眼科醫院自主招聘考試真題
評論
0/150
提交評論