步進電機廣泛應(yīng)用于數(shù)控機床、醫(yī)療器械、儀器儀表等各類控制設(shè)備中,它的旋轉(zhuǎn)是以固定的角度一步步運行的,其主要特點是沒有積累誤差,可以做到100%精確控制,所以在各種開環(huán)控制系統(tǒng)有著廣泛的應(yīng)用。步進電機的控制方法有許多種,有集成一體化的獨立控制器形式,也有依附于計算機擴展槽的各種控制卡形式,但對于以微型計算機為核心的小型系統(tǒng)而言,可直接采用微機已有的端口資源,特別是并行端口,實現(xiàn)步進電機的運行控制。這種控制方法,一則無需另增硬件設(shè)備,節(jié)省設(shè)備成本;二是不占用ISA或PCI擴展槽,節(jié)省計算機資源;三是控制靈活,編程方便,不失為一個理想的選擇。
1步進電機的基本控制原理步進電機是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機構(gòu),每輸入一個脈沖信號,電機就轉(zhuǎn)過一定的角度(有的步進電動機可以直接輸出線位移,稱為直線電動機)。由于反應(yīng)式步進電機有較高的性能價格比,應(yīng)用也非常廣泛,因此,本文主要介紹反應(yīng)式步進電機的控制原理和并口控制方法。
以單三拍工作方式為例,步進電機的結(jié)構(gòu)原理圖如所步進電機的基本轉(zhuǎn)動原理是:給處于錯齒處狀態(tài)的相通電,轉(zhuǎn)子會在電磁力的作用下,向磁導率最大(或磁阻最?。┑奈恢棉D(zhuǎn)動,即向趨于對齒的狀態(tài)轉(zhuǎn)動。設(shè)A相首先通電(B、C兩相不通電),產(chǎn)生A-A軸線方向的磁通,并通過轉(zhuǎn)子形成閉合回路。這時A、A極就成為電磁鐵的N、S極。在磁場的作用下,轉(zhuǎn)子總是力圖轉(zhuǎn)到磁阻是小的位置,也就是要轉(zhuǎn)到轉(zhuǎn)子的齒對齊A、A極的位置(a);接著B相通電(A、C兩相不通電),轉(zhuǎn)子順時針方向轉(zhuǎn)過30;然后C相通電(A、兩相不通電),它的齒和C、C'極對齊(c)。
如果按A*…的順序通電,則電機轉(zhuǎn)子便逆時針方向轉(zhuǎn)動。
步進電動機的轉(zhuǎn)動,即其A相、B相、C相控制繞組按照特定的順序通電,需要一個與之相匹配的驅(qū)動電路(如所示),該電路又要受輸入的電脈沖控制,這種電脈沖可以是開關(guān)量,也可以是數(shù)字量,在我們研制的小型計算機控制系統(tǒng)中,這一數(shù)字量由計算機并口給出。由并口輸出一個控制電脈沖,步進電機就走過一步,即轉(zhuǎn)過一個/步距角“,直至按控制要求轉(zhuǎn)到相應(yīng)的設(shè)計角度。因此,步進電動機及其驅(qū)動電路是一個互相聯(lián)系的整體,步進電動機的運行性能是電動機和驅(qū)動電路兩者配合所形成的綜合效果,其轉(zhuǎn)過的角度受外部輸入的電脈沖數(shù)的控制,這就是步進電機的基本控制原理。
2并口的端口定義與設(shè)置并行端口是一般微機的標準接口,共有25芯,能同時通過8條數(shù)據(jù)線傳輸信息,一次傳輸一個字節(jié),通常用于需八位數(shù)據(jù)傳輸?shù)拇蛴C、繪圖儀等多種外設(shè)。通過并口可以進行數(shù)據(jù)輸出,也可以進行數(shù)據(jù)輸入,非常適合于一般的數(shù)字I/O.由于步進電機有極高的轉(zhuǎn)行精度,多工作在開環(huán)控制狀態(tài),因此,可以利用并口的數(shù)據(jù)輸出功能,取代傳統(tǒng)的步進電機控制電路中的脈沖信號發(fā)生器,由程序控制并口產(chǎn)生一個數(shù)字脈沖序列,送于步進電機的驅(qū)動電路,作為電脈沖信號,控制步進電機轉(zhuǎn)動。
位(B1/B3/B5)用于電機的轉(zhuǎn)向控制,賦0值電機順時針轉(zhuǎn)動,賦1值時逆時針轉(zhuǎn)動;低位(B0/B2/B4)用于為電機提供步進驅(qū)動脈沖,該數(shù)據(jù)位以一定的延時間隔,產(chǎn)生一個連續(xù)的1、交替交換的數(shù)字序列。因此,控制3臺步進電機同時順時針轉(zhuǎn)動的控制字為:0X15(1)/0X00(0);3臺電機同時逆時針轉(zhuǎn)動的控制字為:0X3F(1)/0X2A(原理框圖如所示:計算機并口控制系統(tǒng)的脈沖方向電機脈沖方向電機并口的端口設(shè)置是由計算機系統(tǒng)設(shè)置程序自動配置的,初始化過程把并行端口配置成LPT1(對配有一個并口的通用型微機而言),分配了相應(yīng)的中斷資源和不同的數(shù)據(jù)地址,狀態(tài)地址和控制地址:IRQ7、數(shù)據(jù)地址0378H、狀態(tài)地址0379H、控制地址037AH,并口的管腳分配如表1所示。
表1并口的管腳分配管腳標識數(shù)據(jù)位端口管腳標識數(shù)據(jù)位端口管腳標識數(shù)據(jù)位3步進電機的并口控制方法3.1控制系統(tǒng)原理圖本文所探討的步進電機控制系統(tǒng),是筆者設(shè)計的某工業(yè)控制工程的子系統(tǒng),該子系統(tǒng)的設(shè)計要求是:以微型計算機并行端口,控制3臺步進電機,同時完成-45+45、-90+9(1角度轉(zhuǎn)動。設(shè)計采用了并口的數(shù)據(jù)端口,即以0378H為入口地址,給3臺步進電機分配了3對數(shù)據(jù)位用于電機控制,它們分別是:電機A分配B1/B0,電機B分配3.2控制程序設(shè)計方法及流程根據(jù)步進電機的特點,在采用并口對電機進行控制時,主要需要解決好以下幾個問題:步進驅(qū)動脈沖要有一定的寬度。在工程中使用的是美國SHAPHON公司的微型步進電機,該電機采用負脈沖工作方式,對驅(qū)動脈沖的均勻度有一定程度的要求,同時要求脈沖寬度不小于5LS,為此在程序設(shè)計時,運用了延時的方法,使BO/B2/B4輸出的負脈沖寬度和均勻度,達到電機要求。
電機的方向控制脈沖有特殊的要求,即電機換向時,一定要在電機降速停止后再進行。為此,在程序設(shè)計時,使每一次換向的方向控制信號都先于步進驅(qū)動信號,從而可以保證換向信號在前一個方向的最后一個脈沖結(jié)束后,下一個方向的第一個脈沖到來前發(fā)出。
步進電機控制升降速曲線的設(shè)計。由于時間常數(shù)的存在和慣性作用的原因,步進電機從起動到停止,必須要有一個升速、降速過程,升降速的設(shè)計非常重要,如果設(shè)計不當,會引起步進電機的堵轉(zhuǎn)、失步、升降速過程慢等問題。
升速過程由突跳頻率加升速曲線組成,降速的過程與之相反,理想的升降速曲線應(yīng)為指數(shù)曲線,但根據(jù)電機特性及工程實際測試,本系統(tǒng)采用了分段直線逼近的方式,并在電機升到最高頻率時,設(shè)計一個保持高速運轉(zhuǎn)的恒速段,以提高電機動行速度。加、減速控制曲線如所示,F(xiàn)q為起動頻率。
加、減速控制曲線(4)程序執(zhí)行流程??刂瞥绦蛎子昧薒abWAindows/CVI語言,有簡單方便的程序界面。-45+ 45-90+90)角度控制,分別對應(yīng)于四個按鈕控件,并設(shè)有界面退出按鈕,只需點按相關(guān)按鈕即可完成全部操作,使步進電機的控制明快、直觀。各轉(zhuǎn)動角的程序設(shè)計完全通用,主要流程包括:開啟操作界面判斷本按鈕是否被選中若選中則讀入端口地址賦予起始突跳頻率上升段加速控制中段恒速保持下降段減速控制停止后端口清零返回操作界面。整個控制程序經(jīng)過了工程測試和實際應(yīng)用,運轉(zhuǎn)效果良好。相信本文對計算機并行口資源的二次開發(fā)應(yīng)用,可以起到了一定的借鑒作用。
4主要測試程序