Điều khiển tốc độ động cơ sử dụng pid số

Mục đích đề tài là ĐIỀU KHIỂNTỐC ĐỘ ĐỘNG CƠ SỬ DỤNG PID SỐ, tuy đây là một đề tài khá quen thuộc nhưng điển khác biệt so với những đề tài trước là sử dụng là sử dụng ngôn ngữ lập trình là C thông qua chương trình CodevisionAVR C compiler để lập trình cho vi xử lý ATMega16 nhằm mục đích tối ưu hóa những khả năng của ATMega16.

pdf19 trang | Chia sẻ: tlsuongmuoi | Ngày: 22/07/2013 | Lượt xem: 4851 | Lượt tải: 7download
Bạn đang xem nội dung tài liệu Điều khiển tốc độ động cơ sử dụng pid số, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
ĐIỀU KHIỂN ĐỘNG CƠ SỬ DỤNG PID SỐ GVHD:PGS.TS NGUYỄN THỊ PHƯƠNG HÀ 12/2007 SVTH:NGUYỄN QUỐC HUY 1 LỜI TỰA Mục đích đề tài là ĐIỀU KHIỂNTỐC ĐỘ ĐỘNG CƠ SỬ DỤNG PID SỐ, tuy đây là một đề tài khá quen thuộc nhưng điển khác biệt so với những đề tài trước là sử dụng là sử dụng ngôn ngữ lập trình là C thông qua chương trình CodevisionAVR C compiler để lập trình cho vi xử lý ATMega16 nhằm mục đích tối ưu hóa những khả năng của ATMega16. Đồ án thực hiện đề tài gồm 5 phần : ► Phần I: giới thiệu hệ thống điều khiển tốc độ động cơ. ► Phần II : Phần cứng. ► Phần III : Thiết kế khối hiệu chỉnh PID bằng giải thuật phần mềm. ► Phần IV : Phần mềm. ► Phần V : Tài liệu tham khảo . Xin chân thành cảm ơn cô Nguyễn Thị Phương Hà, người đã gợi ý và hướng dẫn tôi thực hiện đề tài này. Dù đã cố gắng rất nhiều nhưng trong quá trình thực hiện không thể tránh có sai sót, tôi mong được sự góp ý để có thể hoàn thiện tốt hơn. Người thực hiện Nguyễn Quốc Huy ĐIỀU KHIỂN ĐỘNG CƠ SỬ DỤNG PID SỐ GVHD:PGS.TS NGUYỄN THỊ PHƯƠNG HÀ 12/2007 SVTH:NGUYỄN QUỐC HUY 2 NHẬN XÉT, ĐÁNH GIÁ CỦA GIÁO VIÊN ………………………………………………………………………………………………………… ………………………………………………………………………………………………………… ………………………………………………………………………………………………………… ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ………………………………………………………………………………………………………….. ĐIỀU KHIỂN ĐỘNG CƠ SỬ DỤNG PID SỐ GVHD:PGS.TS NGUYỄN THỊ PHƯƠNG HÀ 12/2007 SVTH:NGUYỄN QUỐC HUY 3 MỤC LỤC Lời tựa 1 Nhận xét của giáo viên 2 Mục lục 3 Phần I : Giới thiệu hệ thống điều khiển tốc độ động cơ 4 Phần II : Phần cứng 5 1.Cấu trúc tổng quát 5 2.Khối xử lý trung tâm 6 3.Khối hiển thị 8 4.Khối cảm biến 8 5.Khối công suất 9 6.Khối bàn phím 10 7.Khối cấp nguồn 10 Phần III : Giải thuật mờ thiết kế bộ điều khiển PID cho động cơ 12 Phần IV: Phần mềm 17 Phần V : Tài liệu tham khảo 19 ĐIỀU KHIỂN ĐỘNG CƠ SỬ DỤNG PID SỐ GVHD:PGS.TS NGUYỄN THỊ PHƯƠNG HÀ 12/2007 SVTH:NGUYỄN QUỐC HUY 4 PHẦN I : GIỚI THIỆU HỆ THỐNG ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ DC Động cơ điện một chiều trong dân dụng thường là các dạng động cơ hoạt động với điện áp thấp, dùng với những tải nhỏ. Trong công nghiệp, động cơ điện một chiều được sử dụng ở những nơi yêu cầu moment mở máy lớn hoặc yêu cầu thay đổi tốc độ trong phạm vi rộng. Một phần quan trọng của động cơ điện một chiều là bộ phận chỉnh lưu, nó có nhiệm vụ là đổi chiều dòng điện trong cuộn rotor trong khi chuyển động quay của rotor là liên tục. Thông thường bộ phận này là bộ phận gồm có một bộ cổ góp và một bộ chổi than tiếp xúc với cổ góp. Đây cũng chính là nhược điểm chính của động cơ điện một chiều: cổ góp làm cho cấu tạo phức tạp, đắt tiền, kém tin cậy và nguy hiểm trong môi trường dễ nổ, khi sử dụng phải có nguồn điện một chiều kèm theo hoặc bộ chỉnh lưu Hiện nay có một số xu hướng trong điều khiển động cơ. Trong một số trường hợp, vấn đề cần quan tâm chỉ đơn giản là điều khiển tốc độ, gia tốc, mômen hoặc các thuộc tính khác của động cơ trên cơ sở tín hiệu điều khiển đầu vào là từ phía con người, chẳng hạn như qua bảng điều khiển. Việc điều khiển bằng tay như vậy thuộc về phạm trù điều khiển vòng hở. Trong một số trường hợp khác, động cơ phải tự động đưa ra các đáp ứng với các tác động thời gian thực. Các đáp ứng đối với các tác động này được quan sát và các điều chỉnh cần thiết được tự động tạo ra. Vì vậy, nó tạo ra một môi trường điều khiển kín. Các điều khiển vòng lặp kín như vậy được gọi là hệ tùy động servo, hay chỉ đơn giản là servo. Điều khiển servo là một quá trình xử lý tín hiệu liên quan đến điều khiển động cơ trên cơ sở động học của các tín hiệu vào như vị trí, tốc độ hay mômen. Trong quá khứ người ta sử dụng các mạch tương tự để thực hiện điều khiển servo, nhưng khả năng thích nghi của các bộ vi xử lý tín hiệu số (DSP) đã tạo ra một công nghệ cho sự lựa chọn trong nhiều ứng dụng. Khi dải thông cho điều khiển tốc độ và mômen đơn giản là hẹp một cách tương đối nếu so sánh với mã hóa tiếng nói, MCUs thường đủ nhanh các việc xử lý DSP nhỏ nhặt. Trong một số trường hợp, mặc dù chúng phải dựa vào các bảng tra (look-up tables) để cho các kết quả xấp xỉ, nhưng MCUs không có tốc độ để thực hiện những thuật toán điều khiển nâng cao được cần đến trong truyền động ổ đĩa cứng có chất lượng cao nhất, các ổ CD-ROM hay DVD. Tuy nhiên, các bộ điều khiển đĩa này có yêu cầu cao hơn các bộ điều khiển tốc độ động cơ. Chúng phải đảm bảo điều khiển vị trí servo của phần cơ khí đọc (và viết) mà thường là các động cơ tuyến tính. Điều khiển thích nghi là cần thiết cho các trường hợp này để bù sự thay đổi nhiệt, sự lão hóa (aging) của đĩa và các lực gia tốc vật lý. ĐIỀU KHIỂN ĐỘNG CƠ SỬ DỤNG PID SỐ GVHD:PGS.TS NGUYỄN THỊ PHƯƠNG HÀ 12/2007 SVTH:NGUYỄN QUỐC HUY 5 PHẦN II : PHẦN CỨNG 1.CẤU TRÚC TỔNG QUÁT : Board điều khiển được thiết kế nhằm mục đích diều khiển động cơ có công suất tối đa là 10 Watt ,mạch chính gồm 6 khối như sau : ● Khối xử lý trung tâm : sử dụng vi điều khiển ATMega16. ● Khối hiển thị : sử dụng LCD 16x2 giao tiếp với PORTA của vi xử lý. ● Khối cảm biến : Encoder nối trực tiếp vào trục Motor để xác định tốc độ. ● Khối công suất : có khả năng điều khiển Motor dùng nguồn DC 24V. ● Khối bàn phím : gồm 4 phím nhấn và 4 công tắc on-off dùng để điều khiển và thiết lập các thông số cho bộ điều khiển tốc độ. Chức năng của từng phím được thiết lập bằng phần mềm. ● Khối cấp nguồn : nguồn chính cung cấp điền áp 5V,12V, và 24V dùng để cung cấp cho mạch điều khiển và mạch công suất. Sơ đồ mô tả mạch : : 2.KHỐI XỬ LÍ TRUNG TÂM : Xử lý trung tâm Khối hiển thị LCD Khối bàn phím Khối cảm biến Khối cấp nguồn Khối công suất ĐIỀU KHIỂN ĐỘNG CƠ SỬ DỤNG PID SỐ GVHD:PGS.TS NGUYỄN THỊ PHƯƠNG HÀ 12/2007 SVTH:NGUYỄN QUỐC HUY 6 Đóng vai trò bộ điều khiển trung tâm, chịu trách nhiệm về tất cả các họat động của mạch. Board mạch chủ với bộ xử lí trung tâm là ATMega16 cung cấp mộ công cụ có thể thực hiện điều khiển theo bất kì phương pháp nào, chỉ cần có giải thuật và chuyển đổi thành chương trình nạp vào bộ nhớ của ATMega16. Vi điều khiển ATMega16 được chọn vì MCU này có những ưu điểm trong việc điều khiển động cơ, cụ thể là bộ 2 timer 8 bit và 1 timer 16 bit tất cả đều có bộ chia tần và PWM (Pulse Width Modulation). Tổng quan về ATMega16: ATMega16 là một vi điều khiển 8 bit do hãng ATMEL sản xuất, được chế tạo theo công nghệ low-power CMOS, khả năng tiêu thụ công suất thấp, xử lý nhanh với 16KB Flash(In-System Self-Programmable Flash). Thiết bị này được chế tạo bằng cách sử dụng kĩ thuật bộ nhớ không bốc hơi mật độ cao của ATMEL. Flash In-System cho phép bộ nhớ được lập trình bởi một lập trình viên bình thường. Bằng cách kết nối một CPU 8 bit với một bộ nhớ Flash 16KB trên một chip đơn, ATMega16 là một MCU mạnh, cung cấp một bộ điều khiển với sự linh động cao và giá thành cạnh tranh đối với nhiều ứng dụng dùnh MCU 8 bit. Sơ đồ chân và các đặc điểm chủ yếu củ ATMega16 : ● 16KB Flash Rom có khả năng ghi/xóa 10.000 lần. ● In-System Programming sử dụng On-chip Boot Program. ● 2 timer 8bit và 1 timer 16bit tất cả đều có bộ chia tần. ● 4 kênh PWM (Pulse Width Modulation). ● 8 kênh biến đổi ADC 10bit. ● 6 chế độ tiết kiệm nguồn. ● 21 nguồn ngắt cho phép lập trình linh hoạt. ● 32 đường I/O lập trình được (4 Port). ● Tần số hoạt động từ : 0 Hz đến 16MHz ĐIỀU KHIỂN ĐỘNG CƠ SỬ DỤNG PID SỐ GVHD:PGS.TS NGUYỄN THỊ PHƯƠNG HÀ 12/2007 SVTH:NGUYỄN QUỐC HUY 7 Mô tả sơ đồ mạch : ĐIỀU KHIỂN ĐỘNG CƠ SỬ DỤNG PID SỐ GVHD:PGS.TS NGUYỄN THỊ PHƯƠNG HÀ 12/2007 SVTH:NGUYỄN QUỐC HUY 8 Vi điều khiển ATMega16 sử dụng thạch anh định tần 4Mhz, một chu kì lệnh sẽ chiếm thời gian là 1 0.25 4.000.000 sμ= . ATMega16 có 5 nguồn reset, trong đó có nguồn Power-on reset và External reset dùng nút nhấn SW1. 3.KHỐI HIỂN THỊ : Sử dụng LCD 16x2 giao tiếp với vi xử lý qua PORTA và gaio tiếp ở chế độ 4 bit vì vậy chỉ sử dụng 7 chân I/O của vi xử lý nhưng vẫn có khả năng hiển thị tốc độ động cơ cũng như các thông số khác liên quan đến việc điều chỉnh hay cài đặt ban đầu cho bộ điều khiển. 4.KHỐI CẢM BIẾN : ĐIỀU KHIỂN ĐỘNG CƠ SỬ DỤNG PID SỐ GVHD:PGS.TS NGUYỄN THỊ PHƯƠNG HÀ 12/2007 SVTH:NGUYỄN QUỐC HUY 9 Sử dụng 1 Encoder loại Incremental encoder 100 xung trên một vòng gắn trực tiếp vào trục động cơ, tín hiệu ngỏ ra của encoder là dạng xung vuông mà ứng với mỗi lần động cơ quay đủ một còng thì số xung xuất ra là 100. Ngỏ ra của encoder sẽ được nối vào chân INT0 của MCU ATMega16. 5.KHỐI CÔNG SUẤT : Dùng OPTO(PC817)-MOSFET(IRF540) để đảm bảo hai yêu cầu là cách ly về điện và đáp ứng tần số cao trong đóng ngắt. Sử dụng cặp Transistor bù D468 và B562 là mạch điều khiển điện áp ở chân G của MOSFET đảm bảo ép MOSFET có thể đóng ngắt đúng như tín hiệu điều khiển. Nguồn cấp cho mạch công suất là 12VDC nhưng nguồn cấp cho động cơ là 24VDC. OPTO được nối vào chân OC0(PB3) của ATMega16, OC0 là chân chuyên dụng của timer0 8bit ở chế độ Phase Correct PWM. ĐIỀU KHIỂN ĐỘNG CƠ SỬ DỤNG PID SỐ GVHD:PGS.TS NGUYỄN THỊ PHƯƠNG HÀ 12/2007 SVTH:NGUYỄN QUỐC HUY 10 6.KHỐI BÀN PHÍM : Gồm 4 phím nhấn và 4 switch được kết nối trực tiếp vào PORTC như hình vẽ : Các nút nhấn và switch được sử dụng để cài đặt các thông số cần thiết cho bộ điều khiển tốc độ động cơ, đồng thờ cũng được dùng để ra lệnh hiển thị trạng thái của các thông số PID thay đổi khi thực hiện điều khiển. 7.KHỐI CẤP NGUỒN : Khối cấp nguồn cung cấp nguồn DC 5V cho mạch điều khiển và 12V, 24V cho mạch công suất. Khối cấp nguồn sử dụng 3 loại IC ổn áp là LM7824, LM7812, và LM7805 cùng với Transistor kéo dòng là Q2SA1302. 0 OUT_5 0 D8 D1N4007 0 0 J6 24VAC/5A 1 2 Q2SA1302Q2 J7 5V 1 2 U4 LM7812 1 3 2VIN G N D VOUT OUT_12 0 0 R7 4.7-2W D10 D1N4007 C8 2200uF/35V R10 1k J9 24V 1 2 C11 2200uF/35V OUT_24 OUT_24 0 R5 100K C12 0.1uF D14 LED U3 LM7824 1 3 2VIN G N D VOUT 0 Q1 Q2SA1015 C10 8200uF/50V 0 R11 470 F1 FUSE D3 LED D13 D1N4007 D16 LED U5 LM7805 1 3 2VIN G N D VOUT C9 2200uF/35V R4 560 0 KHOI NGUON - + D1 BRIDGE 1 2 3 4 0 00 D12 D1N4007 R6 4.7-2W 0 R3 2.2K D15 LED Q2SA1302Q3 J8 12V 1 2 R9 2.2K OUT_12 0 D9 D1N4007 OUT_5 ĐIỀU KHIỂN ĐỘNG CƠ SỬ DỤNG PID SỐ GVHD:PGS.TS NGUYỄN THỊ PHƯƠNG HÀ 12/2007 SVTH:NGUYỄN QUỐC HUY 11 PHẦN III : GIẢI THUẬT MỜ THIẾT KẾ BỘ HIỆU CHỈNH PID CHO ĐỘNG CƠ Sơ lượt về bộ PID mờ : Có thể nói trong lĩnh vực điều khiển, bộ PID được xem như một giải pháp đa năng cho các ứng dụng điều khiển Analog cũng như Digital. Theo một nghiên cứu cho thấy có khoảng hơn 90% các bộ điều khiển được sử dụng hiện nay là bộ điều khiển PID. Bộ điều khiển PID được thiết kế tốt có khả năng điều khiển hệ thống với chất lượng quá độ tốt (đáp ứng nhanh, độ vọt lố thấp) và triệt tiêu được sai số xác lập. Việc thiết kế bộ PID kinh điển thường dựa trên phương pháp Zeigler-Nichols, Offererin, reinish… Tuy nhiên nếu đối tượng điều khiển là phi tuyến thì bộ điều khiển PID kinh điển không thẻ đảm bảo chất lượng điều khiển tại mọi thời điểm làm việc. Do đó để điều khiển các đối tượng phi tuyến này nay người ta thướng ùng kĩ thuật hiệu chỉnh PID mềm (dựa trên phần mềm), đây chính là cơ sở cuủa thiết kế PID mờ hay PID thích nghi. Sơ đồ điều khiển dùng PID mờ : Mô hình tính toán của bộ PID : 0 ( )( ) ( ) ( ) t P I D de tu t K e t K e x dx K dt = + +∫ 0 1 1 ( )( ) [ ( ) ( ) ] t P I D de tu t K e t e x dx T T dt = + +∫ ( ) P I PID D KG s K K s s = + + 2 p I D K K Kα= I D T T α = BỘ CHỈNH ĐỊNH MỜ THIẾT BỊ CHỈNH ĐỊNH de dt BĐK PID ĐỐI TƯỢNG y u e x ĐIỀU KHIỂN ĐỘNG CƠ SỬ DỤNG PID SỐ GVHD:PGS.TS NGUYỄN THỊ PHƯƠNG HÀ 12/2007 SVTH:NGUYỄN QUỐC HUY 12 Các tham số , ,P I DK K K đuợc chỉnh định theo từng bộ điều khiển mờ riêng biệt dựa tr7en sai lệch e(t) và đạo hàm de(t). Có nhiều phương pháp khác nhau để hcỉnh định bộ PID như à dựa trên phiếm hàm mục tiêu, chỉnh định trực tiếp, chỉnh định theo Zhao, Tomizuka và Isaka… Nguyên tắc chung là bắt đều với các trị , ,P I DK K K theo Zeigler-Nichols, sau đó dựa vào đáp ứng và thay đổi dần để tim ra hướng chỉnh định thích hợp. Luật chỉnh định PID : ● Lân cận 1a ta cần luật điều khiển mạnh để rút ngắn thời gian lên, do vậy chọn : PK lớn, DK nhỏ, và α nhỏ. ● Lân cận 1b ta tránh vọt lố lớn nên chọn : PK nhỏ, DK lớn, và α lớn. ● Lân cận 1c và 1d giống như lân cận 1a và 1b ● Khi giá trị tuyệt đối của sai lệch lớn ta cần có tín hiệu điều khiển mạnh để đưa nhanh sai lệch về 0. Dựa theo nguyên tắc này ta có ma trện quan hệ chỉnh định , ,P IK K α đều có dạng gần đối xứng qua đường chéo chính hoặc trục phụ. Các buớc thiết kế : 1.Xác định biến ngôn ngữ : ● Đầu vào : 2 biến + Sai lệch : ET = Đo – Đặt + Tốc độ tăng : ( 1) ( )ET i ET iDET T + −= với T là chu kí lấy mẫu. ● Dầu ra : 3 biến + PK hệ số tỉ lệ. + IK hệ số tích phân. + DK hệ số vi phân. , , [0,1]P D IK K K ∈ ● Số lượng biến ngôn ngữ : ET = {âm,zero,dương}; ĐIỀU KHIỂN ĐỘNG CƠ SỬ DỤNG PID SỐ GVHD:PGS.TS NGUYỄN THỊ PHƯƠNG HÀ 12/2007 SVTH:NGUYỄN QUỐC HUY 13 ET = {N,Z,P}; DET = {âm,zero,dương}; ET = {N,Z,P}; /P DK K = {zero,trung bình,lớn}={Z,M,U}; α = {múc 1,mức 2,mức 3}={L1,l2,l3}; ● [ 10, 10]ET ∈ − + , [ 10, 10]DET ∈ − + +10-10 ET Z PN 0C μ DET μ 0C/s-10 +10 PK DK Z M U 0 0.5 1 μ ĐIỀU KHIỂN ĐỘNG CƠ SỬ DỤNG PID SỐ GVHD:PGS.TS NGUYỄN THỊ PHƯƠNG HÀ 12/2007 SVTH:NGUYỄN QUỐC HUY 14 2.Luật hợp thành mờ : * Luật chỉnh định PK : PK DET N Z P N U M Z Z M Z M ET P Z M U * Luật chỉnh định DK : DK DET N Z P N Z M U Z M U M ET P U M Z * Luật chỉnh định α : α DET N Z P N L1 L1 L3 Z L2 L3 L2 ET P L3 L1 L1 3.Chọn luật và giải mờ : + Chọn luật hợp thành theo quy tắc Max-Min. α1 2 3 μ ĐIỀU KHIỂN ĐỘNG CƠ SỬ DỤNG PID SỐ GVHD:PGS.TS NGUYỄN THỊ PHƯƠNG HÀ 12/2007 SVTH:NGUYỄN QUỐC HUY 15 + Giải mờ theo phương pháp độ cao. Mô hình bộ điều khiển PID sử dụng giải thuật phần mềm : Nhận xét : sau khi tiến hành thực nghiệm với hệ thống thực thì ta thấy thuật toán mờ tính toán các thông số PID cho kết quả khá tốt, khi áp dụng cho bộ điều khiển PI thì độ vọt lố tối đa là 15% và thời gian xác lập tốc đa là 1.5s. Vì bộ nhớ và khả năng tính toán của vi điều khiển ATMEga16 còn hạn chế nên luật hợp thành mờ chỉ có 3x3 và tầm điều khiển là: ET[-10;+10], DET[-10;+10]; nếu ta tăng luật hợp thành mờ lên 5x5 hoăc 7x7 thì tầm điều khiển sẽ được mở rộng và chất lượng hệ thống sẽ tăng lên. α Bộ mờ 1 Bộ mờ 2 Bộ mờ 3 e(t) ( )de t dt Bộ điều khiển PI PK DK du∫ 0U P du dt ĐIỀU KHIỂN ĐỘNG CƠ SỬ DỤNG PID SỐ GVHD:PGS.TS NGUYỄN THỊ PHƯƠNG HÀ 12/2007 SVTH:NGUYỄN QUỐC HUY 16 PHẦN IV : PHẦN MỀM Lưu đồ giải thuật : STAR OCR0 = 180 toc_do_dat = 160 delay 1s SW1= = 1 toc_do_do = pulse_new – pulse_old ET_old = ET_new ET_new = toc_do_do – toc_do_dat DET = ET_new – ET_old ET = = 0 Mờ hóa ET, DET Tính , ,P DK K α Tính IK Điều xung F T T F ĐIỀU KHIỂN ĐỘNG CƠ SỬ DỤNG PID SỐ GVHD:PGS.TS NGUYỄN THỊ PHƯƠNG HÀ 12/2007 SVTH:NGUYỄN QUỐC HUY 17 Giải thích : Chương trình cho vi điều khiển ATMega16 được viết bằng ngôn ngữ C sau đó biên dịch sang file hex rồi nạp vào flash rom của ATMega16: + Sử dụng timer0 8 bit để điều rộng xung PWM điều khiển tốc độ động cơ, trong đó timer0 được thiết lập ở mode Phase Correct PWM và giá trị thanh ghi OCR0 sẽ được cập nhật để điều chỉnh tốc độ động cơ. Xung ngỏ ra OC0 sẽ có tần số được tính theo công thức : + Sử dụng timer1 16 bit để định thời sau mỗi 10ms sẽ thực thi chương trình ngắt, trong đó timer0 được thiết lập ở mode CTC(Clear Time on Compare match) và ngắt Output compare A match đuợc thực thi mỗi khi giá trị của thanh ghi TCNT1 bằng giá trị thanh ghi OCR1A. Ta sẽ thiết lập sao cho thời gian ngắt là 10ms, cứ sau mỗi 10ms chương trình ngắt sẽ thực thi và tính toán ET và DET. Tần số ngắt có thể tính theo công thức : ĐIỀU KHIỂN ĐỘNG CƠ SỬ DỤNG PID SỐ GVHD:PGS.TS NGUYỄN THỊ PHƯƠNG HÀ 12/2007 SVTH:NGUYỄN QUỐC HUY 18 + Sử dụng ngắt INT0(external interupt) để nhận tín hiệu từ encoder trả về sau đó tăng dần biến đếm pulse, cứ sau mỗi 10ms chương trình ngắt timer1 sẽ truy cập vào biến này đề tính toán tốc độ động cơ. + Sau khi đã xác định được ET và DET thì nếu ET == 0 ta sẽ quay trởi lại và chờ kết thúc 10ms rồi tiếp tục xác định lại tốc độ động cơ.Nếu ET khác 0 thì ta sẽ thực hiện mờ hoá ET và DET thanh các giá trị ( ), ( ) [0,1]ET DETμ μ ∈ bằng cách gọi hàm mờ hoá. + Bước tiếp theo ta tiếp tục gọi hàm Tính PK , Tính DK , Tính α . + Sau khi có cá thông số , ,p DK K α ta thực hiện tính KI. + Sau đó ta sẽ thực hiện tính toán giá trị điện áp U ngỏ ra thông qua giải thuật bộ điều khiển PI cập nhật vào thanh ghi OCR0 của timer0 và từ đó sẽ quyết định độ rộng xung ở ngỏ ra OC0. Bộ điều khiển PI : P I du K DET K ET dt = + Nhận xét : sử dụng bộ điều khiển PI vì bộ điều khiền PI thực hiện một cách khá dễ dàng và cho kết quả khá tốt, tuy bộ điều khiển PID sẽ cho kết quả tốt hơn nhưng do khả năng của Vi xử lí ATMega16 bị hạn chế trong khi đó giải thuật thực hiện bộ PID số khá phức tạp đò hỏi phải có bộ nhớ lập trình lớn và khả năng xử lý mạnh vì vậy nên tôi lựa chọn bộ diều khiển PI vì giải thuật lập trình không quá phức tạp phù hợp với ATMega16.Tuy bộ điều khiển PI cho độ vọt lố khoảng 15% khi sai số ET lớn và thời gian xác lập khá lớn nhưng vẫn đảm bảo yêu cầu chất lượng và ổn định của hệ thống . ĐIỀU KHIỂN ĐỘNG CƠ SỬ DỤNG PID SỐ GVHD:PGS.TS NGUYỄN THỊ PHƯƠNG HÀ 12/2007 SVTH:NGUYỄN QUỐC HUY 19 PHẦN V : TÀI LIỆU THAM KHẢO [1] Nguyễn Thị Phương Hà, Lý thuyết điều khiển hiện đại, Nhà xuất bản Đại Học Quốc Gia Thành Phố Hồ Chí Minh, 2007. [2] Hugh Jack, Automating Munufacturing Systems, GNU Free Documentation License, 2007 [3] Karl Johan Astrom and Bjorn Wittenmark, Adaptive Control, Addision- Wesley Publishing Company, 1989 [4] Frank L.Lewis and Vassilis L.Syrmos, Optimal Control, Jonh Wiley & Sons,Inc. , 1995 [5] Tống Văn On, Thíết kế hệ thống với họ 8051, Nhà xuất bản Phương Đông, 2005 [6] J.Harris, Fuzzy Logic Applications in Engineering Science, Published by Springer, 2006 [7] Michael A.Johnson and Mohammad H.Moradi, PID Control, Springer, 2005

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

  • pdfĐiều khiểntốc độ động cơ sử dụng pid số,.pdf
Tài liệu liên quan