步進電機控制_第1頁
步進電機控制_第2頁
步進電機控制_第3頁
步進電機控制_第4頁
步進電機控制_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、.杭州電子科技大學電子系統(tǒng)設(shè)計綜合實驗設(shè)計報告實驗名稱 :步進電機控制實驗序號 :4小 組 號:4A姓名學號 : 張永杰 13083137黃濤13083612鄭康佳13083411指導教師 :黃繼業(yè)2015年 1 月 4 日.一引言:步進電機是機電控制中一種常用的執(zhí)行機構(gòu),它的用途是將電脈沖轉(zhuǎn)化為角位移,通俗地說:當步進驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進電機按設(shè)定的方向轉(zhuǎn)動一個固定的角度(即步進角)。通過控制脈沖個數(shù)即可以控制角位移量,從而達到準確定位的目的; 同時通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達到調(diào)速的目的。常見的步進電機分三種:永磁式(PM),反應(yīng)式( VR)和混合

2、式( HB)。實驗中使用的是永磁式步進電機24BY 型,下圖是該電機的接線圖,從圖中可以看出,電機共有四組線圈,四組線圈的一個端點連在一起引出,這樣一共有5 根引出線。要使用步進電機轉(zhuǎn)動,只要輪流給各引出端通電即可。將COM端標識為 C,只要 AC、A C、BC、B C,輪流加電就能驅(qū)動步進電機運轉(zhuǎn),加電的方式可以有多種,如果將 COM端接正電源,那么只要用開關(guān)元件(如三極管),將A、A 、B、B 輪流接地。二實驗要求:.1(基本):控制四相六線式步進電機的轉(zhuǎn)動(四相八拍方式)2(基本):顯示步進電機的轉(zhuǎn)動圈數(shù)、角度和方向三(擴展):用非接觸的方式實時監(jiān)測步進電機的工作狀態(tài)四實驗器材清單:名稱

3、型號數(shù)量驅(qū)動芯片L2981 片霍爾元件cs31441 個二極管80508 個電容100uf 、0.1uf各 2 個電阻2K1 個四:實驗電路原理圖1:驅(qū)動電路原理圖:2:驅(qū)動電路工作原理:.L298N是 SGS公司的產(chǎn)品,內(nèi)部包含4 通道邏輯驅(qū)動電路。是一種二相和四相電機的專用驅(qū)動器, 即內(nèi)含二個 H橋的高電壓大電流雙全橋式驅(qū)動器,接收標準 TTL 邏輯電平信號,可驅(qū)動 46V、2A 以下的電機。OUT1、OUT2和 OUT3、OUT4之間分別接兩電機。 IN1、IN2、IN3、IN4引腳從單片機接輸入控制電平,控制電機正反轉(zhuǎn)。3:L298控制單雙八拍的邏輯表:A 電機B 電機IN1IN2IN

4、3IN4010001100010101010001001000101014.霍爾模塊電路圖.4:霍爾模塊工作原理:霍爾傳感器是對磁敏感的傳感元件, 這種傳感器是一個 3 端器件,外形與三極管相似,只要接上電源、地,即可工作,輸出通常是集電極開路( OC)門輸出,工作電壓范圍寬,使用非常方便。將有字面對準自己,三根引腳從左向右分別是 Vcc,地,輸出。使用霍爾傳感器獲得脈沖信號, 其機械結(jié)構(gòu)也可以做得較為簡單, 只要在轉(zhuǎn)軸的圓周上粘上一粒磁鋼, 讓霍爾開關(guān)靠近磁鋼, 就有信號輸出,轉(zhuǎn)軸旋轉(zhuǎn)時,就會不斷地產(chǎn)生脈沖信號輸出。 如果在圓周上粘上多粒磁鋼, 可以實現(xiàn)旋轉(zhuǎn)一周,獲得多個脈沖輸出。 根據(jù)這些

5、輸出的脈沖可以實現(xiàn)實時監(jiān)測電機的工作狀態(tài)。5.實驗所用的程序代碼:源碼目錄:USER:main.cSTM32: ( 庫文件 )Driver:key.ckey.h.stepmotor.cstepmotor.hkey.ckey.hTIM3.cTIM3.h12864.c12864.h/*要求:控制步進電機轉(zhuǎn)動, 8 拍顯示步進電機轉(zhuǎn)動圈數(shù),角度,方向。非接觸方式實時監(jiān)測*/#include stepmotor.h#include TIM3.h#include key.h#include 12864.h#include stm32f10x_exti.hu8 i,j,keynum,direction=0

