Tải bản đầy đủ (.pdf) (80 trang)

đề tài nghiên cứu và thiết kế hệ xe hai bánh tự cân bằng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (11.2 MB, 80 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>121Equation Chapter 1 Section 2</b>

<b>TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINHKHOA ĐIỆN – ĐIỆN TỬ</b>

<b>ĐỒ ÁN HỌC PHẦN 2</b>

<b>ĐỀ TÀI: “NGHIÊN CỨU VÀ THIẾT KẾ HỆ XE HAI BÁNH TỰ CÂN BẰNG”</b>

<b>GVHD: TS. Nguyễn Trần Minh Nguyệt Nhóm sinh viên thực hiện: </b>

<b>1 Trương Trí Kiệt 19161127</b>

<b>TP. HỒ CHÍ MINH – 7/2021</b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>LỜI CẢM ƠN</b>

Chúng em chân thành cảm ơn, quý thầy cô trong khoa Điện – Điện tử trường Đại học Sư Phạm Kỹ Thuật TP.HCM nói chung và quý thầy cô bộ môn Điều khiển tự động nói riêng, đã trang bị kiến thức và giúp đỡ chúng em, giải quyết những khó khăn, hỗ trợ phương tiện thí nghiệm trong suốt q trình tìm hiểu và nghiên cứu đề tài.

Đặc biệt chúng em xin chân thành cảm ơn giảng viên hướng dẫn là ThS. Nguyễn Trần Minh Nguyệt đã tận tình giúp đỡ trong quá trình lựa chọn đề tài và hỗ trợ sinh viên trong quá trình thực hiện.

Tuy nhiên do lần đầu tiên thực hiện đồ án với đề tài “Nghiên cứu và thiết kế hệ xe hai bánh tự cân bằng” và làm quen với các giải thuật điều khiển mới, chun mơn cịn hạn chế, nên khơng tránh khỏi những sai sót. Chúng em rất mong nhận được sự thơng cảm, góp ý và hướng dẫn của quý thầy cô, các anh chị cùng các bạn.

Xin chúc quý thầy cô nhiều sức khoẻ, thành công trong công việc, cuộc sống và tiếp tục đào tạo các sinh viên giỏi góp phần đóng góp cho nhà trường, đất nước. Chúc các anh chị, cùng các bạn trong khoá sức khoẻ, học tập thật tốt để chuẩn bị kiến thức vững vàng trong tương lai.

<b>TP Hồ Chí Minh, ngày … tháng … năm 2021Nhóm Sinh viên thực hiện</b>

Trương Trí Kiệt – Lê Văn Hà

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>NHẬN XÉT CỦA GIÁO VIÊN</b>

<b>TP Hồ Chí Minh, ngày … tháng … năm 2021Giáo viên hướng dẫn</b>

Ths. Nguyễn Trần Minh Nguyệt

ii

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b>TÓM TẮT ĐỀ TÀI</b>

Đề tài “Nghiên cứu và thiết kế hệ xe hai bánh tự cân bằng” được nhóm thực hiện dựa trên lý thuyết mơ hình con lắc ngược. Qua so sánh và phân tích ưu nhược điểm của một số bộ điều khiển có thể sử dụng cho hệ xe hai bánh tự cân bằng, nhóm đã quyết định sử dụng giải thuật điều khiển tồn phương tuyến tính LQR (Linear Quadratic Regulator) để điều khiển và tiến hành mơ phỏng trên MATLAB. Thơng qua đó để nghiên cứu giải thuật LQR và ứng dụng để điều khiển hệ xe hai bánh tự cân bằng.

Trong đề tài nhóm thực hiện so sánh các trường hợp sử dụng bộ điều khiển tồn phương tuyến tính LQR cho hệ thống đối với trường hợp có nhiễu hệ thống, nhiễu đo lường từ cảm biến và trường hợp hệ không chịu tác động của nhiễu. Nhóm sẽ kiểm nghiệm những điểm giống và khác nhau trong các trường hợp đồng thời ứng dụng bộ lọc Kalman để quan sát, ước lượng trạng thái, lọc nhiễu cho hệ thống. Qua đó, đưa ra ưu nhược điểm và cách khắc phục để hệ thống điều khiển xe cân bằng đạt trạng thái ổn định nhất có thể.

Đồ án nãy cũng sẽ trình bày về thiết kế hệ thống. Về phần cứng bao gồm lựa chọn các thiết bị phù hợp cho hệ thống, thiết kế mơ hình trên SolidWorks,… Về phần mềm bao gồm giải thuật điều khiển và lưu đồ hệ thống: điều khiển tồn phương tuyến tính LQR cho động cơ, xử lý tín hiệu từ cảm biến,… đồng thời thiết kế giao diện giám sát hệ thống lập trình bằng ngôn ngữ C#.

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b>DANH MỤC CÁC TỪ VIẾT TẮT...ix</b>

<b>CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI...1</b>

<b>1.1 Đặt vấn đề...1</b>

<b>1.2 Mục tiêu đề tài... 3</b>

<b>1.3 Giới hạn đề tài...4</b>

<b>1.4 Phương pháp nghiên cứu...4</b>

<b>1.5 Nội dung đề tài...5</b>

<b>CHƯƠNG 2: CƠ SỞ LÝ THUYẾT...6</b>

<b>2.1 Đặc tính động lực học...6</b>

<b>2.2 Một số phương pháp điều khiển có thể sử dụng cho hệ thống...11</b>

2.2.1 Bộ điều khiển vi tích phân tỉ lệ...11

2.2.2 Bộ điều khiển vi tích phân tỉ lệ kết hợp với giải thuật di truyền...11

2.2.3 Bộ điều khiển mờ...12

2.2.4 Bộ điều khiển tối ưu...13

<b>2.3 Điều khiển tồn phương tuyến tính...14</b>

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>2.4 Sơ đồ mô phỏng hệ thống trên MATLAB Simulink...20</b>

<b>CHƯƠNG 3: THIẾT KẾ PHẦN CỨNG...25</b>

<b>3.1 Yêu cầu thiết kế...25</b>

<b>3.2 Sơ đồ khối hệ thống...25</b>

<b>3.3 Lựa chọn thiết bị phần cứng...27</b>

3.3.1 Khối điều khiển trung tâm...27

3.3.2 Khối cảm biến đo góc nghiêng...29

3.3.3 Khối điều khiển động cơ...31

3.3.4 Khối động cơ và cảm biến đọc xung của động cơ...33

<b>4.1 Yêu cầu thiết kế...40</b>

<b>4.2 Xây dựng thuật toán điều khiển...40</b>

4.2.1 Thuật toán chương trình chính...41

4.2.2 Thuật tốn xử lý xung trả về từ encoder và tính tốn giá trị góc tới, góc xoay... 42

4.2.3 Thuật toán đọc và xử lý giá trị từ cảm biến góc nghiêng...45

4.2.4 Thuật tốn tính xung băm PWM mỗi bánh với giải thuật LQR và điều khiển

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

5.1.1 Kết quả thiết kế mơ hình và mô phỏng...50

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b>DANH MỤC BẢNG VÀ HÌNH Ả</b>

Bảng 2.1 Kí hiệu và ý nghĩa các đại lượng...7

Bảng 2.2 Thơng số mơ hình...21

Bảng 3.1 Bảng kết nối chân của cảm biến MPU6050...31

Bảng 3.2 Bảng kết nối chân của mạch cầu H L298N...33

Bảng 3.3 Bảng kết nối chân của động cơ và encoder...35

Bảng 3.4 Bảng đi dây phần nguồn...39

Bảng 3.5 Bảng đi dây phần tín hiệu điều khiển...39

Y Hình 1.1 Xe dạng ba bánh khi di chuyển trên địa hình bằng phẳng...2

Hình 1.2 Xe dạng ba bánh khi đi lên dốc...2

Hình 1.3 Xe dạng ba bánh khi đi xuống dốc...2

Hình 1.4 Xe hai bánh di chuyển trên các địa hình khác nhau theo hướng bảo tồn sự thăng bằng...3

Hình 2.1 Mơ hình xe hai bánh tự cân bằng trên mặt phẳng...6

Hình 2.2 Cấu trúc cơ bản của bộ điều khiển mờ...12

Hình 2.3 Sơ đồ khối của bộ lọc Kalman...14

Hình 2.4 Sơ đồ khối của bộ điều khiển tồn phương tuyến tính (LQR)...15

Hình 2.5 Khối Two-wheeled Self Balancing Robot trong MATLAB Function...22

Hình 2.6 Sơ đồ mơ phỏng hệ thống trong trường hợp 1...22

Hình 2.7 Sơ đồ mơ phỏng hệ thống trong trường hợp 2...23

Hình 2.8 Sơ đồ mơ phỏng hệ thống trong trường hợp 3...23

Hình 2.9 Sơ đồ mơ phỏng hệ thống trong trường hợp 4...24

Hình 3.1 Sơ đồ khối hệ thống...26

Hình 3.2 Sơ đồ chân kết nối của Arduino Mega 2560 Rev3...29

Hình 3.3 Cảm biến góc nghiêng GY-521 6DOF IMU MPU6050...31

Hình 3.4 Sơ đồ nối dây cảm biến với Arduino Mega 2560...31

Hình 3.5 Mạch cầu H điều khiển động cơ DC L298N (Dual Full Bridge Driver)...33

Hình 3.6 Động cơ DC Servo GM25-370 DC Geared Motor...35

Hình 3.7 Các thiết bị trong khối cấp nguồn...37

Hình 3.8 Sơ đồ cấp nguồn cho hệ thống...37

Hình 3.9 Các thành phần để xây dựng khung xe...38

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

Hình 4.1 Lưu đồ thuật tốn chương trình chính...41

Hình 4.2 Lưu đồ chương trình ngắt xử lý xung trả về từ encoder...42

Hình 4.3 Lưu đồ tính tốn giá trị góc tới và góc xoay...43

Hình 4.4 Lưu đồ thuật toán đọc và xử lý giá trị từ cảm biến góc nghiêng...45

Hình 4.5 Lưu đồ thuật tốn tính xung băm PWM mỗi bánh với giải thuật LQR...46

Hình 4.6 Lưu đồ thuật tốn điều khiển động cơ...47

Hình 4.7 Lưu đồ đọc và biểu diễn đồ thị...48

Hình 4.8 Giao diện giám sát hệ thống...49

Hình 5.1 Mơ hình hệ xe hai bánh tự cân bằng...50

Hình 5.2 Đáp ứng của góc tới, góc nghiêng, góc xoay của xe trong trường hợp 1...52

Hình 5.3 Đáp ứng của góc tới, góc nghiêng, góc xoay của xe trong trường hợp 2...52

Hình 5.4 Tín hiệu điều khiển của xe trong trường hợp 2...53

Hình 5.5 Đáp ứng của góc tới, góc nghiêng, góc xoay của xe trong trường hợp 3...53

Hình 5.6 Tín hiệu điều khiển của xe trong trường hợp 3...54

Hình 5.7 Đáp ứng của góc tới, góc nghiêng, góc xoay của xe khi chịu tác động của nhiễu trong trường hợp 4...55

Hình 5.8 Đáp ứng của góc tới, góc nghiêng, góc xoay của xe sau khi qua bộ lọc Kalman trong trường hợp 4...55

Hình 5.9 Tín hiệu điều khiển của xe trong trường hợp 4...56

Hình 5.10 Mơ hình phần cứng thi cơng thực tế hướng trực diện...56

Hình 5.11 Mơ hình phần cứng thi cơng thực tế hướng nằm ngang...57

Hình 5.12 Mơ hình phần cứng thi cơng thực tế hướng chéo...57

Hình 5.13 Khảo sát góc nghiêng của xe khi qua bộ lọc Kalman...58

Hình 5.14 Khảo sát góc nghiêng của xe trả về khi xe hoạt động...58

viii

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

Multiple Output

Hệ thống nhiều đầu vào nhiều đầu ra

Read Only Memory

Bộ nhớ chỉ đọc có thể lập trình xố được

Khối đo lường qn tính

Access Memory

Bộ nhớ truy cập ngẫu nhiên tĩnh

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<b>CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI1.1 Đặt vấn đề</b>

Trong ngành tự động hóa – điều khiển tự động nói chung và điều khiển học nói riêng, mơ hình con lắc ngược là một trong những đối tượng nghiên cứu điển hình và đặc thù bởi đặc tính động khơng ổn định của mơ hình nên việc điều khiển được đối tượng này trên thực tế đặt ra như một thử thách.

Kết quả nghiên cứu mơ hình con lắc ngược cơ bản, ví dụ như mơ hình xe con lắc, con lắc ngược quay… có thể ứng dụng và kế thừa sang các mơ hình tương tự khác nhưng có tính ứng dụng thực tiễn hơn, chẳng hạn như mơ hình tên lửa, mơ hình xe hai bánh tự cân bằng,…

Như vậy, để cân đối giữa tính cơ bản với tính ứng dụng thực tiễn nhưng vẫn đảm bảo quy mô nghiên cứu nằm trong khả năng cho phép, xe hai bánh tự cân bằng được chọn làm xuất phát điểm cho ý tưởng về đề tài nghiên cứu.

Xe hai bánh tự cân bằng được xem như cầu nối kinh nghiệm giữa mơ hình con lắc ngược với robot hai chân và robot giống người. Đây là dạng xe có hai bánh đồng trục, do đó khắc phục được những nhược điểm vốn có của các robot hai hoặc ba bánh kinh điển. Các xe ba hoặc bốn bánh kinh điển, theo đó có cấu tạo gồm hai bánh dẫn động và môt hoặc hai bánh tự do (hay bất kì cái gì khác) để đỡ trọng lượng xe.

Thiết kế của xe ba hoặc bốn bánh có thể di chuyển tốt trên địa hình phẳng nhưng khơng thể di chuyển lên xuống trên địa hình lồi lõm hoặc mặt phẳng nghiêng. Khi di chuyển lên đồi, trọng lượng robot dồn vào đuôi xe làm mất khả năng bám và trượt ngã. Khi di chuyển xuống đồi, trọng tâm thay đổi về phía trước làm xe bị lật úp.

Xe dạng ba bánh xe di chuyển trên địa hình bằng phẳng trọng lượng được chia đều cho bánh lái và bánh dẫn nhỏ.

1

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

Hình 1.1 Xe dạng ba bánh khi di chuyển trên địa hình bằng phẳng Xe dạng ba bánh khi lên dốc, trọng lượng dồn vào bánh trước khiến lực ma sát giúp xe bám trên mặt đường khơng được đảm bảo.

Hình 1.2 Xe dạng ba bánh khi đi lên dốc

Xe dạng ba bánh khi xuống dốc, trọng lực dồn vào bánh sau khiến xe có thể bị lật úp.

Hình 1.3 Xe dạng ba bánh khi đi xuống dốc

Ngược lại, các xe dạng hai bánh đồng trục lại thăng bằng rất linh động khi di chuyển trên địa hình phức tạp, mặc dù bản thân robot là một hệ thống không ổn định. Khi xe di chuyển trên địa hình dốc, nó tự động nghiêng ra trước và giữ cho trọng lượng dồn về hai bánh chính. Tương tự, khi di chuyển xuống dốc, nó nghiêng ra sau và

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

giữ trọng tâm rơi vào bánh chính. Vì vậy, khơng bao giờ có hiện tượng trọng tâm xe rơi ngoài vùng đỡ bánh xe để có thể gây ra lật úp.

Hình 1.4 Xe hai bánh di chuyển trên các địa hình khác nhau theo hướng bảo tồn sự thăng bằng

Đối với những địa hình lồi lõm, ưu điểm về khả năng thăng bằng và di chuyển linh hoạt của xe hai bánh sẽ mang lại được ý nghĩa thực tiễn trong giới hạn ổn định hơn là đối với xe ba bánh truyền thống. Qua đó, xe hai bánh tự cân bằng cũng nhận được sự quan tâm từ nhiều nhà nghiên cứu và các hãng sản xuất robot trên toàn thế giới. Nhiều ứng dụng của xe hai bánh tự cân bằng như về phương tiện di chuyển và bảo vệ môi trường có xe điện hai bánh balancing scooter hay segway; về khả năng tự hành, phục vụ vận chuyển hàng hoá vật phẩm hay vận chuyển trong môi trường khắc nghiệt; về nghiên cứu vũ trụ có xe phục vụ do thám các địa hình khơng phẳng ngồi khơng gian,… và những ứng dụng thực tế khác.

<b>1.2 Mục tiêu đề tài</b>

Mục tiêu của đề tài là xây dựng mơ hình xe hai bánh tự cân bằng dựa trên nền tảng lý thuyết mơ hình con lắc ngược. Khả năng di chuyển cân bằng trên hai bánh làm phương tiện di chuyển hiệu quả và linh động hơn, dễ dàng xoay xở trong các không

3

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

gian chật hẹp. Trong thời gian làm đề tài, những mục tiêu của đề tài được đặt ra như

- Tìm hiểu và áp dụng Bộ lọc Kalman để lọc nhiễu cho cảm biến, xây dựng các thuật tốn bù trừ để có giá trị góc chính xác.

- Xây dựng mơ hình và mơ phỏng trên MATLAB Simulink. - Xây dựng thuật toán điều khiển động cơ, giữ thăng bằng cho robot.

- Thiết kế, thi cơng và lập trình điểu khiển cho mơ hình xe hai bánh tự cân bằng. - Thiết kế giao diện để quan sát tín hiệu trả về từ cảm biến của xe.

<b>1.3 Giới hạn đề tài</b>

Trong khuôn khổ đề tài này, chỉ xét và nghiên cứu:

- Mơ hình xe hai bánh tự cân bằng sử dụng bộ điều khiển LQR để hệ thống có chỉ tiêu chất lượng trong miền thời gian thoả yêu cầu chất lượng hệ thống (độ vọt lố, thời gian quá độ). Tuy nhiên việc lựa chọn bộ tham số LQR để hệ thống đạt được chất lượng tối ưu nhất hay các kỹ thuật điều khiển khác nằm ngồi phạm vi đề tài.

- Mơ hình xe hai bánh tự cân bằng chỉ đứng cân bằng chưa thể di chuyển tiến lùi, quay vòng hay lên xuống dốc được.

- Mơ hình xe kích thước nhỏ ,vùng hoạt động trong không gian hẹp không đặt lên được các vật thể để xét khả năng di chuyển cân bằng.

- Mơ hình xe thực hiện trong đề tài chỉ giao tiếp đọc tín hiệu trả về thơng qua truyền thơng kết nối USB trực tiếp với máy tính, chưa thể xét tới việc điều khiển và truyền nhận tín hiệu từ xa.

<b>1.4 Phương pháp nghiên cứu</b>

Dựa trên những kiến thức thực tế, mơ hình tốn học của hệ xe hai bánh cân bằng đã được chỉ rõ. Nhóm tiến hành sử dụng bộ điều khiển phù hợp giúp xe giữ thăng bằng theo những yêu cầu chất lượng được đặt ra.

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

Xây dựng mơ hình lý thuyết xe hai bánh tự cân bằng, mô phỏng trên MATLAB Simulink và thực hiện tính tốn các thơng số cho bộ điều khiển LQR.

Xây dựng mơ hình thực gồm:

- Thiết kế cơ khí: khung sườn của mơ hình.

- Ứng dụng các mạch điện tử, mạch công suất (điều khiển bánh xe).

- Mạch cảm biến (góc, vận tốc, gia tốc) và phương pháp bù trừ giá trị cảm biến để ước lượng lọc nhiễu.

- Bộ điều khiển trung tâm. - Lập trình vi xử lý.

<b>1.5 Nội dung đề tài</b>

Phần cịn lại của đề tài có nội dung như sau: Chương 2. Cơ sở lý thuyết

Ở chương 2, mô tả về mơ hình tốn học của hệ xe hai bánh tự cân bằng trên địa hình phẳng. Đồng thời nêu cơ sở lý thuyết, kiến thức nền tảng một bộ điều khiển có thể sử dụng để điều khiển đối tượng.

Chương 3. Thiết kế phần cứng

Trong chương này các giải pháp về phần cứng cho mơ hình được xem xét và lựa chọn phù hợp với yêu cầu hệ thống được đề ra, tiến hành thi cơng và thực hiện hố mơ hình hệ xe hai bánh tự cân bằng.

Chương 4. Thiết kế phần mềm

Chương này thực hiện xây dựng thuật tốn để lập trình điều khiển và lập trình giao diện giám sát hệ thống.

Chương 5. Kết quả thực hiện

Trong chương này trình bày các kết quả thực hiện được thông qua mô phỏng trên MATLAB Simulink và thực nghiệm trên phần mềm giám sát. Đồng thời đưa ra hạn chế còn gặp của đề tài và hướng phát triển nghiên cứu đề tài trong tương lại.

5

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

<b>CHƯƠNG 2: CƠ SỞ LÝ THUYẾT2.1 Đặc tính động lực học</b>

Xây dựng hệ phương trình trạng thái mơ tả hệ thống xe hai bánh tự cân bằng

Hình 2.5 Mơ hình xe hai bánh tự cân bằng trên mặt phẳng

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

, [ ]

Bảng 2.1 Kí hiệu và ý nghĩa các đại lượng

Sử dụng phương pháp Euler-Lagrange để xây dựng mơ hình động học. Giả sử tại thời điểm t = 0, robot di chuyển theo chiều dương trục x, ta có các phương trình sau:

Góc tịnh tiến trung bình của hai bánh xe và góc xoay của robot được xác định như sau:

7

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

Phương trình động năng của chuyển động quay:

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

Sử dụng phương pháp PWM để điều khiển động cơ nên chuyển từ dòng điện sang điện áp động cơ:

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

cos 2 2 sin sin cos

<b>2.2 Một số phương pháp điều khiển có thể sử dụng cho hệ thống2.2.1 Bộ điều khiển vi tích phân tỉ lệ </b>

Bộ điều khiển PID là bộ điều khiển vịng kín, có sự kết hợp của ba bộ điều khiển: tỉ lệ, tích phân và vi phân có khả năng điều chỉnh sai số thấp nhất có thể, tăng tốc độ đáp ứng, giảm độ vọt lố, hạn chế sự dao động. Bộ điều khiển dễ dàng thiết kế

Hàm truyền của bộ điều khiển PID:

- Việc ta thiết kế bộ điều khiển PID ta phải tìm ba thơng số của PID với hệ thống MIMO thì ta cần nhiều bộ PID để khiều khiển, với việc ta dùng nhiều bộ PID thì

xác được mà phải dựa vào kinh nghiệm.

- Bộ điều khiển PID khi ta thay đổi các thông số cơ bản của hệ thống thì 3 thơng số ta tìm được nó khơng chính xác và độ ổn định của hệ thống bị thay đổi theo.

<b>2.2.2 Bộ điều khiển vi tích phân tỉ lệ kết hợp với giải thuật di truyền</b>

Với bộ điều khiển PID đã giới thiệu trước đó, nó có nhiều ưu điểm như việc tìm các thống số của bộ điều khiển ta phải dựa vào kinh nghiệm hoặc khi ta thay đổi khối lượng của vật thì làm cho tính ổn định của hệ thống khơng cịn ổn định.

11

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

Thuật toán giải thuật di truyền GA là thuật toán tối ưu ngẫu nhiên dựa trên cơ chế chọn lục tự nhiên và tiến hóa di truyền. Được ứng dụng đầu tiền trong 2 lĩnh vực chính: tối ưu hóa và học tập của máy. Nó được áp dụng vào bộ điều khiển PID nhầm cải thiện việc khi ta thay đổi các giá trị của hệ thống thì GA sẽ tìm và đưa ra giá trị tối ưu cho hệ thống.

Về mặt ưu điểm: Giúp cho hệ thống có thể hoạt động được khi ta thay đổi các giá trị của hệ thống như: khối lượng, kích thước,…

Về mặt nhược điểm: Thời gian tính tốn các số liệu dựa nhiều về phần cứng, kết quả tìm được có thể làm cho RAM của vi điều khiển tràn và khơng tính được.

<b>2.2.3 Bộ điều khiển mờ</b>

Điều khiển mờ là phương pháp điều khiển bắt chước q trình xử lý thơng tin khơng rõ ràng và ra quyết định điều khiển của con người.

Cơ sở toán học của bộ điều khiển mờ được Zadeh đưa ra từ năm 1965. Ngày nay, nó được sử dụng rộng rãi hơn trong lĩnh vực điều khiển tự động. Các suy luận mờ được xây dựng nhờ vào lối suy luận logic của con người.

Một bộ điều khiển mờ cơ bản có cấu trúc như sau:

Hình 2.6 Cấu trúc cơ bản của bộ điều khiển mờ

- Tiền xử lý: chuẩn hoá hoặc tỷ lệ giá trị đo vào tầm giá trị chuẩn, lọc nhiễu. - Mờ hóa: chuyển giá trị rõ phản hồi từ ngõ ra của đối tượng thành giá trị mờ để hệ quy tắc có thể suy luận được.

- Hệ quy tắc mờ: rút ra từ kinh nghiệm chuyên gia trong việc điều khiển đối tượng.

- Phương pháp suy diễn: từ hệ quy tắc được xây dựng sẽ có các phương pháp để tìm ngõ ra tương ứng qua khối giải mờ .

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

- Giải mờ: chuyển giá trị mờ suy luận được ở ngõ ra của hệ quy tắc thành các giá trị rõ để điều khiển đối tượng.

- Hậu xử lý: tỷ lệ giá trị sau khi giải mờ thành giá trị vật lý để điều khiển hệ thống.

Về mặt ưu điểm:

- Dễ thiết kế vì tập mờ và các mệnh đề mờ được xây dựng dựa trên lối suy luận của con người.

- Tính linh hoạt cao.

- Vì được ra đời lâu nên các luật mờ có thể dễ tìm được trên mạng và thay đổi chúng cho phù hợp với hệ thống thực tế.

- Có thể liên kết với bộ điều khiển PID để tăng tính ổn định của hệ thống. Nhược điểm:

- Nếu lối suy luận của ta sai thì kết quả cho ra có thể sai.

- Quá trình giải mờ tùy vào việc ta lựa chọn mơ hình nào có thể khiến độ chính xác của kết quả cho được không đúng.

- Với hệ thống phức tạp nhiều đầu vào nhiều đầu ra thì ta cần nhiều tập cơ sở khác nhau và các luật mờ khác nhau. Điều này có thể khiến cho hệ thống rắc rối hơn để thiết kế.

- Do suy luận để thiết kế nên không nắm rõ được bản chất, mô hình hệ thống. - Địi hỏi vi điều khiển có tốc độ xử lý nhanh, tốt và bộ nhớ cao.

<b>2.2.4 Bộ điều khiển tối ưu</b>

Một hệ điều khiển được thiết kế ở chế độ làm việc tốt nhất là hệ thống luôn ở trạng thái tối ưu theo một tiêu chuẩn chất lượng nào đó (đạt được giá trị cực trị).

Có nhiều bài tốn điều khiển tối ưu, tuỳ theo: - Loại đối tượng điều khiển.

- Miền thời gian liên tục hay rời rạc. - Chỉ tiêu chất lượng.

- Bài tốn tối ưu có ràng buộc hay khơng. 13

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

Có hai phương pháp điều khiển tối ưu chính:

- Điều khiển tối ưu tĩnh: chỉ tiêu chất lượng không phụ thuộc thời gian. - Điều khiển tối ưu động: chỉ tiêu chất lượng phụ thuộc thời gian, có các phương pháp sau:

+ Bài tốn chỉnh tồn phương tuyến tính (Linear Quadratic Regulator – LQR). + Bài tốn điều khiển tối ưu H2.

+ …

Khảo sát ưu và nhược điểm của bộ điều khiển tối ưu sử dụng phương pháp tồn phương tuyến tính (LQR) như sau:

Về mặt ưu điểm:

- Hệ thống vẫn ổn định ngay cả khi ta thay đổi đặc tính trên hệ thống. - Có thể thiết kế với các hệ thống phi tuyến phức tạp.

- Kết quả cho ra tính ổn định cao. Về mặt nhược điểm:

- Tính tốn ma trận của bộ điều khiển LQR rất phức tạp.

- Việc lựa chọn ma trận trọng lượng thích hợp ở chỉ tiêu chất lượng rất quan trọng vì nó ảnh hưởng rất nhiều đến kết quả tính hố.

- Nếu chịu ảnh hưởng của nhiễu hệ thống và nhiễu đo lường tác động vào hệ thống thì sẽ gây khó khăn khi cân bằng, tín hiệu điều khiển không ổn định nhiều gai gây ảnh hưởng tới động cơ.

Qua phân tích về ưu nhược điểm của từng bộ điều khiển trình bày ở trên thì nhóm quyết định xây dựng và mô phỏng hệ xe hai bánh tự cân bằng sử dụng bộ điều khiển toàn phương tuyến tính (LQR) để thực hiện khảo sát trong đề tài.

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

<b>2.3 Điều khiển toàn phương tuyến tính</b>

Giả sử nhiễu hệ thống và nhiễu đo lường có phân bố Gauss, khơng tương quan, có trung bình bằng 0 và phương sai là:

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

<b>2.3.2 Bài tốn điều khiển tồn phương tuyến tính liên tục</b>

Hình 2.8 Sơ đồ khối của bộ điều khiển toàn phương tuyến tính (LQR) Trong đề tài này, chỉ xét bài tốn LQR liên tục thời gian vô hạn. Đối tượng tuyến tính mơ tả bởi phương trình trạng thái:

Chú ý: trong trường hợp này K và P là không phụ thuộc vào thời gian Giá trị cực tiểu của chỉ tiêu chất lượng:

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

<b>2.3.4 Khảo sát tính điều khiển được và quan sát được của hệ thống</b>

Ma trận C quan sát được ba biến trạng thái là góc tịnh tiến trung bình của hai bánh xe , góc nghiêng của robot , góc xoay của robot được thể hiện như sau:

Suy ra hệ thống điều khiển được và quan sát được.

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

Với các thông số Q Q Q Q Q Q R R để tinh chỉnh cho bộ điều khiển.<small>1</small>, , , , , , ,<small>2345612</small>

góc trung bình của bánh trái và bánh phải , vận tốc góc trung bình của bánh trái và bánh phải , góc nghiêng của robot , vận tốc góc nghiêng của robot , góc xoay

biến trạng thái nào được ưu tiên trong việc điều khiển thì ta cho thơng số trọng số

Sau khi chọn được thơng số điều khiển tương ứng thì ta tiến hành xây dựng

phương trình đại số 243.

<b>2.4 Sơ đồ mơ phỏng hệ thống trên MATLAB Simulink</b>

Mô phỏng hệ thống với thơng số mơ hình như sau:

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

Sau khi tuyến tính hoá hệ thống ta được hệ phương trình trạng thái dạng

Hình 2.9 Khối Two-wheeled Self Balancing Robot trong MATLAB Function Trường hợp 1: Khi không điều khiển và hệ thống chịu tác động của nhiễu:

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

Hình 2.10 Sơ đồ mô phỏng hệ thống trong trường hợp 1

Trường hợp 2: Khi sử dụng bộ điều khiển LQR và hệ thống khơng chịu tác động của nhiễu:

Hình 2.11 Sơ đồ mô phỏng hệ thống trong trường hợp 2

Trường hợp 3: Khi sử dụng bộ điều khiển LQR và hệ thống chịu tác động của nhiễu:

23

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

Hình 2.12 Sơ đồ mô phỏng hệ thống trong trường hợp 3

Trường hợp 4: Khi sử dụng bộ điều khiển LQR kết hợp với bộ lọc Kalman để lọc nhiễu cho hệ thống:

Hình 2.13 Sơ đồ mơ phỏng hệ thống trong trường hợp 4 723Equation Section (Next)

</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">

<b>CHƯƠNG 3: THIẾT KẾ PHẦN CỨNG3.1 Yêu cầu thiết kế</b>

Để thiết kế phần cứng đảm bảo cho xe hoạt động cần lựa chọn các thiết bị phù hợp với các yêu cầu sau:

- Đảm bảo tổng khổi lượng của xe để động cơ có thể kéo cân bằng được. - Nguồn cung cấp đủ cho hệ thống hoạt động.

- Khung xe chắc chắn.

- Cảm biến trả tín hiệu về tránh tối đa nhiễu và sai số. - Khảo sát hoạt động trong thời gian ngắn.

- Động cơ moment đủ để kéo tải.

- Vi điều khiển đầy đủ chuẩn giao tiếp với máy tính và các cảm biến, đảm bảo xử lý tín hiệu nhanh.

<b>3.2 Sơ đồ khối hệ thống</b>

Sơ đồ khối mô tả hệ thống được chia thành các thành phần sau: - Bộ khung xe.

- Tầng đáy: Khối động cơ và cảm biến đọc xung của động cơ. - Tầng thứ nhất: Khối điều khiển động cơ.

- Tầng thứ hai: Khối điều khiển trung tâm và Khối cảm biến đo góc nghiêng. - Tầng thứ ba: Khối nguồn.

25

</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">

Hình 3.14 Sơ đồ khối hệ thống Chức năng của từng khối từng khối:

- Bộ khung xe: cố định từng khối thành phần của xe với nhau, lựa chọn kích thước chiều dài chiều rộng phù hợp để có thể chứa vừa các khối thành phần đã được nêu và dễ dàng cân bằng được.

- Khối cảm biến đo góc nghiêng có nhiệm vụ đọc dữ liệu trả về và gửi tín hiệu đó về Khối điều khiển trung tâm xử lý ra giá trị góc nghiêng của xe.

- Khối điều khiển trung tâm là một vi điều khiển, có nhiệm vụ chính là xử lý tất cả dữ liệu đọc về từ Khối đo góc nghiêng và Khối cảm biến đọc xung của động cơ, xử lý các thuật tốn điều khiển đưa ra tín hiệu để điều khiển Khối điều khiển động cơ.

- Khối điều khiển động cơ: nhiệm vụ là nhận tín hiệu từ Khối điều khiểu trung tâm để cấp điện áp ra phù hợp để điều khiển Khối động cơ.

- Khối động cơ và cảm biến đọc xung của động cơ: nhận điện áp cấp từ Khối điều khiển động cơ điều khiển xe di chuyển qua lại, nhanh, chậm, dừng để cho xe có thể đạt được trạng thái cân bằng. Ngồi ra cịn có một bộ mã hố quay encoder để trả về tín hiệu số xung đọc được, từ đó qua Khối điều khiển trung tâm xử lý có thể xác định chính xác được vị trí, tốc độ quay và chiều quay động cơ.

</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37">

- Khối nguồn: cấp nguồn ổn định cho Khối điều khiển trung tâm, Khối điều khiển động cơ.

<b>3.3 Lựa chọn thiết bị phần cứng3.3.1 Khối điều khiển trung tâm</b>

Khối điều khiển trung tâm là một vi điều khiển có nhiệm vụ xử lý dữ liệu đọc về từ cảm biến đo góc nghiêng và bộ mã hố quay encoder từ đó xử lý các thuật tốn về điều khiển xuất ra tín hiệu đến Khối điều khiển động cơ.

Cấu tạo chung của vi điều khiển bao gồm: Vi xử lý được kết nối với các port ngoại vi, các chân I/O, chân Analog đo từ giá trị 0-5V, port truyền thông bằng giao thức RS232, các chức năng ngắt ngoại/nội để kết nối đọc chân encoder, timer/counter, giao thức I2C để truyền/nhận dữ liệu nối tiếp đến vi điều khiển xử lý, chân cấp nguồn, ROM, RAM, EPROM,…

Khối điều khiển trung tâm phải có tốc độ xử lý nhanh với hiệu suất làm việc cao. Một số Board vi điều khiển có thể xử dụng như Arduino Uno R3, STM32F4, Rasberry, họ vi điều khiển PIC,…

Để thực hiện đề tài này chúng tôi sử dụng Board Arduino Mega 2560 Rev3 với các ưu điểm sau:

- Có số lượng chân I/O kết nối nhiều hơn so với Arduino Uno R3 có thể thoải mái trong việc đi dây hệ thống.

- Tốc độ xử lý phù hợp, có nhiều chân ngắt ngoại để đọc tín hiệu từ bộ mã hố quay encoder trả về để điều khiển chính xác tốc độ, vị trí và chiều quay của động cơ.

- Có giao tiếp I2C để đọc tín hiệu trả về giá trị góc nghiêng từ cảm biến góc nghiêng IMU.

- Giá thành rẻ, thư viện hỗ trợ nhiều và cộng đồng người sử dụng lớn nên có thể dễ dàng lập trình và tìm kiếm thơng tin nhanh chóng.

- Có nhiều chân hỗ trợ xuất xung PWM.

- Có nhiều tính năng nổi bật, chứa mọi thứ để hỗ trợ vi điều khiển.

- Có nguồn cấp tương thích với các loại board mạch ngoại vi hỗ trợ khác nhau như tín hiệu mức cao (5V) hoặc tín hiệu mức thấp (3.3V).

27

</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38">

- Hỗ trợ nhiều chuẩn giao tiếp (đặc biệt là UART có giao tiếp với máy tính thơng qua USB hoặc thông qua bluetooth và I2C để giao tiếp với cảm biến góc nghiêng IMU).

- Dễ dàng cấp nguồn từ USB từ máy tính hoặc từ các nguồn ngồi như pin, adapter AC-DC,…

Thơng số kỹ thuật:

- Vi điều khiển chính: ATmega2560. - IC nạp và giao tiếp UART: ATmega16U2.

- Nguồn cấp: 5VDC từ cổng USB hoặc nguồn ngoài cắm từ giắc tròn DC (9VDC).

- Số chân đọc và ghi tín hiệu số (Digital I/O): 54 (trong đó 15 chân có khả năng xuất xung PWM).

- Số chân đọc tín hiệu tương tự (Analog Input) : 16. - Cường độ dòng điện dòng điện trên mỗi chân I/O: 20mA. - Cường độ dòng điện trên mỗi chân 3.3V: 50mA.

- Flash Memory: 256 KB trong đó 8 KB sử dụng cho bootloader. - SRAM: 8 KB.

- EEPROM: 4 KB.

- Số cổng UARTs giao tiếp nối tiếp phần cứng: 4. - Một thạch anh dao động với tần số 16 MHz.

- Một cổng kết nối USB, một jack nguồn, một đầu ICSP, một nút Reset, một đèn LED tích hợp ở chân 13.

- Giao tiếp: USB, ICSP, SPI, I2C và UART. - Kích thước: 101.52 x 53.3 mm.

- Khối lượng: 37g.

</div><span class="text_page_counter">Trang 39</span><div class="page_container" data-page="39">

Hình 3.15 Sơ đồ chân kết nối của Arduino Mega 2560 Rev3

<b>3.3.2 Khối cảm biến đo góc nghiêng</b>

Khối cảm biến đo góc nghiêng là một module gồm hai cảm biến đó là: - Accelerometer: cảm biến đo gia tốc của module (bao gồm cả gia tốc trọng lực), có ba trục xyz tương ứng với ba chiều không gian.

- Gyroscope: cảm biến đo tốc độ quay của module quanh một trục, có ba trục xyz tương ứng với ba chiều không gian.

Khối điều khiển trung tâm sẽ nhận tín hiệu trả về từ hai cảm biến này và sẽ xử lý tính tốn ra được giá trị góc nghiêng của xe.

Đối với yêu cầu hệ thống, chỉ để xác định giá trị góc nghiêng của xe thì chúng tơi lựa chọn ra được loại cảm biến GY-521 6DOF IMU MPU6050 với các ưu điểm và nhược điểm sau:

- Về ưu điểm:

+ Là loại cảm biến phổ biến nhất thị trường với giá thành hợp lý.

29

</div><span class="text_page_counter">Trang 40</span><div class="page_container" data-page="40">

+ Có tích hợp sẵn phần cứng chuyên xử lý tín hiệu (Digital Motion Processor – DMP) do cảm biến thu thập và thực hiện các tính tốn cần thiết giúp cải thiện tốc độ xử lý, phản hồi nhanh hơn và giảm bớt đáng kể phần xử lý tính tốn của vi điều khiển.

+ Giao tiếp I2C phù hợp với Khối điều khiển trung tâm đã chọn. + Có nhiều nguồn thư viện để hỗ trợ trong việc xử lý tín hiệu và lập trình. Về nhược điểm:

+ Tín hiệu trả về từ hai cảm biến có sai số trên mỗi trục làm lệch đi các giá trị đo so với thực tế.

+ Cả hai cảm biến đo gia tốc và tốc độ quay đều chịu ảnh hưởng của nhiễu. => Để có thể khắc phục nhược điểm này thì chúng tơi dùng bộ lọc Kalman xử lý các thuật toán để ước lượng trạng thái trả về từ hai cảm biến chính xác nhất. Bộ lọc Kalman được chúng tôi sử dụng đã được viết sẵn dưới dạng thư viện cho vi điều khiển

- Điện áp giao tiếp: 3-5 VDC. - Chuẩn giao tiếp: I2C.

- Giá trị Accelerometer trong khoảng: ±2, ±4, ±8, ±16 g.

</div>

×