W= 0,1,2,3,4 f clk = 100kHz

Một phần của tài liệu Thiết kế bộ biến tần truyền thông ba pha điều khiển động cơ pot (Trang 112 - 123)

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, fclk = 4/3MHz, P = 255, do đó tần số băm xung là:

3pwm 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:

Ttrễ = (Giá trị trong thanh ghi trễ +1)*Tclk

(2-8)

Ttrễ - thời gian trễ

Trong chương trình này, em cấu hình như sau: fclk = 4/3MHz nên Tclk = 1/fclk = 0,75µs, giá trị thanh ghi trễ là 2, và do đó Ttrễ = 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ử

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

fpwm(max)- tần số băm xung lớn nhất

fmodulation(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

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)

fout - tần số sóng sin đầu ra

N - số giá trị trong bảng sin

Tngat - 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 Tclk.(PeriodValu 1

T  e ) (2-

11) PeriodValue - giá trị thanh ghi chu kỳ của bộ Timer16

Tclk - chu kỳ xung nhịp đầu vào, Tclk = 1/fclk với fclk là 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: fclk = 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 fcontrol (fcontrol ≡ fout) như sau:

control 52 PeriodVal 08 f ue 1 (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ố U1/f1 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 đó ma = 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 (U1dm/f1dm = 220/50 ≈ 4,4). Cụ thể, sau khi có được giá trị tần số

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 120o, 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 120o.

Chương 20: Lưu đồ thuật toán

Chương trình chính

Vòng lặp chính

Khởi tạo hệ thống bao gồm, khởi tạo 3 bộ PWMDB8, khởi tạo

Hàm udateU_f:

Một phần của tài liệu Thiết kế bộ biến tần truyền thông ba pha điều khiển động cơ pot (Trang 112 - 123)