Tải bản đầy đủ (.pdf) (11 trang)

thiết kế bộ biến tần truyền thông ba pha điều khiển động cơ, chương 19 pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (207.75 KB, 11 trang )

Chương 19:
Phương pháp điều chế tín hiệu Sin
PWM ba pha theo luật U/f=const sử
dụng PSoC
Để tạo tín hiệu sin PWM ba pha, em sử dụng ba bộ PWMDB 8
bit kết hợp với một bộ Timer 16 bit có trong PSoC.
PWMDB là một module bao gồm một bộ điều chế độ rộng xung
PWM 8 ho
ặc 16 bit kết hợp với một bộ DB 8bit có chức năng tạo
dải an toàn. Bộ PWM tạo xung có biên độ và chu kỳ có thể lập
trình được. Xung này sau đó được đưa đến bộ DB.
Chức năng tạo dải an toàn sẽ tạo ra trên cả hai đầu ra chính và
đầu ra phụ của khối. Chức năng này sinh ra xung nhịp không gối
lên nhau. Hai pha xung nhịp đó không bao giờ ở mức cao trong
cùng một thời điểm và khoảng thời gian ở giữa hai pha đó gọi là
d
ải an toàn. Độ rộng của dải an toàn được xác định bởi giá trị đặt
trước của thanh ghi. Trong trường hợp n
ày, nguồn xung nhịp cấp
cho bộ tạo giải an toàn DB là một PWM, hai đầu ra của bộ DB
Phase1 và Phase2 là hai PWM đảm bảo không gối l
ên nhau. Một
tín hiệu tích cực trên đầu vào ‘Kill’ sẽ khóa cả hai đầu ra này ngay
l
ập tức.
Module PWM được cấu hình sử dụng một hay hai khối số để
tạo ra một bộ PWM 8 bit hay PWM 16 bit. Ở đây em sử dụng ba
bộ PWMDB 8 bit. Việc sử dụng PWMDB 16 bit cũng tương tự.
Mỗi bộ PWMDB 8 bit có hai đầu ra phase1 và phase2, hai đầu ra
này là hai tín hiệu cấp cho hai van trong cùng một kênh của bộ
nghịch lưu áp ba pha.


Cách hoạt động của module PWMDB 8, 16 bit cũng như bộ
Timer 16 bit có thể tham khảo trong datasheet của các module này
trong ph
ần phụ lục. Ở đây, em chỉ trình bày các chức năng chính
phục vụ cho việc điều chế sin PWM ba pha.
Bộ PWM 8 có ba thanh ghi chính sau:
- Thanh ghi đếm (Counter Register), giá trị của nó được ký
hiệu là c(i)
- Thanh ghi chu kỳ (Period Register), giá trị của nó ký hiệu là
p(i)
- Thanh ghi so sánh (Compare Register), hay còn gọi là thanh
ghi độ rộng xung (PulseWidth Register), giá trị của nó được ký hiệ
là w(i)
Trong đó I ký hiệu cho chu kỳ PWM thứ i. Nếu chỉ viết c,p,w
thì có nghĩa là đang đến chu kỳ bất kỳ.
Giá trị trong thanh ghi đếm giảm dần từ giá trị trong thanh ghi
chu kỳ mỗi khi có sườn lên của xung nhịp đầu vào. Khi đạt giá trị
tới hạn, giá trị của thanh ghi đếm được nạp lại giá trị trong thanh
ghi chu kỳ. Quá trình đó cứ lặp đi lặp lại liên tục (khi có tín hiệu
cho phép và bắt đầu chạy của bộ đếm). Giá trị trong thanh ghi chu
k
ỳ gọi là giá trị chu kỳ (PeriodeValue), giá trị này có thể lập trình
để thay đổi được.
Trong mỗi chu kỳ, giá trị trong thanh ghi đếm được so sánh với
giá trị trong thanh ghi so sánh. Khi giá trị trong thanh ghi đếm nhỏ
hơn (less than) hoặc nhỏ hơn hoặc bằng (less than or equal) giá trị
trong thanh ghi so sánh, đầu ra được đặt lên cao, ngược lại đầu ra
sẽ có mức thấp. Đầu ra của bộ PWM sẽ luôn giữ ở mức cao
(HIGH) nếu thiết lập để giá trị thanh ghi so sánh lớn hơn giá trị
thanh ghi chu kỳ (w > p), và luôn giữ ở mức thấp nếu giá trị thanh

ghi so sánh bằng 0 (w = 0).
Trong thiết kế này, ta sử dụng phép so sánh nhỏ hơn (less than)
do đó công thức tính độ rộng xung PWM đầu ra như sau:
d
w
P 1


