基于單片機的步進電機控制系統(tǒng)設(shè)計_第1頁
基于單片機的步進電機控制系統(tǒng)設(shè)計_第2頁
基于單片機的步進電機控制系統(tǒng)設(shè)計_第3頁
基于單片機的步進電機控制系統(tǒng)設(shè)計_第4頁
基于單片機的步進電機控制系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2017屆電子信息工程專業(yè)本科畢業(yè)論文第第YN按鍵掃描減速鍵是否被按下(p3.4=0?)State=1改變speed值調(diào)用減速子程序END開始圖4-6減速部分流程圖5系統(tǒng)的調(diào)試與檢測5.1程序編譯時的錯誤與解決方法將編寫好的正反轉(zhuǎn)程序、停止程序、顯示等程序整理打包后,進行編譯。用Keil編程軟件編譯檢查語法漏洞和錯誤,去除語法錯誤之后,檢查電路查看邏輯錯誤有無。程序修改好以后,直至編譯器界面的編譯結(jié)果窗口顯示編譯0錯誤,0警告為止。接著燒錄程序進入單片機電路板,接通電源開始仿真。觀察步進電機能否正常轉(zhuǎn)動,顯示是否正常。5.2步進電機轉(zhuǎn)動異常及解決方法最初步進電機不能正常轉(zhuǎn)動,懷疑其工作原理是否弄錯,有無電路焊接錯誤。為了解決問題,防止電路出現(xiàn)虛焊、漏焊,使用萬用表表筆測試,結(jié)果無導(dǎo)通斷開等問題。繼續(xù)查閱資料得出結(jié)果:步進電機要實現(xiàn)正常正反轉(zhuǎn),首要問題是轉(zhuǎn)子該如何通電,通電繞組相的次序應(yīng)該誰先誰后,其工作模式選用是否又存在錯誤呢?通過查閱網(wǎng)上步進電機相應(yīng)數(shù)據(jù)資料,終于搞清了電機的四個相序和相序通電時的工作模式。其接線順序分別是A相(橙),B相(黃),E(紅),C相(粉),D相(藍(lán)),其中ABCD為電機四個相,E為電源+5V接線。把電路板排針和單片機引腳連線重新整理焊接后,繼續(xù)通上電源觀察電機轉(zhuǎn)動情況,結(jié)果電機轉(zhuǎn)動顯示正常。5.3結(jié)論與展望利用本次畢業(yè)設(shè)計對步進電機各項功能及其工作原理的研究,讓我對代碼的書寫和設(shè)計硬件電路有了更深刻的認(rèn)識和理解,并且熟悉了ULN2004電機驅(qū)動芯片、LCD1602液晶顯示屏的使用和步進電機的工作原理。本次畢業(yè)設(shè)計讓我對單片機的工作原理、各引腳功能、以及定時器和中斷的應(yīng)用都有了更深刻的認(rèn)識。并且,自己能夠以單片機為基礎(chǔ)元件設(shè)計一個簡單的工作系統(tǒng)。在現(xiàn)科技發(fā)展中,日漸成熟的智能家居以及機器人應(yīng)用領(lǐng)域,步進電機將有著更為廣泛的發(fā)展空間。參考文獻(xiàn)[1]李夙.異步電動機直接轉(zhuǎn)矩控制[M].北京:機械工業(yè)出版社,1998.[2]張友德.單片微型機原理、應(yīng)用與實驗[M].上海:復(fù)旦大學(xué)出版社,2005.[3]江一,朱凌,申仲濤.異步電動機直接轉(zhuǎn)矩控制仿真研究[J].華北電力大學(xué)學(xué)報,2003.[4]袁任光,張偉武.電動機控制電路選用與258實例[M].北京:機械工業(yè)出版社,2005.[5]房玉明,杭柏林.基于單片機的步進電機開環(huán)控制系統(tǒng)[J].電機與控制應(yīng)用,2006.[6]孫笑輝,韓曾晉.減少感應(yīng)電動機直接轉(zhuǎn)矩控制系統(tǒng)轉(zhuǎn)矩脈動的方法[J].電氣傳動,2001.[7]王鴻鈺.步進電機控制入門[M].上海:同濟大學(xué)出版社,1990.[8]韓利虎.淺談步進電機的基本原理[J].內(nèi)蒙古石油化工,InnerMongoliaPetrochemicalIndustry,2007.[9]喬璐.,景林,韓英桃.一種實用的步進電動機驅(qū)動器設(shè)計[J].微特電機,2005.[10]張巍.淺談單片機控制步進電機[J].安防科技,2006.致謝首先誠摯的感謝我的論文指導(dǎo)老師鄧凌云老師,從論文的寫作、修改到最后定稿過程中,自始至終都傾注著老師的心血。特別是她多次詢問寫作進程,并為我指點迷津,不斷與我交流,幫助我開拓思路。老師以嚴(yán)謹(jǐn)?shù)闹螌W(xué)之道、寬厚仁慈的胸懷、積極樂觀的生活態(tài)度,兢兢業(yè)業(yè)的工作作風(fēng)和大膽創(chuàng)新的進取精神為我樹立了學(xué)習(xí)的典范,她的教誨與鞭策將激勵我在學(xué)習(xí)和生活的道路上勵精圖治,開拓創(chuàng)新并不斷進取。為我在以后的工作領(lǐng)域中提供了一系列堅實的專業(yè)基礎(chǔ)。她淵博的知識、開闊的視野和敏銳的思維給了我深深的啟迪。我以最誠摯的心意感謝鄧凌云老師。在畢業(yè)設(shè)計期間,我要感謝許多讓我分享他們寶貴經(jīng)驗和知識的老師,教會我正確的思考問題的方式。同時也要感謝在論文寫作過程中,幫助過我、并且共同奮斗四年的大學(xué)同學(xué)們。能夠順利完成論文,離不開他們的幫助,在此表示最深的謝意。附錄A:系統(tǒng)總電路圖圖A系統(tǒng)原理圖附錄B:源程序清單#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintuchari;sbitlcdrs=P2^0;//lcdrs 腳sbitlcdrw=P2^1; //lcdrw腳sbitlcden=P2^2; //lcden腳 sbitkey_zheng=P3^1; //定義正傳按鍵sbitkey_fan=P3^0; //定義反轉(zhuǎn)按鍵sbitkey_stop=P3^2; //定義停止按鍵sbitkey_jiasu=P3^3; //定義加速按鍵sbitkey_jiansu=P3^4; //定義減速按鍵#definestep24//定義一圈步數(shù)ucharcodedis_speed[]={"Speed=.RPM"};ucharcodedis_state[]={"Mode:"};ucharcodedis_positive[]={"FWD"}; ucharcodedis_negative[]={"REV"};ucharcodedis_stop[]= {"STOP"};uintmoto_delay,speed,state; //轉(zhuǎn)速變量電機工作狀態(tài)變量 ucharrotate2[8]={0x03,0x02,0x06,0x04,0x0c,0x08,0x09,0x01}; //電機轉(zhuǎn)動/*下面設(shè)定19個轉(zhuǎn)速值,及19個轉(zhuǎn)速值的定時器時間*/uintzhuansu[]={1400 ,1350 ,1300 ,1250 ,1200 ,1150 ,1100 ,1050 ,1000 ,950 ,900 ,850 ,800 ,750 ,700 ,650 ,600 ,550 ,500} ;uinttimer_set[]={63443,63366 ,63282 ,63192 ,63095 ,62988 ,62873 ,62746 ,62606 ,62452 ,62281 ,62089 ,61874 ,61630 ,61351 ,61029 ,60653 ,60209 ,59677 ,};//液晶顯示模塊voiddelay(uintz){ uintx,y; for(x=100;x>1;x--) for(y=z;y>1;y--);}voidwrite_com(ucharcom){ lcdrs=0; P0=com; delay(5); lcden=1; delay(5); lcden=0;}voidwrite_date(uchardate){ lcdrs=1; P0=date; delay(5); lcden=1; delay(5); lcden=0;}voidinit_lcd(){ lcden=0; lcdrw=0; write_com(0x38); write_com(0x01); write_com(0x0c); write_com(0x06); write_com(0x80); for(i=0;i<16;i++) { write_date(dis_state[i]); delay(1); } write_com(0x80+0x40); for(i=0;i<16;i++) { write_date(dis_speed[i]); delay(1); }}voiddisplay(){ uchara,b,c,d,i;//個十百千位數(shù)字 if(state!=0) { a=(zhuansu[speed]/2)/1000; //千位 b=((zhuansu[speed]/2)%1000)/100; // 百位 c=((zhuansu[speed]/2)%100)/10; // 十位 d=((zhuansu[speed]/2)%10); // 個位 } else { a=0; b=0; c=0; d=0; }write_com(0x80+0x40+6); write_date(a+'0'); //+'0'將數(shù)字轉(zhuǎn)化為asc字符 write_com(0x80+0x40+7); write_date(b+'0'); write_com(0x80+0x40+9); write_date(c+'0'); write_com(0x80+0x40+10); write_date(d+'0'); if(state==0) { write_com(0x80+6); for(i=0;i<5;i++) { write_date(dis_stop[i]); delay(0); } } elseif(state==1) { write_com(0x80+6); for(i=0;i<7;i++) { write_date(dis_positive[i]); delay(0); } } elseif(state==2) { write_com(0x80+6); for(i=0;i<7;i++) { write_date(dis_negative[i]); delay(0); } }}voidkey_scan(void){ if(key_stop==0) //停止按鍵按下 { delay(20); //延時20ms消抖 if(key_stop==0) state=0; //確認(rèn)停止按鍵按下 正反轉(zhuǎn)標(biāo)記=ting while(key_stop==0); //等待停止按鍵松開 display(); } elseif(key_zheng==0) { delay(20); if(key_zheng==0) state=1;//確認(rèn)正傳按鍵按下 正反轉(zhuǎn)標(biāo)記=zheng while(key_zheng==0); display(); } elseif(key_fan==0) { delay(20); if(key_fan==0) state=2;//確認(rèn)反轉(zhuǎn)按鍵按下 正反轉(zhuǎn)標(biāo)記=fan while(key_fan==0); display(); } elseif(key_jiasu==0) { delay(20); if(key_jiasu==0) { if(speed!=0)speed--; while(key_jiasu==0); //加速 display(); } } elseif(key_jiansu==0)//減速 { delay(20); if(key_jiansu==0) { if(speed<18)speed++; while(key_jiansu==0); display(); } }}voidmoto_control(void){ staticuchari; if(state==1) {P1=rotate2[i];//正傳P1一次輸出rotate[0]rotate1[1]rotate1[2]rotate1[3]……rotate1[7] }if(state==2) { P1=rotate2[7-i]; ///反傳P1一次輸出rotate1[7]……rotate1[3]rotate1[2]rotate1[1]rotate1[0] } if((++i)>7)i=0;}voidtimer_0(void) interrupt1 //2ms{ staticucharj; TH0=timer_set[speed]>>8; TL0=timer_set[speed]&0x

溫馨提示

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

最新文檔

評論

0/150

提交評論