版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、本科生實訓總結報告(論文)( 2006 級)報告(論文)題目 基于單片機的紅外遙控步進電機電路實現(xiàn) 作 者 徐漢揚 系、 專業(yè) 電氣機械工程系電子信息工程 班 級 電子061 學 號 0665121036 聯(lián) 系 方 式 杭州師范大學錢江學院教學部制電子系統(tǒng)綜合實訓總結報告基于紅外遙控步進電機的設計電子信息專業(yè)電子061班 徐漢揚 0665121036摘要:介紹了一種基于AT89S52單片機的紅外遙控步進電機的設計,系統(tǒng)分為紅外遙控編解碼、LCD顯示和驅動步進電機三個模塊,設計的系統(tǒng)能通過遙控器來控制步進電機,并且步進電機的狀態(tài)能通過LCD液晶模塊實時顯示出來,使人們直觀的看出步進電機的運行狀
2、態(tài)。本報告對該系統(tǒng)的工作原理、硬件電路和軟件進行了詳細介紹。關鍵詞:紅外遙控 LCD顯示 步進電機一、引言本系統(tǒng)是基于單片機控制的綜合系統(tǒng),單片機通過對紅外信號的解碼來實現(xiàn)步進電機的變速及LCD實時顯示步進電機的轉速。它綜合了電子技術和單片機軟硬件技術,本設計采用AT89S52單片機為核心包含紅外接收電路、LCD顯示電路和步進電機驅動電路。通過紅外遙控器發(fā)射不同的碼值來控制步進電機的正轉反轉、加速減速以及啟動停止并通過LCD顯示出步進電機的狀態(tài)。二、系統(tǒng)功能分析根據(jù)系統(tǒng)要求設計各個模塊。本設計中控制芯片采用AT89S52單片機,各個功能通過不同模塊來得以實現(xiàn),主要有:紅外接收模塊、步進電機驅動
3、和LCD顯示模塊。系統(tǒng)基本架構原理如圖1所示圖1 基本架構原理圖各個模塊具體實現(xiàn)方式如下:1. 紅外發(fā)射模塊:本設計采用的是通過遙控器發(fā)射不同的碼值,紅外接收電路將接收到得信號送給單片機的外部中斷0,單片機接收到信號后通過解碼程序對接收到得信號進行處理,使得這些信號成為相應的碼值。經(jīng)過處理后這些信號就可以去控制步進電機的正轉反轉、加速減速以及啟動停止并在LCD上顯示出來。遙控發(fā)射器采用士蘭半導體的SC6121編碼芯片進行紅外遙控發(fā)射電路的搭建。SC6121是一塊用于紅外遙控系統(tǒng)中的專用發(fā)射集成電路,采用CMOS工藝制造。它可外接32個按鍵,其中有三組雙重按鍵。工作電壓在2。其編碼方式采用一幀碼
4、中含有一個引導碼,16位的用戶碼和8位的鍵數(shù)據(jù)碼。鍵數(shù)據(jù)碼的反碼也同時被傳送,數(shù)據(jù)反碼的傳送可以大大減小系統(tǒng)的誤碼率。引導碼由一個9ms的載波波形和4.5ms的關斷時間構成,編碼采用脈沖位置調制方式(PPM)。利用脈沖之間的時間間隔來區(qū)分“0”和“1”。具體的遙控發(fā)射應用電路圖如圖2所示圖2 遙控發(fā)射應用電路2. 紅外接收模塊:本系統(tǒng)采用的接收模塊其核心是與SC6121相對應的HS0038紅外接收頭。HS0038是一顆集接收電路、調制解調電路、低通濾波、放大電路和控制電路為一體的集成接收頭,一共有三個引腳輸出其中一個是電源一個是接地另一個則是輸出,這樣就大大方便了我們的使用。HS0038內部結
5、構如圖3所示圖3 HS0038內部結構圖由于HS0038內部集成了強大的信號處理功能,所以在本系統(tǒng)中使用這個HS0038的接收頭的時候我們只需要在外部加上一個濾波電路就可以了,這個RC濾波電路是為了濾除電源端的干擾信號。具體應用電路圖如圖4所示圖4 HS0038應用電路3. 液晶顯示模塊在本系統(tǒng)中我們采用1602字符型液晶顯示模塊來顯示步進電機的轉速、起停以及正反轉等步進電機的狀態(tài)。字符型液晶顯示模塊是專門用于顯示字母、數(shù)字、符號等的點陣型液晶顯示模塊。分4位和8位數(shù)據(jù)傳輸方式。提供5*7點陣+光標和5*10點陣+光標的顯示模式??梢燥@示兩行每行8個字符。提供內部自動上電復位電路,+5V工作電
6、壓。一共有16個引腳,其中一對電源引腳、一對LED背光電源引腳、LCD驅動電壓引腳、一個模式選擇引腳、一個讀寫操作引腳、一個使能引腳以及7個數(shù)據(jù)引腳。其中LCD驅動電壓V0可通過滑動變阻器進行調節(jié),一般V0為零伏。具體應用電路圖如圖5所示圖5 LCD顯示模塊應用電路4. 步進電機驅動模塊本系統(tǒng)采用額定電壓為5VDC,相數(shù)為4相的步進電機,驅動方式為4相8拍。一共有5跟線連接,其中紅色的為電源線。采用單極性直流電源供電。只要對步進電機的各相繞組按合適的時序通電,就能使步進電機步進轉動。由于單片機P口輸出的電流比較弱不能驅動步進電機,所以要加一個ULN2003芯片來放大電流使之能驅動步進電機工作。
7、ULN2003是高耐壓、大電流達林頓陳列,由七個硅NPN 達林頓管組成。ULN2003 的每一對達林頓都串聯(lián)一個2.7K 的基極電阻,在5V 的工作電壓下它能與TTL 和CMOS 電路。ULN2003 工作電壓高,工作電流大,灌電流可達500mA,并且能夠在關態(tài)時承受50V 的電壓,輸出還可以在高負載電流并行運行。步進電機驅動電路如圖6所示圖6 步進電機驅動電路三、硬件電路設計本系統(tǒng)采用的核心器件是AT89S52單片機,有4個P口,其中P1 P2 P3內部含有上拉電阻,P0口內部不含上拉電阻。在本系統(tǒng)中用P0口來控制LCD液晶顯示模塊,p1口來控制步進電機的驅動,外部中斷0(P3.2)來接3收
8、紅外控制信號。AT89S52單片機引腳圖如圖7所示圖7 AT89S52單片機復位電路的設計。當AT89S52單片機的復位引腳RST(全稱RESET出現(xiàn)2個機器周期以上的高電平時,單片機就執(zhí)行復位操作。如果RST持續(xù)為高電平,單片機就處于循環(huán)復位狀態(tài)。89S52單片機提供了上電復位和按鍵復位兩種方式,本系統(tǒng)中采用按鍵復位電路。具體復位電路如圖8所示,其中C4是104陶瓷電容,C3是22uf/25V的電解電容,R1的阻值為10K歐。單片機時鐘電路的設計。89S52提供了外部時鐘電路和內部時鐘電路兩種方式,本系統(tǒng)采用11.0592MHz晶振的外部時鐘電路方式,在晶振兩端接2個30pf的陶瓷電容。這兩
9、個電容成為晶振的負載電容,它會影響晶振的諧振頻率和輸出幅度。具體晶振電路如圖9所示 圖8 復位電路 圖9 晶振電路該系統(tǒng)的硬件電路原理圖見附錄2四、系統(tǒng)軟件設計本系統(tǒng)的軟件設計分LCD顯示子程序、紅外解碼判斷子程序、步進電機控制程序和主程序組成。整個系統(tǒng)采用C語言進行編寫。1. 主程序主程序包括系統(tǒng)的初始化、LCD子程序的調用以及定時器中斷函數(shù)和步進電機控制函數(shù)組成。系統(tǒng)初始化包括對LCD顯示模塊數(shù)據(jù)位、命令位,紅外解碼標志位以及步進電機停止轉速為的定義與初始化,LCD顯示程序顯示靜態(tài)的“STEP MOTOR SPEED”和動態(tài)的不同速度水平式步進電機的轉速以及正反轉的標志,定時器中斷函數(shù)主要
10、設定定時器中斷間隔和步進電機的轉速,步進電機控制函數(shù)由步進電機索引函數(shù)和對索引值的加減函數(shù)組成。系統(tǒng)的主程序流程圖如圖10所示圖10 主函數(shù)流程圖2. LCD子程序LCD子程序主要實現(xiàn)的功能是顯示步進電機的狀態(tài)。顯示動態(tài)字符函數(shù)是用來顯示步進電機的轉速計轉向狀態(tài),顯示靜態(tài)字符函數(shù)是用來顯示步進電機轉速單位“rpm”和“STEP MOTOR SPEED”。系統(tǒng)LCD顯示子程序流程圖如圖11所示圖11顯示動態(tài)字符函數(shù)是用來顯示步進電機的轉速計轉向狀態(tài),顯示靜態(tài)字符函數(shù)是用來顯示步進電機轉速單位“rpm”和“STEP MOTOR SPEED”。3. 紅外解碼判斷子程序紅外解碼判斷子程序包括對碼值的判
11、斷程序和外部中斷0程序,紅外接收電路將接收到的信號送到外部中斷0,然后紅外解碼程序對收到的信號進行解碼,若解碼失敗則重新進行解碼,若解碼成功則判斷器碼值,然后調用步進電機控制和LCD顯示程序實現(xiàn)步進電機的運轉和顯示。從而實現(xiàn)紅外遙控對步進電機的控制及顯示。系統(tǒng)紅外解碼判斷子程序流程圖如圖12所示圖12 紅外解碼判斷子程序流程圖五、總結通過該系統(tǒng)的制作我擴充了自己的理論知識也增加了我的實際動手能力,在制作與調試電路中也讓我體會到了快樂與艱辛,制作的過程遠比我們原先想象的那么簡單,整個系統(tǒng)是在不斷的調試中得到完善的,剛開始制作的整個系統(tǒng)不能工作,于是我們就開始用萬用表查電源查線路,但這些都沒問題,
12、我們就上網(wǎng)查資料學習一些調試系統(tǒng)的方法。最后我們用示波器查晶振電路是發(fā)現(xiàn)其沒有工作,然后又查晶振電路的連接焊點是否完好,最后發(fā)現(xiàn)晶振的負載電容用了104,電容太大導致晶振的諧振都被綠除掉了,換了2個30pf的電容后電路就能正常工作了。還有在做步進電機驅動的時候發(fā)現(xiàn)上電復位后只能用收感覺到電機在抖而它的軸不能轉動,于是我們考慮可能是驅動能里不足的原因,用示波器測輸入輸出的電壓,最后發(fā)現(xiàn)步進電機的上拉能力不足,在P0口加上拉電阻之后,電機能正常工作。在調試系統(tǒng)的過程中我明白了學電子光光看書時不行的,最好的方法就是去實踐自己動手去焊接連接電路在這個過程中去發(fā)現(xiàn)問題去解決問題。該紅外遙控步進電機的制作
13、讓我學會了怎樣去設計一個系統(tǒng),對一個系統(tǒng)的基本架構有了一定的認識,在通過對紅外編解碼電路的設計也讓我對紅外遙控的基本知識有了新的認識,知道了紅外發(fā)碼的原理掌握了紅外解碼程序的編寫,對LCD現(xiàn)實模塊的使用也讓我對LCD有了新的認識,交接了要調節(jié)LCD的驅動電壓使其達到0V左右才能讓字符顯示出來,通過對步進電機驅動電路的設計也讓我認識到要在步進電機的P口加上拉電阻才能驅動步進電機??傊@次實訓讓我收獲了很多也為我以后的工作奠定了一定的基礎。附錄1:源代碼void ShowChar(unsigned char pos,unsigned char c /*顯示動態(tài)字符函數(shù)*/unsigned cha
14、r p;if (pos>=0x10p=pos+0xb0; /是第二行則命令代碼高4位為0xcelse p=pos+0x80; /是第二行則命令代碼高4位為0x8WriteCommand (p;/write commandWriteData (c; /write data/*/void ShowString (unsigned char line,char *ptr /*顯示靜態(tài)字符函數(shù)*/unsigned char l,i;l=line<<4;for (i=0;i<16;i+ShowChar (l+,*(ptr+i; /循環(huán)顯示16個字符/*/void InitLcd(
15、 /*LCD初始化*/DelayMs(15;WriteCommand(0x38; /display modeWriteCommand(0x38; /display modeWriteCommand(0x38; /display modeWriteCommand(0x06; /顯示光標移動位置WriteCommand(0x0c; /顯示開及光標設置WriteCommand(0x01; /顯示清屏void IR_decode( /*紅外解碼程序*/uchar i,j;while(IR_RE=0;delay2400(;if(IR_RE=1 /延時2.4ms后如果是高電平則是新碼for(i=0;i&l
16、t;4;i+for(j=0;j<8;j+while(IR_RE=0; /等待地址碼第1位高電平到來delay882(; /延時882ms判斷此時引腳電平/CY=IR_RE;if(IR_RE=0 datei>>=1;datei=datei&0x7f; else if(IR_RE=1delay1000(;datei>>=1;datei=datei|0x80; /1位數(shù)據(jù)接收結束 /32位二進制碼接收結束 if (date2=0x16/停止TR0 = 0;else if(date2=0x33/開始TR0 = 1;else if(date2=0x01/加速if (
17、speedlevel>1speedlevel-;elsespeedlevel=1;else if(date2=0x05/減速if(speedlevel<5speedlevel+;elsespeedlevel=5;else if(date2=0x11/反向turn=turn;void int0( interrupt 0 using 1 /*外部中斷0函數(shù)*/ uint i;for(i=0;i<4;i+ delay1000(;if(IR_RE=1k=k; /剛開始為4.5ms的引導碼,如果4ms內出現(xiàn)高電平則退出解碼程序if(k=0 EX0=0; /檢測到有效信號關中斷,防止干擾
18、IR_decode(; /如果接收到的是有效信號,則調用解碼程序/解碼成功,調用顯示程序,顯示該鍵值EX0=1; /開外部中斷,允許新的遙控按鍵void main(void InitLcd(;/DelayMs(15;sprintf(Test1,"STEP MOTOR SPEED" /*LCD第一行顯示的字符*/ShowString(0,Test1;ShowChar(0x19,'r'ShowChar(0x1a,'p'ShowChar(0x1b,'m'count = 0;step_index = 0;spcount = 0;sto
19、p_flag = 0;P1_0 = 0;P1_1 = 0;P1_2 = 0;P1_3 = 0;SP=0x60; EA = 1; /允許CPU中斷 TMOD = 0x11; /設定時器0和1為16位模式1 ET0 = 1; /定時器0中斷允許 EX0=1;TH0 = 0xFE;TL0 = 0x0C; /設定時每隔0.5ms中斷一次TR0 = 1; /開始計數(shù)turn=0;speedlevel=1;while(1if(turn=0ShowChar(0x14,'+'elseShowChar(0x14,'-'if(TR0 =0ShowChar(0x15,'0
20、39;ShowChar(0x16,'0'ShowChar(0x17,'0'ShowChar(0x18,'0' elseif(speedlevel=1ShowChar(0x15,'3'ShowChar(0x16,'0'ShowChar(0x17,'0'ShowChar(0x18,'0'else if(speedlevel=2ShowChar(0x15,'1'ShowChar(0x16,'5'ShowChar(0x17,'0'ShowCha
21、r(0x18,'0'else if(speedlevel=3ShowChar(0x15,'1'ShowChar(0x16,'0'ShowChar(0x17,'0'ShowChar(0x18,'0'else if(speedlevel=4ShowChar(0x15,'0'ShowChar(0x16,'7'ShowChar(0x17,'5'ShowChar(0x18,'0'else if(speedlevel=5ShowChar(0x15,'0'ShowChar(0x16,'6'ShowChar(0x17,'0'ShowChar(0x18,'0'/定時器0中斷處理 void timeint(void interrupt 1 using 0 TH0=0xFE;TL0=0x0C; /設定時每隔0.5ms中斷一次count+;spcount-;if(spcount<=0spcoun
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 借款擔保人協(xié)議書
- 軟件開發(fā)和測試技術作業(yè)指導書
- 策劃推廣服務合同
- 數(shù)據(jù)挖掘與商業(yè)智能解決方案作業(yè)指導書
- XXX高校報告廳項目會議播音系統(tǒng)設計方案
- 農(nóng)業(yè)產(chǎn)業(yè)化環(huán)境保護方案
- 小學二年級數(shù)學上學期口算訓練 打印版
- 2025年益陽貨運從業(yè)資格證模擬考試保過版
- 2025年貴陽貨運從業(yè)資格證考試模擬考試題庫答案解析
- 疼痛管理服務合同(2篇)
- 期末試卷:安徽省宣城市2021-2022學年七年級上學期期末歷史試題(解析版)
- 食品抽檢核查處置重點安全性指標不合格原因分析排查手冊
- 幼兒教師新年規(guī)劃
- 五年級數(shù)學上冊 圖形與幾何專題測試卷 (含答案)(北師大版)
- 2024年湖南省公務員錄用考試《行測》真題及答案解析
- 分布式光伏培訓
- 2024新版(北京版)三年級英語上冊單詞帶音標
- 養(yǎng)老服務機構復工復產(chǎn)實施方案復工復產(chǎn)安全生產(chǎn)方案
- 第21課 活動課 從考古發(fā)現(xiàn)看中華文明的起源 教學課件
- 9《黃山奇石》教學設計-2024-2025學年統(tǒng)編版語文二年級上冊
- PP、PVC-風管制作安裝施工作業(yè)指導書
評論
0/150
提交評論