嚴(yán)格來講,編碼器只會告訴你該如何定位,要如何執(zhí)行,是需要靠數(shù)控系統(tǒng)(或者PLC之類控制器)控制伺服或者步進電機來實現(xiàn)定位的,編碼器好比人的眼睛,知道電機軸或者負(fù)載處于當(dāng)前某個位置,工業(yè)上用的一般是光電類型編碼器,下邊簡單說明一下
編碼原理和位置測量
光電編碼器是在一個很薄很輕的圓盤子上,通過緊密儀器來腐蝕雕刻了很多條細(xì)小的縫,相當(dāng)于把一個360度,細(xì)分成很多等分,比如成1024組,這樣每組之間的角度差是360/1024度=0.3515625度。
然后有個精密的發(fā)光源,安裝在碼盤的一面,碼盤的另外一面,會有個接收器之類的,使用了光敏電阻這些元件加放大和整形電路組成,這樣碼盤轉(zhuǎn)動時候,有縫隙的地方會透光過去,接收器會瞬間收到光脈沖,經(jīng)過電路處理后,輸出一個電脈沖信號,這樣碼盤旋轉(zhuǎn)了一周,會對應(yīng)輸出1024個脈沖,第一個脈沖位置如果是0,第二個脈沖位置就是0.3515625°,第三個脈沖位置是0.3515625°*2,以此類推,這樣只要有儀器能讀到脈沖個數(shù),就可以知道碼盤對應(yīng)在什么位置了,如果把編碼器安裝到電機的軸上,電機軸和碼盤是剛性連接,兩者的位置關(guān)系會一一對應(yīng),通過讀編碼器脈沖,就可以知道電機的軸位置。
PLC如何通過編碼器判斷位置PLC能輸入開關(guān)量,也就是一高一低的電平電壓,而編碼器脈沖信號,可以理解一定時間內(nèi),用極快的速度完成的一組開關(guān)量。但是因為這種開關(guān)量的頻率太高了,所以PLC的普通I/O口是無法準(zhǔn)確讀到這些脈沖的個數(shù)的,因為PLC工作過程中存在掃描周期,需要每個一段時間才去刷新一下普通I/O口的數(shù)據(jù),而編碼器的精度太高了,單位時間內(nèi)輸出的脈沖個數(shù)太多,普通I/O是無法勝任的。
一般PLC會設(shè)計有高速計數(shù)端口,本質(zhì)是利用了底層單片機的硬件邏輯來完成這些編碼器計數(shù)的,避開了掃描周期問題,PLC都設(shè)計有專門的高速計數(shù)指令,使用的時候,直接調(diào)用這些指令就可以讀到當(dāng)前的脈沖值了。
但是脈沖的計算和輸出上,由于掃描周期存在,往往也會存在著滯后影響,如果用來控制一些執(zhí)行機構(gòu),比如氣缸來動作裁切動作,這樣要考慮提前量的補償問題。
提醒一下,如果想用PLC來控制伺服或者步進系統(tǒng),往往并不需要通過編碼器反饋來判斷位置,通過一些PLS指令之類的來發(fā)出位置脈沖給伺服驅(qū)動器,位置環(huán)在伺服驅(qū)動器內(nèi)部構(gòu)成就好,而PLC這邊只是一個指令機構(gòu),并沒有構(gòu)成位置閉環(huán),當(dāng)然如果是專門定位模塊控制,使用了NC之類的控制方式,是可以在里邊構(gòu)建位置閉環(huán)的。