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 (5.48 MB, 103 trang )
2.1.1. Các cơng thức tính tốn
Ta cần tính được biên độ hài bậc nhất của điện áp ngõ ra từ tỉ số biên độ giữa
sóng mang và sóng tam giác
Ta có cơng thức sau tính biên độ của hài bậc nhất:
Trong đó: ma - là tỉ số giữa biên độ sóng sin mẫu và biên độ sóng mang – còn
gọi là tỉ số điều biên.
Vcontrol - Biên độ sóng điều khiển
Vtri
- Biên độ sóng mang
Trong vùng tuyến tính (0 < ma < 1 ), biên độ của thành phần sin cơ bản V01
điện áp pha trong dạng sóng đầu ra tỷ lệ với hệ số điều biến theo công thức:
Đối với điện áp dây là:
Như vậy trong phương pháp này biên độ điện áp dây đầu ra bộ nghịch lưu
chỉ có thể đạt 86,67% điện áp một chiều đầu vào trong vùng tuyến tính (0 < ma < 1).
Hệ số điều chế tỷ số mf là tỷ số giữa tần số sóng mang và tần số tín hiệu điều
khiển:
Trong đó:
mf – Hệ số điều chế tỷ số
ftri – Tần số sóng mang, bằng tần số PWM
f control – Tần số tín hiệu điều khiển
Giá trị của mf được chọn sao cho nên có giá trị dương và lẻ. Nếu m f là một
giá trị khơng ngun thì trong dạng sóng đầu ra sẽ có các thành phần điều hòa phụ
(subharmonic). Nếu mf không phải là một số lẻ, trong dạng sóng đầu ra sẽ tồn tại
thành phần một chiều và các hài bậc chẵn. Giá trị của m f nên là bội số của 3 đôi
nghịch lưu áp ba pha vì trong điện áp dây đầu ra sẽ triệt tiêu các hài bậc chẵn và hài
là bội số của 3
Như vậy, nếu điện áp một chiều đầu vào không đổi, để điều chỉnh biên độ và
tần số của điện áp đầu ra ta chỉ việc điều chỉnh biên độ và tần số của tín hiệu sin
21
chuẩn Vcontrol. Đặc trưng cơ bản của phương pháp này là thành phần sóng điều hòa
của điện áp ra. Muốn giảm các sóng điều hòa bậc cao cần phải tăng tần số sóng
mang hay tần số PWM. Tuy nhiên càng tăng tần số PWM thì tổn hao chuyển mạch
lại tăng lên.
2.1.2. Cách thức điều khiển
Sau khi đã nói về phương pháp điều khiển U/f=const và phương pháp điều
khiển bộ nghịch lưu áp theo phương pháp điều rộng xung SINPWM, ta có thể đưa
ra một thuật toán điều khiển động cơ theo một tần số đặt cho trước như sau.
Do động cơ được điều khiển vòng hở nên không thể đo đạc được tốc độ thực
của động cơ, nên ta hiểu tần số đặt ở đây là tần số nguồn sin điều rộng xung cấp cho
động cơ.
Trong trường hợp ta muốn cho động cơ đang ở trạng thái đứng yên chuyển
sang chạy ở tần số đặt thì phải thơng qua một q trình khởi động mềm tránh cho
động cơ khởi động lập tức đến tốc độ đặt, gây ra dòng điện khởi động lớn làm hỏng
động cơ. Tần số nguồn cung cấp sẽ tăng từ giá trị 0 (đứng yên) đến giá trị đặt
(tương ứng với biên độ tăng từ V 0 đến Vf = V0+K.freq).Thời gian khởi động này
có thay đổi theo cơng suất của từng động cơ. Đối với động cơ công suất lớn thì thời
gian khởi động lâu hơn so với động cơ công suất nhỏ. Thời gian khởi động của
động cơ thông thường được chọn từ 5 đến 10 giây.
Sau khi tần số nguồn đã đạt đến giá trị yêu cầu lúc đầu thì sẽ giữ ngun giá
trị đó. Trong q trình động cơ đang chạy ổn định mà có một nhu cầu thay đổi tần
số thì cũng có một q trình chuyển tần số từng bước thay vì nhảy ngay lập tức đến
giá trị tần số yêu cầu mới.
Khi muốn thay đổi chiều của động cơ cần phải đưa động cơ về tần số đủ nhỏ
rồi sau đó mới thực hiện việc đổi chiều quay (thay đổi thứ tự pha nguồn cấp cho
động cơ) tránh hiện tượng moment xoắn có thể làm gãy trục động cơ và tăng dòng
đột ngột.
Khi muốn dừng động cơ thì phải hạ tần số từ giá trị hiện tại về giá trị 0. Thời
gian hãm này phụ thuộc vào quán tính quay của động cơ. Khi muốn hãm nhanh có
22
thể dùng các phương pháp hãm như phương pháp hãm động năng (Dynamic
Breaking) có dùng điện trở thắng.
Như vậy có thể hình dung q trình hoạt động của bộ điều khiển như sau:
Hình 2.4. Quá trình hoạt động của bộ biến đổi
Đoạn 1 ứng với khởi động động cơ – tần số tăng từ 0 đến giá trị đặt sau
khoảng thời gian khởi động (Tramp).
Đoạn 2 ứng với việc thay đổi tần số khi động cơ đang chạy ổn định.
Đoạn 3 ứng với việc đổi chiều động cơ – được chia làm hai giai đoạn. Đoạn
3a ứng với giảm tần số về 0. Cuối đoạn 3a sẽ tiến hành đảo thứ tự pha nguồn cung
cấp cho động cơ. Đoạn 3b ứng với tăng tần số lên đến giá trị mới (có thay đổi tần số
đặt trong lúc đổi chiều nên giá trị tần số sau khi đổi chiều không bằng giá trị cũ).
Đoạn 4 ứng với ngừng động cơ. Tần số cấp cho động cơ được giảm dần từ
giá trị đặt về 0 sau khoảng thời gian dừng (Tramp).
2.1.3. Quy trình tính tốn.
Để tạo tín hiệu sin PWM ba pha, ta 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 8 bit có chức năng tạo dải an tồ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 đó
23
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 Phase 1 và Phase 2 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 tác giả 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 phase 1
và phase 2, 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 tác giả
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ỳ. Q 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
24
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 – Độ rộng xung (duty cylce)
w – Giá trị trong thanh ghi so sánh
P- Giá trị trong thanh chu kỳ
Tần số băm xung được xác định như sau:
Trong đó :
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 2.5 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
25
Hình 2.5. Giản đồ miêu tả hoạt động của bộ PWM khi thay đổi giá trị
thanh ghi so sánh [6]
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 đặt cấu hình như sau, fclk = 4/3MHz, P = 255, do đó tần số băm xung là:
f pwm
4 / 3.103 kHz
5, 2kHz
255 1
Xung PWM từ bộ PWM đưa đến bộ tạo dải an toàn DB. Đầu ra Phase 1 và
Phase 2 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à các 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
26
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.10)
Trong đó:
Ttrễ : Thời gian trễ
Tclk : Chu kỳ nhịp xung đầu vào
Trong chương trình này, xem 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.6. Giản đồ thời gian miêu tả hoạt động bộ PWMMDB8 [6]
Để 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, tác giả 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á trị sẽ làm cho dạng dòng điện trong đầu ra bộ nghịch lưu có dạng
27
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:
Trong đó:
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 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 cấu hình chọn N = 255.
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:
Trong đó:
fout: Tần số sóng sin đầu ra
N: Số giá trị trong bảng sin
Tngắt : 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:
Tngắt = Tclk . (PeriodValue + 1)
(2.13)
Trong đó:
PeriodValue : Giá trị thanh ghi chu kỳ của bộ Timer16
Tclk : Chu kỳ xung nhịp đầu vào, Tclk = 1/fclk là tần số xung nhịp đầu vào bộ
Timer16.
28
Để đ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:
PeriodValue
f clk
1
(N 1)f out
(2.14)
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:
PeriodValue
5208
1
f control
Để giữ cho từ thông và moment 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/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 (U 1dm/f1dm =
220/50 ≈ 4,4). 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ệch
nhau 120o.
2.1.4. Hiệu quả của phương pháp điều khiển
Đối với phương pháp điều chế SINPWM, tại mỗi thời điểm mà một trong hai
khoá trên cùng một nhánh ở trạng thái ON thì biểu thức điện áp giữa mỗi pha và
điểm trung tín ảo (O) có dạng như sau:
29
Hình 2.7. Sơ đồ kết nối các khóa trong bộ nghich lưu [7]
Điện áp giữa hai pha được tính tốn như sau:
Từ cơng thức trên ta thấy giá trị điện áp lớn nhất giữa hai pha đạt được trong
vùng tuyến tính khi m = 1
Giá trị điện áp lớn nhất là:
Vậy đối với phương pháp này, điện áp do bộ chỉnh lưu cung cấp chỉ được sử
dụng tối đa là 86.67% trong vùng điều khiển tuyến tính.
2.2. GIỚI THIỆU VỀ VI ĐIỀU KHIỂN PIC 18F4431
2.2.1. Tổng quan về vi điều khiển PIC [5].
Họ vi điều khiển PIC và dsPIC do hãng
chế tạo và sản xuất với
công nghệ hiện đại, phù hợp cho các ứng dụng đơn giản cho đến phức tạp. Đặc biệt
ngồi ngơn ngữ lập trình assembler như các MCU khác, có thể lập trình PIC trên
ngơn ngữ C, quen thuộc thông qua các phần mềm hỗ trợ (PIC 18C, CCS C,…...)
Gồm các họ như sau:
+ Loại 8 bit gồm có: PIC10, PIC12, PIC16, PIC18
+ Loại 16 bit gồm có: PIC24F, PIC24H, dsPIC30, dsPIC33
Tùy theo các ứng dụng cụ thể mà người dùng có thể chọn ra Chip phù hợp
(theo hướng dẫn của nhà sản xuất tại trang chủ của Microchip). Trong đó
PIC18F4431 là IC chuyên dùng để điều khiển động cơ 3 pha theo đề nghị của
Microchip
30
Các khối chính trong vi điều khiển
+ Khối bộ nhớ ROM + RAM
+ Khối xử lý trung tâm (CPU)
+ Tổ chức Bus
+ Các đường vào/ra
+ Khối giao tiếp nối tiếp
+ Khối Timer
+ Watchdog
+ Bộ chuyển đổi tương tự - số (ADC)
Những đặc điểm chính:
- Là CPU sử dụng tập lệnh RISC và có tốc độ xử lý cao, cơng suất thấp nhờ
sử dụng cơng nghệ CMOS FLASH/EFPROM.
- Tập lệnh có 75 lệnh.
- Một chu kỳ lệnh bằng 4 chu kỳ xung. Sử dụng bộ dao động 40 Mhz thì chu
kỳ lệnh là 0,1us.
- Tần số bộ dao động cho phép tới 40Mhz
- 8K x 14 word bộ nhớ Flash lập trình.
- 768 byte bộ nhớ RAM, trong đó bộ nhớ EFPROM lên đến 256 byte.
- Trang bị tới 34 ngắt với 8 cấp độ ngắt.
- Có 5 port I/O.
- Trang bị 3 bộ định thời: 2 bộ 8 bít, 1 bộ 16 bít.
- Hai module Capture/Compare/PWM.
- Bộ chuyển đổi 10 bít ADC với tốc độ 5 – 10 us.
- Cổng serial đồng bộ với chế độ SPI (Master) và I2C (Master/Slave) thực
hiện bằng phần cứng.
- Chế độ chuyển nhận đồng bộ/bất đồng bộ với 9 bít địa chỉ kiểm tra.
- Cổng song song (PSP) 8 bít.
- Các chế độ định địa chỉ : trực tiếp, gián tiếp, và tường đối.
- Cho phép đọc/ghi bộ nhớ chương trình.
- Chế độ SLEEP(tạm nghỉ) để tiết kiệm điện năng.
- Cho phép lựa chọn chế độ dao động (nội, ngoại).
- Hai chân cho phép gỡ rối hoạt động của vi điều khiển.
- Lập trình thông qua cổng serial với điện thế chỉ 5V.
- Tầm điện thế hoạt động rộng : từ 2 đến 5,5V. Dòng cấp khoảng 25mA.
2.2.2. Giới thiệu khái quát về cấu trúc phần cứng.
a. Sơ đồ chân PIC18F4431 [6]
31