能夠根據(jù)輸入的指令和數(shù)據(jù),使生產(chǎn)機(jī)械按預(yù)定的工作順序、運(yùn)動(dòng)軌跡、運(yùn)動(dòng)距離和運(yùn)動(dòng)速度等規(guī)律完成工作的自動(dòng)控制,稱為數(shù)字程序控制。
數(shù)字程序控制主要應(yīng)用于機(jī)床的自動(dòng)控制,采用數(shù)字程序控制的機(jī)床稱為數(shù)控機(jī)床。數(shù)控機(jī)床能夠加工形狀復(fù)雜的零件、加工精度高、生產(chǎn)效率高,而且易于改換加工品種,因此是機(jī)床自動(dòng)化的一個(gè)重要發(fā)展方向。
目前,數(shù)字程序控制系統(tǒng)都是以計(jì)算機(jī)為核心組成的,它包括輸入裝置、輸出裝置、插補(bǔ)器和控制器等部分。輸入裝置把預(yù)先編制好的程序指令與數(shù)據(jù)錄入系統(tǒng),這些程序指令與數(shù)據(jù)規(guī)定了生產(chǎn)機(jī)械的工作順序、運(yùn)動(dòng)軌跡、運(yùn)動(dòng)距離和運(yùn)動(dòng)速度等。插補(bǔ)器就是計(jì)算機(jī)內(nèi)的一段程序,用于完成插補(bǔ)運(yùn)算,即根據(jù)輸入的基本數(shù)據(jù)(如直線的起點(diǎn)、終點(diǎn)坐標(biāo),圓弧的圓心、起點(diǎn)、終點(diǎn)坐標(biāo)等),計(jì)算加工的曲線或曲面上的其他點(diǎn)的坐標(biāo)。輸出裝置根據(jù)插補(bǔ)運(yùn)算結(jié)果向執(zhí)行機(jī)構(gòu)發(fā)出控制指令,從而使生產(chǎn)機(jī)械能夠沿預(yù)定的軌跡運(yùn)動(dòng)。控制器協(xié)調(diào)系統(tǒng)的各個(gè)部分,使其有條不紊地工作。采用數(shù)字程序控制的機(jī)床原理見(jiàn)圖1。
圖1 數(shù)控機(jī)床原理框圖
1. 數(shù)字插補(bǔ)算法
實(shí)現(xiàn)插補(bǔ)運(yùn)算的方法很多,有逐點(diǎn)比較插補(bǔ)方法、數(shù)字積分插補(bǔ)方法、時(shí)間分割插補(bǔ)方法和樣條插補(bǔ)方法等,其中逐點(diǎn)比較插補(bǔ)方法(簡(jiǎn)稱逐點(diǎn)比較法)應(yīng)用最廣,在此予以專門(mén)討論。
所謂逐點(diǎn)比較插補(bǔ),就是在每次進(jìn)給(即“走步”)前,首先通過(guò)計(jì)算判斷加工點(diǎn)(即“動(dòng)點(diǎn)”)是否在預(yù)定的軌跡上及相對(duì)于預(yù)定軌跡的位置,然后據(jù)此決定進(jìn)給方向。由于這種方法每走一步就需比較、判斷一次,即走一步看一步,所以稱為逐點(diǎn)比較法。
逐點(diǎn)比較法是以矩形折線來(lái)逼近規(guī)定的軌跡的,插補(bǔ)出的軌跡與預(yù)定軌跡之間的最大誤差為一個(gè)脈沖當(dāng)量(即一個(gè)步進(jìn)脈沖對(duì)應(yīng)的運(yùn)動(dòng)位移,也即所謂“走一步”的位移),因此只要使脈沖當(dāng)量足夠小,即可滿足加工精度要求。
雖然數(shù)控機(jī)床加工的零件可能各種各樣,但大部分的零件圖形都可由直線和圓弧兩種插補(bǔ)得到,據(jù)統(tǒng)計(jì),由直線和圓弧組成輪廓的零件占機(jī)械加工零件的70%以上,因此本節(jié)以直線和圓弧的插補(bǔ)為例說(shuō)明逐點(diǎn)比較法原理。
⑴ 直線逐點(diǎn)比較法插補(bǔ)
① 直線插補(bǔ)計(jì)算原理
不失一般性,假定要加工第一象限內(nèi)從坐標(biāo)原點(diǎn)開(kāi)始的一條直線oe,終點(diǎn)e的坐標(biāo)為(xe,ye)。若當(dāng)前加工點(diǎn)m(xm,ym)在直線oe上,則有
ym/xm=ye/xe (1)
或者
ymxe-xmye=0 (2)
因此我們定義
fm=ymxe-xmye (3)
并稱fm為直線逐點(diǎn)比較插補(bǔ)的誤差函數(shù)。
圖2 第一象限直線插補(bǔ)原理
從圖2可知,若加工點(diǎn)在直線oe上方,如圖中m1點(diǎn),則相應(yīng)的誤差函數(shù)值fm1>0,應(yīng)使加工點(diǎn)沿+x軸方向進(jìn)給一步;若加工點(diǎn)在直線oe下方,如圖中m2點(diǎn),則相應(yīng)誤差函數(shù)值下fm2<0,應(yīng)使加工點(diǎn)沿+y軸方向進(jìn)給一步;若加工點(diǎn)在直線oe上,如圖中m點(diǎn),則相應(yīng)的誤差函數(shù)值fm=0,這時(shí)既可以沿+x軸方向進(jìn)給、也可沿+y軸方向進(jìn)給,我們規(guī)定沿+x軸方向進(jìn)給一步。
在上述直線補(bǔ)方法中,計(jì)算誤差函數(shù)fm時(shí),需要進(jìn)行兩次乘法和一次減法,其計(jì)算量還可以進(jìn)一步簡(jiǎn)化。
設(shè)加工第i步時(shí),動(dòng)點(diǎn)坐標(biāo)為(xi,yi)。若計(jì)算得fi≥0,表明加工點(diǎn)在直線oe上或在oe的上方,本步應(yīng)沿+x軸方向進(jìn)給,則第i+1步的坐標(biāo)為(xi+1=xi+1,yi+1=yi),第i+1步的誤差函數(shù)為
fi+1=yi+1xe-xi+1ye=yixe-xiye-ye=fi-ye (4)
若計(jì)算得fi<0,表明加工點(diǎn)在直線oe的下方,本步應(yīng)沿+y軸方向進(jìn)給,則第i+1步的坐標(biāo)為(xi+1=xi,yi+1=yi+1),第i+1步的誤差函數(shù)為
fi+1=yi+1xe-xi+1ye=yixe-xiye+xe=fi+xe ?。?)
上兩式給出了誤差函數(shù)的遞推算法,由于加工初始點(diǎn)在原點(diǎn),它在直線oe上,所以遞推初值f0=0。
插補(bǔ)運(yùn)算應(yīng)該解決的另一個(gè)問(wèn)題是終點(diǎn)判別。當(dāng)?shù)毒叩竭_(dá)終點(diǎn)(xe,ye)時(shí),必須自動(dòng)停止進(jìn)給。因此,在插補(bǔ)過(guò)程中,每走一步都要判斷是否到達(dá)加工終點(diǎn),并根據(jù)判別結(jié)果決定是繼續(xù)進(jìn)行插補(bǔ)與加工。逐點(diǎn)比較法終點(diǎn)判別方法很多,這里僅介紹一種簡(jiǎn)單且常用的方法,其過(guò)程為:①設(shè)置一個(gè)計(jì)數(shù)器∑,開(kāi)始加工前,使∑的初值為x軸和y軸應(yīng)該進(jìn)給的總步數(shù)之和(xe+ye);②進(jìn)行插補(bǔ)時(shí),x軸或y軸方向每進(jìn)給一步,均使計(jì)數(shù)器∑的值減1;③∑減到零就表明到達(dá)加工終點(diǎn),否則繼續(xù)加工。
綜上所述,直線逐點(diǎn)比較法插補(bǔ)時(shí),每走一步,都要進(jìn)行以下四個(gè)步驟:
(a) 誤差判別 判斷誤差函數(shù)fi是大于等于零、還是小于零,以便決定下一步的處理;
(b) 坐標(biāo)進(jìn)給 根據(jù)直線所在象限及誤差判別的結(jié)果,決定進(jìn)給方向,并向執(zhí)行機(jī)構(gòu)發(fā)出進(jìn)給指令(即進(jìn)給脈沖);
(c) 誤差計(jì)算 發(fā)出進(jìn)給指令后,計(jì)算新的加工點(diǎn)的誤差函數(shù)fi+1,供下一插補(bǔ)循環(huán)使用;
(d) 終點(diǎn)判斷 進(jìn)給一步后,應(yīng)對(duì)總步數(shù)計(jì)數(shù)器執(zhí)行減1操作,并判斷是否到達(dá)終點(diǎn)。如果未到達(dá)終點(diǎn),則轉(zhuǎn)至第(1)步繼續(xù)插補(bǔ);否則,就停止插補(bǔ)運(yùn)算和進(jìn)給。
② 直線逐點(diǎn)比較法插補(bǔ)舉例
按照?qǐng)D3所給算法插補(bǔ)第一象限的直線oe,終點(diǎn)e的坐標(biāo)為(6,5),加工點(diǎn)的運(yùn)動(dòng)軌跡見(jiàn)圖8.21。
圖3 第一象限直線插補(bǔ)軌跡
③ 四象限直線逐點(diǎn)比較法插補(bǔ)計(jì)算
第2~4象限內(nèi)的由坐標(biāo)原點(diǎn)出發(fā)的直線的插補(bǔ)運(yùn)算,可由第一象限插補(bǔ)公式得到。
圖4 四象限直線插補(bǔ)誤差函數(shù)與進(jìn)給方向
⑵ 圓弧逐點(diǎn)比較法插補(bǔ)
① 圓弧插補(bǔ)計(jì)算原理
不失一般性,假定要加工第一象限內(nèi)以坐標(biāo)原點(diǎn)為圓心的圓弧ab,圓弧起點(diǎn)坐標(biāo)a(xa,ya)、終點(diǎn)坐標(biāo)為b(xb,yb),這是一個(gè)逆時(shí)針圓弧,簡(jiǎn)稱為逆圓。
圖5 第一象限逆圓插補(bǔ)原理
由所給條件知,圓弧半徑r滿足
(6)
設(shè)當(dāng)前加工點(diǎn)為i(xi,yi),定義圓弧插補(bǔ)的誤差函數(shù)為
?。?)
這樣,fi=0,表明加工點(diǎn)i在圓弧上;fi>0,表明加工點(diǎn)i在圓弧外;fi<0,表明加工點(diǎn)i在圓弧內(nèi)。若規(guī)定fi=0時(shí),向-x軸方向進(jìn)給,為了逼近圓弧,則有:
向-x軸方向進(jìn)給的條件為fi≥0
向+y軸方向進(jìn)給的條件為fi<0
逐點(diǎn)比較插補(bǔ)圓弧的終點(diǎn)判別方法與直線插補(bǔ)相同,不予贅述。
為簡(jiǎn)化計(jì)算工作,下面推導(dǎo)第一象限逆圓插補(bǔ)的誤差函數(shù)計(jì)算的遞推公式。設(shè)加工第i步時(shí),動(dòng)點(diǎn)的坐標(biāo)為i(xi,yi)。若fi≥0,本步應(yīng)沿-x軸方向進(jìn)給,則第i+1步的坐標(biāo)為(xi+1=xi-1,yi+1=yi),第i+1步的誤差函數(shù)為
?。?)
若fi<0,本步應(yīng)沿+y軸方向進(jìn)給,則第i+1步的坐標(biāo)為(xi+1=xi,yi+1=yi+1),第i+1步的誤差函數(shù)為
(9)
由于加工初始點(diǎn)a在圓弧上,所以遞推初值f0=0。
從上面分析知,逐點(diǎn)比較法圓弧插補(bǔ)和直線插補(bǔ)的過(guò)程相同,都包含誤差判別、坐標(biāo)進(jìn)給、誤差計(jì)算和終點(diǎn)判斷四個(gè)步驟;差別是計(jì)算公式不同,而且圓弧插補(bǔ)還要計(jì)算加工點(diǎn)坐標(biāo),以供下一步誤差函數(shù)計(jì)算使用。
② 圓弧逐點(diǎn)比較法插補(bǔ)舉例
按照?qǐng)D5所給算法插補(bǔ)第一象限的逆圓ab,起點(diǎn)a的坐標(biāo)為(4,0),終點(diǎn)b的坐標(biāo)為(0,4),圓心在坐標(biāo)原點(diǎn),插補(bǔ)軌跡見(jiàn)圖8.24,插補(bǔ)運(yùn)算過(guò)程見(jiàn)表。
圖6 第一象限逆圓插補(bǔ)軌跡
③ 四象限逐點(diǎn)比較法圓弧插補(bǔ)公式
類似直線插補(bǔ),也可從第一象限圓弧插補(bǔ)公式中,推導(dǎo)出所有象限的逆圓、順圓(順時(shí)針圓弧)的插補(bǔ)運(yùn)算公式和進(jìn)給方向。
2. 步進(jìn)電機(jī)控制
步進(jìn)電機(jī)是計(jì)算機(jī)控制系統(tǒng)常用的執(zhí)行元件,具有快速起停、精確步進(jìn)的特點(diǎn),并可直接采用數(shù)字脈沖信號(hào)控制,而不需要進(jìn)行a/d轉(zhuǎn)換,因而為控制系統(tǒng)的設(shè)計(jì)帶來(lái)極大的方便。
步進(jìn)電機(jī)具有數(shù)字/角度轉(zhuǎn)換器、或串行數(shù)模轉(zhuǎn)換器的功能。在數(shù)控系統(tǒng)中,采用步進(jìn)電機(jī)把計(jì)算機(jī)輸出的脈沖信號(hào)轉(zhuǎn)換為機(jī)械位移。
⑴ 步進(jìn)電機(jī)的工作原理
此處以圖7所示單定子徑向分相式三相步進(jìn)電機(jī)為例,介紹步進(jìn)電機(jī)的工作原理。
圖7 三相步進(jìn)電機(jī)的結(jié)構(gòu)示意圖
在圖7的步進(jìn)電機(jī)中,轉(zhuǎn)子上銑有40個(gè)矩形小齒,齒和槽寬度相等,相鄰兩齒之間的夾角為9°;定子由六個(gè)磁極構(gòu)成,它們均勻地分布在定子的內(nèi)圓周上,相鄰磁極間夾角為60°,相對(duì)的兩個(gè)磁極組成一相,共有a、b、c三相。每個(gè)定子磁極上開(kāi)有4個(gè)槽、5個(gè)齒,齒和槽等寬,相鄰齒間的夾角也是9°。
下面分析步進(jìn)電機(jī)的工作過(guò)程。如果以a相繞組通電(b相、c相不通電)而使轉(zhuǎn)子的某五個(gè)齒與a相定子磁極的齒對(duì)齊為初始狀態(tài),則因a相磁極與b相磁極機(jī)械角度相差120°,而使轉(zhuǎn)子的第120°/9°=13*1/3個(gè)齒(從處在a相磁極中心線上的齒數(shù)起)正對(duì)準(zhǔn)b相磁極,第13個(gè)齒順時(shí)針落后b相磁極的中心線3°,若此時(shí)突然變?yōu)閎相通電、a相和c相不通電,則在磁場(chǎng)力的作用下,轉(zhuǎn)子的第13個(gè)齒要與b相磁極的中心線對(duì)齊,因此轉(zhuǎn)子順時(shí)針轉(zhuǎn)動(dòng)3°。類似地,如果a相通電時(shí),突然變?yōu)閏相通電,則轉(zhuǎn)子逆時(shí)針轉(zhuǎn)動(dòng)3°。通電狀態(tài)的改變可以在任意一相進(jìn)行,因此可以在任一相改變轉(zhuǎn)動(dòng)方向。當(dāng)按a→b→c→a→…的順序輪流使各相通電時(shí),電機(jī)就順時(shí)針旋轉(zhuǎn);若按a→c→b→a→…順序通電,電機(jī)則逆時(shí)針旋轉(zhuǎn)??刂仆姞顟B(tài)改變的頻率,就可以改變電機(jī)的轉(zhuǎn)速。不改變通電相或各相均斷電,步進(jìn)電機(jī)就會(huì)停止轉(zhuǎn)動(dòng)。每改變一次通電狀態(tài),電機(jī)轉(zhuǎn)過(guò)一個(gè)角度,稱電機(jī)走了一步,轉(zhuǎn)過(guò)的角度稱為步距角,上述步進(jìn)電機(jī)的通電方式的步距角為3°。改變定子繞組通電狀態(tài)的方式,稱為步進(jìn)電機(jī)的勵(lì)磁方式。單定子徑向分相式三相步進(jìn)電機(jī)的勵(lì)磁分配方式有三種
① “三相三拍”方式 這就是上面舉例所介紹的方式。這種方式每次只有一相定子繞組通電,穩(wěn)定點(diǎn)附近的切向電磁吸力很小,而轉(zhuǎn)子及其所帶負(fù)載具有一定的轉(zhuǎn)動(dòng)慣量,所以轉(zhuǎn)子不能從一個(gè)穩(wěn)定點(diǎn)平穩(wěn)地轉(zhuǎn)到另一穩(wěn)定點(diǎn),而是要產(chǎn)生較嚴(yán)重的振蕩,在穩(wěn)定點(diǎn)的穩(wěn)定性也不好。
② “三相六拍”方式 這種方式中,通電次序?yàn)閍→ab→b→bc→c→ca→a→…時(shí),電機(jī)順時(shí)針轉(zhuǎn)動(dòng);欲使電機(jī)逆時(shí)針轉(zhuǎn)動(dòng),則通電次序?yàn)閍→ac→c→cb→b→ba→a→…。可以分析出,每次改變通電狀態(tài)時(shí),電機(jī)轉(zhuǎn)動(dòng)的角度為“三相三拍”方式的一半。
③“雙三相三拍”方式 這種方式每次都有兩相通電,即順時(shí)針轉(zhuǎn)動(dòng)的通電次序?yàn)閍b→bc→ca→ab→…,逆時(shí)針轉(zhuǎn)動(dòng)的通電次序?yàn)閍b→ca→bc→ab→…,步距角則與“三相三拍”方式相同,但換相穩(wěn)定性與平衡點(diǎn)的穩(wěn)定性都大大提高。
需要注意的是,步進(jìn)電機(jī)的步進(jìn)速率是有上限的,一般為200步/秒~1000步/秒。如果突然大幅度提高或降低輸入脈沖的頻率,就會(huì)出現(xiàn)步進(jìn)電機(jī)來(lái)不及響應(yīng)而丟失脈沖,導(dǎo)致所謂的“失步”現(xiàn)象,因此,應(yīng)注意使電機(jī)逐漸地加速或減速。
⑵ 步進(jìn)電機(jī)的計(jì)算機(jī)控制
在確定了步進(jìn)電機(jī)的型號(hào)和驅(qū)動(dòng)電路后,計(jì)算機(jī)控制要解決的問(wèn)題主要是轉(zhuǎn)向控制和轉(zhuǎn)速控制。我們以圖8.26所示的三相步電機(jī)的“三相三拍”方式勵(lì)磁為例,說(shuō)明計(jì)算機(jī)如何控制步進(jìn)電機(jī),其原理框圖見(jiàn)圖8。
圖8 步進(jìn)電機(jī)控制原理
圖中,步進(jìn)電機(jī)的輸出控制接口電路的地址為mortor-port,a相、b相、c相定子繞組分別由mortor_port口的d0、d1、d2位控制。di=0(i=0,1,2)則相應(yīng)的相斷電,否則相應(yīng)的相通電。