BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC 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
S
K
C
0
0
3
9
1
5
8
9
0
MÃ SỐ: SV2010-112
S KC 0 0 3 2 2 5
Tp. Hồ Chí Minh, 2011
z
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
MỤC LỤC
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
3.4. Thao tác trên giao diện kết quả .................................................................................... 12
3.5. Card thu thập dữ liệu PCI-1711 ................................................................................... 12
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
DANH MỤC BẢNG
Bảng 3.5
: các ký hiệu và ý nghĩa trên sơ đồ chân card PCI 1711
Bảng 3.5.1
: đặc điểm các ngõ vào Analog
Bảng 3.5.2
: đặc điểm các ngõ ra Analog
Bảng 3.5.3
: đặc điểm các ngõ vào/ra số
Bảng 3.5.4
: đặc điểm của các timer/counter
Bảng 4.4
: lựa chọn các thông số cảu bộ điều khiển PID theo phương pháp ZieglerNichol
Bảng 4.6
: ảnh hưởng của việc tăng các thông số Kp, Ki, Kd lên đáp ứng của hệ thống
Đề tài nghiên cứu khoa học cấp trường
GVHD:Ths. Nguyễn Vinh Quan
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)…
Hệ thống ball and beam
Page 1
Đề tài nghiên cứu khoa học cấp trường
1.4
GVHD:Ths. Nguyễn Vinh Quan
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.
Hệ thống ball and beam
Page 2
Đề tài nghiên cứu khoa học cấp trường
GVHD:Ths. Nguyễn Vinh Quan
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:
2.3.1
Thiết lập mô hình toán học ball and beam:
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ủa thanh so với phương ngang là , quả bong lăn trên thanh ngang . Động cơ DC
được dùng để di chuyển thanh nằm ngang theo cả hai hướng lên và xuống.
Hệ thống ball and beam
Page 3
Đề tài nghiên cứu khoa học cấp trường
2.3.2
GVHD:Ths. Nguyễn Vinh Quan
Phương trình hệ thống:
- Phương trình Lagrange về chuyển động cho quả bóng được đưa ra sau đây:
J
2
0 2 m r mg sin mr
R
(2.3)
-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 :
J
2 m r mg
R
(2.3.1)
- 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:
d
L
(2.3.2)
- Thay (2.3.2) vào phương trình (2.3.1) , chúng ta được:
d
J
2 m r mg
L
R
2.4.
(2.3.3)
Điều khiển vị trí ball:
- Hàm truyền của đối tượng là:
H S
RS
mgd
1 0.21
S
J
S2 S2
L 2 m
R
(2.4)
Với : M = 0.111Kg,R=0.015 m, d=0.03m, g=-9.8m/s^2,L=1.0m, J=9.99e-6kgm^2
-Phương trình trạng thái:
Phương trình hệ thống tuyến tính có thể đại diện cho dạng không gian trạng thái
0
mgd
r
0
1
r
r 0 0 r J
L 2 m
R
Hệ thống ball and beam
(2.4.1)
Page 4
Đề tài nghiên cứu khoa học cấp trường
GVHD:Ths. Nguyễn Vinh Quan
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:
0
r
r 0
0
0
1
0
mg
0
J
2 m
R
0
0
0
0
0
r 0
0
r
0
u
0
0
1
0
r
r
y 1 0 0 0
2.5.
(2.4.2)
(2.4.3)
Điều khiển vị trí và góc alpha:
Phương trình vi phân mô tả hệ thống là:
r
1
2
J
2 m
R
Trong đó theo( 2.3.2):
mg sin mr
(2.5)
d
L
*Phương trình cho simulink
Hệ thống ball and beam
1
mg sinu3 mu1u4
J
2 m
R
2
(2.5.1)
Page 5
Đề tài nghiên cứu khoa học cấp trường
2.6.
GVHD:Ths. Nguyễn Vinh Quan
Ứ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
tạo ra một m-file
m = 0.111;
R = 0.015;
g = -9.8;
L = 1.0;
d = 0.03;
J = 9.99e-6;
K = (m*g*d)/(L*(J/R^2+m));
%simplifies input
num = [-K];
den = [1 0 0];
printsys(num,den)
đầu ra sẽ được:
num/den =
0.21
---------s^2
chúng ta muốn quan sát phản ứng của quả bóng với một đầu vào bước là 0,25 m. Để làm
điều này ta sẽ cần phải thêm dòng sau vào file-m của bạn:
step(0.25*num,den)
Ta sẽ thấy vị trí ball như là một hàm của thời gian:
Hệ thống ball and beam
Page 6
Đề tài nghiên cứu khoa học cấp trường
GVHD:Ths. Nguyễn Vinh Quan
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ó thể dễ tiếp cận và trực quan hơn khi sử dụng công cụ này. Giao diện này rất giống với
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
Blank GUI (Default): Hộp thoại GUI trống không có một điều khiển uicontrol nào
cả.
GUI with Uicontrols: Hộp thoại GUI với một vài uicontrol như button, … Chương
trình có thể chạy ngay.
Hệ thống ball and beam
Page 7
Đề tài nghiên cứu khoa học cấp trường
GVHD:Ths. Nguyễn Vinh Quan
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
3.1.1.
Cửa sổ 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
Check Box
Edit Text
Static Text
Pop-up Menu
List Box
Axes
Panel
Button Group
ActiveX Control
Toggle Button
Hệ thống ball and beam
Page 8
Đề tài nghiên cứu khoa học cấp trường
3.1.2.
GVHD:Ths. Nguyễn Vinh Quan
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.
3.1.3.
Thay đổi các thuộc tính của các điều khiển:
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.
Hệ thống ball and beam
Page 9
Đề tài nghiên cứu khoa học cấp trường
3.1.4.
GVHD:Ths. Nguyễn Vinh Quan
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
Hàm có một số tham số:
hobject : handle của điều khiển buttonCalculate
eventdata
handles : là một cấu trúc chứa tất cả các điều khiển và dữ liệu người dùng. Dùng cái
này để truy suất các điều khiển khác.
Hệ thống ball and beam
Page 10
Đề tài nghiên cứu khoa học cấp trường
3.2.
GVHD:Ths. Nguyễn Vinh Quan
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:
function varargout = GIAO_DIEN(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',
'gui_Singleton',
mfilename, ...
gui_Singleton, ...
'gui_OpeningFcn', @GIAO_DIEN_OpeningFcn, ...
'gui_OutputFcn',
@GIAO_DIEN_OutputFcn, ...
'gui_LayoutFcn',
[] , ...
'gui_Callback',
[]);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end…………………
Hệ thống ball and beam
Page 11
Đề tài nghiên cứu khoa học cấp trường
3.4.
GVHD:Ths. Nguyễn Vinh Quan
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.
Hệ thống ball and beam
Page 12
Đề tài nghiên cứu khoa học cấp trường
GVHD:Ths. Nguyễn Vinh Quan
AI<0...15>:
Analog
Input
Channels
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
DI<0..15>:
Digital
Input
channels.
DO<0..15>:
Digital
Output
channels.
DGND:
Digital
Ground.
CNT0_CLK: Ngõ vaò xung clock Counter 0.
CNT0_OUT:
CNT0_GATE:
Ngõ
Cổng
ra
điều
Counter
khiển
0.
Counter
0.
PACER_OUT: 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ộ
ứng
các
dụng
khác.
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
thấp
lên
+12V:
mức
Nguồn
cao.
12VDC.
+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
Hệ thống ball and beam
Ngõ vào
Analog Output Channel0/1 External Reference. Ngõ vào điện
Page 13
Đề tài nghiên cứu khoa học cấp trường
GVHD:Ths. Nguyễn Vinh Quan
áp tham chiếu bên ngoài của kênh ngõ ra tương tự 0/1
AO1_REF
AO0_OUT
AOGND
Ngõ ra
Analog Output Channels 0/1.Chân ngõ ra tương tự 0/1
AO1_OUT
AOGND
Analog Output Ground
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ố
DGND
. Digital Ground
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
Hệ thống ball and beam
Page 14
Đề tài nghiên cứu khoa học cấp trường
3.5.1.
GVHD:Ths. Nguyễn Vinh Quan
Analog Input( Ngõ vào Analog ) :
Channels
16 kênh
Resolution
FIFO Size
Max. Sample Rate
Conversion Time
Input range and Gain
List
Drift
(ppm/
Gain
Input
Zero
Gaim
)
Small Signal
Bandwidth for PGA
Max Input
Input
Protect
Overvoltage
Input Impedance
Trigger mode
Accuracy
Bandwidth
12 bit
1K sample
100KS/s max
10µs
1
2
4
8
±10V
±5V
±2.5V
±1.25V
1
2
4
8
15
15
15
15
25
25
25
30
1
2
4
8
4.0MHz
2.0MHz
1.5MHz
0.65MHz
±15V
70Vp-p
2MΩ/5 pF
Software, On-Board Programmable Pacer or externa
DC
16
±0.625V
16
15
40
16
0.35MHz
INLE:
Monotonicity: 12 bits
Offset error: Adjustable to zero
Gain error: 0.005% FSR (Gain=1)
SNR: 68 dB
ENOB: 11 bits
AC
Bảng 3.5.1: Đặc điểm của các ngõ vào Analog.
3.5.2.
Analog Output ( Ngõ ra Analog):
Channels
Resolution
Output Range
(Intermal & External
Accuracy
Reference)
Gain Error
2
12-bits
Internal Reference
0 ~ +5 V, 0 ~ +10 V
External Reference
0 ~ +x V@ -x V (-10≤ x ≤10)
Relative
±1/2 LSB
Differential Non-linearity
±1/2 LSB
Adjustable to zero
Slew Rate
Slew Rate
Drift
Driving Capability
Throughput
Output Impedance
Settling Time
Reference Voltage
40 ppm/° C
3 mA
38 kHz (min.)
0.81 Ω
26 µs (to ±1/2 LSB of FSR)
Internal
External
-5 V or -10 V
-10 V ~ +10 V
Bảng 3.5.2: Đặc điểm của các ngõ ra Analog.
Hệ thống ball and beam
Page 15
Đề tài nghiên cứu khoa học cấp trường
3.5.3.
GVHD:Ths. Nguyễn Vinh Quan
Digital Input/Output(Ngõ vào/ra số):
Input Channels
16
Input Voltage
Input Load
Low
0.4V max.
High
2.4 V min.
Low
0.4 V max. @ -0.2mA
High
2.7 V min. @ 20µA
Output Channels
Output Voltage
16
Low
0.4 V max.@ +8.0mA (sink)
High
2.4 V (source
Bảng 3.5.3: Đặc điểm của các ngõ vào/ ra số.
3.5.4.
Programable Counter/Timer:
Channels
3 channels, 2 channels are permanently configured as
programmable pacers; 1 channel is free for user application
Resolution
16-bits
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
Clock Input
Gate Input
Counter Output
1 MHz
Low
0.8 V max.
High
2.0 V min.
Low
0.8 V max.
High
2.0 V min.
Low
0.5 V max.@+24 mA
High
2.4 V min.@-15 mA
Bảng 3.5.4: Đặc điểm của các Timer/Counter
Hệ thống ball and beam
Page 16
Đề tài nghiên cứu khoa học cấp trường
GVHD:Ths. Nguyễn Vinh Quan
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.
Hệ thống ball and beam
Page 17
Đề tài nghiên cứu khoa học cấp trường
GVHD:Ths. Nguyễn Vinh Quan
CHƢƠNG 4
THIẾT KẾ BỘ ĐIỀU KHIỂN CÂN BẰNG BALL & BEAM
4.
Tổng quan về PID:
Thuật toán PID là một trong những thuật toán được ứng dụng rộng rải trong nhiều
ứng dụng hiện nay bởi tính hiệu quả của nó.
Control Variable
Process Variable
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:
ut Pout t I out t Dout t
t
u t K p et K i et dt K D
0
det
dt
(4)
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
Hệ thống ball and beam
Page 18
Đề tài nghiên cứu khoa học cấp trường
GVHD:Ths. Nguyễn Vinh Quan
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 t K p et
(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:
Pout kT K p ekT
(4.1.1)
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):
t
I out t K i et
(4.2)
với Ki: hằng số vi phân.
0
Chuyển qua miền rời rạc ta được :
I out kT K i
k 1t
kT
ekT dt K et dt
i
=>
I out kT I out k 1T
(4.2.1)
k 1 T
0
ki.T
ek 1T ekT
2
(4.2.2)
Giá trị ngõ ra của khâu I sẽ tồn tại nếu vẫn tồn giá trị sai lệch e(t).Như vậy, khâu I có tác
dụng loại bỏ offset giữa giá bị PV và giá trị đặt.
Để 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:
Tính giá trị sai lệch e(kT) tại mỗi chu kì lấy mẫu .
Tính tổng giá trị sai lệch tại chu kỳ lấy mẫu hiện tại và sai lệch trước đó 1 chu kỳ lấy
mẫu.Tiếp tục nhân kết quả với
Hệ thống ball and beam
ki.T
2
Page 19
Đề tài nghiên cứu khoa học cấp trường
GVHD:Ths. Nguyễn Vinh Quan
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.
Lưu giá trị e(kT) và I out kT để tính toán tại chu kỳ lấy mẫu tiếp theo.
4.3.
Thành phần vi phân ( D ):
Dout t Kd
det
dt
(4.3)
Với Kd: hằng số vi phân
Rời rạc phương trình trên theo phương pháp sai phân lùi ta được :
Dout kT Kd ekT ek 1T
(4.3.1)
Để thực thi khâu D, đơn giản thực hiện theo các bước sau:
Tính toán giá trị sai lệch tại thời điểm hiện tai.
Tính giá trị sai lệch giữa giá trị sai lệch tại thời điểm hiện tại và thời điểm trước đó 1
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ộ điều khiển
KP
P
0.5*Ku
PI
0.45*Ku
*Tu
PID
0.6*Ku
0.5*Tu
TI
TD
0.125*Tu
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:
Hệ thống ball and beam
Page 20