南京信息工程大學(xué)畢業(yè)論文封面_第1頁
南京信息工程大學(xué)畢業(yè)論文封面_第2頁
南京信息工程大學(xué)畢業(yè)論文封面_第3頁
南京信息工程大學(xué)畢業(yè)論文封面_第4頁
南京信息工程大學(xué)畢業(yè)論文封面_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、目目 錄錄1 引言引言.42 方案設(shè)計方案設(shè)計.52.1 系統(tǒng)整體設(shè)計.52.2 方案論證.52.2.1 溫度傳感器的選擇.62.2.2 紅外探測的選擇.62.2.3 控制核心的選擇.62.2.4 顯示器件的選擇.72.2.5 調(diào)速方式的選擇.72.2.6 驅(qū)動方式選擇.83 硬件設(shè)計硬件設(shè)計.83.1 系統(tǒng)各器件簡介.83.1.1 單線程數(shù)字溫度傳感器DS18B20 .83.1.2 AT89S52單片機簡介.93.1.3 橋式驅(qū)動電路L298N簡介.103.1.4 LCD1602簡介.113.2 各部分電路設(shè)計.123.2.1 開關(guān)復(fù)位與晶振電路.123.2.2 獨立控制鍵盤電路.133.2

2、.3 LCD顯示電路.133.2.4紅外探測電路.133.2.5 溫度采集電路.143.2.6 風(fēng)扇驅(qū)動電路.144 軟件設(shè)計軟件設(shè)計.154.1主程序流程圖.154.2 液晶顯示子程序.174.3 DS18B20 溫度傳感器子程序.194.3.1 溫度讀取程序.194.3.2 溫度處理程序.214.4 鍵盤掃描子程序.234.5 溫度比較處理子程序.244.6 電機控制程序(包含紅外探測).264.7 軟件設(shè)計中的問題與分析.284.7.1 LCD顯示程序的問題.284.7.2 DS18B20的顯示程序問題.285 硬件調(diào)試硬件調(diào)試.295.1 按鍵電路的調(diào)試.295.2 溫度傳感器電路的調(diào)

3、試.295.3 電機電路的調(diào)試.295.4 紅外感應(yīng)電路的調(diào)試.295.5 硬件調(diào)試遇到的問題.296 結(jié)論結(jié)論.29參考文獻(xiàn)參考文獻(xiàn).30基 基于單片機的智能風(fēng)扇控制 南京 210044 摘要:風(fēng)扇是人們?nèi)粘I钪斜夭豢扇钡墓ぞ?,尤其是在夏天,因其價格便宜,用電量較之空調(diào)有很大優(yōu)勢,故在中國還有較大市場。本文將以 AT89S52 為主控芯片,輔以 DS18B20 溫度傳感器,結(jié)合紅外探測裝置,來實現(xiàn)一種智能溫控電扇的設(shè)計。此風(fēng)扇通過液晶顯示器來顯示溫度和風(fēng)速,配備 2 個溫度設(shè)定按鍵,由 DS18B20 讀取外界溫度,紅外探頭探測是否有人,通過設(shè)定的溫度配合程序來調(diào)節(jié)風(fēng)速,最后通過 L298

4、N 來驅(qū)動電機。經(jīng)過調(diào)試,風(fēng)扇可以按照溫度智能變速,無人自動關(guān)閉,實現(xiàn)了智能溫控的目標(biāo)。關(guān)鍵詞:DS18B20;AT89S51;紅外探頭;液晶顯示器 1602;L298N Smart fan control based on MCUWang XueleiNUIST,Nanjing 210044,ChinaAbstract:The fans is an indispensable tools in peoples daily life , especially in the summer. because their price is cheap and their electricity co

5、nsumption has a great advantage compared with air-conditioning, so they have a large market so far in China. This article will use AT89S52 as the main chip and combined with DS18B20 temperature sensor, infrared detection device, to achieve an intelligent temperature control fan design. This fan thro

6、ugh the LCD display to show the temperature and wind speed, we can set temperature by two buttons. At the same time,the DS18B20 read the outside temperature ,infrared sensor to detect whether someone and analyse the above datas by AT89S52 to adjust the wind speed by setting the temperature with the

7、program, and finally through L298N to drive the motor. After debugging, the intelligent fan can be in accordance with the temperature intelligent control and automatic shut in the environment with nobody to achieve the goal of intelligent temperature control.Key word: DS18B20; AT89S51; infrared prob

8、e; LCD Monitor 1602; L298N1 引言電扇是人們?nèi)粘I钪谐S玫慕禍毓ぞ撸瑥拈_始的吊扇到現(xiàn)在的 USB 風(fēng)扇,無處不見電扇的蹤跡。雖然如今空調(diào)已經(jīng)走進(jìn)千家萬戶,但是作為一種節(jié)能環(huán)保,并且廉價簡單的降溫工具,電扇還在很多家庭生活中發(fā)揮著自己獨特的作用。但也隨著人們要求的多樣化和科學(xué)技術(shù)的進(jìn)步,各種多功能的智能風(fēng)扇在市場上暫露頭角并逐漸取代傳統(tǒng)風(fēng)扇。在產(chǎn)品智能化過程中單片機因為其智能化程度高,控制精度高,操作簡單,廉價易得,抗干擾能力強等特點,在產(chǎn)品中得到了很好的應(yīng)用。為提高風(fēng)扇的市場競爭力,使之在技術(shù)含量和人性設(shè)計上有所提高,滿足現(xiàn)在人們對智能化的要求和人性化的要求。大學(xué)四

