Điều khiển vị trí bóng chỉnh định các thông số PID theo thuật toán tối ưu bầy đàn

111 605 0
Điều khiển vị trí bóng chỉnh định các thông số PID theo thuật toán tối ưu bầy đàn

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

i LỜI CAM ĐOAN Tôi xin cam đoan công trình nghiên cứu riêng Các số liệu, kết luận văn thực chưa công bố công trình nghiên cứu khác Tác giả luận văn DƯƠNG HỒNG PHƯỚC ii MỤC LỤC Trang TRANG BÌA PHỤ LỜI CAM ĐOAN i MỤC LỤC ii DANH MỤC CÁC KÝ HIỆU .v DANH MỤC CÁC BẢNG vi DANH MỤC CÁC HÌNH VẼ .vii MỞ ĐẦU 1 Lý chọn đề tài .1 Đối tượng phạm vi nghiên cứu Phương pháp nghiên cứu Ý nghĩa khoa học thực tiễn đề tài .2 Cấu trúc luận văn .3 CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1.1 Giới thiệu đề tài .5 1.2 Mục đích nghiên cứu đề tài .7 1.3 Nội dung đề tài .7 CHƯƠNG 2: LÝ THUYẾT TỐI ƯU BẦY ĐÀN .10 2.1 Thuật toán PSO chuẩn 10 2.1.1 Mở đầu 10 2.1.2 Thuật toán tiến hóa PSO .12 2.1.3 Lưu đồ giải thuật thuật toán tiến hóa PSO 14 2.2 Cải tiến thuật toán PSO 17 2.2.1 Mở đầu 17 2.2.2 Các cải tiến với tham số 18 2.2.3 Các cải tiến với hàm mục tiêu .19 iii CHƯƠNG 3: ĐIỀU KHIỂN VỊ TRÍ QUẢ BÓNG CHỈNH ĐỊNH CÁC THÔNG SỐ PID THEO THUẬT TOÁN TỐI ƯU BẦY ĐÀN .35 3.1 Đối tượng phi tuyến .35 3.1.1 Mô tả đối tượng .35 3.1.2 Đặc tính đối tượng phi tuyến 36 3.2 Điều khiển PID 36 3.2.1 Khái quát điều khiển PID 36 3.2.2 Các phương pháp xác định tham số điều khiển PID 38 3.2.3 Kết luận nhận xét 41 3.3 Sử dụng thuật toán tối ưu bày đàn để chỉnh định thông số Kp, Ki, Kd 42 3.3.1 Mô tả phương pháp chỉnh định PSO .42 3.3.2 Áp dụng PSO chỉnh định PID .43 3.3.3 Thuật toán PSO cấu trúc điều khiển 44 3.3.4 Hàm mục tiêu – fitness function 45 3.3.5 Thuật toán PSO cấu trúc điều khiển chỉnh định PID 46 3.4 Mô hình toán hệ thống điều khiển vị trí bóng “Ball in tube” 48 3.4.1 Mô hình “Ball in tube” 48 3.4.2 Xây dựng mô hình toán matlab simulink 62 3.4.3 Tuyến tính hóa quanh điểm cân 63 3.5 Kết mô điều khiển PID chỉnh định thông số PID theo thuật toán tối ưu bầy đàn 65 3.5.1 Thông số mô hình 65 3.5.2 Mô simulink hàm truyền vòng hở 66 3.5.3 Mô simulink điều khiển PID 67 3.5.4 Mô simulink điều khiển PID – PSO 70 3.5.5 So sánh phương pháp PID – ZN2 với PID – PSO 79 iv CHƯƠNG 4: KẾT QUẢ CHẠY TRÊN MÔ HÌNH THỰC 82 4.1 Điều khiển thời gian thực hệ “Ball in tube” 82 4.1.1 Sơ đồ khối hệ “Ball in tube” 82 4.1.2 Sơ đồ Simulink điều khiển thời gian thực hệ “Ball in tube” 84 4.2 Kết thực tế hệ thống điều khiển PID – ZN2 84 4.2.1 Khi tín hiệu đặt hàm nấc 86 4.2.2 Khi tín hiệu đặt thay đổi 87 4.3 Kết thực tế hệ thống chỉnh định PID – PSO 88 4.3.1 Khi tín hiệu đặt hàm nấc 89 4.3.2 Khi tín hiệu đặt thay đổi 90 4.4 So sánh phương pháp PID – ZN2 với PID – PSO điều khiển đối tượng thực 91 CHƯƠNG 5: KẾT QUẢ – HẠN CHẾ – HƯỚNG PHÁT TRIỂN 92 5.1 Tổng hợp kết đạt .92 5.2 Những hạn chế đề tài .92 5.3 Đánh giá kiến nghị hướng nghiên cứu .93 TÀI LIỆU THAM KHẢO 94 PHỤ LỤC .96 v DANH MỤC CÁC KÝ HIỆU R: điện trở cuộn dây ( Ω ) L: điện cảm cuộn dây ( H ) U0: điện áp định mức động (V) J: mômen quán tính tải ( k g.m ) b: hệ số ma sát ( N m.s ) Ke: số sức phản điện động ( V / rad / s ) Kt: số từ thông động ( N / m A ) h(t ) :vị trí bóng (m) v: vận tốc không khí ống ( m / s ) h&(t ) : vận tốc bóng ( m / s ) ρg : khối lượng riêng không khí (kg/m3) A: diện tích mặt cắt bóng (mặt cản lưu chất) ( m ) Cd : hệ số nâng phụ thuộc hệ số R e Mb: khối lượng bóng (kg) g: gia tốc trọng trường ( m / s ) r: bán kính ball (m) %POT: độ vọt lố exl: sai số xác lập txl(2%): thời gian xác lập tiêu chuẩn 2% tr: thời gian lên vi DANH MỤC CÁC BẢNG Bảng 2.1: Phân tích kết vài toán tối ưu thông dụng 31 Bảng 2.2: Kích thước quần thể miền giá trị khởi tạo cho toán tối ưu 31 Bảng 3.1: Các tham số PID theo phương pháp Ziegler-Nichols thứ .40 Bảng 3.2: Các tham số PID theo phương pháp Ziegler-Nichols thứ hai .41 Bảng 3.3: Thông số động BLDC 55 Bảng 3.4: Các thông số khởi tạo quần thể 70 Bảng 3.5: Bảng so sánh kết PID – ZN2 PID – PSO 80 Bảng 4.1: Các thông số khởi tạo quần thể điều khiển thời gian thực .88 Bảng 4.2: Bảng so sánh kết điều khiển thời gian thực PID – ZN2 PID – PSO .91 vii DANH MỤC CÁC HÌNH VẼ Hình 1.1: Các mô hình thí nghiệm “Ball in tube” Hình 1.2: Các ứng dụng thực tế Hình 1.3: Các thiết bị sử dụng mô hình thí nghiệm “Ball in tube” Hình 2.1: Khái niệm thay đổi điểm tìm kiếm PSO 12 Hình 2.2: Lưu đồ giải thuật thuật toán PSO .15 Hình 2.3: Áp dụng kỹ thuật làm lệch cho hàm (2.8), điểm với λ=1 20 Hình 2.4: Áp dụng kỹ thuật làm lệch cho hàm (2.8), điểm với λ=10 21 Hình 2.5: Áp dụng kỹ thuật làm lệch cho hàm (2.8), điểm với λ=0.1 22 Hình 2.6: Áp dụng kỹ thuật làm lệch cho hàm (2.9), điểm , với λ=1 23 Hình 2.7: Áp dụng kỹ thuật làm lệch cho hàm (2.9), điểm , với λ=0.1 24 Hình 2.8: Áp dụng kỹ thuật làm lệch cho hàm (2.9), điểm , với λ=10 25 Hình 2.9: Đồ thị hàm Levy No.5 khối 27 Hình 2.10: Giai đoạn đầu G(x) kỹ thuật kéo giãn cho hàm Levy No.5 khối 28 Hình 2.11: Hàm Levy No.5 khối sau giai đoạn hai H(x) kỹ thuật kéo giãn .29 Hình 3.1: Cấu trúc điều khiển PID .37 Hình 3.2: Điều khiển hồi tiếp với điều khiển PID .37 Hình 3.3: Đáp ứng nấc hệ hở có dạng S .40 Hình 3.4: Xác định số khuếch đại tới hạn 40 Hình 3.5: Đáp ứng nấc hệ kín k = kth 41 Hình 3.6: Vị trí cá thể nhóm bầy không gian tìm kiếm 3D 43 Hình 3.7: Vị trí thuật toán tối ưu PSO hệ thống SISO 44 Hình 3.8: Sơ đồ khối điều khiển PID sử dụng PSO chỉnh định thông số 46 Hình 3.9: Lưu đồ giải thuật hệ thống điều khiển PSO – PID 47 viii Hình 3.10: Mô hình thí nghiệm “Ball in tube” 49 Hình 3.11: Đối tượng “Ball in tube” 50 Hình 3.12: Sơ đồ mô hình động DC 50 Hình 3.13: Sơ đồ động Brushless DC 53 Hình 3.14: Sự chuyển động không khí ống 56 Hình 3.15: Đường đặc tuyến quạt 57 Hình 3.16: Các định luật quạt .58 Hình 3.17: Tổng hợp lực tác động lên bóng 61 Hình 3.18: Sơ đồ simulink hệ mô hình thí nghiệm “Ball in tube” 63 Hình 3.19: Điều khiển vòng hở với tín hiệu đầu vào hàm nấc 66 Hình 3.20: Đáp ứng vòng hở với tín hiệu vào hàm nấc đơn vị 67 Hình 3.21: Điều khiển PID hệ “Ball in tube” 68 Hình 3.22: Đáp ứng ngõ tín hiệu đặt hàm nấc (Mb =2.7g) (PID – ZN2) 69 Hình 3.23: Đáp ứng ngõ tín hiệu đặt hàm nấc (Mb =4g) (PID – ZN2) 69 Hình 3.24: Kết trình tiến hóa quần thể bầy đàn .70 Hình 3.25: Đáp ứng ngõ tín hiệu đặt hàm nấc (Mb=2.7g) (PID – PSO) 72 Hình 3.26: Tín hiệu tác động lên đối tượng tín hiệu đặt hàm nấc (Mb=2.7g) (PID – PSO) .72 Hình 3.27: Đáp ứng ngõ tín hiệu đặt tín hiệu xung vuông (Mb=2.7g) (PID – PSO) .73 Hình 3.28: Tín hiệu tác động lên đối tượng tín hiệu đặt tín hiệu xung vuông (Mb=2.7g) (PID – PSO) 73 Hình 3.29: Đáp ứng ngõ tín hiệu đặt tín hiệu sin (Mb=2.7g) (PID – PSO) 74 ix Hình 3.30: Tín hiệu tác động lên đối tượng tín hiệu đặt tín hiệu sin (Mb=2.7g) (PID – PSO) .74 Hình 3.31: Đáp ứng ngõ có tín hiệu nhiễu tác động (Mb=2.7g) (PID – PSO) 75 Hình 3.32: Tín hiệu tác động lên đối tượng có tín hiệu nhiễu tác động (Mb=2.7g) (PID – PSO) .75 Hình 3.33: Đáp ứng ngõ tín hiệu đặt hàm nấc (Mb=4g) (PID – PSO) 76 Hình 3.34: Tín hiệu tác động lên đối tượng tín hiệu đặt hàm nấc (Mb=4g) (PID – PSO) 76 Hình 3.35: Đáp ứng ngõ tín hiệu đặt tín hiệu xung vuông (Mb=4g) (PID – PSO) 77 Hình 3.36: Tín hiệu tác động lên đối tượng tín hiệu đặt tín hiệu xung vuông (Mb=4g) (PID – PSO) .77 Hình 3.37: Đáp ứng ngõ tín hiệu đặt tín hiệu sin (Mb=4g) (PID – PSO) 78 Hình 3.38: Tín hiệu tác động lên đối tượng tín hiệu đặt tín hiệu sin (Mb=4g) (PID – PSO) 78 Hình 3.39: So sánh đáp ứng ngõ PID – ZN2 PID – PSO với Mb = 2.7g 79 Hình 3.40: So sánh đáp ứng ngõ PID – ZN2 PID – PSO với Mb = 4g 79 Hình 4.1: Mô hình thực tế hệ “Ball in tube” .82 Hình 4.2: Sơ đồ khối tổng quát hệ “Ball in tube” .83 Hình 4.3: Sơ đồ simulink điều khiển thời gian thực hệ “Ball in tube” 84 Hình 4.4: Sơ đồ khối “Ball in tube (Real Time)” 84 86 4.2.1 Khi tín hiệu đặt hàm nấc 0.9 0.8 0.7 Vi tri bong (m) 0.6 0.5 0.4 0.3 0.2 0.1 Vi tri bong Tin hieu dat 10 15 20 25 30 Thoi gian (s) Hình 4.5: Đáp ứng ngõ theo thời gian thực tín hiệu đặt hàm nấc (PID – ZN2) 0.9 0.8 Tin hieu tac dong (%PWM) 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 10 15 20 25 30 Thoi gian (s) Hình 4.6: Tín hiệu tác động theo thời gian thực lên đối tượng tín hiệu đặt hàm nấc (PID – ZN2) 87 4.2.2 Khi tín hiệu đặt thay đổi 0.9 0.8 0.7 Vi tri bong (m) 0.6 0.5 0.4 0.3 0.2 0.1 Vi tri bong Tin hieu dat 10 20 30 40 50 60 70 80 90 100 Thoi gian (s) Hình 4.7: Đáp ứng ngõ theo thời gian thực tín hiệu đặt thay đổi (PID – ZN2) 0.9 0.8 Tin hieu tac dong (%PWM) 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 10 20 30 40 50 60 70 80 90 100 Thoi gian (s) Hình 4.8: Tín hiệu tác động theo thời gian thực lên đối tượng tín hiệu đặt thay đổi (PID – ZN2) 88 4.3 Kết thực tế hệ thống chỉnh định PID – PSO Ta tiến hành bước chỉnh định hệ số điều khiển thời gian thực PID – PSO tương tự bước thực mô Ta tiến hành tiến hóa quần thể đối tượng thực tương đối tốn thời gian, lần áp dụng hệ số phải đợi theo thời gian thực thu kết Các thông số khởi tạo quần thể ta lựa chọn sau: 50 p: kích thước quần thể bird_step: số bước lặp 10 n: chiều không gian tìm kiếm w: trọng số quán tính 0.9 c1: số gia tốc c1 0.12 c2: số gia tốc c2 1.2 Bảng 4.1: Các thông số khởi tạo quần thể điều khiển thời gian thực Trong thực tế đề tài thực 10 bước lặp sau khoảng thời gian 4.5h để tiến hóa quần thể ta có cực tiểu hàm fitness có hệ số K p = 0.81 K i =0.42 K d = 0.71 89 4.3.1 Khi tín hiệu đặt hàm nấc Vi tri bong (m) 0.8 0.6 0.4 0.2 Vi tri bong Tin hieu dat 0 10 15 20 25 30 Thoi gian (s) Hình 4.9: Đáp ứng ngõ theo thời gian thực tín hiệu đặt hàm nấc (PID – PSO) 0.9 0.8 Tin hieu tac dong (%PWM) 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 10 15 20 25 30 Thoi gian (s) Hình 4.10: Tín hiệu tác động theo thời gian thực lên đối tượng tín hiệu đặt hàm nấc (PID – PSO) 90 4.3.2 Khi tín hiệu đặt thay đổi 0.9 0.8 0.7 Vi tri bong (m) 0.6 0.5 0.4 0.3 0.2 0.1 Vi tri bong Tin hieu dat 10 20 30 40 50 60 70 80 90 100 Thoi gian (s) Hình 4.11: Đáp ứng ngõ theo thời gian thực tín hiệu đặt thay đổi (PID – PSO) 0.9 0.8 Tin hieu tac dong (%PWM) 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 10 20 30 40 50 60 70 80 90 100 Thoi gian (s) Hình 4.12: Tín hiệu tác động theo thời gian thực lên đối tượng tín hiệu đặt thay đổi (PID – PSO) 91 4.4 So sánh phương pháp PID – ZN2 với PID – PSO điều khiển đối tượng thực Phương pháp chỉnh Thông số PID Kp Ki Kd Chất lượng đáp ứng %POT exl txl(2%) tr định ZN2 1.4 0.7 0.7 42,5 0.07 -0.7 PSO 0.81 0.42 0.71 37,5 0.02 11 0.65 Bảng 4.2: Bảng so sánh kết điều khiển thời gian thực PID – ZN2 PID – PSO Khi điều khiển đối tượng thực ta nhận thấy có nhiều bất ổn tác động lên hệ thống gây nên không kiểm soát trình điều khiển Chất lượng phần cứng (tốc độ lấy mẫu, độ phân giải cảm biến khoảng cách,…) ảnh hưởng nhiều đến chất lượng điều khiển Dựa bảng 4.2 ta có số kết luận sau Độ vọt lố, sai số, thời gian xác lập lớn ta mô kết sai lệch sau lần thử nghiệm thông số điều khiển Tuy nhiên đáp ứng ngõ bám theo giá trị đặt thỏa mãn yêu cầu đề tài đặt Quá trình chỉnh định phương pháp ZN2 tương đối nhanh, sau khoảng 10 lần thử nghiệm ta tìm thông số PID Tuy nhiên chất lượng điều khiển tương đối kém, độ vọt lố cao đáp ứng ngõ dao động lớn không đạt xác lập theo tiêu chuẩn 2% Quá trình chỉnh định phương pháp PSO tương đối tốn thời gian, nhiên kết thu tốt phương pháp ZN2 92 CHƯƠNG 5: KẾT QUẢ – HẠN CHẾ – HƯỚNG PHÁT TRIỂN 5.1 Tổng hợp kết đạt Đã hoàn thành mô hình thí nghiệm điều khiển vị trí bóng “Ball in tube”, thõa mãn yêu cầu đề tài đặt điều khiển vị trí bóng ping pong bám theo vị trí đặt trước Thông qua kết từ mô từ thực tế cho ta nhìn thấy cách tổng thể phương pháp Ziegler – Nichols phương pháp thuật toán bầy đàn (PSO) Ta thấy sử dụng PSO ta có nhiều ưu điểm Ziegler – Nichols, là: Bộ hệ số PID có từ PSO cho ta kết tối ưu hơn, nhiên PSO phù hợp cho đối tượng (plant ) có đáp ứng nhanh (tốc độ động cơ, vị trí động cơ, …), không phù hợp đối tượng đáp ứng thời gian dài (lò nhiệt, bồn nước,…) trình tiến hóa quần thể tốn thời gian Ngoài thấy sử dụng thuật toán PSO để chỉnh định thông số PID ta không cần biết xác thông số mô hình đối tượng, trình tiến hóa quần thể đạt tới cực tiểu hàm mục tiêu mà ta mong muốn Giải vấn đền nan giải mà phương pháp điều khiển kinh điển gặp phải, cần có đầy đủ thông số đối tượng để thiết kế điều khiển 5.2 Những hạn chế đề tài Những hạn chế thiết kế phần cứng mô hình thí nghiệm điều khiển vị trí bóng: Tín hiệu từ cảm biến khoảng cách phi tuyến nhiều chịu tác động nhiễu lớn Tốc độ lấy mẫu từ card giao tiếp máy tính chưa đủ lớn để xử lý hệ có tác động nhanh 93 Luận văn khảo sát so sánh phương pháp chỉnh định là: PID – ZN2 PID – PSO, cần khảo sát thêm phương pháp khác để thấy rõ ưu khuyết điểm thuật toán tối ưu bầy đàn (PSO) 5.3 Đánh giá kiến nghị hướng nghiên cứu Cần so sánh thuật toán tối ưu bầy đàn với thuật toán di truyền (GA) để thấy rõ ưu điểm PSO với GA lĩnh vực trí tuệ nhân tạo Cần phát triển mở rộng thuật toán PSO cách cải tiến hàm mục tiêu cải tiến tham số, kết hợp PSO với thuật toán khác (PSO chỉnh định tham số điều khiển Fuzzy, Neuro – Fuzzy,…) 94 TÀI LIỆU THAM KHẢO [1] Kennedy J and Eberhart R., “Particle swarm optimization”, Proc IEEE Int Conf Neural Networks, Vol 4, Perth, Australia, pp 1942-1948, 1995 [2] Kennedy J., Russell R.C and Shi Y., “Swarm Intelligence”, The Morgan Kaufmann Series in Evolutionary Computation, 2001 [3] Paor D.E and O’Malley M., “Controllers of Ziegler-Nichols type for unstable process with time delay”, Int J Control, Vol 49, pp 1273-1284, 1989 [4] Maxon EC motor, EC 45 flat 45mm, brushless, 12 Watt Maxon flat motor, May 2008 [5] San Ace DC cooling fan, Low Power Consumption Fan 60mm, pp 28-31, 2013 [6] Oludayyo Jonh Oguntoyinbo “PID control of Brushless DC motor and robot trajectory planning and simulink with Matlab Simulink”, 2009 [7] N Quijano, A E Gil, and K M Passino, Experiments for decentralized and networked dynamic resource allocation, scheduling, and control," Submitted to IEEE Control Systems Magazine, 2003 [8] N Pillay, A Particle swarm optimization approach for tuning of SISO PID control loops 2008 [9] Bureau of Energy Efficiency (BEE), Government of India Energy Efficiency Guide Book, chapter 5, p 93-112 2004 [10] IfA Fachpraktikum - Experiment 2.7: Air Ball, Automatic Control Laboratory, ETH Zurich, September 13, 2011 [11] Boumediene Allaoua Brahim GASBAOUI and Brahim MEBARKI, Setting Up PID DC Motor Speed Control Alteration Parameters 95 Using Particle Swarm Optimization Strategy Bechar University, Departement of Electrical Engineering, B.P 417 BECHAR (08000) Algeria pp 19-32 [12] K.J., “Automatic Tuning of PID Controller”, Instrument Society of America, Research Triangle Park, 1995 [13] Åström K., and Hägglund T., “PID controllers: Theory, Design and Tuning”, ISA, Research Triangle Park, NC, 1995 [14] Åström K., and Hägglund T., “Revisiting the Ziegler-Nichols Step Response method for PID control ”, Journal of Process Control, Vol 14, pp 635-650, 2004 [15] Bonabeau E., Dorigo M and Theraulaz T., “From Natural to Artificial Swarm Intelligence”, Oxford University Press, 1999 [16] Brown M., “The state of PID control in South Africa”, S.A Instrumentation and Control, pp 131-136, 1994 [17] Eberhart R.C and Shi Y., “Comparing Inertia Weights and Constriction Factors in Particle Swarm Optimization”, Proceedings of the Congress on Evolutionary Computation, pp 84-88, 2000 [18] Eberhart R.C and Shi Y., “Comparison between genetic algorithms and particle swarm optimization”, IEEE Int Conf Evol Comput., Anchorage, pp 611-616, 1998 [19] Engelbrecht A.P., “Computational Intelligence”, John Wiley and Sons, 2002 96 PHỤ LỤC Sơ đồ mạch Card giao tiếp USB – DAQ: J001 CHECKED 3 V SW 1 C 010 18 R 001 10M hz C 009 10k D 002 C ry s ta l 32khz 10 P C /A D C _ IN P C /A D C _ IN 1 P C /A D C _ IN P C /A D C _ IN R e s et# 12 13 C 005 10n B o o t lo a d e r R e s e t P A /T IM _ C H P A /T IM _ C H P A /TIM _ C P A /TIM _ C P A /TIM _ C P A /TIM _ C D AC D AC PC PC PB0 PB1 R 016 3 V H H H H B O O T1 PB10 PB11 1k 1 1 2 2 2 2 2 ST /A /A /A /A D D D D C C C C 1 1 23 23 23 23 _IN _IN _IN _IN 1 1 P D /T IM _ E T R //U A R T _ R X /S D IO _ C M D P C /U A R T _ T X /S D IO _ C K P C 1 /U A R T _ R X/S D IO _ D P C /U A R T _ T X/S D IO _ D VSSA VD D A P P P P P P P P P P A A A A A A A A C C P P P P P B B B B B P A /J T D IS P I3 _ N S S /I2 S _ W S P A /J TC K /S W C L K /W K U P / U S A R T _ C T S /A D C _ IN / T IM _ C H _ E T R /T IM _ C H /T IM _ E T R P A /J T M S -S W D IO /U S A R T _ R T S /A D C _ IN /T IM _ C H /T IM _ C H P A /U S A R T _ R T S /U S B D P /C A N _ T X/TIM _ E T R /U S A R T _ T X/A D C _ IN /T IM _ C H /T IM _ C H P A 1 /U S A R T _ C T S /U S B D M /C A N _ R X/TIM _ C H /U S A R T _ R X/A D C _ IN /T IM _ C H /T IM _ C H P A /U S A R T _ R X /T IM _ C H /S P I1 _ N S S /A D C _ IN /U S A R T _ C K /D A C _ O U T1 P A /U S A R T _ T X/TIM _ C H /S P I1 _ S C K /A D C _ IN /D A C _ O U T P A /U S A R T _ C K /M C O /T IM _ C H /S P I1 _ M IS O /A D C _ IN /T IM _ C H /T IM _ B K IN /S P I1 _ M O S I/A D C _ IN /T IM _ C H /T IM _ C H N P C /T IM _ C H /S D IO _ D /A D C _ IN P C /T IM _ C H /S D IO _ D /A D C _ IN P C /I2 S _ M C K /T IM _ C H /S D IO _ D P C /I2 S _ M C K /T IM _ C H /S D IO _ D P B /S P I2 _ M O S I/I2 C _ S D /T IM _ C H N P B /S P I2 _ M IS O /T IM _ C H N /U S A R T _ R T S /A D C _ IN /T IM _ C H /T IM _ C H N P B /S P I2 _ S C K /I2 C _ C K /T IM _ C H N /U S A R T _ C T S /A D C _ IN /T IM _ C H /T IM _ C H N P B /S P I2 _ N S S /I2 C _ W S /I2 C _ S M B A /T IM _ B K IN /U S A R T _ C K /B O O T 1 /I2 C _ S C L //U S A R T _ T X 1 /I2 C _ S D A /U S A R T _ R X 5 5 5 5 5 4 4 4 4 3 3 3 P B /T IM _ C H P B /T IM _ C H P B /T IM _ C H P B /T IM _ C H R 010 R 011 R 012 10k 10k 10k TR ST TD O R U N ER R O PC 11 PC 10 TD I TC K TM S D + D R X TX P P P P P P P P C C C C B B B B 3 V 3 V J3 15 14 13 12 11 13 15 17 19 TR S T TD I TM S TC K TD O R e s e t# R 000 JTAG 10k C 000 47uF 1 1 VSS3 VD D R ESET 1uH L2 C 006 1uF 1N 4148 R C C C C P B /I2 C _ S D A /F S M C _ N A D V /T IM _ C H P B /I2 C _ S C L /T IM _ C H P B /I2 C _ S M B A / S P I3 _ M O S I/I2 S _ S D P B /N J T R S T /S P I3 _ M IS O P B /J T D O /S P I3 _ S C K / I2 S _ C K VSS2 VD D D 001 N P P P P 62 61 P B /T IM _ C H /S D IO _ D P B /T IM _ C H /S D IO _ D 63 64 3.3V C 011 AT /T A M P E R /R T C /O S C -I N /O S C -O U T /O S C -IN /O S C -O U T VSS1 VD D 10k B C C C D D VSS4 VD D R 003 10 11 V P P P P P 47 48 C 007 3 V 3.3V C ry s t a l 10 1N 4148 60 BO O T0 31 32 18 U 001 10M 18 19 C 008 104 BO O T0 BO O T SW B o o t lo a d e r B o o t V B a tt e ry SW R 002 BO O T1 BO O T0 C 001 C 002 C 003 C 004 ER R O S T M F x C D E _ p in R L1 104 104 104 D L1 C 004B LED R L3 R L2 D L2 R 013 R 014 R 015 10k 10k 10k 1K 1K 1K 104 3.3V R U N D L3 LED LED u F 3 V CHECKED_ok R TS 3 V LO KHOAN R XD TP4 3.3V TXD D 010 330 LE D CHECKED_OK 3 V C 014 D TR R 008 TP R 03 104 + E A R TH TP k TP TP3 U 02 EAR TH C 016 B o o t lo a d e r R e s e t Q 001 R 006 V+ R IN C 1+ C 1C 2+ R 2IN T2IN R 2O U T T2O U T R 1O U T T1IN R 02 22 C 013 104 10 12 11 104 5V_usb R 01 PO W ER U 00 U S B _TY P E B C 10 104 SW C SW E 5V_usb R 00 1M M C 34063A 3 V 1N 4148 U 01 1N 4148 p o w e r0 C 00 470uF PROGRAM AND INTERFACE SERIAL 1500p C 01 104 -5 V _ u s b L01 88uH 1N 5819 R 11 IN O U T L02 1uH 1K2 C 06 1000uF C 07 100uF 3 V AM S 1117 G N D _ Vcc C 05 G N D D 03 1N 4148 1.25 (1+R2/R1) D 004 G N D 4K 5V _usb B o o t lo a d e r B o o t Vcc2 TC A P D 01 R 12 Q 2SC 1815 10k VC C p o w e r1 D 04 D TR D C PK C 04 100uF 5V_usb Q 002 R 10 1N 4148 R 007 E A R TH 22 Q 2S C 1815 D 003 EA R TH D + J01 R X TX C 017 104 E A R TH R TS 10k D - C O M P 13 C 015 104 15 TXD T1O U T G N D V- R XD TXD 14 C 2- R XD M A X20 32 VC C 16 S E R IA L P O R T C 02 47uF C 03 104 USB CONNECTOR AND POWER SUPPLY 97 16 15 14 13 12 11 10 D I_ D I_4 D I_ D I_ D 300 D 301 D 302 D 303 D D D D D D D D 11 Vcc 10K D I_ R N 2 Q Q Q Q Q Q Q Q 1 1 1 1 2 Vcc LE O E D I_ C 300 D 305 CHECKED_OK P P P P P P P P C C C C C C C C 10 11 Vcc2 CHECKED C 400 10K R N P P P P P P P P D I_ D 306 D 307 LED LED LED LED LE D LED LED LE D R 300 R 301 R 302 R 303 R 304 R 305 R 306 R 307 4k7 4k7 4k7 4k7 4k7 4k7 4k7 4k7 B B B B B B B B U 400 10 11 12 13 14 15 16 15 14 13 12 11 10 9 10k R N 1A D D D D D D D D I_ I_ I_ I_ I_ I_ I_ I_ C C C C C C C C A A A A B B B B J1 16 15 14 13 12 11 10 D O _0 R N 2A Q Q Q Q Q Q Q Q 1 1 1 1 2 16 15 14 13 12 11 10 P P P P P P P P A A A A B B B B /T IM /T IM /T IM /T IM /T IM /T IM /T IM /T IM 5 5 4 4 _ _ _ _ _ _ _ _ C C C C C C C C H H H H H H H H 4 Vcc LE O E D D D D D D D D O O O O O O O O _ _ _ _ _ _ _ _ D D D D D D D D O O O O O O O O _ _ _ _ _ _ _ _ D IR G J2 10K D O _1 D O _2 D O _3 D O _4 D O _5 D O _6 D O _7 D 400 D 401 D 402 D 403 D 404 D 405 D 406 D 407 LED LE D LE D LE D LE D LED LE D LED R 400 R 401 R 402 R 403 R 404 R 405 R 406 R 407 4k7 4k7 4k7 4k7 4k7 4k7 4k7 4k7 10 11 12 13 14 15 16 17 18 19 20 21 22 PW M PW M C 300A 74H C 573 AO _0 AO _1 104 Vcc2 C A_0 C A _1 C A _2 C A_3 C B _0 C B_1 C B_2 C B_3 Vcc D 300A A I_ A I_ A I_ A I_ D 301A D 302A D 303A D 304A D 305A D 306A LED LED LE D LED LE D LE D LED LED R 300A R 301A R 302A R 303A R 304A R 305A R 306A R 307A 4k7 4k7 4k7 4k7 4k7 4k7 4k7 4k7 PW M PW M1 D 400A R 403A DIGITAL INPUT 5V _usb2 R 312 100k 33k R 313 A I_ R 315 + M C P 6022 10k 10K + 5V _usb R 412 33K U 411B R 410 M C P 6022 3 V C 410 R 415 5V_usb P C /A D C _ IN 1 10k 5V _usb2 L300 0V > 3.3V 1uH 5V_usb 10K R 331 C 340 10uF 5V_usb2 5V_usb2 33k R 333 R 335 + M C P 6022 100k R 422 U 412B 33K M C P6022 10k R 425 P C /A D C _ IN 10K R 423 3 V 104 5V_usb2 10k - 3 V C 420 - + R 426 3.3V > 0V U 311A 100k A I_ 104 5V _usb K -5V _ us b C 350 220uF C 411A -5 V _ u s b R 421 R 420 D AC R 332 104 R 414 1K2 10K U 412A R 420A R 324 33k 33K M C P 6022 C 411 -5V > 5V - 100k AO _0 5V_usb M C P 6022 -5V _ u s b R 413 10K V R 410 8K2 + AO _1 M C P 6022 A I_ R 325 -5V > 5V - 3 V 3.3V > 0V U 310B + R 416 104 -5V > 5V 10k -5 V _ u s b + 104 K - D AC 5V_usb2 C 400A CHECKED U 411A R 410A C 310 104 33k R 323 Vcc2 D IR G DIGITAL OUTPUT R 322 100k PW M PW M R 411 5V _usb2 18 17 16 15 14 13 12 11 4k7 33k -5V > 5V R 401A 0V > 3.3V 5V_usb2 R 314 R 321 B B B B B B B B 5V_usb P C /A D C _ IN - 100k 19 Vcc2 74H C T24 R 400A 3.3V > 0V U 310A Vcc2 C 401 7u F A A A A A A A A CHECKED 5V_usb2 -5V > 5V LE D 4k7 H E A D E R 22 10K D 401A LE D R 311 10K P A /T IM _ C H P A /T IM _ C H C 301 470uF D 307A H E AD E R 22 U 400A R 402A _0 _1 _2 _3 _0 _1 _2 _3 4 D D D D D D D D 11 Vcc 10K 1 1 1 1 1 2 2 1 1 1 1 74H C T245 U 300A 3 B B B B B B B B 20 _ _ _ _ _ _ _ _ A A A A B B B B A A A A A A A A 19 Vcc2 C C C C C C C C 104 Vcc2 104 74H C 573 D I_6 D 304 16 15 14 13 12 11 10 20 U 300 VC C I_ I_ I_ I_ I_ I_ I_ I_ VC C R N D D D D D D D D -5 V _ u s b 5V_usb C 412 R 424 104 V R 420 8K2 10K 33K 1K2 C 412A C 330 R 341 104 104 R 334 -5 V _ u s b 33k R 342 5V_usb2 5V _usb2 33k 3.3V > 0V U 311B 100k -5V > 5V R 343 A I_ R 345 + 0.2v - 3.1v R41X R42X : DIEN TRO DONG MAU VR410, VR420 : DUNG DIEN TRO CHINH TINH 10k M C P 6022 100k F8(248) - F07(3847) 2047 Vcc/2 = 1.65v P C /A D C _ IN - R 344 R3XX : DIEN TRO DONG MAU 33k ANALOG OUTPUT ANALOG INPUT Sơ đồ mạch công suất động cơ: A n a lo g R 1 24V C C P O W E R 24v - 5V 10k 24V C C D 6 V C C 103 U C 2 2 u F +IN -IN 16 V v re f C C D R S V 10 V s dong co D C 104 D 04 11 14 O U TA O U TB O M P O S C T IS C H G T S R E F 1N 5819 1N 5819 P D 03 IR F N /T O D O T Q 10 R 1N 5819 D 05 S H D N S Y N C R 2 k C 3 u F /2 V D 02 15 13 1N 5819 0 /0 w +V I V C K A 5 A (S G 5 ) V R 47K IR F N /T O Q 11 R D 06 1N 5819 0 /0 w R 12- 24V C C 470 D 01 1N 4007 1 IN R LM 7812 O U T G N D U P O W E R IN Q 001 V s R s 220 12 - 24V C 1s 220 Q 2S C 1815 C 2s R 0 u F /2 v 104 C C 3s C 5s D 470uF 104 /0 w 10uF LE D C 103 R /0 w 98 Code m file: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%PSO.m%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Tunning of PID controller using Particle Swarm Optimization % Author: Duong Hong Phuoc (dhphuocbk@yahoo.com) %% Initialization %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %setup all parameter clear all clc n = 50; % Size of the swarm " no of birds " bird_setp =50; % Maximum number of "birds steps" dim = 3; % Dimension of the problem c1 = 0.12; c2 =1.2; % PSO parameter C1 % PSO parameter C2 w =0.9; % pso momentum or inertia fitness=0*ones(n,bird_setp); % -% % initialize the parameter % % -% R1 = rand(dim, n); R2 = rand(dim, n); current_fitness =0*ones(n,1); % % % Initializing swarm and velocities and position % % % current_position = 2*(rand(dim, n)); velocity = 3*randn(dim, n) ; local_best_position = current_position ; % -% % Evaluate initial population % % -% for i = 1:n current_fitness(i) = tracklsq(current_position(:,i)); end local_best_fitness = current_fitness ; [global_best_fitness,g] = min(local_best_fitness) ; for i=1:n globl_best_position(:,i) = local_best_position(:,g) ; end % -% % VELOCITY UPDATE % % -% velocity =w*velocity+c1*(R1.*(local_best_position-current_position)) +c2*(R2.*(globl_best_position-current_position)); % % % SWARMUPDATE % % % current_position = current_position + velocity ; % % % evaluate anew swarm % % % 99 %% Main Loop iter = ; % Iterations’counter while ( iter < bird_setp ) iter = iter + for i = 1:n, current_fitness(i) = tracklsq(current_position(:,i)) ; end for i = : n if current_fitness(i) < local_best_fitness(i) local_best_fitness(i) = current_fitness(i); local_best_position(:,i) = current_position(:,i) end end ; [current_global_best_fitness,g] = min(local_best_fitness); if current_global_best_fitness < global_best_fitness global_best_fitness = current_global_best_fitness; for i=1:n globl_best_position(:,i) = local_best_position(:,g); end end velocity = w *velocity + c1*(R1.*(local_best_positioncurrent_position))+c2*(R2.*(globl_best_position-current_position)); current_position = current_position + velocity; sprintf('The value of interation iter %3.0f ', iter ); %%%%plot gbest%%%% tr(iter)=global_best_fitness; subplot(4,1,1) plot(1:iter,tr(1:end)),xlabel('So lan lap');,ylabel('Global best fitness'); drawnow %%%%plot Kp%%%% Kp_best_position(iter)=local_best_position(1,g); subplot(4,1,2) plot(1:iter,Kp_best_position(1:end)),xlabel('So lan lap');,ylabel('Kp'); drawnow %%%%plot Ki%%%% Ki_best_position(iter)=local_best_position(2,g); subplot(4,1,3) plot(1:iter,Ki_best_position(1:end)),xlabel('so lan lap');,ylabel('Ki'); drawnow %%%%plot Kd%%%% Kd_best_position(iter)=local_best_position(3,g); subplot(4,1,4) plot(1:iter,Kd_best_position(1:end)),xlabel('so lan lap');,ylabel('Kd'); drawnow end % end of while loop its mean the end of all step that the birds move it xx=fitness(:,n); [Y,I] = min(xx); 100 current_position(:,I) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%tracklsq.m%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function F = tracklsq(pid) %%%%%%% motot BLDC%%%%%%%%%% U0=24; J=5.23e-6; L=2.75e-3; R=7.13; Kt=30.5e-3; Tm=40.1e-3; Ke=(3*R*J)/(Tm*Kt); %///air///// Ks=0.0839; %////ball in tube///// Pg=1; Cd=0.5; r=0.02; Mb=0.0027; g=9.8; Kp = pid(1); Ki = pid(2); Kd = pid(3); % Compute function value % Initialize sim options simopt = simset('solver','ode45','SrcWorkspace','Current','DstWorkspace','Current' ); [tout,xout,yout] = sim('ballintubePIDPSO',[0 4],simopt); sys_overshoot=max(yout)-1; % compute the overshoot %e2 beta=10;%alpha=10;%gama=10; F=e2*beta;%+sys_overshoot*alpha;%+e*gama; sprintf('The value of interation Kp= %3.2f,Ki= %3.2f, Kd= %3.2f, e= %3.2f,e2=%3.2f,POT=%3.2f, F=%3.2f', pid(1),pid(2),pid(3),e,e2,sys_overshoot,F) end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% [...]... Trình bày tổng quan về lý thuyết tối ưu bầy đàn Trình bày giải thuật tối ưu bầy đàn các thức nâng cao chất lượng của thuật toán Chương 3: Điều khiển vị trí quả bóng chỉnh định các thông số pid theo thuật toán tối ưu bầy đàn Giới thiệu về bộ điều khiển PID và phương pháp chỉnh định kinh điển Giới thiệu về phương pháp tối ưu bầy đàn để chỉnh định các thông số bộ điều khiển PID Mô hình hóa đối tượng nghiên... phương pháp giúp ta chỉnh định các thông số của bộ điều khiển PID tuy nhiên đáp ứng hệ thống đạt một mức độ nhất định Trong đề tài này sẽ đề cập đến 2 cách thức điều khiển, đó là điều khiển PID kinh điển theo Ziegler – Nichols và điều khiển PID với các thông số Kp – Ki – Kd được hiệu chỉnh bằng thuật toán tối ưu bầy đàn (Particle Swarm Optimization – PSO) Giải thuật tối ưu bầy đàn có nhiều ưu thế trong việc... và thuật toán tối ưu bầy đàn để chỉnh định các thông số Kp, Ki, Kd nhằm mục đích cải thiện chất lượng đáp ứng ngõ ra của hệ thống 3 Phương pháp nghiên cứu Để thực hiện đề tài khoa học này cần kết hợp thực hiện các phương pháp nghiên cứu sau: - Phương pháp nghiên cứu lý thuyết: nghiên cứu các vấn đề về điều khiển hệ phi tuyến, thuật toán toán tối ưu theo trí tuệ bầy đàn, các phương pháp chỉnh định thông. .. kỹ thuật PSO và các phương pháp thông thường khác trên mô phỏng và điều khiển thời gian thực 1.2 Mục đích nghiên cứu của đề tài Thực hiện thiết kế và thi công mô hình điều khiển vị trí bóng bám theo giá trị đặt theo thuật toán PID Sử dụng thuật toán tối ưu bầy đàn để chỉnh định các thông số Kp, Ki, Kd nhằm mục đích cải thiện chất lượng đáp ứng ngõ ra của hệ thống So sánh đánh giá chất lượng giữa điều. .. nghiệm bóng trong ống “Ball in tube” là hệ thống phi tuyến điển hình và điều khiển sự ổn định của nó là cách thức giúp ta tìm hiểu rõ về các phương pháp điều khiển một đối tượng phi tuyến Một bộ điều khiển PID thông thường hay một bộ điều khiển hồi tiếp thường được sử dụng để làm cho hệ thống ổn định Những bộ điều khiển nêu trên có thể đạt được sự ổn định tốt nhất nếu thông số bộ điều khiển là tối ưu, ... thống điều khiển nhưng nó yêu cầu đối tượng cần điều khiển phải ổn định hoặc đối tượng không ổn định phải ổn định thông qua hồi tiếp, với hệ thống “Ball in tube” là đối tượng không ổn định và phi tuyến Phần sau đây trình bày cách thiết kế bộ điều khiển với các thông số tối ưu để hệ thống bền vững và ổn định 2 Đối tượng và phạm vi nghiên cứu Đối tượng nghiên cứu và mô hình thí nghiệm điều khiển vị trí bóng. .. giữa điều khiển PID với cách chỉnh định kinh điển và điều khiển PID chỉnh định bằng thuật toán tối ưu bầy đàn 1.3 Nội dung đề tài Mô hình thí nghiệm “Ball in tube” có thể áp dụng trong công nghiệp: chẳng hạn như ngành công nghiệp mỏ dầu Nó được sử dụng nhiều trong phòng thí nghiệm các trường đại học để nghiên cứu công nghệ điều khiển phi tuyến tính Đối tượng điều khiển “Ball in tube” là điều khiển tốc... nghiên cứu Thực hiện mô phỏng và so sánh giữa hai phương pháp chỉnh định thông số bộ điều khiển PID: theo phương pháp Ziegler-Nichols thứ 2 (PID – ZN2) và theo thuật toán tối ưu bầy đàn (PID – PSO) Chương 4: Kết quả mô phỏng chạy trên mô hình thực Thực hiện điều khiển đối tượng theo thời gian thực và so sánh giữa hai phương pháp: (PID – ZN2) và (PID – PSO) 4 Chương 5: Kết quả – Hạn chế – Hướng phát triển... những phương pháp điều chỉnh thông thường thực hiện không đạt yêu cầu khi áp dụng cho các hệ phi tuyến lớn có các tác động gây bất ổn Chính vì lý do này các bộ điều khiển thực tế phải thích ứng để điều chỉnh các hệ thống phi tuyến lớn dựa trên ứng dụng thử nghiệm và hiệu chỉnh sai số Do đó cần phải phát triển một kỹ thuật điều chỉnh phù hợp áp dụng cho các bộ điều khiển mà điều chỉnh thông thường không... k+1; c1, c2: hệ số gia tốc rand1,2: số ngẫu nhiên giữa (0,1) pbesti : vị trí tốt nhất của cá thể thứ i gbest : vị trí tốt nhất của cá thể trong quần thể sik : vị trí của cá thể thứ i lại lần lặp k si( k +1) : vị trí của cá thể thứ i lại lần lặp k+1 p: số lượng cá thể trong quần thể 2.1.3 Lưu đồ giải thuật thuật toán tiến hóa PSO 15 Hình 2.2: Lưu đồ giải thuật thuật toán PSO Thuật toán PSO có thể viết ... giải thuật tối ưu bầy đàn thức nâng cao chất lượng thuật toán Chương 3: Điều khiển vị trí bóng chỉnh định thông số pid theo thuật toán tối ưu bầy đàn Giới thiệu điều khiển PID phương pháp chỉnh định. .. điều khiển PID chỉnh định thông số PID theo thuật toán tối ưu bầy đàn 65 3.5.1 Thông số mô hình 65 3.5.2 Mô simulink hàm truyền vòng hở 66 3.5.3 Mô simulink điều khiển PID. .. đề tài Thực thiết kế thi công mô hình điều khiển vị trí bóng bám theo giá trị đặt theo thuật toán PID Sử dụng thuật toán tối ưu bầy đàn để chỉnh định thông số Kp, Ki, Kd nhằm mục đích cải thiện

Ngày đăng: 20/02/2016, 09:04

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan