Bài báo cáo trình bày nội dung tổng quan về động cơ DC, phương pháp điều xung PWM (Pulse Width Modulation), giới thiệu về Arduino và cách thiết kế hệ thống điều khiển tốc độ động cơ bằng PID. Để biết rõ hơn về nội dung chi tiết, mời các bạn cùng tham khảo.
BỘ GIÁO DỤC ĐÀO TẠO TRƯỜNG ĐẠI HỌC QUỐC TẾ HỒNG BÀNG KHOA ĐIỆN TỬ TỰ ĐỘNG HÓA BÁO CÁO BÀI TẬP LỚN CƠ SỞ ĐIỀU KHIỂN TỰ ĐỘNG Đề tài: Điều khiển tốc độ động cơ bằng PID Giảng viên hướng dẫn : TS. Nguyễn Trọng Tài Sinh viên thực hiện : Phạm Thị Vân 141103007 : Trần Chánh Phát 141102044 Lớp : DT14DH – DT1 TP.HCM 06/2016 MỤC LỤC CHƯƠNG 1 TỔNG QUAN 1.1. Động cơ DC 1.1.1. Động cơ DC Servo Động cơ điện là máy điện dùng để chuyển đổi năng lượng điện sang năng lượng cơ. Ngun tắc hoạt động: phần chính của động cơ điện gồm phần đứng n (stator) và phần chuyển động (rotor) được quấn nhiều vòng dây dẫn hay có nam châm vĩnh cửu. Khi cuộn dây trên rotor và stator được nối với nguồn điện, xung quanh nó tồn tại các từ trường, sự tương tác từ trường của rotor và stator tạo ra chuyển động quay của rotor quanh trục hay 1 mơmen Thơng số động cơ DC Servo dùng làm đề tài: Kiểu: DSE38BE27001 Điện áp cấp cho động cơ: 24VDC Tốc độ: 4400 vòng/phút Điện áp cấp cho encoder: 5VDC Encoder: 108 xung/vòng Số encoder: 2 encoder đặt lệch 90o * Ghi chú: Để đơn giản và thuận tiện trong việc làm mơ hình, trong bài này sử dụng điện áp cấp cho DC Servo là 12V. Việc sử dụng điện áp bằng một nửa điện áp định mức của động cơ làm giảm tốc độ quay của động cơ xuống khoảng còn một nửa (2200 vòng/phút) so với số vòng quay khi sử dụng đúng điện áp quy định (4400 vòng/phút) 1.1.2. Điều khiển tốc độ động cơ Thơng thường, tốc độ quay của một động cơ điện một chiều tỷ lệ với điện áp đặt vào nó và ngẫu lực quay tỷ lệ với dòng điện, ngẫu lực quay lớn nhất khi động khởi động (nghĩa là khi động cơ bắt đầu quay) khi đó động cơ sẽ cần 1 dòng điện lớn để khởi động. Điều khiển tốc độ động cơ bằng cách thay đổi giá trị điện áp và dòng vào động cơ 1.2. Phương pháp điều xung PWM (Pulse Width Modulation) Phương pháp điều xung PWM (Pulse Width Modulation) là phương pháp điều chỉnh điện áp ra tải, hay nói cách khác, là phương pháp điều chế dựa trên sự thay đổi độ rộng của chuỗi xung vng, dẫn đến sự thay đổi điện áp ra. PWM được ứng dụng nhiều trong điều khiển. Điển hình nhất mà chúng ta thường hay gặp là điều khiển động cơ và các bộ xung áp, điều áp Sử dụng PWM điều khiển độ nhanh chậm của động cơ hay cao hơn nữa, nó còn được dùng để điều khiển sự ổn định tốc độ động cơ Đây là phương pháp được thực hiện theo ngun tắc đóng ngắt nguồn với tải một cách có chu kì theo luật điều chỉnh thời gian đóng ngắt. Phần tử thực hiện nhiệm vụ đó trong bài báo cáo này là Module L298N Thơng số kỹ thuật: Driver: Tích hợp 2 mạch cầu H Điện áp điều khiển động cơ: 5 ~ 12V Dòng tối đa qua mỗi cầu H: 2A Điện áp tín hiệu điều khiển: 5 ~ 7V Dòng tín hiệu điều khiển: 0 ~ 36mA Để tạo được ra PWM thì hiện nay có hai cách thơng dụng : Bằng phần cứng và bằng phần mềm: Trong phần cứng có thể tạo bằng phương pháp so sánh hay là trực tiếp từ các IC dao động tạo xung vng như : 555, LM556 Trong phần mền được tạo bằng các chip có thể lập trình được. Tạo bằng phần mền thì độ chính xác cao hơn là tạo bằng phần cứng. 1.3. Giới thiệu về Arduino 1.3.1. Arduino là gì? Arduino là một nền tảng mã nguồn mở được sử dụng để xây dựng các ứng dụng điện tử. Arduino gồm có board mạch có thể lập trình được (thường gọi là vi điều khiển) phần mềm hỗ trợ phát triển tích hợp IDE (Integrated Development Environment) dùng để soạn thảo, biên dịch code và nạp chương trình cho board Arduino ngày nay rất phổ biến cho những người mới bắt đầu tìm hiểu về điện tử vì nó đơn giản, hiệu quả và dễ tiếp cận. Khơng giống như các loại vi điều khiển khác, Arduino khơng cần phải có các cơng cụ chun biệt để phụ vụ việc nạp code, ví dụ để nạp code cho PIC cần phải có Pic Kit. Đối với Arduino rất đơn giản, ta có thể kết nối với máy tính bằng cáp USB. Thêm vào đó việc lập trình cho Arduino rất dễ dàng, trình biên dịch Arduino IDE sử dụng phiên bản đơn giản hóa của ngơn ngữ C++ 1.3.2. Board Arduino Uno Một trong những board thơng dụng, được sử dụng nhiều nhất là board Arduino Uno. Dòng này đã phát triển tới thế hệ thứ 3 với tên gọi là Arduino Uno Revision 3 (Arduino Uno R3) Hình .1: Board Arduino Uno R3 Vi điều khiển ATmega328P (họ 8 bit) Điện áp hoạt động Điện áp vào khuyên dùng Điện áp vào giới hạn Digital I/O pin PWM Digital I/O Pins Analog Input Pins Cường độ dòng điện trên mỗi I/O pin Cường độ dòng điện trên mỗi 3.3V pin Flash Memory SRAM EEPROM Tốc độ xung nhịp Chiều dài Chiều rộng Trọng lượng 5V 712V 620V 14 (trong đó 6 chân PWM) 6 (độ phân giải 10 bit) 20 mA 50 mA 32 KB (ATmega328P) 0.5 KB được sử dụng bởi bootloader 2 KB (ATmega328P) 1 KB (ATmega328P) 16 MHz 68.6 mm 53.4 mm 25 g Bảng .1: Thông số cơ bản trên board Arduino Uno R3 CHƯƠNG 2 THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ BẰNG PID 2.1. PID 2.1.1 Giới thiệu PID Bộ điều khiển PID (A proportional integral derivative controller) là bộ điều khiển sử dụng kỹ thuật điều khiển theo vòng lặp dụng kỹ thuật điều khiển theo vòng lặp có hồi tiếp được sử dụng rộng rãi trong các hệ thống điều khiển tự động Một bộ điều khiển PID cố gắng hiệu chỉnh sai lệch giữa tín hiệu ngõ ra và ngõ vào sau đó đưa ra một một tín hiệu điều khiển để điều chỉnh q trình cho phù hợp Bộ điều khiển kinh điển PID đã và đang được sử dụng rộng rãi để điều khiển các đối tượng SISO bởi vì tính đơn giản của nó cả về cấu trúc lẫn ngun lý làm việc. Bộ điều chỉnh này làm việc rất tốt trong các hệ thống có qn tính lớn như điều khiển tốc độ, điều khiển mức, và trong các hệ điều khiển tuyến tính hay có mức độ phi tuyến thấp PID là một trong những lý thuyết cổ điển và cũ nhất dùng cho điều khiển tuy nhiên nó vẫn ứng dụng rộng rãi cho đến ngày nay Sơ đồ khối của bộ điều khiển PID: 2.1.2. Hàm truyền Bộ điều khiển gồm có 3 thành phần: KP: hệ số tỷ lệ KI : hệ số tích phân KD: hệ số vi phân Xét 1 hệ thống có sơ đồ khối như sau: Hình 2.2 Sơ đồ khối của một hệ thống Plant: đối tượng cần điều khiển Controller: đưa tín hiệu điều khiển đối tượng, được thiết kế để hệ thống đạt đáp ứng mong muốn Biến e là thành phần sai lệch, là hiệu giữa giá trị tín hiệu vào mong muốn và tín hiệu ra thực tế. Tín hiệu sai lệch (e) sẽ đưa tới bộ PID, và bộ điều khiển tính tốn cả thành phần tích phân lẫn vi phân của (e). Tín hiệu ra (u) của bộ điều khiển bằng: Lúc này đối tượng điều khiển có tín hiệu vào là (u), và tín hiệu ra là (Y). (Y) được hồi tiếp về bằng các cảm biến để tiếp tục tính sai lệch (e). Và bộ điều khiển lại tiếp tục như trên 2.1.3. Đặc tính bộ điều khiển PID Thành phần tỉ lệ (Kp) có tác dụng làm tăng tốc độ đáp ứng của hệ, và làm giảm chứ khơng triệt tiêu sai số xác lập của hệ (steadystate error) Thành phần tích phân (Ki) có tác dụng triệt tiêu sai số xác lập nhưng có thể làm giảm tốc độ đáp ứng của hệ Thành phần vi phân (Kd) làm tăng độ ổn định hệ thống, giảm độ vọt lố và cải thiện tốc độ đáp ứng của hệ Ảnh hưởng của các thành phần Kp, Ki, Kd đối với hệ kín được tóm tắt trong bảng sau: Đáp ứng vòng kín KP Thời gian lên Giảm Vọt lố Tăng Thời gian xác lập Thay đổi nhỏ KI Giảm Tăng Tăng KD Thay đổi nhỏ Giảm Giảm Sai số xác lập Giảm Thay đổi nhỏ Thay đổi nhỏ Lưu ý rằng quan hệ này khơng phải chính xác tuyệt đối vì Kp, Ki và Kd còn phụ thuộc vào nhau. Trên thực tế, thay đổi một thành phần có thể ảnh hưởng đến hai thành phần còn lại. Vì vậy bảng trên chỉ có tác dụng tham khảo khi chọn Kp, Ki, Kd 10 2.2. Sơ đồ khối hệ thống PC: Gửi giá trị cài đặt và nhận tốc độ hiện tại của động cơ. Và điều khiển chạy hoặc ngừng chạy của hệ thống Arduino Uno: Bộ điều khiển trung tâm với giải thuật PID, nhận giá trị cài đặt từ máy tính. Điều khiển động cơ qua L298N, thơng qua encoder lấy tốc độ hiện tại gửi cho máy tính và hiển thị lên LCD L298N: có nhiệm vụ nhận tín hiệu xung PWM, điều khiển mức điện áp vào động cơ DC Servo, Encoder: Dựa vào mức điện áp mà L298N cấp vào động cơ, động cơ hoạt động với tốc độ mong muốn. Encoder dùng để lấy tốc độ về cho Arduino Uno 11 2.3. Lưu đồ giải thuật 12 2.4 Giao diện phần mềm điều khiển trên PC 13 ... khởi động (nghĩa là khi động cơ bắt đầu quay) khi đó động cơ sẽ cần 1 dòng điện lớn để khởi động. Điều khiển tốc độ động cơ bằng cách thay đổi giá trị điện áp và dòng vào động cơ 1.2. Phương pháp điều xung PWM (Pulse Width Modulation)... CHƯƠNG 1 TỔNG QUAN 1.1. Động cơ DC 1.1.1. Động cơ DC Servo Động cơ điện là máy điện dùng để chuyển đổi năng lượng điện sang năng lượng cơ. Ngun tắc hoạt động: phần chính của động cơ điện gồm phần đứng n ... 1.1.2. Điều khiển tốc độ động cơ Thơng thường, tốc độ quay của một động cơ điện một chiều tỷ lệ với điện áp đặt vào nó và ngẫu lực quay tỷ lệ với dòng điện, ngẫu lực quay lớn nhất khi động