《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的伺服驅動器分周比的實現(xiàn)
基于FPGA的伺服驅動器分周比的實現(xiàn)
摘要: 本文提出的分周比實現(xiàn)方法可以準確地將光電編碼器輸出的正交信號按照設定的分周比進行分頻。通過設定分頻比可以實現(xiàn)1~256倍的分頻,甚至更 高。在實際系統(tǒng)中,還可以利用MCU通過總線在線配置分周比。假如要實現(xiàn)分數(shù)比例的分周比,也只需在本方案基礎上稍加改進即可。
Abstract:
Key words :
引 言

  電動機是各類數(shù)控機床的重要執(zhí)行部件。要實現(xiàn)對電動機的精確位置控制,轉子的位置必須能夠被精確的檢測出來。光電編碼器是目前最常用的檢測器 件。光電編碼器分為增量式、絕對式和混合式。其中,增量式以其構造簡單,機械壽命長,易實現(xiàn)高分辨率等優(yōu)點,已被廣泛采用。增量式光電編碼器輸出有 A,B,Z三相信號,其中A相和B相相位相差90°,Z相是編碼器的“零位”,每轉只輸出一個脈沖。在應用中,經常需要對A相、B相正交脈沖按照一定的比 例,即分周比進行分頻。分頻的難點是,無論設定分周比是整數(shù)還是分數(shù),分頻后輸出的A'相,B'相脈沖仍然要保持正交或近似正交。為此提出一種基于 FPGA的整數(shù)分周比實現(xiàn)方法。該方法邏輯結構簡單,配置靈活,易于擴展,具有很高的實用價值。

  1 電子齒輪比與分周比

  電子齒輪比與分周比是數(shù)控機床和數(shù)控加工中心中一個很重要的概念。國外大部分伺服驅動裝置有電子齒輪比和分周比功能,其中電子齒輪比KEG為伺 服電機實際執(zhí)行的脈沖量與指令脈沖量之比,分周比KDF是伺服驅動器接收到來自伺服電動機軸上脈沖編碼器的脈沖量與實際反饋到上位伺服控制系統(tǒng)(CNC) 上脈沖量的比。配合使用電子齒輪比和分周比功能,用戶可以方便地實現(xiàn)整數(shù)脈沖當量,從而避免中間計算出現(xiàn)量化誤差,在不修改G代碼的情況下,將代碼直接移 植到配備不同電機編碼器線數(shù)或者不同螺距絲杠的機床或者加工中心。

  電子齒輪比和分周比可以按照下式計算求得。

公式

  式中:PG為電機光電編碼器線數(shù),單位為P/rev(脈沖/轉);P為絲杠螺距,單位為mm/rev(毫米/周);△l為脈沖當量,單位為mm/P(毫米/脈沖);m/n為減速比。

公式

  電子齒輪比可以利用脈沖頻率的變換實現(xiàn),而對于分周比,由于驅動器反饋到CNC的脈沖量一般采用正交脈沖序列,故分周比的實現(xiàn)相對于齒輪比要困 難。國外的各種驅動器一般都帶有分周比功能,對利用FPGA實現(xiàn)分周比進行研究和探討,電子齒輪比、分周比功能示意圖如圖1所示。

電子齒輪比

  2 分周比的原理框圖

  分周比功能的實現(xiàn)結構如圖2所示。

分周比功能的實現(xiàn)結構

  分周比的實現(xiàn)需要3個功能模塊:四倍頻模塊QD-PF、分頻模塊DF、正交序列生成模塊OSG。QDPF模塊的輸入為正交脈沖序列,輸出為方向 信號和四倍頻后的脈沖。DF模塊可實現(xiàn)輸入脈沖的三分頻。DF內部是一個增減計數(shù)器,根據(jù)輸入的方向信號進行增、減計數(shù),正向計至設定的正閾值后輸出一個 脈沖和正方向信號,負向計至設定的負閾值后輸出一個脈沖和負方向信號。當計數(shù)值在正負閾值之間時,即使電機方向發(fā)生變化,甚至抖動,輸出方向信號都保持不 變。

  OSG模塊用輸入脈沖沿觸發(fā)內部狀態(tài)機進行狀態(tài)轉換,根據(jù)輸入的方向信號判決要跳轉的狀態(tài),從而產生正交信號和方向信號。

  3 仿真研究

  根據(jù)圖2,利用ACTEL公司的Libro 8.1開發(fā)平臺,采用VHDL硬件語言,創(chuàng)建了相應的功能模塊,原理圖如圖3所示。

