Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 15 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
15
Dung lượng
2 MB
Nội dung
ĐẠI HỌC PHENIKAA KHOA CƠ ĐIỆN TỬ Ô TÔ VÀ NĂNG LƯỢNG -o0o - LẬP TRÌNH CĂN BẢN ĐIỆN TỬ PROJECT CUỐI KÌ Project: Điều khiển đo tốc độ động DC thời gian thực encoder Giảng viên: Lê Minh Huy Phạm Xuân Trung Lị Cơng Minh Duy Ngọc Năm học 2022 – 2023 Tieu luan LẬP TRÌNH CĂN BẢN ĐIỆN TỬ PHÂN CÔNG VIỆC Họ Tên Nhiệm vụ Phạm Xuân Trung - Lập trình mơ hình điều khiển đo tốc độ động DC - Viết báo cáo - Lập trình giao diện - Làm Powerpoint - Lắp đặt phần cứng Lị Cơng Minh Duy Ngọc Ghi - Lập trình khối Encoder - Lập trình giao diện - Edit video 2|Page Tieu luan LẬP TRÌNH CĂN BẢN ĐIỆN TỬ Mục Lục Phần 1: Lời mở đầu Phần 2: Tổng quan Phần 3: Chi tiết đồ án Giới thiệu tổng quan 1.1.Một vài link liên quan 1.2.Ý tưởng 1.3.Giao diện phần mềm 1.4.Phần cứng Chi tiết đồ án 2.1 Sơ đồ điều khiển vòng kín 2.1.1 Phần code mơ hình điều khiển đo tốc độ 2.1.2 Thiết kế vận hành 11 2.2 Giao diện 13 Phần 4: Thảo luận 14 Phần 5: Tham khảo 15 3|Page Tieu luan LẬP TRÌNH CĂN BẢN ĐIỆN TỬ Phần 1: Lời mở đầu Lời đầu tiên, chúng em xin trân thành cảm ơn Trường Đại học Phenikaa đưa mơn lập trình Điện tử vào chương trình giảng dạy Mơn học cung cấp cho chúng em nhiều kiến thức lập trình điều khiển, phần mềm phần cứng điều khiển Khóa học cịn giúp chúng em trau dồi nhiều kĩ mềm: kỹ thuyết trình, kỹ viết báo cáo, kỹ làm việc nhóm,…Đây kiến thức vơ hữu ích cho sinh viên cơng việc sau chúng em Chúng em xin gửi lời cảm ơn đến thầy Lê Minh Huy – Giảng viên môn dạy truyền đạt kiến thức cho chúng em suốt thời gian học tập vừa qua Chúng em cố gắng để hoàn thành báo cáo Tuy nhiên, kiến thức chúng em hạn chế khả tiếp thu thực tế lúng túng nên đồ án chúng em khơng thể tránh khỏi sai sót Bọn em mong nhận góp ý thêm từ Thầy Bạn đọc để cải thiện dự án chúng em Xin chân thành cảm ơn! Phần 2: Tổng quan Trong đồ án này, chúng em thiết kế điều khiển tốc độ cho động DC đơn giản Trước tiên, sử dụng điều khiển PID, ứng dụng bo mạch vi điều khiển Arudino Uno nhân điều khiển trung tâm, MATLAB/SIMULINK chương trình xử lý trung gian, phần cơng suất sử dụng Driver tích hợp L298 để điều chỉnh tốc độ động đạt giá trị đặt (setpoint) nhập vào từ trước Encoder đưa xung phản ánh tốc độ động vi điều khiển, sau vi điều khiển tính tốn tốc độ để hiển thị thực giải thuật để điều khiển PID để điều chế độ rộng xung (PWM – Pulse Width Modulation) điều khiển thông qua driver L298 4|Page Tieu luan LẬP TRÌNH CĂN BẢN ĐIỆN TỬ Phần 3: Chi tiết đồ án Giới thiệu tổng quan 1.1 Một vài link liên quan Trình bày: https://drive.google.com/drive/folders/1wi2iG05VW3tXJBbwD1KN7k3P dWtcL6NA?usp=share_link Phần cứng: https://drive.google.com/drive/folders/1wi2iG05VW3tXJBbwD1KN7k3Pd WtcL6NA?usp=share_link 1.2 Ý tưởng Chúng em định chọn đề tài phát triển theo hướng điều khiển tốc độ động Chúng em muốn chọn đề tài có liên quan đến ngành học Cơ điện tử tơ để chủ động tìm hiểu kiến thức, giúp chúng em nâng cao kiến thức liên quan đến ngành hiểu ngành 1.3 Giao diện phần mềm Pic1 Giao diện 5|Page Tieu luan Pic1 Giao diện LẬP TRÌNH CĂN BẢN ĐIỆN TỬ 1.4 Phần cứng Pic2 Phần cứng Chi tiết đồ án 2.1 Sơ đồ điều khiển vịng kín Setpoint + Sai số ∑ Tín hiệu vận hành Bộ điều khiển Motor Encoder Nhánh phản hồi 6|Page Tieu luan LẬP TRÌNH CĂN BẢN ĐIỆN TỬ 2.1.1 Phần code mơ hình điều khiển đo tốc độ Dưới sơ đồ khối mơ hình điều khiển đo tốc độ Pic3 Sơ đồ khối Chúng ta đặt giá trị (setpoint), quy ước giá trị rpm, tức vịng/phút Sau đó, điều khiển PID tiến hành tính tốn để có giá trị đầu Gía trị đầu điều khiển động Encoder sử dụng để đọc tốc độ động cơ, trả hệ thống để tính tốn sai số Từ sai số này, tính tốn tín hiều điều khiển để điều khiển động Nó lặp lặp lại đến sai số nhỏ để đáp ứng hệ thống hoạt động xác Pic4a Thiết lập chân tín hiệu phản hồi từ Encoder Sử dụng khối Matlab System để tạo khối Encoder (code Encoder Pic4b) Chúng ta thiết lập kết nối kênh A với chân số kênh B với chân số Encoder có 30 xung kênh A B, khối Encoder đọc xung tín hiệu thay đổi, tức từ đến từ nên số xung quay hết vịng 120 xung 7|Page Tieu luan LẬP TRÌNH CĂN BẢN ĐIỆN TỬ Dưới phần code encoder Pic4b Phần code Encoder Pic5 Khối tính tốn tốc độ động 8|Page Tieu luan LẬP TRÌNH CĂN BẢN ĐIỆN TỬ Ở phần tính tốn Pic5, Sử dụng khối Delay, constant, Product, Gain Sau nhận tín hiệu trả từ encoder, khối thực tính tốn đưa tốc độ quy ước chung rpm Ta thiết lập độ dài trễ 10 Pic6 Hàm lọc nhiễu tín hiệu Nhiễu nguồn xung vấn đề thường hay xảy ra, vậy, để lọc nhiều, Sử dụng khối hàm truyền (Transfer Function) với thơng số có sẵn Pic6 Pic7 Thiết lập giá trị tốc độ ban đầu Ở Pic7 Ta sử dụng khối Slider kết nối với khối constant để dễ dàng điều khiển tốc độ Pic8 Bộ điều khiển PID 9|Page Tieu luan LẬP TRÌNH CĂN BẢN ĐIỆN TỬ Về điều khiển PID, giúp sai số xảy giảm đến mức tối thiểu ảnh hưởng tác động tỉ lệ, ảnh hưởng tác động tích phân làm rõ tốc độ đạt với tác động vi phân số liệu trước ta có thông số: kp, Ki, Kd tương ứng tỉ lệ, tích phân đạo hàm Kp: Độ lợi tỉ lệ Ki: Độ lợi tích phân Kd: Độ lợi vi phân Để chọn thông số này, ta áp dụng phương pháp Ziegler-Nichols thứ 2, ban đầu để kp = 2, ta tiếp tục tăng tín hiệu bắt đầu dao động điều hịa giá trị đạt kp = 10 Pic8a bên Pic8a Với Kp = 10 tín hiệu bắt đầu giao động điều hịa, với Tth = 0.1s Xác định thông số Kth = 10, Tth = 0.1(s) 10 | P a g e Tieu luan LẬP TRÌNH CĂN BẢN ĐIỆN TỬ Bộ điều khiển Kp Ti Td P 0.5Kth = - - PI 0.4Kth = 0.85Tth = 0.085 - PID 0.6Kth = 0.5Tth = 0.05 0.125Tth = 0.0125 Với: 𝑇𝑖 = 𝐾𝑝/(𝐾𝑖): Thời gian khâu vi phân Td = Thời gian khâu tích phân Áp dụng cơng thức tính điều khiển theo: R(s) = Kp(1 + 𝑇𝑖.𝑆 + 𝑇𝑑 𝑠) 2.1.2 Thiết kế vận hành Các thành phần để hoàn thiện phần cứng: Thành phần Số lượng Nguồn Pin 9V Arduino Uno Động Cơ Encoder 30 Xung E130-30AB L298 DC Motor Driver Dây USB 11 | P a g e Tieu luan LẬP TRÌNH CĂN BẢN ĐIỆN TỬ Các linh kiện điện tử sử dụng: Pic9 Linh kiện 12 | P a g e Tieu luan LẬP TRÌNH CĂN BẢN ĐIỆN TỬ Hoàn thành phần cứng: Pic10 Phần cứng 2.2 Giao diện Giao diện giúp người dùng dễ dàng điều khiển động Pic11 Giao diện 13 | P a g e Tieu luan LẬP TRÌNH CĂN BẢN ĐIỆN TỬ Phần code cho giao diện: Pic12 Code giao diện Phần 4: Thảo Luận Về mơ hình điều khiển tốc độ động này, PID giúp sai số đạt đến mức thấp Nhưng thực tế, sai số tác động bên nhiễu xung khiến kết không mong muốn Thông số của PID hàm lọc xung mang tính tương đối Dự án nhũng kiến thức Matlab/Simulink, trình tìm hiểu kiến thức, có sai sót dẫn đến sản phẩm chưa tốt Do đó, để làm cho tốt tương lai, bọn em tiếp tục nghiên cứu sâu thêm áp dụng hoàn cảnh khác khiến sản phẩm trở nên tốt 14 | P a g e Tieu luan LẬP TRÌNH CĂN BẢN ĐIỆN TỬ Phần 5: Tham khảo [1] MATLAB_Stephen J Chapman - MATLAB programming for engineersThomson (2008) [2] https://ctms.engin.umich.edu/CTMS/index.php?aux=Activities_DCmotorB [3] https://ctms.engin.umich.edu/CTMS/index.php?aux=Activities_DCmotorA [4] https://www.youtube.com/watch?v=OcLBaSkgSic&t=1470s 15 | P a g e Tieu luan ...LẬP TRÌNH CĂN BẢN ĐIỆN TỬ PHÂN CƠNG VIỆC Họ Tên Nhiệm vụ Phạm Xuân Trung - Lập trình mơ hình điều khiển đo tốc độ động DC - Viết báo cáo - Lập trình giao diện - Làm Powerpoint... Thiết lập giá trị tốc độ ban đầu Ở Pic7 Ta sử dụng khối Slider kết nối với khối constant để dễ dàng điều khiển tốc độ Pic8 Bộ điều khiển PID 9|Page Tieu luan LẬP TRÌNH CĂN BẢN ĐIỆN TỬ Về điều khiển. .. Encoder Nhánh phản hồi 6|Page Tieu luan LẬP TRÌNH CĂN BẢN ĐIỆN TỬ 2.1.1 Phần code mơ hình điều khiển đo tốc độ Dưới sơ đồ khối mơ hình điều khiển đo tốc độ Pic3 Sơ đồ khối Chúng ta đặt giá trị