Đề tài Bộ điều khiển PID số cho động cơ DC ứng dụng ASIC

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

pdf5 trang | Chia sẻ: netpro | Lượt xem: 2652 | Lượt tải: 5download
Bạn đang xem nội dung tài liệu Đề tài Bộ điều khiển PID số cho động cơ DC ứng dụng ASIC, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Tuyển tập Báo cáo “Hội nghị Sinh viên Nghiên cứu Khoa học” lần thứ 6 Đại học Đà Nẵng - 2008 43 BỘ Đ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ử Tuyển tập Báo cáo “Hội nghị Sinh viên Nghiên cứu Khoa học” lần thứ 6 Đại học Đà Nẵng - 2008 44 dụ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: )( )( )()( tE dt tdi LtRitU  , với )()( tKE  dt td JtBtMtM t )( )()()(   , với )()( tiKtM  Trong đó: LR, : đ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: Phương trình toán học:   dt tde KdtteKteKtU DIP )( )()()( Ảnh Laplace: sK s K KsG D I PC )( Rời rạc hóa bằng biến đổi Z:                 z z T K z zTK KzG DIPC 1 1 1 2 )( 2 2 1 1 2 2 1 10 1      zbzb zazaa  Bộ lọc số: Phương trình sai phân:    m j j n i i jkybikxaky 10 )()()( Với n, m = 2: )2()1()2()1()()( 21210  kybkybkxakxakxaky (*) Tuyển tập Báo cáo “Hội nghị Sinh viên Nghiên cứu Khoa học” lần thứ 6 Đại học Đà Nẵng - 2008 45 D D D D a0 a1 a2 + b0 b1 x(k) y(k) Hình 2. Biễu diễn bằng sơ đồ cấu trúc Hàm truyền (biến đổi Z): 1 2 0 1 2 1 2 1 2 ( ) ( ) ( ) 1 a a z a zY z G z X z b z b 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()()( 21210  kybkybkxakxakxaky 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ố ai , -bj 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); FPGA TB ngoài PWM Contoller (PID) + Register Giao tiếp Decoder Motor DC Encoder Driver Tuyển tập Báo cáo “Hội nghị Sinh viên Nghiên cứu Khoa học” lần thứ 6 Đại học Đà Nẵng - 2008 46 12- 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 Q SET CLR D Hiệu chỉnh sel1 load1 sel2 load2 Control unit (FSM) Data_outEnable Reset l ck Start a1 a2 Hình 4. Bộ vi xử lý chuyên dụng Tuyển tập Báo cáo “Hội nghị Sinh viên Nghiên cứu Khoa học” lần thứ 6 Đại học Đà Nẵng - 2008 47 - Phương trình sai phân bậc 2 cho bộ PID có hệ số 02 b nên chúng ta chỉ cần 3 thanh ghi lưu )(kx , )1( kx , )2( kx 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 )(ky và )1( ky do chúng không xuất hiện đồng thời. - Ngoài ra 11 b nên thành phần )1( ky đượ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 )1( ky và acc, quá trình nạp do đó cũng được thực hiện đồng thời với việc nạp )(kx , )1( kx , )2( kx 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…

Các file đính kèm theo tài liệu này:

  • pdfBộ điều khiển pid số cho động cơ dc ứng dụng asic.pdf