作者wisdom ()
看板Mechanical
標題Re: [心得] PLC 過往工作及最近面試
時間Mon Oct 9 14:07:11 2017
: 推 syatoyan: 誠心發問 為什麼電子齒輪比害人不淺? 10/09 05:46
: → syatoyan: 靠調整電子齒輪比 可以藉由較高的回授脈波數 得到更精準 10/09 05:47
: → syatoyan: 的誤差 不是可以做更精準的誤差修正嗎? 10/09 05:48
: → syatoyan: 還是說 那樣得到的誤差值其實是假的 實際誤差還是以 10/09 05:49
: → syatoyan: 編碼器的規格為基準? 10/09 05:50
: → syatoyan: 可是使用者卻認為有電子齒輪比 所以我只要以最低階的 10/09 05:51
: → syatoyan: 所以造成 只要使用最低階的編碼器 + 電子齒輪比設定 10/09 05:54
: → syatoyan: 也可以做到誤差0.1mm的精準控制 這種錯覺? 10/09 05:54
: → syatoyan: 弱弱的推測是不是這樣的現象 所以電子齒輪比不好? 10/09 05:55
你的觀念有誤,這是我說電子齒輪比害人不淺的原因之一
電子齒輪比的存在原因
是因為編碼器解析度越來越高,使用者需求的馬達轉速增加
但脈波發送/接收模組的反應速度跟不上造成的
我們舉個例子,為求容易理解 & 計算方便,我用非真實數據來解釋
假設編碼器解析度是 360 inc/rev,意即馬達每轉一度,編碼器可以輸出一個訊號
(這裡我不用"脈波",是因為很多人又會被編碼器脈波跟控制脈波搞混)
換句話說,編碼器的解析度是 1度,那麼這個伺服系統能達到的理論控制精度也就是1度
理論控制精度有兩個函義
1. 你能控制馬達往前/後轉1度。
2. 定位精度極限理論上是 +- 1度
接下來,我們要把脈波控制跟編碼器"脈波"混在一起講了
理論上,以pulse chain作為控制命令,一個控制脈波 = 一個編碼器脈波
也就是說,驅動器接收到一個脈波,會控制馬達轉一個編碼器單位
以這裡的例子,就是轉1度。
請注意,在這裡的例子裡,你是無法控制馬達轉0.5度或任何小於1度的角度
假設你希望馬達每秒轉10圈(10rps = 600rpm)
意即你要控制脈波輸出10 x 360 = 3600 Hz
再假設,你使用的脈波輸出模組,最高的輸出頻率只有2k Hz(先別管哪來這麼爛的模組)
換句話說,在這套系統裡,你無法得到你要的目標轉速
於是聰明的製造商,就引入了電子齒輪比這個參數
電子齒輪比讓控制脈波 = 編碼器脈波 x 電子齒輪比
換句話說,如果電子齒輪比設成 2
一個控制脈波,驅動器會讓馬達轉 2度
這樣的話,只要1800Hz的脈波頻率,就能讓馬達達到600rpm的轉速
不改變任何硬體條件的前提下,立刻解決這個問題。
請留意,這才是電子齒輪比最初設計出來的初衷,
只是為了解決脈波產生/接收模組的反應速度不夠快的問題而已。
而使用電子齒輪比會造成一個根本問題,就是你的控制精度直接下降
以上面的例子,你最小只能控制馬達一次轉2度,控制精度會下降
意即你只能控制馬達走0、2、4..... 這些角度,命令無法給1、3、5.....這些度數
(當然定位精度不會改變,一樣是 +- 1度。)
所以現在所有電子齒輪比的延伸應用
包含用來將減速比、螺桿導程計算後導入電子齒輪比
讓PLC的控制單位 = 機構單位,這種作法看似讓應用變得方便了
實際上並不是正確的使用。
而業界不僅是大教特教這種用法,還出書教你怎麼算
幾乎工控人都把這套方法當成聖經不容挑戰了....
當然很多人會說,編碼器解析度這麼高,換算到螺桿精度後,
一個編碼器解析度可能是1nm,我只需要1um的控制就好,
何必管設定電子齒輪比後造成的控制精度下降? 不影響使用啊
這我同意,這也是電子齒輪比在應用上,這麼多年來也沒有人有意見的原因。
不過我說的害人不淺,不完全是應用上不合理,其實稍微不那麼低階的驅動器
都可以讓你設定減速比跟螺桿導程,驅動器內部會自動幫你換算
但因為根深蒂固長久以來的使用習慣,太多人已經寧願就他原本那套電子齒輪比
算好丟一個參數進去就好,也不願意去使用正確的參數設定。此其一
再者是,控制脈波跟編碼器回授脈波,本質上兩者是沒有關係的
只是在控制上,一開始為求最大控制精度
自然會讓控制脈波跟回授脈波 = 1:1
電子齒輪比的引入,造成為數不少的工控人對這兩者產生誤解
錯誤觀念一久,就很難改了。
很多人真的以為,控制命令(脈波),跟編碼器回授(脈波),兩者一定要有一個比例關係
當使用到比較進階的系統時,反而一直糾結在控制命令的問題上
結論
1. 電子齒輪比的使用會導致控制精度下降
2. 沒搞懂電子齒輪比的使用者一大票
3. 搞懂但被電子齒輪比這個觀念限制住的使用者又是一大票
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.235.101.106
※ 文章網址: https://www.ptt.cc/bbs/Mechanical/M.1507529235.A.4C0.html
推 syatoyan: 原來如此,如果用EntherCAT來應用,似乎就都不存在這些 10/09 18:26
→ syatoyan: 問題,不過如果還是需要pulse command,那麼高速運轉的 10/09 18:28
→ syatoyan: 精準度下降似乎是無法避免的結論。 10/09 18:29
更精確一點來說,通訊型的伺服(不丟pulse),就可以完全避免掉這個問題
也完全不需要有一個"電子齒輪比"這個參數
通訊不是只有EtherCat而已,通訊方法非常多
Ethernet base的有EtherCat,Sercos, ProFiNet, Ethernet IP, EtherNet TCP/IP...
非乙太基礎的更多,Can Bus , ProFi Bus , ModBus , 標準的串列阜通訊也有人在用..
換句話說,只要可以直接"溝通"的驅動器,就不受限在Pulse command了
IEEE 1394、USB都能拿來通...
再重申一次,其實就應用上來說,要高速運轉又要高控制精度的應用是非常少見的
一般的PTP 應用,很少會拉到非常高的速度。需要高速的應用,也很少需要高定位精度
所以電子齒輪比在實際應用上,並不會真的造成什麼問題
(真的到高階應用就不會用這麼低階的伺服了)
而真正的問題,就在於電子齒輪比並不會造成問題
所以使用者就不認為這有什麼問題,而從根本上不去理解這個東西到底是幹嘛用的
然後在一知半解的情況下,亂七八糟的觀念累積起來
這才是真正的問題。
※ 編輯: wisdom (114.26.81.36), 10/09/2017 20:46:34
推 ej04ej04: 由內文來看,似乎是使用電子齒輪比之前尚未瞭解其定義 10/09 20:56
→ ej04ej04: 所產生之問題,感謝解釋 10/09 20:56
推 annzheng: 謝謝您 10/10 22:39
→ yuleen123: 歐系的伺服就比較會把這些觀念分清楚 10/10 23:35
→ yuleen123: 控制命令解析度, 編碼器解析度, 機械齒輪比, 螺桿導程 10/10 23:36
→ yuleen123: 都是有獨立的參數可以設定 10/10 23:36
推 juijuijuijui: 有學有推,大部分應用的確沒那麼講就,做了5年也都 10/11 08:18
→ juijuijuijui: 用autotune馬達,只有幾次特別應用(追隨和同步) 10/11 08:18
→ juijuijuijui: 找原廠調參數 10/11 08:18
→ Kayusumi: 還有安川的MECHATRALINK阿 10/12 12:40
推 s3f4e9g6aa7: 長知識 10/12 18:51
推 s1000: 推推 10/15 12:27
推 AJE: 多謝分享 10/15 15:15
推 b2481: 長知識了! 以前一直以為是為了減速比或螺桿導程而設計的 10/15 21:24
→ b2481: 原來是控制器太慢造成的 10/15 21:25
推 b2481: 請問原PO,通訊型的伺服若還有電子齒輪比的功能,不就很怪嗎? 10/15 21:28
→ wisdom: 所以純通訊型的伺服就不會有這個參數了。 10/16 00:02
推 duser: 請問原po 這些資訊是在哪裡看到的 10/16 10:05
推 duser: 我看了伺服的說明書,並沒有寫為何要有電子齒輪這功能 10/16 10:07
→ Kayusumi: 還是有啦 10/16 17:08
→ yuleen123: 伺服的說明書只會跟你說參數要如何用 10/16 19:56
→ yuleen123: 很少會說到參數是如何來的, 這要靠經驗或學識自己體會 10/16 19:57
推 duser: 如果是什麼波德圖什麼增益還可以從以前學校的理論找到答案 10/16 21:06
→ duser: 電子齒輪學校就沒教了 10/16 21:07
→ Kayusumi: 學校的確沒教, 剛開始就是接觸通訊型的, 都把這當作物理 10/17 10:08
→ Kayusumi: 意義的轉換而已XD 10/17 10:08