1. Trang chủ
  2. » Luận Văn - Báo Cáo

thiết kế bộ điều khiển hệ thống cân bằng ball and beam trên matlab

33 1,4K 11

Đ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

Thông tin cơ bản

Định dạng
Số trang 33
Dung lượng 3,56 MB

Nội dung

Được sự gợi ý của các thầy cô trong bộ môn nhằm nâng cao chuyên môn và mong muốn tự động hóa được ứng dụng nhiều hơn trong các lĩnh vực như kĩ thuật,y khoa,sinh học,địa lý… Nhóm đã quyết

Trang 1

THÀNH PHỐ HỒ CHÍ MINH

ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CẤP SINH VIÊN

Tp Hồ Chí Minh, 2011

S 0 9

THIẾT KẾ BỘ ĐIỀU KHIỂN HỆ THỐNG

CÂN BẰNG BALL AND BEAM TRÊN MATLAB

S 0 1

MÃ SỐ: SV2010-112

S KC 0 0 3 2 2 5

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM



ĐỀ TÀI NCKH CẤP SINH VIÊN

THIẾT KẾ BỘ ĐIỀU KHIỂN HỆ THỐNG CÂN BẰNG

BALL AND BEAM TRÊN MATLAB

Mã số : SV2010-112

THUỘC NHÓM NGÀNH : KHOA HỌC KỸ THUẬT

NGƯỜI CHỦ TRÌ : ĐỖ THANH LIÊM

NGƯỜI THAM DỰ : PHAN THANH NGUYÊN

ĐƠN VỊ : ĐIỆN – ĐIỆN TỬ

TP.HỒ CHÍ MINH – 05/2011

Trang 3

CHƯƠNG 1:

ĐẶT VẤN ĐỀ 1

1.1 Lý do chọn đề tài 1

1.2 Đối tượng nghiên cứu 1

1.3 Tình hình nghiên cứu trong và ngoài nước 1

1.4 Những vần đề tồn tại 2

CHƯƠNG 2: MỤC ĐÍCH ĐỀ TÀI 3

2.1 Mục đích đề tài 3

2.2 Phương pháp nghiên cứu 3

2.3 Nội dung thực hiện 3

2.3.1 Thiết lập mô hình toán học Ball & Beam 3

2.3.2 Phương trình hệ thống 4

2.4 Điều khiển vị trí Ball 4

2.5 Điều khiển vị trí góc alpha 5

2.6 Ứng dụng trên command của matlab 6

Hàm truyền 6

CHƯƠNG 3: THIẾT KẾ GIAO DIỆN ĐIỀU KHIỂN HỆ THỐNG 7

3.1 Sơ lược công cụ GUIDE trong matlab 7

3.1.1 Cửa sổ GUIDE 8

3.1.2 Kéo thả các điều khiển 9

3.1.3 Thay đổi các thuộc tính của điều khiển 9

3.1.4 Viết lệnh cho chương trình 10

3.2 Thiết kế giao diện bộ điều khiển 11

3.3 Lập trình cho giao diện 11

Trang 4

3.5.1 Analog Input 14

3.5.2 Analog Output 15

3.5.3 Digital Input/Output 16

3.5.4 Programable Counter/Timer 16

CHƯƠNG 4: THIẾT KẾ BỘ ĐIỀU KHIỂN CÂN BẰNG BALL &BEAM 18

Tổng quan về PID 18

4.1 Thành phần tỉ lệ (P) 19

4.2 Thành phần tích phân (I) 19

4.3 Thành phần vi phân (D) 20

4.4 Phương pháp ZIEGLER-NICHOLS 20

4.5 Sơ đồ bộ điều khiển 21

4.5.1 Sơ đồ điều khiển PID 21

4.5.2 Thiế kế bộ điều khiển PID cho vị trí và góc alpha 21

4.5.3 Thiết kế bộ điều khiển PID cho vị trí Ball 22

4.6 Vấn đề tunning bộ điều khiển PID 24

CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 26

5.1 Kết luận 26

5.2 Hướng phát triển 26

Tài liệu tham khảo 27

Trang 5

Bảng 3.5 : các ký hiệu và ý nghĩa trên sơ đồ chân card PCI 1711

Nichol

Trang 6

CHƯƠNG 1

ĐẶT VẤN ĐỀ

1.1 Lý do chọn đề tài:

Trong thời đại hiện nay, đất nước ta đang phát triển theo con đường công nghiệp hóa