9、年即將結(jié)束,為了檢驗自己的學(xué)習(xí)情況,我決定使用之前所學(xué)習(xí)到的硬件知識結(jié)合相關(guān)的軟件基礎(chǔ)來制作一個基于 51 單片機的智能溫控風(fēng)扇,該風(fēng)扇具有隨溫度自動調(diào)節(jié)風(fēng)速的功能,并且在無人時可以自動關(guān)閉,并且可以讓使用者依據(jù)自身對溫度的敏感程度要求來設(shè)定基準(zhǔn)溫度,從而實現(xiàn)了人性化與智能化的雙重目標(biāo)。2 方案設(shè)計2.1 系統(tǒng)整體設(shè)計本設(shè)計的整體思路是:利用溫度傳感器 DS18B20 來檢測環(huán)境溫度,并依據(jù) DS18B20 的功能特性直接輸出數(shù)字溫度給 51 單片機進(jìn)行處理,并將實時溫度、設(shè)置溫度、風(fēng)速顯示在 LCD1602 上。用 2 個可調(diào)按鍵輔助設(shè)置溫度,一個用于提高設(shè)置溫度,一個則用來降低設(shè)置溫度,設(shè)

10、置溫度只能是整數(shù)型式,檢測到的環(huán)境溫度可以精確到小數(shù)點后一位。本系統(tǒng)還配備一個紅外探頭,用于探測出風(fēng)范圍內(nèi)是否有人,若在無人的情況下則自動關(guān)閉風(fēng)扇。否則在開啟電風(fēng)扇的情況下同時采用單片機模擬 PWM 脈寬調(diào)制方式來改變直流電扇電機的轉(zhuǎn)速。系統(tǒng)整體結(jié)構(gòu)框圖 1 所示:AT89S52獨立鍵盤LCD1602紅外探頭DS18B20復(fù)位L298N直流電機晶振圖圖1整體系統(tǒng)結(jié)構(gòu)圖整體系統(tǒng)結(jié)構(gòu)圖2.2 方案論證本設(shè)計要求實現(xiàn)在溫度變化的情況下直流電機風(fēng)扇的轉(zhuǎn)速隨之改變,并且能夠在無人的情況和溫度低于設(shè)定溫度的時候自行停止,因此需要較高的溫度分辨率和穩(wěn)定的探測工具以及可靠的電機控制部件。2.2.1 溫度傳感器

11、的選擇在本設(shè)計中,溫度傳感器的選擇方案有以下兩種:方案一:采用熱敏電阻。熱敏電阻的特性就是阻值可以隨溫度隨之變化,采用熱敏電阻作為檢測溫度的核心部件,然后通過放大電路進(jìn)行信號放大,再將放大后微弱電壓變化信號通過 ADC0809 進(jìn)行模數(shù)轉(zhuǎn)換,將其轉(zhuǎn)化成數(shù)字信號并輸入單片機處理。方案二:單總線數(shù)字溫度計 DS18B20。DS18B20 數(shù)字溫度傳感器直接把溫度轉(zhuǎn)換為數(shù)字量,單片機可以直接讀取。對于方案一,如若采用熱敏電阻作為溫度采集元件,則價格方面比較便宜且元件易得,但是熱敏電阻的缺點也是顯而易見,對于溫度細(xì)微變化該元件反應(yīng)不敏感,而且在后續(xù)的放大和轉(zhuǎn)換電路中還會造成采集數(shù)據(jù)的失真和誤差,并且熱

12、敏電阻的變化曲線為非線性,每個熱敏電阻都不同,還需要單獨測試描繪出每個熱敏電阻的曲線,雖然可以通過軟件方法來實現(xiàn)對該元件誤差的修正,但是這會使得電路的復(fù)雜性增加,并且在人體所在的實際環(huán)境中難以檢測到細(xì)微較小的溫度變化。所以這個方案在本設(shè)計中難以勝任。對于方案二,DS18B20 溫度傳感器的測量范圍從-55至+125,增量值為 0.5,因此人體所處的環(huán)境溫度包括在其中,且該傳感器分辨率較高,對溫度變化反應(yīng)靈敏,獲取的溫度誤差小。DS18B20 的一大優(yōu)勢是其能將收集到溫度值在自己的器件內(nèi)部就直接轉(zhuǎn)化成數(shù)字信號輸出,從而大大簡化了系統(tǒng)設(shè)計,同時由于該溫度傳感器采用了明了的單總線技術(shù),使得它的接口與

13、相應(yīng)的單片機接口變得非常簡潔,同時使系統(tǒng)的抗干擾能力也得到了顯著的提高,所以本系統(tǒng)采用這個方案。2.2.2 紅外探測的選擇方案一:熱釋電紅外探測模塊。作為一款應(yīng)用廣泛的紅外探測模塊,具有高靈敏度,可靠性強,工作電壓低等特點,在各種場合被廣泛使用。但是該模塊的使用環(huán)境要求應(yīng)盡量避免流動的風(fēng),具有流動的風(fēng)的環(huán)境會對該感應(yīng)器造成干擾。因此該模塊與本設(shè)計所需環(huán)境有沖突,所以方案一不適用。方案二:對射式光電開關(guān)。對射式光電開關(guān)是由一紅外線發(fā)射管與一紅外線接收管配對組成使用的一款光電開關(guān)。該開關(guān)在電路中作用是通過光來傳播電路,當(dāng)紅外線發(fā)射管跟接受管間有物體阻擋時,電路便會停止工作。利用這個特性,系統(tǒng)就能判

14、斷所影響的環(huán)境中是否有人,與本系統(tǒng)設(shè)計沒有任何沖突,所以就采用這種方案。2.2.3 控制核心的選擇本設(shè)計采用 AT89S52 單片機作為系統(tǒng)的控制核心,通過軟件編程的方法對溫度的進(jìn)行實時檢測與判斷,并在 I/O 口上輸出控制信號,進(jìn)而控制電機工作。AT89S52 是一種低功耗,高性能 CMOS8 位微處理器,具有 8K 在系統(tǒng)可編程 AT89S523 引腳圖 DIP 封裝 Flash 存儲器。片內(nèi)含 8K 字節(jié)的只讀程序存儲器 ROM 和256 字節(jié)的隨即數(shù)據(jù)存儲器 RAM,兼容標(biāo)準(zhǔn) MCS-51 指令系統(tǒng)并使用 Atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè) 80C51 產(chǎn)品指令與引腳

