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