分周比功能Libro原理圖

  圖3中,PA205,PB206分別是原始差分信號的A相、B相的輸入引腳。信號經QDPF四倍頻后將方向信號和脈沖信號輸出給DF分頻模塊。 經DF分頻后將脈沖、方向信號輸出給正交脈沖生成模塊OSG,產生帶相位的正交信號,最后從PA119,PB120反饋到CNC。下面對主要模塊做分別介 紹。

  四倍頻模塊QDPF:正交信號的四倍頻方法有很多種,在很多資料中都涉及,在此不做詳細介紹。

  分頻模塊DF按照初始化配置的分周比或者預先設定的分周比,對輸入CLK_IN引腳的脈沖序列分頻。內部的增、減計數(shù)器根據(jù)輸入DIR_IN引 腳的方向信號對輸入脈沖進行增(DIR_IN=1)或減(DIR_IN=0)計數(shù),增計數(shù)至正閾值時輸出一個脈沖和正方向信號(DIR_OUT=1),減 計數(shù)至負閾值是輸出一個脈沖和負方向信號(DIR_OUT=0)。若計數(shù)值在正、負閾值之間時,不論電機反向,還是在閾值見抖動,即方向反復變化,輸出方 向信號都保持不變。這是能正確實現(xiàn)分頻的關鍵,如果這一步處理不好,電機定位后可能會出現(xiàn)不斷向CNC發(fā)脈沖的情況。以三分頻為例,即計數(shù)器增計數(shù)至3后 輸出一個正脈沖(正方向信號+脈沖),計數(shù)器減計數(shù)至-3后輸出一個負脈沖(負方向信號+脈沖)。計數(shù)值在(-3,3)時,計數(shù)器只對脈沖計數(shù)而不輸出。 對QDPF 的仿真結果如圖4所示。

對QDPF 的仿真結果

  OSG被脈沖信號的上升沿觸發(fā)后,根據(jù)當前狀態(tài)和方向信號,跳到下一個狀態(tài)。當方向信號為正時,按照外環(huán)的逆時針方向切換狀態(tài),產生A'相超前 B'相 90°的正交脈沖序列;當方向信號為負時,按照內環(huán)的順時針方向切換狀態(tài),產生B'相超前A'相90°的正交脈沖序列,仿真如6所示。

OSG狀態(tài)轉換圖

 圖6中,dir為方向信號,其跳變沿即方向變化處。由圖6可見,電機正轉時順序為10→11→01→00(反向)→01→11→10→…。實現(xiàn)了相位隨輸入信號的切換。

OSG模塊仿真結果

  最后,對分周比功能整體結構進行仿真,輸入為正交的脈沖序列。輸入模仿實際電機光電編碼器脈沖輸出對脈沖相位反復切換以驗證電機定位后的輸出。仿真如圖7所示。

分周比整體仿真結果

  從圖7中可見,當輸入信號pula,pulb相位不斷切換時,輸出pula1,pulb1按照3分頻,滿足3或-3后輸出新的正交序列。實際實驗波形如圖8所示。

實際實驗波形

  圖8中,波形1、波形2分別是光電編碼器輸出的A相、B相正交脈沖。波形3、波形4分別是對A相、B相正交脈沖3分頻后的A'相、B'相正交脈 沖。觀察圖 7,圖8,結果一致。用此方案實現(xiàn)的分周比已經成功應用于高精度伺服驅動器中,在實際應用中反復驗證,未發(fā)現(xiàn)誤差。

  4 結 語

  本文提出的分周比實現(xiàn)方法可以準確地將光電編碼器輸出的正交信號按照設定的分周比進行分頻。通過設定分頻比可以實現(xiàn)1~256倍的分頻,甚至更 高。在實際系統(tǒng)中,還可以利用MCU通過總線在線配置分周比。假如要實現(xiàn)分數(shù)比例的分周比,也只需在本方案基礎上稍加改進即可。

此內容為AET網(wǎng)站原創(chuàng),未經授權禁止轉載。