TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ
BỘ MÔN TỰ ĐỘNG HÓA
ĐỒ ÁN THIẾT KẾ HỆ ĐIỀU KHIỂN
CÂN BẰNG BÓNG VÀ
THANH
Cán Bộ Hướng Dẫn:
Ts. Nguyễn Chánh Nghiệm
Nhóm 2
Tháng 11/2015
LỜI CẢM ƠN
Để thực hiện đồ án môn học thiết kế hệ điều khiển với đề tài hệ thống cân bằng
bóng và thanh, nhóm 5 thực hiện đề tài xin chân thành gởi lời cảm ơn tới thầy
Nguyễn Chánh Nghiệm, giảng viên bộ môn Tự Động Hóa, khoa Công Nghệ, trường
Đại Học Cần Thơ vì sự nhiệt tình hướng dẫn, hỗ trợ, cung cấp các kiến thức chủa
thầy trong suốt quá trình nhóm thực hiện đề tài.
Nhóm cũng xin gởi lời cảm ơn tới tất cả các bạn của các nhóm khác đã quan
tâm, động viên và hỗ trợ nhóm thực hiện đồ án này.
Kính chúc thầy công tác tốt!
Chúc các bạn thành công trong học tập và cuộc sống!
Sinh viên thực hiện:
Mục lục
Thiết kế hệ điều khiển
Trường Đại học Cần Thơ
CHƯƠNG I: TỔNG QUAN
1.1.
Lời nói đầu:
Ngày nay, khoa học kỹ thuật rất tiến bộ trong lĩnh vực điều khiển tự động.
Các hệ thống được áp dụng nhiều quy luật điều khiển từ cổ điển cho tới hiện đại,
điều khiển thông minh. Điều khiển PID là sự lựa chọn phổ biến, tối ưu cho các
hệ thống điều khiển có hàm truyền, phương trình trạng thái dùng để điều khiển
trạng thái, vận tốc, vị trí.
Đề tài “Ball and Beam” là một hệ thống cân bằng quả bóng trên thanh được
đặt nằm ngang ứng dụng bộ điều khiển PID để điều khiển vị trí của bóng và góc
độ của thanh ngang, đề tài ngoài sử dụng PID còn sử dụng kỹ thuật thu thập dữ
liệu và điều khiển vòng kín để cho hệ thống có tính tự động hóa.
1.2. Mục tiêu đề tài:
Nhằm cân bằng được hệ thống bóng và thanh sử dụng phần mềm MATLAB
trên máy tính kết hợp với board Arduino để thực hiện quá trình điều khiển tự
động.
+ Tìm hiểu nguyến lý hoạt động của hệ thống, đánh giá các mô hình đã
có.
+ Dựa vào lý thuyết để xây dựng hàm truyền của mô hình.
+ Thiết kế mô hình thực tế.
+ Kết nối cho hệ thống, viết chương trình điều khiển.
1.3. Phạm vi nghiên cứu:
+ Vẽ mô hình bằng AutoCAD.
+ Chế tạo và chạy thử nghiệm cân bằng mô hình thực tế.
+ Đảm bảo cân bằng của hệ.
1.4. Các nội dung chính:
- Đối tượng nghiêng cứu trong đề tài này là một hệ điều khiển gồm cơ khí,
mạch điều khiển và thuật toán điều khiển. Xây dựng hệ thống điều khiển tự
động hoàn chỉnh.
- Phương pháp tham khảo tài liệu:
+ Tìm hiểu, đọc cảm biến vị trí và chống nhiễu.
+ Tìm hiều, xây dựng hàm truyền của hệ thống và tính toán PID.
- Phương pháp thực nghiệm:
+ Thiết kế mô hình cơ khí bằng Autocad.
+ Thiết kế mạch và chương trình điều khiển.
+ Chạy mô phỏng bằng MATLAB2012b và hiệu chỉnh các thông số.
+ Tiến hành làm thí nghiệm để xem xét độ nhiễu của cảm biến.
4
Thiết kế hệ điều khiển
Trường Đại học Cần Thơ
1.5.
Các nghiên cứu về mô hình bóng và thanh:
Hiện nay trên thế giới đã có nhiều mô hình cân bằng bóng và thanh, có
thể kể đến các mô hình như mô hình Quanser, DHKT HongKong, đại học Bắc
Florida.
Hình 1. Ball and beam thiết kế bởi Quanser 2006 (www.QuanSer.com)
Hình 2. Mô hình Ball beam tại trường DHKT HongKong.
5
Thiết kế hệ điều khiển
Trường Đại học Cần Thơ
Hình 3. Mô hình Ball Beam DH Bắc Florida.
CHƯƠNG II: CƠ SỞ LÝ THUYẾT
2.1.
Sơ lược về hệ thống:
Mô hình bóng và thanh được sử dụng nhiều trong các phòng thí nghiệm của
các trường trên thế giới. Mục đích của hệ thống này là cân bằng được quả bóng trên
thanh ngang dưới tác động của ngoại cảnh, mô hình dùng cảm biến để phát hiện vị
trí của quả bóng cũng có thể sử dụng camera với kỹ thuật xử lý ảnh để phát hiện vị
trí quả bóng, hệ thống còn dùng một động cơ để điều khiển góc quay của thanh
ngang ngoài ra còn có thể sử dụng thêm cảm biến tra và góc nghiêng.
+ Thanh có thể được làm bằng nhiều chất liệu khác nhau như gỗ, nhựa,
meca, nhôm. Chiều dài tùy vào người thiết kế.
+ Quả bóng thông thường hình cầu có kích thước đủ lớn để cảm biến có
thể xác định được có thể được làm bằng nhựa, sắt.
+ Cảm biến xác định vị trí có thể là cảm biến siêu âm, hồng ngoại, dây
điện trở hoặc camera, ngoài ra còn có cảm biến xác định góc nghiêng.
+ Động cơ có thể là động cơ encoder hoặc servo.
2.2.
Phân tích hệ thống:
Mô hình động học của hệ thống được thể hiện trong hình 4.
Hình 4. Động học của hệ thống.
Từ định luật II Newton:
F = m.x”
trong đó x = a.l
6
Thiết kế hệ điều khiển
Trường Đại học Cần Thơ
(1)
Với một góc nhỏ => sin.
=>
Mối quan hệ giữa và :
Laplace hai vế
Hàm truyền mối quan hệ giữa vị trí quả bóng X(s) với góc quay (s) của động cơ.
(rad/m)
Trong đó:
+
+
+
+
+
+
+
+
+
+
+
+
+
Fr lực ma sát của bóng với thanh.
m =0.1(kg) khối lượng bóng.
g = 9.81 m/s2 gia tốc trọng trường.
x (m) vị trí của quả bóng trên thanh.
moment của quả bóng.
L = 0.329(m) chiều dài thanh.
a (rad) góc quả bóng khi lăn.
J = 5.76e-6 kg.m2 moment quán tính của bóng.
d = 0.035(m) tay quay của động cơ.
góc của thanh ngang.
(rad) góc quay động cơ.
l = 0.0009367(m) bán kính lăn của bi.
r = 0.0012 (m) bán kính bi.
7
Thiết kế hệ điều khiển
Trường Đại học Cần Thơ
CHƯƠNG III. PHƯƠNG PHÁP NGHIÊN CỨU
3.1.
Sơ đồ kết nối hệ thống:
Phần mềm MATLAB/Simulink dùng để điều khiển, board Arduino là bộ
phận trung gian để thu thập tín hiệu khoảng cách và nhận tín hiệu để điều
khiển động cơ servo. Sơ đồ kết nối hệ thống được thể hiện trong hình 5.
Hình 5. Sơ đồ kết nối
3.2.
Vẽ mô hình hệ thống:
Mô hình được thiết kế như hình 6.
Hình 6. Bản
vẽ 3D
Bi
Thanh ngang
Đỡ thanh
Servo
Đế
Thành
phần hệ
thống gồm:
thanh ngang, bi sắt, trụ đỡ thanh ngang, động cơ servo, cảm biến dây điện trở, tấm
đế.
3.3.
Phần mềm MATLAB/Simulink thông qua board Arduino để điều
khiển:
8
Thiết kế hệ điều khiển
Trường Đại học Cần Thơ
Simulink là một công cụ quan trọng trong MATLAB dùng để mô hình, mô
phỏng, phân tích hệ thống động với môi trường giao diện sử dụng đồ họa. Đặc biệt
khi kết hợp với các board mạch thu thập dữ liệu, Matlab có thể đóng vai trò là trung
tâm điều khiển trong hệ thống điều khiển số.
Thư viện Arduino IO là một thư viện trong bộ công cụ Simulink hỗ trợ các
bo mạch Arduino làm việc với MATLAB-Simulink. Kết hợp các bo mạch Arduino
và thư viện ArduinoIO, MATLAB có thể tiến hành thu thập dữ liệu, thực hiện thuật
toán điều khiển dễ dàng để điều khiên đối tượng thực.
3.4.
Board mạch Arduino UNO ATmega328:
Là board mạch vi điều khiển mạch đơn được sử dụng để làm thiết bị điện tử
cho các dự án đa lĩnh vực theo cách tiếp cận dễ dàng đối với người sử dụng. Trong
hệ thống này Arduino thực hiện chức năng chung gian thu tín hiệu tương tự và nhận
tín hiệu điều khiển động cơ servo.
Hình 7. Board mạch Arduino UNO ATmega328
3.5.
Cảm biến đo khoảng cách:
Một số cảm biến đo khoảng cách tiêu biểu như: Cảm biến siêu âm, cảm
biến hồng ngoại, cảm biến dùng dây điện trở.
Cảm biến siêu âm: qua tìm hiểu nhóm thấy.
+ Ưu điểm: Dễ lập trình.
+ Nhược điểm: cảm biến siêu âm dễ bị nhiễu, khó đưa tín hiệu để điều
khiển, giá thành cao.
Khảo sát đo khoảng cách dùng dây điện trở:
9
Thiết kế hệ điều khiển
Trường Đại học Cần Thơ
Công tức tính điện áp ra:
Vout = (R1/R) * V
R1
Hình 8. Nguyên lí đo dùng điện trở.
o Giá trị điện trở 40
o Chiều dài dây 32cm
Từ điện áp đầu ra quy đổi về tín hiệu khoảng cách, bằng cách chuẩn cảm biến.
Bảng 1: khoảng cách và điện áp đầu ra:
Khoảng
5
10
15
20
25
30
0.722
1.4858
2.2629
3.0205
3.8074
4.539
cách(cm)
Điện
áp(v)
Hình 9. Đường đặc tính cảm biến.
• Nhận xét:
+ Ưu điểm: cấu tạo đơn giản, dễ sử dụng, ít bị nhiễu, tín hiệu trả về là
analog, sai số nhỏ 0.18cm.
+ Nhược điểm: tăng ma sát bi và thanh.
Vì những ưu điểm trên nên nhóm quyết định chọn cảm biến dùng dây
điện trở.
3.6.
Động cơ servo MG946R:
10
Thiết kế hệ điều khiển
Trường Đại học Cần Thơ
MG946R là động cơ servo 3 dây có khả năng quay 1800, với các thông số
của động cơ như sau:
+ Trọng lượng: 55g
+ Kích thước: 40.7 x 19.7 x 42.9 mm.
+ Moment xoắn: 10.5 kg.cm (4.8 V ), 13 kg.cm (6V)
+ Tốc độ: 0.2 s/60º (4.8 V), 0.17 s/60º (6 V)
+ Điện áp sử dụng: 4.8 V tới 7.2 V
Hình 10. Động cơ
3.7.
servo MG946R
Thiết kế bộ điều khiển PID:
Mô hình điều khiển hệ thống bằng PID được thể hiện trong hình 11.
Hình 11. Sơ đồ bộ điều khiển PID.
Trong đó hàm truyền của khâu PID là:
với:
KP là độ lợi của khâu tỉ lệ.
KI là độ lợi của khâu tích phân.
11
Thiết kế hệ điều khiển
Trường Đại học Cần Thơ
KD là độ lợi khâu vi phân.
Việc hiệu chỉnh phù hợp 3 thông số KP, KI và KD sẽ làm tăng chất lượng
điều khiển. Ảnh hưởng của 3 thông số này lên hệ thống như sau:
Đáp ứng vòng
kín
Kp
Thời gian tăng
Vọt lố
Giảm
Tăng
Thời gian quá
độ
Ít thay đổi
Sai số xác lập
Ki
Thay đổi ít
Tăng
Tăng
Giảm
Kd
Giảm
Giảm
Giảm
Thay đổi ít
Giảm
Phương pháp tìm thông số cho bộ điều khiển PID bằng phương pháp Zeigler
Nichols được sử dụng phổ biến. Dựa vào đáp ứng quá độ của hệ kín, áp dụng cho
các đối tượng có khâu tích phân lý tưởng. Đối với các đối tượng loại này ta chọn
thông số điều khiển PID dựa vào đáp ứng quá độ của hệ kín như hình 12. Tăng
đần hệ số khuếch đại K của hệ kín đến giá trị K gh, khi đó đáp ứng ra của hệ kín ở
trạng thái xác lập là dao động ổn định với chu kỳ Tgh.
Hình 12. Đáp ứng nấc hệ kín khi K = Kgh.
12
Thiết kế hệ điều khiển
Trường Đại học Cần Thơ
Bảng 2: Thông số bộ điều khiển P, PI, PID được chọn như sau:
GPID =
Đáp ứng nấc hệ kín khi K = Kgh được trình bày trong hình 13.
Step Response
2.5
2
Amplitude
1.5
System: untitled1
Time (seconds): 2.9
Amplitude: 1
System: untitled1
Time (seconds): 6.76
Amplitude: 1
1
Tgh
0.5
0
-0.5
0
1
2
3
4
5
6
7
8
Time (seconds)
Hình 13. Đáp ứng hệ kín dao động ổn định
13
9
10
Thiết kế hệ điều khiển
Trường Đại học Cần Thơ
Dựa vào hình 13: Kgh = 4.2, hệ thống dao động ổn định với chu kì T = 3.86s.
Thông số
Bộ ĐK
Kp
Ti
TD
P
PI
PID
0.5*4.2=2.1
0.45*4.2=1.9
0.6*4.2=2.5
∞
0.83*3.86=3.2
0.5*3.86=1.93
0
0
0.125*3.86=0.48
GPID =
Do Kd nhỏ nên tăng thêm để hệ thống đáp ứng nhanh hơn Kd = 2.8, sơ đồ mô phỏng
như hình 13.
Hinh 14. Điều khiển PID.
14
Thiết kế hệ điều khiển
Trường Đại học Cần Thơ
Mô phỏng với vị trí ban đầu 0 (m), đáp ứng nấc hệ thống được thể hiện ở hình
15. Kết quả độ vọt lố POT = 2.7%, thời gian quá độ tqd = 4s (tiêu chuẩn 2%),
sai số xác lập lớn nhất ( 0.1%).
1.4
1.2
X: 3.79
Y: 1.027
X: 4.48
Y: 1.02
1
0.8
0.6
0.4
0.2
0
0
1
2
3
4
5
6
7
8
Hình 15. Đáp ứng nấc của hệ thống.
15
9
10
Thiết kế hệ điều khiển
Trường Đại học Cần Thơ
CHƯƠNG IV. KẾT QUẢ NGHIÊN CỨU VÀ ĐÁNH GIÁ
4.1.
Mô hình thực của hệ thống bóng và thanh:
Hệ thống thực được trình bày trong hình 16.
1
2
4
6
3
5
7
Hình 16. Mô hình bóng và thanh thực tế.
Thành phần hệ thống gồm:
(1) Điện trở dây.
(2) Bi sắt.
(3) Cánh tay động dài 3.5cm.
(4) Thanh ngang dài 32.9 cm. Phạm vi hoạt động viên bi từ 1.8cm đến
31.5cm.
(5) Bộ điều khiển board Adruino Uno.
(6) Động cơ servo MG946R.
(7) Tấm đế có kích thước 16x31x1cm.
16
Thiết kế hệ điều khiển
4.2.
Trường Đại học Cần Thơ
Điều khiển thực:
Tần số lấy mẫu là 100Hz, giao diện điều khiển hệ thống như hình 17.
Thông số bộ điều khiển PID: Kp = 2.5, Ki = 0.5, Kd = 2.8 như đã tính ở phần
thiết kế.
Hình 17. Sơ đồ điều khiển.
Sơ đồ trong khối Ball and Beam.
Hình 18. Sơ đồ đọc cảm biến và điều khiển servo.
Bên trong khối Ball and Beam là các khối điều khiển động cơ và nhận tín
hiệu cảm biến. Khối Saturation dùng để giới hạn tín hiệu điều khiển (0 0 – 1800),
khối Servo Write dùng để cấp tín hiệu điều khiển động cơ. Khối anlog input để đọc
tín hiệu tương tự từ cảm biến xác định vị trí quả bóng. Khối Analog Filter Design là
bộ lọc thông thấp loại bỏ tần số cao. Khối Polynomial đổi giá trị tương tự thành tín
hiệu khoảng cách.
17
Thiết kế hệ điều khiển
Trường Đại học Cần Thơ
Tiến hành thí nghiệm điều khiển ở một số vị trí 0.1 (m), 0.15 (m), 0.2 (m).
Thí nghiệm 1: Cân bằng ở vị trí 0.1m, vị trí ban đầu x0 = 0.025m.
•
Mô phỏng hệ thống bằng MATLAB\Simulink như hình 19.
Hình 19. Cân bằng ở vị trí 0.1m:
Thí nghiệm thực như hình 20.
Hình 20. Cân bằng ở vị trí 0.1m:
18
Thiết kế hệ điều khiển
Trường Đại học Cần Thơ
So sánh mô phỏng và thực tế:
Chỉ tiêu
Độ vọt lố
Thời gian quá
độ
Sai số xác lập
Kết quả mô phỏng
Kết quả thực tế
2.7%
4s
4.5%
3.5s
0.3%
4.5%
Thí nghiệm 2: Cân bằng ở vị trí 0.15m, vị trí ban đầu x0=0.03m.
Mô phỏng hệ thống bằng MATLAB\Simulink như hình 21.
Hình 21. Cân bằng ở vị trí 0.15m
19
Thiết kế hệ điều khiển
Trường Đại học Cần Thơ
Thí nghiệm thực như hình 22:
Hình 22. Cân bằng ở vị trí 0.15m
So sánh mô phỏng và thực tế:
Chỉ tiêu
Độ vọt lố
Thời gian quá
độ
Sai số xác lập
Kết quả mô phỏng
Kết quả thực tế
2.7%
4s
2%
4.5s
0.3%
1.8%
Thí nghiệm 3: Cân bằng ở vị trí 0.2m, vị trí ban đầu x0=0.043m.
20
Thiết kế hệ điều khiển
Trường Đại học Cần Thơ
Mô phỏng hệ thống bằng MATLAB\Simulink như hình 23.
Hình 23. Cân bằng ở vị trí 0.2m.
Thí nghiệm thực như hình 24:
Hình 24. Cân bằng ở vị trí 0.2m
So sánh kết quả mô phỏng và kết quả thực tế:
21
Thiết kế hệ điều khiển
Chỉ tiêu
Độ vọt lố
Thời gian quá
độ
Sai số xác lập
Trường Đại học Cần Thơ
Kết quả mô phỏng
Kết quả thực tế
2.7%
4s
0%
2.8s
0.3%
0.5%
22
Thiết kế hệ điều khiển
Trường Đại học Cần Thơ
CHƯƠNG V. KẾT LUẬN VÀ KHUYẾN NGHỊ
5.1.
Kết luận:
Hệ thống bóng và thanh được điều khiển trên máy tính băng phần mềm
MATLAB/Simulink thông qua board Arduino để đọc cảm biến và điều khiển động
cơ servo. Đây là hệ điều khiển hồi tiếp trạng thái.
Kết quả đạt được:
o Xây dựng và chứng minh hàm truyền của hệ thống.
o Kết nối được MATLAB/Simulink – Arduino Uno – Cảm biến.
o Mô phỏng hệ thống bằng MATLAB/Simulink
o Thiết kế và chế tạo thành công mô hình ngoài thực tế.
o Ứng dụng thành công MATLAB/Simulink để điều khiển cân bằng hệ
thống bóng và thanh.
o Độ vọt lố lớn nhất nhỏ hơn 4.5%.
o Kết quả mô phỏng gần giống với thực.
Hạn chế:
o Vẫn còn sai số xác lập (4.5%).
o Cảm biến dây điện trở vẫn còn sai số (0.18cm).
5.2.
Khuyến nghị:
Đề nghị về board mạch điều khiển có tốc độ xử lí cao như STM32, Arduino
DUE. Dùng động cơ servo có moment lớn. Thêm các giải thuật điều khiển khác
như: LQR, phân bố cực, …
23
Thiết kế hệ điều khiển
Trường Đại học Cần Thơ
Tài liệu tham khảo.
[1] Nguyễn Thị Phương Hà, Huỳnh Thái Hoàng, năm 2005. Lý thuyết điều khiển
tự động, 356 trang.
[2] Nguyễn Phùng Quang, MATLAB & SIMULINK dành cho kỹ sư điều khiển tự
động, 482 trang.
[3] Nguyễn Chí Ngôn, Nguyễn Hoàng Dũng, năm 2012. Lý thuyết điều khiển tự
động, 277 trang.
[4] ngày truy cập 15/10/2015
[5] />ntrolStateSpace. ngày truy cập 10/9/2015
[6] ngày truy cập 1/9/2015
24
Thiết kế hệ điều khiển
Trường Đại học Cần Thơ
Phụ lục
Cách cài đặt thư viện Arduino IO.
Dowload gói Arduino IO. Kết nối với MATLAB/Simulink.
Tải Arduino IO cho MATLAB tại trang web:
Click Set path
Sau đó hiện ra của sổ này và chọn Add Folder chỉ tới thu mục Arduino IO.
Rồi chọn Save và Close.
Chạy file instal_arduino.m và arduino.m trong thư mục Arduino IO.
25