và hiện đại hóa Lĩnh vực khoa học kỹ thuật ngày càng phát triển, đặc biệt là ngành

tự động hóa ngày càng đóng vai trò hết sức quan trọng trong đời sống con người và ngày càng phát triển theo xu hướng của thời đại Bên cạnh đó qua một thời gian được tiếp xúc với những môn học mới nhóm thực hiện càng hiểu rõ hơn tính cấp thiết của

tự động hóa Được sự gợi ý của các thầy cô trong bộ môn nhằm nâng cao chuyên môn và mong muốn tự động hóa được ứng dụng nhiều hơn trong các lĩnh vực như kĩ thuật,y khoa,sinh học,địa lý… Nhóm đã quyết định tìm hiểu một vấn đề nhỏ bé liên

quan đến tự động hóa đó là “thiết kế bộ điều khiển hệ thống cân bằng ball and beam trên matlab” nhằm khai thác tính ứng dụng của môn học này vào thực tế

1.2 Đối tượng nghiên cứu:

 Phần mềm Matlab

 Thiết kế giao diện dùng GUIDE

 Card PCI 1711

 Phương pháp điều khiển PID

1.3 Tình hình nghiên cứu trong và ngoài nước:

Điều khiển dùng phương pháp PID đã được nghiên cứu và ứng dụng nhiều, sau đây

là một một số đề tài sử dụng phương pháp PID:

- THIẾT KẾ VÀ ĐIỀU KHIỂN MÔ HÌNH CON LẮC NGƯỢC

(Huỳnh Trung Nguyên,Đặng Khắc Long,Lớp 061180-ĐHSPKT tp Hồ Chí Minh)

- ĐIỀU KHIỂN LÒ NHIỆT DÙNG PID

(Trần Vũ hoàng ,Lớp 071180 ĐHSPKT tp Hồ Chí Minh)…

Trang 7

1.4 Những vấn đề còn tồn tại:

Thời gian xác lập vẫn còn lớn vì thế tuy phương pháp này vẫn đáp ứng yêu cầu

nhưng vẫn chưa là tối ưu

Trang 8

CHƯƠNG 2

MỤC ĐÍCH ĐỀ TÀI

2.1 Mục đích đề tài:

 Sử dụng phương pháp PID trong Matlab sao cho giá trị đã tính toán đạt tối ưu

 Sử dụng card PCI giao tiếp để điều khiển các mô hình thật (nếu có)

 Thiết kế giao diện trong điều khiển

2.2 Phương pháp nghiên cứu:

 Phương pháp quan sát khoa học

 Phương pháp phân loại hệ thống lý thuyết

 Phương pháp phân tích

2.3 Nội dung thực hiện:

Hình 2.3.1.Mô hình đơn giản ball and beam

Hệ thống ball and beam bao gồm một quả bóng tròn,thanh ngang chiều dài L, góc

được dùng để di chuyển thanh nằm ngang theo cả hai hướng lên và xuống

Trang 9

-Tuyến tính của phương trình về góc của cánh tay đòn, alpha = 0, cho chúng ta gần đúng

theo tuyến tính của hệ thống :

- Phương trình liên quan tới góc của cánh tay đòn với góc của bánh (phần trợ động) có thể

xấp xỉ là tuyến tính bằng phương trình dưới đây:

m R

2.4 Điều khiển vị trí ball:

- Hàm truyền của đối tượng là:

      2 2

2

21.01

S S m R

J L

mgd S

S R S

J L

mgd r

r r

r

2

0

00

10

(2.4.1)

Trang 10

Kết luận:

 Hệ ball and beam là hệ phi tuyến, do đó có thể tuyến tính hóa quanh điểm làm việc tĩnh

 Hệ ball and beam có 2 biến trạng thái (hoặc 4 biến trạng thái và 1 biến điều khiển trong

phần mở rộng thêm phía dưới)

Tuy nhiên, đối với những mô hình có kinh phí lớn, được đầu tư kỹ càng thì cũng

có thể sử dụng

Theo phương trình 4 biến trạng thái và 1 biến điều khiển như sau:

r u

r m

R J

mg r

00

00

00

00

00

0

00

10

2.5 Điều khiển vị trí và góc alpha:

Phương trình vi phân mô tả hệ thống là:

sin

1

u u m u

mg m R

Trang 11

2.6 Ứng dụng trên command của matlab:

Hàm truyền:

Chức năng chuyển hàng từ các biến đổi Laplace có thể được thực hiện trong