15、完全兼容。片上 Flash 允許程序存儲器在系統(tǒng)可編程,也同樣適用于常規(guī)編程器,價格便宜,與本系統(tǒng)的設(shè)計相符合。2.2.4 顯示器件的選擇方案一:LED 共陰極數(shù)碼顯示管。方案二:LCD 液晶顯示屏 1602。對于方案一,數(shù)碼管具有成本低,功耗小,可視距離較遠(yuǎn)等特點,同時顯示溫度的程序也相對簡單,因此這種顯示方式在很多場合得到了廣泛應(yīng)用。但是它采用的顯示方式是通過動態(tài)掃描,然后逐個點亮各個 LED,因此會產(chǎn)生閃爍,在本設(shè)計這個溫度實時變化的環(huán)境中閃爍可能太快,數(shù)據(jù)可能不能很好的顯示出來,故此方案不采用。對于方案二,液晶顯示屏顯示字符清晰,自帶背光,還能顯示符號,并且不會不斷閃爍,顯示性能一流,

16、并且考慮到此設(shè)計不只是要顯示溫度,還要顯示電機和紅外的狀態(tài),所以從設(shè)計完善的角度來考慮,選擇此方案更有優(yōu)勢。2.2.5 調(diào)速方式的選擇方案一:采用數(shù)模轉(zhuǎn)化芯片 DAC0832 來控制,有單片機根據(jù)當(dāng)前環(huán)境溫度輸出數(shù)值到 DAC0832 中,再由 DAC0832 產(chǎn)生相應(yīng)的模擬信號控制晶閘管的導(dǎo)通角,從而采用無級調(diào)速電路實現(xiàn)電扇電機轉(zhuǎn)速的調(diào)節(jié)。方案二:采用單片機軟件模擬 PWM 調(diào)速的方法。PWM 是一種按照一定的規(guī)律改變脈沖序列的脈沖寬度,以調(diào)節(jié)輸出量和波形的一種調(diào)節(jié)方式,在 PWM 驅(qū)動控制的調(diào)節(jié)系統(tǒng)中,最常用的是矩形波 PWM 信號,在控制時調(diào)節(jié) PWM 波的占空比。占空比是指高電平在一個

17、周期時間內(nèi)的百分比。在控制電機的轉(zhuǎn)速時,占空比越大,轉(zhuǎn)速就越快,若全為高電平時占空比為 100%,此時轉(zhuǎn)速達(dá)到最大2。用單片機的 I/O 口輸出PWM 信號時,有如下三種方法:(1)利用軟件延時。當(dāng)高電平延時時間到時,對 I/O 口電平取反,使其變成低電平,再延時一定時間,反之在低電平延時到時,對 I/O 口電平取反,如此循環(huán)即可得到 PWM 信號。本設(shè)計就是采用了這種方法。(2)利用定時器??刂品椒ㄅc(1)相同,只是在該方法中利用單片機的定時器來進(jìn)行高低電平的轉(zhuǎn)變,而不是利用軟件的延時。應(yīng)用此方法時編程相對復(fù)雜,故不予以采用。(3)利用單片機自帶的 PWM 控制器。STC 系列單片機自帶 P

18、WM 控制器,但本系統(tǒng)使用的 AT89 系列單片機沒有此功能,所以不能使用。對于方案一,該方案能實現(xiàn)對直流電機的無級調(diào)速,速度變化靈敏,但是 D/A 轉(zhuǎn)換芯片價格較高,性價比不高,不采用。對于方案二,相對于其他方案來說,采用軟件模擬 PWM 實現(xiàn)調(diào)速的過程,具有個高的性價比與靈活性,充分的發(fā)揮了單片機自身的性能,對本系統(tǒng)的實現(xiàn)又提供了一條有效的途徑。所以綜合考慮還是選擇方案二的第一種。2.2.6 驅(qū)動方式選擇2 藍(lán)厚榮.單片機的 PWM 控制技術(shù)J .工業(yè)控制計算機,2010,23(3):9798方案一:達(dá)林頓反向驅(qū)動器 ULN2803。方案二:電橋驅(qū)動電路 L298N。對于方案一,作為一款反

19、向驅(qū)動器,ULN2803 應(yīng)用廣泛,驅(qū)動效果也很好,與 TTL 信號兼容性很好,但是在后續(xù)的硬件電路中表現(xiàn)不佳,風(fēng)扇轉(zhuǎn)速改變不明顯,而且在最高檔出現(xiàn)斷檔的情況,風(fēng)扇不轉(zhuǎn),在修改硬件電路,修改程序后依舊效果不佳,驅(qū)動力明顯不足,故方案一中途停用。對于方案二,由于之前已經(jīng)有使用過,對 L298N 這個橋式驅(qū)動模塊的應(yīng)用上手快速,驅(qū)動能力也比ULN2803 好很多,驅(qū)動風(fēng)扇 5 檔變速的實際效果明顯,故采用方案二。3 硬件設(shè)計系統(tǒng)主要器件包括溫度傳感器 DS18B20、AT89S51 單片機、液晶顯示屏 LCD1602、橋式驅(qū)動模塊L298N、對射式光電開關(guān)開關(guān)和風(fēng)扇。輔助元件包括電容電阻、晶振、電

20、源、按鍵、變壓器等。3.1系統(tǒng)各器件簡介3.1.1 單線程數(shù)字溫度傳感器DS18B20 本系統(tǒng)的溫度采集使用 DS18B20 數(shù)字溫度傳感器。DS18B20 是一種具有單總線接口的數(shù)字溫度傳感器,具有體積小,功耗低,抗干擾能力強和單片機借口簡單等優(yōu)點。DS18B20 的工作電壓范圍是 3.05.5V,測量溫度范圍55125其特性如下:1. 單總線接口。與單片機連接時只需要單片機的的一個 I/O 口,該單總線能夠?qū)崿F(xiàn)單片機與 DS18B20 的雙向通信。同時該器件除上拉電阻外,不需要任何外圍器件支持。2. 可使用數(shù)據(jù)線供電。當(dāng)對系統(tǒng)空間要求嚴(yán)格時,DS18B20 可以通過數(shù)據(jù)線供電。3. 可以編

