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

Một phần của tài liệu Điều chế SinPWM điều khiển động cơ không đồng bộ 3 pha dùng Psoc và Iramx pdf (Trang 71 - 73)

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ộ

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) fpwm - tần số băm xung fclk - 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 - fclk = 100kHz

Một phần của tài liệu Điều chế SinPWM điều khiển động cơ không đồng bộ 3 pha dùng Psoc và Iramx pdf (Trang 71 - 73)