Việc thiết kếgồm: mô hình hóa, thiết kế phần cứng, xử lý tín hiệu cảm biến, thiết kế bộđiều khiển trượt SMC và bộ điều khiển PD.. Mô hình toán và phương trình trạng thái của xe hai bánh:
Trang 1KHOA ĐIỆN - ĐIỆN TỬ
-TĂNG NĂNG TƯỜNG
Đề tài:
ĐIỀU KHIỂN XE HAI BÁNH CÂN BẰNG DI
CHUYỂN THEO QUỸ ĐẠO
Chuyên ngành: TỰ ĐỘNG HÓA
LUẬN VĂN THẠC SĨ
THÀNH PHỐ HỒ CHÍ MINH – 2014
Trang 2Cán bộ hướng dẫn khoa học: PGS-TS HUỲNH THÁI HOÀNG
Cán bộ chấm nhận xét 1: TS NGUYỄN ĐỨC THÀNH
Cán bộ chấm nhận xét 2: TS TRỊNH HOÀNG HƠN
Luận văn thạc sĩ đư ợc bảo vệ tại Trường Đại học Bách Khoa, ĐHQG thành phố
Hồ Chí Minh, ngày 18 tháng 07 năm 2014
Thành phần hội đồng đánh giá luận văn thạc sĩ gồm:
1 Chủ tịch hội đồng: PGS-TS DƯƠNG HOÀI NGHĨA
2.Cán bộ phản biện 1: TS NGUYỄN ĐỨC THÀNH
3.Cán bộ phản biện 2: TS TRỊNH HOÀNG HƠN
4.Ủy viên: TS TRƯƠNG ĐÌNH CHÂU
Trang 3NHIỆM VỤ LUẬN VĂN THẠC SĨ
Ngày, tháng, năm sinh: 30/06/1988 Nơi sinh: Cần Thơ
I TÊN ĐỀ TÀI: XE HAI BÁNH CÂN BẰNG DI CHUYỂN THEO QUỸ ĐẠO
II NHIỆM VỤ VÀ NỘI DUNG:
Nhiệm vụ : Thiết kế và chế tạo mô hình xe hai bánh cân bằng di chuyển theo
quỹ đạo được đặt trước
Nội dung :
- Tìm hiểu nguyên lý cơ bản, nguyên tắc hoạt động của mô hình xe hai bánh
- Mô hình hóa
- Thiết kế mô hình cơ khí
- Xây dựng thuật toán điều khiển
- Mô phỏng trên MATLAB-SIMULINK
- Lập trình và hiệu chỉnh
III NGÀY GIAO NHIỆM VỤ : 19/08/2013
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 20/06/2014
V CÁN BỘ HƯỚNG DẪN : PGS-TS HUỲNH THÁI HOÀNG
Tp HCM, ngày tháng năm 2014
CÁN BỘ HƯỚNG DẪN
(Họ tên và chữ ký) CHỦ NHIỆM BỘ MÔN ĐÀO TẠO(Họ tên và chữ ký)
TRƯỞNG KHOA ĐIỆN-ĐIỆN TỬ
(Họ tên và chữ ký)
Trang 4của trường Đại Học Bách Khoa Thành Phố Hồ Chí Minh vì đã truyền đạt rấtnhiều kiến thức bổ ích trong quá trình học tập cũng như th ực hiện đề tài luậnvăn.
Tôi xin chân thành cảm ơn PGS – TS Huỳnh Thái Hoàng vì đã nhận lời và tậntình hướng dẫn tôi trong suốt quá trình thực hiện luận văn.Thầy đã có nhữnggóp ý, giúp đở kịp thời trong lúc tôi gặp khó khăn, trở ngại khi thực hiện đềtài
Sau cùng, tôi xin gửi lời cảm ơn đến gia đình, bạn bè đã tạo điều kiện cũngnhư những lời động viên chân thành để tôi có thể vượt qua được những khókhăn, hoàn thành được đề tài luận văn
Xin chân thành cảm ơn!
Thành phố Hồ Chí Minh, ngày tháng năm 2014
Tăng Năng Tường
Trang 5hình xe hai bánh cân bằng di chuyển theo quỹ đạo đặt trước Việc thiết kếgồm: mô hình hóa, thiết kế phần cứng, xử lý tín hiệu cảm biến, thiết kế bộđiều khiển trượt (SMC) và bộ điều khiển PD Trong hệ thống, tín hiệu cảmbiến được lọc nhiễu thông qua bộ lọc Kalman sau đó sẽ đưa vào bộ điềukhiển Bộ điều khiển gồm hai thành phần là bộ điều khiển trượt và bộ điềukhiển PD Bộ điều khiển trượt sẽ điều khiển góc nghiêng của xe còn bộ điềukhiển PD sẽ điều khiển vị trí xe Kết quả mô phỏng sẽ cho thấy đáp ứng của
hệ thống khi robot ở vị trí cân bằng, không di chuyển và khi robot di chuyểnđến vị trí đặt trước
Trang 6robot moving to setting position The thesis focus on modeling, hardware,processing sensors signal, sliding mode controller design ( SMC) and PDcontroller design Sensors signal are filtered by Kalman filter before using.Controller has two loop: Sliding mode controller and PD controller Slidingmode controller uses to control angle and PD controller uses to controlposition of robot Simulations show result of control when robot maintains atequilibrium and moving to the set position.
Trang 7quả trong đề tài đều trung thực và không bị chỉnh sửa.
Tôi xin hoàn toàn chịu trách nhiệm về nghiên cứu của mình
Thành phố Hồ Chí Minh, ngày tháng năm 2014
Tăng Năng Tường
Trang 8TÓM TẮT ii
ABSTRACT iii
LỜI CAM ĐOAN vi
MỤC LỤC v
DANH MỤC HÌNH ẢNH vii
DANH MỤC BẢNG BIỂU x
Chương 1- MỞ ĐẦU 1
1 Đặt vấn đề 1
2 Tính cấp thiết và ứng dụng của đề tài 2
3 Mục đích nghiên cứu 2
4 Tổng quan nghiên cứu 3
5 Phương pháp nghiên cứu 4
Chương 2- CƠ SỞ LÝ THUYẾT 5
1 Mô hình toán và phương trình tr ạng thái của xe hai bánh 5
2 Các phương pháp xử lý tín hiệu cảm biến 10
3 Cơ sở lý thiết và thiết kế bộ điều khiển trượt 13
4 Cơ sở lý thiết và thiết kế bộ điều khiển PID 15
5 Thiết kế bộ điều khiển dùng trong mô hình 17
6 Mạch driver điều khiển moment động cơ 17
Chương 3- MÔ HÌNH XE HAI BÁNH 19
1 Cơ cấu cơ khí 19
2 Bộ dẫn động 19
3 Chọn mạch điều khiển dùng trong mô hình 20
4 Chọn cảm biến dùng trong mô hình 22
Trang 9Chương 4- MÔ PHỎNG DÙNG PHẦN MỀM MATLAB – SIMULINK 27
1 Mô phỏng mô hình xe hai bánh 27
2 Thuật toán điều khiển 27
3 Đáp ứng của mô hình 28
a) Đáp ứng của mô hình với hằng số K vàτđã chọn 28
b) Đáp ứng của mô hình khi thay đổi K vàτ 31
c) Đáp ứng của mô hình khi thay đổi Kp và Kd 34
d) Đáp ứng của mô hình khi có nhiễu 39
Chương 5- KẾT QUẢ THỰC NGHIỆM VÀ ĐÁNH GIÁ 41
1 Những công việc đã hoàn thành trong đề tài 41
a) Thiết kế và chế tạo hoàn chỉnh mô hình cơ khí 41
b) Lấp đặt nguồn và các mạch cảm biến lên mô hình 41
c) Thiết kế bộ điều khiển dùng trong mô hình xe hai bánh 43
2 Kết quả thực nghiệm 45
a) Kết quả thực nghiệm đo giá trị góc nghiêng tại vị trí cân bằng 45
b) Kết quả thực nghiệm đo góc nghiêng khi xe lệch góc 8.5 độ 46
3 Nhận xét 46
Chương 6- KẾT LUẬN 47
1 Các kết quả đạt được 47
2 Những vấn đề chưa đạt 47
3 Hướng phát triển 47
Tài liệu tham khảo 48
Phụ lục 50
Trang 10DANH MỤC HÌNH ẢNH
Hình 1.1- Cách thức di chuyển của mô hình xe hai bánh 1
Hình 1.2- Segway 3
Hình 1.3- Balancing Scooter 3
Hình 1.4- nBot 4
Hình 2.1- Lực phận bố ở bánh xe 6
Hình 2.2- Lực phân bố trên mô hình xe hai bánh 7
Hình 2.3- Chu trình ước lượng sử dụng bộ lọc bổ phụ thông tần 11
Hình 2.4- Quy trình ước lượng của bộ lọc Kalman gián đoạn 12
Hình 2.5- Bộ điều khiển trượt bám 14
Hình 2.6- Sơ đồ khối của bộ điều khiển PID 16
Hình 2.7- Bộ điều khiển vị trí PD 16
Hình 2.8- Sơ đồ khối bộ điều khiển 17
Hình 2.9- Mạch điều khiển moment động cơ 18
Hình 2.10- Mạch cầu H dùng để điều khiển động cơ 18
Hình 3.1- Mô hình cơ khí của xe hai bánh 19
Hình 3.2- Cơ cấu dẫn động dùng trong mô hình 20
Hình 3.3- Board vi điều khiển TMS320F28335 20
Hình 3.4- Sơ đồ của bộ điều khiển dùng trong mô hình xe hai bánh 21
Hình 3.5- Board cảm biến MPU-6050 22
Hình 3.6- Sơ đồ chân và kết nối cần thiết của MPU-6050 22
Hình 3.7- Cấu tạo của cảm biến gia tốc góc 23
Hình 3.8- Trục quay của cảm biến vận tốc góc 24
Hình 3.9- Cách lấp đặt và xác định góc nghiêng của xe 25
Trang 11Hình 3.10- Cảm biến encoder 26
Hình 3.11- Cấu tạo bên trong của encoder 26
Hình 4.1- Sơ đồ khối của mô hình xe hai bánh từ phương trình trạng thái 27
Hình 4.2- Sơ đồ khối của bộ điều khiển trượt 28
Hình 4.3- Sơ đồ khối của bộ điều khiển vị trí PD 28
Hình 4.4- Xe hai bánh cân bằng tại vị trí 0m với góc lệch ban đầu 5 độ 29
Hình 4.5- Xe hai bánh cân bằng tại vị trí 0m với góc lệch ban đầu 20 độ 29
Hình 4.6- Xe hai bánh cân bằng di chuyển đến vị trí 0.5m 30
Hình 4.7- Xe hai bánh cân bằng di chuyển đến vị trí 1m 30
Hình 4.8- Đáp ứng góc nghiêng của xe khi thay đổi K 31
Hình 4.9- Đáp ứng vị trí của xe khi thay đổi K 31
Hình 4.10- Moment điều khiển xe khi thay đổi K 32
Hình 4.11- Đáp ứng góc nghiêng của xe khi thay đổi Tau 33
Hình 4.12- Đáp ứng vị trí của xe khi thay đổi Tau 33
Hình 4.13- Moment điều khiển xe khi thay đổi Tau 34
Hình 4.14- Đáp ứng góc nghiêng của xe khi thay đổi Kp 35
Hình 4.15- Đáp ứng góc vị trí của xe khi thay đổi Kp 35
Hình 4.16- Moment điều khiển xe khi thay đổi Kp 36
Hình 4.17- Đáp ứng góc nghiêng của xe khi thay đổi Kd 37
Hình 4.18- Đáp ứng góc vị trí của xe khi thay đổi Kd 37
Hình 4.19- Moment điều khiển xe khi thay đổi Kd 38
Hình 4.20- Xe hai bánh cân bằng tại vị trí 0m khi có nhiễu 39
Hình 4.21- Xe hai bánh cân bằng di chuyển đến vị trí 0.5m khi có nhiễu 40
Hình 5.1- Mô hình xe hai bánh hoàn chỉnh 41
Trang 12Hình 5.2- Board cảm biến MPU6050 42
Hình 5.3- Bộ điều khiển dùng trong mô hình xe hai bánh 42
Hình 5.4- Khối MPU6050 42
Hình 5.5- Tính quãng đường xe di chuyển 43
Hình 5.6- Khối Encoder 44
Hình 5.7- Khối PWM 44
Hình 5.8- Khối Data 45
Hình 5.9- Giá trị góc nghiêng tại vị trí cân bằng 45
Hình 5.10- Giá trị góc nghiêng khi xe lệch 8.5 độ 46
Trang 13DANH MỤC BẢNG BIỂU
Bảng 2.1- Ký hiệu các thông số dùng trong mô hình xe hai bánh (phần 1) 5Bảng 2.2- Ký hiệu các thông số dùng trong mô hình xe hai bánh (phần 2) 6
Trang 14Chương 1 - MỞ ĐẦU
1 Đặt vấn đề:
Ngày nay với sự phát triển của khoa học kỹ thuật làm cho robot trở nên phổ biến
trong môi trường công nghiệp cũng như trong đ ời sống hằng ngày, tuy nhiên nhữngmobile robot được sử dụng hiện nay hầu hết là các robot có 3 hay 4 bánh xe, nhờ
vậy mà xe có thể cân bằng ổn định Đối với xe có 3 bánh thì có thể di chuyển vàlàm việc tốt trong địa hình bằng phẳng nhưng gặp nhiều vấn đề nếu di chuyển trên
các địa hình dốc Khi di chuyển lên dốc sẽ là trọng lượng xe dồn về phía sau, bánh
lái mắt khả năng bám và trược ngã Còn khi xuống dốc thì trọng tâm xe dời về phái
trước làm xe lật úp Đối với xe 4 bánh có khả năng cân bằng tốt nhưng có khuyếtđiểm là kích thước to không thể hoạt động trong môi trường hẹp Ngược lại, xe cóhai bánh được gắn đồng trục lại có thể cân bằng linh hoạt mặc dù bản thân là hệ
thống không ổn định Khi leo dốc thì xe tự động nghiêng về phái trước làm trọngtâm dồn về phái bánh xe, tương tự khi xuống dốc xe tự nghiêng về sau, giữ trọngtâm dồn về phái bánh xe nên xe luôn cân bằng
Hình 1.1- Cách thức di chuyển của mô hình xe hai bánh
Xe hai bánh là một ứng dụng của mô hình con lắc ngược Không giống với các loại
xe thông thường có hai bánh nằm trước và sau, xe hai bánh trong đề tài có hai bánhđược đặt song song và đồng trục với nhau, cũng vì lí do này mà xe có kích thư ớc
gọn gàng dễ di chuyển trong những không gian chật hẹp Xe hai bánh di chuyểntheo quỹ đạo là tiền đề cho việc chế tạo các robot vận chuyển trong các khu vựcchật hẹp, các xe trợ giúp di chuyển cho người già, trẻ em và xa hơn là các robot haichân, robot dạng người
Trang 152 Tính cấp thiết và ứng dụng của đề tài:
Mô hình xe hai bánh cân bằng có thể xem là bước đệm để chế tạo các robot dichuyển bằng hai chân, một bước phát triển mới trong khoa học công nghệ ngày nay.Ngoài ra, mô hình còn mang lại nhiều ứng dụng phù hợp với nhu cầu thực tế củacuộc sống hiện đại
Ứng dụng của mô hình xe hai bánh:
- Có thể trở thành xe vận chuyển trong môi trường công nghiệp
- Dùng làm xe di chuyển cho người già và trẻ em
- Kết hợp với những robot khác để làm việc trong môi trường độc hại, những côngviệc nguy hiểm thay cho con người
- Là bước đệm để phát triển robot giống người trong tương lai
3 Mục đích nghiên cứu:
Hiện nay, vấn đề cân bằng của robot không còn là đề tài mới nhưng những ứngdụng của nó trong môi trường công nghiệp, trong thực tế vẫn còn rộng và cần đượcquan tâm nghiên cứu Mục tiêu của đề tài là thiết kế và chế tạo mô hình xe hai bánhcân bằng di chuyển theo quỹ đạo cho trước trên địa hình bằng phẳng
Trong giới hạn của đề tài chỉ tập trung vào một số mục tiêu:
- Tìm hiểu nguyên lý cơ bản, nguyên tắc hoạt động của mô hình xe hai bánh
- Mô hình hóa
- Thiết kế mô hình cơ khí
- Mô phỏng trên MATLAB-SIMULINK
- Giao tiếp và thu các tín hiệu cảm biến
- Xây dựng thuật toán điều khiển
- Hiệu chỉnh để mô hình có thể hoạt động trong môi trường thực tế
Trang 164 Tổng quan nghiên cứu:
Xe hai bánh tự cân bằng là một ứng dụng thực tế của mô hình con lắc ngược Xe cókhả năng cân bằng tốt trong nhiều địa hình di chuyển khác nhau Về cấu trúc cơ khí
xe có hai bánh được thiết kế song song, đồng trục với nhau giúp kích thước trở nên
gọn gàng, có thể làm việc trong môi trường chật hẹp Trên thực tế, xe hai bánh tựcân bằng có nhiều hình dạng cũng như kích thước khác nhau Có xe có kích thướclớn dùng để chở người như Segway (hình 1.2), Balancing Scooter (hình 1.3) và môhình xe trong [3] hay xe có kích thước nhỏ như nBot trong [7] (hình 1.4) và các môhình xe hai bánh trong [4], [5], [6], [8] và [9] dùng trong không gian nhỏ hẹp
Hình 1.2- Segway
Hình 1.3- Balancing Scooter
Trang 17khi dùng cho mô hình phi tuyến.
5 Phương pháp nghiên cứu:
a) Cơ sở lý thuyết:
- Mô hình hóa xe hai bánh
- Mô phỏng trên MATLAB - Simulink
b) Thực hiện mô hình trong thực tế:
-Thiết kế khung cơ khí
- Lấp đặt mạch cảm biến và công suất
- Mạch điều khiển
- Lập trình và hiệu chỉnh
Trang 18Chương 2 – CƠ SỞ LÝ THUYẾT
1 Mô hình toán và phương trình trạng thái của xe hai bánh:
Các tham số được sử dụng trong việc thiết lập phương trình trạng thái của mô hình
xe hai bánh được mô tả trong bảng sau:
Bảng 2.1 – Ký hiệu các thông số dùng trong mô hình xe hai bánh (phần 1)
Trang 19Ký hiệu Mô tả Đơn vị
Bảng 2.2 – Ký hiệu các thông số dùng trong mô hình xe hai bánh (phần 2)
Xét tại vị trí bánh xe:
Hình 2.1- Lực phân bố ở bánh xe
Trang 20̈ = − (2-1a) ̈ = − (2-1b)
Do ma sát của bánh xe với mặt đường nhỏ nên có thể bỏ qua HTLvà HTR
Đối với thân xe:
Hình 2.2- Lực phân bố trên mô hình xe hai bánh
Trang 21Thay (2-4) và (2-7) vào (2-8), rút rọn ta được:
̈ = ( sin + cos ) + sin − (1 + sin ) ( +) (2-9)
Trang 22̈ = − ̈ cos − ̈ + sin − (1 + sin ).
(2-22)
Thay = và = ta được hệ phương trình của xe hai bánh:
2 ̈ = − ̈ − cos ̈ + sin ̇ + − 2 ̈
= − ̈ cos − ̈ + sin − (1 + sin ) (2-23)
Xem moment quán tính của thân xe như đoạn thẳng hình trụ chiều dài L:
2 + −34.( . + . cos ) cos ̈ = −34 ( + cos ) sin +
+ sin ̇ + 34.( + cos )(1 + sin ). +1
Đặt = , = ̇, = à = ̇ ta được phương trình trạng thái của xe hai
bánh:
Trang 234 ( +(2 cos ) cos+ ) − 1( , ) =
3
4 (2. sin cos+ ) ( )3
4 ( +(2 cos ) cos+ ) − 1
ℎ ( ) =
3
4 1 + sin +(2 cos+ ) .3
4 ( +(2 cos ) cos+ ) − 1( ) =
2 Các phương pháp xử lý tín hiệu cảm biến:
Để có thể điều khiển tốt robot thì các tín hiệu thu được từ cảm biến phải có độ chínhxác cao nhưng trong thực tế tín hiệu thu về có cả nhiễu nên đòi hỏi phải có phương
pháp khắc phục hiện tương nhiễu Có nhiều phương pháp lọc nhiễu như: bộ lọc bổphụ thông tần, lọc Kalman,…
- Bộ lọc bổ phụ thông tần [3] và [7]: bộ lọc thường được sử dụng trong việc ước
lượng một giá trị khi có hai nguồn giá trị khác nhau Một nguồn cho giá trị chính
Trang 24xác trong vùng tần số thấp, nguồn còn lại cho giá trị chính xác trong vùng tần sốcao.
Trong đề tài nghiên cứu, việc xác định góc nghiêng là tổng hợp giá trị từ hai cảm
biến vận tốc góc gyroscope và cảm biến gia tốc accelerometer Giá trị của cảm biếnvận tốc góc cho qua bộ lọc tần số cao Gi(s) còn giá trị của cảm biến gia tốc cho qua
bộ lọc tần số thấp Gg(s), tổng hợp giá trị thu được sẽ cho ra ước lượng chính xác vềgóc nghiêng
Số lượng tham số thiết kế nên nhỏ để dể điều chỉnh và áp dụng cho bộ lọc trongthực tế
Hình 2.3- Chu trình ước lượng sử dụng bộ lọc bổ phụ thông tần
Bộ lọc bổ phụ thông tần có ưu điểm là dể thiết kế, tính toán nhanh nhưng có nhược
điểm do vẫn là hai bộ lọc có tần số khác nhau nên tín hiệu ra có thể không bằng
nhau
- Bộ lọc Kalman [12] và [13] được đề xuất bởi giáo sư Kalman từ những năm 1960
Bộ lọc Kalman hợp nhất tất cả thông tin được cung cấp để cho ra giá trị ước lượngtối ưu Bộ lọc sẽ ước lượng trạng thái tiến trình và sẽ thu sự phản hồi của giá trị
Trang 25Một khi phương trình định hướng và mẫu thống kê nhiễu trên mỗi cảm biến đượcbiết thì bộ lọc Kalman sẽ cho ước lượng tối ưu.
Bộ lọc Kalman gián đoạn:
Đối tượng có mô hình:
Với wkvà vklà giá trị thay đổi ngẫu nhiên, tách biệt nhau
( )~ (0, )( )~ (0, )
Ta có ước lượng trạng thái priori tại bước k: và ước lượng trạng thái posteriori
tại bước k:
Và tương quan sai số ước lượng posteriori: = [ ]
Bộ lọc Kalman gián đoạn chia thành 2 nhóm là: phương trình cập nhật thời gian và
phương trình cập nhật giá trị đo lường Ta có mô hình ước lượng của bộ lọc Kalmannhư hình 2.4
Hình 2.4- Quy trình ước lượng của bộ lọc Kalman gián đoạn
Trang 26Trong ma trận Q, các phần tử không thuộc đường chéo được chọn bằng 0 Giá trịcác phần tử Q càng lớn thì sai số sẽ càng lớn, làm giảm độ chính xác.
Tương tự, các phần tử không thuộc đường chéo của ma trận R được chọn bằng 0
Giá trị các phần tử R càng lớn sẽ làm giảm độ tin cậy của bộ lọc
Bộ lọc Kalman có nhược điểm là tốn nhiều thời gian trong việc xử lý dữ liệu đầu
vào nhưng có cơ chế tự cập nhật giá trị cơ sở tại mỗi thời điểm tín toán cũng như
xác định được độ sai lệch của kết quả do trước và sau nên giá trị ước lượng luônchính xác, ổn định và không chịu ảnh hưởng của sự lệch pha của các tín hiệu đầuvào Ngoài ra, bộ lọc Kalman còn cho phép kết hợp nhiều cảm biến đo ở dãy băngtần khác nhau của cùng một giá trị vật lý Với những ưu điểm trên bộ lọc Kalmanluôn là sự lựa chọn hàng đầu không chỉ trong giới hạn đề tài nghiên cứu
Dùng bộ lọc Kalman cho giá trị góc nghiêng và vận tốc góc chính xác:
Chọn= 1 10 1 , = 1 0.010 1 , = 00 , = [1 0]
R là phương sai của giá trị nhiễu đo lường, R=0.15
Q là phương sai của giá trị nhiễu hệ thống, = 0.0250 0.040
3 Cơ sở lý thuyết và thiết kế bộ điều khiển trượt:
Phương pháp điều khiển trượt [1] gồm: điều khiển bám và ổn định hóa
Mục tiêu của điều khiển bám là xác định tín hiệu điều khiển u sao cho tín hiệu ra ycủa hệ thống bám theo tín hiệu đặt r Mặt trượt S được xác định như sau:
e=y- r : tín hiệu sai lệch, hàm S=en-1+ an-2.en-2+…+ a1.e-1+ a0.e với n là bậc của hệthống Các hệ số a0, a1, …, an-2 được chọn trước sau cho đa thức đặc trưng củaphương trình vi phân Hurwits có tất cả các nghiệm với phần thực âm
chiều gọi là mặt trượt
Phương pháp chọn mặt trượt S: phải thỏa hai điều kiện
- S không phụ thuộc tường minh vào u nhưng ̇ phụ thuộc tường minh vào u
- Phương trình vi phân Hurwitz
Trang 27Thiết kế bộ điều khiển trượt bám dùng để điều khiển góc nghiêng của mô hình xehai bánh bám theo giá trị đặt trước:
Hình 2.5- Bộ điều khiển trượt bám
Vì bộ điều khiển trượt chỉ dùng để giữ góc nghiêng của xe bám theo giá trị đặt trướcnên ta chỉ cần quan tâm đến x1(theta) và x2(dot_theta)
Trang 284 Cơ sở lý thuyết và thiết kế bộ điều khiển PID:
Điều khiển PID là bộ điều khiển vi tích phân tỉ lệ Proportional Integral Devirativeđược sử dụng phổ biến trong các bộ điều khiển phản hồi Giải thuật tính toán bộđiều khiển PID gồm ba thông số giá trị tỉ lệ (P), tích phân (I) và vi phân (D) Giá trị
tỉ lệ xác định tác động của sai số hiện tại, giá trị tích phân xác định tổng các sai sốquá khứ và giá trị vi phân xác định tác động của tốc độ biến đổi sai số Bằng việc
điều chỉnh ba hằng số (Kp, Ki, Kd ) của bộ điều khiển PID, bộ điều khiển có thểdùng trong những thiết kế có yêu cầu đặc biệt
- Khâu tỉ lệ làm thay đổi giá trị đầu ra, tỉ lệ với giá trị sai số hiện tại Đáp ứng tỉ lệ
có thể được điều chỉnh bằng cách nhân sai số với hằng số độ lợi tỉ lệ Kp Giá trị Kp
càng lớn thì hệ thống đáp ứng càng nhanh nhưng sai số lớn
P= Kp.e(t)
- Khâu tích phân tỉ lệ thuận với biên độ sai số và thời gian xảy ra sai số Điều chỉnh
biên độ phân phối của khâu tích phân xác định bởi độ lợi Ki Hằng số Ki càng lớnthì sai số ổn định bị khử càng nhanh nhưng làm tăng độ vọt lố
= ( )
- Khâu vi phân là tốc độ thay đổi của sai số được tính bằng xác định độ dốc của sai
số theo thời gian và độ lợi tỉ lệ Kd Hằng số Kd càng lớn thì càng giảm độ vọt lố
nhưng giảm khả năng đáp ứng của hệ thống
Tổng hợp ba khâu tỉ lệ, khâu tích phân và khâu vi phân ta được bộ điều khiển PID
Trang 29Hình 2.6-Sơ đồ khối của bộ điều khiển PIDGiá trị đầu ra của bộ điều khiển:
( ) = ( ) + ( ) + ( )
Các phương pháp hiệu chỉnh độ lợi vòng PID:
Có nhiều phương pháp như điều chỉnh thủ công, Ziegler-Nichols, Cohen-coon vàcác công cụ phần mềm hổ trợ Tùy theo yêu cầu của bộ điều khiển và kinh nghiệmcủa người dùng mà lựa chọn phương pháp thích hợp như trong [4] dùng phươngpháp Ziegler-Nichols còn [8] dùng phương pháp điều chỉnh thủ công
Ngoài ra bộ điều khiển PID có thể cho phép người sử dụng một phần của bộ điềukhiển để phù hợp với yêu cầu thực tế như bộ điều khiển P, PI, PD
Thiết kế bộ điều khiển PID để điều khiển vị trí cho mô hình xe hai bánh:
Vì đây là bộ điều khiển vị trí của mô hình xe hai bánh nên ta chỉ sử dụng bộ điềukhiển PD để tránh trường hợp vọt lố
Hình 2.7- Bộ điều khiển vị trí PD
Trang 305 Thiết kế bộ điều khiển dùng trong mô hình:
Bộ điều khiển dùng trong mô hình xe hai bánh cân bằng di chuyển theo quỹ đạo là
sự kết hợp của hai bộ điều khiển PD và bộ điều khiển trượt Trong đó, bộ điều khiển
PD là bộ điều khiển vị trí của xe còn bộ điều khiển trượt là bộ điều khiển gócnghiêng xe
Hình 2.8- Sơ đồ khối bộ điều khiển
Bộ điều khiển vị trí PD dựa vào tín hiệu đặt Xrefvà vị trí hồi tiếp X sẽ tạo ra tín hiệu
điều khiển Cx cho bộ điều khiển trượt Bộ điều khiển trượt sẽ nhận tín hiệu từ bộ
điều khiển PD và giá trị góc nghiêng, vận tốc góc sẽ tạo ra tín hiệu điều khiển mô
hình Như vậy mô hình xe hai bánh sẽ di chuyển đến vị trí đặt thì bộ điều khiển
trượt mới giữ xe ở vị trí cân bằng
- Khi Xref> X thì xe di chuyển tới phía trước, đến khi Xref = X thì Cx = 0 bộ điềukhiển trượt sẽ giữ góc nghiêng xe ở vị trí cân bằng
- Khi Xref< X thì xe di chuyển về phía sau, đến khi Xref= X thì Cx= 0 bộ điều khiển
trượt sẽ giữ góc nghiêng xe ở vị trí cân bằng
6 Mạch driver điều khiển moment động cơ:
Do tín hiệu điều khiển động cơ của bộ điều khiển trượt và bộ điều khiển vị trí điều
là moment nên không thể trực tiếp đưa vào mạch cầu H để điều khiển động cơ Tínhiệu điều khiển C được đưa vào bộ PID để tạo ra tín hiệu điều khiển động cơ, giá trịdòng điện từ động cơ sẽ hồi tiếp về để so sánh với tín hiệu điều khiển nhờ vậy mà
có thể điều khiển động cơ theo moment
Trang 31Hình 2.9- Mạch điều khiển moment động cơ
Hình 2.10- Mạch cầu H dùng để điều khiển động cơ
Trang 32Chương 3 – MÔ HÌNH XE HAI BÁNH
1 Cơ cấu cơ khí:
Mô hình xe hai bánh gồm 3 phần: thân xe, cơ cấu dẫn động và mạch điện Thân xecao 0.3 m, bao gồm sàn xe có diện tích 0.25m x 0.2m và 2 tầng được làm bằngnhựa Sàn xe chứa ắc quy dùng để làm nguồn nuôi bộ điều khiển, cảm biến và động
cơ.Tầng 1 chứa board điều khiển trung tâm, mạch cầu H điều khiển động cơ Tầng 2
chứa cảm biến gia tốc góc và cảm biến vận tốc góc
Hình 3.1- Mô hình cơ khí của xe hai bánh
2 Bộ dẫn động:
Cơ cấu dẫn động gồm động cơ được gắn chắc chắn vào sàn xe, 2 bánh xe được nốivào động cơ thông qua bộ giảm tốc
Trang 33Hình 3.2- Cơ cấu dẫn động dùng trong mô hình
3 Chọn mạch điều khiển dùng trong mô hình:
Vi điều khiển đóng vai trò “bộ não” của robot, đảm nhận việc nhận tín hiệu từ cảm
biến, xử lý dữ liệu và đưa ra lệch điều khiển động cơ để đáp ứng theo yêu cầu của
người lập trình Việc chọn vi điều khiển có đầy đủ chức năng là việc cần thiết và
quan trọng, trên thị trường có nhiều dòng vi điều khiển của nhiều hãng sản xuất
như: 8051, AVG của Atmel, PIC của Microchip, ARM của ST, DSP của Texas
Instruments và nhiều loại khác Trong đề tài này, vi điều khiển được sử dụng làTMS320F28335 của hãng Texas Instruments vì đây là chip có tốc dộ xử lý cao, lại
được hổ trợ từ MATLAB, ngoài ra nhà sản xuất còn tích hợp KIT phát triển giúp
cho việc giao tiếp, lập trình trở nên đơn giản hơn
Hình 3.3- Board vi điều khiển TMS320F28335
Trang 34 Các thông số của vi điều khiển TMS320F28335:
Dung lượng 256KB Flash và 34KB SRAM
Tốc độ xử lý trên 150MHz, nguồn chính 1.9V, các chân I/O là 3.3V
16 kênh chuyển đổi ADC 12 bit
18 kênh điều xung PWM, 2 kênh đọc encoder, 3 bộ Timer 32 bit
88 chân I/O
2 cổng giao tiếp CAN, 3 cổng SCI, 1 cổng giao tiếp SPI và 1 cổng giao tiếp I2C
6 kênh DMA (Direct Memory Access)
Hình 3.4- Sơ đồ của bộ điều khiển dùng trong mô hình xe hai bánh
Trang 354 Chọn cảm biến dùng trong mô hình:
Đối với xe hai bánh tự cân bằng ta quan tâm nhiều đến giá trị góc nghiêng của xe
so với mặt phằng ngang, để xác định góc nghiêng ta cần dùng hai cảm biến làaccelerometer và gyro Tuy nhiên các giá trị thu về chưa thể sử dụng được do cónhiễu nên ta cần phải quan bộ lọc giúp tín hiệu thu về trở thành tín hiệu chuẩn.Trênthị trường có nhiều loại cảm biến acelerometer theo 2 trục, 3 trục và gyroscope theo
2 trục, 3 trục hay như chíp MPU-6050 tích hợp cùng lúc hai cảm biến accelerometer
và gyro có thể giao tiếp vi điều khiển quan chuẩn I2C Trong MPU-6050 có bộchuyển đổi ADC 16 bit nên các giá trị đọc về từ cảm biến là tín hiệu số không cần
bộ qua bộ chuyển đổi ADC của vi điều khiển Tuy nhiên, để kết hợp hai giá trị cảmbiến accelerometer và gyro cho ra giá trị góc lệch ta cần thông qua bộ lọc Kalman
Bộ lọc vừa có tác dụng tổng hợp vừa có tác dụng lọc nhiễu
Hình 3.5- Board cảm biến MPU-6050
Hình 3.6- Sơ đồ chân và kết nối cần thiết của MPU-6050
Trang 36a) Cấu tạo của cảm biến gia tốc góc: accelerometer là cảm biến vi cơ bề mặtthuộc loại điện dung.
Hinh 3.7- Cấu tạo của cảm biến gia tốc góc
Dưới tác dụng của gia tốc làm khoảng cách giữa các vách ngăn thay đổi, sự thay đổinày làm thay đổi giá trị điện dung theo công thức:
= .
Với: A là diện tích vách ngăn,εlà hằng số điện môi và D là khoảng cách giữa các
vách ngăn
Giá trị điện áp ngõ ra tỉ lệ với giá trị gia tốc
b) Cấu tạo của gyro điện tử: dùng tinh thể piezo, khi bị biến dạng thì ở mặt vuônggóc với mặt biến dạng sẽ sinh ra điện thế tỉ lệ thuận với lực tương tác Trong cảmbiến gyro có thanh tinh thể piezo hình trụ, khi cảm biến quay thì thanh tin thể pezo
bị xoắn sẽ tạo ra một hiệu điện thế Tùy theo chiều quay và vận tốc quay mà giá trịhiệu điện thế sinh ra có giá trị lớn hay nhỏ và mang giá trị âm hay dương
Phương pháp hiệu chỉnh giá trị cảm biến trước khi sử dụng:
Đối với cảm biến accelerometer điểm offset của cảm biến sẽ bị trôi do ảnh hưởng
của môi trường làm việc, nhiệt độ và thời gian Sự trôi của điểm offset này ảnh
hưởng đến giá trị đo của cảm biến nên cần phải xác định được và loại bỏ khỏi giá trị
do để đạt giá trị chính xác
Trang 37Có nhiều phương pháp để xác định giá trị offset:
- Manual 0g X, Y, Z full range calibration: quay cảm biến từ vị trí +1g đên -1g vàghi nhận giá trị nhỏ nhất và giá trị lớn nhất Do tính đối xưng, điểm 0g sẽ nằm chínhgiữa khoảng này Tiến hành ở cả ba trục để có giá trị offset tại mỗi trục
- Simple 0g X, Y, Z calibration: cho cảm biến nằm trên mặt phẳng, ghi nhận các giátrị 0g trên trục X và Y Quay cảm biến 900đến vị trí 0g của trục Z ghi nhận giá trịnày Phương pháp này đơn giản nhưng độ chính xác không cao
- Freefall calibration: Cho cảm biến rơi tự do và ghi nhận đồng thời 3 giá trị 0g của
3 trục X, Y, Z Phương pháp này đơn giản, độ chính xác cao nhưng khó thực hiệnkhi cảm biến được gắn vào thiết bị
- Simple 0g X, 0g Y, +1g Z calibration: Đặt cảm biến trên mặt phẳng nhẵn, đọc giátrị 0g của trục X, trục Y và +1g của trục Z Lấy giá trị +1g Z trừ đi độ nhạy của cảmbiến ta được giá trị 0g của trục Z Đặc điểm của phương pháp này là giá trị 0g củatrục X và Y khá chính xác, giá trị 0g của Z thì không cao phù hợp cho việc xác địnhlại giá trị của cảm biến khi đã qua một thời gian sử dụng
Đối với cảm biến gyroscope: dùng để đo sự thay đổi của vận tốc góc của robot Đặt
cảm biến sao cho góc quay của robot trùng hoặc song song với trục quay của cảmbiến Khi cảm biến đứng yên thì giá trị trên cảm biến là giá trị bias, giá trị này cầnphải loại bỏ khi tính toán Độ nhạy trên cảm biến LSB/deg/sec nên vận tốc góc sẽ
có giá trị deg/sec, giá trị này nên được chuyển sang Rad/sec
Hình 3.8- Trục quay của cảm biến vận tốc góc
Phương pháp tính giá trị góc nghiêng và vận tốc góc từ cảm biến:
Đặt cảm biến sao cho trục X, trục Y, trục Z của cảm biến lần lượt song song với
trục X, trục Y và trục Z của xe
Trang 38Xét cảm biến accelerometer:
Hình 3.9- Cách lấp đặt và xác định góc nghiêng của xe
Trong đó aX_S, aY_Slà gia tốc góc thu được từ cảm biến trên trục X, Y
aX_offset, aY_offsetlà giá trị thu được từ hiệu chỉnh cảm biến
S là độ nhạy của cảm biến gia tốc góc
Giá trị vận tốc góc được tín theo công thức:
Trục quay của robot lúc này chính là trục Z
Trong đó: VSlà giá trị thu được từ cảm biến theo trục Z
Vbiaslà giá trị thu được khi robot đứng yên
S là độ nhạy của cảm biến
Trang 39Cảm biến encoder: được sử dụng để đo quãng đư ờng di chuyển của xe Cảm biến
được sử dụng là cảm biến rời 400 xung gồm 4 dây: dây nguồn 5V, GND, tín hiệu A
và tín hiệu B Tốc độ có thể đạt đến 5.000.000 xung/phút
Cấu tạo gồm: đĩa đục lỗ, nguồn phát quang và đầu thu
Hình 3.10- Cảm biến encoder
Hình 3.11- Cấu tạo bên trong của encoder
Để xác định quãng đường di chuyển dựa vào encoder: tín hiệu A và B lệch pha nhau
1 góc 90 độ, tín hiệu I có thể có hoặc không Trong đề tài chỉ sử dụng encoder có 2
tín hiệu A và B nên sẽ không đề cập đến tín hiệu I Việc xác định quãng đường dichuyển ta chỉ cần đếm xung ở một tín hiệu A hoặc B, nếu đủ 400 xung nghĩa là
bánh xe đã quay đủ 1 vòng Quãng đường chính là chu vi của bánh xe Vậy quãngđường được là= . , với n là số xung encoder và d là đường kính bánh xe Việc
so sánh tín hiệu A và B nhầm mục đích tín toán chiều quay của động cơ, từ đó tín
được số xung hiện tại
Trang 40Chương 4 – MÔ PHỎNG DÙNG PHẦN MỀM
MATLAB-SIMULINK
1 Mô phỏng mô hình xe hai bánh:
Dựa vào phương trình trạng thái của xe hai bánh (2-27) ta có mô hình:
Hình 4.1- Sơ đồ khối của mô hình xe hai bánh từ phương trình trạng thái
2 Thuật toán điều khiển:
Bộ điều khiển gồm hai thành phần: Bộ điều khiển trượt bám điều khiển góc nghiêngkết hợp với bộ điều khiển PD vị trí