2011年6月30日 星期四

伺服馬達|定位精度誤差?

伺服馬達|定位精度誤差?

伺服馬達的控制精度來自於回授編碼器。
編碼器的解析度越高,定位精度也越高。

但依機台特性不同,一昧追求最高精度也沒意義。

馬達每轉距離/每轉編碼器的脈波數=每個脈波的距離

伺服馬達的定位精度在±1脈波,
每個脈波的距離 X 2 =定位精度

假設:
編碼器=131072脈波/轉
馬達每轉距離=10mm

10mm/131072=0.076um/脈波

定位精度 = 0.076um X 2 = 0.14 um

PS:也要馬達本身的扭力足夠。

18 則留言:

  1. 請教一下
    為什麼要x2?
    不是直接距離/脈波數=精度嗎?
    謝謝

    回覆刪除
    回覆
    1. 伺服馬達在停止時,其實不是真正的停止,還是微小的在抖動,
      如果可以看到馬達的「編碼器回授」數值就知道。

      伺服馬達的原理跟步進不同,
      步進在激磁時,一定有一電極跟磁鐵相吸,所以靜止扭力最大。
      伺服馬達在激磁時,還是微小的抖動,不是磁極相吸,

      所以當定位點是編碼器位置0時,伺服馬達有可能是在0-1之間抖動,
      或是0- (-1)之間抖動,每次抖動方向不一樣,所以我才說是脈波距離 X 2。
      (而且這是伺服調的好的情形下,調不好會更差)





      而且這邊指的脈波距離是指編碼器的回授脈波,而不是PLC的命令脈波,之間差了電子齒輪比的倍數。

      刪除
  2. 志豪哥您好~
    在請教一下精度的問題
    目前我所理解的算法,如果錯誤煩請指點
    2相200步的步進馬達,驅動器我設定解析度400pls,馬達上有掛齒輪50齒
    所以需要轉動1齒為8個pls,因為是送端子料,料帶孔pitch 為2.54mm
    所以2.54/8 = 0.3175mm ,1pls 走0.3175mm =精度

    以上不知道對不對

    回覆刪除
    回覆
    1. 你算的是一個脈波,走的距離,我們會稱為解析度。

      步進 跟伺服的特性不同,
      步進馬達 靜止時,就磁極相位鎖住,靜止扭力最大。
      伺服馬達,靜止時,就是左右微小的抖動,所以靜力扭力比步進小多。

      刪除
    2. 謝謝解答~
      也再請教一下志豪哥
      目前有一個機構是 步進馬達掛齒輪,轉動料帶送料
      步進馬達送料一個pitch會要用一跟定位針穿過料帶孔做個切斷動作
      有時因為機構上下位置沒裝好或來料pitch有誤差,導致定位針定不准
      導致打壞料帶,我想做一個步進馬達原點給他讓它可以自動找料帶孔
      ,我的方法是上面裝一個光纖照料帶孔,PLC在寫一段找原點程序,
      讓步進馬達往下慢慢轉動直到光纖找到料帶孔停止,不知道志豪哥有沒有更好的建議? 加裝絕對編碼器是不是也可行? 謝謝

      刪除
    3. 步進馬達往下慢慢轉動直到光纖找到料帶孔停止 <<多久一次,一次需要多久!?

      如果上下兩個馬達,每次都從零點出發。
      需要同步時,就都到零點。
      不找sensor,應該會快一點。

      刪除
    4. 志豪哥
      這個機構只有一顆步進馬達
      單純在做送料的動作,需要找原點的時機只是在於沒料時,人員需要"解磁"然後把新的料穿進步進馬達上的帶動齒輪,然後放完料"激磁"時就要做找料帶孔的動作,作動時間上沒有特別的要求,再來就是機台斷電在打開,一開始也要做找料帶孔的動作

      我這個方式是不是很一般的做法??

      是想請教志豪哥有沒有其它不一樣的方式

      謝謝~!

      刪除
    5. 我不太能理解你的機構,所以很難想像。
      1.需要找原點的時機只是在於沒料時<<所以放料時都是在原點??

      2.放完料"激磁"時就要做找料帶孔的動作<找完料帶孔,才是開始正常流程?

      如果以上的問題都是正確的,那你的動作是ok的。
      以慢速jog,碰到光纖後停止。

      刪除
  3. 不好意思
    再請教志豪哥
    請問2相步進馬達,在開機送電時,他會要找他的激磁點
    而會產生一個跳動,有什麼辦法可以克服讓他不要跳動呢?
    或者是不要那麼大的跳動?
    謝謝~!

    回覆刪除
    回覆
    1. 好像都會跳動耶!!

      這方面我就沒什麼經驗了

      刪除
    2. 喔喔~謝謝回覆
      我在去找找解決方式
      有答案再分享~

      刪除
    3. 詢問廠商後
      步進馬達的跳動因為是特性
      所以無解...

      刪除
    4. 其實在斷電前,用剎車卡住,
      下次激磁完後,剎車再放開,說不定就可以,
      但成本不划算

      刪除
    5. 今天在展會上,感謝東方馬達人員專業的解答,
      激磁是特性,但跳動都是跳到"安定點",如果停在安定點,有可能就不會跳動了

      一般的步進安定點是在每7.2度的地方,可以以第一次為基準去計算.

      刪除
  4. 志豪哥您好

    所以伺服馬達精度的算法是不是就不管電子齒輪比了?
    也就是說假設我設每轉所需要的脈波數為10000pls
    此伺服馬達編碼器為17bit =131072脈波/轉
    滾珠螺桿每轉5mm
    所以此精度為
    5mm/131072=0.038um/脈波

    定位精度 = 0.038um X 2 = 0.076 um

    所以解析度不管怎麼調精度都不變嗎?

    所以精度和解析度是2碼子事嗎?

    謝謝

    回覆刪除
    回覆
    1. 這篇文章說的是單純伺服本身的定位精度。

      而你提出的是含機構的定位精度,一般人會認為是含機構,而不是只說伺服精度。

      含機構的精度:分為「定位精度」、「重覆定位精度」兩種
      重覆定位精度:是指每次到某一定點時,都是相同位置。(但不一定是我們要的座標點。例命令=絕對位置100mm時,第一次走到99.5mm第二次99.0,第三次走到99.3,那重覆定位精度是99.5-99.0=0.5mm或±0.25mm

      定位精度:是指到某一絕對命令位置時,跟實際位置間的誤差。例命令=絕對位置100mm時,機構實際走到99mm,定位精度1mm。

      ====
      再回到你寫的內容:
      伺服定位精度 = 0.038um X 2 = 0.076 um<<這ok

      但你忘了,是如何到這一點?
      是5mm/10000脈波=0.5um/脈波 <<如果不能整除,會有命令的誤差。
      如果到定位點是脈波無法整除,會了命令的誤差。

      確認伺服馬達端沒問題了,
      你要去了解到螺桿的誤差:
      看這篇:
      http://vkinngworld.blogspot.tw/2012/03/blog-post_28.html
      你就知道螺桿的線性誤差遠大於伺服定位誤差。
      所以最終的定位誤差,比較會傾向硬體,而不是指伺服本身。

      刪除
  5. 若伺服馬達搭載的編碼器是20位元(1,048,576分割)解析度變得非常精細,編碼器的組裝精度會大大影響到定位精度。
    所以伺服馬達的停止精度=編碼器解析度±1脈波以內,對於高位元數的編碼器是否會不適用
    資料參考自東方馬達網頁:https://www.orientalmotor.com.tw/teruyo_det/teruyo_33/

    回覆刪除