基于51單片機控制步進電機_第1頁
基于51單片機控制步進電機_第2頁
基于51單片機控制步進電機_第3頁
已閱讀5頁,還剩6頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

單片機原理及系統課程設計引言廣闊,同時也對步進電機的運行性能提出了更高的要求。18301860,1870目的的嘗試,應用于氬弧燈的電極輸送機構中,這被認為最早的步進電機。1950年后期晶體管的發明也逐漸應用在步進電機上,對于數字化的控制變2060機械系統中。制性場合步進電機用得最多。單片機原理及系統課程設計報告單片機原理及系統課程設計報告11設計方案與原理設計方案設計一個51單片機四相步進電機控制系統要求系統具有如下功能:I/O信號經過驅動芯片驅動電機的運轉;步運行。設計原理步進電機實際上是一個數字\\4P1A,B,C,D現對步進電機的速度控制。圖2.1步進電機內部結構截圖根據步進電機的相關相序表我們可以正常的控制電機的步進運行。硬件設計3.1UNL2803驅動電機動作。時鐘電路時鐘電路控制端口UNL280380C51單片機鍵盤電路機電動驅步進電機圖3.1硬件電路功能方框圖3.2UNL28033.3截圖是單片機的鍵盤控制電路,對系統的控制功能模塊的按鈕和單步運行按鈕。圖3.2步進電機及其驅動電路截圖圖3.3按鍵設置及其連接引腳截圖圖3.2步進電機及其驅動電路截圖以上電路功能截圖均出自于proteus仿真軟件。軟件設計軟件設計中,我們查詢鍵盤按鈕控制方式來選擇步進電機運行的工作狀態。在程序里面對按鈕分配的I/OP3.0P3.4,加速位是P3.2,減速位是P3.3,單步執行位是P3.5。通過外部INT0INT1開始開始設置初始延遲值輸出一拍脈沖延時準備下一拍脈沖是否提速否是是是否達到最高速是延時值減少結束圖4.1主程序流程圖總 結通過鉆研這些知識,總算對步進電機有了認識,但是這離課程設計需要掌握的知識相差甚遠,為了縮短這種差距,只能不斷地查閱資料,仔細揣摩。在這次課程設計中,通過用單片機控制步進電機的起動、停止,正、反轉,加、減速,也對單片機的知識也進行了復習和鞏固。那時候覺得學習單片機是那么的枯燥乏味,整天只是學習這個指令做什么,參考文獻[1]李華,王思明,張金敏.單片機原理及應用[M].蘭州:蘭州大學出版社,2001.4(1):75-89.[2]黃勤.單片機原理及應用[M].北京:清華大學出版社,2010.4(2):110-120.附錄A仿真界面截圖圖3.4Proteus仿真截圖附錄B步進電機相序表表2.2四相八拍步進電機相序表ABCD00010011001001100100110010001001附錄C主程序#include<reg51.h> //51芯片管腳定義頭文#include<intrins.h> //內部包含延時函數_nop_();#defineucharunsignedchar#defineuint unsignedintucharcodeFFW[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};ucharcodeREV[8]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};sbitK1=P3^0;//正轉sbitK2=P3^1;//反轉sbitK3=P3^2;//停止sbitK4=P3^3;//正向單步運行sbitK5=P3^4;//加速sbitK6=P3^5;//減速intnum=2000;void motor_ffw();void motor_rev();void /********************************************************//*延時t毫秒/*11.0592MHz時鐘,延時約1ms/********************************************************/voiddelay(intt){uintk;while(t--){for(k=0;k<20;k++){}}}/********************************************************//*步進電機正轉單步執行/********************************************************/void motor_single(){uchari;for(i=0;i<8;i++) //45度{P1FFW[i]; //取數據delay(num); //調節轉速}}/********************************************************//*步進電機正轉/********************************************************/voidmotor_ffw(){uchari;for(i=0;i<8;i++)/45{P1=FFW[i]; /if(K5==0){break;} /退出此循環程序delay(num); /調節轉速}}/********************************************************//*步進電機反轉/********************************************************/voidmotor_rev(){uchari;for(i=0;i<8;i++)/45{P1=REV[i]; /if(K5==0){break;} /退出此循環程序delay(num); /調節轉}}/*********************************************************主程序*********************************************************/voidmain(void){EA=1; /開放總中斷EX0=1;/0IT0=1;/EX1=1;/1IT1=1;/while(1){if(K1==0){for(;;){motor_ffw(); /電機正轉if(K5==0){break;} //退出此循環程序}}elseif(K2==0){for(;;){motor_rev(); //if(K5==0){break;} //退出此循環程序}}elseif(K6==0){motor_single(); //電機正轉單步執行}elseP1=0xf0;}}/********************************

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論