21、程的 912 位數(shù)據(jù)分辨率。912 位數(shù)據(jù)分辨率對應(yīng)的可分辨溫度分辨為 0.5,0.25,0.125,和 0.0625。當(dāng)使用 9 位數(shù)據(jù)分辨率時,DS18B20最快可在 93.75ms 內(nèi)完成溫度轉(zhuǎn)換,當(dāng)使用 12 位數(shù)據(jù)分辨率時。最快可在 750ms 內(nèi)完成溫度轉(zhuǎn)換。4. 多點組網(wǎng)測量功能。多個 DS18B20 可以通過同一根數(shù)據(jù)線組成分布式測量網(wǎng)3。3 劉波文,劉向宇,黎勝容.51 單片機 C 語言應(yīng)用開發(fā)三位一體實戰(zhàn)精講M.北京:北京航空航天大學(xué)出版社.2011.169170 圖圖2溫度傳感器溫度傳感器DS18B203.1.2 AT89S52單片機簡介 AT89S52是一種低功耗,高性

22、能CMOS8位微處理器,具有8K在系統(tǒng)可編程AT89S523引腳圖DIP封裝Flash存儲器。使用Atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令與引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,也同樣適用于常規(guī)編程器。在單芯片上,擁有靈巧方便的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活,超有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89S5

23、2可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM,定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。P0 口:P0口是一個8位漏極開關(guān)的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下, P0不具有內(nèi)部上拉電阻。在Flash編程時,p0口也用來接受指令字節(jié);在程序效驗時,輸出指令字節(jié)。程序效驗時,需要外部上拉電阻。P1 口:P1 口是一個具

24、有內(nèi)部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅(qū)動4 個TTL邏輯電平。此外,P1.0和P1.1分別作定時器/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和定時器/計數(shù)器2 的觸發(fā)輸入(P1.1/T2EX)。 在flash編程和校驗時,P1口接收低8位地址字節(jié)。引腳號第二功能:P1.0 T2(定時器/計數(shù)器T2的外部計數(shù)輸入),時鐘輸出P1.1 T2EX(定時器/計數(shù)器T2的捕捉/重載觸發(fā)信號和方向控制)P1.5 MOSI(在系統(tǒng)編程用)P1.6 MISO(在系統(tǒng)編程用)P1.7SCK(在系統(tǒng)編程用)P2 口:P2 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動A