M ATLAB bằng cách nhập vào tử số và mẫu số là vectơ Để làm điều này chúng ta phải

Trang 12

CHƯƠNG 3

THIẾT KẾ GIAO DIỆN ĐIỀU KHIỂN CHO HỆ THỐNG

3.1 Sơ lược về công cụ lập trình GUIDE trong matlab:

GUIDE là công cụ lập trình giao diện rất hữu ích trong matlab,giúp cho người xem

các chương trình lập trình giao diện như Visual Basic, Visual C++

Để có thể sử dụng được nó ta có thể sơ lược qua vài ứng dụng cơ bản như sau

Mở phần mềm Matlab, gõ lệnh sau vào cửa sổ Command

>> guide

Trong cửa sổ GUIDE Quick Start có nhiều lựa chọn theo một trong các khuân mẫu

sau:Create New GUI: Tạo một hộp thoại GUI mới theo một trong các loại sau

cả

trình có thể chạy ngay

Trang 13

GUI with Axes and Menu: Hộp thoại GUI với một uicontrol axes và button, các

menu để hiển thị đồ thị

Modal Question Dialog: Hộp thoại đặt câu hỏi Yes, No

Open Existing GUI: mở một project có sẵn.

Trong phần này, ta sẽ tạo một project mới nên sẽ chọn Blank GUI

 Push Button: giống như nút Command Button trong VB Là các nút bấm như nút

OK, Cancel mà ta vẫn bấm

 Slider : Thanh trượt có một con trượt chạy trên đó

 Radio Button : Nút nhỏ hình tròn để chọn lựa

Trang 14

3.1.2 Kéo thả các điều khiển:

Chương trình có chức năng khi nhấn vào nút bấm thì kết quả của phép tính cộng giữa 2 số được gõ vào 2 ô sẽ hiện lên trong Static Text

Click đúp vào Edit Text bên trái để xuất hiện cửa sổ các thuộc tính của điều khiển Có thể sắp xếp theo chức năng hoặc theo thứ tự A-Z của tên thuộc tính bằng nút hiện ở gõ bên trái

Trang 15

3.1.4 Viết lệnh cho chương trình:

Chương trình có tác dụng khi nhấn vào nút Push Button sẽ hiện lên kết quả ở Static Box

Vì thế nên sẽ phải viết vào hàm nào mà khi nhấn vào Push Button sẽ gọi Chính là hàm Callback Điều khiển nào cũng có hàm callback, như hàm ngắt trong vi điều khiển vậy Click chuột phải vào nút Calculate chọn Callback

Trang 16

3.2 Thiết kế giao diện cho bộ điều khiển :

3.2 Giao diện bộ điều khiển ball and beam

3.3 Lập trình cho giao diện:

Trang 17

3.4 Thao tác trên giao diện-kết quả:

3.4 Giao diện bộ điều khiển ball and beam sau khi chạy chương trình

3.5 Card thu thập dữ liệu PCI-1711:

