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