TWI397792B - 編碼器回授位置之動態補償裝置及其操作方法 - Google Patents
編碼器回授位置之動態補償裝置及其操作方法 Download PDFInfo
- Publication number
- TWI397792B TWI397792B TW99122193A TW99122193A TWI397792B TW I397792 B TWI397792 B TW I397792B TW 99122193 A TW99122193 A TW 99122193A TW 99122193 A TW99122193 A TW 99122193A TW I397792 B TWI397792 B TW I397792B
- Authority
- TW
- Taiwan
- Prior art keywords
- compensation amount
- compensation
- feedback
- encoder
- amount
- Prior art date
Links
Landscapes
- Transmission And Conversion Of Sensor Element Output (AREA)
- Control Of Electric Motors In General (AREA)
Description
本創作係有關一種編碼器回授位置之補償裝置及其操作方法,尤指一種編碼器回授位置之動態補償裝置及其操作方法。
隨著科技不斷的進步,精密、快速、高解析和高頻寬之系統要求是現今產業界所追求的目標。在許多運用到馬達的產品或設備儀器中都需要速度或位置的控制,如光碟機、印表機、X-Y平台、機械手臂及半導體製程設備…等。如果控制系統可以把速度及位置控制得相當精確及精密的話,所製作出來的產品或設備儀器之品質與特性也會越好,由此可知精密定位控制對現今科技發展的影響是越來越重要。
在伺服控制系統中,位置與速度控制必須回授馬達位置或速度到驅動器。如果要讓控制系統將速度及位置控制的相當精準,我們就需要有一個良好高解析的回授信號,亦即,需要一個高解析度的編碼器。也就是說,編碼器位置解析度的高低與位置解析的正確性將會影響速度的平穩性與最後定位的精度。
由於編碼器所感測出來的信號振幅大小會隨著馬達轉速的不同而有所差異,馬達轉速慢的時候,感測器所感應出來的信號振幅會比較大,而馬達轉速快的時候感測器所感應出來的信號振幅會比較小。因此,現有的高解析編碼器採用內插(interpolation)技術,係利用弦波輸出A、B脈波信號,在比較器前的類比正弦信號(sine)與餘弦(cosine)信號進行內插運算。當編碼器轉動時利用空間上的A、B相位置交錯而在輸出脈波上產生時序上90度的相差,所以可利用A、B兩相波形相互間的超前、落後關係來判斷正轉或反轉,以得到任一時刻的絕對位置訊息,並獲得比傳統方波編碼器更高的位置解析度。惟,A相及B相之正弦波信號會因為發光元件或光接收元件、旋轉體間之組裝誤差、或者是長期變化以及溫度變化,而使兩相之正弦波信號的相位差產生誤差,使得原始的正弦信號與餘弦信號有可能存在大小、相位以及中心準位的誤差,以致使運算得到的內插位置並非完全的線性(亦即,存在相對位置誤差),而造成位置檢測精度變差。
因此,如何設計出一種編碼器回授位置之動態補償裝置及其操作方法,能以應用於伺服控制系統之驅動器驅動馬達以等速旋轉時,由驅動器偵測該編碼器之回授位置,並對該回授位置提供位置誤差之補償,使提高該編碼器回授位置動態補償之準確度,乃為本案創作人所欲行克服並加以解決的一大課題。
為了解決上述問題,本發明係提供一種編碼器回授位置之動態補償裝置,係應用於伺服控制系統之驅動器驅動馬達以等速旋轉時,由驅動器偵測編碼器之回授位置,並對回授位置提供位置誤差之補償。
編碼器回授位置之動態補償裝置係包含補償量計算單元、位置區間判斷單元以及補償量修正單元。
補償量計算單元係包含第一運算單元以及第二運算單元。第一運算單元係接收前置補償量與脈波增量,以計算前置補償量與脈波增量之和。第二運算單元係連接第一運算單元,並接收編碼脈波,以計算前置補償量與脈波增量之和並減去編碼脈波之值,產生區間補償量。
位置區間判斷單元係連接補償量計算單元,並接收區間補償量,根據編碼器回授位置之解析度,以決定區間補償量所在之位置區間。
補償量修正單元係連接位置區間判斷單元,包含第三運算單元、第四運算單元、第五運算單元、第六運算單元以及第七運算單元。第三運算單元係接收第一補償量、第二補償量以及權重百分比,以計算第一補償量與權重百分比之乘積為第一加權補償量,以及第二補償量與權重百分比之乘積為第二加權補償量。第四運算單元係接收權重百分比與大小為1之值,以計算大小為1之值減去權重百分比為輔助權重百分比。第五運算單元係連接第四運算單元,接收輔助權重百分比
與對應於第一補償量與第二補償量所在之位置區間之回授補償量,以計算回授補償量與輔助權重百分比之乘積為回授加權補償量。第六運算單元係分別連接第三運算單元與第五運算單元,接收第一加權補償量、第二加權補償量以及回授加權補償量,以計算第一加權補償量與回授加權補償量之和為第一合成補償量,以及第二加權補償量與回授加權補償量之和為第二合成補償量。第七運算單元係連接第六運算單元,接收第一合成補償量、第二合成補償量以及初始補償量,以分別計算第一合成補償量減去初始補償量為第一修正補償量,以及第二合成補償量減去初始補償量為第二修正補償量。
藉此,以疊代方式累加計算第一修正補償量與第二修正補償量,使驅動器偵測編碼器之回授位置與理想位置之誤差在容許範圍內,使提高編碼器回授位置動態補償之準確度。
為了解決上述問題,本發明係提供一種編碼器之回授位置動態補償方法,係應用於伺服控制系統之驅動器驅動馬達以等速旋轉時,由驅動器偵測編碼器之回授位置,並對回授位置提供位置誤差之補償。
編碼器之回授位置動態補償方法之步驟係包含:首先,根據編碼器之位置,獲得實際回授脈波;然後,比較實際回授脈波與理想回授脈波以計算所需修正之回授補償量;然後,判斷回授補償量所對應之位置區間;最後,以加權方式對回授補償量進行修正。
為了能更進一步瞭解本發明為達成預定目的所採取之技術、手段及功效,請參閱以下有關本發明之詳細說明與附圖,相信本發明之目的、特徵與特點,當可由此得一深入且具體之瞭解,然而所附圖式僅提供參考與說明用,並非用來對本發明加以限制者。
〔本發明〕
10‧‧‧補償量計算單元
102‧‧‧第一運算單元
104‧‧‧第二運算單元
Pc(m-1)‧‧‧前置補償量
X(m)‧‧‧編碼脈波
Pref‧‧‧脈波增量
Pc(m)‧‧‧區間補償量
Lp1‧‧‧第一回授脈波曲線
Lp2‧‧‧第二回授脈波曲線
Pt1‧‧‧第一回授脈波
Pt2‧‧‧第二回授脈波
Pt3‧‧‧第三回授脈波
20‧‧‧位置區間判斷單元
30‧‧‧補償量修正單元
302‧‧‧第三運算單元
304‧‧‧第四運算單元
306‧‧‧第五運算單元
308‧‧‧第六運算單元
310‧‧‧第七運算單元
P(n)‧‧‧第一補償量
P(n+1)‧‧‧第二補償量
W%‧‧‧權重百分比
Pw(n)‧‧‧第一加權補償量
Pw(n+1)‧‧‧第二加權補償量
Wa%‧‧‧輔助權重百分比
Pc(n:n+1)‧‧‧回授補償量
Pca(n:n+1)‧‧‧回授加權補償量
Pwca(n)‧‧‧第一合成補償量
Pwca(n+1)‧‧‧第二合成補償量
P(1)‧‧‧初始補償量
Pm(n)‧‧‧第一修正補償量
Pm(n+1)‧‧‧第二修正補償量
S100~S400‧‧‧步驟
第一圖係本發明編碼器回授位置之動態補償裝置之方塊示意圖;第二圖A係本發明一補償量計算單元之方塊示意圖;第二圖B係本發明該補償量計算單元計算補償量之曲線圖;第三圖係本發明一補償量修正單元之方塊示意圖;第四圖A係本發明該補償量修正單元進行補償量修正之第一狀態示意圖;第四圖B係本發明該補償量修正單元進行補償量修正之第二狀態示意圖;第四圖C係本發明該補償量修正單元進行補償量修正之第三狀態示意圖;第四圖D係本發明該補償量修正單元進行補償量修正之第四狀態示意圖;第五圖A係本發明該補償量修正單元所產生之動態修正補償量與離線補償量之比較波形圖(未刪除偏移量);
第五圖B係本發明該補償量修正單元所產生之動態修正補償量與離線補償量之比較波形圖(刪除偏移量);第五圖C係本發明該補償量修正單元所產生不同權重百分比之動態修正補償量與離線補償量之比較波形圖(刪除偏移量);及第六圖係本發明該編碼器之回授位置動態補償方法之流程圖。
茲有關本創作之技術內容及詳細說明,配合圖式說明如下:請參見第一圖,係為本發明編碼器回授位置之動態補償裝置之方塊示意圖。一種編碼器回授位置之動態補償裝置,係應用於伺服控制系統之驅動器驅動馬達以等速旋轉時,由驅動器偵測該編碼器之回授位置,並對該回授位置提供位置誤差之補償。該編碼器回授位置之動態補償裝置主要係包含一補償量計算單元10、一位置區間判斷單元20以及一補償量修正單元30。此外,該位置區間判斷單元20係連接該補償量計算單元10,並且該補償量修正單元30係連接該位置區間判斷單元20。
配合參見第二圖A,係為本發明一補償量計算單元之方塊示意圖。該補償量計算單元10係包含一第一運算單元102以及一第二運算單元104。其中,該第一運算單元102以及該第二運算單元104係分別為一加減法運算器。該第一運算單元102
係接收一前置補償量Pc(m-1)與一脈波增量Pref,以計算該前置補償量Pc(m-1)與該脈波增量Pref之和。該第二運算單元104係連接該第一運算單元102,並接收一編碼脈波X(m),以計算該前置補償量Pc(m-1)與該脈波增量Pref之和並減去該編碼脈波X(m)之值,產生一區間補償量Pc(m)。其中,該編碼脈波X(m)係為在時間區間內,該編碼器所產生之位置補償量。至於該補償量計算單元10更詳細之操作說明,請參見後文。
配合參見第二圖B,係為本發明該補償量計算單元計算補償量之曲線圖。在此實施例中,係以馬達在等速旋轉過程,取得三個該編碼器之回授位置與對應之補償量為例加以說明。在實際之操作上,係根據該些回授位置與對應之補償量以動態建立該編碼器回授位置之一補償表(compensation table)。當馬達在等速旋轉的情況下,理想上之回授脈波會如同第一回授脈波曲線Lp1,是一條等斜率之直線。並且,在每一時間上,可對應得到該理想之回授脈波,例如,在t1時,可得到一第一回授脈波Pt1;在t2時,可得到一第二回授脈波Pt2;在t3時,可得到一第三回授脈波Pt3…依此類推。此外,因為時間區間固定,所以可以利用斜率算出每個時間區間在理想操作時應該產生之該脈波增量Pref。然而,因為所採用之類比正弦信號(sine)與餘弦(cosine)信號存在著信號的非理想,所以實際上該編碼器之位置回授脈波為一第二回授脈波曲線Lp2。若該編碼器在時間區間t0~t1內產生
一第一編碼脈波X(1),則在該第一回授脈波Pt1上所得到一第一前置補償量Pc(1)係等於該脈波增量Pref減去該第一編碼脈波X(1),亦即Pc(1)=Pref-X(1)。若在時間區間t1~t2內產生一第二編碼脈波X(2),則在該第二回授脈波Pt2上所得到一第二前置補償量Pc(2)係等於該脈波增量Pref減去該第二編碼脈波X(2)再加上該第一前置補償量Pc(1)。也就是計算第二前置補償量Pc(2)時,需累積該第一前置補償量Pc(1),亦即Pc(2)=Pc(1)+Pref-X(2)。同樣地,若在時間區間t2~t3內產生一第三編碼脈波X(3),則在該第三回授脈波Pt3上所得到一第三前置補償量Pc(3)係等於該脈波增量Pref減去該第三編碼脈波X(3)再加上該第二前置補償量Pc(2)。也就是計算第三前置補償量Pc(3)時,需累積該第二前置補償量Pc(2),亦即Pc(3)=Pc(2)+Pref-X(3)。依此類推,若在時間區間t(m-1)~t(m)內產生一第m編碼脈波X(m),則在一第m回授脈波Pt(m)上所得到一第m前置補償量Pc(m)係等於該脈波增量Pref減去該第m編碼脈波X(m),亦即Pc(m)=Pref-X(m)再加上該第m-1前置補償量Pc(m-1)。也就是計算第m前置補償量Pc(m)時,需累積該第m-1前置補償量Pc(m-1),亦即Pc(m)=Pc(m-1)+Pref-X(m)。其中,該脈波增量Pref係為該理想上之回授脈波在每一該固定時間區間之回授脈波差(參見該第一回授脈波曲線Lp1),亦即,Pref=Pt1-Pt0=Pt2-Pt1=Pt3-Pt2。因此,可在馬達等速旋轉過程得到多點的修正量,例如上述之(Pt1,Pc(1))、(Pt2,Pc(2))、(Pt3,Pc(3))、…、(Pt(m),Pc(m)),該
些回授脈波與對應之該些前置補償量係用來動態建立該編碼器回授位置之該補償表(compensation table),用以修正不同回授位置之脈波偏差。
此外,該位置區間判斷單元20係連接該補償量計算單元10,並接收該區間補償量Pc(m),根據該編碼器之回授脈波解析度,以決定該區間補償量Pc(m)所在之指定位置區間。
此外,該補償量修正單元30係連接該位置區間判斷單元20。配合參見第三圖,係為本發明該補償量修正單元之方塊示意圖。該補償量修正單元30係包含一第三運算單元302、一第四運算單元304、一第五運算單元306、一第六運算單元308以及一第七運算單元310。其中該第三運算單元302與該第五運算單元306係分別為一乘法運算器;而該第四運算單元304、該第六運算單元308以及該第七運算單元310係分別為一加減法運算器。
該第三運算單元302係接收一第一補償量P(n)、一第二補償量P(n+1)以及一權重百分比W%,以計算該第一補償量P(n)與該權重百分比W%之乘積為一第一加權補償量Pw(n),以及該第二補償量P(n+1)與該權重百分比W%之乘積為一第二加權補償量Pw(n+1)。亦即,Pw(n)=P(n)×W%;Pw(n+1)=P(n+1)×W%。其中,該其中該第一補償量P(n)與該第二補償量P(n+1)係為該區間補償量Pc(m)所對應之位置區間上之原始補償量。該第四運算單元304係接收該權重百分比W%與一大小為1之值,以計算該大小為1之值減去該權重百分比W%為一輔助權
重百分比Wa%。亦即,Wa%=(1-W%)。值得一提,利用該權重百分比W%與該輔助權重百分比Wa%之不同權重方式,進行補償量之計算,亦即,以權重比例較大方式計算該補償表上之補償量,而以權重比例較小之方式計算所需修正之該位置補償量,以分別累加該補償表之回授脈波位置上所對應之補償量。該權重百分比W%係大於該輔助權重百分比Wa%。其中該權重百分比係為經驗法則得之。
該第五運算單元306係連接該第四運算單元304,接收該輔助權重百分比Wa%與對應於該第一補償量P(n)與該第二補償量P(n+1)所在之位置區間之一回授補償量Pc(n:n+1),以計算該回授補償量Pc(n:n+1)與輔助權重百分比Wa%之乘積為一回授加權補償量Pca(n:n+1)。亦即,Pca(n:n+1)=Pc(n:n+1)×Wa%。該第六運算單元308係分別連接該第三運算單元302與該第五運算單元306,接收該第一加權補償量Pw(n)、該第二加權補償量Pw(n+1)以及該回授加權補償量Pca(n:n+1),以計算該第一加權補償量Pw(n)與該回授加權補償量Pca(n:n+1)之和為一第一合成補償量Pwca(n),以及該第二加權補償量Pw(n+1)與該回授加權補償量Pca(n:n+1)之和為一第二合成補償量Pwca(n+1)。亦即,Pwca(n)=Pw(n)+Pca(n:n+1);Pwca(n+1)=Pw(n+1)+Pca(n:n+1)。該第七運算單元310係連接該第六運算單元308,接收該第一合成補償量Pwca(n)、該第二合成補償量Pwca(n+1)以及一初始補償量P(1),以分
別計算該第一合成補償量Pwca(n)減去該初始補償量P(1)為一第一修正補償量Pm(n),以及該第二合成補償量Pwca(n+1)減去該初始補償量P(1)為一第二修正補償量Pm(n+1)。亦即,Pm(n)=Pwca(n)-P(1);Pm(n+1)=Pwca(n+1)-P(1)。
如此,透過該補償量計算單元10,計算該編碼器回授位置之補償量,亦即得到該區間補償量Pc(m);透過該位置區間判斷單元20,決定該區間補償量Pc(m)所在之位置區間,亦即得到該回授補償量Pc(n:n+1);以及透過該補償量修正單元30,以不同權重方式(該權重百分比W%與該輔助權重百分比Wa%),修正該回授補償量Pc(n:n+1),亦即得到該第一修正補償量Pm(n)與該第二修正補償量Pm(n+1)。藉此,以漸近的方式疊代累加計算該第一修正補償量Pm(n)與該第二修正補償量Pm(n+1),而非直接將該回授補償量Pc(n:n+1)取代原本該第一補償量P(n)與該第二補償量P(n+1),如此,將使該驅動器偵測該編碼器之回授位置與理想位置之誤差在容許範圍內,使提高該編碼器回授位置動態補償之準確度。
根據前文所述,該補償量修正單元30所輸出之該第一修正補償量Pm(n)與該第二修正補償量Pm(n+1)計算如下:Pm(n)=P(n)×W%+Pc(n:n+1)×(1-W%)-P(1); (第1式)
Pm(n+1)=P(n+1)×W%+Pc(n:n+1)×(1-W%)-P(1); (第2
式)
其中,n為回授位置索引,即P(n=1)表示第一回授脈波Pt1之補償量,同理P(n=2)表示第二回授脈波Pt2之補償量…依此類推。該回授補償量Pc(n:n+1)係表示落在第n個回授脈波Pt(n)與第n+1個回授脈波Pt(n+1)間之補償量大小。故此,此補償表之補償量修正方式係為對原補償表之該補償量提供加權之計算。並且,以原本在補償表上之該第一補償量P(n)與該第二補償量P(n+1)採以較大權重百分比計算,亦即,以該權重百分比W%計算;而對該回授補償量Pc(n:n+1)採以較小權重百分比計算,亦即,以該輔助權重百分比Wa%計算。如此,當修正的次數愈多,補償表之補償量愈趨近正確的補償量。至於該補償量修正單元30以不同權重方式修正該回授補償量,進行該補償表之更新計算,將在下文舉例說明。
假設,該編碼器回授位置之動態補償裝置之回授脈波補償週期為20,000刻度。並且,以0刻度為起始回授脈波Pt0,並且,回授脈波之區間為625刻度,因此,可得到該些回授脈波之序列,亦即,該第一回授脈波Pt1為625刻度、該第二回授脈波Pt2為1,250刻度、該第三回授脈波Pt3為1,875刻度…,依此類推,使該一完整之補償週期之最大回授脈波數量為32,因為20,000/625=32,但不以此為限。其中,該最大回授脈波數量係根據該回授脈波之區間大小而決定,亦即,當該回授脈波之區間減小(即提高補償解析度),將使該最大回授脈波數量增加。以此例而言,若該回授脈波之區間為125
刻度,則該最大回授脈波數量將增加為160。此外,在此範例中,該權重百分比W%設定為80%予以說明,亦即,該輔助權重百分比Wa%為20%。
假設,在該第一回授脈波Pt1、該第二回授脈波Pt2以及該第三回授脈波Pt3之原補償量分別為0,0,480(其餘之回授位置,即Pt4~Pt32之原補償量皆為0)。因此,該補償表之初始狀態(#0)如表一所示(配合參見第四圖A,係為本發明該補償量修正單元進行補償量修正之第一狀態示意圖):
假設該編碼器係偵測一回授脈波在該第一回授脈波Pt1與該第二回授脈波Pt2之間(即625刻度與1,250刻度之間),且此回授補償量Pc(n:n+1)為1,200,因此,根據上述之第1式與第2式之更新計算方式,可得:該第一回授脈波Pt1所對應之該第一修正補償量Pm(n)為:0*0.8+1,200*(1-0.8)=240;該第二回授脈波Pt2所對應之該第二修正補償量Pm(n+1)為:0*0.8+1,200*(1-0.8)=240。
也就是說,大小為1,200之該回授補償量Pc(n:n+1)並非直
接取代原本補償表之該第一補償量P(n)與該第二補償量P(n+1),而是以不同權重方式(該權重百分比W%與該輔助權重百分比Wa%),修正該回授補償量Pc(n;n+1),亦即得到該第一修正補償量Pm(n)與該第二修正補償量Pm(n+1),以分別取代所對應之回授脈波上之補償量值,因此,在本例中,修正後之該第一回授脈波Pt1與該第二回授脈波Pt2之補償量值分別增加為240。該補償表之第一次修正狀態(#1)如表二所示(配合參見第四圖B,係為本發明該補償量修正單元進行補償量修正之第二狀態示意圖):
接著,又若有一回授脈波在該第一回授脈波Pt1與該第二回授脈波Pt2之間(即625刻度與1,250刻度之間),且此回授補償量Pc(n:n+1)為1,000,因此,根據上述之第1式與第2式之更新計算方式,可得:該第一回授脈波Pt1所對應之該第一修正補償量Pm(n)為:240*0.8+1,000*(1-0.8)=392;該第二回授脈波Pt2所對應之該第二修正補償量Pm(n+1)為:240*0.8+1,000*(1-0.8)=392。
因此,在本例中,修正後之該第一回授脈波Pt1與該第二回授脈波Pt2之補償量值分別累加為392。該補償表之第二次修正狀態(#2)如表三所示(配合參見第四圖C,係為本發明該補償量修正單元進行補償量修正之第三狀態示意圖):
接著,又若有一回授脈波在該第二回授脈波Pt2與該第三回授脈波Pt3之間(即1,250刻度與1,875刻度之間),回授補償量Pc(n:n+1)為1,000,因此,根據上述之第1式與第2式之更新計算方式,可得:該第二回授脈波Pt2所對應之該第一修正補償量Pm(n)為:392*0.8+1,000*(1-0.8)=513.6;該第三回授脈波Pt3所對應之該第二修正補償量Pm(n+1)為:480*0.8+1,000*(1-0.8)=584。
因此,在本例中,修正後之該第二回授脈波Pt2與該第三回授脈波Pt3之補償量值分別累加為513.6與584。該補償表之第三次修正狀態(#3)如表四所示(配合參見第四圖D,係為本發明該補償量修正單元進行補償量修正之第四狀態示意圖):
故此,藉由對該補償表之補償量採以提供加權之計算,以動態線上(on-line)的方式漸近地對原補償表之補償量進行修正,至終將使得每一回授脈波Pt0~Pt32上所對應之回授脈波之誤差收斂至容許範圍內,使提高該編碼器回授位置動態補償之準確度。值得一提,在本例中,由於該回授脈波補償週期為20,000刻度,因此,第32回授脈波Pt32的下一個回授脈波(即第33回授脈波Pt33)之補償量,將採用該起始回授脈波Pt0之補償量;而第32回授脈波Pt32的下兩個回授脈波(即第34回授脈波Pt34)之補償量,將採用該第一回授脈波Pt1之補償量…,依此類推,使該編碼器轉一圈所產生完整回授脈波之補償量修正,可以用該20,000刻度回授脈波之補償量以週期性的方式予以修正。
此外,參見第五圖A,係為本發明該補償量修正單元所產生之動態修正補償量與離線補償量之比較波形圖(未刪除偏移量)。其中,該補償量修正單元30之權重百分比W%為80%。該圖之橫座標為回授脈波;縱座標為補償量。圖中所示分別為動態線上(on-line)模擬結果與離線(off-line)模擬結果之兩條曲線。並且,該橫座標之模擬回授脈波區間為0刻度到
20,000刻度。值得一提,該動態線上(on-line)曲線與該離線(off-line)曲線間差距一個偏移量(offset)。因此,在第五圖A中(未刪除偏移量),該第一修正補償量Pm(n)與該第二修正補償量Pm(n+1)之動態線上(on-line)計算如下:Pm(n)=P(n)×W%+Pc(n:n+1)×(1-W%); (第3式)
Pm(n+1)=P(n+1)×W%+Pc(n:n+1)×(1-W%); (第4式)
分別比較第3式與第1式,以及第4式與第2式之差異在於該初始補償量P(1)之大小。因此,若於第3式與第4式分別減去該初始補償量P(1),亦即每一回授脈波之補償量皆減去該初始補償量P(1)之大小,則可得到如第五圖B所示之波形圖,其中,該第五圖B,係為本發明該補償量修正單元所產生之動態修正補償量與離線補償量之比較波形圖(刪除偏移量)。由第五圖B可明顯地看出,動態線上(on-line)模擬結果與離線(off-line)模擬結果之偏移量變小,並且,該動態線上(on-line)之該起始回授脈波Pt0與該第32回授脈波Pt32之補償量接近零。
此外,可調整該權重百分比W%之大小,如第五圖C所示,係為本發明該補償量修正單元所產生不同權重百分比之動態修正補償量與離線補償量之比較波形圖(刪除偏移量),其中該些動態線上(on-line)曲線之權重百分比W%分別設定為80%、90%、95%以及99%加以模擬。由第五圖C可明顯地看出,當該權重百分比W%越大時,該動態線上(on-line)曲線更接近
該離線(off-line)曲線,可得到更精確之回授位置動態補償。
請參見第六圖,係為本發明該編碼器之回授位置動態補償方法之流程圖。該編碼器之回授位置動態補償方法之步驟如下。首先,根據該編碼器之位置,獲得一實際回授脈波(S100)。然後,比較該實際回授脈波與一理想回授脈波以計算所需修正之一回授補償量(S200)。其中,該理想回授脈波係根據馬達以等速旋轉情況求得。然後,判斷該回授補償量所對應之位置區間(S300)。最後,以加權方式對該回授補償量進行修正(S400)。其中,係以較大權重百分比計算原補償表之該補償量,而以較小權重百分比計算所需修正之該回授補償量,以分別累加該補償表之回授脈波位置上所對應之補償量。
綜上所述,本發明係具有以下之優點:1、該編碼器回授位置之動態補償裝置係操作在當該馬達以等速旋轉時,即可進行編碼器回授位置之校正;2、經過動態線上(on-line)校正後,可重新修正回授位置之正確性;3、無需其他特殊設備與軟體,只需要一台驅動器即可完成該編碼器回授位置之動態線上補償,因此,客戶將能夠自行完成校正操作;4、相較於離線(off-line)校正方式,動態線上(on-line)校正,可省時與便利,只需要修改程式中的演算法即可,而
無需修改硬體電路,大大地增加系統彈性,同時也達到降低成本的目標;5、只需編碼器正確安裝上馬達,當驅動器驅動馬達時,由驅動器收集編碼器的位置資料,藉由演算法則,得到位置的補償量,該補償量可回填到編碼器的補償表;及6、該回授補償資料不受限僅可存放於編碼器,也可以填在驅動器,即便編碼器不支援位置補償功能,驅動器仍可獨自進行。
惟,以上所述,僅為本發明較佳具體實施例之詳細說明與圖式,惟本發明之特徵並不侷限於此,並非用以限制本發明,本發明之所有範圍應以下述之申請專利範圍為準,凡合於本發明申請專利範圍之精神與其類似變化之實施例,皆應包含於本發明之範疇中,任何熟悉該項技藝者在本發明之領域內,可輕易思及之變化或修飾皆可涵蓋在以下本案之專利範圍。
10‧‧‧補償量計算單元
Pc(m-1)‧‧‧前置補償量
X(m)‧‧‧編碼脈波
Pref‧‧‧脈波增量
Pc(m)‧‧‧區間補償量
20‧‧‧位置區間判斷單元
30‧‧‧補償量修正單元
P(n)‧‧‧第一補償量
P(n+1)‧‧‧第二補償量
W%‧‧‧權重百分比
Pc(n:n+1)‧‧‧回授補償量
P(1)‧‧‧初始補償量
Pm(n)‧‧‧第一修正補償量
Pm(n+1)‧‧‧第二修正補償量
Claims (13)
- 一種編碼器回授位置之動態補償裝置,係應用於伺服控制系統之驅動器驅動馬達以等速旋轉時,由驅動器偵測該編碼器之回授位置,並對該回授位置提供位置誤差之補償;該編碼器回授位置之動態補償裝置係包含:一補償量計算單元,係包含:一第一運算單元,係接收一前置補償量與一脈波增量,以計算該前置補償量與該脈波增量之和;及一第二運算單元,係連接該第一運算單元,並接收一編碼脈波,以計算該前置補償量與該脈波增量之和並減去該編碼脈波之值,產生一區間補償量;一位置區間判斷單元,係連接該補償量計算單元,並接收該區間補償量,根據該編碼器回授位置之解析度,以決定該區間補償量所在之位置區間;及一補償量修正單元,係連接該位置區間判斷單元,包含:一第三運算單元,係接收一第一補償量、一第二補償量以及一權重百分比,以計算該第一補償量與該權重百分比之乘積為一第一加權補償量,以及該第二補償量與該權重百分比之乘積為一第二加權補償量;一第四運算單元,係接收該權重百分比與一大小為1之值,以計算該大小為1之值減去該權重百分比為一輔助權重百分比; 一第五運算單元,係連接該第四運算單元,接收該輔助權重百分比與對應於該第一補償量與該第二補償量所在之位置區間之一回授補償量,以計算該回授補償量與該輔助權重百分比之乘積為一回授加權補償量;一第六運算單元,係分別連接該第三運算單元與該第五運算單元,接收該第一加權補償量、該第二加權補償量以及該回授加權補償量,以計算該第一加權補償量與該回授加權補償量之和為一第一合成補償量,以及該第二加權補償量與該回授加權補償量之和為一第二合成補償量;及一第七運算單元,係連接該第六運算單元,接收該第一合成補償量、該第二合成補償量以及一初始補償量,以分別計算該第一合成補償量減去該初始補償量為一第一修正補償量,以及該第二合成補償量減去該初始補償量為一第二修正補償量;藉此,以疊代方式累加計算該第一修正補償量與該第二修正補償量,使該驅動器偵測該編碼器之回授位置與理想位置之誤差在容許範圍內,使提高該編碼器回授位置動態補償之準確度。
- 如申請專利範圍第1項之編碼器回授位置之動態補償裝置,其中該第一運算單元與該第二運算單元係分別為一加減法運算器。
- 如申請專利範圍第1項之編碼器回授位置之動態補償裝置,其中該第三運算單元與該第五運算單元係分別為一乘法運算器。
- 如申請專利範圍第1項之編碼器回授位置之動態補償裝置,其中該第四運算單元、該第六運算單元以及該第七運算單元係分別為一加減法運算器。
- 如申請專利範圍第1項之編碼器回授位置之動態補償裝置,其中該脈波增量係為該理想上之回授脈波在每一該時間區間之回授脈波差。
- 如申請專利範圍第1項之編碼器回授位置之動態補償裝置,其中該編碼脈波係為在該時間區間內,該編碼器所產生之位置補償量。
- 如申請專利範圍第1項之編碼器回授位置之動態補償裝置,其中該第一補償量與該第二補償量係為該區間補償量所對應之位置區間上之原始補償量。
- 如申請專利範圍第1項之編碼器回授位置之動態補償裝置,其中該區間補償量與該區間補償量所對應之位置,可建立為一補償表。
- 如申請專利範圍第1項之編碼器回授位置之動態補償裝置,其中該權重百分比係為經驗法則得之。
- 如申請專利範圍第1項之編碼器回授位置之動態補償裝置,其中該權重百分比係大於該輔助權重百分比。
- 一種編碼器之回授位置動態補償方法,係應用於伺服控制系統之驅動器驅動馬達以等速旋轉時,由驅動器偵測該編碼器之回授位置,並對該回授位置提供位置誤差之補償;該編碼器之回授位置動態補償方法係包含下列步驟:(a)根據該編碼器之位置,獲得一實際回授脈波; (b)提供一補償量計算單元,比較該實際回授脈波與一理想回授脈波以計算所需修正之一回授補償量;(c)提供一位置區間判斷單元,判斷該回授補償量所對應之位置區間;及(d)提供一補償量修正單元,以加權方式對一原始補償表之一補償量以及該回授補償量進行修正,並且以疊代累加計算修正後之該回授補償量。
- 如申請專利範圍第11項之回授位置動態補償方法,其中在步驟(b)中,該理想回授脈波係根據馬達以等速旋轉情況求得。
- 如申請專利範圍第11項之回授位置動態補償方法,其中在步驟(d)中,係以較大權重百分比計算該原始補償表之該補償量,而以較小權重百分比計算所需修正之該回授補償量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW99122193A TWI397792B (zh) | 2010-07-06 | 2010-07-06 | 編碼器回授位置之動態補償裝置及其操作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW99122193A TWI397792B (zh) | 2010-07-06 | 2010-07-06 | 編碼器回授位置之動態補償裝置及其操作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201202879A TW201202879A (en) | 2012-01-16 |
TWI397792B true TWI397792B (zh) | 2013-06-01 |
Family
ID=46756235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW99122193A TWI397792B (zh) | 2010-07-06 | 2010-07-06 | 編碼器回授位置之動態補償裝置及其操作方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI397792B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI723520B (zh) * | 2019-08-30 | 2021-04-01 | 新代科技股份有限公司 | 旋轉編碼器精度估測裝置及應用其之估測方法 |
US11736047B2 (en) * | 2019-09-25 | 2023-08-22 | Allegro Microsystems, Llc | BLDC motor controller/driver |
EP4080755A1 (en) * | 2019-12-16 | 2022-10-26 | Hitachi Industrial Equipment Systems Co., Ltd. | Motor control device and motor control method |
TWI717230B (zh) * | 2020-03-12 | 2021-01-21 | 新代科技股份有限公司 | 機台編碼器安裝偏移的修正方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4594536A (en) * | 1983-07-15 | 1986-06-10 | Sharp Kabushiki Kaisha | Servomotor speed control in a positioning device |
US5210562A (en) * | 1990-09-17 | 1993-05-11 | Olympus Optical Co., Ltd. | Motor driving control apparatus with movement distance estimating function |
US5552689A (en) * | 1993-12-28 | 1996-09-03 | Laurel Bank Machines Co., Ltd. | Servo motor |
US6823132B2 (en) * | 2001-05-17 | 2004-11-23 | Canon Kabushiki Kaisha | Method and apparatus for controlling motor |
TW201009303A (en) * | 2008-08-26 | 2010-03-01 | Univ Nat Central | Absolute-type encoder and method for detecting absolute position |
-
2010
- 2010-07-06 TW TW99122193A patent/TWI397792B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4594536A (en) * | 1983-07-15 | 1986-06-10 | Sharp Kabushiki Kaisha | Servomotor speed control in a positioning device |
US5210562A (en) * | 1990-09-17 | 1993-05-11 | Olympus Optical Co., Ltd. | Motor driving control apparatus with movement distance estimating function |
US5552689A (en) * | 1993-12-28 | 1996-09-03 | Laurel Bank Machines Co., Ltd. | Servo motor |
US6823132B2 (en) * | 2001-05-17 | 2004-11-23 | Canon Kabushiki Kaisha | Method and apparatus for controlling motor |
TW201009303A (en) * | 2008-08-26 | 2010-03-01 | Univ Nat Central | Absolute-type encoder and method for detecting absolute position |
Also Published As
Publication number | Publication date |
---|---|
TW201202879A (en) | 2012-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2641407C (en) | Encoder signal analysis system for high-resolution position measurement | |
CN108297101B (zh) | 多关节臂串联机器人末端位姿误差检测和动态补偿方法 | |
TWI397792B (zh) | 編碼器回授位置之動態補償裝置及其操作方法 | |
JP4277887B2 (ja) | エンコーダ信号の補正回路 | |
CN110793430B (zh) | 绝对电角度检测方法、系统及计算机可读存储介质 | |
JP5995589B2 (ja) | 補正値導出装置、変位量導出装置、制御装置、および補正値導出方法 | |
JP2009303358A (ja) | 変位検出方法、補正テーブル作成方法、モータ制御装置及び工作機械装置 | |
JP4940411B2 (ja) | アナログ角度センサ精度補正プログラム、補正方法、記録媒体およびサーボドライバ | |
CN109696187B (zh) | 旋转编码器偏心校正装置 | |
US6664752B2 (en) | Method and apparatus for correcting actuator positioning error | |
CN102332856B (zh) | 编码器反馈位置的动态补偿装置及其动态补偿方法 | |
CN116182924A (zh) | 相位补偿方法、装置以及磁编码器 | |
Chen et al. | A self-adaptive interpolation method for sinusoidal sensors | |
CN111089610B (zh) | 一种编码器的信号处理方法、装置及相关组件 | |
US20100004888A1 (en) | Measurement apparatus | |
KR20180114743A (ko) | 앱솔루트 엔코더, 앱솔루트 엔코더의 직교 정현파의 룩업테이블 생성 방법 및 이를 이용한 절대각도 검출방법 | |
US11493898B2 (en) | Servo motor controller | |
JP5162739B2 (ja) | エンコーダ信号処理方法、エンコーダ装置及びサーボモータ | |
US20120029726A1 (en) | On-line compensation apparatus for feedback positions of encoder and method for operating the same | |
CN117419887A (zh) | 用于风洞试验环境的abz型倾角传感器z信号干扰修正方法 | |
TWI664823B (zh) | 用於編碼器之即時校正方法及其系統 | |
TW202317336A (zh) | 提升量測正確性的馬達驅動器及其機械手臂 | |
JP2002048595A (ja) | センサのキャリブレーション方法 | |
JP2003057073A (ja) | 内挿誤差見積方法及びその装置、並びにそれを用いた内挿誤差補正装置 | |
CN117885136A (zh) | 舵机的位置校准方法、装置及可转动设备 |