• 沒有找到結果。

光編碼器位置對位 光編碼器位置對位 光編碼器位置對位 光編碼器位置對位

無感測控制模擬 無感測控制模擬

5.1 光編碼器位置對位 光編碼器位置對位 光編碼器位置對位 光編碼器位置對位

由圖 5.1 所示,為直流無刷馬達控制硬體皆現電路示意圖。圖中編碼器會送出

+

+

+ A B B Z Z

A、 、 、 、 、 ,經過一差動比較放大器 26LS32 後,產生了ABZ後(此部 分已在第二章敘述),此三個訊號分別經由 DSP 的 QEP1、QEP2、XINT1 的這三個腳位 進入。

此時就可以由這三個外部訊號的獲得並經程式的資料處理後來作馬達對位的工 作。由 A 和 B 訊號分別進入 QEP1 和 QEP2 經過程式中 Capture mode 的處理後,對應 到 DSP 中 T2CNT 暫存器之數值。

在實作測試中我們得知馬達轉一圈時,T2CNT 的值是為 8000,並且我們由前面第 二章可以得知本篇文章中的所用的馬達是為四極馬達,故可以得知每一電氣週期(360 度) 對應數值為 4000。

利用此關係並配合上第二章中的式子(2.13)轉換矩陣K ,我們建立出一個 cos tablesr 的 data 表。此 table 是把 cos 的值-1~1 對應到 8000~7FFF,並把 360 度取 8000 個精度,

為對應數值的兩倍,為提高精度所需。

但在作 dq 與 abc 三相的轉換中,對應的轉換矩陣Ksr需要以下六個三角函數數值,

分別為cosθrcos(θr120°)cos(θr +120°)sinθrsin(θr120°)sin(θr +120°) 在此我們使用這個 cos table 的 data 表,配合 T2CNT 的數值在程式中作餘數運算的處理,

便可以得到以上六個三角函數值,就可以建立轉換矩陣Ksr了。

舉一例子,當 T2CNT=1100,先乘兩倍再取 8000 的餘數完後經 data 查表我們可以 馬上獲得到cosθr的值,而sinθr值的獲得方法就是要把 T2CNT=1100 的值先乘兩倍減 90 度對應值 2000(對應精度每一週期為 8000)後,取 8000 的餘數後,再經 data 查表得到 的值就為sinθr值。而其他的四個三角函數值也以同此方法獲得。圖 5.2 為實際馬達運轉 所顯示的六個三角函數值和 T2CNT。

*

Vq

*

Vd

φ 3

q d

VcontA

VcontB

VcontC

Modulation Width

Pulse Sinusoidal

CNT

r =T2 θ

1 pwm

2 pwm

3 pwm

4 pwm

5 pwm

6 pwm 1 CMPR

2 CMPR

3 CMPR

ea

eb

ec

PMSM PMSM

ezp F

DSP 2812

Encoder

1QEP 2QEP

1XINT

A B

Z

+ +

+

A+ A B+ B Z+ Z

Mode Capture

3226LS

A B C

θr

sin ) 120 sin(θro

) 120 sin(θr+ o

CNT T 2

(a)

θr

cos ) 120 cos(θro

) 120 cos(θr+ o

CNT T 2

(b)

圖 5.2 (a) sin 三相和 T2CNT 的關係 (b) cos 三相和 T2CNT 的關係

程式上我們作了查表的改變,拿來對應到我們馬達的感應電動勢是否符合,由圖 5.3 中可以看出,A 相控制信號的變化與該相應電勢的變化相符,而且也配合到我們式子 (2.13)轉換矩陣 r

Ks的關係式。

VcontA

相之電動勢 馬達A

圖 5.3 VcontA 和馬達 A 相之電動勢(Vq* =7FFF,Vd* =0)

完成我們的轉換矩陣Ksr後,接下來就是進入對位的工作。前面提到的是給定每個 位 置 的 對 應 值 , 但 我 們 需 要 的 是 馬 達 的 機 械 角 一 圈 正 確 的 由 0~270 度 對 應 到 T2CNT=1000~8000 而 270~360 度 對 應 到 的 則 為 T2CNT=1~1000 , 且 0 度 要 對 到

T2CNT=1000,如此的對應關係是因為我們馬達的電動勢是為一個sin

θ

函數,但為了符

我們轉換矩陣Ksr是以

cos θ

為出發點,故我們是由 T2CNT=1000 相當為 90 度對到馬 達機械角的 0 度。此時利用 Z 軸這個訊號來作馬達的對位,由圖 5.1 可以看出,Z 軸的 訊號是由 XINT1 進入 DSP,此作用是為了作為引發 DSP 中外部中斷的訊號,當 Z 軸訊 號發生如圖 5.6 由高準位變動到低準位時,變會觸發外部中斷,而在此中斷的程式中我 們就執行 T2CNT=1000 這個動作,此時也就是對應到馬達機械角的 0 度了。

CNT T2 Z 軸訊號

圖 5.4 Z 軸訊號和 T2CNT