Chu Đức Toàn<br />
<br />
Tạp chí KHOA HỌC & CÔNG NGHỆ<br />
<br />
122(08): 9 - 14<br />
<br />
ỨNG DỤNG BỘ ĐIỀU KHIỂN MỜ - NƠ RON KẾT HỢP FPGA<br />
ĐIỀU KHIỂN ĐỘNG CƠ ĐỒNG BỘ TUYẾN TÍNH<br />
Chu Đức Toàn*<br />
Trường Đại học Điện lực<br />
<br />
TÓM TẮT<br />
Công nghệ FPGA là công nghệ mảng lập trình được dạng trường, một hệ thống điều khiển mờ<br />
(FC) kết hợp với mạng nơ ron hàm cơ sở xuyên tâm (RBF NN) được áp dụng cho động cơ đồng<br />
bộ tuyến tính nam châm vĩnh cửu (PMLSM) trong bài báo. Đầu tiên, mô hình toán học của động<br />
cơ đồng bộ tuyến tính nam châm vĩnh cửu được xác định, tiếp đó để nâng cao chất lượng của hệ<br />
thống điều khiển PMLSM một bộ điều khiển mờ cùng với bộ chỉnh định thông số luật mờ được<br />
thiết kế cho vòng điều chỉnh vị trí hệ thống điều khiển PMLSM để chống lại sự ảnh hưởng của<br />
tính chất của hệ và tải ngoài. FPGA sử dụng phương pháp graph trạng thái lập trình để thực thi bộ<br />
điều khiển trên và ngôn ngữ mô tả phần cứng dùng để mô tả sơ đồ graph trạng thái. Cuối cùng hệ<br />
thống thực nghiệm được xây dựng để kiểm nghiệm tính hiệu quả của thiết kế cho kết quả tốt.<br />
Từ khóa: Mảng cổng lập trình được dạng trường (FPGA); bộ điều khiển mờ - nơ ron (NFC);<br />
động cơ đồng bộ tuyến tính nam châm vĩnh cửu (PMLSM); graph trạng thái (FSM); ngôn ngữ mô<br />
tả phần cứng (VHDL)<br />
<br />
MỞ ĐẦU*<br />
Động cơ đồng bộ tuyến tính ngày càng được<br />
sử dụng phổ biến trong lĩnh vực tự động hóa<br />
do độ chính xác cao, đáp ứng nhanh. Tuy<br />
nhiên do PMLSM không có vitme và đai ốc<br />
nên tải trọng thay đổi trong quá trình chuyển<br />
động sẽ ảnh hưởng tới chất lượng vị trí điều<br />
chỉnh. Để giải quyết vấn đề này nhiều kỹ<br />
thuật điều khiển thông minh như: điều khiển<br />
mờ, điều khiển nơ ron,..đã được ứng dụng.<br />
Mặc dù bộ điều khiển mờ - nơ ron (NFC) hay<br />
bộ điều khiển mờ (FC) cần rất nhiều phép tính<br />
nhưng bộ xử lý tín hiệu số DSP và mảng lập<br />
trình được dạng trường FPGA có thể đáp ứng<br />
được. Đặc biệt FPGA với đặc điểm lập trình<br />
cứng, khả năng tính toán nhanh, chu trình<br />
thiết kế ngắn, công suất tiêu thụ thấp thích<br />
hợp hơn DSP để thực thi hệ thống số. Trước<br />
đây đã thiết kế bộ điều khiển mờ tự kiểm soát<br />
hoạt động trên rô bốt hay bộ điều khiển mờ<br />
trượt cho động cơ đồng bộ tuyến tính đều<br />
thực thi trên FPGA. Nhưng do cơ chế suy<br />
luận mờ xử lý song song nên tiêu tốn rất<br />
nhiều tài nguyên của FPGA, vì vậy mà số luật<br />
hợp thành hữu hạn sẽ được sử dụng. Để giải<br />
*<br />
<br />
quyết vấn đề tài nguyên trong FPGA, phương<br />
pháp biểu đồ trạng thái FSM cùng với bộ<br />
nhân, bộ cộng, so sánh và thanh ghi,…sẽ<br />
được sử dụng trong bài báo. Do biểu đồ trạng<br />
thái FSM thuộc nhóm phương pháp xử lý<br />
tuần tự cho nên tài nguyên sử dụng sẽ giảm<br />
đáng kể. Bài báo này sử dụng một chip FPGA<br />
là Altera Stratix II EP2S60F672C5 có 48,352<br />
ALUTs, tối đa 492 user I/O pins, 36 DSP<br />
blocks, 2.544.192 bít of Ram và một Nios II<br />
processor được nhúng trong FPGA. Sau cùng<br />
hệ thống thực nghiệm bao gồm một bo mạch<br />
FPGA, một bộ biến đổi và một PMLSM sẽ<br />
được tạo ra để kiểm nghiệm tính chính xác<br />
của thiết kế.<br />
CẤU TRÚC BỘ ĐIỀU KHIỂN MỜ - NƠ<br />
RON TRÊN CƠ SỞ FPGA<br />
Kiến trúc nội của NFC trên FPGA bao gồm<br />
bộ phận chỉ định vị trí, NFC cho vòng điều<br />
khiển vị trí, bộ điều khiển tỷ lệ (P) cho vòng<br />
điều chỉnh tốc độ và bộ điều khiển véc tơ dòng<br />
cho PMLSM tất cả thực thi trên một FPGA.<br />
Mô hình toán học của PMLSM<br />
Mô hình động của một PMLSM điển hình<br />
được mô tả trên trục tọa độ động bộ như sau:<br />
<br />
Tel: 0982 917093, Email: toancd@epu.edu.vn<br />
<br />
9<br />
<br />
Chu Đức Toàn<br />
<br />
Tạp chí KHOA HỌC & CÔNG NGHỆ<br />
<br />
did<br />
R<br />
Lq <br />
1<br />
s id <br />
x iq vd<br />
dt<br />
Ld<br />
Ld<br />
Ld<br />
.<br />
<br />
(1)<br />
.<br />
<br />
<br />
Ld <br />
Rs<br />
1<br />
<br />
x p id <br />
iq vd f x p (2)<br />
dt<br />
Lq<br />
Lq<br />
Ld<br />
Lq<br />
<br />
diq<br />
<br />
Trong đó vd, vq là thành phần điện áp trên trục<br />
d và q<br />
Id, iq là thành phần dòng điện trên trục d và q<br />
Ld, Lq là thành phần điện cảm trên trục d và q<br />
<br />
x p là tốc độ dịch chuyển<br />
τ là bước cực<br />
Lực điện từ được tính như sau:<br />
<br />
3<br />
[( Ld Lq )id ]iq<br />
2<br />
<br />
(3)<br />
<br />
Vòng điều khiển dòng của PMLSM dựa trên<br />
cơ sở điều chế véc tơ. Nếu chỉnh định id = 0<br />
thì mô hình PMLSM sẽ được tách biệt, lúc đó<br />
điều khiển PMLSM sẽ trở lên dễ dàng giống<br />
động cơ tuyến tính một chiều. Sau khi đơn<br />
giản hóa và xem xet thành phần tải trọng cơ<br />
khí, mô hình của PMLSM là:<br />
<br />
3<br />
f i q K t i q<br />
2<br />
3<br />
f<br />
Với K t <br />
2<br />
Fe <br />
<br />
(4)<br />
(5)<br />
<br />
Và phương trình đặc tính cơ của PMLSM là:<br />
<br />
Fe FL M m<br />
<br />
d 2xp<br />
dt<br />
<br />
2<br />
<br />
Bm<br />
<br />
Cấu trúc của NFC bao gồm một FC, bộ chỉnh<br />
định tham số trên cơ sở RBF NN, được mô tả<br />
chi tiết như sau:<br />
Bộ điều khiển mờ FC:<br />
Sai lệnh bám và sự thay đổi sai lệnh được<br />
định nghĩa là:<br />
<br />
e( k ) x m ( k ) x p ( k )<br />
<br />
(7)<br />
<br />
e(k ) e(k ) e(k 1)<br />
<br />
(8)<br />
<br />
e, de, uf tương ứng là đầu vào và đầu ra của<br />
FC. Thiết kế của FC như sau:\<br />
<br />
.<br />
<br />
<br />
Fe <br />
<br />
122(08): 9 - 14<br />
<br />
dx p<br />
<br />
(6)<br />
<br />
dt<br />
<br />
Trong đó Fe, Kt, Mm, Bm, FL tương ứng là lực<br />
điện từ, hằng số lực, tổng khối lượng của các<br />
thành phần dịch chuyển, hệ số ma sát nhớt và<br />
ngoại lực.<br />
NFC trong vòng điều chỉnh vị trí<br />
<br />
- Cho e, de là các biến đầu vào của FC và các<br />
biến ngôn ngữ là E và dE. Tập mờ của E và<br />
dE theo thứ tự là {A0, A1, A2, A3, A4, A5, A6}<br />
và {B0, B1, B2, B3, B4, B5, B6}.Các hàm thuộc<br />
này đều là hàm tam giác đối xứng.<br />
- Tính toán giá trị hàm thuộc ứng với các đầu<br />
vào e và de. Ta thấy với bất kỳ giá trị đầu vào<br />
nào thì luôn chỉ có hai hàm thuộc cho giá trị<br />
khác 0, được tính như sau:<br />
e e<br />
; Ai 1 (e) 1 Ai (e)<br />
(9)<br />
Ai (e) i 1<br />
2<br />
- Lựa chọn luật mờ ban đầu từ đặc tính đáp<br />
ứng động học như: IF e is Ai and ∆e is B j<br />
THEN uf is cj,i (10). Trong đó I và j = 0 – 6,<br />
Ai và Bj là các số mờ, cj,i là các số thực.<br />
- Bộ điều khiển FC trong bài báo sử dụng bộ<br />
mờ hóa singleton, luật suy luận Prod, phương<br />
pháp giải mờ trọng tâm. Mặc dù có tổng cộng<br />
49 luật hợp thành nhưng chỉ có 4 luật có đầu<br />
ra khác 0. Vì vậy (10) có thể thay thế bởi biểu<br />
thức (11).<br />
i 1 j1<br />
<br />
u f (e, de) <br />
<br />
c<br />
n i m j<br />
<br />
m, n<br />
<br />
[μ A n (e) * μ Bm (de)<br />
<br />
i 1 j1<br />
<br />
μ<br />
n 1 m j<br />
<br />
An<br />
<br />
(e) * μ Bm (de)<br />
<br />
i 1 j1<br />
<br />
Δ c m, n d n,m<br />
n i m j<br />
<br />
FL<br />
i*q<br />
<br />
Fe<br />
Kt<br />
+<br />
<br />
-<br />
<br />
1<br />
M m S Bm<br />
<br />
Hình 1. Sơ đồ khối điều khiển của PMLSM<br />
<br />
10<br />
<br />
1<br />
S<br />
<br />
Xp<br />
<br />
*<br />
<br />
(11)<br />
<br />
Chu Đức Toàn<br />
<br />
Tạp chí KHOA HỌC & CÔNG NGHỆ<br />
<br />
122(08): 9 - 14<br />
<br />
xp(k)<br />
w1 enn<br />
<br />
h1<br />
<br />
+<br />
<br />
u(k)<br />
h2<br />
<br />
w2<br />
<br />
xrbf<br />
<br />
xp(k-1)<br />
<br />
Σ<br />
<br />
xp(k-2)<br />
<br />
hq<br />
<br />
Lớp đầu vào<br />
<br />
wq<br />
<br />
Lớp ẩn<br />
<br />
Lớp đầu ra<br />
<br />
Hình 2. Mạng RBF NN<br />
<br />
Mạng nơ ron RBF NN:<br />
Mạng RBF trong bài báo gồm có 3 lớp: 1 lớp<br />
vào, 1 lớp ẩn và 1 lớp đầu ra. Mạng RBF có 3<br />
đầu vào u(k), xp(k-1) và xp(k-2). Dạng véc tơ:<br />
(12)<br />
X [u(k ), x p (k 1), x p (k 2)]T<br />
Hàm đa biến Gauss dùng làm hàm kích hoạt<br />
trong lớp ẩn:<br />
<br />
X cr<br />
hr ( x) exp <br />
2<br />
<br />
2 r<br />
<br />
<br />
2<br />
<br />
<br />
, r 1,2,3,4...q<br />
<br />
<br />
<br />
(13)<br />
<br />
T<br />
q<br />
<br />
wr hr (14)<br />
<br />
các trọng số và đầu ra của nơ ron thứ r. Hàm<br />
năng lượng sai số: J <br />
<br />
1<br />
1 2<br />
( x rbf x p ) 2 e nn<br />
2<br />
2<br />
<br />
(15)<br />
Theo phương pháp ngược hướng gradient thì<br />
trọng số, tâm hàm và bề rộng hàm được huấn<br />
luyện bằng công thức:<br />
wr (k 1) wr (k ) enn (k )hr (k ) (16)<br />
X (k ) c rs (k ) (17)<br />
c (k 1) c (k ) e (k )h (k ) w (k ) s<br />
r<br />
<br />
r 2 (k )<br />
<br />
r<br />
<br />
rs (k 1) rs (k ) enn (k )hr (k )wr (k )<br />
<br />
X s (k ) cr (k )<br />
<br />
2<br />
<br />
(18)<br />
<br />
r 3 (k )<br />
<br />
Trong đó r = 1, 2, 3,…q; s = 1, 2, 3; η là hệ số<br />
huấn luyện.<br />
<br />
x p<br />
u<br />
<br />
<br />
<br />
x rbf<br />
u<br />
<br />
q<br />
<br />
w r hr<br />
r 1<br />
<br />
J e<br />
(21)<br />
c m,n<br />
<br />
c r1 u ( k )<br />
2r<br />
<br />
phân của Je là:<br />
<br />
r 1<br />
<br />
Trong đó x rbf là các giá trị đầu ra; wr, hr là<br />
<br />
nn<br />
<br />
Các tham số cm,n được điều chỉnh như sau:<br />
<br />
m = j, j+1; n=i, i+1; α là hệ số hiệu chỉnh, vi<br />
<br />
Đầu ra của mạng RBF là: x rbf <br />
<br />
rs<br />
<br />
1<br />
1<br />
J e e 2 ( x m x p ) 2 (20)<br />
2<br />
2<br />
<br />
c m, n <br />
<br />
cr cr1 , cr 2 , cr 3 <br />
<br />
rs<br />
<br />
Bộ điều chỉnh thông số cho FC<br />
Phương pháp ngược hướng gradient được sử<br />
dụng để điều chỉnh FC. Hiệu chỉnh thông số<br />
FC nhằm cực tiểu hóa bình phương sai lệnh<br />
giữa vị trí dịch chuyển và đầu ra của mô hình<br />
tham chiếu. Hàm năng lượng sai số:<br />
<br />
(19)<br />
<br />
Ta có:<br />
<br />
x p u f<br />
J e<br />
e<br />
c m , n<br />
u f c m , n<br />
<br />
u f (k )<br />
c m , n (k )<br />
<br />
d n,m<br />
<br />
(22)<br />
(23)<br />
<br />
sử dụng công thức Jacobi (19) suy ra:<br />
x p<br />
u f<br />
<br />
(K p K i )<br />
<br />
x rbf<br />
u<br />
<br />
q<br />
<br />
( K p K i ) w r hr<br />
<br />
c r1 u (k ) (24)<br />
<br />
r 1<br />
<br />
r2<br />
<br />
thay (23), (24) vào (22) ta có công thức hiệu<br />
chỉnh các tham số cm,n sau:<br />
q<br />
<br />
c m, n (k ) e(k )( K p K i )d n ,m wr hr<br />
r 1<br />
<br />
c r1 u (k ) (25)<br />
r2<br />
<br />
Với m = j, j+1; n = i, i+1.<br />
Cấu trúc nội của FPGA điều khiển PMLSM<br />
được đề xuất là: FPGA là Altera Stratix II<br />
EP2S60F672C5 có 48352 ALUTs, tối đa 718<br />
cổng vào/ra, một bộ xử lý nhúng Nios II tạo<br />
lên một SoPC. Trong đó IP điều khiển bao<br />
gồm NFC điều chỉnh vị trí, bộ điều chỉnh tốc<br />
độ P, bộ điều khiển dòng và bộ biến đổi tọa<br />
độ, bộ điều chế véc tơ không gian...<br />
11<br />
<br />
Chu Đức Toàn<br />
<br />
Tạp chí KHOA HỌC & CÔNG NGHỆ<br />
<br />
122(08): 9 - 14<br />
<br />
Hình 3. Mô hình thực nghiệm<br />
<br />
Một biểu đồ trạng thái dùng để mô tả NFC và<br />
bộ điều khiển P: sử dụng các bộ cộng, bộ<br />
nhân, các thanh ghi..., thao tác qua 111 bước<br />
để tính toán tất cả các phép toán. Toàn bộ<br />
thuật toán được viết bằng ngôn ngữ mô tả<br />
phần cứng VHDL. Tất cả các bước tính toán<br />
từ S0 đến S5 để tính toán đầu ra của mô hình<br />
tham chiếu; S6 đến S8 tính toán tốc độ và sai<br />
lệnh vị trí và sự thay đổi sai lệnh; S9 đến S22<br />
tính toán bộ điều khiển mờ; S23 đến S27 tính<br />
toán tốc độ và dòng điện chỉ thị; S28 đến S104<br />
tính toán trong RBF NN, công thức Jacobi;<br />
cuối cùng S105 đến S111 điều chỉnh các tham số<br />
của FC. Mỗi bước tính toán thực hiện trong<br />
40ns (25MHz). Tổng thời gian thực hiện 111<br />
bước tính là 4.44μs. Bộ xử lý nhúng Nios II<br />
thực hiện tính toán chỉ thị chuyển động, bao<br />
gồm chương trình chính và chương trình phục<br />
vụ ngắt ISR với chu kỳ 2ms. Toàn bộ chương<br />
trình phần mềm này được viết bằng ngôn ngữ<br />
C. Toàn bộ tài nguyên thiết kế là 19225<br />
ALUTs và 301 056 RAM bit, chiếm 57,3%<br />
ALUTs và 13,6% RAM của Stratix II<br />
EP2S60F672C5.<br />
KẾT QUẢ THỰC NGHIỆM<br />
Sơ đồ mô hình thực nghiệm hình 3 bao gồm:<br />
một chip FPGA, một bộ biến đổi nguồn áp sử<br />
dụng IGBT và một PMLSM được chế tạo bởi<br />
Baldor. Một số thông số về động cơ như:<br />
Rs = 27 Ω, Ld = Lq=23,3mH, Kt=79,9 N/A.<br />
Điện áp đầu vào là 220V, dòng điện liên tục<br />
1,6A, dòng điện cực đại 4,8A và công suất<br />
54W. Tốc độ và gia tốc cực đại là 4m/s và 4g.<br />
12<br />
<br />
Khối lượng dịch chuyển 2,5 kg, tải trọng tối<br />
đa lên 22,5 kg. Cảm biến vị trí là một encoder<br />
tuyến tính với độ phân giải 5μm được gắn<br />
trên PMLSM, bước cực 30,5 mm. Bộ biến đổi<br />
gồm 3 IGBT lên tới 600V; điện áp cổng phát<br />
±20V. Mạch điều khiển cổng IGBT sử dụng<br />
IC toshiba TLP250. Tín hiệu vào bộ biến đổi<br />
là tín hiệu PWM từ FPGA. Tần số trích mẫu<br />
trong vòng điều chỉnh dòng điện, tốc độ và vị<br />
trí theo trình tự là 16KHz, 2KHz, 2KHz. Mô<br />
hình tham chiếu là một khâu bậc hai với tần<br />
số dao động riêng là 20 rad/s và hệ số tắt dần<br />
là 1. Các kết quả đồ thị hình 4, 5, 6.<br />
<br />
Hình 4. Đáp ứng bậc thang trong 3 trường hợp:<br />
a) FC khi phụ tải 0 kg; b) FC khi phụ tải 11 kg; c)<br />
NFC khi phụ tải 11 kg.<br />
<br />
Chu Đức Toàn<br />
<br />
Tạp chí KHOA HỌC & CÔNG NGHỆ<br />
<br />
122(08): 9 - 14<br />
<br />
học xấu đi với độ quá điều chỉnh lên tới<br />
19.5% (hình 4b). Kết quả này cải thiện nhiều<br />
hưn khi sử dụng bộ điều khiển mờ - nơ ron<br />
(hình 4c).<br />
<br />
Hình 5. Đáp ứng của hệ với tín hiệu vào hình sin<br />
khi sử dụng FC<br />
<br />
Hình 5 và hình 6 cho thấy đáp ứng tần số và<br />
sai lệnh bám trong trường hợp sử dụng bộ<br />
điều khiển FC và bộ điều khiển NFC với phụ<br />
tải 11kg. Tín hiệu đầu vào hình sin với biên độ<br />
là 10mm, tần số biến đổi từ 1 Hz tới 3 Hz. So<br />
với kết quả sử dụng FC, trường hợp sử dụng<br />
NFC cho sai lệnh bám chỉ bằng 0.35 lần.<br />
KẾT LUẬN<br />
<br />
Hình 6. Đáp ứng của hệ với tín hiệu vào hình<br />
sin khi sử dụng NFC<br />
<br />
Hình 4 là đáp ứng bước nhảy của hệ trong<br />
trường hợp sử dụng bộ điều khiển FC và bộ<br />
điều khiển mờ - nơ ron (NFC). Tín hiệu đầu<br />
vào là một xung vuông với tần số 0.5 Hz, biên<br />
độ 0-10mm và 25-35 mm. Khi sử dụng bộ<br />
điều khiển mờ, trong trường hợp có phụ tải 0<br />
kg hệ thống cho đáp ứng động học tốt với thời<br />
gian lên 0.2s, không có độ quá điều chỉnh, sai<br />
lệnh tĩnh gần như bằng 0 (hình 4a). Khi có<br />
phụ tải 11kg, kết quả cho thấy đáp ứng động<br />
<br />
Bài báo đã thiết kế bộ điều khiển mờ - nơ ron<br />
kết hợp FPGA để đồng thời cho việc nhận<br />
dạng và điều khiển PMLSM. Các bước thực<br />
hiện bao gồm: thiết kế hệ thống và tích hợp<br />
toàn bộ thiết kế trên một FPGA. Các kết quả<br />
thực nghiệm hình 4, 5 và 6 cho thấy điều<br />
khiển PMLSM cho độ chính xác cao.<br />
TÀI LIỆU THAM KHẢO<br />
1. Chin-Teng Lin and C.S. George Lee; Neural<br />
Fuzzy Systems; Prentice-Hall International (1996).<br />
2. Duane Hanselman-Bruce Littlefield, Mastering<br />
Matlab A Comprehensive Tutorial and Refecence<br />
(1996).<br />
3. Nguyễn Trọng Thuần, Đỗ Trung Hải; Ứng dụng<br />
lý thuyết mờ và mạng nơ ron để nhận dạng động<br />
học hệ có tính phi tuyến mạnh; Tạp chí Khoa học<br />
và Công nghệ các Trường Đại học Kỹ thuật, số 60,<br />
trang 21-26 (2007).<br />
<br />
13<br />
<br />