25、T89S52引腳圖 PLCC封裝4 個 TTL 邏輯電平。對P2 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入 口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。 在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX DPTR) 時,P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強的內(nèi)部上拉發(fā)送1。在使用 8位地址(如MOVX RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。 在flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。P3 口:P3 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,p3 輸出緩

26、沖器能驅(qū)動4 個 TTL 邏輯電平。 P3口亦作為AT89S52特殊功能(第二功能)使用,如下表所示。 在flash編程和校驗時,P3口也接收一些控制信號。端口引腳第二功能:P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 INTO(外中斷0)P3.3 INT1(外中斷1)P3.4 TO(定時/計數(shù)器0)P3.5 T1(定時/計數(shù)器1)P3.6 WR(外部數(shù)據(jù)存儲器寫選通)P3.7 RD(外部數(shù)據(jù)存儲器讀選通)此外,P3口還接收一些用于FLASH閃存編程和程序校驗的控制信號。圖 3AT89S52 腳圖 DIP 封裝3.1.3 橋式驅(qū)動電路L298N簡介本系統(tǒng)要用單片機控制風(fēng)

27、扇直流電機,需要加驅(qū)動電路,為直流電機提供足夠大的驅(qū)動電流,并能在模擬 PWM 波的情況下實現(xiàn)風(fēng)扇轉(zhuǎn)速的改變。在本系統(tǒng)驅(qū)動電路中,選用橋式驅(qū)動電路 L298N 來驅(qū)動風(fēng)扇直流電機。L298N 在使用時接口簡單,操作方便,可為電機提供穩(wěn)定的驅(qū)動電流,可以同時驅(qū)動兩臺直流電機,可以在模擬 PWM 波的情況下很好的輸出信號,實現(xiàn)風(fēng)扇轉(zhuǎn)速的平滑改變。L298N 是專用驅(qū)動集成電路,屬于 H 橋集成電路,與 L293D 的差別是其輸出電流增大,功率增強。其輸出電流為 2A,最高電流 4A,最高工作電壓 50V,可以驅(qū)動感性負(fù)載,如大功率直流電機,(二相、三相、四相)步進(jìn)電機,伺服電機,電磁閥等,特別是其

28、輸入端可以與單片機直接相聯(lián),從而很方便地受單片機控制。當(dāng)驅(qū)動直流電機時,可以直接控制兩路電機,并可以實現(xiàn)電機正轉(zhuǎn)與反轉(zhuǎn),實現(xiàn)此功能只需改變輸入端的邏輯電平。模塊接口說明:+5V:芯片電壓5V。VCC:電機電壓,最大可接 50V。GND:共地接法。EN1、EN2:高電平有效,EN1、EN2 分別為 IN1 和 IN2、IN3 和 IN4 的使能端。IN1IN4:輸入端,輸入端電平和輸出端電平是對應(yīng)的。3.1.4 LCD1602簡介字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號等點陣式 LCD,目前常用16*1,16*2,20*2 和 40*2 行等的模塊。一般 1602 字符型液晶顯示器實

29、物如圖:圖圖5LCD1602LCD1602 主要技術(shù)參數(shù):顯示容量:162 個字符芯片工作電壓:4.55.5V工作電流:2.0mA(5.0V)模塊最佳工作電壓:5.0V字符尺寸:2.954.35(WH)mm第 1 腳:VSS 為地電源。第 2 腳:VDD 接 5V 正電源。第 3 腳:VL 為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個 10K 的電位器調(diào)整對比度。第 4 腳:RS 為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。第 5 腳:R/W 為讀寫信號線,高電平時進(jìn)行讀操作,低電平時進(jìn)行寫操作。當(dāng) RS 和

30、 R/W 共同為低電平時可以寫入指令或者顯示地址,當(dāng) RS 為低電平 R/W 為高電平時可以讀忙信號,當(dāng) RS 為高電平 R/W 為低電平時可以寫入數(shù)據(jù)。第 6 腳:E 端為使能端,當(dāng) E 端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。第 714 腳:D0D7 為 8 位雙向數(shù)據(jù)線。第 15 腳:背光源正極。第 16 腳:背光源負(fù)極。3.1.5對射式光電開關(guān)簡介圖圖6對射式光電開關(guān)對射式光電開關(guān)光電開關(guān) E18 的技術(shù)參數(shù):1、輸出電流 DC/SCR/繼電器 Control output:100mA/5V 供電2、消耗電流 DC25mA3、響應(yīng)時間 2ms4、指向角:15,有效距離 3-50CM

31、 可調(diào)5、檢測物體:透明或不透明體6、工作環(huán)境溫度:-25+557、標(biāo)準(zhǔn)檢測物體:太陽光 10000LX 以下 白熾燈 3000LX 以下8、外殼材料:塑料電氣特性: U:5VDC I:100mA Sn:3-50CM3.2 各部分電路設(shè)計各部分電路設(shè)計3.2.1 開關(guān)復(fù)位與晶振電路單片機系統(tǒng)中,有兩個非常重要的電路,一個是開關(guān)復(fù)位電路,用來對單片機本身和其外部擴展 I/O接口電路進(jìn)行復(fù)位,還有一個是晶振電路,用于產(chǎn)生諧振,使單片機得以工作。電路圖如圖 7 所示:ABPWM1XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD2

32、37P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C52R110KC120pFC220pFC310uFX1CRYSTALVCC

33、圖圖7晶振電路與復(fù)位電路晶振電路與復(fù)位電路單片機的 XTAL1 和 XTAL2 用來外界石英晶體和微調(diào)電容,連接單片機內(nèi) OSC 的定時反饋電路。如圖所示,當(dāng)按下按鍵開關(guān)是,系統(tǒng)復(fù)位一次。其中電容 C1、C2 為 20pF,C3 為 10uF,電阻 R1 為 10k,晶振為 12MHz。3.2.2 獨立控制鍵盤電路本設(shè)計還有兩個獨立按鍵,分別連接單片機的 P3.2 口和 P3.3 口,如圖 8 所示:PWM1XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P

34、0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C52R24.7K圖圖8按鍵電路按鍵電路獨立按鍵 S1 和 S2 一端與單片機相連,另一端接地,當(dāng)按下時,P3 口讀取低電平有效。系統(tǒng)上電進(jìn)入

35、工作后,掃描按鍵子程序,此時可以設(shè)定溫度。其中 S1 為加按鍵,S2 為減按鍵,每按下一次后,都會使對應(yīng)的預(yù)設(shè)值加一或者減一。3.2.3 LCD顯示電路本設(shè)計采用的是 LCD1602A 作為顯示模塊,它與單片機的連接如圖 9 所示。其中第一行顯示溫度與紅外探測結(jié)果,溫度顯示到小數(shù)點后 2 位。第二行顯示設(shè)定溫度與風(fēng)扇的風(fēng)力等級。VCC234567891RP1RESPACK-8D714D613D512D411D310D29D18D07E6RW5RS4VSS1VDD2VEE3LCD1LM016LRV110圖圖9LCD連接電路連接電路3.2.4 紅外探測電路紅外光電開關(guān)一共有三個接口,一個接+5V,

36、一個接地,還有一端與單片機相連,輸出高電平或者低電平信號,在電路中直接用按鍵開關(guān)代替了,就是按鍵電路中的開關(guān) S3。3.2.5 溫度采集電路DS18B20 數(shù)字溫度傳感器通過其內(nèi)部計數(shù)時鐘周期來的作用,實現(xiàn)了特有的溫度測量功能。低溫系數(shù)振蕩器輸出的時鐘信號通過由高溫度系數(shù)振蕩器產(chǎn)生的門周期而被計數(shù),計數(shù)器預(yù)先置有與-55相對應(yīng)的一個基權(quán)值。如果計數(shù)器計數(shù)到 0 時,高溫度系數(shù)振蕩周期還未結(jié)束,則表示測量的溫度值高于-55,被預(yù)置在-55的溫度寄存器中的值就增加 1,然后這個過程不斷重復(fù),直到高溫度系數(shù)振蕩周期結(jié)束為止。此時溫度寄存器中的值即為被測溫度值,這個值以 16 位二進(jìn)制形式存放在存儲器

37、中,通過主機發(fā)送存儲器讀命令可讀出此溫度值,讀取時低位在前,高位在后,依次進(jìn)行。由于溫度振蕩器的拋物線特性的影響,其內(nèi)用斜率累加器進(jìn)行補償。DS18B20 由于直接可以輸出數(shù)字信號,所以可以直接輸出給單片機,但是需要在輸出口上接一個上拉電阻來確保工作,連接圖如圖 10 所示:VCC47.0DQ2VCC3GND1U2DS18B20R24.7K圖圖10DS18B20連接電路連接電路3.2.6 風(fēng)扇驅(qū)動電路本設(shè)計采用單片機模擬 PWM 波的方式通過 I/O 口輸出 TTL 信號,再通過一個電機驅(qū)動模塊 L298N 來驅(qū)動 12V 直流無刷電機工作,從而實現(xiàn)電扇轉(zhuǎn)速的調(diào)節(jié)。紅外探測控制電機開關(guān),鍵盤改

38、變設(shè)置的溫度,然后和預(yù)設(shè)的溫度進(jìn)行比較,通過軟件判斷后由單片機的 P3.4 口輸出脈沖信號,經(jīng)由 L298N 驅(qū)動風(fēng)扇直流電機電路,實現(xiàn)電機的啟動和轉(zhuǎn)速的改變。當(dāng)環(huán)境溫度改變時,電機的轉(zhuǎn)速會按照設(shè)定的程序相對進(jìn)行改變,溫度升高轉(zhuǎn)速變快,溫度降低,轉(zhuǎn)速變慢,溫度過低時自動停止,無人狀態(tài)下也會自動停止。當(dāng)有人出現(xiàn)后,并且溫度高于預(yù)設(shè)溫度,電機重新開始工作。如圖 12 所示:AB+12VPWM1IN15IN27ENA6OUT12OUT23ENB11OUT313OUT414IN310IN412SENSA1SENSB15GND8VS4VCC9U3L298D81N914+88.8kRPMC4100nFD1

39、1N914D21N914D31N914C5100nF圖圖11L298N驅(qū)動電路驅(qū)動電路4 軟件設(shè)計軟件編寫有 C 語言和匯編語言兩種,這兩種語言我都有所了解,兩種語言各有特點。C 語言具有編寫簡單,容易上手的特點,而且看起來條理清晰,便于修改,能夠快速準(zhǔn)確的找到錯誤并進(jìn)行改正。相對于匯編語言,作為一種低級的機器語言,讀程序相對繁瑣,但程序?qū)懞煤笠馑济髁?,效率也要高?C 語言編寫的程序,具有很好的開發(fā)功能。結(jié)合自身實際,我還是選擇了 C 語言,容易上手,可以更好的調(diào)試與編譯程序。4.1 主程序流程圖程序初始主程序開始讀取 DS18B20 溫度顯示溫度讀取預(yù)設(shè)溫度調(diào)用鍵盤掃描函數(shù)顯示設(shè)定溫度判斷

