Đồ án thiết kế hệ điều khiển cân bằng bóng và thanh Đồ án thiết kế hệ điều khiển cân bằng bóng và thanh Đồ án thiết kế hệ điều khiển cân bằng bóng và thanh Đồ án thiết kế hệ điều khiển cân bằng bóng và thanh Đồ án thiết kế hệ điều khiển cân bằng bóng và thanh Đồ án thiết kế hệ điều khiển cân bằng bóng và thanh Đồ án thiết kế hệ điều khiển cân bằng bóng và thanh Đồ án thiết kế hệ điều khiển cân bằng bóng và thanh Đồ án thiết kế hệ điều khiển cân bằng bóng và thanh
Trang 2Để 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ằngbó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ầyNguyễ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ủathầ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 đã quantâ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:
Trang 4CHƯƠNG I: TỔNG QUAN1.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ểntrạ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
+ 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ệ
- Đố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
Trang 51.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
Trang 6Hì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ủacá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ênthanh 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 thanhngang 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
Trang 7+ 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
Trang 8CHƯƠNG III PHƯƠNG PHÁP NGHIÊN CỨU
thanh ngang, bi sắt, trụ đỡ thanh ngang, động cơ servo, cảm biến dây điện trở, tấm
Đế
Trang 9Simulink 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ệtkhi kết hợp với các board mạch thu thập dữ liệu, Matlab có thể đóng vai trò là trungtâ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ậttoán điều khiển dễ dàng để điều khiên đối tượng thực
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ậntín hiệu điều khiển động cơ servo
Hình 7 Board mạch Arduino UNO ATmega328
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
Trang 10Công tức tính điện áp ra:
Vout = (R1/R) * V
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:
+ 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ở
R1
Trang 11MG946R 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:
3.7 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
Trang 12KD 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 Thời gian tăng Vọt lố Thời gian quáđộ Sai số xác lập
Kp Giảm Tăng Ít thay đổi Giảm
Ki Thay đổi ít Tăng Tăng Giảm
Kd Giảm Giảm Giảm Thay đổi ít
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ị Kgh, 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
Trang 13Bảng 2: Thông số bộ điều khiển P, PI, PID được chọn như sau:
0 0.5
1 1.5
2 2.5
System: untitled1 Time (seconds): 2.9 Amplitude: 1
System: untitled1 Time (seconds): 6.76 Amplitude: 1
Tgh
Trang 14 Dựa vào hình 13: Kgh = 4.2, hệ thống dao động ổn định với chu kì T = 3.86s.
Trang 15 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%)
Hình 15 Đáp ứng nấc của hệ thống
0 0.2 0.4 0.6 0.8 1 1.2 1.4
X: 3.79 Y: 1.027
X: 4.48 Y: 1.02
Trang 16CHƯƠ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
6
2
54
1
Trang 174.2 Đ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ínhiệu cảm biến Khối Saturation dùng để giới hạn tín hiệu điều khiển (00 – 1800),khối Servo Write dùng để cấp tín hiệu điều khiển động cơ Khối anlog input để đọctí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ínhiệu khoảng cách
Trang 18 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:
Trang 193.5s 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
Trang 204.5s 1.8%
Thí nghiệm 3: Cân bằng ở vị trí 0.2m, vị trí ban đầu x0=0.043m
Trang 21Mô phỏng hệ thống bằng MATLAB\Simulink như hình 23.
Trang 22Chỉ tiêu Kết quả mô phỏng Kết quả thực tế
0%
2.8s 0.5%
Trang 23CHƯƠNG V KẾT LUẬN VÀ KHUYẾN NGHỊ
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
Trang 24Tà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
ntrolStateSpace ngày truy cập 10/9/2015
[6] http://www.Arduino.cc ngày truy cập 1/9/2015
Trang 25Phụ 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: http://www.mathwworks.com
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
Trang 26Mở simulink sẽ thấy thư viện Arduino IO.
Nạp file adioes.pde vào board Arduino
Giới thiệu board Arduino:
Arduino thật ra là một bo mạch vi xử lý được dùng để lập trình tương tác vớicác thiết bị phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác Đặc điểmnổi bật của Arduino là môi trường phát triển ứng dụng cực kỳ dễ sử dụng, với mộtngôn ngữ lập trình có thể học một cách nhanh chóng ngay cả với người ít am hiểu
về điện tử và lập trình Và điều làm nên hiện tượng Arduino chính là mức giá rấtthấp và tính chất nguồn mở từ phần cứng tới phần mềm
Arduino Uno là sử dụng chip Atmega328 Nó có 14 chân digital I/O, 6 chânđầu vào (input) analog, thạch anh dao động 16Mhz Một số thông số kỹ thuật nhưsau :
Trang 27a) USB (1)
Trang 28Arduino sử dụng cáp USB để giao tiếp với máy tính Thông qua cáp USBchúng ta có thể Upload chương trình cho Arduino hoạt động, ngoài ra USB còn lànguồn cho Arduino
b) Nguồn ( 2 và 3 )
Khi không sử dụng USB làm nguồn thì chúng ta có thể sử dụng nguồn ngoàithông qua jack cắm 2.1mm(cực dương ở giửa) hoặc có thể sử dụng 2 chân Vin vàGND để cấp nguồn cho Arduino
Bo mạch hoạt động với nguồn ngoài ở điện áp từ 5 – 20 volt Chúng ta có thểcấp một áp lớn hơn tuy nhiên chân 5V sẽ có mực điện áp lớn hơn 5 volt Và nếu sửdụng nguồn lớn hơn 12 volt thì sẽ có hiện tượng nóng và làm hỏng bo mạch.Khuyết cáo các bạn nên dùng nguồn ổn định là 5 đến dưới 12 volt
Chân 5V và chân 3.3V (Output voltage) : các chân này dùng để lấy nguồn ra
từ nguồn mà chúng ta đã cung cấp cho Arduino Lưu ý : không được cấp nguồn vàocác chân này vì sẽ làm hỏng Arduino
e) Reset (7): dùng để reset Arduino