Chức năng của card PCI trong ứng dụng này là cho phép máy tính có thể giao tiếp với các thiết bị ngoại vi ,và từ đó giúp cho bộ điều khiển trung tâm-máy tính, có thể thu thập dữ liệu ,xử lý và xuất tín hiệu điều khiển đạt được độ chính xác và ổn định cao.Với những tính năng của nó như cho phép truy xuất dữ liệu qua bus PCI, có 2 bộ D/A 12 bit, 16 ngõ ra số,16 ngõ vào số và một timer/counter có thể lập trình được ( ở mode counter có khả năng đếm xung lên tới 10Mhz thì card PCI 1711 được cho là sự lựa chọn tối ưu cho việc giao tiếp giữa máy tính với các thiết bị ngoại vi được sử dụng trong mô hình.Sơ đồ và chức năng của các ngõ vào ra của card được mô tả như bên dưới

Trang 18

AIGND: Analog Input Ground.( 3 chân AIGND, AOGND, và DGND được nối chung với nhau) AO0_REF AO1_REF: Ngõ vào điện áp tham chiếu bên ngoài của kênh ngõ ra tương tự 0/1 AO0_OUT AO1_OUT: Chân ngõ ra tương tự 0/1

EXT_TRG: A/D External Trigger: Chân này nhận tín hiệu trigger từ bên ngoài cho chuyển đổi A/D Chuyển đổi A/D bắt đầu khi tín hiệu chuyển từ mức

+5V: Nguồn 5VDC

Hình 3.5: Sơ đồ chân các ngõ vào/ ra và ý nghĩa các ký hiệu card PCI 171

Tên tín hiệu Tham chiếu Chiều Mô tả

AI<0 15> AIGND Ngõ vào Analog Input Channels: từ kênh 0 đến kênh 15

AIGND Analog Input Ground.: 3 chân AIGND, AOGND, và DGND

được nối chung với nhau AO0_REF AOGND Ngõ vào Analog Output Channel0/1 External Reference Ngõ vào điện

Trang 19

AO1_REF áp tham chiếu bên ngoài của kênh ngõ ra tương tự 0/1 AO0_OUT

AO1_OUT

AOGND Ngõ ra Analog Output Channels 0/1.Chân ngõ ra tương tự 0/1

DI<0 15> DGND Ngõ vào Digital Input channels: Kênh ngõ vào số

DO<0 15> DGND Ngõ ra Digital Output channels: Kênh ngõ ra số

CNT0_CLK DGND Ngõ vào Counter 0 Clock Input: Ngõ vaò xung clock Counter 0 Ngõ

vào này có thể là tín hiệu bên ngoài hoặc bên trong Và được

cài đặt bằng phần mềm CNT0_OUT DGND Ngõ ra Counter 0 Output: Ngõ ra Counter 0

CNT0_GATE DGND Ngõ vào Counter 0 Gate Control.: Cổng điều khiển Counter 0

PACER_OUT DGND Ngõ ra Pacer Clock Ouput: Nếu chuyển đổi A/D ở chế độ Pacer

Trigger, người sử dụng có thể dùng tín hiệu từ chân này như là

một tín hiệu đồng bộ các ứng dụng khác

EXT_TRG DGND Ngõ vào A/D External Trigger: Chân này nhận tín hiệu trigger từ bên

ngoài cho chuyển đổi A/D Chuyển đổi A/D bắt đầu khi tín

hiệu chuyển từ mức thấp lên mức cao +12V DGND Ngõ ra Nguồn 12VDC

+5V DGND Ngõ ra Nguồn 5VDC

Bảng 3.5.a: Các ký hiệu và ý nghĩa trên sơ đồ chân card PCI 1711

Trang 20

3.5.1 Analog Input( Ngõ vào Analog ) :

Max Sample Rate 100KS/s max

ENOB: 11 bits

Bảng 3.5.1: Đặc điểm của các ngõ vào Analog

3.5.2 Analog Output ( Ngõ ra Analog):

Differential Non-linearity ±1/2 LSB Gain Error Adjustable to zero

Driving Capability 3 mA

Throughput 38 kHz (min.)

Output Impedance 0.81 Ω

Settling Time 26 µs (to ±1/2 LSB of FSR)

Reference Voltage Internal -5 V or -10 V

External -10 V ~ +10 V

Bảng 3.5.2: Đặc điểm của các ngõ ra Analog

Trang 21

3.5.3 Digital Input/Output(Ngõ vào/ra số):

Input Load Low 0.4 V max @ -0.2mA

High 2.7 V min @ 20µA

Output Voltage Low 0.4 V max.@ +8.0mA (sink)

High 2.4 V min.@-0.4mA (source

Bảng 3.5.3: Đặc điểm của các ngõ vào/ ra số

Channels 3 channels, 2 channels are permanently configured as

programmable pacers; 1 channel is free for user application

Conpatibility TTL level

Base Clock Channel 2: Takes input from output of channel 1

Channel 1: 10 MHz Channel 0: Internal 1MHz or external clock (10 MHz) max

Selected by software Max Input Frequency 1 MHz

Trang 22

Lời khuyên : Như vậy, sau khi xem xét kỹ tất cả các tính năng của card PCI 1711,

người thực hiện đề tài nhận ra rằng: có thể sử dụng counter ở mode đếm để đếm xung của encorder 5000ppr, cùng với đó là có thể sử dụng ngõ ra Analog Out để điều khiển tốc độ động cơ cho hệ thống

Trang 23

CHƯƠNG 4

THIẾT KẾ BỘ ĐIỀU KHIỂN CÂN BẰNG BALL & BEAM

4 Tổng quan về PID:

ứng dụng hiện nay bởi tính hiệu quả của nó

Hình 4 : Sơ đồ khối của bộ điều khiển PID

Bộ điều khiển PID có thể biểu diễn theo phương trình sau:

u tP out tI out tD out t

dt

t de K dt t e K t e K t u

0

Trong đó:

Setpoint : là giá trị mong muốn đạt được tại ngõ ra của đối tượng điều khiển

Process variable : tín hiệu hồi tiếp mà bộ điều khiên nhận được từ đối tượng điều khiển Control variable : giá trị ngõ ra của bộ điều khiển

Error: giá trị sai lệch giữa giá trị đặt và giá trị hiện tại ở ngõ ra của đối tượng điều khiển Output : đại lượng vật lý cần điều khiển

Bộ điều khiển PID là sự kết hợp của 3 thành phần :Thành phần tỉ lệ (P) đưa ra giá trị Pout dựa trên giá trị sai lệch tại thời điểm hiện tại; thành phần tích phân (I) đưa ra giá trị Iout

Control Variable

Process Variable

Trang 24

dựa trên tích lũy các giá trị sai lệch từ quá khứ đến thời điểm hiện tại ;thành phần vi phân (D) tính toán giá trị Dout dựa trên tốc độ thay đổi của sai lệch.Tác dụng của từng khâu lên ngõ ra của bộ PID như sau:

4.1 Thành phần tỉ lệ (P):

Pout tK pe t (4.1) với Kp : hằng số tỉ lệ Muốn thực thi thành phần P với các bộ điều khiển số như vi điều khiển,máy tính, thì phải chuyển phương trình (1) sang biểu diễn trong miền rời rạc:

Như vậy, muốn tính giá trị ngõ ra của khâu P thì tại mỗi chu kỳ lấy mẫu, tính toán giá trị của

PV, sau đó tính toán giá trị của sai lệch error, sau đó nhân giá trị sai lệch này với hằng số Kp

*Giá trị ngõ ra của khâu P cũng phụ thuộc rất nhiều vào hệ số Kp.Nếu Kp quá lớn có thể làm giá trị của đại lượng vật lý dao động, gây ra độ vọt lố cao Kp quá nhỏ làm cho bộ điều khiển kém “nhạy” với các hệ thống có nhiễu

4.2 Thành phần tích phân (I):

  it  

out t K e t I

0

(4.2) với Ki: hằng số vi phân

Chuyển qua miền rời rạc ta được :

 

dt t e K dt kT e K kT I

kT

T k i

t k i

Để thực thi khâu I với các bộ điều khiển số ,tiến hành thực hiện các bước như sau:

mẫu.Tiếp tục nhân kết quả với

2

.T

ki

Trang 25

 Cộng dồn giá trị I out này với giá trị I out trước đó 1 chu kỳ lấy mẫu

4.3 Thành phần vi phân ( D ):

dt

t de Kd t

Rời rạc phương trình trên theo phương pháp sai phân lùi ta được :

D out kTKde  kTek1T  (4.3.1)

Để thực thi khâu D, đơn giản thực hiện theo các bước sau:

chu kỳ lấy mẫu.Nhân giá trị sai lệch này với Kd

4.4 Phương pháp ZIEGLER-NICHOLS:

Phương pháp này được Ziegler–Nichols đề xuất như sau:

Ban đầu, ảnh hưởng của các khâu D và I được loại bỏ bằng cách thiết lập Kd=0, Ki=0.Tăng dần hệ số Kp đến giá trị Ku mà tại đó ngõ ra bắt đầu dao động, Giá trị Ku và chu kỳ dao động

Tu được sử dụng để tính các hệ số Kp,Ki,Kd như bảng 4.2:

Bảng 4.4: Lựa chọn các thông số của bộ điều khiển PID theo phương pháp Ziegler–Nichols

Qua một thời gian thực nghiệm và và lấy mẫu thông số của Kp,Ki,Kd nhóm đã chọn được các thông số phù hợp với đối tượng.Phần thiết kế hệ thống bên dưới như sau:

Trang 26

4.5 Sơ đồ thiết kế bộ điều khiển:

4.5.1 Sơ đồ điều khiển PID:

4.5.2 Thiết kế bộ điều khiển PID cho vị trí và góc alpha:

Bộ điều khiển PID sẽ tính toán giá trị ngõ ra dựa trên giá trị sai lệch của vị trí ball này

và từ đó quyết định giá trị điện áp đặt lên động cơ sao cho thích hợp để có thể điều chỉnh một cách chính xác Bằng cách thực hiện mô phỏng nhiều lần với các bộ thông

số Kp,Ki,Kd khác nhau, người thực hiện mô phỏng đã chọn được giá trị Kp=20 ,Ki=0,Kd=20

Ngày đăng: 04/09/2016, 15:41

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w