深度分析拉力機的光電編碼器
拉力機的光電編碼器,老實說,雖然我們拉力機行業使用編碼器比較多,但是真正精通編碼器,還是沒有內行人懂。所以我在網上找了些專業的資料,推薦給大家。希望對想深入了解拉力機設備的朋友,有所幫助。
首先,編碼器主要功能就是告訴你如何定位。要如何執行,是需要靠數控係統(或者PLC之類控製器)控製伺服或者步進電機來實現定位的,編碼器好比人的眼睛,知道電機軸或者負載處於當前某個位置,工業上用的一般是光電類型編碼器,下邊簡單說明一下。
拉力機的編碼器的原理和位置測量
光電編碼器是在一個很薄很輕的圓盤子上,通過緊密儀器來腐蝕雕刻了很多條細小的縫,相當於把一個360度,細分成很多等分,比如成1024組,這樣每組之間的角度差是360/1024度=0.3515625度。
精密的發光源,安裝在碼盤的一麵,碼盤的另外一麵,會有個接收器之類的,使用了光敏電阻這些元件加放大和整形電路組成,這樣碼盤轉動時候,有縫隙的地方會透光過去,接收器會瞬間收到光脈衝,經過電路處理後,輸出一個電脈衝信號,這樣碼盤旋轉了一周,會對應輸出1024個脈衝,第一個脈衝位置如果是0,第二個脈衝位置就是0.3515625°,第三個脈衝位置是0.3515625°*2,以此類推,這樣隻要有儀器能讀到脈衝個數,就可以知道碼盤對應在什麽位置了,如果把編碼器安裝到電機的軸上,電機軸和碼盤是剛性連接,兩者的位置關係會一一對應,通過讀編碼器脈衝,就可以知道電機的軸位置。
而電機軸,比如會通過同步帶,齒輪,鏈條等帶動一些負載,比如控製絲杆,這樣會有個所謂電子齒輪比的關係,電機轉一圈,絲杆會前進多少毫米,這樣讀到了對應編碼器上輸出多少給脈衝,通過脈衝數就可以反推出當前絲杆的位置。
但是編碼器是圓的,如果無限製旋轉下去,角度會無窮大,所以設計了一種增量型的編碼器,轉一圈,會輸出三組信號ABZ,其中AB是一樣的脈衝,比如上邊說的一圈有1024個脈衝,AB相脈衝對應一圈內的圓周角度,而且兩種脈衝是處於正交狀態的,如果是正反轉,通過判斷AB相脈衝的上升沿和下降沿的先後順序,就可以知道編碼器當前是順時針還是逆時針方向旋轉的。
另外有個Z相脈衝,是因為圓周雖然會不停轉下去,角度會無窮無盡,但是都是一周一周的重複而已,零相脈衝固定在圓周某個位置,編碼器每轉一圈,隻輸出一個零相脈衝,這樣如果以Z相脈衝為基準點,這樣每次讀到這個脈衝時候,係統就清零一次,就可以讓角度最大值控製在360°以內,相當於一個零基準點了。
這樣即使係統斷掉了,重新上電,隻要能找到這個基準點,就可以知道絲杆的初始位置在什麽地方了。
以上這種定位叫增量坐標係,所以編碼器就是增量型編碼器,應用比較廣泛,因為靈活而且價格便宜。
如果隻設備隻需要轉一圈的,也就是角度在360°內的,編碼器可以細分精密一點,比如有13位,相當於2^13次方個脈衝一圈,對應著360°,這種脈衝數和角度一一對應,不怕係統斷電需要重新調整零位,這種編碼器叫單圈絕對值編碼器。如果負載需要轉多圈的,但是這個圈數也不能非常多,比如5圈,相當於5*360°=1800°,這樣脈衝和1800°一一對應,這些在一些高檔的數控機床上應用比較多,可以知道絲杆或者一些旋轉工作的當前精密位置,而且不用擔心係統斷電歸零問題。
此外,編碼器還有磁電方式的,比如在碼盤上加工了很多個南北間隔的小磁鐵,通過霍爾去讀小磁鐵信號,輸出信號,同樣經過放大和整形變成了電脈衝,這點和光電編碼器是類似的,而且價格會便宜點,可靠性會高,但是精度就比光電要差點。
PLC如何通過編碼器判斷位置
PLC能輸入開關量,也就是一高一低的電平電壓,而編碼器脈衝信號,可以理解一定時間內,用極快的速度完成的一組開關量。但是因為這種開關量的頻率太高了,所以PLC的普通I/O口是無法準確讀到這些脈衝的個數的,因為PLC工作過程中存在掃描周期,需要每個一段時間才去刷新一下普通I/O口的數據,而編碼器的精度太高了,單位時間內輸出的脈衝個數太多,普通I/O是無法勝任的。
一般PLC會設計有高速計數端口,本質是利用了底層單片機的硬件邏輯來完成這些編碼器計數的,避開了掃描周期問題,PLC都設計有專門的高速計數指令,使用的時候,直接調用這些指令就可以讀到當前的脈衝值了。
但是脈衝的計算和輸出上,由於掃描周期存在,往往也會存在著滯後影響,如果用來控製一些執行機構,比如氣缸來動作裁切動作,這樣要考慮提前量的補償問題。
提醒一下,如果想用PLC來控製伺服或者步進係統,往往並不需要通過編碼器反饋來判斷位置,通過一些PLS指令之類的來發出位置脈衝給伺服驅動器,位置環在伺服驅動器內部構成就好,而PLC這邊隻是一個指令機構,並沒有構成位置閉環,當然如果是專門定位模塊控製,使用了NC之類的控製方式,是可以在裏邊構建位置閉環的。