Điều khiển động cơ DC dùng thuật toán PID

19 4.1K 42
Điều khiển động cơ DC dùng thuật toán PID

Đ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

Sử dụng vi điều khiển AVR điều khiển động cơ DC bằng phương pháp PID, sử dụng giao diện để điều khiển, cài đặt thông số và vẽ biểu đồ vận tốc động cơ. Bao gồm mạch điện, lưu đồ giải thuật và code.

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT KHOA KHÍ CHẾ TẠO MÁY KHOA KHÍ CHẾ TẠO MÁY BỘ MÔN ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ …o0o… Điều khiển động DC dùng PID YÊU CẦU GIỚI HẠN ĐỀ TÀI YÊU CẦU GIỚI HẠN ĐỀ TÀI - Thiết kế mạch cầu H điều khiển tốc độ động DC theo phương pháp điều chỉnh độ rộng xung (PWM). - Tìm hiểu thuật toán điều khiển vòng kín PID theo hai phương pháp:  Ziegler – Nichols (Z – N).  Cohen – Coon (C – C). - Viết giao diện chương trình điều khiển động DC theo thuật toán điều khiển vòng kín PID bằng cả hai phương pháp Z – N và C – C. SỞ LÝ THUYẾT SỞ LÝ THUYẾT Giới thiệu chung về thuật toán điều khiển vòng kín PID Bộ điều khiển PID là một bộ điều khiển vòng kín được sử dụng rộng rãi trong công nghiệp. Sử dụng bộ điều khiển PID để điều chỉnh sai lệch giữa giá trị đo được của hệ thống (process variable) với giá trị đặt (setpoint) bằng cách tính toánđiều chỉnh giá trị điều khiển ở ngõ ra. Sơ đồ hệ thống điều khiển dùng PID Một bộ điều khiển PID gồm 3 thành phần:  Khâu P (proportional) – tạo tín hiệu điều khiển tỉ lệ với sai lệch (error – e)  Khâu I (integral) – tạo tín hiệu điều khiển tỉ lệ với tích phân theo thời gian của sai lệch  Khâu D (derivative) – tạo tín hiệu điều khiển tỉ lệ với vi phân theo thời gian của sai lệch. 2 Điều khiển động DC dùng PID Bảng sau cho ta thấy rõ ảnh hưởng của các thông số K P , K I , K D đến hệ thống điều khiển bằng PID: Effects of increasing parameters Parameter Rise Time Overshoot Settling Time S.S. Error K p Decrease Increase Small Change Decrease K i Decrease Increase Increase Eliminate K d Small Change Decrease Decrease None Nhận xét:  K P dùng để giảm thời gian tăng trưởng.  K D dùng để giảm độ vọt lố và thời gian xác lập.  K I dùng để loại trừ sai số ở trạng thái ổn định. Rời rạc hóa bộ điều khiển PID Hàm truyền của bộ điều khiển PID theo thời gian: ( ) ( ) ( ) ( ) P I D de t u t K e t K e t dt K dt = + + ∫ Bộ điều khiển số không thể lấy mẫu liên tục theo thời gian nên cần phải rời rạc hóa các khâu của bộ hiệu chỉnh PID:  Khâu tỉ lệ: ( ) ( ) P P K e t K e n≈  Khâu tích phân: 0 0 ( ) ( ) t N i i S K e t dt K T e n ≈ ∑ ∫  Khâu vi phân: ( ) [ ( ) ( 1)] d d S e t e n e n K K dt T − − ≈ Suy ra hàm truyền của bộ điều khiển PID số sẽ là: 0 1 ( ) ( ) ( ) [ ( ) ( 1)] N P i S d S u n K e n K T e n K e n e n T = + + − − ∑ Với: P i i K K T = ; d P D K K T= Bộ điều khiển PID rời rạc đọc sai số, tính toán và xuất ngõ ra điều khiển theo một khoảng thời gian xác định (không liên tục) gọi là thời gian lấy mẫu (T). Thời gian lấy mẫu cần nhỏ hơn đơn vị thời gian của hệ thống. 3 Điều khiển động DC dùng PID Thiết kế bộ PID số theo phương pháp Ziegler – Nichols (Z – N) Z – N là phương pháp thiết kế bằng thực nghiệm, được sử dụng trong trường hợp không thể xây dựng mô hình toán học cho đối tượng điều khiển. Điều kiện: khi đưa trạng thái làm việc của hệ đến biên giới ổn định thì mọi giá trị của tín hiệu trong hệ thống điều phải nằm trong giới hạn cho phép. Các bước tiến hành: - Trước tiên, sử dụng bộ P lắp vào hệ kín (hoặc dùng bộ PID và chỉnh các thành phần K I và K D về giá trị 0). Khởi động quá trình với hệ số khuếch đại K P thấp, sau đó tăng dần K P tới giá trị tới hạn K gh để hệ kín ở chế độ giới hạn ổn định, tức là tín hiệu ra h(t) dạng dao động điều hòa. Xác định chu kỳ tới hạn T gh của dao động. - Xác định thông số của bộ điều khiển theo bảng sau : Bộ điều khiển K P T N T V P 0,5 K gh _ _ PI 0,45 K gh 0,83 T gh _ PID 0,6 K gh 0,5 T gh 0,125 T gh //Một số tài liệu ghi là T N = 0,85 T gh (bộ điều khiển PI). T V = 0,12 T gh (bộ điều khiển PID). Hệ số tích phân : P I N K K = T Hệ số vi phân : D P V K = K .T 4 Điều khiển động DC dùng PID Thiết kế bộ PID số theo phương pháp Cohen – Coon (C – C) C – C là phương pháp thiết kế dựa trên một số đáp ứng điển hình của hệ thống, cung cấp khả năng ước lượng để tính toán các thông số của hệ thống. Các bước thực hiện: - Khởi động hệ thống và đợi cho trạng thái tương đối ổn định. - Tạo một bước nhảy của tín hiệu đầu vào. - Quan sát đáp ứng đầu ra sau một khoảng thời gian. - Dựa vào đáp ứng đầu ra, xác định các thông số (bằng phép đo):  t 0 : Thời điểm bắt đầu thực hiện bước nhảy của tín hiệu đầu vào.  t 2 : Thời điểm giá trị của tín hiệu đầu ra thực hiện được nửa bước nhảy (0.5B).  t 3 : Thời điểm giá trị của tín hiệu đầu ra đạt được 63.2% bước nhảy (0.632B).  A: Độ lớn bước nhảy của tín hiệu đầu vào.  B: Độ lớn bước nhảy của tín hiệu đầu ra. - Từ đó suy ra các thông số quá trình:  t 1 = (t 2 - ln(2) t 3 )/(1 - ln(2))  τ = t 3 - t 1  τ DEL = t 1 - t 0  K = B/A 5 Điều khiển động DC dùng PID - Dựa vào các thông số K, τ và τ DEL ta thể tính được K C , T I và T D dựa theo các biểu thức trong bảng dưới đây: - Cuối cùng thu được các thông số đặc trưng của bộ PID số:  K P = K C  K I = K C /t I  K D = K C *t D So sánh giữa Z – N và C – C  Cả 2 phương pháp này đều cung cấp khả năng ước lượng các thông số quá trình của bộ PID số.  Phương pháp Z – N đòi hỏi phải theo thực nghiệm là chính.  Phương pháp C – C yêu cầu tính toán nhiều hơn là thực nghiệm. 6 Điều khiển động DC dùng PID THIẾT KẾ VÀ THI CÔNG THIẾT KẾ VÀ THI CÔNG Sơ đồ khối của mô hình thi công: Mạch nguyên lý của khối điều khiển: Mạch nguyên lý của khối hồi tiếp vận tốc từ Encorder: 7 Điều khiển động DC dùng PID Mạch nguyên lý của khối cách ly: Mạch nguyên lý của khối công suất: 8 Điều khiển động DC dùng PID Tính toán Encorder: Tính toán Encorder: Tần số đáp ứng: Động dùng Encorder Incremental với 2 kênh xung A (dây trắng) và B (dây vàng) với thông số là 100 xung/vòng cho mỗi kênh  Để tăng độ phân giải lên 4 lần (tức 400 xung/vòng), ta thiết kế mạch hồi tiếp tốc độ như sau:  Dùng 1 cổng EX-OR (74HC86) để bắt tất cả các cạnh lên và cạnh xuống của 2 kênh xung A và B.  Cho vi điều khiển nhận ngắt ngoài với bất cứ sự thay đổi nào của đầu vào là ngõ ra của cổng EX-OR trên. Tốc độ tối đa của động khoảng 3800 vòng/phút ở điện áp nguồn 24VDC. Suy ra tần số tối đa của Encoder là: max_encoder 3800 = *400 0,025Mhz 60 ≈ f Ở đây dùng vi điều khiển ATMEGA32 với tần số thạch anh ngoại là 16Mhz  hoàn toàn đáp ứng được tần số của Encorder. Chu kỳ lấy mẫu (T mẫu ): Trong chương trình Codevision dùng biến đếm count kiểu nguyên không dấu unsigned long (16 bit) giá trị lớn nhất là 65535. Ta có: max_encoder mau mau 6 65535 *T 65535 T 2.6s 0,025*10 < => < = f Như vậy chọn T mẫu = 10 ms là hoàn toàn thỏa mãn điều kiện trên. Sai số khi lấy mẫu với T mẫu = 10 ms: Cứ 10 ms lấy mẫu sẽ đếm được count xung  1 phút = 60000 ms lấy mẫu sẽ đếm được 6000*count xung. Mặt khác, mạch hồi tiếp Encorder cho 400 xung/vòng  Tốc độ đáp ứng của động sẽ là: 6000*count/400 = 15*count (vòng/phút) Do sử dụng biến đếm count kiểu nguyên nên sai số của count sẽ là ±1  sai số của tốc độ đáp ứng là ±15 vòng/phút. 9 Điều khiển động DC dùng PID VẤN ĐỀ VÀ GIẢI PHÁP VẤN ĐỀ VÀ GIẢI PHÁP Trong phương pháp C – C khi hệ đáp ứng quá chậm (t 3 đủ lớn) thì sẽ xảy ra trường hợp t 1 <0 [vì t 1 = (t 2 - ln(2) t 3 )/(1 - ln(2))]  Lấy gốc thời gian tính toán tại t 0 để giảm thiểu trường hợp đặc biệt này. Tính toán các thông số của phương pháp C – C khi lấy thời điểm bắt đầu thực hiện bước nhảy t 0 của tín hiệu đầu vào làm gốc thời gian: T0 = t0 – t0 = 0; T2 = t2 - t0; T3 = t3 - t0; T1 = (T2 - 0.69315 * T3) * 0.30685; t = T3 - T1; tdel = T1 – T0 = T1; K = B / A; r = tdel / t; Kp = (16 + 3 * r) / (12 * K * r); tI = tdel * (32 + 6 * r) / (13 + 8 * r); tD = tdel * 4 / (11 + 2 * r); Ki = Kp / tI; Kd = Kp * tD; 10 [...]... ĐƯỢC Phương pháp Z – N: 13 Điều khiển động DC dùng PID Từ đồ thị trên ta tính được Tgh = (960-780)/60 = 3 (chia 60 vì đơn vị trục thời gian là 60ms) Suy ra Kp, Ki, Kd như sau: 14 Điều khiển động DC dùng PID 15 Điều khiển động DC dùng PID Phương pháp C – C với tín hiệu vào (SP) nhảy từ 1500 lên 2490: 16 Điều khiển động DC dùng PID Bộ thông số Kp,... và hồi tiếp về tốc độ động tương ứng để vẽ lên đồ thị Teechart) Từ đồ thị Teechart ta gióng các giá trị tương ứng của PWM và tốc độ động Trong giao diện của phương pháp C – C ta lập bảng tra các giá trị tương ứng của SP (tốc độ đặt trên PC) và PWM (truyền xuống điều khiển động cơ) 11 Điều khiển động DC dùng PID LƯU ĐỒ GIẢI THUẬT 12 Điều khiển động DC dùng PID KẾT QUẢ... 17 Điều khiển động DC dùng PID Bộ thông số Kp, Ki, Kd dò được dựa theo kết quả bộ thông số của phương pháp C – C: 18 Điều khiển động DC dùng PID KẾT LUẬN VÀ ĐỀ NGHỊ Nhận thấy kết quả KP, KI, KD ở hai phương pháp Z – N và C – C là khác nhau, do đó khi tùy chỉnh nên sử dụng tối ưu nguyên lý điều khiển và phải kiểm tra lại độ chắc chắn của từng phương pháp Thường thì Z – N dùng. . .Điều khiển động DC dùng PID Đồ thị Teechart trên PC vẽ không kịp do hai nguyên nhân:  Cứ 10ms vi điều khiển gửi thông số lên PC một lần là quá nhanh nên card màn hình onboard không thể đáp ứng kịp  Tăng thời gian giãn cách giữa các lần gửi lên... – C dùng để tính toán kiểm nghiệm lại kết quả Nhưng không hẳn là phương pháp C – C đã độ tin cậy cao hơn phương pháp thực nghiệm Z – N Kết quả của hai phương pháp chỉ là bộ thông số thô, nhưng dựa vào đó ta thể dò tìm được các bộ thông số chuẩn khác nhau cho động Như vậy bộ thông số PID của động không phải là duy nhất, nó còn phụ thuộc vào nhiều yếu tố khác nhau trong hệ thống điều khiển. .. không kịp  Dùng thêm câu lệnh this.Invoke(new EventHandler(communication)); trong hàm sự kiện serialPort1_DataReceived để chuyển sự kiện này sang luồng chính nhằm cải thiện tốc độ đáp ứng của chương trình Hàm lệ thuộc giữa giá trị PWM và tốc độ động không phải là hàm tuyến tính  Viết chương trình giao diện đồ thị Teechart biểu thị mối quan hệ giữa PWM và tốc độ tương ứng của động (dùng Timer . khiển động cơ DC dùng PID LƯU ĐỒ GIẢI THUẬT LƯU ĐỒ GIẢI THUẬT 12 Điều khiển động cơ DC dùng PID KẾT QUẢ ĐẠT ĐƯỢC KẾT QUẢ ĐẠT ĐƯỢC Phương pháp Z – N: 13 Điều khiển động cơ DC dùng PID Từ đồ thị. sau: 14 Điều khiển động cơ DC dùng PID 15 Điều khiển động cơ DC dùng PID Phương pháp C – C với tín hiệu vào (SP) nhảy từ 1500 lên 2490: 16 Điều khiển động cơ DC dùng PID Bộ thông số Kp, Ki,. vận tốc từ Encorder: 7 Điều khiển động cơ DC dùng PID Mạch nguyên lý của khối cách ly: Mạch nguyên lý của khối công suất: 8 Điều khiển động cơ DC dùng PID Tính toán Encorder: Tính toán Encorder: Tần

Ngày đăng: 28/05/2014, 17:03

Từ khóa liên quan

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

Tài liệu liên quan