• 沒有找到結果。

以 19-bit 串列式編碼器作為低速控制比較基準

第四章 串列式編碼器在低速控制應用

4.5 以 19-bit 串列式編碼器作為低速控制比較基準

Motor

Controller Encoder : 10000 PPR

17-bit

Recorder 19-bit enocder

圖 4-31 控制效能比教實驗架構圖

本段將以另一種不同的方法來測量編碼器解析度的提升對低速控制的效能改善,以 上述實驗所使用的兩組馬達,分別對接上本文所研發的 19-bit 串列式編碼器,編碼器獨 立運作於馬達控制器外,以 7.5 KHz 速度紀錄位置,再使用 Matlab 軟體直接以 PC 差分 計算兩次取樣間的位置變化,由此來比較兩種不同編碼器的低速控制效能。

首先討論 19-bit 編碼器的最小位置解析度

rpm

8583 . 2 0

60 7500

17

× =

(4.22)

也就是說 19-bit 編碼器最小可直接偵測到的轉速是 0.8583rpm 左右,以下則是以 19-bit 編碼器作為測試基準,於裝有傳統編碼器及 17-bit 編碼器兩種不同編碼器的伺服 馬達低速控制結果

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

Test for Encoder in 30rpm

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

Test for 17bit encoderin 30rpm

(a) 30rpm 時傳統編碼器 (b) 30rpm 時 17-bit 編碼器

Test for Encoder in 10rpm

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

Test for 17bit encoder in 10rpm

(c) 10rpm 時傳統編碼器 (d) 10rpm 時 17-bit 編碼器

Test for Encoder in 5rpm

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

Test for 17bit encoderin 5rpm

(e) 5rpm 時傳統編碼器 (f) 5rpm 時 17-bit 編碼器

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

Test for Encoder in 3rpm

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

Test for 17bit encoderin 3rpm

(g) 3rpm 時傳統編碼器 (h) 3rpm 時 17-bit 編碼器

Test for Encoder in 1rpm

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

Test for 17bit encoderin 1rpm

(i) 1rpm 時傳統編碼器 (j) 1rpm 時 17-bit 編碼器

Test for Encoder in 0.5rpm

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

Test for 17bit encoderin 0.5rpm

(k) 0.5rpm 時傳統編碼器 (l) 0.5rpm 時 17-bit 編碼器

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

Test for Encoder in 0.3rpm

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

Test for 17bit encoder in 0.3rpm

(m) 0.3rpm 時傳統編碼器 (n) 0.3rpm 時 17-bit 編碼器

10000PPR 1.8608 1.3182 0.9437 0.5310 0.4066 0.3445

17bit 1.0522 0.6121 0.5046 0.3542 0.3557 0.2527

表 4-9 不同編碼器低速控制效能之平均值比較表(19bit)

10rpm 5rpm 3rpm 1rpm 0.5rpm 0.3rpm 理論值 11.6508 5.8254 3.4953 1.1651 0.5823 0.3495 10000PPR 11.5711 5.7446 3.5418 1.1654 0.5972 0.3769

17bit 11.6454 5.8227 3.4398 1.1667 0.5730 0.3506

0 1 2 3 4 5 6 7 8 9 10 0.2

0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

Variance with Differental Encoder

Velocity(rpm)

Va r

10000PPR 17bit

圖 4-33 不同編碼器控制變異量趨勢(19bit 對接)

由上面兩個比較結果看出裝有 17bit 編碼器的伺服馬達的低速控制效能優於傳統編 碼器,在穩態漣波的抑制上有良好的效果,但就平均值而言兩者的差異量並不大,再次 證明編碼器解析度的提升對於低速控制效能能夠有效的改善。此外也可看出使用傳統編 碼器的伺服馬達控制系統事實上控制效果已經相當優良,雖然裝配的傳統編碼器解析度 遠低於 17-bit 編碼器十倍以上,但控制效能卻僅略遜於 17-bit 編碼器之伺服馬達控制系 統,因為影響低速控制效果的除了編碼器之外,低速估測及控制法則也相當重要。

第5章第五章 結論與未來發展

5.1 結論

本文實現出兩種不同的弦波編碼器的解碼方法,分別以 DSP 及 FPGA 兩種方式實 現,並提出一個專為弦波編碼器解碼使用的 QEP-CORDIC 演算法。再延伸至低速控制 應用方面,比較編碼器的改善對控制效能的影響、不同的速度估測及控制法則在低速控 制的效能。在此歸納出以下幾點結論:

1. 以 DSP-Based 實現線性化解碼:以 F2812 內建 12bitADC 取樣弦波輸入信號之 後,先以外部電壓校準法及多通道取樣平均法去除雜訊及 ADC 取樣誤差,再進 行線性化解碼計算及補償,最後整合粗略解碼位置及精細解碼位置後可完成 19-bit 弦波編碼器之解碼,全部需花費75.88

μ s

,最快解碼速度為 13.1 KHz。

2. 狀態轉換計數器:設計一個狀態機制計數弦波編碼器狀態轉換次數,提供一個 能夠完全解決粗略解碼位置與精細解碼位置錯位的方法,但轉速超過 1800rpm 後此法便不適用。

3. 以 FPGA-Based 實現 QEP-CORDIC 演算法解碼:以 unrolled 架構執行 14 次 QEP-CORDIC 遞迴運算需要 20 個系統週期,完成 19-bit 解碼約需