40、顯示有人/無人顯示風(fēng)速等級與預(yù)設(shè)溫度經(jīng)行比較調(diào)用電機控制函數(shù)有人無人圖圖12 主程序流程圖主程序流程圖主程序如下:void main(void) /初始化uint ltemp; /初始化溫度dianji=0; /初始化電機int1=0;int2=0;initlcd(); /初始化液晶顯示屏read_temp(); /讀取測溫子程序,讀取溫度數(shù)值delay(1000); /延時 while(1) /循環(huán)開始 delay(2);ltemp=read_temp(); /溫度賦值write_com(0 x80+2); /將溫度顯示到液晶屏 write_data(0 x30+ltemp%10000/10

41、00); write_data(0 x30+ltemp%1000/100); write_data(0 x2e);write_data(0 x30+ltemp%100/10);write_data(0 x30+ltemp%10);write_data(0 xdf);keyscan(); /讀取鍵盤子程序delay(2);write_com(0 x80+0 x40+4); /將設(shè)定溫度顯示到液晶屏write_data(0 x30+set%100/10);write_data(0 x30+set%10);write_data(0 xdf);deal(ltemp/100); /運行溫度判斷子程序di

42、anjik(); /運行電機控制子程序write_com(0 x80+0 x40+15); /將風(fēng)扇轉(zhuǎn)速顯示到液晶屏write_data(0 x30+h);write_com(0 x80+15); /將紅外探測結(jié)果顯示到液晶屏 write_data(0 x30+r); 4.2 液晶顯示子程序液晶 LCD1602 的子程序要按照說明上的時序圖來完成。要想讓 LCD 顯示的話,首先要對 LCD 進(jìn)行初始化。在完成 LCD 的初始化后,還需要定義字符的位置,并且定義寫數(shù)據(jù)的函數(shù)。其第一行的地址是40H4FH,第二行的地址是從 80H8FH,然后才能根據(jù)要顯示字符的 ASC碼對該字符進(jìn)行顯示。其流程圖