(2-5)
d -
độ rộng xung (duty cylce)
w - giá tr
ị trong thanh ghi so sánh
P - giá trị trong thanh thi chu kỳ
Tần số băm xung được xác định như sau:
clk
pwm
f
f
P 1


(2-6)
f
pwm
- tần số băm xung
f
clk
- tần số xung nhịp đầu vào
T

ần số xung nhịp đầu vào được sử dụng cho cả bộ PWM và DB
c
ũng như cho cả ba bộ PWMDB. Hình () minh họa một xung
PWM với các thông số được thiết lập như sau:
- P = 3
- W = 0,1,2,3,4
- f
clk
= 100kHz
Hình 2-4: Giản đồ miêu tả hoạt động của bộ PWM khi thay đổi giá
trị thanh ghi so sánh
Việc chọn tần số băm xung là sự lựa chọn dung hòa giữa nhiều
yếu tố. Tần số băm xung lớn nghĩa là tần số chuyển mạch của các
van công suất (hay các khóa điện tử) trong bộ nghịch lưu lớn dẫn
đến tăng tổn hao do chuyển mạch nhưng lại l
àm giảm các điều hòa
b
ậc cao trong dạng sóng dòng điện do đó làm giảm tổn hao chung
trong động cơ. Mạch từ của động cơ, ứng với tần số của điện áp, có
các tổn hao từ lớn và gây tiếng ồn. Việc chuyển mạch nhanh của
các linh kiện cũng gây tiếng ồn lớn. Ngoài ra tốc độ băm xung
cũng phụ thuộc vào khả năng đáp ứng của các khâu cách ly, khâu
mạch kích và khẳ năng đóng cắt của van. Trong chương trình này,
em c
ấu hình như sau, f
clk
= 4/3MHz, P = 255, do đó tần số băm
xung là:
3
pwm

4 / 3.10 kHz
5,2kHz
255 1
f  

(2-7)
M
ột điểm cần lưu ý là khi một giá trị mới được ghi vào thanh
ghi chu k
ỳ, nó sẽ có tác dụng sau khi thanh ghi đếm đã đếm về 0
và sẽ nạp lại giá trị mới từ thanh ghi chu kỳ. Trong khi đó, việc ghi
vào thanh ghi so sánh, sẽ có tác dụng ngay lập tức.
Xung PWM từ bộ PWM đưa đến bộ tạo dải an toàn DB. Đầu ra
Phase1 và Phase2 tạo ra hai tín hiệu PWM điều khiển hai van công
suất trên cùng một kênh qua tầng cách ly và tầng mạch kích. Do
các van trong bộ nghịch lưu là cac IGBT (các van này yêu cầu thời
gian đóng lâu hơn thời gian mở) nên để tránh trùng dẫn phải tạo ra
một khoảng trễ giữa thời điểm mở khóa này và đóng khóa kia.
Thời gian trễ này được tính theo giá trị trong thanh ghi trễ
DeadTime (DeadTime Register) như sau:
T
trễ
= (Giá trị trong thanh ghi trễ +1)*T
clk
(2-8)
T
trễ
- thời gian trễ
T
clk

- chu kỳ xung nhịp đầu vào
Trong chương trình này, em cấu hình như sau: f
clk
= 4/3MHz
nên T
clk
= 1/f
clk
= 0,75µs, giá trị thanh ghi trễ là 2, và do đó T
trễ
=
3.0,75 = 2,25µs.
Ho
ạt động của bộ PWMDB có thể được giải thích qua giản đồ
thời gian sau:
Hình 2-5: Giản đồ thời gian miêu tả hoạt động bộ PWMDB8
Để tạo ra tín hiệu sin, giá trị độ rộng xung (PulseWitdhValue)
được điều chế theo một hàm sin. Để giải quyết b
ài toán này, em sử
dụng một bộ Timer16 và một bảng sin.
Bảng sin này chứa các giá trị từ 0 đến 2π. Một câu hỏi đặt ra ở
đây là bao nhiêu giá trị trong bảng sin l
à hợp lý. Không có một câu
trả lời chính xác cho câu hỏi này. Quá ít giát trị sẽ làm cho dạng
dòng điện trong đầu ra bộ nghịch lưu có dạng bậc thang, làm tổn
hao trong động cơ tăng lên. Nếu quá nhiều điểm sẽ l
àm tốn bộ nhớ
của MCU. Ta có thể áp dụng luật sau để xác định số giá trị trong
bảng sin:
pwm(max)

modulation(max)
f
N
f

