基于單片機(jī)的步進(jìn)電機(jī)升降速及精度控制研究
黃法恒,劉 利
(上海交通大學(xué),上海200240)
摘要:介紹了單片機(jī)控制步進(jìn)電機(jī)的一般硬件結(jié)構(gòu),在此基礎(chǔ)上提出了三種步進(jìn)電機(jī)升速的實(shí)現(xiàn)方法,最后分析了單片機(jī)定時(shí)誤差對(duì)步進(jìn)控制的影響,并得出了解決辦法。
關(guān)鍵詞:?jiǎn)纹瑱C(jī);步進(jìn)電機(jī);升速曲線;定時(shí)誤差
中圖分類號(hào):tm383. 6 文獻(xiàn)標(biāo)志碼:a 文章編號(hào):1001-6848(2010)03-0095-03
1控制系統(tǒng)硬件
步進(jìn)電機(jī)驅(qū)動(dòng)器的輸入信號(hào)共有三路,分別是:步進(jìn)脈沖輸入信號(hào)cp,電機(jī)運(yùn)轉(zhuǎn)方向控制輸入信號(hào)cw,急停復(fù)位輸入信號(hào)rest。它們通過(guò)單片機(jī)的i/o輸入。當(dāng)輸入信號(hào)對(duì)應(yīng)的單片機(jī)引腳輸出高電平時(shí),對(duì)應(yīng)的三極管工作于飽和狀態(tài)。管壓降極小,輸入信號(hào)可以通過(guò)光耦使驅(qū)動(dòng)器工作;而當(dāng)對(duì)應(yīng)引腳為低電平時(shí),三極管工作于截止區(qū),無(wú)信號(hào)輸出,驅(qū)動(dòng)器對(duì)應(yīng)項(xiàng)關(guān)閉。設(shè)計(jì)中,在外部控制信號(hào)和中斷的控制下,步進(jìn)脈沖由p2.0按照一定的頻率發(fā)出;p2.1高電平時(shí)步進(jìn)電機(jī)順時(shí)針轉(zhuǎn)動(dòng),低電平時(shí)逆時(shí)針轉(zhuǎn)動(dòng);而p2.2高電平時(shí)步進(jìn)電機(jī)鎖緊,低電平時(shí)電機(jī)可以自畝轉(zhuǎn)動(dòng)。
2升降頻方法及其實(shí)現(xiàn)
當(dāng)步進(jìn)電機(jī)帶負(fù)載時(shí)的運(yùn)行頻率低于起動(dòng)頻率時(shí),步進(jìn)電機(jī)能以運(yùn)行頻率直接起動(dòng),并以該頻率連續(xù)運(yùn)行。需要停止的時(shí)候,可以從運(yùn)行頻率直接降到零速。而當(dāng)步進(jìn)電機(jī)的運(yùn)行頻率為負(fù)載啟動(dòng)頻率)或負(fù)載過(guò)大時(shí),易出現(xiàn)丟步或堵轉(zhuǎn)的現(xiàn)象;停止時(shí)頻率過(guò)高,易出現(xiàn)過(guò)沖的現(xiàn)象,造成位置精度降低。因此,需要對(duì)步進(jìn)電機(jī)采用升降頻控制,以使電機(jī)從啟動(dòng)頻率工或者低于啟動(dòng)頻率的某個(gè)合適的值(此值與負(fù)載和步進(jìn)驅(qū)動(dòng)有關(guān))開(kāi)始,逐漸加速升到運(yùn)行頻率,h然后進(jìn)入勻速運(yùn)行。最后的降頻可以看作是升頻的逆過(guò)程。
脈沖通過(guò)單片機(jī)定時(shí)中斷產(chǎn)生,每中斷一次,p2.0引腳電平取反,中斷兩次產(chǎn)生一個(gè)周期的脈沖。調(diào)節(jié)每次定時(shí)器的重裝值,就可以得到相應(yīng)頻率的步進(jìn)脈沖,直至不同的升降頻越線[4-6]。
采用51系列單片機(jī)進(jìn)行升降頻控制時(shí),設(shè)單片機(jī)的晶振頻率;經(jīng)過(guò)丘次升頻達(dá)到目標(biāo)頻率,在第n升頻時(shí)的頻率為f(n)。升速時(shí)各頻率等間距分布,并且定時(shí)器工作在方式1,則此時(shí)定時(shí)器的裝載常數(shù)為:
設(shè)步進(jìn)電機(jī)在f(n)頻率下運(yùn)行時(shí)間為出(與系統(tǒng)要求有關(guān)),則在此頗率下運(yùn)行的步數(shù)為:
為了達(dá)到精確定位的目的,編程時(shí),將頻率f(n)的保持時(shí)間換算為步數(shù),并對(duì)步數(shù)z(n)進(jìn)行計(jì)數(shù)。每次計(jì)滿時(shí),定時(shí)器重裝下一頻率的初值。
升降頻曲線的規(guī)劃以不失步為原則。步進(jìn)電機(jī)常用的升降頻控制方法有三種:
2.1 s型升速曲線
s曲線加減速采用降速與升速對(duì)稱的曲線來(lái)實(shí)現(xiàn)升降速控制。如圖1所示,在步進(jìn)電機(jī)加減速的過(guò)程中,使步進(jìn)電機(jī)在每次加頻率時(shí)均運(yùn)行相同的步數(shù)z(n),即可得到s型升降速曲線。具體來(lái)說(shuō),可以根據(jù)系統(tǒng)要求,計(jì)算出加減速的允許時(shí)間,并進(jìn)一步計(jì)算出每個(gè)加速頻率的允許時(shí)間a,繼而得到各頻率對(duì)應(yīng)的步數(shù)。
這種升速方法的優(yōu)點(diǎn)是升降極快,編程簡(jiǎn)單,且加速是連續(xù)變化的,從而避免了柔性沖擊。由于頻率不斷升高,每個(gè)加速頻率的運(yùn)行時(shí)間血是不斷減小的,加速度是不斷增大的。因此其缺點(diǎn)是負(fù)載力矩較小,在加速過(guò)程中容易產(chǎn)生失步現(xiàn)象。所以此方式在高速、低載荷的情況下應(yīng)用較廣。
2.2直線型升速曲線
如果在步進(jìn)電機(jī)加減速的過(guò)程中,加速度是恒定不變的,則得到直線型升降速曲線。如圖2所示,在直線型升降速曲線中,電機(jī)的運(yùn)行頻率每躍升一個(gè)臺(tái)階,在該頻率下的運(yùn)行時(shí)間at都是相同的。而根據(jù)系統(tǒng)允許的加減速時(shí)間,很容易得到at,進(jìn)而得到每個(gè)頻率下的步數(shù)z(n)。
 < |