版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 基于紅外遙控的電機(jī)控制基于紅外遙控的電機(jī)控制 學(xué)院名稱: 電氣信息工程學(xué)院 專 業(yè): 測控技術(shù)與儀器 班 級: 07 測控 1w 姓 名: 曹 森 指導(dǎo)教師姓名: 劉素芬 指導(dǎo)教師職稱: 講師 2011 年 6 月 jiangsu teachers university of technology 本 科 畢 業(yè) 設(shè) 計 ( 論 文 ) 基于紅外遙控的電機(jī)控制 摘要:為使電機(jī)調(diào)速系統(tǒng)具有操作簡單、運行安全可靠和成本低等優(yōu)點,設(shè)計 以 at89s51 單片機(jī)為核心的紅外遙控系統(tǒng)。系統(tǒng)由發(fā)射和接收以及測速三大部分組 成。采用脈寬調(diào)制 ( pwm )技術(shù)對電機(jī)進(jìn)行調(diào)速,通過紅外發(fā)射模塊和紅外接收模
2、塊 來實現(xiàn)遠(yuǎn)程控制。在測試使用后,證明其方便、可靠并具有使用價值。 關(guān)鍵詞: 無線遙控;直流電機(jī); 單片機(jī);脈寬調(diào)制 electrical machine control based on infrared remote control abstract:to realize a simple, safe, reliable and low cost speed control system of motor, infrared remote control system is designed based on at89s51 scm. it consists of three major
3、components of sending and receiving and speed measurement. pulse width modulation technology (pwm) is used on motor speed. to realize remote control, infrared emission module and infrared receiving module is usd on the system. it proves that this system is convenient, reliable and practical after us
4、ing it. key words : wire less remote contro; dc motor ; sing lechip microcom puter ; pulse width modulation( pwm ) 目目 錄錄 第一章 緒論1 1.1 課題的選題背景 1 1.2 直流電機(jī) pwm 調(diào)速原理 1 第二章 總體方案設(shè)計3 2.1 系統(tǒng)功能與框圖 3 2.2 設(shè)計方案 4 2.2.1 控制器選擇4 2.2.2 紅外收發(fā)電路4 2.2.3 測轉(zhuǎn)速傳感器模塊5 2.2.4 電機(jī)模塊5 2.2.5 電機(jī)驅(qū)動模塊6 2.3 最終方案6 第三章 硬件電路的設(shè)計7 3.1 cpu
5、模塊設(shè)計 7 3.2 紅外接收電路 9 3.3 按鍵電路 9 3.4 電機(jī)電路10 3.5 霍爾測速電路11 3.6 lcd 轉(zhuǎn)速顯示電路 12 第四章 軟件設(shè)計13 4.1 軟件功能 13 4.2 紅外發(fā)射板程序分析 13 4.3 紅外接收板解碼程序分析 16 4.4 測速和顯示子程序設(shè)計 20 第五章 系統(tǒng)的軟硬件調(diào)試24 5.1 硬件調(diào)試 24 5.1.1 上電前的調(diào)試24 5.1.2 上電后的調(diào)試24 5.1.3 各模塊調(diào)試24 5.2 軟硬件聯(lián)調(diào)25 總結(jié)與展望26 參考文獻(xiàn)27 致 謝28 附 錄29 附錄 1:實物圖29 附錄 2:硬件原理圖30 附錄 3:完整的軟件程序30 附
6、錄 4 :中英文翻譯 37 第一章第一章 緒論緒論 1.1 課題的選題背景課題的選題背景 紅外線遙控是目前使用廣泛的一種通信和遙控手段,它不影響周邊環(huán)境、不干擾 其它電器設(shè)備;電路調(diào)試簡單,只要按給定電路連接無誤,一般不需要任何調(diào)試即可 投入工作;編解碼容易,可進(jìn)行多路遙控1。 由于紅外線遙控裝置具有體積小、功耗小、功能強(qiáng)、成本低等特點,因而,繼彩 電、錄像機(jī)之后,在錄音機(jī)、印象設(shè)備、空調(diào)機(jī)以及玩具等其它小型電器裝置上夜紛 紛采用紅外線遙控。工業(yè)設(shè)備中,在高壓、輻射、有毒氣體、粉塵等環(huán)境下。采用紅 外遙控不僅完全可靠而且能有效地隔離電氣干擾。 單片機(jī)以其功能強(qiáng)、體積小、可靠性高、造價低和開發(fā)周
7、期短等優(yōu)點,成為在實 時檢測和自動控制領(lǐng)域中廣泛應(yīng)用的器件,更是工業(yè)生產(chǎn)中必不可少的器件,尤其在 日常生活中發(fā)揮的作用也越來越大。而在電氣時代的今天,電機(jī)在工農(nóng)業(yè)生產(chǎn)、人們 日常生活中亦起著十分鐘要的作用2。 隨著計算機(jī),微電子技術(shù)的發(fā)展以及新型電力電子功率器件的不斷涌現(xiàn),電動機(jī) 的控制策略也發(fā)生了深刻的變化。電動機(jī)控制技術(shù)的發(fā)展得力于微電子技術(shù),電力電 子技術(shù),傳感器技術(shù),永磁材料技術(shù),微機(jī)應(yīng)用技術(shù)的最新發(fā)展成就。變頻技術(shù)和脈 寬調(diào)制技術(shù)已成為電動機(jī)控制的主流技術(shù)。正是這些技術(shù)的進(jìn)步使電動控制技術(shù)在近 二十年內(nèi)發(fā)生了很大的變化。其中,電動機(jī)控制策略的模擬實現(xiàn)正逐漸退出歷史舞臺, 而采用微處理
8、器,通用計算機(jī),fpga/cpld,dsp 控制器等現(xiàn)代手段構(gòu)成的數(shù)字控制系 統(tǒng)得到了迅速發(fā)展。電動機(jī)的驅(qū)動部分所采用的功率器件經(jīng)歷了幾次的更新?lián)Q代以后, 速度更快,控制更容易的全控型功率器件 mosfet 和 igbt 逐漸成為主流。功率器件控 制條件的變化和微電子技術(shù)的使用也使新型的電動機(jī)控制方法能夠得到實現(xiàn)。其中, 脈寬調(diào)制(pwm)方法,變頻技術(shù)在直流調(diào)速和交流調(diào)速系統(tǒng)中得到了廣泛應(yīng)用。本次 設(shè)計中電機(jī)的調(diào)速就是使用的 pwm 調(diào)速方法3。 1.2 直流電機(jī)直流電機(jī) pwm 調(diào)速原理調(diào)速原理 所謂脈沖寬度調(diào)制是指用改變電機(jī)電樞電壓接通與斷開的時間的占空比來控制電 機(jī)轉(zhuǎn)速的方法,稱為脈沖
9、寬度調(diào)制(pwm)。 對于直流電機(jī)調(diào)速系統(tǒng),使用 fpga 進(jìn)行調(diào)速是極為方便的。其方法是通過改變電 機(jī)電樞電壓導(dǎo)通時間與通電時間的比值(即占空比)來控制電機(jī)速度。 在脈沖作用下,當(dāng)電機(jī)通電時,速度增加;電機(jī)斷電時,速度逐漸減少。只要按 一定規(guī)律改變通、斷電時間,即可讓電機(jī)轉(zhuǎn)速得到控制。設(shè)電機(jī)永遠(yuǎn)接通電源時,其 轉(zhuǎn)速最大為 vmax,設(shè)占空比為 d=t1/t,則電機(jī)的平均速度為 vd=vmaxd (1.1) 式中,vd電機(jī)的平均速度 vmax電機(jī)全通時的速度(最大) d=t1/t占空比 平均速度 vd 與占空比 d 的函數(shù)曲線,如圖 1-1 所示。 電壓 (v) 時間(t) 通電 斷電 t1
10、t2 t 0 平均速度 vd vmax 0 0.5 1 占空比 (d) 圖 1-1 平均速度和占空比的關(guān)系 由圖 1-1 可以看出,vd 與占空比 d 并不是完全線性關(guān)系(圖中實線) ,理想情況下, 可以將其近似地看成線性關(guān)系(圖中虛線) 。因此也就可以看成電機(jī)電樞電壓 ua 與占 空比 d 成正比,改變占空比的大小即可控制電機(jī)的速度。 由以上敘述可知:電機(jī)的轉(zhuǎn)速與電機(jī)電樞電壓成比例,而電機(jī)電樞電壓與控制波 形的占空比成正比,因此電機(jī)的速度與占空比成比例,占空比越大,電機(jī)轉(zhuǎn)得越快, 當(dāng)占空比 1 時,電機(jī)轉(zhuǎn)速最大4。 第二章第二章 總體方案設(shè)計總體方案設(shè)計 2.1 系統(tǒng)功能與框圖系統(tǒng)功能與框圖
11、 本系統(tǒng)是紅外遙控控制電機(jī)的研制,主要通過自行設(shè)計的紅外發(fā)射板和接收板來 控制電機(jī)的起動、停止、正轉(zhuǎn)、反轉(zhuǎn)、加速、減速,并且通過 lcd 液晶顯示出電機(jī)的 轉(zhuǎn)速。 硬件電路由紅外發(fā)射電路、紅外接收電路、霍爾測速電路、單片機(jī)最小系統(tǒng)、按 鍵電路、lcd 顯示電路組成。 本設(shè)計的一般框圖如圖2-1所示: (a) 發(fā)射模塊 紅外接 收電路 轉(zhuǎn)速顯 示電路 單 片 機(jī) 電機(jī)驅(qū) 動電路 直流 電機(jī) 霍爾測 速電路 (b) 接收測速模塊 圖2-1 系統(tǒng)框圖 單 片 機(jī) 紅外發(fā) 射電路 按鍵 電路 2.2 設(shè)計方案設(shè)計方案 為較好的實現(xiàn)各模塊的功能,分別設(shè)計了幾種方案并分別進(jìn)行了論證。 2.2.1 控制器選
12、擇 方案 1:采用可編程邏輯期間 cpld 作為控制器。cpld 可以實現(xiàn)各種復(fù)雜的邏輯 功能、規(guī)模大、密度高、體積小、穩(wěn)定性高、io 資源豐富、易于進(jìn)行功能擴(kuò)展。采用 并行的輸入輸出方式,提高了系統(tǒng)的處理速度,適合作為大規(guī)??刂葡到y(tǒng)的控制核心。 但本系統(tǒng)不需要復(fù)雜的邏輯功能,對數(shù)據(jù)的處理速度的要求也不是非常高。且從使用 及經(jīng)濟(jì)的角度考慮放棄了此方案。 方案 2:采用凌陽公司的 16 位單片機(jī),它是 16 位控制器,具有體積小、驅(qū)動能力 高、集成度高、易擴(kuò)展、可靠性高、功耗低、結(jié)構(gòu)簡單、中斷處理能力強(qiáng)等特點。處 理速度高,尤其適用于語音處理和識別等領(lǐng)域。但是當(dāng)凌陽單片機(jī)應(yīng)用語音處理和辨 識時,
13、由于其占用的 cpu 資源較多而使得凌陽單片機(jī)同時處理其它任務(wù)的速度和能力 降低。 本系統(tǒng)主要是采集溫度以及對電機(jī)的控制。如果單純的使用凌陽單片機(jī),從系統(tǒng) 的穩(wěn)定性和編程的簡潔性考慮,放棄了單純使用凌陽單片機(jī)而考慮其它的方案。 方案 3:at89c51 是美國 atmel 公司生產(chǎn)的低電壓,高性能 cmos8 位單片機(jī), 片內(nèi)含 4k bytes 的可反復(fù)擦寫的只讀程序存儲器(perom)和 128bytes 的隨機(jī)存取數(shù) 據(jù)存儲器(ram) 。采用 atmel 公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn) mcs-51 指令系統(tǒng),片內(nèi)置通用 8 位中央處理器(cpu)和 flash 存儲單元
14、.,1288 字 節(jié)內(nèi)部 ram,32 個可編程 i/o 口線,2 個 16 位定時/計數(shù)器,6 個中斷源,低功耗空閑 和掉電模式5。 本系統(tǒng)主要結(jié)合已學(xué)知識,再加上實際應(yīng)用方便、經(jīng)濟(jì)性,故選擇了方案 3。 2.2.2 紅外收發(fā)電路 方案 1:采用專門的紅外編解碼芯片。優(yōu)點:軟件開銷小,編解碼芯片幫助軟件 完成很多工作。缺點:成本高,電路復(fù)雜。 方案 2:利用單片機(jī)內(nèi)部定時器調(diào)制到 38khz 紅外信號,利用單片機(jī)外部中斷進(jìn) 行解碼。優(yōu)點:成本低,電路簡單。缺點:軟件復(fù)雜,使用的中斷資源多。 但是本設(shè)計中,在紅外發(fā)射和接受時,單片機(jī)并沒有其他并發(fā)的任務(wù)需要執(zhí)行, 故選擇方案 2 以簡化電路設(shè)計
15、。 2.2.3 測轉(zhuǎn)速傳感器模塊 方案 1:用光敏電阻組成測速傳感器。光敏電阻的阻值可以跟隨周圍環(huán)境光線的變 化而變化。當(dāng)光線照射到白線上面時,光線發(fā)射強(qiáng)烈,光線照射到黑線上面時,光線 發(fā)射較弱。因此光敏電阻在白線和黑線上方時,阻值會發(fā)生明顯的變化。將阻值的變 化值經(jīng)過比較器就可以輸出高低電平6。 但是這種方案受光照影響很大,不能夠穩(wěn)定的工作。因此考慮其他更加穩(wěn)定的方 案。 方案 2:用紅外發(fā)射管和接收管自己制作光電對管測速傳感器。紅外發(fā)射管發(fā)出紅 外線,當(dāng)發(fā)出的紅外線照射到白色的平面后反射,若紅外接收管能接收到反射回的光 線則檢測出白線繼而輸出低電平,若接收不到發(fā)射管發(fā)出的光線則檢測出黑線繼
16、而輸 出高電平。這樣自己制作組裝的尋跡傳感器基本能夠滿足要求,但是工作不夠穩(wěn)定, 且容易受外界光線的影響,因此放棄了這個方案7。 方案 3:用槽開光電開關(guān)作為測速傳感器,把一個光發(fā)射器和一個接收器面對面地 裝在一個槽的兩側(cè)的是槽形光電。發(fā)光器能發(fā)出紅外光或可見光,在無阻情況下光接 收器能收到光。但當(dāng)被檢測物體從槽中通過時,光被遮擋,光電開關(guān)便動作。輸出一 個開關(guān)控制信號,切斷或接通負(fù)載電流,從而完成一次控制動作。槽形開關(guān)的檢測距 離因為受整體結(jié)構(gòu)的限制一般只有幾厘米,但是輸出波形需要整形。 方案 4:用霍爾開關(guān)作為測速傳感器,檢測不到磁場時輸出高電平,檢測到磁場時 輸出低電平8。輸出波形較為平
17、整,不需要整形亦可直接測量,且不會丟失下降沿, 相比槽型光電開關(guān)安裝方便。十分符合本設(shè)計的需求9。 因此選擇了方案 4。 2.2.4 電機(jī)模塊 方案 1:采用步進(jìn)電機(jī)作為該系統(tǒng)的驅(qū)動電機(jī)。由于其轉(zhuǎn)過的角度可以精確的定位, 可以實現(xiàn)小車前進(jìn)路程和位置的精確定位。雖然采用步進(jìn)電機(jī)有諸多優(yōu)點,步進(jìn)電機(jī) 的輸出力矩較低,隨轉(zhuǎn)速的升高而下降,且在較高轉(zhuǎn)速時會急劇下降,其轉(zhuǎn)速較低, 不適用于小車等有一定速度要求的系統(tǒng)。經(jīng)綜合比較考慮,放棄了此方案10。 方案 2:采用直流減速電機(jī)。直流減速電機(jī)轉(zhuǎn)動力矩大,體積小,重量輕,裝配簡 單,使用方便,能夠較好的滿足系統(tǒng)的要求,因此選擇了此方案。 2.2.5 電機(jī)驅(qū)
18、動模塊 方案 1:采用專用芯片 l293d 作為電機(jī)驅(qū)動芯片。l293d 是一個具有高電壓大電 流的全橋驅(qū)動芯片,它相應(yīng)頻率高,一片 l293d 可以分別控制兩個直流電機(jī),而且還 帶有控制使能端。用該芯片作為電機(jī)驅(qū)動,操作方便,穩(wěn)定性好,性能優(yōu)良11。 方案 2:對于直流電機(jī)用分立元件構(gòu)成驅(qū)動電路。由分立元件構(gòu)成電機(jī)驅(qū)動電路, 結(jié)構(gòu)簡單,價格低廉,在實際應(yīng)用中應(yīng)用廣泛。但是這種電路工作性能不夠穩(wěn)定。 因此選用了方案 1。 2.3 最終方案最終方案 經(jīng)過反復(fù)論證,最終確定了如下方案: (1)采用通用板制作。 (2)采用 atmel 公司生產(chǎn)的 at89c51 單片機(jī)作為主控制器。 (3)用霍爾開
19、關(guān)作為測速傳感器 (4)l293d 作為直流電機(jī)的驅(qū)動芯片。 第三章第三章 硬件電路的設(shè)計硬件電路的設(shè)計 第 2 章介紹了本次設(shè)計的方案選定及系統(tǒng)框圖。本章主要介紹本次設(shè)計硬件電路的 具體設(shè)計。 紅外通信的基本原理實質(zhì)上就是利用紅外線來作為載體傳送信息。把單片機(jī)等產(chǎn) 生的的編碼控制信號,經(jīng)由調(diào)制電路調(diào)制為 3240khz 的方波信號(提高發(fā)射效率、 降低功耗) 。在經(jīng)由驅(qū)動電路驅(qū)動紅外發(fā)光二極管發(fā)出紅外遙控信號;在接收端使用與 發(fā)射端相配對的紅外光電二極管,接收含有控制信號的紅外信號,在將該紅外信號解 調(diào)為電信號后,再送入單片機(jī)進(jìn)行解碼,以得到相應(yīng)的控制信號,從而完成紅外信息 的傳送。 3.1
20、 cpu 模塊設(shè)計模塊設(shè)計 at89c51 是美國 atmel 公司生產(chǎn)的低電壓,高性能 cmos8 位單片機(jī),片內(nèi)含 4kbytes 的可反復(fù)擦寫的只讀程序存儲器(perom)和 128bytes 的隨機(jī)存取數(shù)據(jù)存儲器 (ram) 。采用 atmel 公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn) mcs-51 指令系 統(tǒng),片內(nèi)置通用 8 位中央處理器(cpu)和 flash 存儲單元.,1288 字節(jié)內(nèi)部 ram,32 個可編程 i/o 口線,2 個 16 位定時/計數(shù)器,6 個中斷源,低功耗空閑和掉電模式。 .1 復(fù)位和時鐘電路復(fù)位和時鐘電路 復(fù)位電路和時鐘電路如圖 3-1
21、 所示,對于復(fù)位電路,本設(shè)計采用上電復(fù)位電路, 由于 89c51 是高電平復(fù)位,因此通過在 reset 端接一個電阻到地,并接一個電容到電 源的方式完成上電復(fù)位,上電時電源給電容充電,電容導(dǎo)通,因此 reset 腳就相當(dāng)于 連接到+5v 電源,開始復(fù)位,當(dāng)電容充電完成后,電容斷開,reset 腳被下拉電阻鉗位 在低電平,則退出復(fù)位狀態(tài)。 對于時鐘電路,采用 11.0592m 的晶振并加以兩個 22pf 的起振電容。 圖 3-1 復(fù)位和時鐘電路 .2 紅外發(fā)射電路紅外發(fā)射電路 本設(shè)計的紅外發(fā)射器采用碼分制遙控方式,碼分制紅外遙控就是指令信號產(chǎn)生電 路以不同的脈沖編碼(不同的脈沖數(shù)
22、目及組合)代表不同的控制指令。當(dāng)不同的指令 鍵被按下時,指令信號電路產(chǎn)生不同的脈沖編碼的指令信號,也就是進(jìn)行編碼,然后 經(jīng)由調(diào)制電路進(jìn)行調(diào)制從而產(chǎn)生不同的編碼信號,再由驅(qū)動電路驅(qū)動紅外發(fā)射器發(fā)射 紅外信號。如圖 3-2 所示: 圖 3-2 紅外發(fā)射電路 3.2 紅外接收電路紅外接收電路 紅外接收電路是紅外遙控系統(tǒng)中的指令信號及檢出電路,通過一體化紅外接收頭 1838(集成紅外線的接收、放大、解調(diào),不需要任何外接元件,就能完成從紅外線的接 收到輸出與 ttl 電平信號兼容的所有工作)然后將接收到的信號發(fā)送給 at89c51,然后 at89c51 通過內(nèi)部程序?qū)λ邮招盘栠M(jìn)行判斷然后就驅(qū)動相應(yīng)的外
23、部設(shè)備進(jìn)行相應(yīng)的動 作。此設(shè)計的遙控開關(guān)是在通用遙控的基礎(chǔ)上加以改進(jìn)的,其實就是將紅外遙控器接 收部分采用單片機(jī) at89c51 來控制。即當(dāng)一體化紅外接收器接收到的紅外遙控信號, 經(jīng)放大、解碼濾波后,將原編碼信號傳送入單片機(jī) at89c51 中進(jìn)行信號識別編碼然后 進(jìn)行相應(yīng)的處理,已達(dá)到控制電路的目的。紅外接收電路如圖 3-3 所示。1838 接收頭 的 1 號腳接到單片機(jī)的 p3.3 號腳上。 圖 3-3 紅外接收電路 如圖 3-3 所示,圖中 r10 為 22 歐姆的小電阻,串聯(lián)進(jìn) 1838 的電源腳,起保護(hù)作 用。c11 為 104 電容(0.1uf),對 1838 的電源起到濾波作用
24、,增加抗干擾性能。 3.3 按鍵電路按鍵電路 由于本設(shè)計中只需要六只按鍵且單片機(jī) i/o 口富足,因此,按鍵電路只需如圖 3-4 所示即可,而不必采用復(fù)雜的矩陣鍵盤。key1 到 key6 分別接到單片機(jī)的 p2.7 到 p2.2 號腳上。 圖 3-4 按鍵電路 如圖 3-4 所示,六個按鍵從 1 號到 6 號分別表示起動,停止,正轉(zhuǎn),反轉(zhuǎn),加速, 減速。每個按鍵接 4.7k 的上拉電阻,以保證按鍵未被按下時,i/o 口檢測到的電平為 高電平,而不會引起按鍵的誤操作,提高按鍵電路的抗干擾能力。 3.4 電機(jī)電路電機(jī)電路 本設(shè)計中電機(jī)驅(qū)動選用的驅(qū)動芯片為 l293d,它包含 4 個輸出通道,最大
25、輸出峰值 電流為 12 a,能同時驅(qū)動 2 個直流電機(jī)工作;其信號輸入端和使能端接收到來自單 片機(jī)的信號,控制電機(jī)的通斷以及正、反轉(zhuǎn),還可以通過向使能端輸入不同占空比的 方波信號來調(diào)整電機(jī)轉(zhuǎn)速(pwm 方式)。如圖 3-5 所示,in 端口接控制信號,out 端口接 電機(jī)的兩端,en 端口接使能信號。一組 in 端口輸入為高低或低高電平時,能實現(xiàn) 電機(jī)的正反轉(zhuǎn)。一組 in 端口輸入均為高或低電平時,電機(jī)將停轉(zhuǎn)。en 使能端為高電 平時,相應(yīng)端口輸入信號有效;反之,則輸入信號無效。在 en 端輸入 pwm 波,通過調(diào) 整 pwm 波的占空比,即可實現(xiàn)電機(jī)的無級調(diào)速。 圖 3-5 電機(jī)驅(qū)動電路 3
26、.5 霍爾測速電路霍爾測速電路 本設(shè)計中采用霍爾開關(guān)來進(jìn)行測速?;魻栭_關(guān)是檢測磁場的傳感器,當(dāng)無磁場信號 時輸出高電平,有磁場信號時輸出低電平,因此將霍爾開關(guān)輸出的信號接入單片機(jī)的 外部計數(shù)引腳,然后通過測頻法將很容易求得電機(jī)的轉(zhuǎn)速,霍爾開關(guān)電路如圖 3-6 所 示。 圖 3-6 霍爾開關(guān)電路 如圖 3-6 所示,霍爾開關(guān) 1 腳為輸出腳,2 腳為地腳,3 腳接電源,使用十分方便, 需要注意的是霍爾開關(guān)是 oc 輸出的,因此在輸出腳需要加一個上拉電阻。 3.6 lcd 轉(zhuǎn)速顯示電路轉(zhuǎn)速顯示電路 本設(shè)計中采用 lcd1602 模組來顯示轉(zhuǎn)速,要驅(qū)動該模組只需要按照 1602 模組的時 序操作即可
27、,參考 1602 模組的數(shù)據(jù)手冊,設(shè)計的驅(qū)動電路如圖 3-7 所示。 圖 3-7 液晶顯示電路 如圖 3-7 所示,lcd 模組 1、2 腳分別接地和電源(5v) ,3 腳為液晶顯示偏壓信號, 通過一可調(diào)電阻接地,調(diào)節(jié)該電位器可以調(diào)節(jié)液晶的對比度,4-6 腳分別接單片機(jī)的 p2.0-p2.2,7-14 腳分別接單片機(jī) p1.0-p1.7,15、16 腳分別接電源(5v)和地。 第四章第四章 軟件設(shè)計軟件設(shè)計 4.1 軟件功能軟件功能 本設(shè)計的軟件主要結(jié)合硬件電路實現(xiàn)預(yù)計各種功能,包括紅外遙控電機(jī)起動,停 止,正轉(zhuǎn),反轉(zhuǎn),加速,減速,并且通過 led 指示電機(jī)所處運行狀態(tài)。另外還需要檢 測出轉(zhuǎn)速
28、并予以顯示。 4.2 紅外發(fā)射板程序分析紅外發(fā)射板程序分析 紅外發(fā)射板主程序主要實現(xiàn)對按鍵的檢測,并根據(jù)相應(yīng)按鍵發(fā)射相應(yīng)的紅外碼給 紅外接收板。軟件流程圖如圖 4-1 所示: 開始 單片機(jī)初始化 有鍵按下 發(fā)送對應(yīng)鍵 值的紅外碼 n y 圖 4-1 紅外發(fā)射板程序流程圖 其中紅外編碼發(fā)射的具體函數(shù)如下所示: /* 發(fā)送紅外數(shù)據(jù) */ void sendcode(void) set_count=575;/發(fā)送 9ms 38k 紅外光 flag=1; count=0; tr0=1; while(countset_count); tr0=0; set_count=320;/間隔 4.5ms flag
29、=0; count=0; tr0=1; while(countset_count); tr0=0; ircode=irsys0;/發(fā)送 26 位系統(tǒng)碼的前 1-8 位 sendcode_8(); ircode=irsys1;/發(fā)送 26 位系統(tǒng)碼的前 9-16 位 sendcode_8(); ircode=irsys2;/發(fā)送 26 位系統(tǒng)碼的前 17-24 位 sendcode_8(); ircode=irsys3;/發(fā)送 26 位系統(tǒng)碼的前 24-26 位 sendcode_2(); ircode=irdata;/發(fā)送 8 位數(shù)據(jù)碼 sendcode_8(); ircode=irdata;
30、 /發(fā)送 8 位數(shù)據(jù)反碼 sendcode_8(); set_count=28;/發(fā)送 0.56ms 38k 紅外波(編碼中的 0.56ms 低電平) flag=1; count=0; tr0=1; while(countset_count); tr0=0; ir=0; delay(23);/延時 23ms(編碼中的 23ms 高電平) set_count=575;/發(fā)送 9ms 38k 紅外波 flag=1; count=0; tr0=1; while(countset_count); tr0=0; set_count=330;/間隔 4.5ms flag=0; count=0; tr0=1
31、; while(countset_count); tr0=0; set_count=30;/發(fā)送 0.56ms 38k 紅外波(編碼中的 0.56ms 低電平) flag=1; count=0; tr0=1; while(count12/數(shù)據(jù)解碼標(biāo)記 common_code_count=0;/系統(tǒng)碼計算清零 buf_count=0;/中斷計數(shù)暫存清 0 else if(buf_count40 common_code_count+;/每收到一個信號自加 1 4.4 測速和顯示子程序設(shè)計測速和顯示子程序設(shè)計 開始 單片機(jī)初始化 液晶初始化 1 秒鐘定時到? 讀取計數(shù)值 計算每分鐘轉(zhuǎn)速 驅(qū)動液晶 更
32、新轉(zhuǎn)速 n y 圖 4-3 測速和顯示子程序流程圖 由于霍爾開關(guān)輸出的轉(zhuǎn)速方波被接到外部計數(shù)端口,那么在單片機(jī)內(nèi)部只要使用 測頻法測量轉(zhuǎn)速,在單片機(jī)內(nèi)部開啟 10ms 定時器,當(dāng)定時器計到 0.5s 時。讀出外部 計數(shù)端的計數(shù)值,就是 0.5s 的轉(zhuǎn)速,將此轉(zhuǎn)速乘以 120 即得到了每分鐘的轉(zhuǎn)速。測速 部分的代碼如下所示: void main(void) uchar num; init(); tmod = 0 x15; ie = 0x88; th1 = 0 x4c; tl1 = 0 x00; th0 = tl0 = 0; tr1 = 1; tr0 = 1; wirte_cmd(0 x01);
33、while(1) if(tf0 = 1) tf0 = 0; n+; if(flag) freq = (65536 * n + t0h * 256 + t0l) * 120; flag = 0; str2 = freq/1000+0; str3 = freq/100%10+0; str4 = freq/10%10+0; str5 = freq%10+0; wirte_cmd(0 x80); for(num=0;num= 10) cnt = 0; t0l = tl0; t0h = th0; th0 = tl0 = 0; flag = 1; th1 = 0 x4c; tl1 = 0 x00; 第五章
34、第五章 系統(tǒng)的軟硬件調(diào)試系統(tǒng)的軟硬件調(diào)試 5.1 硬件調(diào)試硬件調(diào)試 硬件調(diào)試主要是針對電源部分,電機(jī)驅(qū)動,led驅(qū)動,按鍵電路等等進(jìn)行檢測。這 一部分硬件調(diào)試主要分成兩大塊:上電前的調(diào)試和上電后的調(diào)試。 5.1.1 上電前的調(diào)試 在上電前,必須確保電路中不存在斷路或短路情況,這一工作是整個調(diào)試工作的 第一步,也是非常重要的一個步驟。在這部分調(diào)試中主要使用的工具是萬用表,用來 完成檢測電路中是否存在斷路或者短路情況等。 通過萬用表的檢測,沒有發(fā)現(xiàn)短路和斷路的地方,電路基本正常。 5.1.2 上電后的調(diào)試 在確保硬件電路正常,無異常情況(斷路或短路)方可上電調(diào)試,上電調(diào)試的目的 是檢驗電路是否接錯
35、,同時還要檢驗原理是否正確。 5.1.3 各模塊調(diào)試 紅外發(fā)射電路 通過手機(jī)攝像頭觀看紅外發(fā)光二極管,在有按鍵按下即需要發(fā)射紅外光時,攝像 頭中的紅外發(fā)光二極管確實有閃爍現(xiàn)象,表示有紅外光發(fā)出。 液晶電路調(diào)試 單片機(jī)上電之后,液晶同時上電,全屏亮,通過 3 腳電位器調(diào)節(jié)液晶顯示最佳亮 度,調(diào)試結(jié)果良好。 直流電機(jī)調(diào)試 直接用 5v 直流電給電機(jī)供電,電機(jī)正常轉(zhuǎn)動。 5.2 軟硬件聯(lián)調(diào)軟硬件聯(lián)調(diào) 紅外發(fā)射接收過程 按下紅外發(fā)射板上的按鍵,接收板上的電機(jī)相應(yīng)動作,并且正、反轉(zhuǎn)和加、減速 與電機(jī)工作狀態(tài)相符,表明紅外編解碼都正確。且電機(jī)驅(qū)動也實現(xiàn)預(yù)期目標(biāo)。 測速和顯示轉(zhuǎn)速 按一下發(fā)射板上的開始按鈕,
36、電機(jī)開始轉(zhuǎn)動,lcd 顯示出當(dāng)前轉(zhuǎn)速(單位是轉(zhuǎn)每分 鐘),當(dāng)按下發(fā)射板加速鍵后, lcd 顯示的轉(zhuǎn)速提高,當(dāng)按下發(fā)射板減速鍵后, lcd 顯 示的轉(zhuǎn)速降低,由此可見,加減器和測速以及顯示轉(zhuǎn)速電路都達(dá)到了預(yù)期目標(biāo) 。 總結(jié)總結(jié)與展望與展望 本設(shè)計采用了模塊化的設(shè)計方法,各個模塊之間獨立性比較強(qiáng)。系統(tǒng)以 at89c51 單片機(jī)為核心,分為紅外發(fā)射模塊、紅外接收模塊、電機(jī)驅(qū)動模塊、測速模塊以及轉(zhuǎn) 速顯示模塊,該系統(tǒng)的設(shè)計方案充分利用了單片機(jī)的系統(tǒng)資源,體現(xiàn)了 at89c51 這一 款 cpu 體積小、功能強(qiáng)、抗干擾能力強(qiáng)的優(yōu)勢,適用于本系統(tǒng)中。 此次設(shè)計實現(xiàn)了基于 at89c51 單片機(jī)的通過紅外遙
37、控電機(jī), 本設(shè)計方案還有需要 改進(jìn)的地方,比如如果需要遙控更多的選項時,單片機(jī)通過軟件編解碼負(fù)荷都會比較 重,消耗定時器資源也比較多,在這種情況下,可能考慮使用專門的紅外編解碼芯片 會是更好的方案,另外電機(jī)驅(qū)動模塊可以嘗試別的驅(qū)動方式等等。 參考文獻(xiàn)參考文獻(xiàn) 1 陳世夏,王翠珍,吳凌燕.頻分制紅外遙控開關(guān)電路的設(shè)計j.現(xiàn)代電子技術(shù), 2010,331(20):46-48. 2 韓志軍等.單片機(jī)應(yīng)用系統(tǒng)設(shè)計m.北京:機(jī)械工業(yè)出版社,2005. 3 李素娟,蔣維安.直流電機(jī) pwm 調(diào)速系統(tǒng)中控制電壓非線性研究j.現(xiàn)代電子技術(shù), 2010,333(22):196-202. 4 李偉,于連國,王妍瑋
38、.89c51 單片機(jī)在直流電動機(jī)轉(zhuǎn)速測控中的應(yīng)用j.林業(yè)機(jī) 械與木工設(shè)備,2010,38(5):58-59. 5 張友德等.單片微型機(jī)原理、應(yīng)用與實驗m.上海:復(fù)旦大學(xué)出版社,2005. 6 陳育中.霍爾傳感器測速系統(tǒng)的設(shè)計j.科學(xué)技術(shù)與工程,2010,10(30):7529- 7532 7 張淑慧.紅外遙控與單片機(jī)的連接技術(shù)j.瓊州大學(xué)學(xué)報,2003,10(2):13-14. 8 林金陽,王明福.基于 m51 單片機(jī)的直流電機(jī) pwm 調(diào)速系統(tǒng)j.長春工程學(xué)院學(xué)報, 2009,10(3):32-35. 9 劉偉.用霍爾開關(guān)測量剛體轉(zhuǎn)動慣量實驗中的時間變量j.大學(xué)物理實驗, 2006,19(2
39、):44-47. 10 孫忠獻(xiàn).電機(jī)技術(shù)與應(yīng)用m.福建:科學(xué)技術(shù)出版社,2004. 11 harn l. new digital signature scheme based on discrete logarithmj. electronic letter,1994,30(5):396-398. 12 張開便.c 語言與匯編混合編程機(jī)理探析與應(yīng)用j.電腦開發(fā)與應(yīng)用,2010,23(4): 29-40. 13 陳小平.protel99se-電子線路 cadm.南京:東南大學(xué)出版社,2005. 14 wu li-zhen,hao xiao-hong. design of optimal cont
40、roller for networked control systembased on ethernetj.control engineering china, 2004,11(5): 428-431. 15 彭志剛.基于單片機(jī)的紅外遙控電機(jī)調(diào)速系統(tǒng)的設(shè)計j.現(xiàn)代電子技術(shù), 2008,279(16):46-50. 致致 謝謝 為期三個多月的畢業(yè)設(shè)計終于結(jié)束了,在這三個多月中我完成了畢業(yè)設(shè)計課題。 回顧這三個多月來得設(shè)計生活,可以說是對我四年所學(xué)知識與技能的一次系統(tǒng)性的總 結(jié)和應(yīng)用。設(shè)計中不僅要求我具有扎實的理論基礎(chǔ),還需要很強(qiáng)的動手能力,善于發(fā) 現(xiàn)問題,分析問題,解決問題的思維能力。同時,三個
41、多月來得畢業(yè)設(shè)計也是我踏入 社會大門之前對自身水平的一次考驗和檢測。通過設(shè)計對自身的技能水平和理論基礎(chǔ) 有一個全面的,客觀的評價。 這次畢業(yè)設(shè)計,盡管在實踐中困難重重,但我獲得了很多很多。從初期總體設(shè)計 到最終的成品,從組裝到最后的總調(diào)成功,我學(xué)到的知識比課堂上學(xué)到的要多很多! 由此說明了理論基礎(chǔ)的重要性,實踐的鞏固性,只有扎實的理論基礎(chǔ)才可以為實踐所 服務(wù),同時通過實踐才能更好的掌握好所學(xué)的理論知識。當(dāng)然,在整個設(shè)計的過程中 我不可避免地碰到了許多問題,為了能夠使問題得到及時的解決,我查閱了大量的資 料,積極的詢問同學(xué),請教老師。 因此,在整個的設(shè)計過程中除了我自身的努力外,離不開同學(xué)的幫助
42、,老師的關(guān) 心和指導(dǎo)。 在此,我要特別感謝本次畢業(yè)設(shè)計的指導(dǎo)老師,感謝她對我本次設(shè)計的悉心指導(dǎo) 和大力支持! 附附 錄錄 附錄附錄 1:實物圖:實物圖 附錄附錄 2:硬件原理圖:硬件原理圖 附錄附錄 3:完整的軟件程序:完整的軟件程序 #include #define uint unsigned int #define uchar unsigned char sbit ir= p33;/紅外端口 sbit led = p30;/led 控制位 uchar wholecycle = 500; signed char pwmcycle = 300; sbit motor_enable = p35;
43、 sbit motor_input1 = p36; sbit motor_input2 = p37; sbit led0 = p10; sbit led1 = p11; sbit led2 = p12; sbit led3 = p13; uchar num; uchar key_code=0;/遙控鍵值 uchar new_code=0;/有無新按鍵 uint buf_key_code=0;/鍵值暫存 uchar key_bit_count=0;/鍵編碼脈沖計數(shù) uint count=0;/定時中斷次數(shù)計數(shù) uint buf_count=0;/定時中斷計數(shù)暫存 uchar common_cod
44、e_count=0;/前導(dǎo)碼脈沖計數(shù) uchar ir_status=0;/脈沖接收器所處的狀態(tài),0:無信號,1:系統(tǒng)碼接收區(qū),2:數(shù) 據(jù)編碼接收區(qū) void delay_10us(unsigned char y)/延時子程序 10us unsigned char x; for(x=y;x0;x-); void delay_ms(uint z)/延時子程序 1ms uint x,y; for(x=z;x0;x-) for(y=113;y0;y-); void init(void)/初始化 ir=1; /紅外端口寫 1 / led=0; /關(guān)閉 led ea=1; /開總中斷 tmod=0 x0
45、2; /定時器 0,模式 2,8 位自動裝載模式 th0=0xd1; /定時 50us tl0=0xd1; it1=1; /int1 下降沿觸發(fā) et0=1; /允許定時器中斷 ex1=1; /允許外部中斷 tmod |= 0 x10; et1= 1; th1 = 0 xfc; tl1 = 0 x18; /tr1 = 1; /* 定時器中斷 */ void time0() interrupt 1 using 2/定時器中斷 tf0=0; count+;/定時器中斷次數(shù)累加 /* 外部中斷,紅外解碼程序 */ void int1() interrupt 2 using 3/外部中斷 tr0=1;
46、/開定時器中斷 if(count12/數(shù)據(jù)解碼標(biāo)記 common_code_count=0;/系統(tǒng)碼計算清零 buf_count=0;/中斷計數(shù)暫存清 0 else if(buf_count40 common_code_count+;/每收到一個信號自加 1 else if(ir_status=2)/進(jìn)入數(shù)據(jù)編碼接收 if(key_bit_count40 buf_key_code|=0 x80;/收到 1 key_bit_count+;/數(shù)據(jù)脈沖累加 else if(buf_count12/收到 0 key_bit_count+; else /若收完 8 位數(shù)據(jù)則做以下處理 ir_status
47、=0;/接收狀態(tài)返回到空閑 key_code=buf_key_code; key_bit_count=0; buf_key_code=0; buf_count=0; tr0=0; new_code=1; /* 主程序 */ void main(void) init(); /初始化 motor_enable = 0; wholecycle = 500; while(1) if(1 = new_code) new_code = 0; switch(key_code) case 1: motor_input1 = 1; motor_input2 = 0; pwmcycle = 300; tr1 =
48、1; motor_enable = 1; p1 = 0 xff; break; case 2: motor_enable = 0; tr1 = 0; th1 = 0 xfc; tl1 = 0 x18; p1 = 0 xff; break; case 3: motor_enable = 0; delay_ms(10); motor_input1 = 1; motor_input2 = 0; pwmcycle = 300; tr1 = 1; motor_enable = 1; p1 = 0 xff; led0 = 0; break; case 4: motor_enable = 0; delay_
49、ms(10); motor_input1 = 0; motor_input2 = 1; pwmcycle = 300; tr1 = 1; motor_enable = 1; p1 = 0 xff; led1 = 0; break; case 5: pwmcycle += 20; if(pwmcycle wholecycle) pwmcycle = wholecycle; p1 = 0 xff; led2 = 0; break; case 6: pwmcycle -= 20; if(pwmcycle 0) pwmcycle = 0; p1 = 0 xff; led3 = 0; break; de
50、fault: motor_enable = 0; break; /* pwm*/ void timer1(void) interrupt 3 using 1 static uint i; if (i = wholecycle) / pwm 計數(shù)清零 i = 0; else i +; / 自增值加 1 th1 = 0 xfc; tl1 = 0 x18; 附錄附錄 4 :中英文翻譯:中英文翻譯 progress in computers the first stored program computers began to work around 1950. the one we built in
51、 cambridge, the edsac was first used in the summer of 1949. these early experimental computers were built by people like myself with varying backgrounds. we all had extensive experience in electronic engineering and were confident that that experience would stand us in good stead. this proved true,
52、although we had some new things to learn. the most important of these was that transients must be treated correctly; what would cause a harmless flash on the screen of a television set could lead to a serious error in a computer. as far as computing circuits were concerned, we found ourselves with a
53、n embarass de richess. for example, we could use vacuum tube diodes for gates as we did in the edsac or pentodes with control signals on both grids, a system widely used elsewhere. this sort of choice persisted and the term families of logic came into use. those who have worked in the computer field
54、 will remember ttl, ecl and cmos. of these, cmos has now become dominant. in those early years, the iee was still dominated by power engineering and we had to fight a number of major battles in order to get radio engineering along with the rapidly developing subject of electronics.dubbed in the iee
55、light current electrical perly recognised as an activity in its own right. i remember that we had some difficulty in organising a conference because the power engineers ways of doing things were not our ways. a minor source of irritation was that all iee published papers were expected
56、 to start with a lengthy statement of earlier practice, something difficult to do when there was no earlier practice consolidation in the 1960s by the late 50s or early 1960s, the heroic pioneering stage was over and the computer field was starting up in real earnest. the number of computers in the
57、world had increased and they were much more reliable than the very early ones . to those years we can ascribe the first steps in high level languages and the first operating systems. experimental time-sharing was beginning, and ultimately computer graphics was to come along. above all, transistors b
58、egan to replace vacuum tubes. this change presented a formidable challenge to the engineers of the day. they had to forget what they knew about circuits and start again. it can only be said that they measured up superbly well to the challenge and that the change could not have gone more smoothly. so
59、on it was found possible to put more than one transistor on the same bit of silicon, and this was the beginning of integrated circuits. as time went on, a sufficient level of integration was reached for one chip to accommodate enough transistors for a small number of gates or flip flops. this led to
60、 a range of chips known as the 7400 series. the gates and flip flops were independent of one another and each had its own pins. they could be connected by off-chip wiring to make a computer or anything else. these chips made a new kind of computer possible. it was called a minicomputer. it was somet
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年浙教版九年級地理下冊階段測試試卷
- 2025年粵教新版九年級歷史上冊月考試卷含答案
- 2025年中圖版選擇性必修3歷史上冊月考試卷含答案
- 2025年滬教版八年級歷史下冊階段測試試卷含答案
- 2025年人教新起點高一語文上冊月考試卷
- 遵義醫(yī)藥高等??茖W(xué)校《現(xiàn)代漢語語法研究》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五年度出租車行業(yè)駕駛員安全責(zé)任合同范本4篇
- 二零二五年度出租車公司車輛調(diào)度合同3篇
- 房屋贈與合同范本(2篇)
- 2025年度農(nóng)機(jī)保險代理銷售合同范本4篇
- 蛋糕店服務(wù)員勞動合同
- 土地買賣合同參考模板
- 2025高考數(shù)學(xué)二輪復(fù)習(xí)-專題一-微專題10-同構(gòu)函數(shù)問題-專項訓(xùn)練【含答案】
- 新能源行業(yè)市場分析報告
- 2025年天津市政建設(shè)集團(tuán)招聘筆試參考題庫含答案解析
- 巖土工程勘察.課件
- 60歲以上務(wù)工免責(zé)協(xié)議書
- 滋補(bǔ)類用藥的培訓(xùn)
- 北師大版高三數(shù)學(xué)選修4-6初等數(shù)論初步全冊課件【完整版】
- 高職《勞動教育》指導(dǎo)綱要
- XX公司年會活動報價單
評論
0/150
提交評論