Professional Documents
Culture Documents
Đại Học Thái Nguyên Trường Đại Học Kỹ Thuật Công Nghiệp
Đại Học Thái Nguyên Trường Đại Học Kỹ Thuật Công Nghiệp
ĐỖ QUỐC VƯƠNG
ĐỖ QUỐC VƯƠNG
Đỗ Quốc Vương
ii
LỜI CẢM ƠN
Sau thời gian nghiên cứu, làm việc khẩn trương và được sự hướng dẫn
tận tình giúp đỡ của cô giáo TS. Nguyễn Thị Mai Hương, luận văn với đề tài
“Nghiên cứu thiết kế hệ thống điều khiển tốc độ động cơ đồng bộ nam
châm vĩnh cửu” đã được hoàn thành.
Tác giả xin bày tỏ lòng biết ơn sâu sắc tới:
Cô giáo hướng dẫn TS. Nguyễn Thị Mai Hương đã tận tình chỉ dẫn,
giúp đỡ tác giả hoàn thành luận văn. Các thầy cô giáo Trường Đại học kỹ
thuật công nghiệp Thái Nguyên, và một số đồng nghiệp, đã quan tâm động
viên, giúp đỡ tác giả trong suốt quá trình học tập để hoàn thành luận văn này.
Mặc dù đã cố gắng hết sức, tuy nhiên do điều kiện thời gian và kinh
nghiệm thực tế của bản thân còn ít, cho nên đề tài không thể tránh khỏi thiếu
sót. Vì vậy, tác giả mong nhận được sự đóng góp ý kiến của các thầy giáo, cô
giáo và các bạn bè đồng nghiệp cho luận văn của tôi được hoàn thiện hơn.
Tôi xin chân thành cảm ơn!
Thái Nguyên, ngày……tháng……năm 2019
Tác giả luận văn
Đỗ Quốc Vương
iii
MỤC LỤC
MỞ ĐẦU ........................................................................................................... 1
Chương 1: TỔNG QUAN ............................................................................... 3
1.1 Giới thiệu về động cơ đồng bộ nam châm vĩnh cửu ............................... 3
1.1.1.Các loại PMSM ................................................................................ 4
1.1.2 Động cơ đồng bộ IPM ...................................................................... 9
1.1.3 Một số phương pháp điều khiển PMSM ........................................ 11
1.2 Phương pháp điều khiển vector PMSM ................................................ 13
1.2.1 Công thức chuyển đổi Clarke......................................................... 13
1.2.2 Công thức chuyển đổi Park ............................................................ 15
1.3 Phân tích hoạt động của PMSM ............................................................ 16
1.3.1 Mô hình toán học của PMSM ........................................................ 16
1.3.2 Giới hạn dòng điện và điện áp ....................................................... 17
1.3.3 Các đặc tính của PMSM................................................................. 19
1.3.4 Đặc tính công suất - tốc độ............................................................. 21
1.4 Kết luận chương 1 ................................................................................. 24
Chương 2: ĐIỀU KHIỂN ĐỘNG CƠ ĐỒNG BỘ NAM CHÂM VĨNH CỬU 26
2.1 Cấu hình điều khiển cho PMSM ........................................................... 26
2.2 Điều chế độ rộng xung cho bộ nghịch lưu ba pha. ............................... 27
2.2.1 Mô hình hóa mạch nghịch lưu nguồn áp ba pha. ........................... 27
2.2.2 Phương pháp điều chế vector không gian. ..................................... 28
2.3 Thiết kế các bộ điều khiển dòng điện và tốc độ.................................... 33
2.3.1 Thiết kế bộ điều khiển dòng điện bằng kỹ thuật hàm chuẩn bậc hai33
2.3.2 Thiết kế mạch vòng tốc độ theo phương pháp tối ưu đối xứng ..... 38
2.3.3 Mô phỏng và kết quả ...................................................................... 39
2.4 Kết luận chương 2 ................................................................................. 42
Chương 3: THIẾT KẾ MẠCH NGUYÊN LÝ ........................................... 44
3.1 Mạch công suất ..................................................................................... 44
iv
MỞ ĐẦU
1. Tính cấp thiết của đề tài
Hiện nay động cơ đồng bộ được sử dụng nhiều trong lĩnh vực điều khiển
và trong công nghiệp vì nó có những đặc điểm vượt trội như hiệu suất , cos
cao, tốc độ ít phụ thuộc vào điện áp. Tuy nhiên việc điều khiển động cơ đồng
bộ còn phức tạp do tính phi tuyến mạnh, do vậy làm cho việc ứng dụng động
cơ đồng bộ vào thực tế khó khăn.
2. Đối tượng nghiên cứu
Động cơ đồng bộ nam châm vĩnh cửu
3. Phạm vi nghiên cứu
- Mô hình hóa và mô phỏng động cơ đồng bộ nam châm vĩnh cửu.
- Các phương pháp điều khiển tốc độ động cơ đồng bộ nam châm vĩnh cửu.
- Nghiên cứu các phương pháp điều khiển nâng cao cho mạch vòng dòng điện.
- Thiết kế phần cứng và phần mềm nhúng để điều khiển tốc độ động cơ
đồng bộ nam châm vĩnh cửu theo phương pháp tựa theo từ thông rotor.
4. Mục tiêu nghiên cứu của đề tài
- Tiếp tục nghiên cứu và hoàn thiện thuật toán điều khiển cho động
cơ đồng bộ nam châm vĩnh cửu.
- Kiểm nghiệm thuật toán điều khiển thông qua mô phỏng và thực
nghiệm.
- Tạo cơ sở khoa học để nghiên cứu cho các thuật toán điều khiển
nâng cao hơn.
5. Phương pháp nghiên cứu
Sử dụng các kiến thức cơ bản, cơ sở để xây dựng mô hình toán và
thuật toán điều khiển hệ thống.
- Nghiên cứu lý thuyết để xây dựng thuật toán;
- Tiến hành mô phỏng trên mô hình hệ thống. Đánh giá, so sánh các
kết quả lý thuyết, kết quả mô phỏng và thực nghiệm.
1
2
xuống. Hơn nữa, vì không cần năng lượng để từ hóa động cơ và không có tổn
thất đồng ở rotor, nên PMSM có hiệu suất cao hơn IM và WFSM. Điều này
cũng giúp giảm chi phí và kích thước biến tần dùng cho PMSM. Nhờ không
có tổn thất đồng ở rotor, nên rotor PMSM hầu như không tự sinh nhiệt mà
còn nhận nhiệt từ phía stator, giúp quá trình tản nhiệt trong động cơ tốt hơn.
Đặc biệt, một số PMSM có lợi thế vượt trội là được thêm mômen từ trở trong
dải điều khiển giảm từ thông, vì vậy, chúng có thể được thiết kế để có một dải
công suất không đổi rộng. Các kết quả trên dẫn đến PMSM có mật độ công
suất cao hơn bất kỳ loại động cơ nào khác. Nói cách khác, với cùng một công
suất yêu cầu thì PMSM cần một không gian hiệu dụng nhỏ so với các loại
động cơ khác.
Về nguyên lý hoạt động, khi nối nguồn ba pha vào các cuộn dây stator
của PMSM, dòng điện chạy trong hệ thống ba cuộn dây quấn stator sẽ sinh ra
một từ trường quay với tốc độ:
(1.1)
với fe là tần số dòng điện stator, Pn là số đôi cực của động cơ đồng bộ.
Từ trường này sẽ tương tác với từ trường rotor tạo ra mômen kéo rotor quay
với tốc độ đúng bằng tốc độ của từ trường quay. Như vậy, từ trường trong
động cơ gồm hai thành phần là từ trường rotor và từ trường stator. Từ trường
stator là do dòng điện stator tạo thành, còn từ trường rotor là do nam châm
vĩnh cửu gắn trên rotor tạo thành.
1.1.1. Các loại PMSM
5
Dựa vào đặc điểm và cấu tạo của rotor, các động cơ đồng bộ
(Synchronous Motor – SM) có thể được phân loại như Hình 1.1.
Động cơ đồng bộ
(Synchronous Motor )
Động cơ đồng bộ
Động cơ đồng bộ nam châm vĩnh cửu Động cơ từ trở
kích từ bằng cuộn dây (PM Motor) (Reluctance Motor)
Hình 1.2 (bvm 8a-e) thể hiện các mặt cắt của các PMSM hai cặp cực có
sin với nam châm vĩnh cửu bề mặt hoặc là nam châm vĩnh cửu chìm. Sự khác
nhau là do vị trí của các nam châm vĩnh cửu (được bôi đen trong Hình 1.2).
Nếu các nam châm vĩnh cửu được gắn trên bề mặt của rotor như Hình 1.2 (a-
b), thì nó được gọi là động cơ đồng bộ nam châm vĩnh cửu bề mặt (Surface
mounted PMSM-SPMSM). Nếu các nam châm mà được đặt chìm trong lõi
rotor như Hình 1.2 (c),(d), thì chúng được gọi là động cơ đồng bộ nam châm
vĩnh cửu chìm (Interior PMSM-IPMSM). Trong Hình 1.2 (b), các nam châm
vĩnh cửu được đặt vào rãnh của bề mặt rotor, được gọi là động cơ nam châm
ghép bề mặt (inset magnet motor). Đối với động cơ nam châm ghép bề mặt,
mặc dù nam châm ở trên bề mặt, nhưng từ trở có đặc điểm gần giống với
IPMSM, đặc biệt là điện cảm trục q lớn hơn so với điện cảm trục d. Với bố trí
từ thông tập trung như Hình 1.2 (d) thì mật độ từ thông khe hở không khí có thể
được tăng lên lớn hơn so với ở bề mặt của nam châm vĩnh cửu.
So sánh giữa PMSM và động cơ BLDC chỉ ra rằng PMSM có thể điều
chỉnh tốc độ và vị trí chính xác hơn so với động cơ BLDC. Hơn nữa, PMSM
không tạo ra mômen nhấp nhô giống như động cơ BLDC. Nhưng giá trị sử
dụng của các động cơ BLDC là ở điểm điều khiển đơn giản và giá thành cạnh
tranh. Động cơ BLDC thường có giá thành thấp và công suất nhỏ (nhỏ hơn
5kW), và được ứng dụng trong máy quạt gió, dụng cụ cầm tay, các ứng dụng
gia dụng… So sánh giữa BLDC và PMSM được liệt kê trong Bảng 1.1.
7
Hình 1.2: Mặt cắt một số dạng rotor tiêu biểu của động cơ đồng bộ: (a) nam
8
châm lồi bề mặt; (b) nam châm ghép bề mặt; (c) nam châm chìm; (d) nam
châm chìm (từ thông tập trung); và (e) nam châm chìm nhiều lớp dọc trục; (f)
rotor nhiều mảng của SynRM; (g) rotor nhiều lớp dọc trục của SynRM.
Bảng 1.1: So sánh giữa động cơ BLDC với PMSM.
Động cơ BLDC PMSM
Sức phản điện động Sóng hình thang Sóng sin
Dòng điện pha Sóng Sóng sin
Mômen nhấp nhô vuông Cao Thấp
Cảm biến vị trí Cảm biến Hall (giá Resolver (giá thành
thành rẻ) đắt)
Kiểu quấn dây stator Tập trung (tốn ít Phân tán (tốn nhiều
đồng) đồng)
Sử dụng nam châm vĩnh cửu Lớn Tương đối nhỏ
Tổn thất do dòng điện xoay Lớn Tương đối nhỏ
trong nam châm
Độ phức tạp trong điều khiển Đơn giản Phức tạp
Dải tốc độ Hẹp Rộng
Giá thành bộ nghịch lưu Thấp Cao
Đối với động cơ từ trở (Reluctance Motor) có thể được chia làm hai
loại: động cơ từ trở đồng bộ (Synchronous Reluctance Motor - SynRM) và
động cơ từ trở thay đổi (Switch Reluctance Motor, Variable Reluctance
Motor - SRM). Trong đó, các SynRM có số cực ở stator và rotor là bằng
nhau. Rotor SynRM được thiết kế để hướng từ thông qua rotor theo quỹ đạo
mong muốn, do đó các lỗ trống được tạo ra nhằm mục đích này như trên Hình
1.2 (f-g). Cũng nhờ vậy nên khi làm việc, rotor động cơ này mát hơn so với
các động cơ khác. Số cực điển hình của SynRM là 4 và 6. Còn các SRM cũng
có thể được xem là một dạng của động cơ bước với số cực ít. Các SRM khác
9
nhau về số lượng pha quấn trên stator và chúng là một con số nhất định dựa
vào sự tổ hợp phù hợp giữa số cực của stator và số cực rotor. Ví dụ như SRM
2 pha 4/2 (stator 4 cực, rotor 2 cực), và SRM 3 pha 6/4 (stator 6 cực, rotor 4
cực). Nhờ cấu tạo đặc biệt này, đối với SRM, ngoài điều khiển dòng điện,
điện áp còn có thể điều khiển góc quay của rotor. về nguyên lý hoạt động, khi
kích thích bằng liên tiếp các xung dòng điện ở mỗi pha của stator SRM, thì
rotor của động cơ có xu hướng đuổi theo hướng từ trở nhỏ nhất, từ đó tạo
chuyển động quay cho trục động cơ.
1.1.2 Động cơ đồng bộ IPM
Về cấu tạo, stator của động cơ IPM bao gồm các cuộn dây được bố trí
tương tự như ở các động cơ xoay chiều ba pha khác. Còn rotor của động cơ
có cấu tạo khá đặc biệt và đa dạng, bao gồm lõi thép và các tấm nam châm
vĩnh cửu đặt chìm trong lõi thép, tùy vào số đôi cực của động cơ mà có số cặp
nam châm tương ứng. Hình 1.2 (c-e) là những cách bố trí nam châm thường
thấy trong IPMSM.
Sự bố trí các cặp nam châm bên trong lõi thép và cấu tạo lõi thép khiến
cho từ thông của rotor chỉ hướng theo một trục nhất định, ta gọi trục đó là
trục sinh từ thông d, trục còn lại không sinh từ thông gọi là trục q, được mô tả
trên Hình 1.3. Với cách bộ trí nam châm như trên dẫn đến từ thông khe hở
không khí không đều. Do đó, điện cảm trên hai trục cũng khác nhau. Cụ thể
là điện cảm ngang trục Lq của IPMSM lớn hơn điện cảm dọc trục Ld (Lq >
Ld), và tỷ số ξ = Lq / Ld được gọi là hệ số nhấp nhô. Mức độ sai lệch giữa hai
thành phần điện cảm này lớn hay nhỏ tùy thuộc vào cấu tạo của động cơ. Nhờ
đặc điểm này đã dẫn đến một số ưu điểm trong điều khiển động cơ IPM.
10
Hình 1.3: Các đường sức từ của nam châm vĩnh cửu IPMS
Vật liệu làm nam châm cho động cơ là vật liệu có mật độ từ tính lớn, do đó,
kích thước của rotor không cần quá lớn mà vẫn đạt được từ thông mong
muốn, nhờ đó mà mật độ công suất của IPMSM thường rất cao. Giống với
động cơ SPM, khả năng sinh mômen của động cơ IPM nhờ vào sự tương tác
giữa dòng điện stator và từ thông của rotor, mômen này gọi là mômen điện từ
(Electromagnetic Torque). Tuy nhiên, do có Ld ≠ Lq nên IPMSM có thêm một
thành phần mômen từ trở (Reluctance Torque), điều này giúp cho động cơ
IPM có khả năng sinh mômen cao hơn. Hơn nữa, IPMSM còn có khả năng
giảm từ thông mạnh nên có thể điều chỉnh tốc độ trong một dải rộng.
Ưu nhược điểm:
• Có khả năng sinh mômen cao, dải điều chỉnh tốc độ rộng;
• Khối lượng nhẹ, kích thước nhỏ gọn, mật độ công suất lớn;
• Giá thành còn rất đắt.
Để thấy rõ hơn những ưu điểm của IPMSM, ta tiến hành so sánh IPMSM
với SPMSM và kết quả được đưa ra trong Bảng 1.2.
11
Với những ưu điểm nổi bật của IPMSM như trên, trong luận văn, tác giả
sẽ chọn động cơ đồng bộ IPM làm đối tượng nghiên cứu chính, sau đó sẽ mở
rộng bài toán với một số động cơ khác.
1.1.3 Một số phương pháp điều khiển PMSM
Để điều khiển PMSM, ta chỉ có thể sử dụng các phương pháp điều khiển
tần số, như điều khiển vô hướng U / f, điều khiển vector tựa từ thông rotor
(Field Oriented Control - FOC), điều khiển trực tiếp mômen (Direct Torque
Control - DTC).
Phương pháp điều khiển vô hướng U / f là phương pháp điều khiển đơn
giản và dễ thực hiện nhất. Ý tưởng của phương pháp là thay đổi tần số để
thay đổi tốc độ đồng bộ, từ đó thay đổi tốc độ động cơ. Tuy nhiên, nếu điện
áp cấp cho động cơ được giữ không đổi và giảm tần số sẽ kéo theo việc gia
tăng từ thông trong khe hở không khí, khi đó dễ dẫn đến bão hòa mạch từ,
dòng từ hóa tăng, méo dạng sóng dòng và áp cung cấp cho động cơ dẫn đến
tổn hao đồng trên stator sẽ tăng. Để tránh tình trạng này, người ta thường
12
giảm điện áp đi đôi với giảm tần số sao cho từ thông khe hở không khí được
giữ nguyên không đổi. Trong các ứng dụng công nghiệp, phương pháp này
được phân làm hai loại: 1) điều khiển U / f sao cho từ thông là hàm của
mômen tải; và 2) điều khiển U / f sao cho từ thông luôn luôn không đổi ở toàn
dải điều chỉnh. Mặc dù có ưu điểm là đơn giản, dễ thực hiện nhưng phương
pháp này có nhược điểm là ổn định tốc độ ở vùng tốc độ thấp gặp khó khăn,
do vậy thường được dùng trong các ứng dụng không yêu cầu điều chỉnh sâu
tốc độ.
Còn phương pháp điều khiển vector tựa từ thông rotor (FOC) ra đời dựa
trên việc áp dụng các phép biến đổi tuyến tính không gian vector. Tinh thần
của phương pháp là dùng các công cụ biến đổi vector để ước lượng đại lượng
từ thông rotor r và điều chỉnh nó. Ưu điểm của phương pháp này là có thể
ổn định tốc độ ở vùng cận không, cho họ đặc tính cơ của động cơ không đồng
bộ giống với đặc tính cơ của động cơ điện một chiều kích từ độc lập ở vùng
từ thông không đổi. Phương pháp này sẽ được trình bày rõ hơn ở mục 1.2
trong luận văn này.
Phương pháp thứ ba là phương pháp điều khiển trực tiếp mômen (DTC)
xuất hiện và phổ biến vào thập kỉ 90 của thế kỉ 20. Phương pháp này dựa vào
việc điều khiển vị trí vector từ thông stator s để điều khiển mômen động cơ.
Để thực hiện phương pháp này, ta cần dựa trên phép biến đổi vector để xác
định độ lớn và vị trí vector s , thay đổi vector điện áp stator us để thay đổi vị
trí vector s . Ưu điểm của phương pháp này là không cần xác định vị trí của
rotor và cho đáp ứng mômen nhanh. Nhược điểm là với mômen đập mạch
sinh ra, dẫn đến động cơ làm việc ở tốc độ thấp khó ổn định.
Với những ưu nhược điểm của các phương pháp đã nêu ra ở trên nên
trong luận văn này, tác giả sử dụng phương pháp FOC để xây dựng cấu trúc
điều khiển cho bài toán điều khiển nâng cao hiệu suất PMSM.
13
trùng với trục dây quấn pha a của động cơ. Ta thấy rằng, hai dòng điện iα, iβ
là hai dòng điện xoay chiều hình sin.
Hình 1.4: Vector dòng điện stator trên hai hệ tọa độ cố định stator và α-β.
Biểu diễn hình học của công thức chuyển đổi được minh họa trên Hình 1.4.
Công thức chuyển đổi Clarke được mô tả theo phương trình dưới đây:
(1.2)
Trong đó: ia , ib , ic là các dòng điện trên hệ tọa độ stator; và iα, iβ là các
dòng điện trên hệ tọa độ α-β.
Bằng cách tương tự như đối với vector dòng điện stator, các vector điện
áp stator, từ thông stator… đều có thể được biểu diễn bởi các phần tử thuộc
hệ tọa độ trực giao đứng yên α-β.
Dựa vào Hình 1.4, ta cũng có công thức chuyển đổi Clarke ngược từ hệ
tọa độ α-β sang hệ tọa độ stator cố định a-b-c:
15
(1.3)
Hình 1.5: Vector dòng điện stator trên hệ tọa độ cố định α-βvà hệ tọa độ quay d-q.
Công thức chuyển đổi Park [1]:
(1.4)
16
Công thức (1.4) cho phép đưa vector dòng điện quay stator trong tọa độ
trực giao đứng yên α-β thành vector dòng điện đứng yên, bằng cách cho hệ
tọa độ trực giao đứng yên α-β quay quanh gốc với tần số góc bằng tần số góc
của vector dòng điện quay stator. Ta gọi hệ tọa độ quay này là hệ tọa độ trực
giao quay d-q.
Tương tự ta cũng có công thức chuyển đổi Park ngược từ hệ tọa độ d-q về
hệ tọa độ α-β:
(1.5)
Như vậy thông qua hai phép biến đổi Clarke và Park, ta có thể đưa
vector dòng điện gồm ba thành phần trong hệ tọa độ cố định ia,ib,ic thành
vector dòng điện trong hệ tọa độ quay d-q chỉ gồm hai thành phần một chiều
id , iq. Tuy nhiên, để giống với nguyên lý điều khiển của động cơ điện một
chiều, ta phải chọn hệ tọa độ d-q sao cho dòng điện id là thành phần sinh từ
thông và dòng điện iq là thành phần sinh mômen. Để làm được điều đó, ta
gán trục d của hệ tọa độ d-q trùng với hướng từ thông của rotor, khi đó trục q
sẽ hướng theo chiều không sinh từ thông và hệ trục tọa độ d-q sẽ quay với tốc
độ góc đồng bộ với tốc độ góc của từ thông rotor. Phương pháp điều khiển
như vậy gọi là điều khiển vector tựa theo từ thông rotor (FOC).
Đối với PMSM, tốc độ góc của từ thông rotor cũng chính là tốc độ góc
của trục rotor ω=ω và góc pha giữa trục chuẩn α(trục của hệ tọa độ α-β) với
trục của từ thông rotor ψ trục d của hệ tọa độ d-q) chính bằng góc cơ
θs=θr. Như vậy, đối với PMSM, ta có thể sử dụng trực tiếp góc cơ công thức
(1.4) và (1.5).
1.3 Phân tích hoạt động của PMSM
1.3.1 Mô hình toán học của PMSM
Trong hệ tọa độ d-q quay đồng bộ với vận tốc điện, quan hệ điện áp và
17
= . (1.6)
Mômen điện từ của động cơ được tính theo công thức sau:
Te= Pn [ miq+(Ld-Lq)idiq] (1.7)
trong đó O)r là tốc độ quay của rotor, được tính theo công thức sau:
r = (1.9)
Giới hạn từ thông rotor của PMSM có thể được phản ánh qua điện cảm
dọc trục Ld và dòng điện kích thích tương đương của nam châm vĩnh cửu
(nguồn dòng ảo) i f . Khi đó, có thể xem:
m = Ldif. (1.10)
1.3.2 Giới hạn dòng điện và điện áp
Gọi Ismax là biên độ dòng điện lớn nhất của PMSM. Lúc đó, giới hạn
dòng điện của động cơ được biểu diễn như một đường tròn (Hình 1.6) có
phương trình như sau:
+ (1.11)
18
Hình 1.6: Đường tròn giới hạn dòng điện và ellipse giới hạn điện áp với
đường cong mômen bằng hằng số của IPMSM.
Ở vùng tốc độ cao của PMSM, điện áp rơi Rsid và Rsiq trên điện trở cuộn
dây stator là rất nhỏ so với các thành phần khác trong (1.6), nên chúng
thường được bỏ qua khi chọn giới hạn điện áp. Giả sử động cơ đang làm việc
ở trạng thái ổn định và bỏ qua điện áp thuần trở rơi trên điện trở stator, mô
hình toán (1.6) trở thành:
(1.12)
Gọi Usmax là điện áp đỉnh lớn nhất của bộ nghịch lưu. Khi đó, giới hạn
điện áp của PMSM sẽ là:
(1.13)
Biểu diễn (1.12) theo nguồn dòng ảo if đã đưa ra ở (1.10), sau đó thay
vào (1.13), ta được ràng buộc điện áp:
19
Trong đó Usmax liên quan đến điện áp dc-link Udc và được tính bằng
công thức Usmax =Udc / . Giới hạn điện áp (1.14) là một ellipse trong mặt
phẳng (id, iq) và phụ thuộc vào tốc độ ũ)e. Như trên Hình 1.6 là đang biểu diễn
ellipse giới hạn điện áp của IPMSM (Lq >Ld). Ellipse này co lại đến điểm (-
m / Ld ,0) khi tốc độ e tăng. Ràng buộc điện áp (1.14) có thể được viết gọn
lại dưới dạng:
e Usmax (1.15)
trong đó : là từ thông khe hở không khí.
1.3.3 Các đặc tính của PMSM
Các đặc tính của PMSM theo tốc độ được biểu diễn trên Hình 1.7.
Hình 1.7: Các đặc tính của PMSM ở dải tốc độ quay định mức và vùng giảm từ thông.
Để khai thác công sức tối đa của động cơ, điện áp và dòng điện lớn
nhất sẽ được sử dụng. Do đó, khi làm việc ở công suất cực đại, các điểm làm
việc cần phải được xác định tại giao điểm của các đường giới hạn điện áp và
dòng điện. Chú ý rằng, đường tròn giới hạn dòng điện không phụ thuộc vào
tốc độ, trong khi ellipse giới hạn điện áp thì có lại khi tốc độ tăng. Bởi vậy,
các điểm làm việc di chuyển dọc theo vòng tròn bên trái (điểm A - điểm C
20
của Hình 1.6). Theo sự di chuyển này, mômen giảm, bằng cách ấy nó được
biểu diễn bằng một đường cong parabola trong khoảng (A, C) của Hình 1.7.
Nếu tốc độ được tăng thêm nữa, ellipse điện áp tiếp tục bị co lại. Trong dải tốc
độ đó, dòng điện giảm khi tốc độ tăng. Các đường đặc tính điện áp, dòng điện,
mômen, và từ thông trong vùng giảm từ thông được thể hiện trong Hình 1.7.
1.3.3.1 Dải tốc độ quay định mức
Dải tốc độ quay định mức được giới hạn trong dải tốc độ từ không đến
tốc độ cơ bản (0 base). Trong vùng này, mômen cực đại được giới hạn bởi
dòng điện stator lớn nhất. Khi tốc độ dưới tốc độ cơ bản, sức phản điện động
của động cơ bé, điều kiện về giới hạn điện áp (1.14) luôn được thỏa mãn, lúc
này chỉ cần chú ý đến giới hạn dòng điện (1.11). Khi tốc độ tăng lên, sức phản
điện động tăng lên đến khi đạt giá trị giới hạn, và công suất cũng tăng theo
sức phản điện động (trong khoảng 0 đến A trên Hình 1.7). Ở tốc độ cơ bản
basi (tại điểm A trên Hình 1.6), điện áp đầu cực của động cơ đạt đến giới hạn.
Ở dải tốc độ quay định mức, phương pháp điều khiển thường dùng là điều
khiển tối ưu dòng điện đầu vào đáp ứng mômen của phụ tải (Maximum Torque
per Ampere - MTPA).
1.3.3.2 Vùng giảm từ thông phía thấp
Như đã trình bày ở trên, ở dải tốc độ quay định mức thì mômen được
duy trì bằng hằng số và từ thông cũng được giữ không đổi, tốc độ tăng khiến
sức phản điện động tăng và do dó điện áp cung cấp cũng phải tăng theo. Tuy
nhiên, điện áp này bị giới hạn bởi khả năng cung cấp của biến tần. Lúc này,
theo (1.15) thì nếu muốn tiếp tục tăng tốc độ thì phải điều chỉnh giảm từ
thông để điều kiện điện áp (1.14) vẫn được thỏa mãn
Khi tần số tiếp tục tăng, ellipse điện áp co lại trong khi dòng điện đạt
mức cực đại Imax. Do đó, vector dòng điện di chuyển dọc theo đường tròn (
giới hạn dòng điện) từ A đến C trên Hình 1.6. Lúc này, mômen giảm tỷ lệ
nghịch với tốc độ tăng, và công suất bằng hằng số (trong khoảng từ A đến C
21
trên Hình 1.7). Dọc theo biên giới hạn này, dòng điện trục d giảm (âm hơn),
tạo thêm từ thông trục d ngược dấu với từ thông nam châm vĩnh cửu m, dẫn
đến từ thông khe hở không khí giảm xuống. Vì điện áp và dòng điện vẫn giữ
không đổi nên công suất cũng là không đổi. Vì vậy, vùng giảm từ thông phía
thấp còn được gọi là vùng công suất không đổi, và thường dùng phương pháp
điều khiển công suất cực đại6 để điều khiển. Trong vùng này, mômen giảm tỷ
lệ nghịch với tốc độ ωe. Dải tốc độ này được gọi là dải tốc độ công suất
không đổi (Constant Power Speed Range - CPSR).
1.3.3.3 Vùng giảm từ thông phía cao
Phương pháp điều khiển thường dùng cho vùng tốc độ cực cao này là
điều khiển tối ưu từ thông đáp ứng mômen của phụ tải. Chiến lược điều khiển
này được sử dụng như là bước cuối cùng trong vùng tốc độ cao của PMSM
khi Is > m / Ld. Điểm mômen cực đại ứng với mỗi mức từ thông được xác
định dựa vào tiếp tuyến của đường cong mômen với giới hạn điện áp như tại
các điểm C và D ở Hình 1.6
Trong vùng tốc độ cực cao này, ellipse điện áp tiếp tục co lại vào bên
trong đường tròn dòng điện đến điểm (-m / Ld ,0) và dòng điện của động cơ
cũng giảm.
Cho nên, mômen của động cơ cũng giảm rất nhanh và tỷ lệ với 1/ ω2e,
bắt đầu từ điểm C trên hình 1.7
1.3.4 Đặc tính công suất - tốc độ
Bởi vì iq xấp xỉ bằng không khi tốc độ cực cao, nên giới hạn điện áp
(1.14) trở thành:
(id + if )2 ≤ Usmax2 / (ωeLd)2 (1.16)
Khi mà ωe đủ lớn thì vế bên phải của (1.16) xấp xỉ bằng 0. Hay khi id → -if và if thì
ωe → ꝏ. Theo khả năng tạo ra tốc độ cực đại được xác định theo tiêu chí:
m = LdIsmax . (1.17)
22
Hình 1.8 thể hiện ba trường hợp với các giới hạn điện áp và dòng điện và đồ
thị công suất theo tốc độ. Minh họa cụ thể cho ba trường hợp được tổng hợp
như sau:
1) Trường hợp /m > LdIsmax: Tương ứng với trường hợp này (Hình 1.8
(a)), từ thông rotor m lớn hơn giá trị lớn nhất của từ thông mà được tạo bởi
dòng điện stator trên trục ư. Lúc này, tâm của ellipse giới hạn điện áp (-if ,0)
nằm bên ngoài đường tròn giới hạn dòng điện. Tốc độ tối đa mà động cơ có
thể đạt được ứng với điểm (- Is max,0) được gọi là tốc độ giới hạn và có thể suy
ra từ (1.16):
ωc = Usmax / m - LdIsmax (1.18)
Sau tốc độ này, không còn điểm chung giữa giới hạn dòng điện và điện
áp, nên công suất giảm nhanh về 0 khi động cơ đạt được tốc độ này
2) Trường hợp m = LdIsmax: Đây là trường hợp if = Ismax (Hình 1.8 (b). Vì
tâm của ellipse giới hạn điện áp nằm trên đường tròn giới hạn dòng điện, nên
giao điểm luôn luôn tồn tại ở bất kỳ tốc độ lớn nào. Do đó, vùng công suất
không đổi có thể được mở rộng đến tốc độ vô cùng về mặt lý thuyết.
23
(a)
(b)
(c)
Hình 1.8: Quỹ đạo dòng điện và đặc tính công suất - tốc độ trong ba trường hợp:
(a)
m > LdIsmax ; (b) m = LdIsmax ; (c) m < LdIsmax •
24
3) Trường hợp /m <LdIsmax: Lúc này, tâm của ellipse nằm trong đường tròn giới
hạn dòng điện tại mọi tốc độ (Hình 1.8 (c)). Từ thông nam châm có thể bị khử
hoàn hoàn bởi từ thông stator. Ở trường hợp này, vùng công suất không đổi
cũng được mở rộng đến vô hạn. Tuy nhiên, công suất đầu ra bé hơn so với
trường hợp 2.
Như vậy, để mở rộng CPSR thì cường độ từ thông của nam châm vĩnh
cửu trên rotor cần phải được cân đối với dòng điện stator lớn nhất. Tiêu chí
(1.17) là một yếu tố quan trọng trong việc thiết kế các hệ truyền động ứng
dụng CPSR. Đối với những hệ truyền động có yêu cầu dải điều chỉnh tốc độ
rộng ở vùng công suất không đổi thì động cơ có đặc tính như trường hợp 2 và
3 được ưu tiên lựa chọn.
1.4 Kết luận chương 1
Trong chương này, luận văn đã giới thiệu về các động cơ đồng bộ, bên
cạnh đó đã phân loại các động cơ này dựa vào dạng sóng của sức phản điện
động và đặc điểm cấu tạo của rotor. Qua so sánh và đánh giá ưu nhược điểm
của từng loại động cơ thì nổi bật lên loại PMSM với nhiều ưu điểm về mômen
và tốc độ. Do đó, tác giả đã tiếp tục đi sâu phân tích thêm một loại động cơ
tiêu biểu, với các ưu điểm vượt trội trong các PMSM là IPMSM. Từ những
phân tích trên, tác giả đã chọn động cơ IPM là đối tượng nghiên cứu chính
của luận văn, sau đó sẽ mở rộng bài toán ra các loại động cơ khác.
Ngoài ra, luận văn còn đưa ra một số phương pháp điều khiển có thể ứng
dụng cho PMSM và nhận thấy rằng phương pháp FOC có nhiều ưu điểm về
điều khiển hơn nên đã chọn phương pháp này để xây dựng cấu trúc điều khiển
cho bài toán đưa ra. Đây là một phương pháp điều khiển hiện đại giúp tách
các thành phần dòng điện tạo từ thông và dòng điện sinh mômen quay từ hệ
thống dòng điện xoay chiều ba pha ở stator, nhờ mạch vòng điều khiển dòng
điện stator. Từ các công thức chuyển đổi giữa các hệ tọa độ có trong phương
pháp FOC, tác giả đã xây dựng thành các khâu chuyển đổi hệ tọa độ trong
25
động cơ
*
(* tượng trưng cho giá trị đặt), qua bộ điều khiển tốc độ Rζ, đưa
ra giá trị dòng điện đặt iq*. Giá trị đặt iq* và tốc độ thưc của rotor r được
đưa vào khối LMA, và đầu ra khối này cho giá trị dòng điện đặt tối ưu id* để
giảm thiểu tổn thất của PMSM.
Về thuật toán tối thiểu tổn thất trong khối LMA, nó sẽ được bàn thảo kỹ
hơn trong Chương 3. Còn vấn đề mô hình hóa mạch nghịch lưu nguồn áp ba
pha, phương pháp điều chế vector không gian để điều chế độ rộng xung
(Pulse Width Modulation - PWM) cho bộ nghịch lưu ba pha, và thiết kế các
bộ điều khiển dòng điện và điện áp sẽ được trình bày chi tiết trong các mục
dưới đây.
2.2 Điều chế độ rộng xung cho bộ nghịch lưu ba pha.
2.2.1 Mô hình hóa mạch nghịch lưu nguồn áp ba pha.
Mô hình hóa là cầu nối giữa đối tượng vật lý (bộ nghịch lưu nguồn áp
ba pha) và lý thuyết điều khiển (phương pháp thiết kế bộ điều khiển), nên nó
ảnh hưởng rất lớn đến việc thiết kế bộ điều khiển. Mô hình mạch nghịch lưu
nguồn áp ba pha với các nhánh van được mô tả bởi các khóa chuyển mạch
S ,S ,S
a b c
như Hình 2.2.
trong đó, S a
, S b, S c
cũng có thể được coi là các hàm chuyển mạch (hoặc
các xung PWM), có giá trị là 1 hoặc -1, có được sau khi so sánh tín hiệu
điều chế với tín hiệu sóng mang tam giác. Tín hiệu điều chế hay hàm điều
chế phụ thuộc vào phương pháp điều chế. Còn tín hiệu sóng mang tam
giác là xung tam giác cân có tần số bằng tần số PWM mong muốn và có
biên độ cũng phụ thuộc vào phương pháp điều chế.
2.2.2 Phương pháp điều chế vector không gian.
Sơ đồ mạch nghịch lưu nguồn áp ba pha Hình 2.3 gồm ba cặp van
bán dẫn IGBT, do đó sẽ có tám trạng thái đóng cắt các van, và mỗi trạng
thái đóng cắt ta thu được một vector điện áp xác định (cả về hướng và độ
lớn). Tương ứng như vậy, ta sẽ thu được tổng cộng tám vector điện áp cố
định - được gọi là tám vector biên chuẩn, như liệt kê trong Bảng 2.1
Bảng 2.1: Bảng trạng thái đóng cắt van và giá trị điện áp ứng
với các vector chuẩn.
Vector Van dẫn ua ub uc us
chuẩn
u0 S2, S4, S6 0 0 0 0
u7 S1, S3, S5 0 0 0 0
Sector 2
Sector 3 Sector 1
Sector 4 Sector 6
Sector 5
Hình 2.4: Vị trí các vector chuẩn trên hệ tọa độ cố định -
Từ bảng 2.1 ta thấy rằng biên độ các vecter chuẩn (
30
đđều bằng /3 và có góc pha lệch nhau một góc .Hai vector không
( ) đều có biên độ bằng không.các vector chuẩn chia không gian
vector thanh sáu vector đều nhau,có góc mở là như hình 2.4 trong đó
vùng thực sự có ích cho việc điều chế điện áp chỉ nằm trong hình lục giác
đều, được giới hạn bởi đỉnh của sáu vector biên. Tuy nhiên, nhằm mục đích
giảm hài bậc cao, trong thực tế nhiều khi người ta tận dụng toàn bộ lục giác
,mà chỉ sử dụng vùng bên trong đường tròn nội tiếp lục giác trên.khi ấy,biên
độ điện áp cực đại .
Vector điện áp stator sẽ được điều chế dựa trên việc thực hiện các
vector chuẩn u0 ,u1 ,...,u7 . Khi vector u s nằm trong một sector bất kỳ, nó
sẽ được tổng hợp dựa trên việc thực hiện hai vector biên của sector đó và
một trong hai vector không, độ lớn và góc của vector u s sẽ phụ thuộc vào
thời gian thực hiện các vector biên và vector không. Do vậy, ta cần phải xác
định được thời gian đóng cắt các vector chuẩn trong từng sector, từ đó đưa
ra được tín hiệu điều chế d. Trình tự xác định tín hiệu điều chế d theo
phương pháp điều chế vector không gian (SVM) được tiến hành theo các
bước sau:
1) Xác định biên độ, góc pha và sector của vector điện áp stator cần
điều chế: Biên độ và góc của vector điện áp được xác định theo các công
thức sau:
(2.2)
= atan2( ). (2.3)
31
Sai Đúng
Sai Sai Sai Sai
Hình 2.5: Lưu đồ thuật toán xác định sector của vector điện áp stator.
Xác định sector là xác định vị trí của vector điện áp us đang nằm ở
sector nào, việc này được thực hiện nhờ vào thuật toán ở Hình 2.5, trong đó
điện áp được tính dựa vào và theo công thức Clarke (1.3),
và giá trị thứ tự sector xác định được sẽ gán vào biến S ở đầu ra.
2) Tính toán thời gian thực hiện các vector biên (u p , ut ) và vector
không. Thời gian thực hiện các vector biên và vector không được tính toán
theo các công thức sau:
𝑇𝑝= √3 𝑈𝑟𝑒𝑓 𝑈𝑑𝑐 sin(𝑆 𝜋/3 − γ)
𝑇𝑡= √3 𝑈𝑟𝑒𝑓 𝑈𝑑𝑐 sin( γ − (S − 1) π /3 )
𝑇0 = 𝑇𝑐𝑦 − 𝑇𝑝 − 𝑇𝑡
3)Xác định tín hiệu điều chế theo Bảng 2.2.
Bảng 2.2: Xác định tín hiệu điều chế theo phương pháp SVM.
Sector 1: S 1 Sector 3: S 3 Sector 5: S 5
d1 Tp Tt T0 /2 d1 T0 /2 d1 Tt T0 /2
d3 Tt T0 /2 d3 Tp Tt T0 /2 d3 T0 /2
d5 T0 /2 d5 Tt T0 /2 d5 Tp Tt T0 /2
d1 T0 /2 d1 Tp Tt T0 /2 d1 Tp T0 /2
d3 Tp T0 /2 d3 T0 /2 d3 Tp Tt T0 /2
d5 Tp Tt T0 /2 d5 Tp T0 /2 d5 T0 /2
Phương pháp SVM vừa trình bày ở trên được tổng hợp và xây dựng
thành khâu SVM (Hình 2.1) trong MATLAB/SIMULINK được đưa ra ở
phần phụ lục P.4. Trên Hình 2.6 là đồ thị tín hiệu điều chế cho bộ nghịch lưu
ba pha theo phương pháp SVM
Hình 2.6: Hàm điều chế cho mạch nghịch lưu ba pha theo phương pháp SVM.
Ngoài ra phương pháp SVM, còn có phương pháp SinPWM có hàm
điều chế dạng hình sin với tần số bằng tần số điện áp mong muốn sau khi
nghịch lưu, và hàm điều chế được so sánh với sóng mang tam giác cân có
biên độ từ -1 đến 1.
Tuy nhiên, nếu so sánh phương pháp này với phương pháp SVM, thì
phương pháp SVM có nhiều ưu điểm hơn so với phương pháp SinPWM. Biên độ
điện áp cực đại khi được điều chế theo phương pháp SVM là U dc/ 3 , lớn
hơn so với phương pháp SinPWM là Udc /2 . Dòng điện ra khi nghịch lưu
theo phương pháp SVM có tổng độ méo sóng hài (THD) nhỏ hơn so với
33
phương pháp SinPWM. Thêm vào đó, không phải tất cả các chíp khả trình
đều hỗ trợ sẵn hàm sin, nên việc tạo ra một hàm điều chế hình sin khi sử
dụng phương pháp SinPWM bị hạn chế trong một số ứng dụng điều khiển
số. Chính vì vậy, với các hệ truyền động đòi hỏi chất lượng cao thì SVM là
phương pháp thường được sử dụng. Do đó, tác giả sẽ sử dụng phương pháp
SVM để tạo các xung chuyển mạch cho các van của mạch nghịch lưu nguồn
áp ba pha có mô hình đã đưa ra ở mục (2.2.1).
2.3 Thiết kế các bộ điều khiển dòng điện và tốc độ
2.3.1 Thiết kế bộ điều khiển dòng điện bằng kỹ thuật hàm chuẩn bậc hai
Dựa vào (1.6), ta có thể viết lại quan hệ điện áp và dòng điện
trong hệ tọa độ d-q như sau:
ud ( Rs sLd ) e Lq iq
(2.7)
uq (R s sL q ) i q e L d i d e m
Từ (2.7), ta xây dựng được mô hình của PMSM trong hệ tọa độ d-q ở
Hình 2.7.
Trong đó: Td Ld / Rs ; Tq Lq / R s là các hằng số thời gian; và
Trên thực tế, thành phần dòng điện trên hai trục d,q có tác động ảnh hưởng
lẫn nhau thông qua thành phần e Lq iq và e Ld id e m trong (2.7). Vì vậy bộ
điều khiển dòng điện cần có thêm thành phần bù xen kênh để đảm bảo hai
thành phần dòng điện trên được điều khiển độc lập. Hình 2.8 mô tả cấu trúc
bộ điều khiển dòng điện có bù xen kênh.
Khi sử dụng bộ bù tách kênh, ảnh hưởng của thành phần e Lq iq lên nhánh
d đã được loại bỏ, tương tự với thành phần e m e Ld id lên nhánh q. Khi đó
hai nhánh d,q sẽ được điều khiển độc lập bởi từng bộ điều khiển riêng biệt là
Rid và Riq
Cấu trúc bộ điều khiển dòng điện Rid và Riq được sử dụng là bộ PI, hàm
truyền tổng quát được mô tả theo công thức sau:
K pi
s 1
K ii Kii
Ri K pi (2.8)
s s
Kii
35
Do TTWM và Tsi là những hằng số thời gian nhỏ, do đó ta có thể xâp xỉ Ghi
thành:
K pi
s 1
K ii Ks 1
Ghi . . (2.10)
s Ts s 1 TPWM
2 Tsi s 1
K ii
Để nâng cao chất lượng đáp ứng dòng điện, ta cần bù hằng số thời gian lớn
Ts .
Để đơn giản, ta chọn:
K pi
Ts (2.11)
K ii
K s .K ii
Ghi (2.12)
TPWM 2
2 Tsi s s
Hệ kín mạch vòng dòng điện có dạng khâu dao động bậc hai. Do vậy, ta có
thể đưa hệ kín về dạng khâu dao động bậc hai tổng quát với đặc tính mong
muốn bằng kỹ thuật hàm chuẩn bậc hai. Dạng chuẩn của khâu dao động bậc
hai:
1
F
s 2
2 Ds
(2.14)
1
2
Trong đó : D là hệ số tắt dần; và ω là tần số dao động tự nhiên.
Cho Gki = [F] ta rút ra được:
TPWM
2 Tsi 1
2
K s K ii (2.15)
1 2D
K s Ki
Rút ω từ phương trình thứ hai rồi thế vào phương trình thứ nhất của
(2.15), ta được phương trình:
T
4 D2 . PWM Tsi .K s Kii 1 (2.16)
2
Từ (2.11) và (2.16), ta có thể tính được hệ số Kpi và Kii của bộ điều khiển
dòng điện Ri :
1
Kii T
4 D 2 .K s . PWM Tsi
(2.17)
2
K pi Kii .Ts
37
Thay Kpi và Kii tìm được theo (2.17) vào (2.8), ta được bộ điều khiển dòng
điện :
1 1
Rid T
.Td
T
4 D 2 .K s . PWM Tsi 4 D 2 .K s . PWM Tsi .s
2 2
(2.18)
R 1 1
.Tq
iq
T T
4 D 2 .K s . PWM Tsi 4 D 2 .K s . PWM Tsi .s
2 2
Khi sử dụng kỹ thuật hàm chuẩn bậc hai, việc chọn hệ số tắt dần D là rất
quan trọng vì nó sẽ ảnh hưởng đến đáp ứng của hệ thống. Với các thông số
của động cơ như trên, ta tính tần số dao động tự nhiên theo phương trình
thứ nhất của (2.15). Đồng thời, chọn một số giá trị của D trong khoảng từ 0
đến 5, ta có đáp ứng bước nhảy của hàm chuẩn bậc hai (2.14) có dạng như
đồ thị trên Hình 2.10. Với D 1 , đáp ứng có dạng của khâu đáp ứng bậc nhất,
khi D càng tăng thì thời gian xác lập càng tăng. Với D 1 đáp ứng có độ quá
điều chỉnh, khi D càng tiến dần về 0 thì độ quá điều chỉnh càng lớn, và khi
D 0 thì hệ thống sẽ mất ổn định. Dựa vào đặc điểm đó, ta có thể chọn giá trị
của D cho phù hợp để hệ có đặc tính mong muốn.
38
2.3.2 Thiết kế mạch vòng tốc độ theo phương pháp tối ưu đối xứng
Với cấu hình điều khiển đã đưa ra trên Hình 2.1 thì mạch vòng
dòng điện là mạch vòng trong. Do vậy, mạch vòng dòng điện sẽ là
một phần đối tượng điều khiển của mạch vòng tốc độ. Hàm truyền
hệ kín của mạch vòng dòng điện sau khi tính toán bộ điều khiển:
1
Gki 2 2
T T
4 D 2 PWM Tsi .s 2 4 D 2 . PWM Tsi .s 1
2 2
(2.19)
Tương tự như ở mục 2.3.1, ta xấp xỉ Gki thành:
1
Gki (2.20)
T
4 D PWM Tsi .s 1
2
2
1
Đặt Ti
T
4 D 2 PWM Tsi .s 1
2
Khi đó Gik có dạng của một khâu quán tính bậc nhất có hằng số thời gian là Ti :
1
Gik (2.21)
Ti s 1
Từ đây, ta xây dựng được cấu trúc mạch vòng tốc độ như trên Hình
2.11, trong đó Tsw là hằng số thời gian của khâu cảm biến đo tốc độ.
Hàm truyền đối tượng điều khiển của mạch vòng tốc độ:
1 3Pnm 1 1
G . . . (2.22)
Ti s 1 2 Js Ts s 1
K
(2.23)
s(T s 1)
3Pn m
trong đó: K và T Ti Ts
2J
Đối tượng điều khiển của mạch vòng tốc độ có dạng khâu tích phân quán tính
bậc nhất, do đó, ta có thể tính toán bộ điều khiển tốc độ theo phương pháp tối
ưu đối xứng.
Chọn cấu trúc bộ điều khiển tốc độ R là bộ PI:
Ki
R K p (2.24)
s
Theo phương pháp tối ưu đối xứng, các tham số K p và Ki của bộ điều
khiển tốc độ được tính toán theo công thức sau:
1
K p
aKT
1
Ki (2.25)
a aKT 2
Trong đó, hệ số a được xác định từ độ quá điều chỉnh h mong muốn của
hệ kín. Giá trị a càng lớn độ quá điều chỉnh càng nhỏ, nếu a < 1 hệ kín sẽ mất
ổn định.
2.3.3 Mô phỏng và kết quả
Để kiểm tra chất lượng của các bộ điều khiển vừa thiết kế, ta xây
dựng mô hình có cấu trúc như Hình 2.1 trong MATLAB/SIMULINK với
động cơ có các thông số và hệ số như trên. Ở đây, ta tạm bỏ qua khối LMA
trong Hình 2.1, và cho dòng điện đặt id 0 .
1) Tính toán một số thông số của động cơ:
Tốc động cơ định mức tính theo rad/s:
40
2 ndm 2 .2600
rdm 272 (rad/s) (2.26)
60 60
Tốc độ điện định mức:
edm rdm Pn 272.3 = 816 (rad/s) (2.27)
Tần số băm xung PWM: f PWM 10kHz
2) Tính toán thông số các bộ điều khiển dòng điện và tốc độ:
Chọn 2,5 D . Theo công thức (2.18) ta tính được bộ điều khiển dòng
điện:
7,867
Rid 0,1 (2.28)
s
7,867
Riq 0, 223 (2.29)
s
Chọn a 9 , theo công thức (2.25) ta tính được bộ điều khiển tốc độ:
104
R 4, 456 (2.30)
s
Khi sử dụng chuẩn tối ưu đối xứng, ta thấy rằng tử số của hàm chuẩn có
thành phần đạo hàm, thành phần này làm cho đáp ứng có độ quá điều chỉnh lớn.
Do vậy ta sử dụng thêm một khâu tiền xử lý để làm mềm tín hiệu đặt, giúp giảm
độ quá điều chỉnh cho mạch vòng tốc độ. Hàm truyền khâu tiền xử lý:
1 1
G f ( s) (2.31)
6T s 1 0, 0285s 1
0,6s. Các kết quả mô phỏng được thể hiện trên các Hình 2.12, Hình 2.13 và
Hình 2.14.
Nhận xét: Khi mới khởi động, hay khi tăng tốc động cơ lên tốc độ định
mức, tốc độ động cơ đều nhanh chóng bám theo giá trị đặt, thời gian quá độ ,
với độ quá điều chỉnh h nhỏ hơn 6% như trên Hình 2.12 (a). Tại các thời
điểm đóng tải (tăng mômen tải), tốc độ bị giảm khá lớn gần 20%, có thể cải
thiện độ sụt tốc bằng cách giảm hệ số a, từ đó tăng hệ số Ki , tuy nhiên giá trị
dòng xung đỉnh sẽ tăng tỷ lệ. Mômen có đáp ứng khá nhanh, biên độ đập
mạch nhỏ khoảng 5% như trên Hình 2.12 (b), có thể cải thiện chất lượng đáp
ứng mômen bằng cách giảm hệ số D từ đó tăng hệ số K ii của bộ điều khiển
dòng điện, giúp đáp ứng dòng điện d-q nhanh hơn, sai lệch tĩnh nhỏ hơn.
Nhưng bù lại điện áp điều khiển yêu cầu sẽ có giá trị xung đỉnh lớn, dễ vượt
qua điện áp định mức, gây mất ổn định vì điện áp định mức bị giới hạn.
Hình 2.12: Đồ thị đáp ứng tốc độ (a) và mômen (b) của động cơ khi đặt
id=0
42
Hình 2.13: Đồ thị đáp ứng dòng điện id (a) và iq (b) của động cơ ở các tốc độ
và mômen khác nhau khi đặt id=0.
Hình 2.14: Đồ thị đáp ứng dòng điện ba pha của các động cơ ở các tốc độ
và mômen khác nhau khi đặt id=0.
2.4 Kết luận chương 2
Phần đầu của chương này, luận văn đã đưa ra cấu trúc điều khiển tối
thiểu tổn thất cho PMSM và giải thích rõ nhiệm vụ của các khối có trong
43
cấu trúc này. Trong đó, bộ nghịch lưu nguồn áp được sử dụng để cấp nguồn
cho động cơ, và ứng dụng phương pháp SVM để điều khiển 3 cặp van của
bộ nghịch lưu. Đặc biệt, nội dung khối LMA trong cấu hình điều khiển ở
trên sẽ được trình bày cụ thể hơn ở chương 3.
Đồng thời trong chương này, tác giả đưa ra tư tưởng của phương
pháp điều khiển, mô hình hóa bộ nghịch lưu nguồn áp, và đã trình bày sơ
lược về điều chế vector không gian cho bộ nghịch lưu nguồn áp. Dựa vào
kết quả mô hình hóa tác giả đã xây dựng mô hình bộ nghich lưu nguồn áp
ba pha trong MATLAB/SIMULINK như trên, và dựa vào những hiểu biết
về phương pháp điều chế vector không gian tác giả đã xây dựng khâu SVM
trong MATLAB/SIMULINK.
Trong phần tiếp theo của chương này, tác giả tiến hành thiết kế các
mạch vòng điều khiển. Đầu tiên, mạch vòng dòng điện được thiết kế trước
bằng kỹ thuật hàm chuẩn bậc hai. Sau đó, mạch vòng tốc độ mới được thiết
kế bằng phương pháp tối ưu đối xứng. Từ đó, bộ điều khiển dòng điện có
bù xen kênh và bộ điều khiển tốc độ được xây dựng trong
MATLAB/SIMULINK như ở trên. Sau cùng, để đánh giá chất lượng của các
bộ điều khiển vừa thiết kế và phương pháp điều khiển đã chọn, tác giả đã tiến
hành mô phỏng hệ thống với dòng điện đặt id*=0 (đầu ra của khối LMA trên
Hình 2.1). Kết quả mô phỏng đã cho thấy rằng, hệ thống có đáp ứng tốc độ,
mômen và dòng điện là nhanh, và đảm bảo các chỉ tiêu chất lượng.
Cấu trúc điều khiển đưa ra đã chỉ ra rằng, để điều khiển tối thiểu tổn
thất động cơ cần phải tìm ra một thuật toán điều khiển đưa ra được dòng
điện đặt di tối ưu để tổn thất của PMSM là tối thiểu nhưng vẫn tạo ra
mômen xác lập tại tốc độ đặt. Trên cơ sở cấu hình điều khiển đã đưa ra,
Chương 3 của luận văn sẽ đề cập đến một số phương pháp giảm thiểu tổn
thất cho PMSM đã biết và đưa ra thuật toán điều khiển tối thiểu tổn thất đề
xuất.
44
(1)
46
trong đó là dung lượng của tụ, là điện trở nạp, là điện trở Emitter,
chuyển mạch luân phiên khi nạp, là điện áp cung cấp, là điện
áp bơm tối thiểu và là tổn hao của diode và transistor nhánh dưới khi
nạp.
(2)
Mạch điều khiển cung cấp thời gian nạp đến 100ms.
Khi các transistor nhánh trên dẫn dòng, các điện áp xuất hiện trên các
diode , và ngược so với điện áp DC link. Vì vậy, cần phải chọn các
diode có điện áp ngược phù hợp với thời gian phục hồi ngắn và dòng dò nhỏ.
Trong trường hợp này diode ER1J được chọn vì có điện áp làm việc 600V,
thời gian phục hồi là 35ns và dòng dò từ 5 cho đến 500A tùy thuộc vào nhiệt
độ.
Dòng đầu ra cực đại được tính toán với giả thiết chỉ sử dụng đến 70%
giá trị dòng cực đại của các transistor.
Biên độ cực đại của dòng đầu ra bậc 1 (hài cơ bản) là:
Biên độ của dòng bảo vệ được đo bởi các điện trở shunt , và .
Các tín hiệu đo dòng được đưa qua các diode và mạch lọc RC để giảm nhiễu.
Tác động bảo vệ sẽ được kích hoạt khi điện áp này đạt đến 0.5V. Để bảo vệ
dòng cực đại 10A thì điện trở shunt phải là:
(3)
trong đó là tổn hao trên diode Shottky và là biên độ dòng cực đại.
47
Do mỗi điện trở shunt dẫn dòng trong nửa chu kỳ của sóng sin nên
công suất tổn hao trên shunt là:
(4)
Thực tế thì thời gian trễ của mạch lọc RC phải vào khoảng 1-2s
3.1.2 Mạch lái
Tất cả các module lái đều có bộ chia điểm không cho các đầu vào và
không cần phải có mạch cách ly galvanic từ các đầu vào. Việc lái các
transistor trên không cần nguồn nuôi riêng biệt. Ở đây chúng sử dụng mạch
Bootstrap để tạo ra điện áp cần thiết cho các transistor trên.
Hình 3.2 Nguyên lý mạch bơm phun điện tích (charge pump) cho các
transistor nhánh trên
Một điện áp chung 15V được đưa đến mạch kích trên. Phần nối đất của
module và các mạch kích trên được nối với nhau thông qua điện trở đến
các chân Emittor của các transisitor nhánh trên. Các điện thế của các Emitter
so với các điểm nối đất chung thay đổi theo hàm thời gian của các transisitor
chuyển mạch và của tải. Khi các transistor nhánh dưới dẫn dòng, các điện thế
Emitter này tiến đến không, điện áp cung cấp xuất hiện trên nhánh -
- và tụ được nạp. Sau khi các transistor nhánh dưới đã mở, các chân
Emittier của chúng đạt đến điện thế mới theo điện áp trên các tụ . Sau đó,
48
điện áp này được sử dụng để chuyển mạch các transistor nhánh trên. Các chân
Emitter có điện thế gần bằng điện thế của mạch DC link
Khi transistor nhánh dưới dẫn dòng, điện thế Emitter của nó đạt đến gần 0,
điện áp nguồn cấp xuất hiện ở nhánh - - - và tụ được nạp.
Sau khi mở transistor nhánh dưới, Emitter của nó đạt đến giá trị điện thế mới
theo điện áp trên tụ . Điện áp này được sử dụng để làm mở trasistor nhánh
trên. Chân Emitter đạt gần đến điện thế của mạch DC link và một điện áp âm
lớn xuất hiện trên nhánh nhánh - - - . Tuy nhiên, diode nối
ngược sẽ bảo vệ không cho tụ bị nạp từ điện áp ngược.
Sau khi khởi động, các tụ bơm phun điện tích được xả và các transistor
nhánh trên không bị chuyển mạch. Vi vậy, mạch điều khiển cần phải duy trì
độ trễ nhất định trong khi các transistor nhánh dưới dẫn dòng. Một điện trở độ dốc
được đặt vào mạch điều khiển điện áp đầu ra của transistor khi chuyển mạch.
Độ dốc của điện áp ra trong thời gian chuyển mạch dẫn đến việc gia tăng nhiễu và
gây áp lực lên lớp cách điện của cáp dẫn điện và của các cuộn dây.
3.1.3 Mạch bảo vệ quá dòng
Sơ đồ nguyên lý của mạch bảo vệ quá dòng như hình 3.3.
Điện áp nguồn cho mạch khuyếch đại là . Thiết kế dòng bảo
vệ cho mỗi pha là . Chọn điện trở Shunt là . Khi đó,
điện áp rơi trên điện trở Shunt của từng pha là
Chọn hệ số khuyếch đại của bộ khuyếch đại thuật toán U6 là 1 (điện trở
). Do phần bảo vệ quá dòng của module FSBS10CH60 sẽ tác động
khi điện áp đầu vào chân CSC đạt đến ngưỡng 0.5V. Như vậy, với hệ số
khuyếch đại bằng 1 thì điện áp tương ứng của mỗi pha sẽ là .
Lúc này cần mạch chia áp để đưa các tín hiệu phản hồi dòng đến U6. Mạch
này bao gồm các điện trở , , và . Giả sử chọn giá trị của điện trở
là thì giá trị của các điện trở , , sẽ phải là
Chọn .
3.1.4 Mạch phản hồi điện áp một chiều DC link và các điện áp pha
Trên board mạch thử nghiệm, phần công suất được cấp nguồn với điện
áp . Chọn giá trị điện trở phân áp một chiều . Do điện áp
tham chiếu của mạch ADC là nên giá trị tổng của các điện trở
, , và phải là:
Chọn , , và . Khi đó
Việc tính toán các điện trở cho mạch phản hồi điện áp từng pha cũng
tương tự như trên. Các giá trị được chọn như trên hình sau
đầu vào của mạch CSC vượt quá 0,5V và mạch bảo vệ dòng sẽ tác động. Khi
đó, các transistor sẽ được khóa lại và xuất hiện tín hiệu báo lỗi ở đầu ra VFO.
Đầu ra VFO là kiểu collector hở. Vì vậy, cần phải có mạch chuyển đổi
mức trước khi đưa đến mạch điều khiển như trên hình 3.6.
Mạch kích cho transistor hãm được thực hiện bởi transistor và
thông qua các điện trở và nối đến +15V. Dòng điện đỉnh đến cực cửa
của transistor hãm có thể đạt đến 0,6A. Các transisitor và có dòng
collector cực đại là 1A.
3.1.7 Mạch nguồn nuôi
(5)
Giá trị hiệu dụng của điện áp lưới cực đại
(6)
Dòng hiệu dụng bậc 1
(7)
53
(8)
Dòng hiệu dụng của mạch DC link:
(9)
Dung lượng của tụ DC được xác định từ mối quan hệ sau:
(10)
Trong đó là chu kỳ điện áp lưới, là giá trị hiệu dụng của dòng DC
link, và điện áp rơi tương đối:
(11)
Thay vào (10) ta có:
(12)
3.1.8 Công suất động cơ
Công suất biểu kiến của động cơ
(13)
trong đó là công suất cơ của động cơ, là hệ số công suất của động
cơ là hiệu suất của động cơ.
Công suất biểu kiến của bộ biến đổi là 1.8 kVA. Vì vậy, đối với động
cơ với công suất 1,1 kW, hiệu suất 77% và hệ số công suất 0.81, công suất
biểu kiến của nó là
(14)
3.1.9 Tính toán các tổn hao
Tổn hao tổng của mạch công suất bao gồm tổn hao trên đường dây, tổn hao
chuyển mạch của các transistor và diode.
54
Các tổn hao này có thể được tính riêng rẽ cho từng thành phần như sau:
(15)
trong đó là điện áp ngưỡng, là điện trở động khi làm việc, và là
dòng điện trung bình và dòng điện hiệu dụng.
Tuy nhiên, nhà sản xuất chỉ đưa ra điện áp bão hòa của transistor là 2,1V và
điện áp thuận cực đại trên diode là 2,3V ứng với dòng điện cực đại và nhiệt
độ của transistor là 25°C. Vì vậy, cần phải lựa chọn một phương pháp tính tổn
hao đơn giản hơn, trong đó tổn hao là hằng số với
(16)
trong đó là điện áp rơi cực đại trên phần tử.
Để cho đơn giản, ta xác định điện áp rơi trên cả transistor và diode là
Dòng điện trung bình trong mỗi pha của bộ biến đổi là
(17)
Coi dòng điện hình sin của mỗi pha chảy qua một nhánh của bộ biến đổi
inverter là tổng công suất tiêu thụ trên nhánh đó. Thay vào (16) ta có
(18)
Khi đó, tổng tổn hao của 3 nhánh của inverter là
(19)
Tổn hao chuyển mạch trong mỗi nửa chu kỳ dẫn của dòng sin được xác định
bởi
(20)
trong đó là tần số chuyển mạch, và là công suất tiêu thụ khi
dẫn và không dẫn.
55
(21)
(22)
Thay vào (20) và nhân với số các nhánh ta có
(23)
Tổn hao tổng khi đầy tải
(24)
Với mạch chỉnh lưu, biên độ của công suất tiêu thụ với tải thuần trở là
(25)
Nếu bỏ qua tổn hao của tụ và các loại tổn hao khác thì hiệu suất của inverter
ứng với dòng điện xấp xỉ dòng danh định của tải thuần là
(26)
56
Với tải có , hiệu suất sẽ nhỏ hơn nhưng tổn hao thì không thay đổi.
3.2 Mạch điều khiển
Mạch điều khiển được thiết kế dựa trên vi mạch STM32F103ZET6.
Đây là họ vi điều khiển được tích hợp lõi ARM Cortex-M3 32-bit RISC chất
lượng cao hoạt động ở tần số 72 MHz với bộ nhớ tốc độ cao (bộ nhớ Flash
đến 512 Kbytes và bộ nhớ SRAM đến 64 Kbytes) và các chân vào/ra (I/O)
mở rộng. Họ vi điều khiển này đều có bộ biến đổi tương tự số (ADC) 12-bit,
04 bộ timer 16-bit dùng chung và 02 bộ timer PWM, cũng như các bộ truyền
thông nâng cao với 02 module I2C, 03 modulr SPI, 02 module I2S, 01
module SDIO, 05 module USART, 01 module USB và 01 module CAN. Họ
vi điều khiển này có thể hoạt động trong dải nhiệt độ từ -40 đế +105°C, điện
áp nguồn nuôi từ 2,0 đến 3,6V.
Với các đặc điểm như trên vi điều khiển STM32F103ZET6 được sử
dụng rộng rãi trong các ứng dụng truyền động động cơ, điều khiển, các thiết
bị y tế và các thiết bị cầm tay, máy tính và các ngoại vi, hệ thống định vị toàn
cầu GPS, các ứng dụng công nghiệp, các bộ điều khiển lập trình được (PLC),
các bộ biến đổi, máy in, máy scan, các hệ thống cảnh báo video và các hệ
thống sưởi ấm, thông gió và điều hòa không khí (HVAC).
Cấu trúc tổng thể của vi mạch STM32F103ZET6 được cho trên hình 3.10.
Hình 3.12 Mạch giao tiếp giữa module vi xử lý và module công suất
58
Động cơ
Tản nhiệt
Nguồn nuôi
Động cơ
Tản nhiệt
Mạch đo và phản
hồi dòng
/**************************************************************
****
* @file ExampleClass.h
* @author IMS Systems Lab and Technical Marketing - MC Team
* @version V0.0.1
* @brief This file contains interface of Example class
**************************************************************
*****
*/
/* Includes -----------------------------------------------------*/
#include "MC_type.h"
/**
* @brief Public Example class definition
*/
typedef struct CEXMP_t *CEXMP;
/**
* @brief Example class parameters definition
*/
typedef const struct
{
unsigned int paramA; /*!< Example of parameter */
}ExampleParams_t, *pExampleParams_t;
/**
* @brief Creates an object of the class Example
* @param pExampleParams pointer to an Example parameters structure
* @retval CEXMP new instance of Example object
62
*/
CEXMP EXMP_NewObject(pExampleParams_t pExampleParams);
/**
* @brief Example of public method of the class Example
* @param this related object of class CEXMP
* @retval none
*/
void EXMP_Func(CEXMP this);
/**
* @brief Example of virtual method of the class Example implemented by
derived class
* @param this related object of class CEXMP
* @retval none
*/
void EXMP_VFunc(CEXMP this);
Cần phải nhấn mạnh rằng lớp kiểu CEXMP là một con trỏ (pointer) đến một
cấu trúc không kiểu (void structure) CEXMP_t. Điều này nhằm tránh cho
người sử dụng truy cập vào các thành phần đối tượng và các dữ liệu ẩn.
ExamplePrivate.h
File này được lưu trong thư mục \MC library\inc (chỉ được phân phối riêng
cho STM32 FOC PMSM SDK). Đây là một lớp header riêng chứa các định
nghĩa riêng cho các lớp thi hành bao gồm các định nghĩa kiểu cấu trúc dữ liệu
đối tượng (các thành phần biến đối tượng của cấu trúc đó), các cấu trúc chứa
các method ảo, các thông số lớp được định nghĩa lại riêng và định nghĩa lớp
riêng.
/**
63
**************************************************************
*****
* @file ExamplePrivate.h
* @author IMS Systems Lab and Technical Marketing - MC Team
* @version V0.0.1
* @brief This file contains private definition of Example class
**************************************************************
*****
*/
/**
* @brief Example class members definition
*/
typedef struct
{
unsigned int base_vars; /*!< Example of member */
}Vars_t,*pVars_t;
/**
Nếu có cả lớp cơ sở hoặc thi hành yêu cầu các dòng lệnh thực hiện tạo
ra một ngắt (interrupt) thì một con trỏ tới các dòng lệnh này (pIRQ_Handler)
cũng sẽ được định nghĩa.
ExampleClass.c
File này được lưu trong thư mục \MC library\src (chỉ được phân phối
riêng cho STM32 FOC PMSM SDK), đó là một file nguồn chứa phần thi
hành của các method lớp. File này bao gồm cả các định nghĩa riêng và giao
tiếp của cùng một lớp.
Method Example_NewObject có một số giải thích. Method này tạo ra
các đối tượng của lớp Example (CEXMP) khi có yêu cầu.
Có hai phần thi hành khác nhau của Example_NewObject được tạo ra,
tùy thuộc vào hiệu lực của MC_CLASS_DYNAMIC trong định nghĩa
65
*/
#include "ExampleClass.h"
#include "ExamplePrivate.h"
#include "MCLibraryConf.h"
#include "MC_type.h"
#ifdef MC_CLASS_DYNAMIC
#include "stdlib.h" /* Used for dynamic allocation */
#else
_CEXMP_t EXMPpool[MAX_EXMP_NUM];
unsigned char EXMP_Allocated = 0u;
#endif
/**
* @brief Creates an object of the class Example
* @param pExampleParams pointer to an Example parameters structure
* @retval CEXMP new instance of Example object
*/
CEXMP EXMP_NewObject(pExampleParams_t pExampleParams)
{
_CEXMP _oEXMP;
#ifdef MC_CLASS_DYNAMIC
_oEXMP = (_CEXMP)calloc(1u,sizeof(_CEXMP_t));
#else
if (EXMP_Allocated < MAX_EXMP_NUM)
{
_oEXMP = &EXMPpool[EXMP_Allocated++];
}
else
{
67
_oEXMP = MC_NULL;
}
#endif
_oEXMP->pParams_str = (pParams_t)pExampleParams;
return ((CEXMP)_oEXMP);
}
/**
/**
* @brief Example of virtual method of the class Example implemented
by derived * class
* @param this related object of class CEXMP
* @retval none
*/
void EXMP_VFunc(CEXMP this)
{
((_CEXMP)this)->Methods_str.pVFunc(this);
}
68
4.2.3 Tổ chức và nội dung các file nguồn lớp dẫn xuất (derived classes)
Để hoàn thiện hình ảnh của các file nguồn lớp dẫn xuất, các mẫu của
các file này được đưa ra ở đây cho một lớp dẫn xuất bắt nguồn từ class cơ sở
Example.
Derived_ExampleClass.h
File này được lưu trong thư mục giao tiếp \MC, đó là một header chung
chứa các giao tiếp cho lớp Derived_Example. Như đối với ExampleClass.h,
một file header chứa mọi thứ cần thiết để làm việc với các lớp liên quan. File
này bao gồm các method đặc trưng của lớp dẫn xuất, định nghĩa chung của
kiểu lớp dẫn xuất và cấu trúc kiểu chữa các tham số hằng cần thiết để tạo đối
tượng lớp dẫn xuất.
Ngoài ra và chỉ khi nào cần thì lớp này có thể chứa các định nghĩa về
các kiểu nhất định cần thiết cho việc sử dụng method.
Tạo một ví dụ mới của đối tượng lớp dẫn xuất yêu cầu các con trỏ tới
cả cơ sở và các cấu trúc tham số lớp dẫn xuất (xem thêm cả
Derived_ExampleClass.c).
/**
**************************************************************
*****
* @file Derived_ExampleClass.h
* @author IMS Systems Lab and Technical Marketing - MC Team
* @version V0.0.1
* @brief This file contains interface of Derived class
**************************************************************
*****
*/
#include "MC_type.h"
69
/**
* @brief Public Derived class definition
*/
typedef struct CDRV_EXMP_t *CDRV_EXMP;
/**
* @brief Derived class parameters definition
*/
typedef const struct
{
unsigned int param1; /*!< Example of parameter */
}DerivedParams_t, *pDerivedParams_t;
/**
* @brief Creates an object of the class Derived
* @param pExampleParams pointer to an Example parameters structure
* @param pDerivedParams pointer to a Derived parameters structure
* @retval CDRV_EXMP new instance of Derived object
*/
CDRV_EXMP DRV_NewObject(pExampleParams_t pExampleParams,
pDerivedParams_t pDerivedParams);
/**
* @brief Example of public method of the class Derived
* @param this related object of class CDRV_EXMP
* @retval none
*/
void DRV_Func(CDRV_EXMP this);
Derived_ExamplePrivate.h
70
File này được lưu trong thư mục \MC library\inc (chỉ có trong phiên
bản bí mật của STM32 FOC PMSM SDK), đó là một file header lớp riêng
chứa các định nghĩa riêng cần thiết cho việc thực thi lớp dẫn xuất. Nó bao
gồm định nghĩa riêng của kiểu cấu trúc dữ liệu đối tượng (các biến đối tượng
là các phần tử của cấu trúc này), định nghĩa lại riêng lớp tham số và định
nghĩa lớp riêng.
Không giống như file header định nghĩa lớp riêng có sở liên quan, một
kiểu cấu trúc lớp dẫn xuất không chứa các con trỏ tới cả các lớp dẫn xuất tiếp
theo lẫn các vật chứa (containers) phương pháp ảo. Điều này hạn chế các mức
độ thừa kế tới mức 1.
/**
**************************************************************
*
* @file Derived_ExamplePrivate.h
* @author IMS Systems Lab and Technical Marketing - MC Team
* @version V0.0.1
* @brief This file contains private definition of Derived class
**************************************************************
*****
*/
/* Define to prevent recursive inclusion ------------------------*/
#ifndef __DERIVED_EXAMPLEPRIVATE_H
#define __DERIVED_EXAMPLEPRIVATE_H
/**
* @brief Derived class members definition
*/
typedef struct
{
71
/**
* @brief Redefinition of parameter structure
*/
Derived_ExampleClass.c
File này được lưu trong thư mục \MC library\src (chỉ có trong phiên
bản bí mật của STM32 FOC PMSM SDK). Đây là một file nguồn chứa các
thực thi của cả các method đặc trưng lớp dẫn xuất lẫn các method ảo lớp cơ
sở. Nó bao gồm cả cơ sở và giao tiếp các lớp dẫn xuất cũng như các định
nghĩa riêng. Nếu các lớp dẫn xuất yêu cầu các lệnh thực thi để kích hoạt một
ngắt thì sẽ tích hợp thêm file MCIRQHandlerPrivate.h.
Method DRV_NewObject thể hiện những gì đã đề cập bên trên. Nó tạo
các đối tượng của lớp Derived_Example class (CDRV_EXMP) cần thiết và
yêu cầu các con trỏ tới cả cấu trúc các tham số của cơ sở và các lớp dẫn xuất
72
đầu vào. Việc tạo đối tượng lớp dẫn xuất bao hàm cả việc tạo đối tượng lớp
cơ sở liên quan. Hai đối tượng này được hợp lại bằng cách khởi tạo một con
trỏ lớp cơ sở tới đối tượng lớp dẫn xuất (_oExample->DerivedClass) với địa
chỉ của đối tượng lớp dẫn xuất vừa tạo (_oDerived). Các con trỏ lớp cơ sở tới
các method ảo và, nếu cần, tới MC IRQ Handler cùng được khởi tạo với các
con trỏ tới các hàm riêng lớp dẫn xuất. Địa chỉ của phần lớp cơ sở của đối
tượng lớp dẫn xuất được thay truy xuất tới kiểu lớp dẫn xuất chung
(CDRV_EXMP) và được quay trở lại.
/**
**************************************************************
*
* @file Derived_ExampleClass.c
* @author IMS Systems Lab and Technical Marketing - MC Team
* @version V0.0.1
* @brief This file contains private implementation of Derived
class
**************************************************************
*****
*/
#include "ExampleClass.h"
#include "ExamplePrivate.h"
#include "Derived_ExampleClass.h"
#include "Derived_ExamplePrivate.h"
#include "MCLibraryConf.h"
#include "MC_type.h"
#include "MCIRQHandlerPrivate.h" /*!< Only if derived class
73
{
_oDerived = MC_NULL;
}
#endif
_oDerived->pDParams_str = pDerivedParams;
_oExample->DerivedClass = (void*)_oDerived;
_oExample->Methods_str.pVFunc = &DRV_VFunc;
_oExample->Methods_str.pIRQ_Handler = &DRV_IRQHandler;
Set_IRQ_Handler(pDerivedParams->IRQno, (_CMCIRQ)_oExample);
return ((CDRV_EXMP)_oExample);
}
/**
* @brief Example of private method of the class Derived to implement a
virtual
/**
75
/**
* @brief Example of private method of the class Derived to implement an
MC IRQ function
* @param this related object
* @param flag used to distinguish between various IRQ sources
* @retval none
*/
4.2.4 Thư viện điều khiển động cơ liên quan đến xử lý ngắt
Việc thực thi của các lớp nào đó (chẳng hạn như đo tốc độ hay dòng
điện) có thể yêu cầu thực hiện các lệnh đặc biệt (được đưa ra dưới đây như là
các bộ xử lý ngắt điều khiển động cơ MC IRQ Handler) khi có một sự kiện
đặc biệt xảy ra dẫn đến một chương trình con xử lý ngắt (Interrupt Service
Routine - ISR) liên quan.
Để giữ thư viện điều khiển động cơ và các lớp dự án người dùng riêng
rẽ thì cần phải thực hiện một cơ chế cho phép kích hoạt thực thi một gói MC
IRQ Handlers bên trong một lớp đã cho mà không cho phép bất kỳ một tham
chiếu tường minh nào tới các đối tượng thư viện điều khiển động cơ từ lớp
người dùng.
Với cơ chế như vậy, module stm32fxxx_MC_it.c (chứa các định nghĩa
của tất cả các IRQ Handlers yêu cầu thi hành các lệnh MC nào đó) được tùy ý
sử dụng bởi người dùng bằng cách đặt nó ở mức dự án người dùng. Cả
stm32fxxx_MC_it.c và các thư viện điều khiển động cơ đều chứa
MCIRQHandlerClass với bảng vector điều khiển động cơ (MC_IRQTable)
bao gồm một tập các đối tượng cần thiết để kích hoạt một ISR. Việc lấp đầy
một vị trí trong bảng được thực hiện khi một đối tượng tương ứng được khởi
tạo (bên trong method XXX_New_Object liên quan) thông qua việc gọi hàm
Set_IRQ_Handler. Điều này được minh họa trên hình