43、 14 所示:寫指令函數(shù)(位置)初始化函數(shù)寫數(shù)據(jù)函數(shù)(數(shù)字和字符)圖圖13液晶顯示程序流程圖液晶顯示程序流程圖子程序如下:/*初始化函數(shù)*void initlcd(void) uint i; E=0;RW=0; RS=0;delay(10);/延時 10mswrite_com(0 x01);/清屏delay(5);write_com(0 x38);/設(shè)顯示模式delay(5);write_com(0 x0c);/開顯示不顯光標(biāo) 光標(biāo)不閃delay(5);write_com(0 x06);/地址自動加一 光標(biāo)自動加一delay(5);write_com(0 x80);for(i=0;i16;i+

44、)write_data(table2i); write_com(0 x80+0 x40);for(i=0;i16;i+)write_data(table1i); /*寫指令函數(shù)*void write_com(uchar command)RS=0;/指令RW=0;/寫入P0=command;delay(5);E=1;/允許delay(10);E=0;/*寫數(shù)據(jù)函數(shù)*void write_data(uchar dat)RS=1;/數(shù)據(jù)P0=dat;delay(5);E=1;/允許delay(10);E=0;4.3 DS18B20 溫度傳感器子程序4.3.1 溫度讀取程序DS18B20 溫度讀取程序

45、負(fù)責(zé)把 DS18B20 測得的外界數(shù)據(jù)經(jīng)過 AD 轉(zhuǎn)化為數(shù)字,然后將數(shù)據(jù)存入寄存器中,供溫度處理程序進(jìn)行下一步操作。其流程圖 15 所示:延遲至少 750ms傳感器初始化讀取應(yīng)答信號從 DS18B20 讀取一個字節(jié)從 DS18B20 寫入一個字節(jié)輸出數(shù)據(jù) 圖圖14 DS18B20程序流程圖程序流程圖子程序如下:/*延時函數(shù)*void delayus(uint z)uchar i;for(i=0;iz;i+);/*將 DS18B20 傳感器初始化,讀取應(yīng)答信號*uchar clean_ds18b20()uchar k;/儲存 DS18B20 是否存在的標(biāo)志,k=0,表示存在;k=1,表示不存在d

46、q=1;/先將數(shù)據(jù)線拉高delayus(5);/延時dq=0;/再將數(shù)據(jù)線從高拉低,要求保持 480960usdelayus(30);/略微延時,以向 DS18B20 發(fā)出一持續(xù) 480960us 的低電平復(fù)位脈沖 dq=1;/釋放數(shù)據(jù)線(將數(shù)據(jù)線拉高)delayus(3);/延時(釋放總線后需等待 1560us 讓 DS18B20 輸出存在脈沖)k=dq;/讓單片機檢測是否輸出了存在脈沖(dq=0 表示存在)delayus(25);/延時足夠長時間,等待存在脈沖輸出完畢return k;/返回檢測成功標(biāo)志/*從 DS18B20 讀取一個字節(jié)數(shù)據(jù)*uchar read_ds18b20_date

47、()uchar value,i;/儲存讀出的一個字節(jié)數(shù)據(jù)for(i=0;i=1;dq=1;/將數(shù)據(jù)線人為拉高,為單片機檢測 DS18B20 的輸出電平作準(zhǔn)備if(dq)/如果讀到的數(shù)據(jù)是 1,則將 1 存入 valuevalue|=0 x80;delayus(6);if(!dq) /如果讀到的數(shù)據(jù)是 0,則將 0 存入 valuevalue|=0 x00;delayus(6);return value;/返回讀出的十進(jìn)制數(shù)據(jù)/*向 DS18B20 寫入一個字節(jié)數(shù)據(jù)*void write_ds18b20_date(uchar date)uchar num;for(num=0;num=1;dela

48、yus(4); /4usdq=1;/釋放數(shù)據(jù)線delayus(4);/稍作延時,給硬件一點反應(yīng)時間4.3.2 溫度處理程序溫度處理程序?qū)⑸弦话巡僮髦凶x取的溫度值進(jìn)行轉(zhuǎn)換,將二進(jìn)制數(shù)轉(zhuǎn)化為十進(jìn)制數(shù),然后輸出數(shù)字,直接交給顯示程序顯示。其流程圖如圖 16 所示:等待初始化完成初始化啟動溫度測量讀取高八位和低八位輸出十進(jìn)制整數(shù)處理數(shù)據(jù)等待轉(zhuǎn)化完成圖圖15溫度處理子程序流程圖溫度處理子程序流程圖其子程序如下:/*做好讀溫度的準(zhǔn)備*uint read_temp()uint g,d,m;uint c;m=1;m=clean_ds18b20();/初始化完成 m=0while(m); /等待初始化完成wri

49、te_ds18b20_date(0 xcc);/跳過 romwrite_ds18b20_date(0 x44);/啟動溫度測量delayus(100);m=clean_ds18b20();while(m); /等待轉(zhuǎn)化完成write_ds18b20_date(0 xcc);/跳過 romwrite_ds18b20_date(0 xbe);/讀數(shù)據(jù)命令d=read_ds18b20_date();/讀低 8 位數(shù)據(jù)g=read_ds18b20_date(); /讀高 3 位數(shù)據(jù)g4); /整數(shù)部分g=g*100;d=(d&0 x0f)*0.0625*100; c=g+d;return c;

50、 4.4 鍵盤掃描子程序本設(shè)計配備兩個輸入按鍵,分別可以對設(shè)定溫度進(jìn)行加減,此子程序用來檢測按鍵輸入。流程圖 17 所示:判斷是否按下掃描按鍵延時判斷是否按下設(shè)定溫度加一(減一)圖圖16鍵盤掃描流程圖鍵盤掃描流程圖子程序如下:/*鍵盤輸入*void keyscan(void)if(key1=0)/判斷 key1 是否按下 delay(10);/延時判斷 key1 是否按下if(key1=0)set+;/設(shè)定溫度加 1if(key1=100)set=18;while(!key1);if(key2=0)/判斷 key2 是否按下 delay(10);/延時判斷 key2 是否按下if(key2=0

51、)set-;/設(shè)定溫度減 1if(set=0)set=18;while(!key2);4.5 溫度比較處理子程序溫控風(fēng)扇設(shè)定 5 個檔位,根據(jù)溫度的變化來變化風(fēng)扇的轉(zhuǎn)速。輸出的型式采用高地電平的交替變換,檔位越高,輸出高電平的次數(shù)越多,相應(yīng)的輸出低點平的次數(shù)變少,反之,檔位越低,輸出的高電平次數(shù)越少,相應(yīng)的輸出的高電平的次數(shù)變多。低于設(shè)定溫度時,風(fēng)扇不轉(zhuǎn),大于最大擋位時滿負(fù)荷運轉(zhuǎn)。流程如圖 18 所示:讀取溫度溫度比較風(fēng)扇不轉(zhuǎn)設(shè)置為 1 檔設(shè)置為 2 檔設(shè)置為 3 檔設(shè)置為 4 檔設(shè)置為 5 檔低于設(shè)定溫度低于設(shè)定溫度+1低于設(shè)定溫度+3高于設(shè)定溫度+7低于設(shè)定溫度+5低于設(shè)定溫度+7圖圖17

52、溫度比較處理流程圖溫度比較處理流程圖子程序如下:/*溫度處理函數(shù)*void deal(uint temp) /溫度處理if(tempset)&(temp(set+1)&(temp(set+3)&(temp(set+5)&(temp(set+7)/溫度高于設(shè)定值+7 h=5; l=0;4.6 電機控制程序(包含紅外探測)本設(shè)計最終驅(qū)動電機的子程序,包含了紅外檢測。首先進(jìn)行紅外檢測判斷,若沒有人,電機不轉(zhuǎn),若有人,承接上函數(shù)設(shè)定的檔位,模擬 PWM 波輸出,一次輸出 5 個電平,1 檔就輸出一個高電平,四個低電平,2 檔輸出兩個高電平,三個低電平,依次類推。流程圖如

53、圖 19 所示:電機輸出模擬 PWM 波開始模擬 PWM 高低電平次數(shù)電機不轉(zhuǎn)紅外探測是否有人無人有人圖圖18紅外探測電機輸出流程圖紅外探測電機輸出流程圖子程序如下:/*電機模擬 PWM 控制程序*void dianjik() uchar q;for(q=0;ql&red=0;q+)/紅外感應(yīng)有人,輸出設(shè)定的低電平次數(shù)dianji=0;int1=0;int2=0;r=1; delay(100); for(q=0;qh&red=0;q+)/紅外感應(yīng)有人,輸出設(shè)定的高電平次數(shù)dianji=1;int1=1;int2=0;r=1;delay(100);for(q=0;ql&r

54、ed=1;q+)/紅外感應(yīng)沒人,不輸出dianji=0;int1=0;int2=0;r=0; delay(10); for(q=0;qh&red=1;q+)/紅外感應(yīng)沒人,不輸出dianji=1;int1=0;int2=0;r=0;delay(10);4.7 軟件設(shè)計中的問題與分析4.7.1 LCD 顯示程序的問題由于 LCD 要顯示的數(shù)據(jù)有四個,溫度、檔位、紅外探測、設(shè)定溫度,所以如何合理的安排輸出順序很重要,合理的輸出順序才能對應(yīng)外部正確的表現(xiàn)。每個數(shù)據(jù)在輸出后都要有一定的延時,這樣才能清楚的顯示在 LCD 屏幕上。由于本程序是基于溫度的,所以第一個輸出的就是溫度值;然后本程序要執(zhí)

55、行的是溫度的比較,所以第二個輸出的必然是設(shè)定溫度,設(shè)定溫度還要同時讀取鍵盤程序,實時跟隨鍵盤輸入的改變而改變;第三個輸出的就是比較溫度后的設(shè)定風(fēng)速了,顯示的風(fēng)速就是檔位數(shù);最后輸出的就是紅外探測的結(jié)果,以 0 和 1 來表示,1 為有人,處于工作狀態(tài),0 為無人,處于待機狀態(tài)。剛開始調(diào)試程序的時候,數(shù)值沒在 LCD 上顯示,后來發(fā)現(xiàn)是主函數(shù)忘記了調(diào)用子函數(shù),使得數(shù)據(jù)沒有輸入,后來經(jīng)過修改和調(diào)整,終于在 LCD 上正常顯示出來了。合理的程序使得程序顯示狀態(tài)井然有序。4.7.2 DS18B20 的顯示程序問題在本設(shè)計中,DS18B20 的顯示是最核心的數(shù)據(jù),所有其他數(shù)據(jù)都與之相對應(yīng)改變,電機的轉(zhuǎn)速

56、也與之相關(guān),但是在程序調(diào)試過程中,發(fā)現(xiàn)了一個問題,每次給單片機上電之后,總有那么不到一秒鐘的時間,溫度顯示的值是 85,不斷電的情況下復(fù)位沒有出現(xiàn)這種情況,只有每次啟動的時候出現(xiàn)。當(dāng)顯示 85 后,其他的數(shù)據(jù)也隨之變?yōu)閷?yīng)值,風(fēng)扇也有一個短暫的轉(zhuǎn)動,這對于這個設(shè)計來說無疑是一個很致命的缺陷。開始查找原因,從 DS18B20 的數(shù)據(jù)手冊中發(fā)現(xiàn),每次上電后,DS18B20 的暫存器中存儲的數(shù)據(jù)就是85,在讀取數(shù)據(jù)后,內(nèi)部的 AD 要使用 750ms 的時間來進(jìn)行數(shù)據(jù)的轉(zhuǎn)換然后重新寫入新的數(shù)據(jù),所以在這段時間中,顯示的數(shù)值就是 85 了,看來這是硬件上不可避免的過程,但是硬件上不能改變的話,我可以使

57、用軟件的方法來進(jìn)行變動,我最后采取的方法是在循環(huán)程序開始之前,先讀取一次 DS18B20 的數(shù)值,然后給與一個 1s 的延時,使得 AD 轉(zhuǎn)換完成,然后在開始循環(huán),這樣,這個問題終于得以解決了。5 硬件調(diào)試硬件電路的調(diào)試相對來說比較簡單。調(diào)試的功能包括按鍵電路,DS18B20,電機電路和紅外傳感電路。5.1 按鍵電路的調(diào)試按鍵電路實現(xiàn)的功能是在按鍵按下后能執(zhí)行設(shè)定溫度的改變,這項采用實物調(diào)試,按鍵按下之后,溫度隨之改變。5.2 溫度傳感器電路的調(diào)試溫度傳感器 DS18B20 的調(diào)試在實物上進(jìn)行,當(dāng)用手指去加熱溫度傳感器 DS18B20 的時候,LCD 示數(shù)開始隨溫度的上升而改變,變化明顯而且刷

58、新頻率適中,可以清晰的看到所顯示的溫度。5.3 電機電路的調(diào)試電機電路進(jìn)行調(diào)試,不斷的將設(shè)定溫度降低,觀察電機轉(zhuǎn)速的變化。電機隨設(shè)定溫度與實際溫度差值的改變而改變,轉(zhuǎn)速變化較為平滑,達(dá)到了預(yù)期的效果。5.4 紅外感應(yīng)電路的調(diào)試紅外感應(yīng)電路直接測試,在前方無人時,系統(tǒng)處于待機狀態(tài),電機不轉(zhuǎn)動。當(dāng)前方有人時,電機開始轉(zhuǎn)動(在溫度高于預(yù)設(shè)溫度的時候) 。5.5 硬件調(diào)試遇到的問題本次設(shè)計中遇到的最困難的問題就是出在了電機的驅(qū)動上,剛開始的設(shè)計使用的達(dá)林頓 ULN2803 反向驅(qū)動器來驅(qū)動電機,可是在軟件無誤,硬件連接無誤的情況下,電機轉(zhuǎn)動表現(xiàn)出來的是變速效果不明顯,最高檔時停轉(zhuǎn)現(xiàn)象的發(fā)生。再不斷的修改軟件和硬件電路無果的情況下,放棄了這個驅(qū)動,改用橋式驅(qū)動電路 L298N,所有的問題迎刃而解,反向驅(qū)動的驅(qū)動力不連續(xù),而且驅(qū)動力在小電流的輸入輸出時不足,使得電機驅(qū)動產(chǎn)生了非常不理想的效果。6 結(jié)論此次的設(shè)計遇到的每個問題對我來說都是一個很大的挑戰(zhàn),在老師的幫助和自己的探索中,我完成了“基于 51 單片

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論