【正文】
//判斷按鍵是否松開 } }/**************************調(diào)速范圍控制函數(shù)************************/// 功能:調(diào)速范圍控制在2599 r/min,防止步進(jìn)電機因速度太高發(fā)生失步void speedrange(void) { if(speedflag=25) speedflag=25。0xf0。 state=1。 //判斷按鍵是否松開 } P1=0xfb。0xf0。 break。0xf0。 zf=0。i++) //發(fā)送4位數(shù)據(jù) { SBUF=table[dispbuf[i]]。 //顯示緩沖區(qū)unsigned char key。論文雖然完成了系統(tǒng)的設(shè)計,但由于開發(fā)經(jīng)驗不足,系統(tǒng)一定存在不妥之處,尤其是步進(jìn)電機的應(yīng)用方面有待進(jìn)一步的研究和探討。=20個脈沖,設(shè)轉(zhuǎn)速為N,則每分鐘需要的脈沖個數(shù)為20N個脈沖,每個脈沖的周期為 (單步時間)【18】: T=1/20N(min)=60/20N(s)=601000000/20N(us)=3000000/N(us)定時器T0的定時時間為:T1=T/2T0的計數(shù)初值:Tx=65536foscT1/12 =6553612T1/12 =65536T/2 =655361500000/N由上式可以算出每個轉(zhuǎn)速對應(yīng)T0的計數(shù)初值,例如轉(zhuǎn)速為25 r/min時對應(yīng)的T0的計數(shù)初值為Tx=655361500000/25=5536;轉(zhuǎn)速為99 r/min時對應(yīng)的T0計數(shù)初值為Tx=655361500000/99=50384;其它轉(zhuǎn)速對應(yīng)T0的計數(shù)初值如附錄B所示。這樣在執(zhí)行寫SBUF寄存器操作后,通過查詢TI標(biāo)志來確定發(fā)送過程是否完成,當(dāng)發(fā)送完成后需要將TI清零,以便輸出新的串行數(shù)據(jù)【17】。 主程序工作流程圖。當(dāng)步數(shù)為0時,步進(jìn)電機停止運行。應(yīng)用系統(tǒng)種類繁多,應(yīng)用軟件各不相同,但是一個優(yōu)秀的應(yīng)用系統(tǒng)應(yīng)具有下列特點【15】:(1)軟件結(jié)構(gòu)清楚、簡潔、流程合理。 數(shù)碼管顯示電路 外部復(fù)位電路設(shè)計MCS51系列單片機采用高電平復(fù)位方式,為保證CPU內(nèi)部各單元電路可靠復(fù)位,RST引腳的復(fù)位脈沖高電平維持時間必須大于2個機器周期(即24個振蕩周期)。用74LS164的clk端作為環(huán)形脈沖分配器的CP脈沖信號輸入端,加減計數(shù)控制端作為正反轉(zhuǎn)控制信號輸入端。 系統(tǒng)硬件框圖 主要元件的選擇 單片機的選擇隨著微電子工藝水平的提高,近十年來單片微型計算機有了飛速的發(fā)展。的步進(jìn)電機,從供料站到加工站的距離為470mm,需要總的脈沖個數(shù)為1709個【11】。這種方法的優(yōu)點是減少占用CPU的時間,提高控制系統(tǒng)的效率和實時處理能力。由于步進(jìn)電機的速度正比于脈沖頻率,控制步進(jìn)電機的速度實際上就是控制脈沖頻率。由此可見,一個靜止的步進(jìn)電機不可能一下子穩(wěn)定到較高的工作頻率,必須在啟動的瞬間采取加速的措施。由于旋轉(zhuǎn)電動勢基本上與電動機轉(zhuǎn)速成正比,轉(zhuǎn)速越高,電動勢越大,繞組電流越小,從而使電動機輸出轉(zhuǎn)矩也隨著轉(zhuǎn)速升高而下降。當(dāng)步進(jìn)電機截止時,若通過二極管的初始電流為額定電流In,即In=U/R則晶體管集—射極間的壓降為Uce=U+RsIn=U(1+Rs/R)這樣為使UceUcer則 RsR(Ucer/U-1) 二極管—電阻續(xù)流回路 負(fù)載曲線由以上分析可知續(xù)流電路的特點如下:(1) 斷電相的磁場能量總是消耗在回路的電阻上,其中包括電動機繞組自身的電阻。當(dāng)步進(jìn)電機下一相導(dǎo)通時,斷電相繞組中的衰減電流對步進(jìn)電機起制動作用。由于勵磁狀態(tài)是按運行拍數(shù)循環(huán)的,所以存儲器輸出的狀態(tài)也必須按拍數(shù)循環(huán)出現(xiàn),這就要求計數(shù)器是可逆計數(shù)器,同時計數(shù)長度是運行循環(huán)拍數(shù)的整數(shù)倍。如果全部用硬件來搭成,結(jié)構(gòu)是相當(dāng)復(fù)雜的,不能滿足步進(jìn)電機驅(qū)動系統(tǒng)的需要,為此提出一種用EPROM搭建的環(huán)形分配器,以滿足不同的要求。六拍運行方式與雙三拍相同,由一個通電狀態(tài)轉(zhuǎn)變?yōu)榱硪煌姞顟B(tài)時,也總有一相繼續(xù)保持通電,同樣具有電磁阻尼作用,工作也比較平穩(wěn)。上述三相三拍運行,表示三種通電狀態(tài)為一個循環(huán),即三次通電狀態(tài)改變后,又恢復(fù)到起始狀態(tài),一拍對應(yīng)轉(zhuǎn)子轉(zhuǎn)過的角度稱為步距角,通常用θs表示,176。 課題的主要研究內(nèi)容步進(jìn)電機的工作原理通過查閱文獻(xiàn)對步進(jìn)電機的單拍運行、雙拍運行、單雙拍運行等各種運行方式進(jìn)行研究,深入了解各種運行方式的特點和對步進(jìn)電機控制性能的影響。關(guān)鍵詞:步進(jìn)電機控制系統(tǒng);調(diào)速;單片機Based on AT89C51 Singlechip ComputerStepping Motor Control SystemAbstractStepping motor is a kind of digital control system ponents. It can achieve quick startup, positive inversion, stopping and speed control, according to the control pulse. It has high precision step angle, and can be selflocking when it keeps still. As these characteristics, stepping motor in automatic control system, especially in the open loop control system has been widely applied.This article mainly focuses on taking Singlechip Computer and cycle pulse distributor as the core, and designing the stepping motor control system. Through the design of the software and hardware debugging, it realizes controlling the step motor’s acceleration and deceleration automatically, according to parameter setting. Making the system arrive the end point with the shortest time, but not occur outing of step. Besides it can accurately achieve startup, positive inversion and shutdown. Hardware takes AT89C51 as the core of control circuit, mainly including: cycle pulse distributor, keyboard and display circuit, stepping motor driving circuit, etc. Software part adopts the C language programming, mainly including keyboard and display program, stepping motor speed control program, stop judging program, etc.Key words: Stepping motor control system。此外,一般步進(jìn)電機對空載最高啟動頻率都是有所限制的。 本章小結(jié)本章首先介紹了課題研究的背景,提出設(shè)計的思路。即每步轉(zhuǎn)過的步距角為30176。步距角θs可由式(11)求得【3】θs=360176。計數(shù)器的計數(shù)長度應(yīng)等于步進(jìn)電機運行一個周期的拍數(shù)或拍數(shù)的整數(shù)倍,計數(shù)器的輸出端接到EPROM的地址線上,并且使EPROM總是處于讀出的狀態(tài),這樣計數(shù)器的每個計數(shù)狀態(tài)都對應(yīng)存儲器的一個地址,存儲器的輸出端就對應(yīng)步進(jìn)電機的一種勵磁狀態(tài)。軟件方法的優(yōu)點是節(jié)省硬件,降低系統(tǒng)的成本,且更改靈活,有利于系統(tǒng)的小型化,其主要的缺點是占用CPU時間較多,降低系統(tǒng)的響應(yīng)速度。晶體管上的管壓降將隨Ldi/dt正比的增加,這個峰值電壓的大小可能會超過一個晶體管的最大耐壓U,造成晶體管損壞。步進(jìn)電機的驅(qū)動電路應(yīng)該既要保證繞組有足夠的電壓電流,同時又要保證驅(qū)動級功率器件的安全運行,另外還應(yīng)有較高的效率、較小的功耗和較低的成本。驅(qū)動器可以用大功率復(fù)合管,也可以是專門的驅(qū)動器。這樣步進(jìn)電機便可以以最快的速度走完所規(guī)定的步數(shù),而又不發(fā)生失步的現(xiàn)象。步進(jìn)電機的加減速控制技術(shù)是步進(jìn)電機控制中的一項關(guān)鍵技術(shù),它直接影響步進(jìn)電機運行的平穩(wěn)性、升降速的快慢、定位精度等性能,從而決定了步進(jìn)電機控制系統(tǒng)的綜合性能。搬運站的功能是向各個工作單元輸送工件,每完成一道工序就把工件送給下一個工作站,等加工站完成后再將工件送到裝配站和分揀站整個自動生產(chǎn)線的加工過程就完成。第三章 控制系統(tǒng)硬件設(shè)計 硬件系統(tǒng)設(shè)計原則系統(tǒng)的擴展和模塊設(shè)計應(yīng)遵循下列原則【12】:(1)盡可能選擇標(biāo)準(zhǔn)化、模塊化的典型電路,提高設(shè)計的成功率和結(jié)構(gòu)的靈活性。(4) 可在0~24MHz的晶振頻率范圍內(nèi)可靠工作,加快了系統(tǒng)的工作速度,可用在某些高速實時處理控制系統(tǒng)中。接收來自控制器的CP脈沖和方向電平是環(huán)形脈沖分配器的最基本功能。當(dāng)VCC=0時,VCC端與地等電位,電容C通過VD迅速放電。各個功能程序運行狀態(tài)、運行結(jié)果以及運行要求都設(shè)置狀態(tài)標(biāo)志以便查詢,程序的轉(zhuǎn)移、運行、控制都可通過狀態(tài)標(biāo)志條件來控制。(2)鍵盤掃描及按鍵處理?!?6】。由于系統(tǒng)所需的按鍵數(shù)較多,為減少鍵盤電路占用I/O引腳數(shù)目,故采用矩陣鍵盤。第五章 結(jié)束語經(jīng)過幾個月的努力,終于完成了基于AT89C51單片機的步進(jìn)電機控制系統(tǒng)軟硬件的研究和設(shè)計。 //9699 r/minbit state。/******************************位交換函數(shù)**************************///用于從鍵盤輸入步數(shù)時,每輸入一個數(shù)就將高低位進(jìn)行交換并送入顯示緩區(qū)void change(unsigned char *p,unsigned char count) { while(count0) { *(p+count)=*(p+count1)。 TL0=(6553660000) % 256。(key10)) //判斷按鍵是否為數(shù)字按鍵 { if(keycount4) { change(dispbuf,keycount)。0xf0。 default: //多個按鍵同時按下時該次按鍵無效 key=20。 break。 temp=P1。 default: //多個按鍵同時按下時該次按鍵無效 key=20。 //正轉(zhuǎn)指示燈亮 led2=0。 //步數(shù)大于100加速 speedrange()。 //反轉(zhuǎn)控制信號 break。 temp=tempamp。 switch(temp) { case 0xe0: //8 key=8。 break。 temp=tempamp。 temp=tempamp。 temp=P1。 //允許T0、INT0和INT1中斷 rest=0。i120。 //反轉(zhuǎn)指示燈sbit led3=P2^2。系統(tǒng)以AT89C51單片機為控制核心,并設(shè)計相應(yīng)的接口電路,包括環(huán)形脈沖分配器、鍵盤電路、顯示電路、步進(jìn)電機的驅(qū)動電路等。通過控制脈沖個數(shù)即可以控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;由于步進(jìn)電機的速度與脈沖頻率成正比關(guān)系,通過控制脈沖頻率就可以控制步進(jìn)電機轉(zhuǎn)動的速度。 由于設(shè)計中用一塊單片機進(jìn)行控制,資源有限,故使用串行接法。T0的中斷服務(wù)程序主要用于根據(jù)步數(shù),產(chǎn)生一個頻率可以改變的脈沖信號,調(diào)節(jié)步進(jìn)電機的加減速過程。本系統(tǒng)軟件設(shè)計主要包括主程序,定時器T0啟動程序,調(diào)速程序,鍵盤顯示程序,停止判斷程序。步進(jìn)電機的加減速控制,可以提高步進(jìn)電機的響應(yīng)速度、平穩(wěn)性和定位精度等性能,從而決定了步進(jìn)電機控制系統(tǒng)的綜合性能。為了提高系統(tǒng)的響應(yīng)速度,本文采用硬件設(shè)計環(huán)形脈沖分配器。Intel 2716是2K8的EPROM存儲器。(4)可靠性及抗干擾性設(shè)計是硬件系統(tǒng)設(shè)計不可缺少的部分,它包括芯片、器件選擇,去耦濾波等。整個加減速的控制,如本文所述的步進(jìn)電機加減速控制。具體地說,就是均勻地增加或減少延時程序中延時時間常數(shù)。加速時的起始速度應(yīng)該等于或略小于系統(tǒng)的極限起動頻率,而不是從零開始。因此要求步進(jìn)電機的速度盡可能快一些,但如果速度太快,則可能發(fā)生失步。繞組通電時電流上升率受到限制,因而影響電動機繞組電流的大小。當(dāng)繞組斷電時,繞組電勢極性反向,二極管處于正向?qū)ǖ臓顟B(tài),為電流提供一個續(xù)流回路,二極管把功放管的集射極電壓鉗位到電源電壓+U。四相步進(jìn)電機按照通電順序的不同,可分為單四拍、雙四拍、八拍三種工作方式。一種線路可以實現(xiàn)多種勵磁狀態(tài)方式的分配,只要在不同的地址區(qū)域存儲不同的狀態(tài)