實(shí)驗(yàn)十-步進(jìn)電機(jī)與直流電機(jī)控制實(shí)驗(yàn)_第1頁
實(shí)驗(yàn)十-步進(jìn)電機(jī)與直流電機(jī)控制實(shí)驗(yàn)_第2頁
實(shí)驗(yàn)十-步進(jìn)電機(jī)與直流電機(jī)控制實(shí)驗(yàn)_第3頁
實(shí)驗(yàn)十-步進(jìn)電機(jī)與直流電機(jī)控制實(shí)驗(yàn)_第4頁
實(shí)驗(yàn)十-步進(jìn)電機(jī)與直流電機(jī)控制實(shí)驗(yàn)_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上電子科技大學(xué)中山學(xué)院學(xué)生實(shí)驗(yàn)報(bào)告院別:電子信息學(xué)院 課程名稱:微處理器實(shí)驗(yàn) 班級(jí): 12電信A 姓名: 學(xué)號(hào): 實(shí)驗(yàn)名稱:十、 步進(jìn)電機(jī)與直流電機(jī)控制實(shí)驗(yàn) 實(shí)驗(yàn)時(shí)間:2014年12月1日成績(jī): 教師簽名: 批改時(shí)間:1、 實(shí)驗(yàn)原理與目的1、掌握步進(jìn)電機(jī)工作原理、單片機(jī)接口電路及程序控制方法。2、掌握直流電機(jī)工作原理、單片機(jī)接口電路及程序控制方法。步進(jìn)電機(jī)和直流電機(jī)是機(jī)電一體化系統(tǒng)中常用的兩種電動(dòng)執(zhí)行設(shè)備。步進(jìn)電機(jī)可在電脈沖信號(hào)的控制下,實(shí)現(xiàn)快速啟停以及精確的角位移控制。直流電機(jī)可通過H橋電路切換轉(zhuǎn)向,并可利用PWM技術(shù)進(jìn)行調(diào)速。ZSC-1實(shí)驗(yàn)箱為MCU1配置了一個(gè)四相

2、步進(jìn)電機(jī)(其最小步距角為5.625°/64)和一個(gè)減速直流電機(jī)。圖3.10.1為步進(jìn)電機(jī)實(shí)驗(yàn)電路。P2.4P2.7某根口線輸出低電平時(shí),相應(yīng)的功率三極管導(dǎo)通,其所連接的一相線圈通電,口線輸出高電平時(shí)線圈斷電。程序以一定的時(shí)間間隔依次輸出單4拍、雙4拍或4-8拍方式對(duì)應(yīng)的相序字,便可控制步進(jìn)電機(jī)轉(zhuǎn)動(dòng),顛倒相序字順序,或改變時(shí)間間隔,步進(jìn)電機(jī)的轉(zhuǎn)向和轉(zhuǎn)速也隨之改變。圖中按鍵KX0KX3可用于步進(jìn)電機(jī)轉(zhuǎn)向、轉(zhuǎn)速的控制輸入。圖3.10.1 步進(jìn)電機(jī)實(shí)驗(yàn)電路圖3.10.2為直流電機(jī)實(shí)驗(yàn)電路,其核心為功率三極管T104T107組成的H型全橋驅(qū)動(dòng)電路。在單片機(jī)控制信號(hào)作用下,4個(gè)功率管呈現(xiàn)多種不同

3、的通斷組合,使電機(jī)處于相應(yīng)工作狀態(tài)。圖中按鍵KX0KX3可用于直流電機(jī)轉(zhuǎn)向、轉(zhuǎn)速的控制輸入。圖3.10.2 直流電機(jī)實(shí)驗(yàn)電路表10-1為不同控制信號(hào)組合對(duì)應(yīng)的直流電機(jī)狀態(tài)。進(jìn)行調(diào)速控制時(shí),單片機(jī)先將FWD、REV置為10或01組合,再通過ENM輸出PWM信號(hào),利用PWM信號(hào)的不同占空比來調(diào)節(jié)電機(jī)繞組的平均電壓,從而實(shí)現(xiàn)電機(jī)轉(zhuǎn)速的控制。表3.10.1 直流電機(jī)控制功能表ENMFWDREV電機(jī)狀態(tài)ENMFWDREV電機(jī)狀態(tài)000制動(dòng)100制動(dòng)001惰行101反轉(zhuǎn)010惰行110正轉(zhuǎn)011惰行111制動(dòng)二、實(shí)驗(yàn)設(shè)備1、PC機(jī)一臺(tái)(已安裝Keil uVision、STC_ISP等軟件);2、ZSC-1

