編碼器的(de)定位功能,用(yòng)PLC怎麽實現?
2020-7-30新聞
嚴格來(lái)講,編碼器隻會告訴你如何定位,要如何執行,是需要靠PLC之類控制器或者步進電機來(lái)實現定位的(de),編碼器好比人(rén)的(de)眼睛,知道電機軸或者負載處于當前某個(gè)位置,工業上用(yòng)的(de)一般是光(guāng)電類型編碼器,下(xià)邊簡單說明(míng)一下(xià)。
編碼原理(lǐ)和(hé)位置測量
光(guāng)電編碼器是在一個(gè)很薄很輕的(de)圓盤子上,通(tōng)過緊密儀器來(lái)腐蝕雕刻了(le)很多(duō)條細小的(de)縫,相當于把一個(gè)360度,細分(fēn)成很多(duō)等分(fēn),比如成1024組,這(zhè)樣每組之間的(de)角度差是360/1024度=0.3515625度。
然後有個(gè)精密的(de)發光(guāng)源,安裝在碼盤的(de)一面,碼盤的(de)另外一面,會有個(gè)接收器之類的(de),使用(yòng)了(le)光(guāng)敏電阻這(zhè)些元件加放大(dà)和(hé)整形電路組成,這(zhè)樣碼盤轉動時(shí)候,有縫隙的(de)地方會透光(guāng)過去。
接收器會瞬間收到光(guāng)脈沖,經過電路處理(lǐ)後,輸出一個(gè)電脈沖信号,這(zhè)樣碼盤旋轉了(le)一周,會對(duì)應輸出1024個(gè)脈沖,第一個(gè)脈沖位置如果是0,第二個(gè)脈沖位置就是0.3515625°,第三個(gè)脈沖位置是0.3515625°*2。
以此類推,這(zhè)樣隻要有儀器能讀到脈沖個(gè)數,就可(kě)以知道碼盤對(duì)應在什(shén)麽位置了(le),如果把編碼器安裝到電機的(de)軸上,電機軸和(hé)碼盤是剛性連接,兩者的(de)位置關系會一一對(duì)應,通(tōng)過讀編碼器脈沖,就可(kě)以知道電機的(de)軸位置。
而電機軸,比如會通(tōng)過同步帶,齒輪,鏈條等帶動一些負載,比如控制絲杆,這(zhè)樣會有個(gè)所謂電子齒輪比的(de)關系,電機轉一圈,絲杆會前進多(duō)少毫米,這(zhè)樣讀到了(le)對(duì)應編碼器上輸出多(duō)少給脈沖,通(tōng)過脈沖數就可(kě)以反推出當前絲杆的(de)位置。
但是編碼器是圓的(de),如果無限制旋轉下(xià)去,角度會無窮大(dà),所以設計了(le)一種增量型的(de)編碼器,轉一圈,會輸出三組信号ABZ,其中AB是一樣的(de)脈沖。
比如上邊說的(de)一圈有1024個(gè)脈沖,AB相脈沖對(duì)應一圈内的(de)圓周角度,而且兩種脈沖是處于正交狀态的(de),如果是正反轉,通(tōng)過判斷AB相脈沖的(de)上升沿和(hé)下(xià)降沿的(de)先後順序,就可(kě)以知道編碼器當前是順時(shí)針還(hái)是逆時(shí)針方向旋轉的(de)。
另外有個(gè)Z相脈沖,是因爲圓周雖然會不停轉下(xià)去,角度會無窮無盡,但是都是一周一周的(de)重複而已,零相脈沖固定在圓周某個(gè)位置,編碼器每轉一圈,隻輸出一個(gè)零相脈沖。
這(zhè)樣如果以Z相脈沖爲基準點,這(zhè)樣每次讀到這(zhè)個(gè)脈沖時(shí)候,系統就清零一次,就可(kě)以讓角度最大(dà)值控制在360°以内,相當于一個(gè)零基準點了(le)。
這(zhè)樣即使系統斷掉了(le),重新上電,隻要能找到這(zhè)個(gè)基準點,就可(kě)以知道絲杆的(de)初始位置在什(shén)麽地方了(le)。
以上這(zhè)種定位叫增量坐(zuò)标系,所以編碼器就是增量型編碼器,應用(yòng)比較廣泛,因爲靈活而且價格便宜。如果隻設備隻需要轉一圈的(de),也(yě)就是角度在360°内的(de),編碼器可(kě)以細分(fēn)精密一點,比如有13位,相當于2^13次方個(gè)脈沖一圈,對(duì)應著(zhe)360°,這(zhè)種脈沖數和(hé)角度一一對(duì)應,不怕系統斷電需要重新調整零位,這(zhè)種編碼器叫單圈絕對(duì)值編碼器。
如果負載需要轉多(duō)圈的(de),但是這(zhè)個(gè)圈數也(yě)不能非常多(duō),比如5圈,相當于5*360°=1800°,這(zhè)樣脈沖和(hé)1800°一一對(duì)應,這(zhè)些在一些高(gāo)檔的(de)數控機床上應用(yòng)比較多(duō),可(kě)以知道絲杆或者一些旋轉工作的(de)當前精密位置,而且不用(yòng)擔心系統斷電歸零問題。
此外,編碼器還(hái)有磁電方式的(de),比如在碼盤上加工了(le)很多(duō)個(gè)南(nán)北(běi)間隔的(de)小磁鐵,通(tōng)過霍爾去讀小磁鐵信号,輸出信号,同樣經過放大(dà)和(hé)整形變成了(le)電脈沖,這(zhè)點和(hé)光(guāng)電編碼器是類似的(de),而且價格會便宜點,可(kě)靠性會高(gāo),但是精度就比光(guāng)電要差點。
PLC如何通(tōng)過編碼器判斷位置
PLC能輸入開關量,也(yě)就是一高(gāo)一低的(de)電平電壓,而編碼器脈沖信号,可(kě)以理(lǐ)解一定時(shí)間内,用(yòng)極快(kuài)的(de)速度完成的(de)一組開關量。
但是因爲這(zhè)種開關量的(de)頻(pín)率太高(gāo)了(le),所以PLC的(de)普通(tōng)I/O口是無法準确讀到這(zhè)些脈沖的(de)個(gè)數的(de),因爲PLC工作過程中存在掃描周期,需要每個(gè)一段時(shí)間才去刷新一下(xià)普通(tōng)I/O口的(de)數據,而編碼器的(de)精度太高(gāo)了(le),單位時(shí)間内輸出的(de)脈沖個(gè)數太多(duō),普通(tōng)I/O是無法勝任的(de)。
一般PLC會設計有高(gāo)速計數端口,本質是利用(yòng)了(le)底層單片機的(de)硬件邏輯來(lái)完成這(zhè)些編碼器計數的(de),避開了(le)掃描周期問題,PLC都設計有專門的(de)高(gāo)速計數指令,使用(yòng)的(de)時(shí)候,直接調用(yòng)這(zhè)些指令就可(kě)以讀到當前的(de)脈沖值了(le)。
但是脈沖的(de)計算(suàn)和(hé)輸出上,由于掃描周期存在,往往也(yě)會存在著(zhe)滞後影(yǐng)響,如果用(yòng)來(lái)控制一些執行機構,比如氣缸來(lái)動作裁切動作,這(zhè)樣要考慮提前量的(de)補償問題。
提醒一下(xià),如果想用(yòng)PLC來(lái)控制伺服或者步進系統,往往并不需要通(tōng)過編碼器反饋來(lái)判斷位置,通(tōng)過一些PLS指令之類的(de)來(lái)發出位置脈沖給伺服驅動器,位置環在伺服驅動器内部構成就好。
而PLC這(zhè)邊隻是一個(gè)指令機構,并沒有構成位置閉環,當然如果是專門定位模塊控制,使用(yòng)了(le)NC之類的(de)控制方式,是可(kě)以在裏邊構建位置閉環的(de)。