我們知道編碼器的種類有很多,什么增量式編碼器、絕對(duì)值編碼器、光電編碼器、旋轉(zhuǎn)編碼器等等。但不管什么類型的編碼器,其目的都類似,得到電機(jī)轉(zhuǎn)動(dòng)的角度、角速度、位移等,并將這些信息告知伺服驅(qū)動(dòng)器。那么編碼器與伺服驅(qū)動(dòng)器之間的通信協(xié)議又有哪些呢,下面就跟大家一起來看看幾種市場(chǎng)占有率較高的通信協(xié)議,它們分別是:BiSS-C通信協(xié)議、SSi通信協(xié)議、EnDaT通信協(xié)議、多摩川通信協(xié)議。
**1 ** BiSS-C通信協(xié)議
BiSS-C協(xié)議由德國IC-HAUS開發(fā),是一種全雙工同步串行總線型協(xié)議,專門為滿足實(shí)時(shí)、高速、雙向的傳感器通信設(shè)計(jì)。其典型應(yīng)用是在運(yùn)動(dòng)控制領(lǐng)域?qū)崿F(xiàn)伺服驅(qū)動(dòng)器與編碼器通信。現(xiàn)已成為傳感器通信協(xié)議的國際化標(biāo)準(zhǔn)。
目前在市場(chǎng)上支持BiSS-C的驅(qū)動(dòng)器有華中驅(qū)動(dòng)器、上銀驅(qū)動(dòng)器、新代驅(qū)動(dòng)器等,還有一些驅(qū)動(dòng)器廠家可以通過協(xié)議轉(zhuǎn)化器轉(zhuǎn)換來使得BiSS-C協(xié)議轉(zhuǎn)換成驅(qū)動(dòng)器廠家的所需要的協(xié)議,例如西門子的驅(qū)動(dòng)器,自身不支持BiSS-C協(xié)議,通過協(xié)議轉(zhuǎn)化器可以實(shí)現(xiàn)BiSS-C協(xié)議轉(zhuǎn)換,從而達(dá)到與BiSS-C協(xié)議的編碼器通信。
BiSS-C協(xié)議目前已成為伺服驅(qū)動(dòng)編碼器協(xié)議的主流協(xié)議之一,且BiSS-C協(xié)議具有其他協(xié)議不可比擬的優(yōu)勢(shì),主要有以下幾點(diǎn):
(1)成本低
BiSS-C協(xié)議是一種開放式協(xié)議,全數(shù)字特點(diǎn),因此無需協(xié)議產(chǎn)權(quán)成本,全數(shù)字接口無模擬器件的成本。
(2)高速
由于BiSS-C基于RS485/422技術(shù),10MHZ的時(shí)鐘頻率可以使編碼器的位置更新速度達(dá)到了5~20us,如此高的更新速度可以保證伺服驅(qū)動(dòng)系統(tǒng)在低速時(shí)的超平滑控制。通常情況下,絕對(duì)值系統(tǒng)會(huì)發(fā)生“當(dāng)速度轉(zhuǎn)矩抖動(dòng)達(dá)到四倍線速時(shí),性能降低”的現(xiàn)象,而BiSS-C沒有這個(gè)限制,所以帶BiSS-C編碼器的伺服電機(jī)可以幫助設(shè)計(jì)者實(shí)現(xiàn)高精度的響應(yīng)速度需求。
(3)工業(yè)靈活性高
BiSS-C協(xié)議具有總線連接方式、報(bào)警位、數(shù)據(jù)長度可調(diào)等特點(diǎn),使得在工業(yè)領(lǐng)域靈活性更高。BiSS-C協(xié)議主要采用兩種工作模式:傳感器模式和寄存器模式。
傳感器模式:在驅(qū)動(dòng)控制系統(tǒng)下,編碼器將連續(xù)工作于傳感器模式下。傳感器模式下可以根據(jù)數(shù)據(jù)后方的6位CRC校驗(yàn)位來保證數(shù)據(jù)的準(zhǔn)確性,傳輸32位的數(shù)據(jù)僅需約5us,其中包括編碼器內(nèi)部處理延時(shí)。
寄存器模式:寄存器模式既可以讀取編碼器參數(shù),也可以存儲(chǔ)參數(shù)于編碼器,并可以查看更詳細(xì)的報(bào)警內(nèi)容。如污染、離位、過溫、過壓的自定義報(bào)警內(nèi)容。這些參數(shù)可以存放于一個(gè)256字節(jié)的寄存器組,BiSS-C協(xié)議的上位機(jī)可以通過寄存器模式對(duì)編碼器的EEPROM進(jìn)行讀取寫入的操作。
**2 **SSI 通訊協(xié)議
SSI 通訊協(xié)議全稱為同步串行接口(Synchronous Serial interface)。它是絕對(duì)值編碼器一種常用的通信協(xié)議。
在早期的時(shí)候,大多數(shù)采用的是并行輸出。隨著編碼器位數(shù)的增長,并行輸出就不適用了,主要原因是經(jīng)常出現(xiàn)數(shù)據(jù)不準(zhǔn)、錯(cuò)誤的現(xiàn)象。比如在傳輸過程中,只要有一根數(shù)據(jù)線受到干擾出現(xiàn)了問題,就會(huì)影響最終傳輸?shù)臄?shù)據(jù)。所以,在這種背景下SSi協(xié)議就應(yīng)運(yùn)而生。
隨著時(shí)代的發(fā)展,SSi協(xié)議的缺點(diǎn)也逐漸顯現(xiàn),例如隨著傳輸長度的增加,其波特率就要降低,這樣就導(dǎo)致了長距離傳輸要犧牲一部分傳輸速度。其次,SSi協(xié)議沒有延時(shí)補(bǔ)償。不過目前市場(chǎng)上仍有很多設(shè)備使用SSi協(xié)議進(jìn)行通訊。
SSI 通訊的幀格式如圖3所示,數(shù)據(jù)傳輸采用同步方式,在空閑階段不發(fā)生數(shù)據(jù)傳輸?shù)臅r(shí)候時(shí)鐘和數(shù)據(jù)都保持高電位,在第一個(gè)脈沖的下降沿觸發(fā)編碼器載入發(fā)送數(shù)據(jù),然后每一個(gè)時(shí)鐘脈沖的上升沿編碼器送出數(shù)據(jù),數(shù)據(jù)的高位在前,低位在后,當(dāng)傳送完所有的位數(shù)以后時(shí)鐘回到高電平,數(shù)據(jù)也對(duì)應(yīng)回到高電平。
圖3
T 為時(shí)鐘的脈沖頻率,Tm 為單穩(wěn)觸發(fā)時(shí)間,n 為傳輸位數(shù)。傳輸?shù)奈粩?shù)可以是任意的,但實(shí)際使用中單圈編碼器采用 13 位,多圈采用 25 位。對(duì)于從方編碼器而言是無法事先知道主方發(fā)送的時(shí)鐘脈沖個(gè)數(shù)的,因而無法確定幀的起始位和停止位。解決問題的方法是采用高電位保持一段的時(shí)間內(nèi)沒有變化作為幀結(jié)束標(biāo)志。Tm 單穩(wěn)時(shí)間就是指這個(gè)時(shí)間。在實(shí)際應(yīng)用中可以采用一個(gè)單穩(wěn)(軟件或者硬件),把時(shí)鐘輸人作為單穩(wěn)的輸入,通過單穩(wěn)輸出控制 SSI 的數(shù)據(jù)輸出狀態(tài):?jiǎn)畏€(wěn)一旦置位,SSI 的輸出狀態(tài)就要回到初始狀態(tài),準(zhǔn)備開始下一個(gè)數(shù)據(jù)的循環(huán)過程。
**3 **EnDat 協(xié)議
EnDat 口是 HIDENHAIN 為編碼器設(shè)計(jì)的數(shù)字式、全雙工同步串行的數(shù)據(jù)傳輸協(xié)議,它不僅能為增量式和絕對(duì)式編碼器傳輸位置值,同時(shí)也夠傳輸或更新存儲(chǔ)在編碼器中的信息,或保存新的信息。由于使用了串行傳輸方式,所以只需四條信號(hào)線,在后續(xù)電了設(shè)備的時(shí)鐘激勵(lì)下,數(shù)據(jù)信息被同步傳輸。數(shù)據(jù)類型(位置值、參數(shù)、診斷信息等)由后續(xù)電子設(shè)備發(fā)送給編碼器的模式指令選擇決定。
圖4
特點(diǎn):
1.傳輸位置值與附加信息可同時(shí)傳輸,信息的類型可通過存儲(chǔ)地址選擇碼選擇。
2.編碼器數(shù)據(jù)存儲(chǔ)區(qū)域包括編碼器制造商參數(shù)、OEM 廠商參數(shù)、運(yùn)行參數(shù)、運(yùn)行狀態(tài)、便于系統(tǒng)實(shí)現(xiàn)參數(shù)配置。
3.EnDat2.2編碼器實(shí)現(xiàn)了全數(shù)字傳輸,增量信號(hào)的處理在編碼器內(nèi)部完成(內(nèi)置 14bit 細(xì)分),提供了信號(hào)傳輸?shù)馁|(zhì)量和可靠性,可實(shí)現(xiàn)更高的分辨率。
4.監(jiān)控和診斷功能,報(bào)警條件包括:光源失效、信號(hào)幅值不足、位置計(jì)算錯(cuò)誤、運(yùn)行電壓太低或太高、電流消耗太大等;當(dāng)編碼器的一些極限值被接近或超過時(shí)提供警告信號(hào)。
5.更寬的電壓范圍(6-14V)和傳輸速率(16M)。
圖5
在每一幀同步數(shù)據(jù)傳輸時(shí)一個(gè)數(shù)據(jù)包被發(fā)送,傳輸循環(huán)從時(shí)鐘的第一個(gè)下降沿開始測(cè)量值被保存,計(jì)算位置值。在兩個(gè)時(shí)鐘脈沖(2T)后,后續(xù)電子設(shè)備發(fā)送模式指令“編碼器傳輸位置值”(帶或不帶附加信息)。
在計(jì)算出了絕對(duì)位置值后,從起始位開始編碼器向后續(xù)電子設(shè)備傳輸數(shù)據(jù),后續(xù)的錯(cuò)誤位 F1 和 F2(只存在于 EnDat2.2 指令中)是為所有的監(jiān)控功能和故障監(jiān)控服務(wù)的群組信號(hào),他們的生成相互獨(dú)立,用來表示可能導(dǎo)致不正確位置信息的編碼器故障導(dǎo)致故障的確切原因保存在“運(yùn)行狀態(tài)”存儲(chǔ)區(qū),可以被后續(xù)電了設(shè)備查詢。
從最低位開始,絕對(duì)位置值被傳輸,數(shù)據(jù)的長度由使用的編碼器類型決定。傳輸位置值所需的時(shí)鐘脈沖數(shù)保存在編碼器制造商的參數(shù)中。位置值數(shù)據(jù)的傳輸以循環(huán)冗余檢測(cè)碼結(jié)束。
**4 **多摩川協(xié)議
多摩川絕對(duì)值編碼器能夠?qū)崿F(xiàn)單圈 23bit 多圈 16bit 總計(jì)39bit 的高解析度。其數(shù)據(jù)通訊是基于 485 硬件接口標(biāo)準(zhǔn) NRZ 協(xié)議,通訊波特率為 2.5M 的串行通訊。CRC 循環(huán)冗余校驗(yàn)數(shù)據(jù),避免數(shù)據(jù)出錯(cuò)導(dǎo)致異常的問題發(fā)生,通訊距離可達(dá)到 20 米。
圖6
編碼器具備狀態(tài)自建功能,對(duì)于電池欠壓、失效、編碼器計(jì)數(shù)錯(cuò)誤、過速度、碼盤故障等可通過編碼器狀態(tài)位讀取出來。驅(qū)動(dòng)器可通過單獨(dú)的指令對(duì)單圈數(shù)據(jù)或多圈重置零位,可清除故障標(biāo)志位。內(nèi)置 768 字節(jié) EEPROM,可擦寫一萬次以上,可寫于電機(jī)相關(guān)信息,對(duì)于伺服驅(qū)動(dòng)器對(duì)電機(jī)參數(shù)的自動(dòng)識(shí)別提供了可行的途徑。
通訊步驟如下圖所示:
圖7
驅(qū)動(dòng)器向編碼器發(fā)送一個(gè)控制字 CF,3us 后編碼器返回?cái)?shù)據(jù)包,驅(qū)動(dòng)器對(duì)數(shù)據(jù)包進(jìn)行解碼并,主控獲取到信息后開始運(yùn)行相應(yīng)的算法進(jìn)行控制。
以上為幾種常用的編碼器通信協(xié)議,我們可以根據(jù)實(shí)際項(xiàng)目需求選擇相應(yīng)的編碼器將數(shù)據(jù)傳送給伺服驅(qū)動(dòng)器進(jìn)行控制。
評(píng)論
查看更多