增強電機控制編碼器應(yīng)用的通信可靠性和性能
旋轉(zhuǎn)編碼器廣泛用于工業(yè)自動化系統(tǒng)中。此類編碼器的典型應(yīng)用是電力機械,其中編碼器連接到旋轉(zhuǎn)軸,從而向控制系統(tǒng)提供反饋。雖然編碼器的主要用途是角度位置和速度測量,但系統(tǒng)診斷和參數(shù)配置等其他特性也很常見。圖 1 顯示了一個電機控制信號鏈,其利用 RS-485 收發(fā)器和微處理器連接絕對編碼器 (ABS 編碼器)從機和工業(yè)伺服驅(qū)動器主機,以實現(xiàn)對交流電機的閉環(huán)控制。
伺服驅(qū)動器和ABS編碼器之間的 RS-485 通信鏈路通常要求最高達(dá) 16 MHz 的高數(shù)據(jù)速率和低傳播延遲時序規(guī)格。RS-485 線纜延伸長度最大值通常是 50 米,但有時候也可能長達(dá) 150 米。對數(shù)據(jù)通信而言,電機控制編碼器應(yīng)用是具有挑戰(zhàn)性的環(huán)境,因為電氣噪聲和長電纜會影響 RS-485 信號傳輸?shù)耐暾浴1疚闹攸c闡述電機控制應(yīng)用采用 ADI 公司 50 Mbps (25 MHz) ADM3065E RS-485 收發(fā)器和 ADSP-CM40x 混合信號控制處理器的主要好處。
圖 1.利用 RS-485 連接絕對編碼器從機和伺服驅(qū)動器主機,實現(xiàn)對交流電機的閉環(huán)控制。
ADM3065E RS-485 收發(fā)器設(shè)計用于在電機控制編碼器之類惡劣環(huán)境中可靠地工作,并且具備增強的抗擾度和 (IEC) 61000-4-2 ESD (靜電放電)魯棒性。
抗擾度
RS-485 信號傳輸是平衡的差分式傳輸,本身便能抗干擾。系統(tǒng)噪聲均等地耦合到 RS-485 雙絞線電纜中的每條導(dǎo)線。一個信號的發(fā)射與另一個信號相反,耦合到 RS-485 總線的電磁場彼此抵消。這降低了系統(tǒng)的電磁干擾 (EMI)。此外,ADM3065E 增強的 2.1 V 驅(qū)動強度支持在通信中實現(xiàn)更高的信噪比 (SNR)。給 ADM3065E 增加信號隔離可利用 ADuM141D 輕松實現(xiàn)。ADuM141D 是一款采用 ADI 公司 iCoupler® 技術(shù)的四通道數(shù)字隔離器。ADuM141D 的工作數(shù)據(jù)速率最高可達(dá) 150 Mbps,因此它適合與 50 Mbps ADM3065E RS-485 收發(fā)器一起工作(參見圖 2)。直接功率注入 (DPI) 法測量器件抑制注入到電源或輸入引腳的噪聲的能力。ADuM141D 采用的隔離技術(shù)已通過測試,符合 DPI IEC 62132-4 標(biāo)準(zhǔn)。ADuM141D 抗擾度性能超過同類產(chǎn)品。ADuM141D 在整個頻率范圍內(nèi)保持了出色的性能,而其他隔離產(chǎn)品在 200 MHz 至 700 MHz 頻段出現(xiàn)位錯誤。
圖 2.信號隔離的 50 Mbps RS-485 解決方案(簡化圖,未顯示全部連接)。
IEC 61000-4-2 ESD 性能
編碼器到電機驅(qū)動器的裸露 RS-485 連接器和線纜上的 ESD 是一個常見系統(tǒng)危險因素。與變速電力驅(qū)動系統(tǒng)的 EMC 抗擾度要求相關(guān)的系統(tǒng)級 IEC 61800-3 標(biāo)準(zhǔn),要求最低 ±4 kV (接觸)/±8 kV (空氣)的 IEC 61000-4-2 ESD 保護。ADM3065E 超過了這一要求,提供 ±12 kV (接觸)/±12 kV (空氣)的 IEC 61000-4-2 ESD 保護。圖 3 所示為 IEC 61000-4-2 標(biāo)準(zhǔn)中的 8 kV 接觸放電電流波形與人體模型 (HBM) ESD 8 kV 波形的對比。從圖 4 中可以看出,兩個標(biāo)準(zhǔn)規(guī)定的波形形狀和峰值電流是不同的。與 IEC 61000-4-2 8 kV 脈沖關(guān)聯(lián)的峰值電流為 30 A,相應(yīng)的 HBM ESD 峰值電流比該數(shù)值的五分之一還小,為 5.33A。另一差異為初始電壓尖峰的上升時間,對于 IEC 61000-4-2 ESD,上升時間為 1 ns,相較于與 HBM ESD 波形關(guān)聯(lián)的 10 ns 時間要快得多。與 IEC ESD 波形關(guān)聯(lián)的功率值顯著大于 HBMESD 波形的相應(yīng)值。HBM ESD 標(biāo)準(zhǔn)要求待測設(shè)備 (EUT) 經(jīng)受 3 次正放電和 3 次負(fù)放電,而 IEC ESD 標(biāo)準(zhǔn)則要求 10 次正放電和 10 次負(fù)放電測試。與標(biāo)稱多種 HBM ESD 保護級別的其他 RS-485 收發(fā)器相比,具有 IEC 61000-4-2 ESD 額定值的 ADM3065E 更適合在惡劣環(huán)境中工作。
圖 3.IEC 61000-4-2 ESD 波形 (8 kV) 與 HBM ESD 波形 (8 kV) 的對比
EnDat 通信協(xié)議
編碼器使用的通信協(xié)議有很多種,例如 EnDat、BiSS、HIPERFACE 和 Tamagawa。盡管有區(qū)別,但編碼器通信協(xié)議在實現(xiàn)方面具有相似點。這些協(xié)議的接口是串行雙向管道,符合 RS-422 或 RS-485 電氣規(guī)范。雖然硬件層有相同之處,但運行每種協(xié)議所需的軟件是獨一無二的。通信堆棧和所需的應(yīng)用程序代碼均特定于協(xié)議。本文主要說明 EnDat 2.2 接口主機側(cè)的硬件和軟件實現(xiàn)。
延遲影響
延遲分為兩類:第一類是電纜的傳輸延遲,第二類是收發(fā)器的傳播延遲。電纜延遲由光速和電纜的電介質(zhì)常數(shù)決定,典型值為 6 ns/m 至 10 ns/m。當(dāng)總延遲超過半時鐘周期時,主機和從機之間的通信就會出故障。對此,設(shè)計人員有如下選擇:
• 降低數(shù)據(jù)速率
• 減小傳播延遲
• 在主機側(cè)提供延遲補償
選項 3 可同時補償電纜延遲和收發(fā)器延遲,因此是確保系統(tǒng)能以高時鐘速率通過長電纜運行的有效辦法。缺點是延遲補償會增加系統(tǒng)的復(fù)雜性。在延遲補償不可行的系統(tǒng)中,或在電纜較短的系統(tǒng)中,使用傳播延遲短的收發(fā)器具有明顯的優(yōu)勢。低傳播延遲使得時鐘速率可以更高,而且不必在系統(tǒng)中引入延遲補償。
主機實現(xiàn)
主機實現(xiàn)包括串行端口和通信堆棧。編碼器協(xié)議并不兼容標(biāo)準(zhǔn)端口(例如 UART),故無法使用大多數(shù)通用微控制器上的外設(shè)。不過,利用 FPGA的可編程邏輯可以在硬件中實現(xiàn)專用通信端口,并支持延遲補償?shù)雀呒壧匦?。FPGA 方法雖然很靈活,可以針對具體應(yīng)用進行定制,但也有缺點。與處理器相比,F(xiàn)PGA 成本高,功耗大,而且上市時間長。
本文討論的 EnDat 接口是在 ADI 公司的 ADSP-CM40x 上實現(xiàn),后者是一款針對電機控制驅(qū)動器而開發(fā)的處理器。除了脈寬調(diào)制器 (PWM) 定時器、模數(shù)轉(zhuǎn)換器 (ADC) 和 sinc 濾波器等用于電機控制的外設(shè)以外,ADSP-CM40x 還有高度靈活的串行端口 (SPORT)。
這些 SPORT 可以仿真多種協(xié)議,包括 EnDat 和 BiSS 等編碼器協(xié)議。由于 ADSP-CM40x 的外設(shè)很豐富,所以它不僅能執(zhí)行高級電機控制,而且能與編碼器接口。換言之,無需使用 FPGA。
測試設(shè)置
EnDat 2.2 測試設(shè)置如圖 4 所示。EnDat 從機是 Kollmorgen 的一款標(biāo)準(zhǔn)伺服電機 (AKM22),EnDat 編碼器 (ENC1113) 安裝在軸上。三對線(數(shù)據(jù)、時鐘和電源線)將編碼器連接到收發(fā)器板。EnDat PHY 上有兩個收發(fā)器和用于編碼器的電源。一個收發(fā)器用于時鐘,另一個收發(fā)器用于數(shù)據(jù)線路。EnDat 主機由 ADSP-CM40x 結(jié)合標(biāo)準(zhǔn)外設(shè)和軟件而實現(xiàn)。發(fā)送端口和接收端口均利用靈活的 SPORT 實現(xiàn)。
圖 4.實驗設(shè)置
EnDat 協(xié)議包括多種長度不同的幀,不過這些幀全都基于相同序列,如圖 5 所示。首先,主機發(fā)送命令至從機,然后從機處理命令并執(zhí)行必要的計算。最后,從機將結(jié)果送回主機。
圖 5.EnDat 發(fā)送/接收序列
發(fā)送時鐘 (Tx CLK) 由處理器 ADSP-CM40x 產(chǎn)生。由于系統(tǒng)延遲,來自編碼器的數(shù)據(jù)在返回處理器之前會與發(fā)送時鐘錯相。為補償傳輸延遲 tDELAY,處理器還會產(chǎn)生一個接收時鐘 (Rx CLK),它比發(fā)送時鐘延遲 tDELAY。讓接收時鐘與自從機收到的數(shù)據(jù)同相是補償傳輸延遲的有效辦法。
來自處理器的時鐘信號是連續(xù)的,而 EnDat 協(xié)議規(guī)定,時鐘只能在通信期間施加于編碼器。在所有其他時候,時鐘線路必須保持高電平。為此,處理器產(chǎn)生一個時鐘使能信號 CLK EN,其被送至 ADM3065E 數(shù)據(jù)使能引腳。恰好兩個時鐘周期 (2T) 之后,主機開始在 Tx DATA 上發(fā)出命令。
命令有 6 位長,隨后是兩個 0 位。為了控制收發(fā)器的數(shù)據(jù)方向,處理器在傳輸時將 Tx/Rx EN 位置 1。
在從機準(zhǔn)備響應(yīng)的同時,系統(tǒng)進入等待狀態(tài),主機繼續(xù)施加時鐘,但數(shù)據(jù)線無效。當(dāng)從機準(zhǔn)備就緒時,數(shù)據(jù)線接收數(shù)據(jù)被拉高,然后立即發(fā)送響應(yīng)。收到 n 位響應(yīng)之后,主機將 CLK EN 信號設(shè)為低電平以停止時鐘。與此同時,ENC CLK 信號變?yōu)楦唠娖健?shù)據(jù)流為半雙工式, ENC 數(shù)據(jù)圖為畫在一起的收發(fā)數(shù)據(jù)流。
實驗結(jié)果
圖 6 顯示了 EnDat 系統(tǒng)的測試結(jié)果。測試使用的時鐘頻率為 8 MHz,延遲補償通過接收時鐘相移實現(xiàn)。底部信號是來自 EnDat 主機的命令。此處顯示的命令為“發(fā)送位置”,其前面是兩個 0,接著是六個 1,最后又是兩個 0。該命令總共有 10 位。編碼器的響應(yīng)是從頂部起的第三個信號。合并數(shù)據(jù)線是從頂部起的第二個信號。最后,頂部信號是施加于編碼器的時鐘。
圖 6.EnDat 數(shù)據(jù)交換