6、;u16Speedtime,loop_num1=0,loop_num2=0,interrupt_num=0,interrupt_speed =0;double angle=0;EXTI_InitTypeDefEXTI_InitStructure;GPIO_InitTypeDefGPIO_InitStructure;.NVIC_InitTypeDefNVIC_InitStructure;void EXTIX_Init(void)RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE);GPIO_InitStructure.GPIO_Pin = GPI

7、O_Pin_15;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOD, &GPIO_InitStructure);RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);GPIO_EXTILineConfig(GPIO_PortSourceGPIOD,GPIO_PinSource15);EXTI_InitStructure.EXTI_Line=EXTI_Line15;EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interru

8、pt;EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;EXTI_InitStructure.EXTI_LineCmd = ENABLE;EXTI_Init(&EXTI_InitStructure);NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn;.NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority= 0x0F;NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0F;NVIC_I

9、nitStructure.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure);void EXTI15_10_IRQHandler(void)interrupt_num +; /霍爾元件監(jiān)測到一次 EXTI_ClearITPendingBit(EXTI_Line15);int main()delay_init();EXTIX_Init();KEY_Init();Motor_GPIO_Init();lcd_gpio_init();lcd_init();TIM3_Int_Init(9999,7199); /1s.Speedtime=9

10、00;lcd_6x8(0,0,Motor Test.);lcd_6x8(0,3,Loop Num1:);lcd_6x8(0,4,Loop Num2:);lcd_6x8(0,5,Angle:);lcd_6x8(0,7,Speed:);lcd_6x8(60,7,N/s);while(1)keynum=New_KEY_Scan();switch(keynum)case 1:direction+;if(direction=4)direction=0;break; case2:Speedtime-=100;if(Speedtime=600)Speedtime=900;break; default:bre

11、ak;lcd_6x8_num(45,7,interrupt_speed); /每秒轉(zhuǎn)速 lcd_6x8_num(100,7,interrupt_num); if(direction=0)lcd_6x8_double(45,5,angle);.lcd_6x8_num(70,3,loop_num1);lcd_6x8_num(70,4,loop_num2);else if(direction=1)Motor_8(Speedtime);i+;angle=7.2 * i;if(i=50)/達到一圈i=0;loop_num1+;lcd_6x8_double(45,5,angle);lcd_6x8_num(

12、70,3,loop_num1);lcd_6x8(0,2,Forward direction ! );else if(direction=2)lcd_6x8_double(45,5,angle);lcd_6x8_num(70,3,loop_num1);lcd_6x8_num(70,4,loop_num2);.else if(direction=3)Motor_8_back(Speedtime);j+;angle=7.2 * j;if(j=50)j=0;loop_num2+;lcd_6x8_double(45,5,angle);lcd_6x8_num(70,4,loop_num2);lcd_6x8

13、(0,2,Backward direction ! );void TIM3_IRQHandler(void)/static u16 a=0;if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET) / 檢查指定的 TIM 中斷發(fā)生與否 :TIM 中斷源.TIM_ClearITPendingBit(TIM3,TIM_IT_Update);/清除 TIMx的中斷待處理位 :TIM中斷源interrupt_speed=interrupt_num ;/N/sinterrupt_num=0;五:實驗測試結(jié)果本次實驗最后驗收的效果是比較好的,基本上沒有出錯, 完成了所有要求的內(nèi)容,測量的結(jié)果也比較精確。六:設(shè)計總結(jié)本次實驗的設(shè)計主要體現(xiàn)在驅(qū)動電路上,本來準備是采用ULN2003來作為驅(qū)動芯片,后來查了一下資料發(fā)現(xiàn)ULN2003 ,只能向它灌入電流,輸出為高阻態(tài),基本沒輸出電流。它一般用來吸收電流的。比如數(shù)碼管驅(qū)動,或者兩相五線、兩相六線的步進電機,這種步進電機有一個或兩

溫馨提示

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

評論

0/150

提交評論