4、單片機(jī)實(shí)驗(yàn)箱一臺(tái)。三、實(shí)驗(yàn)內(nèi)容與分析1、設(shè)計(jì)程序,控制四相步進(jìn)電機(jī)以4-8拍方式(步距角為5.625°/64)正轉(zhuǎn)90°,停2s,然后反轉(zhuǎn)90°,再停2s,如此循環(huán)。 在Keil中編寫源程序。C語言參考程序如下(請(qǐng)將下劃線部分補(bǔ)充完整):/*頭文件聲明*#include <reg51.h> /*數(shù)據(jù)類型定義*typedef unsigned char uint8;typedef unsigned int uint16;/*常量數(shù)組聲明*uint8 code FWD_TABLE8= 0xEF,0xCF,0xDF,0x9F,0xBF,0x3F,0x7F ,

5、0x6F ; /4-8拍正轉(zhuǎn)相序字uint8 code REV_TABLE8= 0x6F,0x7F,0x3F,0xBF,0x9F,0xDF,0xCF,0xEF ; /4-8拍反轉(zhuǎn)相序字 /*函數(shù)原型聲明*void Delay(uint16 ms);/*主函數(shù)*void main() uint8 i,j; while(1) for(j=0;j< 128 ;j+) /正轉(zhuǎn)90°(1024步) for(i=0;i<8;i+) P2=FWD_TABLEi; /查表并輸出正轉(zhuǎn)相序字 Delay(5); /軟件延時(shí)(控制步進(jìn)電機(jī)轉(zhuǎn)速) Delay(2000); for(j=0;j&l

6、t; 128 ;j+) /反轉(zhuǎn)90°(1024步) for(i=0;i<8;i+) P2=REV_TABLEi ; /查表并輸出反轉(zhuǎn)相序字 Delay(5); /軟件延時(shí)(控制步進(jìn)電機(jī)轉(zhuǎn)速) Delay(2000); /*軟件延時(shí)函數(shù)*void Delay(uint16 ms) uint16 i; do for(i=700;i;i-); while(-ms); /*程序結(jié)束* 在Keil中創(chuàng)建工程,加入源程序文件,設(shè)置選項(xiàng),進(jìn)行編譯、連接、轉(zhuǎn)換處理,生成HEX格式的單片機(jī)程序文件。 用串行電纜連接實(shí)驗(yàn)箱和PC機(jī)各自的串行通信口,并運(yùn)行PC機(jī)上的STC_ISP程序,進(jìn)行單片機(jī)程序

7、下載(注意MCU1要先斷電再上電)。 驗(yàn)證程序運(yùn)行效果。也可對(duì)程序做適當(dāng)修改,試驗(yàn)多種不同的控制方案和運(yùn)行效果。2、設(shè)計(jì)程序,通過按鍵KX0、KX1調(diào)節(jié)步進(jìn)電機(jī)的轉(zhuǎn)速,通過按鍵KX2、KX3切換其轉(zhuǎn)向。C語言參考程序如下(請(qǐng)將下劃線部分補(bǔ)充完整):/*頭文件聲明*#include <reg51.h>/*數(shù)據(jù)類型定義*typedef unsigned char uint8;typedef unsigned int uint16;/*口線聲明*sbit P32 = P32;sbit P34 = P34;sbit P35 = P35;sbit P37 = P37;/*常量數(shù)組聲明*uin

8、t8 code PHASE_TABLE8= 0xEF,0xCF,0xDF,0x9F,0xBF,0x3F,0x7F,0x6F ; /4-8拍相序字/*函數(shù)原型聲明*uint8 ScanKey();void Delay(uint16 ms);/*主函數(shù)*void main() int i=0,j,k,SpeedTime=25; uint8 Key,Direction=0; while(1) P2= PHASE_TABLEi ; /查表輸出當(dāng)前相序字 if(Direction=0) /準(zhǔn)備下一個(gè)相序字 if(+i>= 8 ) i=0; else if(-i<0) i=7; for(j=0

9、;j<SpeedTime;j+) /由SpeedTime控制總延時(shí) for(k=700;k;k-); /以1ms為延時(shí)單位 Key=ScanKey(); if(Key=0xFF) continue ; /無鍵按下,則繼續(xù)延時(shí)循環(huán) while(ScanKey()!=0xFF); /有鍵按下,等待按鍵釋放后再處理 if(Key=0) if(SpeedTime>5) SpeedTime-=5; /KX0按下,則加速 else if(Key=1) if(SpeedTime<50) SpeedTime+=5; /KX1按下,則減速 else if(Key=2) Direction= 0

10、 ; /KX2按下,則正轉(zhuǎn) else if(Key=3) Direction= 1 ; /KX3按下,則反轉(zhuǎn) break; /從延時(shí)循環(huán)中跳出 /*獨(dú)立鍵盤掃描函數(shù)*uint8 ScanKey() if(P32=1&&P34=1&&P35=1&P37=1) return 0xFF; /無鍵按下時(shí),返回0xFF Delay(10); /延時(shí)消抖 if(P32=0) return 0; /KX0KX3按下,分別返回0,1,2,3 if(P34=0) return 1; if(P35=0) return 2; if(P37=0) return 3; retur

11、n 0xFF; /無鍵按下時(shí),返回0xFF/*軟件延時(shí)函數(shù)*void Delay(uint16 ms) uint16 i; do for(i=700;i;i-); /以1ms為延時(shí)單位 while(-ms); /*程序結(jié)束*3、設(shè)計(jì)程序,控制直流電機(jī)全速正轉(zhuǎn)2s,反轉(zhuǎn)2s,然后再慢速正轉(zhuǎn)2s,反轉(zhuǎn)2s,如此循環(huán)。C語言參考程序如下(請(qǐng)將下劃線部分補(bǔ)充完整):/*頭文件聲明*#include <reg51.h> /*數(shù)據(jù)類型定義*typedef unsigned char uint8;typedef unsigned int uint16;/*特殊功能寄存器聲明*sfr P1M1=0

12、x91;sfr P1M0=0x92;/*口線聲明*sbit ENM = P14 ;sbit REV = P16;sbit FWD = P17;/*全局變量聲明*uint16 PwmHighTiming,PwmLowTiming;uint8 PwmHighTH0Buff,PwmHighTL0Buff,PwmLowTH0Buff,PwmLowTL0Buff;bit PwmPhase=1;/*函數(shù)原型聲明*void PWMInit();void PWMOut(uint8 Duty);void Delay(uint16 ms);/*中斷服務(wù)函數(shù)*void T0ISR() interrupt 1 if(

13、PwmPhase=1) /切換輸出電平及定時(shí)時(shí)間 PwmPhase=0; ENM=0; TH0=PwmLowTH0Buff; TL0=PwmLowTL0Buff; else PwmPhase=1; ENM=1; TH0=PwmHighTH0Buff; TL0=PwmHighTL0Buff; /*主函數(shù)*void main() P1M1=0x00; P1M0=0x10; /設(shè)置P14(ENM)為強(qiáng)推挽輸出 PWMInit( ); /PWM(定時(shí)/計(jì)數(shù)器)初始化 while(1) PWMOut(100); /全速 FWD=1; /正轉(zhuǎn)2s REV=0; Delay(2000); REV=1; /反

14、轉(zhuǎn)2s FWD=0; Delay(2000); PWMOut(50) ; /慢速 FWD=1; /正轉(zhuǎn)2s REV=0; Delay(2000); REV=1; /反轉(zhuǎn)2s FWD=0; Delay(2000); /*PWM初始化函數(shù)*void PWMInit() TMOD=0x01; TR0=1; ET0=1; EA=1 ; /*PWM占空比更新函數(shù)*void PWMOut(uint8 Duty) /Duty=0.100 if(Duty=0) TR0=0; ENM=0; /占空比為0時(shí),停止定時(shí),固定輸出低電平 else if(Duty=100) TR0=0; ENM=1; /占空比為100時(shí),停止定時(shí),固定輸出高電平 else PwmHighTiming=10*Duty; /根據(jù)占空比計(jì)算高、低電平定時(shí)時(shí)間 PwmLowTiming=1000-PwmHighTiming; PwmHighTH0Buff=(65536-PwmHighTiming)>>8; PwmHighTL0Buff=(65536-PwmHighTiming)&0xff; PwmLowTH0Buff=(65536-PwmLowTiming)>>8; PwmLowTL0Buff=(65536-PwmLowTiming)&a

溫馨提示

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

評(píng)論

0/150

提交評(píng)論