BỘ ĐIỀU KHIỂN PID SỐ CHO ĐỘNG CƠ DC ỨNG DỤNG ASIC Đề tài nghiên cứu thiết kế một ứng dụng của công nghệ ASIC. Sử dụng FPGA thực hiện bộ điều khiển PID số cho động cơ DC. Nhân điều khiển là một bộ vi xử lý chuyên dụng được thiết kế dựa trên cấu trúc MAC (multiplier/accumulator). Với cấu trúc MAC, phương trình sai phân bậc 2 được thực hiện trong 4 chu kỳ xung clock hệ thống, nhờ kết hợp phép cộng dồn và
Trang 1BỘ ĐIỀU KHIỂN PID SỐ CHO ĐỘNG CƠ DC ỨNG
DỤNG ASIC
APPLICATIONS OF ASIC TECHNOLOGY IN DESGINING A DIGITAL PID CONTROLLER FOR DC MOTOR
SVTH: VŨ TÚ ANH - O3ĐT2
Khoa Điện Tử Viễn Thông, Trường Đại Học Bách Khoa
GVHD: KS NGUYỄN KHÁNH AN, ThS NGUYỄN BÁ HỘI,
KS NGUYỄN TRUNG KIÊN
Khoa Điện Tử Viễn Thông, Trường Đại Học Bách Khoa
TÓM TẮT:
Đề tài nghiên cứu thiết kế một ứng dụng của công nghệ ASIC Sử dụng FPGA thực hiện bộ điều khiển PID số cho động cơ DC Nhân điều khiển là một bộ vi xử lý chuyên dụng được thiết
kế dựa trên cấu trúc MAC (multiplier/accumulator) Với cấu trúc MAC, phương trình sai phân bậc 2 được thực hiện trong 4 chu kỳ xung clock hệ thống, nhờ kết hợp phép cộng dồn và phép nhân trong một chu kỳ xung clock đơn Thử nghiệm với FPGA Spartan-3AN cho phép tần số clock hệ thống đến 62MHz
ABSTRACT:
This final year project aims at using one of applications of ASIC technology in desgining a digital PID controller for DC motor The controller core is an application specific microprocessor based on MAC (multiplier/accumulator) With this MAC architecture, the second order differential equation is able to be executed in 4 clock cycles, due to accumulating and multiplying during a single clock cycle Testing on FPGA Spartan-3AN allows clock frequency
up to 62MHz
1 Mở đầu
Cùng với sự phát triển nhanh chóng của khoa học công nghệ, kỹ thuật điều khiển tự động được ứng dụng rộng rãi và đóng vai trò quan trọng trong nhiều lĩnh vực, theo đó đòi hỏi
về chất lượng, cũng như tốc độ của các bộ điều khiển ngày càng cao Trong nhiều trường hợp các bộ điều khiển thông thường không đáp ứng được, chúng ta thường phải trả giá cao cho những tiêu chí này Có một hướng giải quyết vấn đề này đó là ứng dụng các công nghệ mới Với công nghệ ASIC chúng ta có thể phát triển các bộ điều khiển theo hướng chuyên dụng cho các ứng dụng cụ thể Và tạo ra các bộ điều khiển với giá thành thấp hơn, năng lượng tiêu thụ ít hơn Các giải thuật điều khiển được xử lý bằng phần cứng sẽ có tốc độ cao hơn hẳn với cùng một công nghệ Khả năng lập trình lại, khả năng tích hợp hệ thống trên một chíp cho ta sự linh hoạt, độ tin cậy cao, tiết kiệm không gian hệ thống
Trong giới hạn, đề tài phát triển một ứng dụng mang tính thử nghiệm đó là thiết kế bộ điều khiển PID số cho động cơ DC Trong thực tế các bộ điều khiển động cơ thường sử dụng
vi điều khiển Các bộ điều khiển chất lượng cao có thể sử dụng DSP Ngày nay đã xuất hiện thế hệ chip lai mới như ADI's Blackfin và TI's MSP430 kết hợp các ưu điểm của vi điều khiển
và khả năng tính toán, xử lý tín hiệu nhanh với chu kỳ vòng lặp xác định của DSP Tuy nhiên một bộ điều khiển chuyên dụng vẫn cho ta nhiều lợi ích hơn
2 Tổng quan
Động cơ DC là một đối tượng điều khiển thường gặp trong thực tế, nó ứng dụng rộng rãi trong công nghiệp, dân dụng, quốc phòng Thiết kế bộ điều khiển PID số cũng là một bài toán khá quen thuộc nhờ tính đơn giản nhưng khá hiệu quả của nó Vấn đề là các bộ điều khiển này thường bị giới hạn về tốc độ, độ chính xác (do độ rộng bit dữ liệu giới hạn) nếu sử
Trang 2dụng vi điều khiển Sử dụng DSP, PC hay các bộ vi xử lý thế hệ mới có thể giải quyết được các vấn đề trên nhưng thường không hiệu quả do giá thành cao, cồng kềnh, tiêu tốn nhiều năng lượng… Để giải quyết vấn đề này, đề tài tập trung xây dựng bộ điều khiển chuyên dụng, thiết
kế, kiểm tra và thử nghiệm trên FPGA (Spartan III)
3 Nội dung
3.1 Bộ điều khiển PID số cho động cơ DC
Động cơ DC:
Áp dụng định luật Kirchoff và định luật Newton cho phần điện và phần cơ của động cơ DC:
) ( ) ( )
(
)
dt
t di L t
Ri
t
U , với E(t)K(t)
dt
t d J t B t M
t
M( ) t( ) ( ) ( )
, với M(t)Ki(t)
Trong đó: R, L : điện trở và điện cảm của động cơ
K: là hệ số; B: là hệ số ma sát; J : moment quán tính
Qua phép biến đổi Laplace ta có mô hình toán học đầy đủ của động cơ DC như hình 1
Hình 1 Mô hình toán học của động cơ DC
Bộ điều khiển PID:
dt
t de K dt t e K t e K t
s
K K s
P
C( )
z
z T
K z
z T K K z
P C
1 1
1 2
) (
2
2 1 1
2 2 1 1 0
z b z b
z a z a a
Bộ lọc số:
j j n
i
i x k i b y k j a
k y
1 0
) ( )
( )
( Với n, m = 2: y(k)a0x(k)a1x(k1)a2x(k2)b1y(k1)b2y(k2) (*)
Trang 3D
D
D
a 0
a 1
a 2
+
b 0
b1
Hình 2 Biễu diễn bằng sơ đồ cấu trúc
Hàm truyền (biến đổi Z):
( ) ( )
Y z
G z
Kết luận:
- Về mặt toán học bộ điều khiển PID số tương tự một bộ lọc IIR bậc 2
- Thiết kế bộ điều khiển chính là thực hiện giải thuật giải phương trình sai phân (*)
3.2 Thiết kế bộ điều khiển số trên FPGA
Sơ đồ khối hệ thống:
Hình 3 Sơ đồ hệ thống
Giải thuật điều khiển: giải phương trình sai phân bậc 2
) 2 ( ) 1 ( ) 2 ( ) 1 ( ) ( )
(k a0x k a1x k a2x k b1y k b2y k
y
1- acc = 0; // reset
2- Input M(0) = x(k); // Bộ nhớ M lưu các biến x(k), y(k); Bộ nhớ K lưu các hệ số a i , -b j
3- count = 5;
4- while (count 0) {
5- count = count -1;
6- multi = M(count)* K(count);
7- acc = acc + multi; }
8- result = f(acc); // hiệu chỉnh lại số bit
9- M(2) = M(1);
10- M(1) = M(0);
11- M(4) = M(3);
PWM Contoller
(PID)
+
Register
Motor
DC
Encoder
Driver
Trang 412- M(3) = result;
13- Output y(k) = result;
Xây dựng bộ vi xử lý chuyên dụng:
- Một bộ vi xử lý có thể chia thành 2 phần chính: đường dữ liệu (datapath) và đơn vị điều khiển (control unit) Đường dữ liệu biến đổi dữ liệu đầu vào thành dữ liệu mới ở đầu ra, đơn vị điều khiển sẽ điều khiển quá trình đó
- Một bộ vi xử lý chuyên dụng đôi khi còn gọi là mạch tích hợp ứng dụng cụ thể ASIC
Nó được tạo ra với mục đích chỉ để thực hiện một nhiêm vụ, do vậy các lệnh được nối cứng bên trong tức là không cần bộ nhớ chương trình Các quá trình đọc lệnh, giải mã lệnh không được cần đến Giải thuật điều khiển được xây dựng ngay bên trong mạch
- Bộ vi xử lý được thiết kế dựa trên cấu trúc MAC (multiplier/accumulator) kết hợp với giải thuật được trình bày ở hình 4
datapath
Q
Q
SET
CLR D
Q
Q
SET
CLR D
Q
Q
SET
CLR D
Data_in
a0
*
A B
+
A B
Q
QSET
CLR D
Hiệu chỉnh
sel1
load1
sel2
load2
Control unit (FSM)
Data_out Enable
Reset
clock
Start
a1 a2
Hình 4 Bộ vi xử lý chuyên dụng
Trang 5- Phương trình sai phân bậc 2 cho bộ PID có hệ số b2 0 nên chúng ta chỉ cần 3 thanh ghi lưu x (k), x(k1), x(k2) và một thanh ghi lưu biến acc (biến tạm lưu các
kết quả trung gian) được dùng chung với y (k) và y(k1) do chúng không xuất hiện đồng thời
- Ngoài ra b1 1nên thành phần y(k1)được nạp trực tiếp cho acc ngay thời điểm đầu
tiên Điều này cho phép dùng chung thanh ghi cho y(k1) và acc, quá trình nạp do đó
cũng được thực hiện đồng thời với việc nạp x (k), x(k1), x(k2) tiết kiệm một chu
kỳ máy
- Bộ nhân sử dụng kỹ thuật Pipelining kết hợp với bộ cộng trong một chu kỳ máy đơn, tăng tốc độ xử lý
- Dựa trên các trạng thái của máy trạng thái (FSM), các từ điều khiển được đơn vị điều khiển (control unit) tạo ra sẽ điều khiển datapath xử lý dữ liệu theo giải thuật Thời gian hoàn thành giải thuật luôn luôn là 4 chu kỳ xung clock, đây là đặc điểm quan trọng trong bài toán điều khiển động cơ tốc độ cao, bởi chúng cần chu kỳ lấy mẫu Ts không đổi Các bộ vi xử lý thông thường có thể không đáp ứng đuợc điều này do chúng thường chứa bộ nhớ Cache
Các khối chức năng tích hợp:
Với ASIC chúng ta có thể tích hợp nhiều khối chức năng trên một chip Trong ứng dụng này các khối chức năng PWM (điều chế độ rộng xung), khối giao tiếp theo chuẩn UART (truyền thông nối tiếp bất đồng bộ) đều được tích hợp
4 Đánh giá kết quả
Quá trình thiết kế, kiểm tra và thử nhiệm trên Kit Spartan-3AN đã cho kết quả tốt Với chip FPGA xc3s700an, xung đồng hồ hệ thống có thể lên 62MHz (tần số thử nghiệm là 50MHz), tần số lấy mẫu đạt đến 10MHz
5 Kết luận
Bộ điều khiển PID số này có thể được ứng dụng cho các đối tượng điều khiển khác nhau (các hệ số Kp, Ki, Kd có thể thay đổi) Thiết kế và sử dụng các chip ASIC thay thế chip FPGA, với việc sản xuất hàng loạt sẽ cho giá thành thấp Có thể tích hợp thêm bộ tự chỉnh định (Self-Tuning Controller), tự động điều chỉnh các hệ số Kp, Ki, Kd bằng cách áp dụng các thuật toán điều khiển hiện đại như điều khiển thích nghi, điều khiển mờ
TÀI LIỆU THAM KHẢO
[1] Tống Văn On, Nguyên Lý Mạch Tích Hợp (tập 1, tập 2) Nhà xuất bản Thống Kê, 2004 [2] Nguyễn Thị Phương Hà - Huỳnh Thái Hoàng, Lý Thuyết Điều Khiển Tự Động NXB Đại
Học Quốc Gia Tp.HCM
[3] Nguyễn Quốc Trung, Xử Lý Tín Hiệu Số NXB Khoa Học và Kỹ Thuật, 1998
[4] Các tài liệu kỹ thuật của Xilinx
[5] L.Perry, VHDL Programming by Example 2002…