TWI733951B - 馬達編碼器的動態取樣方法 - Google Patents
馬達編碼器的動態取樣方法 Download PDFInfo
- Publication number
- TWI733951B TWI733951B TW106140416A TW106140416A TWI733951B TW I733951 B TWI733951 B TW I733951B TW 106140416 A TW106140416 A TW 106140416A TW 106140416 A TW106140416 A TW 106140416A TW I733951 B TWI733951 B TW I733951B
- Authority
- TW
- Taiwan
- Prior art keywords
- motor
- command
- rotation speed
- speed
- motor rotation
- Prior art date
Links
Images
Landscapes
- Control Of Electric Motors In General (AREA)
Abstract
一種馬達編碼器的動態取樣方法,依據輸入命令速度的切換區間,以相對應的編碼取樣時間,計算馬達轉動速度,將平均馬達轉動速度乘以相對應的權重,形成動態閥值,比較馬達轉動速度不小於動態閥值,馬達轉動速度為正常,馬達轉動速度小於動態閥值,馬達轉動速度為異常,進入補償模式,以控制馬達。
Description
本發明有關一種馬達,尤其關於馬達在執行控制命令時,根據控制命令速度,動態切換取樣時間進行取樣編碼器的方法。
機器手臂具有靈活移動、精確定位及連續性作業的特性,已成為產品生產線上製造組裝的最佳利器。而降低機器手臂移動時的震動,提升機器手臂控制的精確性,需要正確控制馬達。
如圖8所示,先前技術的馬達由外部輸入控制的命令脈衝(Pulse),並以固定的取樣時間t取得命令脈衝,而由取得的命令脈衝數量,除以取樣時間t,計算出處理的命令速度(Vcmd)。同時馬達的控制系統的速度計算器也會利用同樣的取樣時間t,取得與馬達同步轉動的編碼器偵測編碼脈衝數量,而由取得的編碼脈衝數量除以取樣時間t,計算出馬達轉動速度(Vm),作為回授訊號控制馬達轉動。
然而,先前技術的馬達利用固定的取樣時間t,在慢速轉動的馬達中,由同步轉動的編碼器,僅能擷取少量的編碼訊號,而少量的條碼訊號不足以顯示真正馬達的轉動速度狀態。同樣利用固定的取樣時間t,在快速轉動的馬達中,雖可由同步轉動的編碼器,擷取多量的編碼訊號,但取樣頻率不足,多量的編碼訊號平均後也無法顯示馬達細部的轉動速度
狀態,而不能正確回授控制馬達轉動速度,將造成機器手臂的震動,並影響機器手臂的移動的精密度。因此,馬達在控制命令的取樣時間上,仍有問題亟待解決。
本發明的目的提供一種馬達編碼器的動態取樣方法,設定命令速度的切換區間,根據處理命令速度的切換區間,藉由切換相對應的編碼取樣時間,取得正確馬達轉動速度,以提升控制的精密度。
本發明另一目的在提供一種馬達編碼器的動態取樣方法,根據命令速度的切換區間,設定平均馬達轉動速度的權重形成動態閥值,在馬達轉動速度小於動態閥值時,計算失效次數大於設定值,進行維修排除異常狀態,以保護馬達運轉。
本發明再一目的在提供一種馬達編碼器的動態取樣方法,在馬達轉動速度小於動態閥值時,利用補償模式,計算馬達轉動速度與平均馬達轉動速度的差值,利用差值乘以相對應編碼取樣時間,補償馬達轉動速度的脈衝數量,以維持控制的精確性。
為了達到前述發明的目的,本發明馬達編碼器的動態取樣方法,預先設定命令速度的複數切換區間、切換區間相對應的編碼取樣時間及相對應的權重,依據輸入的命令脈衝在設定的命令取樣時間,取樣命令脈衝,計算命令速度,根據命令速度的切換區間,以相對應的編碼取樣時間,取樣編碼器的編碼脈衝,計算馬達轉動速度,根據命令速度的切換區間,以相對應的權重,將設定的平均馬達轉動速度乘以權重,形成動態閥值,比較馬達轉動速度不小於動態閥值,將馬達轉動速度列入計算平均馬
達轉動速度,並更新設定平均馬達轉動速度,檢查處理完命令脈衝,結束處理命令脈衝。
本發明馬達編碼器的動態取樣方法,比較馬達轉動速度小於動態閥值,馬達轉動速度為異常,進入補償模式,計算馬達轉動速度與設定的平均馬達轉動速度的差值,利用差值乘以相對應編碼取樣時間,取得補償的脈衝數量,補償馬達轉動速度。補償後,紀錄取樣失效一次,並累積計算失效次數,檢查失效次數超過設定值時,進行維修。檢查失效次數未超過設定值時,再檢查馬達轉一圈,將失效次數歸零,重新計次。再檢查未處理完命令脈衝時,則繼續重複下一取樣。
本發明馬達編碼器的動態取樣方法,命令速度預先設定分成複數個命令速度等級的切換區間,切換區間以等比的命令速度間隔。預設相對應的編碼取樣時間,以命令速度越快切換越短的編碼取樣時間的反比原則,形成命令速度切換區間及編碼取樣時間的對照表。切換區間預設相對應的權重,以命令速度越快設置越大權重的等差的原則設定,形成命令速度切換區間及權重的對照表。馬達根據最近預設次數正常取樣的馬達轉動速度,計算平均馬達轉動速度,形成設定的平均馬達轉動速度。
10:控制系統
11:馬達
12:位置控制器
13:速度控制器
14:電流控制器
15:命令脈衝
16:命令速度
17:編碼器
18:類比數位轉換器
19:編碼脈衝
20:速度計算器
21:馬達轉動速度
圖1 為本發明機器手臂的馬達的控制系統的功能圖。
圖2 為本發明命令速度的示意圖。
圖3 為本發明命令速度切換區間及編碼取樣時間的對照表。
圖4 為命令速度切換區間及權重的對照表。
圖5 為本發明馬達編碼器的動態取樣方法的流程圖。
圖6 為本發明動態取樣的馬達轉速曲線圖。
圖7 為本發明馬達輸出的力矩曲線圖。
圖8 為先前技術命令速度及馬達轉數示意圖。
有關本發明為達成上述目的,所採用之技術手段及其功效,茲舉較佳實施例,並配合圖式加以說明如下。
請同時參閱圖1、圖2、圖3及圖4,圖1為本發明機器手臂的馬達的控制系統,圖2為本發明命令速度的示意圖,圖3為本發明命令速度切換區間及編碼取樣時間的對照表,圖4為命令速度切換區間及權重的對照表。圖1中,本發明馬達11的控制系統10,包含位置控制器12、速度控制器13及電流控制器14等,控制系統10由外部輸入命令脈衝15,經位置控制器12利用設定的命令取樣時間t(參圖2),取得命令脈衝15數量,形成命令速度(Vcmd)16,傳輸經速度控制器13及電流控制器14控制馬達11轉動。其中馬達11為A、B、C相的三相馬達,並設有編碼器17用以偵測馬達11的轉動位置。控制系統10利用類比數位轉換器18,從馬達11取出A相電流與B相電流,形成數位電流訊號,作為電流控制器14的電流回授訊號,校正馬達11輸出的力矩。而馬達11的編碼器17偵測產生的編碼脈衝19,經速度計算器20利用設定的編碼取樣時間,取得編碼脈衝19,計算馬達轉動速度21,回授至速度控制器13補償馬達11的轉動速度。編碼器17偵測馬達11的轉動位置,另回授至位置控制器12補償馬達11轉動位置。
圖2中,外部輸入的命令脈衝15在各設定的命令取樣時間t,
具有不同數量的命令脈衝15,因此在各命令取樣時間t構成不同的命令速度,顯示馬達11的變動快慢狀態。為了配合不同的命令速度,對於慢速的命令速度,相對產生的馬達轉動速度較慢,同步轉動的編碼器17也會較慢,產生的編碼脈衝間隔較長,速度計算器20需要利用設定較長的編碼取樣時間,才能適當取樣編碼脈衝,形成顯現變動較慢的真正的馬達轉動速度。相反地,對於快速的命令速度,相對產生的馬達轉動速度較快,同步轉動的編碼器17也會較快,產生的編碼脈衝間隔較短,速度計算器20需要利用設定較短的編碼取樣時間,才能適當取樣編碼脈衝,形成顯現變動較快的真正馬達轉動速度。
圖3中,根據設定的命令取樣時間t,取得的命令脈衝15數量,構成命令速度(Vcmd)的快慢,將命令速度分成複數個命令速度等級的切換區間,例如命令速度等級以等比間隔,而命令速度越快切換越短的編碼取樣時間,例如命令速度與編碼取樣時間大致反比的原則設定,但本發明包含且不限於本實施例的比例設定。先依經驗值設定命令速度K,一般可設定命令速度K等於命令速度(Vcmd)。命令速度(Vcmd)切換區間位於小於設定命令速度K,設定較長的2倍命令取樣時間t的編碼取樣時間T1=2t。命令速度(Vcmd)切換區間位大於設定命令速度K且小於2倍設定命令速度K,設定等於命令取樣時間t的編碼取樣時間T2=t。命令速度(Vcmd)切換區間位大於2倍設定命令速度K且小於3倍設定命令速度K,設定編碼取樣時間T3=t/2。命令速度(Vcmd)切換區間位大於3倍設定命令速度K且小於4倍設定命令速度K,設定編碼取樣時間T4=t/3。命令速度(Vcmd)切換區間位大於4倍設定命令速度K且小於5倍設定命令速度K,設定編碼取樣時間T5=t/4。命令速度
(Vcmd)切換區間位大於5倍設定命令速度K且小於6倍設定命令速度K,設定編碼取樣時間T6=t/5。形成命令速度切換區間及編碼取樣時間的對照表。因此在各切換區間設定的編碼取樣時間TX,只要以適當編碼取樣時間TX頻率取得編碼脈衝數量,將編碼脈衝數量除以編碼取樣時間TX,就可計算出較正確的馬達轉動速度(Vm)。本實施例以劃分6個切換區間為例,但本發明包含且不限於劃分6個切換區間。
圖4中,為了監控計算出的馬達轉動速度(Vm)是否異常?本發明根據馬達11最近例如20或30次等預設次數正常取樣的馬達轉動速度,計算出平均馬達轉動速度(Vavg),形成設定的平均馬達轉動速度,作為基準。並因應命令速度(Vcmd)的切換區間速度快慢不同,對於命令速度(Vcmd)較慢的,因偵測編碼脈衝較不遺失,設置平均馬達轉動速度的權重w較小,例如小於設定命令速度K的命令速度(Vcmd)切換區間,設定權重w為0.25。而對於命令速度(Vcmd)較快的,因偵測編碼脈衝較易遺失,設置平均馬達轉動速度的權重w較大,例如大於5倍設定命令速度K且小於6倍設定命令速度K的命令速度(Vcmd)切換區間,設定權重w為0.5。以命令速度越快設置越大的權重w,例如命令速度與權重w大致等差的原則設定,形成命令速度切換區間及權重w的對照表。經由經驗值設置命令速度(Vcmd)切換區間的權重w,將設定平均馬達轉動速度(Vavg)乘以權重w,作為判斷馬達轉動速度異常的動態閥值,以確保計算的馬達轉動速度正確性。
本發明當計算的馬達轉動速度小於動態閥值時,判斷馬達轉動速度異常,紀錄取樣失效一次,當失效次數超過設定值時,需進行維修排除異常狀態,以保護馬達運轉,而在馬達轉一圈時,失效次數歸零重新
計算失效次數。失效的計算馬達轉動速度,不列入平均馬達轉動速度(Vavg)計算,不更新設定平均馬達轉動速度,而本發明以補償模式補償失效的計算馬達轉動速度,補償模式首先計算馬達轉動速度與平均馬達轉動速度的差值,利用差值乘以相對應編碼取樣時間,取得補償的脈衝數量,補償馬達轉動速度,以維持控制馬達轉動的穩定性。
本發明在運作時,首先依據輸入的命令脈衝15在設定的命令取樣時間t,形成的命令速度(Vcmd),例如命令速度(Vcmd)在2K<Vcmd<3K切換區間,根據命令速度(Vcmd)在命令速度切換區間與編碼取樣時間的對照表中,找出相對應的編碼取樣時間T3=t/2,再利用編碼取樣時間,取得編碼脈衝數量,計算編碼脈衝數量/T3=馬達轉動速度(Vm)。接著再由命令速度切換區間及權重w的對照表,根據命令速度(Vcmd)在2K<Vcmd<3K切換區間,找出相對應的權重W3=0.35,將設定平均馬達轉動速度(Vavg)乘以權重W3形成動態閥值。
比較馬達轉動速度(Vm)不小於動態閥值,判斷計算的馬達轉動速度(Vm)正常,列入計算平均馬達轉動速度(Vavg),更新設定平均馬達轉動速度,繼續下一取樣。如果馬達轉動速度(Vm)不大於平均馬達轉動速度(Vavg)乘以權重W3,則視為異常,接著進入補償模式,計算馬達轉動速度(Vm)與設定的平均馬達轉動速度(Vavg)的差值,利用差值乘以相對應編碼取樣時間,取得補償的脈衝數量,補償馬達轉動速度,並紀錄取樣失效一次,當失效次數或連續失效次數超過設定值時,則進行維修,然後檢查馬達是否轉一圈?如果轉一圈,將失效次數歸零,重新計次,如果未轉完一圈,檢查是否處理完命令脈衝,如果未處理完,則繼續重複下一取樣如果
處理完,則結束運作。
如圖5所示,為本發明馬達編碼器的動態取樣方法的流程。本發明馬達編碼器的動態取樣方法的詳細步驟說明如下:在步驟S1,依據輸入的命令脈衝在設定的命令取樣時間,取樣命令脈衝,計算命令速度;步驟S2,根據命令速度在切換區間,以相對應的編碼取樣時間,取樣編碼器的編碼脈衝,計算馬達轉動速度;步驟S3,根據命令速度的切換區間,找出相對應的權重,計算設定平均馬達轉動速度乘以權重,形成動態閥值;步驟S4,比較馬達轉動速度是否小於動態閥值?,如果馬達轉動速度不小於動態閥值,則進入步驟S5,計算的馬達轉動速度正常,列入計算平均馬達轉動速度,在步驟S6,並更新設定平均馬達轉動速度,再至步驟S13。如果馬達轉動速度小於動態閥值,則進入步驟S7,馬達轉動速度視為異常,接著進入補償模式,補償馬達轉動速度;步驟S8,紀錄取樣失效一次,累積計算失效次數;步驟S9,檢查失效次數是否超過設定值,超過設定值時,則進入步驟S10進行維修,未超過設定值時,則進入步驟S11,再檢查馬達是否轉一圈?如果轉一圈,則進入步驟S12將失效次數歸零,重新計次,再至步驟S13。如果未轉完一圈,則進入步驟S13,檢查是否處理完命令脈衝?如果未處理完命令脈衝,則進入步驟S1繼續重複下一取樣,如果處理完命令脈衝,則進入步驟S14,結束處理命令脈衝。
如圖6所示,為本發明動態取樣的馬達轉速圖。本發明根據命令速度不同速度等級的切換區間,採用相對應設定的編碼取樣時間,動態改變取樣的頻率,獲得的馬達轉速曲線,比較採用固定編碼取樣時間,固定取樣的頻率,獲得的馬達轉速曲線,顯示本發明動態取樣的馬達轉速
曲線較為平滑,較固定取樣的馬達轉速曲線,少突起的轉速曲線,控制較為平順,而可達到降低震動的目的。
如圖7所示,為本發明馬達輸出的力矩曲線圖。本發明採用動態編碼取樣時間,取樣回授控制馬達時,獲得的馬達輸出力矩曲線,比較採用固定編碼取樣時間,獲得的輸出力矩曲線,顯示本發明動態取樣的輸出力矩曲線較為一致,輸出的力矩大致相同,較固定取樣的輸出力矩曲線上下激烈變化的力矩曲線,本發明可達到降低震動的目的。
因此,本發明馬達編碼器的動態取樣方法,利用設定命令速度的切換區間,根據命令速度的切換區間,藉由切換相對應的編碼取樣時間,以命令速度越快切換越短的編碼取樣時間,取得正確馬達轉動速度進行控制,而可達提升馬達控制的精密度的發明目的。此外本發明馬達編碼器的動態取樣方法,亦可根據處理命令速度切換區間,設定命令速度越快權重越大,在馬達轉動速度小於平均馬達轉動速度乘以權重,形成的動態閥值時,計算失效次數大於設定值,需進行維修,而可達到保護馬達運轉的目的。本發明馬達編碼器的動態取樣方法,在馬達轉動速度小於動態閥值時,利用補償模式,計算馬達轉動速度與平均馬達轉動速度的差值,利用差值乘以相對應編碼取樣時間,補償馬達轉動速度的脈衝數量,而可達到維持控制的精確性的發明目的。
以上所述者,僅為用以方便說明本發明之較佳實施例,本發明之範圍不限於該等較佳實施例,凡依本發明所做的任何變更,於不脫離本發明之精神下,皆屬本發明申請專利之範圍。
步驟S1-S14‧‧‧馬達編碼器的動態取樣方法的步驟
Claims (9)
- 一種馬達編碼器的動態取樣方法,預先設定命令速度的複數切換區間、切換區間相對應的編碼取樣時間及相對應的權重,其步驟包含:依據輸入的命令脈衝在設定的命令取樣時間,取樣命令脈衝,計算命令速度;根據該命令速度的切換區間,以相對應的編碼取樣時間,取樣編碼器的編碼脈衝,計算馬達轉動速度;根據命令速度的切換區間,以相對應的權重,將設定的平均馬達轉動速度乘以權重,形成動態閥值;比較該馬達轉動速度不小於動態閥值;將該馬達轉動速度列入計算平均馬達轉動速度,並更新該設定平均馬達轉動速度;檢查處理完命令脈衝,則結束處理命令脈衝。
- 如申請專利範圍第1項所述之馬達編碼器的動態取樣方法,其中比較馬達轉動速度小於動態閥值,該馬達轉動速度為異常,進入補償模式,計算該馬達轉動速度與該設定的平均馬達轉動速度的差值,利用差值乘以相對應該編碼取樣時間,取得補償的脈衝數量,補償該馬達轉動速度。
- 如申請專利範圍第2項所述之馬達編碼器的動態取樣方法,其中補償後,紀錄取樣失效一次,並累積計算失效次數,檢查失效次數超過設定值時,進行維修。
- 如申請專利範圍第3項所述之馬達編碼器的動態取樣方法,其中檢查失效次數未超過設定值時,再檢查馬達轉一圈,將失效次數歸零,重新計次。
- 如申請專利範圍第1項所述之馬達編碼器的動態取樣方法,其中檢查未處理完命令脈衝時,則繼續重複下一取樣。
- 如申請專利範圍第1項所述之馬達編碼器的動態取樣方法,其中命令速度預先設定分成複數個命令速度等級的切換區間,切換區間以等比的命令速度間隔。
- 如申請專利範圍第6項所述之馬達編碼器的動態取樣方法,其中切換區間預設相對應的編碼取樣時間,以命令速度越快切換越短的編碼取樣時間的反比原則,形成命令速度切換區間及編碼取樣時間的對照表。
- 如申請專利範圍第6項所述之馬達編碼器的動態取樣方法,其中切換區間預設相對應的權重,以命令速度越快設置越大權重的等差的原則設定,形成命令速度切換區間及權重的對照表。
- 如申請專利範圍第1項所述之馬達編碼器的動態取樣方法,其中馬達根據最近預設次數正常取樣的馬達轉動速度,計算平均馬達轉動速度,形成該設定的平均馬達轉動速度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106140416A TWI733951B (zh) | 2017-11-20 | 2017-11-20 | 馬達編碼器的動態取樣方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106140416A TWI733951B (zh) | 2017-11-20 | 2017-11-20 | 馬達編碼器的動態取樣方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201923351A TW201923351A (zh) | 2019-06-16 |
TWI733951B true TWI733951B (zh) | 2021-07-21 |
Family
ID=67702303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106140416A TWI733951B (zh) | 2017-11-20 | 2017-11-20 | 馬達編碼器的動態取樣方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI733951B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112986605B (zh) * | 2021-02-22 | 2022-12-16 | 宏晶微电子科技股份有限公司 | 一种电机测速方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5187420A (en) * | 1989-07-18 | 1993-02-16 | Mita Industrial Co., Ltd. | Method of calculating motor control voltage and motor control device using the method |
TW200401880A (en) * | 2002-07-03 | 2004-02-01 | Yaskawa Electric Corp | Method of detecting/estimating bit error of encoder detection position data |
CN101329359A (zh) * | 2007-06-21 | 2008-12-24 | 台达电子工业股份有限公司 | 多点平滑化马达速度估测方法 |
US8810187B2 (en) * | 2011-08-19 | 2014-08-19 | Oriental Motor Boston Technology Group Incorporated | Method and apparatus for misstep detection and recovery in a stepper motor |
-
2017
- 2017-11-20 TW TW106140416A patent/TWI733951B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5187420A (en) * | 1989-07-18 | 1993-02-16 | Mita Industrial Co., Ltd. | Method of calculating motor control voltage and motor control device using the method |
TW200401880A (en) * | 2002-07-03 | 2004-02-01 | Yaskawa Electric Corp | Method of detecting/estimating bit error of encoder detection position data |
CN101329359A (zh) * | 2007-06-21 | 2008-12-24 | 台达电子工业股份有限公司 | 多点平滑化马达速度估测方法 |
US8810187B2 (en) * | 2011-08-19 | 2014-08-19 | Oriental Motor Boston Technology Group Incorporated | Method and apparatus for misstep detection and recovery in a stepper motor |
Also Published As
Publication number | Publication date |
---|---|
TW201923351A (zh) | 2019-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9018886B2 (en) | Motor control system which corrects backlash | |
TWI514099B (zh) | 伺服控制裝置 | |
US20160279794A1 (en) | Robot controller capable of performing fault diagnosis of robot | |
US8912928B2 (en) | Encoder, driving apparatus, method for calculating absolute position, and method for manufacturing encoder | |
CN107263543B (zh) | 一种机器人关节的校准方法和计算装置 | |
JP6124112B2 (ja) | 交流電動機の制御装置及び制御方法 | |
CN106247924B (zh) | 旋转角度检测器 | |
JP5317568B2 (ja) | 移動情報を伝送するためのエンコーダ及び方法 | |
TWI733951B (zh) | 馬達編碼器的動態取樣方法 | |
US9507338B2 (en) | Motor control device and correction data generation method in same | |
KR102005297B1 (ko) | 엔코더 주축 속도 동기 제어 방법 | |
JP3370845B2 (ja) | アブソリュートエンコーダ | |
JP4229823B2 (ja) | 歯車破損検出装置および歯車破損検出方法 | |
Khalid et al. | Sensor less control of DC motor using Kalman filter for low cost CNC machine | |
KR20190053101A (ko) | 반도체 장치, 각도값 보정 회로 및 방법 | |
US20220168895A1 (en) | Collision detection | |
US20140258580A1 (en) | Motor control apparatus and motor control method | |
US20090184834A1 (en) | System and method for monitoring step motor | |
CN110199177B (zh) | 用于监控位置变化传感器的轨迹信号的方法和装置 | |
CN109844658B (zh) | 运动控制装置的参数化的自动优化 | |
TWI621002B (zh) | 伺服控制診斷系統 | |
US20230042139A1 (en) | System and Method for Monitoring a Failsafe Function of Sensors in a Motor | |
JPH0425716A (ja) | エンコーダ異常検出装置 | |
KR102021461B1 (ko) | 모터 제어 장치 및 방법 | |
CN111614301B (zh) | 马达编码器的动态采样方法 |