150 ns

,最快 可達 6.666 MHz,但因受到外部 ADC 串列通訊之影響,更新速度僅為 245 KHz。

設有串列通訊 SPI 介面及並列通訊介面兩種供使用者選用,全部共使用約 21000 個邏輯閘。

4. 串列編碼器應用之低速估測法:比較差分法加低通濾波器、最小平方近似法及 卡曼濾波器三種不同的速度估測法,在低速命令時三種估測法平均值都與命令 相近,但卡曼濾波器擁有最小的變異量,表示卡曼濾波器最適合低速估測之使 用。

5. 串列編碼器應用之低速控制法:比較傳統 PI 控制器與 PI 控制器外加狀態回授控

制兩種控制法,實驗顯示 PI 控制器的速度回授漣波大小會隨著速度命令而有所 改變,外加狀態回授控制後漣波大小會固定在±2~3rpm 之間,不隨速度命令改 變,以低速控制而言純 PI 控制器擁有較低的速度漣波,較好的控制效能。

5.2 未來發展

1. 利用信號處理方式及硬體電路方式降低雜訊干擾,提昇 ADC 解析度,可望提升 弦波編碼器解碼後的解析度。

2. 以實驗完成的 FPGA-Based QEP-CORDIC 解碼為基礎,發展「整合型通訊介面 高解析度弦波編碼器解碼晶片」,能夠減少體積、提升處理速度、降低成本,且 可適用於市面上所有的弦波編碼器解碼,並廣泛用於各種需要高解析度轉動位 置感測之場合。

3. 雖然實驗中 PI 控制器對低速控制的效能以達相當水準,但若能以非線性控制法 或非線性補償等等技術,搭配上本文所研發之高解析度弦波編碼器,必能將伺 服馬達低速控制效能再提升。

參考文獻

[1] J. Burke, J. F. Moynihan, K. Unterkofler, “Extraction of High Resolution Position Information form Sinusoidal Encoder”, Proc. PCIM-Europe 1999, pp.217-222.

[2] S.Balemi, “Automatic Calibration of Sinusoidal Encoder Signals”, Proceedings of the 16

th IFAC World Congress, Prague, 2005.

[3] M. Benammar, L. Ben-Brahim, M. A. Alhamadi, “A Novel Resolver-to-360° Linearized Converter”, IEEE Sensors Journal, VOL.4, NO. 1, pp.96-101, February 2004.

[4] M. Benammar, L. Ben-Brahim, M. A. Alhamadi, “A High Precision Resolver-to-DC Converter”, IEEE Transactions on Instrumentation and Measurement, VOL.54, NO.6, pp.2289-2296, December 2005.

[5] M. Benammar, L. Ben-Brahim, M. A. Alhamadi, Mohamed EI-Naimi, “A Novel Converter for Sinusoidal Encoders”, IEEE Sensors Conference, pp.1415-1418, October, 2006.

[6] R. Andraka, “A survey of CORDIC algorithms for FPGA based computers,” ACM/SIGDA

sixth international symposium on Field programmable gate arrays., pp.191-200, Feburary

1998.

[7] Y. H. Hu, “CORDIC-based VLSI architectures for digital signal processing,” IEEE Signal

Processing Mag., pp.16-35, July 1992.

[8] 施忠賢, “一個使用可變因子的新式混合式座標旋轉演算法來計算正弦餘弦函數 值,"

逢甲大學資訊工程系

, 碩士論文, 1999.

[9] “F2810, F2811 and F2812 ADC Calibration”, Texas Instruments Application Report SPRA989A November 2004.

[10] “Spartan-3 Generation FPGA User Guide”, Xilinx , UG331, April 2001.

[11] “Spartan-3A/3AN Starter Kit Board User Guide”, Xilinx , UG334, May 2007.

[12] S. Vadlamani, W. Mahmoud, “Comparison of CORDIC Algorithm Implementations on FPGA Families”, Proceedings of the Thirty-Fourth Southeastern Symposium on,

pp.192-196, 2002.

[13] http://www.ti.com/

[14] R. H. Brown, S. C. Schneider, and M. G. Mulligan, “Analysis of Algorithms for Velocity Estimation from Discrete Position Versus Time Data,” IEEE Transactions on Industrial

Electronics, VOL.39, NO.1, pp.11-19, February 1992.

[15] T. Hastie, R. Tibshirani, J. Friedman, “The Elements of Statistical Learning”, Springer, 2001.

[16] G. Welch and G. Bishop, “An Introduction to the Kalman Filter,” Department of Computer Science, University of North Carolina at Chapel Hill.

[17] P. R. Belanger, P. Dobrovolny, A. Helmy, and X. Zhang, “Estimation of Angular Velocity and Acceleration from Shaft-Encoder Measurements,” IEEE International Conference on

Robotics and Automation, May 1992.

[18] 鄭群星, “FPGA/CPLD 數位晶片設計入門-使用 Xilinx ISE 發展系統”, 全華科技圖書 股份有限公司, 2006.

[19] 黃宗勝, “永磁式伺服馬達之自動切換式 Fuzzy/Lead-Lag 控制器設計”, 國立交通大 學電機與控制工程系, 碩士論文, 2007.

相關文件