第一篇:ARM的步進(jìn)電機(jī)細(xì)分控制報(bào)告
基于ARM的步進(jìn)電機(jī)細(xì)分驅(qū)動(dòng)控制設(shè)計(jì)
一、ARM簡介
ARM 公司是一家IP供應(yīng)商,其核心業(yè)務(wù)是IP核以及相關(guān)工具的開發(fā)和設(shè)計(jì)。半導(dǎo)體廠商通過購買ARM公司的IP授權(quán)來生產(chǎn)自己的微處理器芯片。由此以來,處理器內(nèi)核來自ARM公司、各芯片廠商結(jié)合自身已有的技術(shù)優(yōu)勢以及芯片的市場定位等因數(shù)使芯片設(shè)計(jì)最優(yōu)化,從而產(chǎn)生了一大批高度集成、各據(jù)特色的SOC芯片。
ARM微處理器具有以下特點(diǎn):采用RISC指令集、使用大量寄存器、ARM/THUMB指令支持、三/五級(jí)流水線具有低功耗、低成本、高性能等。
到目前為止,ARM公司的IP核已經(jīng)由ARM7,ARM9發(fā)展到今天的ARM11版本,ARM微處理器及技術(shù)的應(yīng)用已經(jīng)廣泛深入到國民經(jīng)濟(jì)的各個(gè)領(lǐng)域, 如工業(yè)控制領(lǐng)域、網(wǎng)絡(luò)應(yīng)用、消費(fèi)類電子產(chǎn)品及成像和安全產(chǎn)品等領(lǐng)域。
鑒于ARM7所具備的強(qiáng)大功能完全可以滿足本次設(shè)計(jì)要求,本次設(shè)計(jì)仍使用ARM7系列芯片。
二.步進(jìn)電機(jī)細(xì)分控制方案
1、步進(jìn)電機(jī)細(xì)分技術(shù)簡介
細(xì)分驅(qū)動(dòng)技術(shù)在七十年代中期由美國學(xué)者首次提出,基本原理是將繞組中的電流細(xì)分。由常規(guī)的矩形波供電改為階梯波供電,此時(shí)繞組中的電流將按一定的階梯順序上升和下降,從而將每一自然步進(jìn)行細(xì)分。步進(jìn)電機(jī)細(xì)分控制的本質(zhì)是通過對(duì)勵(lì)磁繞組中的電流控制,使步進(jìn)電機(jī)合成磁場為均勻離散化的圓形旋轉(zhuǎn)磁場。采用細(xì)分驅(qū)動(dòng)技術(shù)可以改善步進(jìn)電機(jī)的運(yùn)行品質(zhì),減少轉(zhuǎn)矩波動(dòng)、抑制振蕩、降低噪音、提高步距分辨率。
2、硬件框圖設(shè)計(jì)
系統(tǒng)總體硬件框圖設(shè)計(jì)如圖2-1所示:
0
圖2-1總體設(shè)計(jì)框圖
3、軟件總體設(shè)計(jì)流程圖
圖2-2 軟件設(shè)計(jì)流程圖
4、步進(jìn)電機(jī)
圖2-3 28BYJ-48-5VDC步進(jìn)電機(jī)
中間部分是轉(zhuǎn)子,由一個(gè)永磁體組成,邊上的是定子繞組。當(dāng)定子的一個(gè)繞組通電時(shí),將產(chǎn)生一個(gè)方向的電磁場,如果這個(gè)磁場的方向和轉(zhuǎn)子磁場方向不在同一條直線上,那么定子和轉(zhuǎn)子的磁場將產(chǎn)生一個(gè)扭力將定子扭轉(zhuǎn)。依次改變繞組的磁場,就可以使步進(jìn)電機(jī)正轉(zhuǎn)或反轉(zhuǎn)(比如通電次序?yàn)锳->B->C->D正轉(zhuǎn),反之則反轉(zhuǎn))。而且按照通電順序的不同,可分為單四拍(A-B-C-D)、雙四拍(AB-BC-CD-DA)、單雙八拍(A-AB-B-BC-C-CD-D-DA)三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的轉(zhuǎn)動(dòng)力矩小。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉(zhuǎn)動(dòng)力矩又可以提高控制精度。
由于步進(jìn)電機(jī)的驅(qū)動(dòng)電流較大,單片機(jī)不能直接驅(qū)動(dòng),一般都是使用ULN2003達(dá)林頓陣列驅(qū)動(dòng),當(dāng)然,使用下拉電阻或三極管也是可以驅(qū)動(dòng)的,只不過效果不是那么好,產(chǎn)生的扭力比較小。
5、電機(jī)驅(qū)動(dòng)ULN2003簡介
ULN2003 是高耐壓、大電流復(fù)合晶體管陣列,由七個(gè)硅NPN 復(fù)合晶體管組成。ULN2003是大電流驅(qū)動(dòng)陣列,多用于單片機(jī)、智能儀表、PLC、數(shù)字量輸出卡等控制電路中??芍苯域?qū)動(dòng)繼電器等負(fù)載。輸入5VTTL電平,輸出可達(dá)500mA/50V。ULN2003是高耐壓、大電流達(dá)林頓陳列,由七個(gè)硅NPN達(dá)林頓管組成。
圖2-4 ULN2003芯片引腳圖
該電路的特點(diǎn)如下: ULN2003的每一對(duì)達(dá)林頓都串聯(lián)一個(gè)2.7K的基極電阻,在5V的工作電壓下它能與TTL和CMOS電路 直接相連,可以直接處理原先需要標(biāo)準(zhǔn)邏輯緩沖器來處理的數(shù)據(jù)。ULN2003 是高壓大電流達(dá)林頓晶體管陣列系列產(chǎn)品,具有電流增益高、工作電壓高、溫度范圍寬、帶負(fù)載能力強(qiáng)等特點(diǎn),適應(yīng)于各類要求高速大功率驅(qū)動(dòng)的系統(tǒng)。ULN2003 工作電壓高,工作電流大,灌電流可達(dá)500mA,并且能夠在關(guān)態(tài)時(shí)承受50V 的電壓,輸出還可以在高負(fù)載電流并行運(yùn)行。其接線圖如下所示:
圖2-5 步進(jìn)電機(jī)驅(qū)動(dòng)電路 6、12864液晶顯示簡介
12864是128*64點(diǎn)陣液晶模塊的點(diǎn)陣數(shù)簡稱。液晶屏類型:STN FSTN;模塊顯示效果:黃綠底黑字、藍(lán)底白字、白底黑字;驅(qū)動(dòng)方式:1/64 DUTY 1/9 BIAS;背光:LED白色、LED黃綠色;控制器:KS0108或兼容 ST7920 T6963C;數(shù)據(jù)總線:8 位并口/6800 方式 串口;工作溫度:-20℃~+70℃;儲(chǔ)藏溫度:-30℃~+80℃;點(diǎn)陣格式:128 x 64;現(xiàn)實(shí)角度:6:00直視;基本用途:該點(diǎn)陣的屏顯成本相對(duì)較低,適用于各類儀器,小型設(shè)備的顯示領(lǐng)域。其接線圖如下所示:
圖2-6 12864液晶顯示與LPC2131接口接線圖
三、硬件電路圖
圖2-7 系統(tǒng)硬件電路圖
四、總結(jié)
此次基于ARM的步進(jìn)電機(jī)細(xì)分驅(qū)動(dòng)控制設(shè)計(jì),由于掌握知識(shí)及時(shí)間有限,我們目前只實(shí)現(xiàn)了對(duì)步進(jìn)電機(jī)正反轉(zhuǎn)控制以及三種運(yùn)行方式(單四拍、雙四拍、單雙八拍)的選擇控制,并且實(shí)現(xiàn)了在12864液晶顯示屏上顯示相關(guān)的信息。連接好硬件電路,上電復(fù)位,程序開始運(yùn)行。此時(shí)步進(jìn)電機(jī)不轉(zhuǎn)動(dòng),按下啟停鍵,步進(jìn)電機(jī)開始轉(zhuǎn)動(dòng),初始值設(shè)為正傳,按反轉(zhuǎn)鍵開始反轉(zhuǎn),再按正傳鍵則開始正傳。當(dāng)按下加速鍵時(shí)電機(jī)開始加速,當(dāng)按下減速鍵時(shí)電機(jī)開始減速。
當(dāng)然,此次課程設(shè)計(jì)還存在很多問題,實(shí)現(xiàn)的功能較簡單,這都需要以后不斷加強(qiáng)相關(guān)知識(shí)的學(xué)習(xí)從而不斷提高自己。
最后,感謝李紅巖老師和黃夢濤老師的辛勤教誨。
五、心得體會(huì)
這次課程設(shè)計(jì)的硬件部分由我來完成,雖然不用焊接電路,但是在畫硬件圖的過程中仍遇到很多問題。例如對(duì)Protel軟件的不熟悉,許多操作需要多次嘗試,才能正確完成;還有就是在電路的連接過程中,由于自己的馬虎,線路有錯(cuò)連和少連的現(xiàn)象。但是經(jīng)過自己的不斷努力,最終還是完成了任務(wù)。
通過這次課程設(shè)計(jì),我從一開始對(duì)系統(tǒng)的不太熟悉,到能開發(fā)一個(gè)簡單的系
統(tǒng),在這整個(gè)過程中我學(xué)到了很多東西,掌握了一些常用的開發(fā)技能,也發(fā)現(xiàn)了大量的問題,有些在設(shè)計(jì)過程中已經(jīng)解決,有些還有待今后慢慢學(xué)習(xí)。只要學(xué)習(xí)就會(huì)有更多的問題,有更多的難點(diǎn),但也會(huì)有更多的收獲。
在本次ARM課程設(shè)計(jì)訓(xùn)練中,不僅鍛煉了自己的動(dòng)手能力,也在向同學(xué)老師請(qǐng)教的過程中學(xué)到了不少東西,十分感謝老師和同學(xué)的幫助。通過本次課程設(shè)計(jì),我最深的感觸便是,許多東西都需要自己親自去做去實(shí)踐去學(xué)習(xí),才能真正的弄懂,才能真正的學(xué)到東西。
在整個(gè)的設(shè)計(jì)和實(shí)踐過程中,通過老師的指導(dǎo)和同學(xué)的幫助,我們組最終在最后時(shí)間完成了任務(wù)。通過這次課程設(shè)計(jì),才知道自己需要學(xué)習(xí)的東西還有很多,下來之后一定得加緊學(xué)習(xí)。平常我們都只是在課堂上學(xué)習(xí),通過這次課程設(shè)計(jì),實(shí)現(xiàn)了從理論到實(shí)踐的飛躍。增強(qiáng)了認(rèn)識(shí)問題,分析問,解決問題的能力。
最后感謝老師對(duì)我們此次課設(shè)的耐心指導(dǎo)和幫助!
經(jīng)過這次ARM課程設(shè)計(jì),使我對(duì)這學(xué)期ARM課程做了全面的復(fù)習(xí),并學(xué)會(huì)將其應(yīng)用于實(shí)踐,在這次基于ARM的步進(jìn)電機(jī)細(xì)分控制中,我對(duì)于ARM、步進(jìn)電機(jī)、液晶顯示及相關(guān)軟件都有了進(jìn)一步的認(rèn)識(shí),也是我發(fā)現(xiàn)團(tuán)隊(duì)合作的重要性,更激起了我對(duì)于電子設(shè)計(jì)方面的熱情。
不過,通過這次課程設(shè)計(jì),我同樣感受到了自身知識(shí)的缺乏,如不太熟悉使用上位機(jī)進(jìn)行監(jiān)控、ARM的掌握不夠透徹、還不能脫離參考資料獨(dú)立進(jìn)行軟硬件設(shè)計(jì)等,這些都需要我以后不斷加強(qiáng)學(xué)習(xí)鍛煉加以增強(qiáng),這將對(duì)于我今后進(jìn)一步的學(xué)習(xí)打下基礎(chǔ),我以后會(huì)不斷根據(jù)自身缺點(diǎn)進(jìn)行學(xué)習(xí)鍛煉,使自己不斷提高。最后,感謝老師的辛勤教誨!
六、參考文獻(xiàn)
1.ARM嵌入式系統(tǒng)基礎(chǔ)教程[第2版] 主編 周立功 北京航空航天大學(xué)出版社.2008 2.步進(jìn)電動(dòng)機(jī)及其驅(qū)動(dòng)控制系統(tǒng) 主編 劉寶廷 哈爾濱工業(yè)大學(xué)出版社.1997
附錄
#include“config.h” #define
MOTOA
1<<10
// P0.10
#define
MOTOB
1<<11
// P0.11
#define
MOTOC
1<<12
// P0.12 #define
MOTOD
1<<13
// P0.13 #define
key1
1<<17
// 加速 #define
key2
1<<18
// 減速 #define
key3
1<<19
//正反轉(zhuǎn) #define
key4
1<<20
//啟停
#define
KEYCON 0x001e0000 // LED控制字 #define
MOTOCON 0x00003c00 // MOTO控制字
#define
GPIOSET(PIN)IO0SET = PIN
// 方便修改置位端口 #define
GPIOCLR(PIN)IO0CLR = PIN
// 方便修改清位端口 #define
RS
1<<9
//P0.9 #define
SID
1<<6
//P0.6 #define
E
1<<4
//P0.4 #define
PSB
1<<2
//P0.2并行或串行,選擇低電平串行模式 #define
RST
1<<25
//P1.25,復(fù)位腳
unsigned char DAT1[64]=“低速—單四拍A-B-C-D運(yùn)行方式”;unsigned char DAT2[64]=“中速—雙四拍AB-BC-CD-DA運(yùn)行方式”;unsigned char DAT3[64]=“高速—單雙八拍A-AB-B-BC-C-CD-D-DA運(yùn)行方式”;unsigned char DAT4[64]=“低速反轉(zhuǎn)—單四拍D-C-B-A運(yùn)行方式”;unsigned char DAT5[64]=“中速反轉(zhuǎn)—雙四拍AD-DC-CB-BA運(yùn)行方式”;unsigned char DAT6[64]=“高速反轉(zhuǎn)—單雙八拍D-CD-C-BC-B-AB-A-DA運(yùn)行方式”;unsigned char DAT7[64]=“
停
止
”;unsigned char DAT8[64]=“步進(jìn)電機(jī)細(xì)分控制測控1002班:劉怡楠&石娟利”;
void TransferCom(unsigned char data0);void TransferData(unsigned char data1);void delay(unsigned int m);void lcd_mesg(unsigned char *adder1);void SendByte(unsigned char Dbyte);void init(void);void LCD12864_init(void);void DelayNS(uint32 dly);void MOTO_Mode1(uint8 i);
// A-B-C-D void MOTO_Mode10(uint8 i);void MOTO_Mode2(uint8 i);
// AB-BC-CD-DA-AB void MOTO_Mode20(uint8 i);void MOTO_Mode3(uint8 i);
// A-AB-B-BC-C-CD-D-DA-A void MOTO_Mode30(uint8 i);
int main(void){
unsigned int t=0;//啟停標(biāo)志
unsigned int f=0;//正反轉(zhuǎn)標(biāo)志
unsigned int i=0;//電機(jī)運(yùn)行模式標(biāo)志
PINSEL0=0x00000000;
PINSEL1=0X00000000;
PINSEL2&=~(0x00000006);//設(shè)置所有I/O口為普通GPIO口
IO0DIR =MOTOCON;// 配置I/O輸入輸出方向
LCD12864_init();//液晶端口初始化
while((IO0PIN&key1)&&(IO0PIN&key2)&&(IO0PIN&key3)&&(IO0PIN&key4)!=0)
{ init();
lcd_mesg(DAT8);
//顯示界面
}
while(1)
{
if(t==0)//電機(jī)停止
{ init();
lcd_mesg(DAT7);
IO0CLR=MOTOCON;
if((IO0PIN&key4)==0)t=!t;//key4控制啟停轉(zhuǎn)換
} else if(t==1)//電機(jī)啟動(dòng)
{ if((IO0PIN&key1)==0)//key1控制加速
{ if(i>=2)i=2;
else i++;
DelayNS(10);
}
if((IO0PIN&key2)==0)//key2控制減速
{ if(i<=0)i=0;
else i--;
DelayNS(10);
}
if((IO0PIN&key3)==0)f=!f;//key3控制正反轉(zhuǎn)
if((IO0PIN&key4)==0)t=!t;
if(f==0)
//正轉(zhuǎn)
{ if(i==0)MOTO_Mode1(10);//低速
else if(i==1)MOTO_Mode2(10);//中速
else if(i==2)MOTO_Mode3(10);//高速
}
else if(f==1)//反轉(zhuǎn)
{ if(i==0)MOTO_Mode10(10);//低速
else if(i==1)MOTO_Mode20(10);//中速
else if(i==2)MOTO_Mode30(10);//高速
} }
}
return(0);}
void DelayNS(uint32 dly){ uint32 i;
for(;dly>0;dly--)
for(i=0;i<5000;i++);} void MOTO_Mode1(uint8 i)
//單四拍A-B-C-D運(yùn)行方式 {
while((IO0PIN&key1)&&(IO0PIN&key2)&&(IO0PIN&key3)&&(IO0PIN&key4)!=0)
{
init();
lcd_mesg(DAT1);//顯示字符串DAT1
/* A */
GPIOSET(MOTOA);
DelayNS(i);
GPIOCLR(MOTOA);
/* B */
GPIOSET(MOTOB);
DelayNS(i);
GPIOCLR(MOTOB);
/* C */
GPIOSET(MOTOC);
DelayNS(i);
GPIOCLR(MOTOC);
/* D */
GPIOSET(MOTOD);
DelayNS(i);
GPIOCLR(MOTOD);
} } void MOTO_Mode10(uint8 i)
//單四拍D-C-B-A運(yùn)行方式 {
while((IO0PIN&key1)&&(IO0PIN&key2)&&(IO0PIN&key3)&&(IO0PIN&key4)!=0)
{
init();
lcd_mesg(DAT4);
//顯示字符串DAT4
/* D */
GPIOSET(MOTOD);
DelayNS(i);
GPIOCLR(MOTOD);
/* C */
GPIOSET(MOTOC);
DelayNS(i);
GPIOCLR(MOTOC);
/* B */
GPIOSET(MOTOB);
DelayNS(i);
GPIOCLR(MOTOB);
/* A */
GPIOSET(MOTOA);
DelayNS(i);
GPIOCLR(MOTOA);
} } void MOTO_Mode2(uint8 i)
//雙四拍AB-BC-CD-DA運(yùn)行方式 {
while((IO0PIN&key1)&&(IO0PIN&key2)&&(IO0PIN&key3)&&(IO0PIN&key4)!=0)
{
init();
lcd_mesg(DAT2);
//顯示字符串DAT2
GPIOSET(MOTOA);
GPIOSET(MOTOB);
DelayNS(i);
GPIOCLR(MOTOA);
GPIOCLR(MOTOB);
/* BC */
GPIOSET(MOTOB);
GPIOSET(MOTOC);
DelayNS(i);
GPIOCLR(MOTOB);
GPIOCLR(MOTOC);
/* CD */
GPIOSET(MOTOC);
GPIOSET(MOTOD);
DelayNS(i);
GPIOCLR(MOTOC);
GPIOCLR(MOTOD);
/* DA */
GPIOSET(MOTOD);
GPIOSET(MOTOA);
DelayNS(i);
GPIOCLR(MOTOD);
GPIOCLR(MOTOA);
} } void MOTO_Mode20(uint8 i)
//雙四拍AD-DC-CB-BA運(yùn)行方式 {
while((IO0PIN&key1)&&(IO0PIN&key2)&&(IO0PIN&key3)&&(IO0PIN&key4)!=0)
{
init();
lcd_mesg(DAT5);
//顯示字符串DAT5
GPIOSET(MOTOA);
GPIOSET(MOTOD);
DelayNS(i);
GPIOCLR(MOTOA);
GPIOCLR(MOTOD);
/* DC */
GPIOSET(MOTOD);
GPIOSET(MOTOC);
DelayNS(i);
GPIOCLR(MOTOD);
GPIOCLR(MOTOC);
/* CB */
GPIOSET(MOTOC);
GPIOSET(MOTOB);
DelayNS(i);
GPIOCLR(MOTOC);
GPIOCLR(MOTOB);
/* BA */
GPIOSET(MOTOB);
GPIOSET(MOTOA);
DelayNS(i);
GPIOCLR(MOTOB);
GPIOCLR(MOTOA);
} } void MOTO_Mode3(uint8 i)
//單雙八拍A-AB-B-BC-C-CD-D-DA運(yùn)行方式 {
while((IO0PIN&key1)&&(IO0PIN&key2)&&(IO0PIN&key3)&&(IO0PIN&key4)!=0)
{
init();
lcd_mesg(DAT3);
//顯示字符串DAT3
/* A */
GPIOSET(MOTOA);
DelayNS(i);
GPIOCLR(MOTOA);
/* AB */
GPIOSET(MOTOA);
GPIOSET(MOTOB);
DelayNS(i);
GPIOCLR(MOTOA);
GPIOCLR(MOTOB);
/* B */
GPIOSET(MOTOB);
DelayNS(i);
GPIOCLR(MOTOB);
/* BC */
GPIOSET(MOTOB);
GPIOSET(MOTOC);
DelayNS(i);
GPIOCLR(MOTOB);
GPIOCLR(MOTOC);
/* C */
GPIOSET(MOTOC);
DelayNS(i);
GPIOCLR(MOTOC);
/* CD */
GPIOSET(MOTOC);
GPIOSET(MOTOD);
DelayNS(i);
GPIOCLR(MOTOC);
GPIOCLR(MOTOD);
/* D */
GPIOSET(MOTOD);
DelayNS(i);
GPIOCLR(MOTOD);
/* DA */
GPIOSET(MOTOD);
GPIOSET(MOTOA);
DelayNS(i);
GPIOCLR(MOTOD);
GPIOCLR(MOTOA);
} } void MOTO_Mode30(uint8 i)
//單雙八拍D-CD-C-BC-B-AB-A-DA運(yùn)行方式 {
while((IO0PIN&key1)&&(IO0PIN&key2)&&(IO0PIN&key3)&&(IO0PIN&key4)!=0)
{
init();
lcd_mesg(DAT6);
//顯示字符串DAT6
/* D */
GPIOSET(MOTOD);
DelayNS(i);
GPIOCLR(MOTOD);
/* CD */
GPIOSET(MOTOC);
GPIOSET(MOTOD);
DelayNS(i);
GPIOCLR(MOTOC);
GPIOCLR(MOTOD);
/* C */
GPIOSET(MOTOC);
DelayNS(i);
GPIOCLR(MOTOC);
/* BC */
GPIOSET(MOTOB);
GPIOSET(MOTOC);
DelayNS(i);
GPIOCLR(MOTOB);
GPIOCLR(MOTOC);
/* B */
GPIOSET(MOTOB);
DelayNS(i);
GPIOCLR(MOTOB);
/* AB */
GPIOSET(MOTOA);
GPIOSET(MOTOB);
DelayNS(i);
GPIOCLR(MOTOA);
GPIOCLR(MOTOB);
/* A */
GPIOSET(MOTOA);
DelayNS(i);
GPIOCLR(MOTOA);
/* DA */
GPIOSET(MOTOD);
GPIOSET(MOTOA);
DelayNS(i);
GPIOCLR(MOTOD);
GPIOCLR(MOTOA);
} } void delay(unsigned int m){
unsigned int i,j;
for(i=0;i for(j=0;j<50;j++);} void init(void){ delay(40); //大于40ms的延時(shí)程序 IO0SET=PSB;//設(shè)置為串行工作方式 delay(1); IO1CLR=RST;//復(fù)位 delay(1); IO1SET=RST;//復(fù)位置高 delay(10); TransferCom(0x30);//RE=0,G=0,圖片顯示關(guān) delay(100); TransferCom(0x0C);//D=1,顯示開 delay(100); TransferCom(0x01);//清屏 delay(10); TransferCom(0x06);//模式設(shè)置,光標(biāo)從右向左加1位移動(dòng) delay(100);} void lcd_mesg(unsigned char *adder1){ unsigned char i; TransferCom(0x80); delay(100); for(i=0;i<32;i++) { TransferData(*adder1); adder1++; } TransferCom(0x90); delay(100); for(i=32;i<64;i++) { TransferData(*adder1); adder1++; } } void SendByte(unsigned char Dbyte){ unsigned char i; for(i=0;i<8;i++) { IO0CLR=E; if((Dbyte&0x80)==0x80)IO0SET=SID; else IO0CLR=SID; Dbyte=Dbyte<<1; IO0SET=E; IO0CLR=E; } } void TransferCom(unsigned char data0){ IO0SET=RS; SendByte(0xf8); // 11111,RW=0,RS=1,0 SendByte(0xf0&data0);//高4位 SendByte(0xf0&data0<<4);//低4位 IO0CLR=RS; } void TransferData(unsigned char data1){ IO0SET=RS; SendByte(0xfa); // 11111,RW=0,RS=1,0 SendByte(0xf0&data1);//高4位 SendByte(0xf0&data1<<4);//低4位 IO0CLR=RS;} void LCD12864_init(void){ IO0DIR|=(E|SID|RS);//設(shè)置為輸出 IO0CLR=(E|SID|RS); IO1DIR|=RST; IO1CLR=RST; //復(fù)位 delay(1); IO1SET=RST; //復(fù)位置高 } 湖北工程學(xué)院新技術(shù)學(xué)院課程設(shè)計(jì)任務(wù)書 課程單片機(jī)原理及仿真課程設(shè)計(jì) 題目單片機(jī)控制步進(jìn)電機(jī) 專業(yè)姓名學(xué)號(hào) 主要內(nèi)容、基本要求、主要參考資料等 1、主要內(nèi)容: 根據(jù)單片機(jī)課程所學(xué)內(nèi)容,結(jié)合其他相關(guān)課程知識(shí),設(shè)計(jì)步進(jìn)電機(jī)控制,以加深對(duì)單片機(jī)知識(shí)的理解,鍛煉實(shí)踐動(dòng)手能力,為以后的畢業(yè)設(shè)計(jì)和工作打下堅(jiān)實(shí)基礎(chǔ)。 2、基本要求: 本設(shè)計(jì)以MCS-51系列單片機(jī)為核心,采用常用電子器件設(shè)計(jì)。根據(jù)要求設(shè)計(jì)一個(gè)單片機(jī)仿真控制,要求:設(shè)計(jì)一個(gè)數(shù)碼管;一個(gè)外中斷通過門電路連接五個(gè)按鍵,這五個(gè)按鍵分別控制步進(jìn)電機(jī)的正轉(zhuǎn)反轉(zhuǎn)暫停、加速與減速;正轉(zhuǎn)時(shí),數(shù)碼管上顯示‘Z’,反轉(zhuǎn)時(shí)顯示“F”,暫停時(shí)顯示“S”,按加速鍵時(shí),電機(jī)加速,按減速鍵時(shí),電機(jī)減速。 (1)用PROTOUS設(shè)計(jì)出步進(jìn)電機(jī)控制工作原理實(shí)驗(yàn)電路圖 (2)通過對(duì)AT89S51單片機(jī)編程,編寫定步進(jìn)電機(jī)控制程序,實(shí)現(xiàn)用步進(jìn)電機(jī)控制。 (3)上交相應(yīng)仿真的電路圖與編程文檔。 (4)寫出詳細(xì)的設(shè)計(jì)原理說明小論文。 3、主要參考資料: [1] 李泉溪,倪水平.單片機(jī)原理與應(yīng)用實(shí)例仿真.北京:北京航空航天大學(xué)出版社,2012.[2] 張友德,趙志英,徐時(shí)亮.單片微機(jī)原理應(yīng)用與實(shí)驗(yàn).上海:復(fù)旦大學(xué)出版社,2010.[3] 單片機(jī)仿真實(shí)驗(yàn)系統(tǒng)說明書.完成期限 指導(dǎo)教師 2012年12月2 日 步進(jìn)電機(jī)調(diào)速實(shí)驗(yàn)報(bào)告 班級(jí): xx 姓名: xx 學(xué)號(hào): xxx 指導(dǎo)老師: : xx 步進(jìn)電機(jī)調(diào)速實(shí)驗(yàn)報(bào)告 一、實(shí)驗(yàn)?zāi)康眉耙? 1、熟悉步進(jìn)電機(jī)得工作原理 2、熟悉 51 系列單片機(jī)得工作原理及調(diào)試方法 3、設(shè)計(jì)基于 51 系列單片機(jī)控制得步進(jìn)電機(jī)調(diào)速原理圖(要求實(shí)現(xiàn)電機(jī)得速度反饋測量,測量方式:數(shù)字測量)4、實(shí)現(xiàn) 51 系列單片機(jī)對(duì)步進(jìn)電機(jī)得速度控制(步進(jìn)電機(jī)由實(shí)驗(yàn)中心提供,具體型號(hào) 42BYG)由按鈕控制步進(jìn)電機(jī)得啟動(dòng)與停止;實(shí)現(xiàn)加速、勻速、與減速控制.速度設(shè)定由鍵盤設(shè)定,步進(jìn)電機(jī)得反饋速度由 LED 數(shù)碼管顯示。 二、實(shí)驗(yàn)原理: 1、一般電動(dòng)機(jī)都就是連續(xù)旋轉(zhuǎn),而步進(jìn)電動(dòng)卻就是一步一步轉(zhuǎn)動(dòng)得,故叫步進(jìn)電動(dòng)機(jī)。步進(jìn)電機(jī)就是數(shù)字控制電機(jī),它將脈沖信號(hào)轉(zhuǎn)變成角位移,即給一個(gè)脈沖信號(hào),步進(jìn)電機(jī)就轉(zhuǎn)動(dòng)一個(gè)角度,因此非常適合于單片機(jī)控制。步進(jìn)電動(dòng)機(jī)得轉(zhuǎn)子為多極分布,定子上嵌有多相星形連接得控制繞組,由專門電源輸入電脈沖信號(hào),每輸入一個(gè)脈沖信號(hào),步進(jìn)電動(dòng)機(jī)得轉(zhuǎn)子就前進(jìn)一步。由于輸入得就是脈沖信號(hào),輸出得角位移就是斷續(xù)得,所以又稱為脈沖電動(dòng)機(jī).隨著數(shù)字控制系統(tǒng)得發(fā)展,步進(jìn)電動(dòng)機(jī)得應(yīng)用將逐漸擴(kuò)大。 進(jìn)電動(dòng)機(jī)需配置一個(gè)專用得電源供電,電源得作用就是讓電動(dòng)機(jī)得控制繞組按照特定得順序通電,即受輸入得電脈沖控制而動(dòng)作,這個(gè)專用電源稱為驅(qū)動(dòng)電源.步進(jìn)電動(dòng)機(jī)及其驅(qū)動(dòng)電源就是一個(gè)互相聯(lián)系得整體,步進(jìn)電動(dòng)機(jī)得運(yùn)行性能就是由電動(dòng)機(jī)與驅(qū)動(dòng)電源兩者配合所形成得綜合效果。 2、對(duì)驅(qū)動(dòng)電源得基本要求 (1)驅(qū)動(dòng)電源得相數(shù)、通電方式與電壓、電流都要滿足步進(jìn)電動(dòng)機(jī)得需要;(2)要滿足步進(jìn)電動(dòng)機(jī)得起動(dòng)頻率與運(yùn)行頻率得要求;(3)能最大限度地抑制步進(jìn)電動(dòng)機(jī)得振蕩;(4)工作可靠,抗干擾能力強(qiáng);(5)成本低、效率高、安裝與維護(hù)方便。 3、驅(qū)動(dòng)電源得組成 步進(jìn)電動(dòng)機(jī)得驅(qū)動(dòng)電源基本上由脈沖發(fā)生器、脈沖分配器與脈沖放大器(也稱功率放大器)三部分組成, 三、實(shí)驗(yàn)源程序: /*************** writer:shopping、w ******************/ #include 〈reg52、h〉 #define uint unsigned int #define uchar unsigned char uchar code FFW[]= { 0 90x0,80x0,c0x0,40x0,60x0,20x0,30x0,10x?};uchar code REV[]= { 0 10x0,30x0,20x0,60x0,40x0,c0x0,80x0,90x?};sbit K1 = P3^0; sbit K2 = P3^1;sbit K3 = P3^2;void DelayMS(uint ms) { uchar i; while(ms-—) { ;)++i;021〈i;0=i(rof? } } void SETP_MOTOR_FFW(uchar n){ uchar i,j; for(i=0;i〈5*n;i++) {? for(j=0;j<8;j++) {? ? if(K3 == 0)break; ?? P1 = FFW[j]; ;)52(SMyaleD?? }?? } } void SETP_MOTOR_REV(uchar n){ uchar i,j; for(i=0;i<5*n;i++) {)++j;8 ? ;kaerb?)0 == 3K(fi? P1 = REV[j]; ? DelayMS(25); ? } } } void main() {uchar N = 3;)1(elihw? {if(K1 == 0) {;efx0 = 0P? ?? SETP_MOTOR_FFW(N); ? if(K3 == 0)break; }?? ? else if(K2 == 0) ? { P0 = 0xfd; ? ;)N(VER_ROTOM_PTES? ;kaerb)0 == 3K(fi?? }?? ? else {?? ? ;bfx0 = 0P??;30x0 = 1P? } }?} 四、實(shí)驗(yàn)心得: 本次實(shí)驗(yàn)讓我了解了步進(jìn)電動(dòng)機(jī)得工作原理,掌握了怎樣用單片機(jī)編程來控制步進(jìn)電機(jī)得正反轉(zhuǎn)及調(diào)速。通過這次實(shí)驗(yàn),我更加深刻得認(rèn)識(shí)到將單片機(jī)編程知識(shí)應(yīng)用到實(shí)踐中得重要性。同時(shí),在理論知識(shí)方面,我還有很多欠缺。在以后得學(xué)習(xí)中要注意實(shí)踐性,不能只滿足于理論知識(shí)。 步進(jìn)電機(jī)簡介 步進(jìn)電機(jī)是將電脈沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號(hào)的頻率和脈沖數(shù),而不受負(fù)載變化的影響,即給電機(jī)加一個(gè)脈沖信號(hào),電機(jī)則轉(zhuǎn)過一個(gè)步距角。這一線性關(guān)系的存在,加上步進(jìn)電機(jī)只有周期性的誤差而無累積誤差等特點(diǎn)。使得在速度、位置等控制領(lǐng)域用步進(jìn)電機(jī)來控制變的非常的簡單。 步進(jìn)電機(jī)分三種:永磁式(PM),反應(yīng)式(VR)和混合式(HB) 永磁式步進(jìn)一般為兩相,轉(zhuǎn)矩和體積較小,步進(jìn)角一般為7.5度 或15度; 反應(yīng)式步進(jìn)一般為三相,可實(shí)現(xiàn)大轉(zhuǎn)矩輸出,步進(jìn)角一般為1.5度,但噪聲和振動(dòng)都很大。在歐美等發(fā)達(dá)國家80年代已被淘汰; 混合式步進(jìn)是指混合了永磁式和反應(yīng)式的優(yōu)點(diǎn)。它又分為兩相和五相:兩相步進(jìn)角一般為 1.8度而五相步進(jìn)角一般為 0.72度。這種步進(jìn)電機(jī)的應(yīng)用最為廣泛。 一.工作原理 (一)反應(yīng)式步進(jìn)電機(jī) 1、結(jié)構(gòu): 電機(jī)轉(zhuǎn)子均勻分布著很多小齒(1,2,3,4,5),電機(jī)定子有三個(gè)勵(lì)磁繞阻(A,B,C),A與齒1相對(duì)齊,B與齒2錯(cuò)開1/3て,C與齒3錯(cuò)開2/3て,A與齒5相對(duì)齊...。將定子和轉(zhuǎn)子展開如下 2、旋轉(zhuǎn): 如A相通電,B、C相不通電時(shí),由于磁場作用,齒1與A對(duì)齊;如B相通電,A、C相不通電時(shí),齒2應(yīng)與B對(duì)齊,此時(shí)轉(zhuǎn)子向右移過1/3て,此時(shí)齒3與C偏移為1/3て,齒4與A偏移2/3て;如C相通電,A、B相不通電,齒3應(yīng)與C對(duì)齊,此時(shí)轉(zhuǎn)子又向右移過1/3て,此時(shí)齒4與A偏移為1/3て對(duì)齊;如A相通電,B、C相不通電,齒4與A對(duì)齊,轉(zhuǎn)子又向右移過1/3て。這樣經(jīng)過A、B、C、A分別通電,齒4移到A相,電機(jī)轉(zhuǎn)子向右轉(zhuǎn)過一個(gè)齒距,如果不斷地按A、B、C、A...通電,電機(jī)就向右旋轉(zhuǎn);如按A、C、B、A……通電,電機(jī)就向左轉(zhuǎn)。由此可見:電機(jī)的位置和速度由導(dǎo)電脈沖數(shù)和頻率成一一對(duì)應(yīng)關(guān)系,而方向由導(dǎo)電順序決定。 不過,出于對(duì)力矩、平穩(wěn)、噪音及減少角度等方面考慮,往往采用A-AB-B-BC-C-CA-A這種導(dǎo)電狀態(tài),這樣將原來每步1/3て改變?yōu)?/6て。甚至于通過二相電流不同的組合,使其1/3て變?yōu)?/12て,1/24て,這就是電機(jī)細(xì)分驅(qū)動(dòng)的基本理論依據(jù)。但經(jīng)過理論分析及大量的實(shí)驗(yàn)證明:細(xì)分?jǐn)?shù)如果超過10,電機(jī)帶負(fù)載后,就會(huì)產(chǎn)生跳步和失步現(xiàn)象。 不難推出:電機(jī)定子上有m相勵(lì)磁繞阻,其軸線分別與轉(zhuǎn)子齒軸線偏移 1/m,2/m……(m-1)/m,1。并且導(dǎo)電按一定的相序電機(jī)就能正反轉(zhuǎn)被控制——這是步進(jìn)電機(jī)旋轉(zhuǎn)的物理?xiàng)l件。只要符合這一條件我們理論上可以制造任何相的步進(jìn)電機(jī),出于成本等多方面考慮,市場上一般以二、三、四、五相為多。 3、力矩: 電機(jī)一旦通電,在定轉(zhuǎn)子間將產(chǎn)生磁場(磁通量Ф)。當(dāng)轉(zhuǎn)子與定子錯(cuò)開一定角度時(shí),產(chǎn)生的吸引力 F=K*dФ/dθ成正比。其中磁通量Ф=Br*S(Br=N*I/R為磁密,S為導(dǎo)磁面積,N*I為勵(lì)磁繞阻安匝數(shù)(電流乘匝數(shù))R為磁阻),θ為錯(cuò)齒量,K為系數(shù)??梢?,F(xiàn)與L*D*Br成正比(L為鐵芯有效長度,D為轉(zhuǎn)子直徑)。 力矩=F*D/2,因此,力矩與電機(jī)有效體積*安匝數(shù)*磁密成正比(設(shè)為線性狀態(tài)),即電機(jī)有效體積越大,勵(lì)磁安匝數(shù)越大,定轉(zhuǎn)子間氣隙越小,電機(jī)力矩越大,反之亦然。 (二)感應(yīng)子式步進(jìn)電機(jī)(永磁式) 1、特點(diǎn): 感應(yīng)子式步進(jìn)電機(jī)與傳統(tǒng)的反應(yīng)式步進(jìn)電機(jī)相比,結(jié)構(gòu)上轉(zhuǎn)子加有永磁體,以提供軟磁材料的工作點(diǎn),而定子激磁只需提供變化的磁場而不必提供磁材料工作點(diǎn)的耗能,因此該電機(jī)效率高,電流小,發(fā)熱低。因永磁體的存在,該電機(jī)具有較強(qiáng)的反電勢,其自身阻尼作用比較好,使其在運(yùn)轉(zhuǎn)過程中比較平穩(wěn)、噪音低、低頻振動(dòng)小。 感應(yīng)子式步進(jìn)電機(jī)某種程度上可以看作是低速同步電機(jī)。一個(gè)四相電機(jī)可以作四相運(yùn)行,也可以作二相運(yùn)行(必須采用雙極電壓驅(qū)動(dòng)),而反應(yīng)式電機(jī)則不能如此。 例如:四相,八相運(yùn)行(A-AB-B-BC-C-CD-D-DA-A)完全可以采用二相八拍運(yùn)行方式.不難發(fā)現(xiàn)其條件為C=,D=。 一個(gè)二相電機(jī)的內(nèi)部繞組與四相電機(jī)完全一致,小功率電機(jī)一般直接接為二相,而功率大一點(diǎn)的電機(jī),為了方便使用,靈活改變電機(jī)的動(dòng)態(tài)特點(diǎn),往往將其外部接線為八根引線(四相),這樣使用時(shí),既可以作四相電機(jī)使用,可以作二相電機(jī)繞組串聯(lián)或并聯(lián)使用。 2、分類 感應(yīng)子式步進(jìn)電機(jī)以相數(shù)可分為:二相電機(jī)、三相電機(jī)、四相電機(jī)、五相電機(jī)等。以機(jī)座號(hào)(電機(jī)外徑)可分為:42BYG(BYG為感應(yīng)子式步進(jìn)電機(jī)代號(hào))、57BYG、86BYG、110BYG、(國際標(biāo)準(zhǔn)),而像70BYG、90BYG、130BYG等均為國內(nèi)標(biāo)準(zhǔn)。 3、步進(jìn)電機(jī)的靜態(tài)指標(biāo)術(shù)語 相數(shù):產(chǎn)生不同對(duì)極N、S磁場的激磁線圈對(duì)數(shù),常用m表示。 拍數(shù):完成一個(gè)磁場周期性變化所需脈沖數(shù)或?qū)щ姞顟B(tài)用n表示,或指電機(jī)轉(zhuǎn)過一個(gè)齒距角所需脈沖數(shù),以四相電機(jī)為例,有四相四拍運(yùn)行方式即AB-BC-CD-DA-AB,四相八拍運(yùn)行方式即 A-AB-B-BC-C-CD-D-DA-A。 步距角:對(duì)應(yīng)一個(gè)脈沖信號(hào),電機(jī)轉(zhuǎn)子轉(zhuǎn)過的角位移用θ表示。θ=360度(轉(zhuǎn)子齒數(shù)J*運(yùn)行拍數(shù)),以常規(guī)二、四相,轉(zhuǎn)子齒為50齒電機(jī)為例。四拍運(yùn)行時(shí)步距角為θ=360度/(50*4)=1.8度(俗稱整步),八拍運(yùn)行時(shí)步距角為θ=360度/(50*8)=0.9度(俗稱半步)。每轉(zhuǎn)步數(shù):電機(jī)每轉(zhuǎn)一轉(zhuǎn)所轉(zhuǎn)過的步數(shù)。 定位轉(zhuǎn)矩:電機(jī)在不通電狀態(tài)下,電機(jī)轉(zhuǎn)子自身的鎖定力矩(由磁場齒形的諧波以及機(jī)械誤差造成的)。 保持扭矩:電機(jī)繞組通電不轉(zhuǎn)動(dòng)時(shí)的最大輸出扭矩值。 工作扭矩:電機(jī)繞組通電轉(zhuǎn)動(dòng)時(shí)的最大輸出扭矩值。注意:保持扭距比工作扭矩大,選電機(jī)是要以工作扭矩為選擇依據(jù)。 靜轉(zhuǎn)矩:電機(jī)在額定靜態(tài)電作用下,電機(jī)不作旋轉(zhuǎn)運(yùn)動(dòng)時(shí),電機(jī)轉(zhuǎn)軸的鎖定力矩。此力矩是衡量電機(jī)體積(幾何尺寸)的標(biāo)準(zhǔn),與驅(qū)動(dòng)電壓及驅(qū)動(dòng)電源等無關(guān)。 雖然靜轉(zhuǎn)矩與電磁激磁安匝數(shù)成正比,與定齒轉(zhuǎn)子間的氣隙有關(guān),但過份采用減小氣隙,增加激磁安匝來提高靜力矩是不可取的,這樣會(huì)造成電機(jī)的發(fā)熱及機(jī)械噪音。 4、步進(jìn)電機(jī)動(dòng)態(tài)指標(biāo)及術(shù)語: 1、步距角精度:步進(jìn)電機(jī)每轉(zhuǎn)過一個(gè)步距角的實(shí)際值與理論值的誤差。用百分比表示:誤差/步距角*100%。不同運(yùn)行拍數(shù)其值不同,四拍運(yùn)行時(shí)應(yīng)在5%之內(nèi),八拍運(yùn)行時(shí)應(yīng)在15%以內(nèi)。 2、失步:電機(jī)運(yùn)轉(zhuǎn)時(shí)運(yùn)轉(zhuǎn)的步數(shù),不等于理論上的步數(shù)。稱之為失步。 3、失調(diào)角:轉(zhuǎn)子齒軸線偏移定子齒軸線的角度,電機(jī)運(yùn)轉(zhuǎn)必存在失調(diào)角,由失調(diào)角產(chǎn)生的誤差,采用細(xì)分驅(qū)動(dòng)是不能解決的。 4、最大空載起動(dòng)頻率:電機(jī)在某種驅(qū)動(dòng)形式、電壓及額定電流下,在不加負(fù)載的情況下,能夠直接起動(dòng)的最大頻率。 5、最大空載的運(yùn)行頻率:電機(jī)在某種驅(qū)動(dòng)形式,電壓及額定電流下,電機(jī)不帶負(fù)載的最高轉(zhuǎn)速頻率。這個(gè)速度遠(yuǎn)大于啟動(dòng)頻率。 6、運(yùn)行矩頻特性:電機(jī)在某種測試條件下測得運(yùn)行中輸出力矩與頻率關(guān)系的曲線稱為運(yùn)行矩頻特性,這是電機(jī)諸多動(dòng)態(tài)曲線中最重要的,也是電機(jī)選擇的根本依據(jù)。如下左圖所示:其它特性還有慣頻特性、起動(dòng)頻率特性等。 電機(jī)一旦選定,電機(jī)的靜力矩確定,而動(dòng)態(tài)力矩卻不然,電機(jī)的動(dòng)態(tài)力矩取決于電機(jī)運(yùn)行時(shí)的平均電流(而非靜態(tài)電流),平均電流越大,電機(jī)輸出力矩越大,即電機(jī)的頻率特性越硬。如上右圖所示。其中,曲線3電流最大、或電壓最高;曲線1電流最小、或電壓最低,曲線與負(fù)載的交點(diǎn)為負(fù)載的最大速度點(diǎn)。要使平均電流大,盡可能提高驅(qū)動(dòng)電壓,使采用小電感大電流的電機(jī)。 7、電機(jī)的共振點(diǎn):步進(jìn)電機(jī)均有固定的共振區(qū)域,二、四相感應(yīng)子式步進(jìn)電機(jī)的共振區(qū)一般在180-250pps之間(步距角1.8度)或在400pps左右(步距角為0.9度),電機(jī)驅(qū)動(dòng)電壓越高,電機(jī)電流越大,負(fù)載越輕,電機(jī)體積越小,則共振區(qū)向上偏移,反之亦然。為使電機(jī)輸出電矩大,不失步和整個(gè)系統(tǒng)的噪音降低,一般工作點(diǎn)均應(yīng)遠(yuǎn)離共振區(qū)。 現(xiàn)在,步進(jìn)電機(jī)的發(fā)展非常迅速,如德國百格拉公司的交流伺服電機(jī)運(yùn)行性能的步進(jìn)電機(jī)系統(tǒng),其三相混合式步進(jìn)電機(jī)采用交流伺服原理工作,運(yùn)用特殊精密機(jī)械加工工藝,使步進(jìn)電機(jī)定子和轉(zhuǎn)子之間間隙僅為50um,轉(zhuǎn)子和定子的直徑比提高到59%,大大提高了電機(jī)工作扭矩,特別是高速時(shí)的工作扭矩。由于定子和轉(zhuǎn)子上磁槽數(shù)遠(yuǎn)多于五相和兩相混合式步進(jìn)電機(jī),使三相混合式步進(jìn)電機(jī)可以按五相和兩相混合式步進(jìn)電機(jī)的步數(shù)進(jìn)行工作。電機(jī)的扭矩僅與轉(zhuǎn)速有關(guān),而與電機(jī)每轉(zhuǎn)的步數(shù)無關(guān),例如:2Nm電機(jī)在每轉(zhuǎn)500步和10000步,800轉(zhuǎn)/分時(shí)的扭矩都是1.75Nm。在低速時(shí)運(yùn)行極其平穩(wěn),幾乎無共振區(qū),高速時(shí)扭矩大,運(yùn)行特性類同交流伺服電機(jī)。 二.步進(jìn)電機(jī)選用 (一)力矩與功率計(jì)算 步進(jìn)電機(jī)一般在較大范圍內(nèi)調(diào)速使用、其功率是變化的,一般只用力矩來衡量,力矩與功率換算如下: P= Ω·M Ω=2π·n/60 P=2πnM/60 其中P為功率單位為瓦,Ω為每秒角速度,單位為弧度,n為每分鐘轉(zhuǎn)速,M為力矩單位為牛頓·米。 P=2πfM/400(半步工作) 其中f為每秒脈沖數(shù)(簡稱PPS) (二)步進(jìn)電機(jī)的選擇 步進(jìn)電機(jī)有步距角(涉及到相數(shù))、靜轉(zhuǎn)矩、及電流三大要素組成。一旦三大要素確定,步進(jìn)電機(jī)的型號(hào)便確定下來了。 1、步距角的選擇 電機(jī)的步距角取決于負(fù)載精度的要求,將負(fù)載的最小分辨率(當(dāng)量)換算到電機(jī)軸上,每個(gè)當(dāng)量電機(jī)應(yīng)走多少角度(包括減速)。電機(jī)的步距角應(yīng)等于或小于此角度。目前市場上步進(jìn)電機(jī)的步距角一般有0.36度/0.72度(五相電機(jī))、0.9度/1.8度(二、四相電機(jī))、1.5度/3度(三相電機(jī))等。 2、靜力矩的選擇 步進(jìn)電機(jī)的動(dòng)態(tài)力矩一下子很難確定,我們往往先確定電機(jī)的靜力矩。靜力矩選擇的依據(jù)是電機(jī)工作的負(fù)載,而負(fù)載可分為慣性負(fù)載和摩擦負(fù)載二種。單一的慣性負(fù)載和單一的摩擦負(fù)載是不存在的。直接起動(dòng)時(shí)(一般由低速)時(shí)二種負(fù)載均要考慮,加速起動(dòng)時(shí)主要考慮慣性負(fù)載,恒速運(yùn)行進(jìn)只要考慮摩擦負(fù)載。一般情況下,靜力矩應(yīng)為摩擦負(fù)載的2-3倍內(nèi)好,靜力矩一旦選定,電機(jī)的機(jī)座及長度便能確定下來(幾何尺寸)。 3、電流的選擇 靜力矩一樣的電機(jī),由于電流參數(shù)不同,其運(yùn)行特性差別很大,可依據(jù)矩頻特性曲線圖,判斷電機(jī)的電流(參考驅(qū)動(dòng)電源、及驅(qū)動(dòng)電壓) 綜上所述選擇電機(jī)一般應(yīng)遵循以下步驟: 三.應(yīng)用中的注意點(diǎn) 1、步進(jìn)電機(jī)應(yīng)用于低速場合---每分鐘轉(zhuǎn)速不超過1000轉(zhuǎn),(0.9度時(shí)6666PPS),最好在1000-3000PPS(0.9度)間使用,可通過減速裝置使其在此間工作,此時(shí)電機(jī)工作效率高,噪音低。 2、步進(jìn)電機(jī)最好不使用整步狀態(tài),整步狀態(tài)時(shí)振動(dòng)大。 3、由于歷史原因,只有標(biāo)稱為12V電壓的電機(jī)使用12V外,其他電機(jī)的電壓值不是驅(qū)動(dòng)電壓伏值,可根據(jù)驅(qū)動(dòng)器選擇驅(qū)動(dòng)電壓(建議:57BYG采用直流24V-36V,86BYG采用直流50V,110BYG采用高于直流80V),當(dāng)然12伏的電壓除12V恒壓驅(qū)動(dòng)外也可以采用其他驅(qū)動(dòng)電源,不過要考慮溫升。 4、轉(zhuǎn)動(dòng)慣量大的負(fù)載應(yīng)選擇大機(jī)座號(hào)電機(jī)。 5、電機(jī)在較高速或大慣量負(fù)載時(shí),一般不在工作速度起動(dòng),而采用逐漸升頻提速,一電機(jī)不失步,二可以減少噪音同時(shí)可以提高停止的定位精度。 6、高精度時(shí),應(yīng)通過機(jī)械減速、提高電機(jī)速度,或采用高細(xì)分?jǐn)?shù)的驅(qū)動(dòng)器來解決,也可以采用5相電機(jī),不過其整個(gè)系統(tǒng)的價(jià)格較貴,生產(chǎn)廠家少,其被淘汰的說法是外行話。 7、電機(jī)不應(yīng)在振動(dòng)區(qū)內(nèi)工作,如若必須可通過改變電壓、電流或加一些阻尼的解決。 8、電機(jī)在600PPS(0.9度)以下工作,應(yīng)采用小電流、大電感、低電壓來驅(qū)動(dòng)。 9、應(yīng)遵循先選電機(jī)后選驅(qū)動(dòng)的原則。最好采用同一生產(chǎn)廠家的控制器、驅(qū)動(dòng)器和電機(jī)。 10、應(yīng)注重可靠性而輕性能、重品質(zhì)而輕價(jià)格。 機(jī)電產(chǎn)品網(wǎng) 供稿 步進(jìn)電機(jī)調(diào)速實(shí)驗(yàn)報(bào)告 班級(jí): xx 姓名: xx 學(xué)號(hào): xxx 指導(dǎo)老師: xx 步進(jìn)電機(jī)調(diào)速實(shí)驗(yàn)報(bào)告 一、實(shí)驗(yàn)?zāi)康募耙螅?/p> 1、熟悉步進(jìn)電機(jī)的工作原理 2、熟悉51系列單片機(jī)的工作原理及調(diào)試方法 3、設(shè)計(jì)基于51系列單片機(jī)控制的步進(jìn)電機(jī)調(diào)速原理圖(要求實(shí)現(xiàn)電機(jī)的速度反饋測量,測量方式:數(shù)字測量) 4、實(shí)現(xiàn)51系列單片機(jī)對(duì)步進(jìn)電機(jī)的速度控制(步進(jìn)電機(jī)由實(shí)驗(yàn)中心提供,具體型號(hào) 42BYG)由按鈕控制步進(jìn)電機(jī)的啟動(dòng)與停止;實(shí)現(xiàn)加速、勻速、和減速控制。速度設(shè)定由鍵盤設(shè)定,步進(jìn)電機(jī)的反饋速度由LED數(shù)碼管顯示。 二、實(shí)驗(yàn)原理: 1.一般電動(dòng)機(jī)都是連續(xù)旋轉(zhuǎn),而步進(jìn)電動(dòng)卻是一步一步轉(zhuǎn)動(dòng)的,故叫步進(jìn)電動(dòng)機(jī)。步進(jìn)電機(jī)是數(shù)字控制電機(jī),它將脈沖信號(hào)轉(zhuǎn)變成角位移,即給一個(gè)脈沖信號(hào),步進(jìn)電機(jī)就轉(zhuǎn)動(dòng)一個(gè)角度,因此非常適合于單片機(jī)控制。步進(jìn)電動(dòng)機(jī)的轉(zhuǎn)子為多極分布,定子上嵌有多相星形連接的控制繞組,由專門電源輸入電脈沖信號(hào),每輸入一個(gè)脈沖信號(hào),步進(jìn)電動(dòng)機(jī)的轉(zhuǎn)子就前進(jìn)一步。由于輸入的是脈沖信號(hào),輸出的角位移是斷續(xù)的,所以又稱為脈沖電動(dòng)機(jī)。隨著數(shù)字控制系統(tǒng)的發(fā)展,步進(jìn)電動(dòng)機(jī)的應(yīng)用將逐漸擴(kuò)大。 進(jìn)電動(dòng)機(jī)需配置一個(gè)專用的電源供電,電源的作用是讓電動(dòng)機(jī)的控制繞組按照特定的順序通電,即受輸入的電脈沖控制而動(dòng)作,這個(gè)專用電源稱為驅(qū)動(dòng)電源。步進(jìn)電動(dòng)機(jī)及其驅(qū)動(dòng)電源是一個(gè)互相聯(lián)系的整體,步進(jìn)電動(dòng)機(jī)的運(yùn)行性能是由電動(dòng)機(jī)和驅(qū)動(dòng)電源兩者配合所形成的綜合效果。2.對(duì)驅(qū)動(dòng)電源的基本要求 (1)驅(qū)動(dòng)電源的相數(shù)、通電方式和電壓、電流都要滿足步進(jìn)電動(dòng)機(jī)的需要;(2)要滿足步進(jìn)電動(dòng)機(jī)的起動(dòng)頻率和運(yùn)行頻率的要求;(3)能最大限度地抑制步進(jìn)電動(dòng)機(jī)的振蕩;(4)工作可靠,抗干擾能力強(qiáng);(5)成本低、效率高、安裝和維護(hù)方便。3.驅(qū)動(dòng)電源的組成 步進(jìn)電動(dòng)機(jī)的驅(qū)動(dòng)電源基本上由脈沖發(fā)生器、脈沖分配器和脈沖放大器(也稱功率放大器)三部分組成,三、實(shí)驗(yàn)源程序: /*************** writer:shopping.w ******************/ #include } void SETP_MOTOR_FFW(uchar n){ uchar i,j;while(ms--){ for(i=0;i<120;i++);} for(i=0;i<5*n;i++){ for(j=0;j<8;j++) { if(K3 == 0)break; P1 = FFW[j]; DelayMS(25); } } } void SETP_MOTOR_REV(uchar n){ uchar i,j;for(i=0;i<5*n;i++){ for(j=0;j<8;j++) { if(K3 == 0)break; P1 = REV[j]; DelayMS(25); } } } void main(){uchar N = 3;while(1){if(K1 == 0) {P0 = 0xfe; SETP_MOTOR_FFW(N);if(K3 == 0)break; } } } else if(K2 == 0){ P0 = 0xfd; } else { P0 = 0xfb;} P1 = 0x03;SETP_MOTOR_REV(N);if(K3 == 0)break;4 四、實(shí)驗(yàn)心得: 本次實(shí)驗(yàn)讓我了解了步進(jìn)電動(dòng)機(jī)的工作原理,掌握了怎樣用單片機(jī)編程來控制步進(jìn)電機(jī)的正反轉(zhuǎn)及調(diào)速。通過這次實(shí)驗(yàn),我更加深刻的認(rèn)識(shí)到將單片機(jī)編程知識(shí)應(yīng)用到實(shí)踐中的重要性。同時(shí),在理論知識(shí)方面,我還有很多欠缺。在以后的學(xué)習(xí)中要注意實(shí)踐性,不能只滿足于理論知識(shí)。第二篇:單片機(jī)課程設(shè)計(jì)任務(wù)書(步進(jìn)電機(jī)控制)
第三篇:步進(jìn)電機(jī)實(shí)驗(yàn)報(bào)告
第四篇:步進(jìn)電機(jī)簡介
第五篇:步進(jìn)電機(jī)實(shí)驗(yàn)報(bào)告