(2-9)
N - s
ố giá trị trong bảng sin
f
pwm(max)
- tần số băm xung lớn nhất
f
modulation(max)
- tần số điều chế lớn nhất mong muốn
Tần số băm xung em chọn là 5,2kHz, tần số đầu ra lớn nhất là
50Hz. Áp d
ụng công thức trên, N = 100. Ở đây em chọn N = 255.
Bảng sin này có thể tạo ra bằng cách sử dụng chương trình Exel
trong gói Microsoft Office.
M
ột biến con trỏ được sử dụng để chỉ đến một giá trị trong bảng
sin. Các giá trị trong bảng sin được đọc ra theo mỗi chu kỳ ngắt
được xác định bởi Timer16. Các giá trị này được biến đổi để ph
ù
hợp với tần số đầu ra nhằm đảm bảo luật U/f=const, sau đó được
ghi vào thanh ghi so sánh của bộ PWM.
Để đi hết một bảng sin cần 255 chu kỳ ngắt Timer. Như vậy
chu kỳ và do dó, tần số đầu ra sẽ phụ thuộc vào khoảng thời gian
giữa hai lần ngắt. Có thể tính tần số đầu ra theo công thức sau:
a

out
ng t
1
(N 1)T
f =

(2-10)
f
out
- tần số sóng sin đầu ra
N - số giá trị trong bảng sin
T
ngat
- chu kỳ ngắt của Timer
Chu kỳ ngắt được xác định theo giá trị trong thanh ghi chu kỳ
(Period Register) của bộ Timer theo công thức sau:
ngat clk
.(PeriodValuT
1
T
e )


(2-
11)
PeriodValue - giá tr
ị thanh ghi chu kỳ của bộ Timer16
T
clk
- chu kỳ xung nhịp đầu vào, T

clk
= 1/f
clk
với f
clk

t
ần số xung nhịp đầu vào bộ Timer16.
Để điều chỉnh tần số đầu ra, ta điều chỉnh giá trị của thanh ghi
chu kỳ của bộ Timer16 theo công thức sau:
clk
out
Pe
f
1
(N 1)
riodVa e
f
lu



(2-12)
V
ới cấu hình đã chọn: f
clk
= 4/3MHz, N=255 ta có công thức
tính giá trị thanh ghi chu kỳ của bộ Timer16 theo tần số điều khiển
f
control

(f
control
≡ f
out
) như sau:
control
52
PeriodVal
08
f
u
1
e 

(2-12)
Để giữ cho từ thông và momen cực đại trên trục động cơ không
đổi khi điều chỉnh tốc độ động cơ theo tần số ta phải đảm bảo tỷ số
U
1
/f
1
là không đổi. Mà biên độ của sóng sin đầu ra tỷ lệ với độ
rộng xung. Độ rộng xung đạt giá trị lớn nhất tại đỉnh của hình sin.
Khi ch
ạy ở tần số định mức (50Hz), điện áp đầu ra đạt giá trị định
mức là 220V (giá trị hiệu dụng), giá trị đỉnh sẽ là 310V, tức là
b
ằng giá trị dương của điện áp một chiều. Khi đó m
a
= 1, độ rộng

xung lớn nhất là 100% tại đỉnh của hình sin. Để thay đổi biên độ
của điện áp đầu ra, ta sẽ thay đổi độ rộng xung tại mỗi chu kỳ
PWM sao tỷ số U/f là không đổi bằng giá trị này ở định mức
(U
1dm
/f
1dm
= 220/50 ≈ 4,4). Cụ thể, sau khi có được giá trị tần số
điều
khiển, ta tính được chu kỳ ngắt để xác định giá trị thanh ghi
chu kỳ của bộ timer. Một hàm udateU_f nằm trong vòng lặp chính
được sử dụng để tính lại các giá trị trong bảng sin sao cho biên độ
đầu ra tương ứng với tần số điều khiển. Trong mỗi chu kỳ ngắt,
giá
tr
ị thanh ghi so sánh trong bộ PWM sẽ được truy xuất từ bảng sin

ã được tính lại theo giá trị của tần số điều khiển) bởi biến con
trỏ, sau đó biên con trỏ được tăng lên để chỉ đến giá trị mới trong
bảng sin. Khi biến con trỏ này đạt đến giá trị tới hạn, sẽ được nạp
lại giá trị ban đầu.
Để tạo ra tín hiệu ba pha ta cần ba biến con trỏ lệch nhau
120
o
, ta sử dụng ba biến con trỏ tương ứng với ba bộ PWMDB.
Giá trị của ba biến con trỏ này lệc nhau 120
o
.

×