Chương 1 TỔNG QUAN VỀ ĐỀ TÀI - Xe đạp là Phương tiện giao thông dễ sử dụng, khả năng gây ra tai nạn giao thông là rất thấp, giá thành rẽ từ những ưu điểm đó mà xe đạp vẫn được sử dụng rộ
TỔNG QUAN VỀ ĐỀ TÀI
Đặt Vấn Đề
- Xe đạp là Phương tiện giao thông dễ sử dụng, khả năng gây ra tai nạn giao thông là rất thấp, giá thành rẽ từ những ưu điểm đó mà xe đạp vẫn được sử dụng rộng rãi đến ngày nay, với sự phát triển nhanh chóng của khoa học kỹ thuật, con người mong muốn tạo ra một chiếc xe đạp có khả năng tự cân bằng và di chuyển theo mong muốn.Điều đó có ý nghĩa thực tiễn quan trọng, nó sẽ được ứng dụng trong lĩnh vực giải trí, dùng để dạy cho trẻ em tập lái xe đạp khi kết hợp với bộ điều khiển từ xa, hay phát triển hơn trong lĩnh vực này là dùng để phục vụ cho người khuyết tật có sở thích đi trên chiếc xe đạp của chính mình
- Để xe đạp có thể đứng yên được là việc không dễ dàng vì khi xe đạp bị lệch so với phương thẳng đứng một góc nhỏ sẽ làm cho xe đạp có xu hướng bị mất thăng bằng và ngã xuống, hoặc khi xe đạp chuyển động sẽ chịu nhiều ngoại lực tác động vào, điều này làm cho xe đạp luôn ở trạng thái không thăng bằng được vì thế để điều khiển được xe đạp cân bằng là một việc không dễ dàng
- Xe đạp tự hành là một đối tượng có phi tuyến cao, và không ổn định, vì thế để tạo ra một chiếc xe đạp có khả tự cân bằng khi di chuyển là một nghiên cứu thú vị, điều này tạo ra nhiều thách thức đối với những người làm kỹ thuật Hiện nay có nhiều nghiên cứu về lĩnh vực này với mục đích chunglà làm cho xe có khả năng tự cân bằng khi có ngoại lực tác động, những nghiên cứu này phục vụ sự an toàn của người điều khiển giao thông.
Tổng quan các công trình liên quan
1.2.1 Phương pháp điều khiển sự cân bằng của xe
Có 4 phương pháp điều khiển sự cân bằng của xe - Phương pháp 1: dùng lực quán tính của bánh đà để điều khiển xe trở về lại vị
Hình 1.1 Dùng lực quán tính để cân bằng Ưu điểm: dễ điều khiển, phần cơ khí đơn giản
Nhược điểm: động cơ điều khiển bánh đà phải có đáp ứng nhanh, dòng khởi động lớn
Phương pháp thứ hai sử dụng bánh đà quay với tốc độ cao để tạo mômen xoắn tĩnh tại tâm điểm Bên cạnh đó, động cơ gimbal được tích hợp để điều khiển hướng mômen lực khi xe đạp nghiêng Kết hợp hai yếu tố này giúp ổn định xe đạp khi vào cua hoặc khi đi trên địa hình gồ ghề.
Hình 1.2 Dùng cơ cấu xoay trục gimbal để cân bằng Ưu điểm: mômen lực tạo ra lớn
Nhược điểm của phương pháp này là hệ thống cơ khí phức tạp, trọng lượng xe lớn và động cơ quay với tốc độ cao Thay vào đó, phương pháp thứ ba sử dụng cách điều khiển góc quay của hướng lái để giúp xe đạp giữ thăng bằng, khắc phục được những nhược điểm của phương pháp thứ nhất và thứ hai.
Hình 1.3 Điểu khiển góc quay của bánh lái để cân bằng Ưu điểm: phần cơ khí đơn giản, trọng lượng nhẹ
Nhược điểm: khó điều khiển, xe đạp phải luôn chuyển động - Phương pháp 4: điều khiển góc quay của đối trọng sẽ làm cho động cơ thăng bằng
Hình 1.4 Dùng đối trọng để cân bằng Ưu điểm: phần cơ khí đơn giản, trọng lượng nhẹ, động cơ quay với tốc độ thấp Nhược điểm: góc cân bằng không lớn, và khó điều khiển
1.2.2 Một số công trình nghiên cứu liên quan 1.2.2.1 Một số sản phẩm thực tế
Robot MURATA BOY lần đầu xuất hiện vào năm 2005, được phát triển bởi Công ty Murata Manufacturing Robot này sử dụng cảm biến Gyro để đo góc nghiêng và bánh đà xoay để tạo lực quán tính giúp duy trì cân bằng.
Hình 1.6 BicyRobo Thailand Championship (2008) Đây là một bicycle robot có tên Bicyrobo được phát triển tại Viện Công nghệ Châu Á - AIT Thái Lan Bicyrobo (hình 1.6) có thể tự cân bằng, chạy tiến-chạy lùi và rẽ trái-rẽ phải.Bicyrobo được điều khiển cân bằng dựa trên nguyên lý "con quay hồi chuyển - gyroscope", một bánh đà có phương của trục xoay vuông góc với mặt đường, bánh đà đặt trên bánh sau và xoay liên tục với vận tốc cao nhằm tạo một năng lượng giữ cho xe không bị ngã
Hình 1.7 Gyroscopic Stabilizationof a Self-Balancing Robot Bicycle (2011) Đây là công trình nghiên cứu của Pom Yuan Lam and Tan Kian Sin [3] thuộc trường đại học Nanyang của Singapore (hình 1.7) Xe được điều khiển dựa vào nguyên lý của “con quay hồi chyển” động cơ kéo bánh đà luôn quay một tốc độ không đổi để tạo lực cân bằng và một động cơ khác điều khiển góc quay của khối bánh đà Đây là sản phẩm mới nhất công ty LitMotor (hình 1.8) xe cân bằng dựa vào nguyên lý gyroscope, xe được phát triển qua nhiều cải tiến từ năm 2010 cho đến nay Xe được thiết kế thẩm mỹ và có thể chịu được ngoại lực tác động lớn mà không bị ngã
1.2.2.2 Các luật điều khiển đã sử dụng
- Fuzzy Sliding-mode Controller [1] của các tác giả Lei Guo, Qizheng Liao,
Shiming Wei Họ đã dùng giải thuật điều khiển trượt dựa trên định lý Euler – Lagrange, để điều khiển đối tượng phi tuyến Dùng thuật toán Fuzzy để giảm hiện tượng chattering và giúp đối tượng có đáp ứng nhanh, bộ điều khiển fuzzy có thể tự động điều chỉnh các thông số của bộ điều khiển trượt và tự đánh giá chất lượng điều khiển của hệ thống bằng kết quả mô phỏng tác giả đã cho thấy sự khác nhau khi dùng thuật toán sliding và fuzzy-sliding Kết quả đạt được trong quá trình mô phỏng là xe đạp có thể cân bằng trong khoảng (-11.5 0 ; 11.5 0 ), tuy nhiên kết quả thực tế của mô hình thì xe bị dao động liên tục trong khoản trên
Hình 1.9 Hình dạng và đáp ứng của mô hình thực tế dùng fuzzy sliding – mode - Thuật toán tối ưu bầy đàn (PSO):Tác giả Bui Trung Thanh và Manukid
Parnichkun [2] đã đưa ra luật điều khiển bền vững tối ưu cho hệ phi tuyến, giải thuật này được đánh giá là rất tổng quát vì tác giả dùng thuật toán tối ưu bầy đàn (PSO) để học và tính toán các thông số từ mô hình, mô hình xe đạp tự cân bằng là đối tượng có tính phi tuyến không ổn định, với nhiều tham số và có nhiều nhiễu tác động, nghiên cứu thuật toán bầy đàn dựa trên bộ thông số của xe đạp đã cho ra kết quả tốt hơn thuật toán điều khiển PD và giải thuật di truyền GA Thuật toán PSO này rất tiện lợi cho sự thay đổi các thông số của mô hình, tuy nhiên giải pháp này rất phức tạp và cần CPU đủ mạnh để có thể đáp ứng
Hình 1.10 Mô hình thực tế và đáp ứng khi dùng thuật toán PSO
- Dùng khâu hiệu chỉnh PD:Trong [3] tác giả Pom Yuan Lam và Tan Kian Sin sử dụng phương pháp điều khiển PD cho hệ thống xe đạp được thiết kế cân bằng theo phương pháp gyro scope, phương pháp này bao gồm một bánh đà luôn quay với tần số góc ω không đổi, điều này làm cho hệ thống tiêu thụ nhiều điện năng vì khối lượng bánh đà lớn và động cơ phải đạt được tốc độ cao, và sử dụng một động cơ để lái khối bánh đà này (gimbal motor), việc thay đổi lực hướng từ trọng tâm của bánh đà sẽ tạo ra một lực làm cho xe đạp không bị ngã, phương pháp này làm xe luôn bị dao động ±3 0
Hình 1.11 Mô hình và đáp ứng thực tế của hệ thống dùng bộ điều khiển PD - Dùng khâu hiệu chỉnh PID:Luật điều khiển kinh điển PID cũng được áp dụng để điều khiển đối tượng này, nhóm tác giả Suk-in Lee, In-woo Han, Jae-oh Lee, Jang-myung Lee [4] đã thực hiện Phương pháp mô hình, mô phỏng và dùng luật
Hình 1.12 Mô hình thực tế xe đạp cân bằng dùng bộ điều khiển PID
Phạm vi nghiên cứu
- Đề tài mục đích ứng dụng bộ điều khiển PD mờ để điều khiển giúp cho xe đạp có thể cân bằng được khi đứng yên Hệ thống có khả năng tự cân bằng, khi có ngoại lực tác động, và tự ổn định quanh vị trí cân bằng với góc lệch trong ngưỡng cho phép
- Ứng dụng chương trình matlab để mô phỏng, kết hợp với ngôn ngữ C để lập trình cho vi điều khiển ARM CortexM4
Các mục tiêu khoa học
Thiết kế mô hình vật lý xe tự động giữ cân bằng mô phỏng chuyển động thực của xe Bộ điều khiển mờ PD được xây dựng để ổn định xe 2 bánh trong quá trình di chuyển Cuối cùng, robot được thiết kế để có khả năng di chuyển trên xe 2 bánh với mục đích ứng dụng thực tế.
Các nội dung công việc thực hiện trong luận văn
- Mô hình hóa hệ thống xe đạp tự cân bằng
- Khảo sát đặc tính động học của hệ thống - Thiết kế và mô phỏng trên Matlab bộ điều khiển PD và PD mờ
- Thiết kế phần cơ khí cho mô hình
- Thiết kế board mạch điều khiển, board công suất cho động cơ, mạch cảm biến góc lệch
- Viết chương trình điều khiển cho vi điều khiển - Lắp mạch lên mô hình và tiến hành chạy thử - Chỉnh sửa lại các hệ số điều khiển để xe chạy ổn định nhất
- Phân tích các kết quả đạt được và nêu ra hướng phát triển cho đề tài
Tóm lược nội dung luận văn
Luận văn gồm 5 chương với cấu trúc như sau:
Chương 1: Giới thiệu tổng quan về hệ thống xe tự cân bằng và các công trình nghiên cứu liên quan, phân tích các ưu khuyết điểm của các phương pháp điều khiển chọn luật điều khiển phù hợp để điều khiển đối tượng
Chương 2: Trình bày chi tiết lý thuyết của bộ điều khiển mờ, PID mờ, PID Trình bày sự khác nhau giữa các bộ điều khiển và ảnh hưởng của các thông số Kp, Ki, Kd lên đáp ứng của hệ thống
Chương 3:xây dựng phương trình toán học cho mô hình xe cân bằng, sau đó tiến hành mô phỏng để kiểm tra đặc tính của đối tượng và sử dụng các luật điều khiển PD, PD mờ để điều khiển đối tượng
Chương 4: Sau khi đã có sơ đồ mô phỏng hoàn chỉnh, sẽ tiến hành thi công mô hình thực tế, việc thiết kế các mạch điều khiển sẽ được hoàn thiện trước, sau đó là thi công phần cơ khí của xe và nhúng phần chương trình điều khiển cho xe hoạt động
Chương 5:Trình bày các kết quả đạt được từ việc điều khiển thực tế và đưa ra hướng phát triển cho đề tài
CƠ SỞ LÝ THUYẾT CHO BỘ ĐIỀU KHIỂN
Bộ điều khiển mờ
Điều khiển mờ mô phỏng theo cách xử lý thông tin và điều khiển của con người, không cần các thông tin trạng thái chính xác nhưng vẫn có thể điều khiển được Tuy nhiên để thiết kế được bộ điều khiển mờ thì người thiết kế phải có được kinh nghiệm điều khiển hay luật điều khiển cho đối tượng đó Ví dụ khi một người đi xe đạp, người này không cần biết tốc độ, độ nghiêng (so với phương thẳng đứng) của xe chính xác là bao nhiêu Nhưng người này vẫn điều khiển xe đi được dựa vào kinh nghiệm của mình như khi xe bị nghiêng sang phải thì người điều khiển xe bẻ lái sang phải để lấy lại thăng bằng mà không cần biết là mình cần rẽ sang phải bao nhiêu độ
Sơ đồ điều khiển sử dụng bộ điều khiển mờ:
Hình 2.1 Sơ đồ khối của bộ điều khiển PID mờ
Hình 2.2 Sơ đồ khối của bộ điều khiển mờ tìm thông số PID
Một bộ điều khiển mờ gồm ba khâu cơ bản:
• Thực hiện luật hợp thành
Quá trình mờ hóa có vai trò chuyển đổi dữ liệu rõ ràng ở đầu vào (thường là sai số giữa tín hiệu đặt vào và tín hiệu đo được ở đầu ra của đối tượng điều khiển) thành một vector mô tả mức độ phụ thuộc vào các biến trong tập mờ Để hiểu rõ hơn, có thể lấy ví dụ về nhiệt độ trong phòng làm việc.
- Đại lượng cần mờ hóa là nhiệt độ Nhiệt độ trong phòng có thể thay đổi từ 16°C đến 34°C
- Chọn tập mờ cho ngõ vào gồm 3 biến: Lạnh, Vừa và Nóng Giá trị của các biến được qui ước như sau:
Hình 2.3 Biểu diển tập mờ cho ngõ vào
: hàm phụ thuộc, thể hiện mức độ phụ thuộc của giá trị biến nhiệt độ vào tập mờ
Giả sử mờ hóa biến 22 :
Hình 2.4 Mờ hóa biến nhiệt độ khi T 22
Dựa vào tập mờ thu được ta có thể hiểu là khi 22 thì nó chịu ảnh hưởng biến Lạnh là 60%, biến Mát là 40% và không phụ thuộc gì vào biến Nóng
2.1.2 Khâu thực hiện luật hợp thành
Khâu thực hiện luật hợp thành thể hiện mối quan hệ giữa các tập mờ ngõ vào với tập mờ ngõ ra theo diễn dịch “ If then…”
Có rất nhiều phương pháp diễn dịch như phương pháp Dienes-Rescher,
Lukasiewicz, Zadeh nhưng được sử dụng phổ biến nhất là phương pháp suy diễn mờ
Sugeno vàMandani, diễn dịch luật If then… phương pháp nàynhư là giao của hai tập mờ
Gọi A là tập mờ trên cơ sở X với hàm thành viên ,
B là tập mờ trên cơ sở Y với hàm thành viên , C là tập mờ trên cơ sở Z với hàm thành viên , Mệnh đề hợp thành:
Ký hiệu: là mệnh đề điều kiện là mệnh đề kết luận có hàm thành viên xác định bởi
Kết hợp các mệnh đề hợp thành:
Cho các mệnh đề hợp thành:
… : Kết quả của phép kết hợp các mệnh đề hợp thành trên là tập mờ xác định bởi hội của các tập mờ của các mệnh đề hợp thành
Dựa vào phép suy diễn (sử dụng phép giao ) và phép kết hợp (sử dụng phép hợp ) các mệnh đề hợp thành ta có bốn phương pháp thông dụng sau:
MAX – MIN: kết hợp dùng luật MAX, suy diễn dùng luật MIN
MAX – PRO: kết hợp dùng luật MAX, suy diễn dùng luật PRO
SUM – MIN: kết hợp dùng luật SUM, suy diễn dùng luật MIN
SUM – PRO: kết hợp dùng luật SUM, suy diễn dùng luật PRO
Khâu giải mờ có nhiệm vụ chuyển đổi giá trị tập mờ ngõ ra thành giá trị rõ để điều khiển đối tượng
2.1.3.1 Phương pháp phụ thuộc cực đại
Trong trường hợp hàm liên hợp chỉ có một đỉnh cực đại
Hình 2.5 Giải mờ khi hàm liên hợp chỉ có một đỉnh cực đại max (2.1)
Với là hàm liên thuộc là giá trị mà tại đó hàm liên thuộc đạt cực đại
Trong trường hợp hàm liên thuộc có nhiều điểm cực đại, ta có thể lấy giá trị cận trái, cận phải hay giá trị trung bình
Hình 2.6 Giải mờ khi hàm liên hợp có một vùng cực đại
Giải mờ cực đại lấy cận trái:
Giải mờ cực đại lấy cận phải:
Giải mờ cực đại lấy trung bình:
2.1.3.2 Phương pháp điểm trọng tâm
Phương pháp này được cho bởi biểu thức đại số
Về mặt hình học, phương pháp giải mờ trọng tâm xác định mà tại đó nó chia hàm liên thuộc thành hai phần diện tích bằng nhau
Phương pháp này được cho bởi biểu thức đại số:
Phương pháp giải mờ trung bình chính là một dạng rời rạc của phương pháp trọng tâm.Trong khi phương pháp giải mờ trọng tâm chỉ áp dụng được cho hàm liên thuộc liên tục thì phương pháp giải mờ trung bình có thể áp dụng cho hàm liên thuộc liên tục và rời rạc
Các tính ch ấ t c ầ n l ư u ý khi xây d ự ng h ệ quy t ắ c m ờ :
Tính liên tục: Hệ quy tắc mờ được gọi là liên tục nếu các quy tắc mờ có mệnh đề điều kiện kề nhau thì mệnh đề kết luận phải kề nhau
Tính nhất quán: Tính nhất quán của hệ quy tắc mờ thể hiện sự thống nhất của tri thức được biểu diển bởi quy tắc mờ Nếu mỗi tập mờ chỉ cho một ngõ ra thì hệ quy tắc này đã đảm bảo được tính nhất quán
Tính hoàn chỉnh: Tính hoàn chỉnh của hệ quy tắc mờ thể hiện sự hoàn chỉnh của tri thức biểu diễn bởi các quy tắc mờ.
Điều khiển PID mờ
Dạng tổng quát quy tắc mờ Mamdani [5] ri: nếu ( x 1 là A 1i ) và … và ( x n là A ni ) thì ( y 1 là B 1i ), …, ( y m là B mi ) (2.4) Trong đó: n là số tín hiệu vào, m là số tín hiệu ra, i=1 k , với k là số qui tắc điều khiển
Thí dụ một qui tắc mờ Mamdani như sau: nếu sai số "lớn" và tốc độ thay đổi sai số "nhỏ" thì tín hiệu điều khiển "lớn"
Trong bộ điều khiển mờ dùng quy tắc Mamdani thì tín hiệu ra của bộ điều khiển tỷ lệ phi tuyến với tín hiệu vào (K P , K I , K D ) theo quy luật xác định bởi hệ quy tắc mờ.Trong thực tế việc xây dựng bộ điều khiển PID mờ dùng quy tắc Mamdani rất khó khăn, nên chỉ dùng bộ PID mờ khi bộ điều khiển PI mờ và PD mờ không thể điều khiển đối tượng với chất lượng như mong muốn.Để thiết kế bộ điều khiển PID mờ, đầu tiên là thiết kế bộ điều khiển PID có thông số thay đổi theo điểm làm việc
Kế đến là thiết kế bộ điều khiển mờ dựa tín hiệu đặt, tín hiệu sai số và điều chỉnh các bộ thông số điều khiển PID ứng với các điểm làm việc
2.2.2 Bộ điều khiển PID mờ dùng quy tắc Sugeno Để khắc phục khuyết điểm của bộ điều khiển PID kinh điển là không thể làm việc tốt tại nhiều điểm làm việc Phương pháp điều khiển PID mờ dùng quy tắc Sugeno sẽ thay đổi bộ thông số PID theo từng điểm làm việc bằng cách sử dụng bộ điều khiển mờ với các quy tắc Sugeno
Dạng tổng quát quy tắc mờ Mamdani [5] ri: nếu ( x 1 là A 1i ) và … và ( x n là A ni ) thì y 1= f x 1 i ( 1, ,x n ), , ym= f mi ( x 1, ,x n ) (2.5) Kết luận của qui tắc điều khiển mờ Sugeno là hàm của các tín hiệu vào bộ điều khiển
Nếu dùng hàm tuyến tính ở kết luận thì qui tắc mờ Sugeno có dạng: ri: nếu ( x 1 là A 1i ) và … và ( x n là A ni ) thì 0
Thí dụ: nếu e "lớn" và Δe "nhỏ" thì u = 4e + 2Δe
Quy tắc Sugeno mờ có thể đơn giản hơn khi cho b j i = 0 (j = 1, , n), trong đó u là tín hiệu điều khiển, e là sai số và Δe là đạo hàm bậc nhất của sai số.
(n là số tín hiệu vào) Khi đó kết luận của qui tắc mờ Sugeno là hằng số
Điều khiển PID
Bộ điều khiển PID kinh điển [6] được thiết kế dựa trên các phương pháp đã biết như phương pháp Ziegler Nichols, phương pháp Offerein, phương pháp Reinisch
Hệ thống điều khiển sử dụng bộ điều khiển PID:
Hình 2.7 Sơ đồ khối sử dụng bộ điều khiển PID điều khiển hệ thống Bộ điều khiển PID được sử dụng rộng rãi trong thực tế, nó được sử dụng để điều khiển nhiều loại đối tượng khác nhau như nhiệt độ của lò nhiệt, mực chất lỏng trong bồn nước, tốc độ hoặc vị trí của động cơ DC…vì nó có khả năng triệt tiêu được sai số xác lập, giảm vọt lố, xác lập nhanh khi các thông số của bộ điều khiển được chọn lựa thích hợp Để lựa chọn được các hệ số , , thích hợp có thể dựa vào phương pháp Zeigler – Nichols, tuy nhiên khi áp dụng vào thực tế thì kết quả sẽ không như mong muốn Do đó để tìm được các thông số phù hợp cho bộ điều khiển thực tế đòi hỏi người thiết kế hiểu rõ ý nghĩa các hệ số , , , dựa vào đó ta có thể điều chỉnh các thông số cho phù hợp thực tế
Phương trình toán của bộ điều khiển PID:
(2.7) Với : là sai số giữa tín hiệu đặt và tín hiệu ngõ ra đo được Áp dụng công thức xấp xỉ tích phân lùi và vi phân lùi ta được phương trình toán của bộ điều khiển PID dưới dạng sai phân:
Thực hiện mô phỏng bộ điều khiển PID trên Simulink
Hình 2.8 Sơ đồ mô phỏng bộ điều khiển PID trên Simulink
Xét một hệ thống chỉ có khâu khuếch đại, tín hiệu ra của bộ điều khiển có dạng:
Bản chất khâu khuếch đại P là đưa ra tín hiệu điều khiển tỉ lệ với sai số theo một hệ số tỉ lệ
Kết quả mô phỏng bộ điều khiển P:
Hình2.9 Đáp ứng của động cơ và tín hiệu điều khiển dùng bộ điều khiển P
Khi chỉ có khâu khuếch đại thì không thể điều khiển động cơ DC đạt được giá trị xác lập.Kp càng lớn thì sai số sát lập càng nhỏ, tuy nhiên khi Kp tăng thì các cực của hệ thống nói chung có xu hướng di chuyển ra xa trục thực, điều đó có nghĩa là đáp ứng của hệ thống càng dao động, độ vọt lố càng cao Nếu Kp tăng quá giá trị hệ số khuếch đại giới hạn thì hệ thống sẽ trở nên mất ổn định do đó Kp cần phải nằm trong khoản giá trị cho phép
Vậy đối với bộ điều khiển P luôn tồn tại một sai lệch tĩnh
Xét bộ điều khiển PI, tín hiệu ra của bộ điều khiển có dạng:
Bộ điều khiển P có ưu điểm là tác động nhanh chóng, tuy nhiên vẫn tồn tại sai lệch tĩnh Để khắc phục tình trạng này, bộ điều khiển tích phân được bổ sung vào hệ thống Bằng cách này, sai lệch tĩnh được triệt tiêu, giúp hệ thống phản ứng chính xác và nhanh nhạy với các lệnh điều khiển.
Bản chất của khâu tích phân I là một phép cộng dồn các tín hiệu điều khiển qua các chu kỳ Tín hiệu điều khiển được tính theo công thức:
Kết quả mô phỏng bộ điều khiển PI với kp=2
Hình 2.10 Đáp ứng của động cơ và tín hiệu điều khiển dùng bộ điều khiển PI
Bộ điều khiển PI đã làm mất sai lệch tĩnh Nhờ tín hiệu điều khiển tích phân I mà khi sai số 0 thì tín hiệu điều khiển ,
Vậy bộ điều khiển PI có khả năng triệt tiêu sai lệch tĩnh Tuy nhiên khâu hiệu chỉnh PI làm chậm đáp ứng quá độ, và tăng độ vọt lố, bên cạnh đó khâu hiệu chỉnh PI còn là một bộ lọc thông thấp nên nó còn có tác dụng triệt tiêu nhiễu tần số cao tác động vào hệ thống
Xét bộ điều khiển PD, tín hiệu ra của bộ điều khiển có dạng:
Bản chất khâu khuếch đại D là đưa ra tín hiệu điều khiển , tỉ lệ với tốc độ biến đổi sai số theo một hệ số tỉ lệ Tốc độ biến đổi của sai số là hiệu của sai số hiện tại với sai số của chu kỳ trước đó
Kết quả mô phỏng bộ điều khiển PD vớiKp=2
Hình 2.11 Đáp ứng của động cơ và tín hiệu điều khiển dùng bộ điều khiển PD
Bộ điều khiển PD sử dụng sai số và đạo hàm của sai số để điều khiển hệ thống Tuy nhiên, vì bộ điều khiển PD không sử dụng tín hiệu điều khiển của các chu kỳ trước nên sẽ gây ra sai lệch tĩnh Mặt khác, bộ điều khiển PD có ưu điểm là không gây ra độ vọt lố Tuy nhiên, nó lại làm cho hệ thống nhạy cảm với nhiễu tần số cao.
Xét bộ điều khiển PID, tín hiệu ra của bộ điều khiển có dạng
Kết quả mô phỏng bộ điều khiển PID:
Hình 2.12 Đáp ứng của động cơ và tín hiệu điều khiển dùng bộ điều khiển PID
Ta thấy đáp ứng của bộ điều khiển PID đã đạt được các yêu cầu như giảm độ vọt lố, triệt tiêu sai lệch tĩnh, thời gian xác lập nhanh Bộ điều khiển PID đã đạt được các yêu cầu mà bộ điều khiển PI và PD chưa đáp ứng được
: Nếu chọn giá trị càng lớn thì đáp ứng càng nhanh Nhưng nếu quá lớn sẽ dẫn đến quá trình mất ổn định và dao động
: Nếu chọn giá trị càng lớn thì sai lệch tĩnh sẽ bị khử càng nhanh Nhưng bù lại thí nó cũng sẽ tạo ra độ vọt lố lớn
: Nếu chọn giá trị càng lớn thì nó càng làm giảm độ vọt lố Nhưng lại làm chậm đáp ứng quá độ
Khi kết hợp ba thông số , , một cách thích hợp thì tín hiệu điều khiển sẽ làm đối tượng bám nhanh đến giá trị đặt, đồng thới cũng ít vọt lố và không bị sai lệch tĩnh Tùy theo đặc điểm của từng đối tượng điều khiển cụ thể và yêu cầu chất lượng mong muốn mà chúng ta phải sử dụng khâu hiệu chỉnh thích hợp khi đã xác định được khâu hiệu chỉnh cần dùng thì vấn đề còn lại là xác định thông số của nó.
THIẾT KẾ MÔ HÌNH VÀ MÔ PHỎNG TRÊN MATLAB/SIMULINK
Xây dựng phương trình toán học cho hệ thống xe tự cân bằng
Phạm vi của đề tài này chỉ khảo sát mô hình hóa đối tượng chuyển động theo phương ngang (hình 3.1.c)
Hình 3.1Mô hình hóa xe cân bằng
(a)hình chiếu cạnh, nhìn một bên của xe α
(c) h b : Chiều cao từ mặt đất đến trọng tâm xe θ : Góc lệch của xe so với trục y α : Góc lệch của đối trọng so với trục z d: khoảng cách giữa trục động cơ đến tâm của đối trọng r: bán kính của đối trọng m b : khối lượng xe m cb : khối lượng của đối trọng (counterbalanced)
- Vận tốc dài theo phương ngang của xe: V b =θ • h b (3.1) - Thế năng của xe
- Thế năng của đối trọng
2 cb cb sin tan os cb cb os cb sin sin
- Thế năng của hệ thống
1 2 b b os cb cb os cb sin sin
U U= +U =m gh c θ+m gh c θ +m gd α θ (3.5) Động năng của các thành phần trong hệ thống - Động năng của xe
- Động năng của đối trọng
T =⎛⎜⎝ m r +m d ⎞⎛⎟⎝⎠⎜α θ • + • ⎞⎟⎠ (3.7) - Động năng của hệ thống
T T T= + = m ⎛⎜⎝θ • h ⎞⎟⎠ +⎛⎜⎝ m r +m d ⎞⎟⎠⎛⎜⎝α θ • + • ⎞⎟⎠ (3.8) Phương trình Euler – Lagrange: i i i i d T T U dt q q q Q
T: Tổng động năng của hệ thống U: Tổng thế năng của hệ thống Q i : Tổng các ngoại lực tác động q i : tọa độ tổng quát
- Trường hợp q i = θ Phương trình Euler – Lagrange: d T T U Q dt θ • θ θ θ
( ) ( ) ( ) sin sin sin os b b cb cb cb
Ngoại lực tác động lên hệ thống 0
( m h b b 2 m r cb 2 2 m d cb 2 ) ( m r cb 2 2 m d cb 2 ) m gh b b sin m gh cb cb sin ( ) m gd cb sin ( ) ( ) c os 0 θ •• α •• θ θ α θ
Phương trình Euler – Lagrange: d T T U dt α • α α Q δ
( cb 2 2 cb 2 ) ( cb 2 2 cb 2 ) d T m r m d m r m d dt θ α α
( m r cb 2 2 m d cb 2 ) ( m r cb 2 2 m d cb 2 ) m gdc cb os sin Tm θ •• + +α •• + + α θ= (3.16)
2 sin sin sin os os sin b b cb cb cb b b
2 sin sin sin os os sin os sin
2 b b cb cb b b cb cb cb cb b b b b cb cb m h Tm m r m d Tm m gh m gh m gd c c m gdc m h m h m r m d θ θ α θ α θ α θ α •• = − + − + + − − −
Phương trình vi phân lúc này được viết lại
3sin 4sin os 0 4sin os p p c p p p p c p p Tm θ α θ θ θ α α
0 sin sin os sin os 1
0 1 1 sin sin os sin os sin os x x p x p x c x x c x p p x u x x p x p x c x x c x p x c x x p p p p
(3.20) Tuyến tính hóa quanh điểm cân bằng ( ) ( ) x u , = 0,0
Các thông số của đối tượng
Thông số Giá trị Đơn vị Mô tả m b 5.2 kg Khối lượng xe đạp m cb 1 kg Khối lượng đối trọng h b 0.06 m Độ cao từ mặt đất đến trọng tâm xe h cb 0.14 m Độ cao từ mặt đất đến trọng tâm đối trọng d 0.025 m Khoảng cách từ tâm trục động cơ đến tâm đối trọng r 0.05 m Bán kính của đối trọng g 9.81 m/s 2 Gia tốc trọng trường
Bảng 3.1 Giá trị vật lý của mô hình Ma trận trạng thái:
Kiểm tra tính điều khiển được của hệ thống
Ta được condition number: cond(M C ) = 150.9127 Hệ số cond nhỏ nên hệ thống điều khiển được
Thiết kế bộ điều khiển cho hệ thống
Hình 3.2 Sơ đồ khối bộ điều khiển hệ thống dùng PD
Hàm truyền: G C (s) = K P + K D s = K P (1 + T D s) (3.23) T D được gọi là thời hằng vi phân của bộ điều khiển PD
Sử dụng chức năng dò tìm thông số tự động của bộ PD của matlab/ simulink đạt được đáp ứng phù hợp
− Từ phương trình vi phân của đối tượng ta được mô hình sau
Hình 3.3 Mô hình đối tượng
− Hàm Fcn cho theta_2_dot:
-(-u(1)+mb*g*hb*sin(u(2))+mcb*g*hcb*sin(u(2))-mcb*g*d*(sin(u(3))*cos(u(2)) - sin(u(2))*cos(u(3))))/(mb*hb*hb)
− Hàm Fcn cho alpha_2_dot:
(u(1)*mb*hb*hb-mb*hb*hb*mcb*g*d*cos(u(3))*sin(u(2))-(mcb*r*r+2*mcb*d*d)
*(-u(1)+mb*g*hb*sin(u(2))+mcb*g*hcb*sin(u(2))-mcb*g*d*(sin(u(3))*cos(u(2))- sin(u(2))*cos(u(3))))) /((mcb*r*r+2*mcb*d*d)*mb*hb*hb)
Hình 3.4 Điều khiển đối tượng dùng bộ điều khiển PD Ý nghĩa các khối trong sơ đồ:
Step: Tín hiệu đặt PD controller: Bộ điều khiển PD Subsystem: Mô tả mô hình toán của đối tượng Gain: Đổi tín hiệu từ radian sang độ để dễ quan sát và điều khiển Scope: Hiển thị đáp ứng của hệ thống
Sử dụng chức năng tune của matlab để tìm các thông số P, D một cách tự động, Chọn cấu trúc bộ điều khiển (Form) là cấu trúc song song Hệ số bộ lọc (Filter coefficient) là 15
Hình 3.5 Hiệu chỉnh thông số bộ điều khiển PD tự động
Thông số của bộ điều khiển sau khi được hiệu chỉnh bằng chức năng tune của matlab:
Kp = -3, D = -30 Kết quả mô phỏng khi góc lệch là 5.7 0 (0,1 rad)
Hình3.6 Kết quả điều khiển đối tượng dùng bộ điều khiển PD
Với góc lệch của xeban đầu là 5.7 0 thì sau thời gian 1.2sxe trở về vị trí cân bằng đứng Góc điều khiến khối đối trọng đáp ứng ngay khi xuất hiện góc lệch, sau một khoảng thời gian thì góc alpha luôn giao động một góc 6 0
Ngoài ra bộ điều khiển PD còn có thể được hiệu chỉnh bằng tay dựa vào kinh nghiệm của người thiết kế, nhằm đạt được độ vọt lố và thời gian xác lập như mong muốn
Các thông số , , ảnh hưởng đến đáp ứng ngõ ra của đối tương như sau: càng lớn sẽ giúp đáp ứng ngõ nhanh tiến đến giá trị đặt, nhưng nếu quá lớn sẽ làm hệ thống dao động không ổn định giúp ngõ ra bám theo giá trị đặt, triệt tiêu sai lệch tĩnh Tín hiệu điều khiển khâu tích phân vẫn duy trì khi sai số giữa tín hiệu đặt và đáp ứng ngõ ra bằng 0, nhưng nếu quá lớn sẽ tạo nên vọt lố Ở đối tượng này không sử dụng khâu tích phân, nên không cần thiết lập chỉ phát huy tác dụng khi sai số xuất hiện biến thiên giúp giảm độ vọt lố của đáp ứng ngõ ra
3.2.2 Giải thuật điều khiển dùng PD mờ
Để thiết kế bộ điều khiển mờ cho xe đạp tự cân bằng sử dụng cơ cấu đối trọng, cần lưu ý rằng mô hình hệ thống đã có khâu tích phân lý tưởng Do đó, có thể áp dụng bộ điều khiển PD mờ để điều khiển đối tượng hiệu quả, đảm bảo khả năng cân bằng ổn định trong điều kiện thay đổi của môi trường.
Sơ đồ khối bộ điều khiển:
Hình 3.7 Sơ đồ khối bộ điều khiển dùng PD mờ Bộ điều khiển mờ gồm 3 khâu: Mờ hóa, thiết bị hợp thành, giải mờ Khâu mờ hóa: khối này có chức năng biến đổi giá trị rõ sang giá trị ngôn ngữ hay nói cách khác là sang tập mờ, vì hệ quy tắc mờ chỉ có thể suy diễn trên các tập mờ Biến ngõ vào ra cho bộ điều khiển mờ:
- : Góc lệch của xe so với phương thẳng đứng
- : Vận tốc góc của góc lệch
Tm: mômen điều khiển cho đối trọng( thay đổi góc quay )
Chuẩn hóa các biến ngõ vào:
- Góc lệch tối đa là 11.5 (tương đương 0.2 rad), giới hạn góc lệch tối đa cho xe so với phương thẳng đứng
- Vận tốc góc tối đa là 500 / tập mờ này được phân hoạch mờ trên tập cơ sở chuẩn hóa và hàm liên thuộc có dạng tam giác (hình 3.8 và 3.9) Số tập mờ cho biến ngõ ra được chọn bằng 7, dạng hàm liên thuộc của tập mờ ở ngõ ra được chọn là dạng vạch để thuận lợi trong việc giải mờ (hình 3.10)
- Các tập mờ của gồm 5 giá trị: NBt, NSt, ZEt, PSt, PBt
Hình 3.8 Các tập mờ của biến - Các tập mờ của gồm 5 giá trị: NBd, NSd, ZEd, PSd, PBd
Hình 3.9 Các tập mờ của biến - Ngôn ngữ của biến ngõ ra Tm
Hình 3.10 Lực điều khiển đối trọng
-10 -6 -3 0 3 6 10 Tm à Đưa ra hệ quy tắc mờ bằng phương pháp thử sai, dựa vào kinh nghiệm (hình 3.11), với 5 tập mờ ở ngõ vào cho mỗi biến, để thỏa mãn tính hoàn chỉnh thì hệ quy tắc phải gồm 25 quy tắc ( bảng 3.2) Chọn phép suy diễn MAX-PROD
Các quy tắc được xây dựng theo suy luận thực tế như sau:
ZEt ZEd Tm ZE θ = θ & = ⇒ = θ = NSt , θ & = ZEd ⇒ Tm PS =
PSt ZEd Tm NS θ = θ & = ⇒ = θ = PBt , θ & = PSd ⇒ Tm NB =
PBt PBd Tm NB θ = θ & = ⇒ = θ = NBt , θ & = NBd ⇒ Tm PB =
Hình 3.11 Một số quy tắc điều khiển Các quy tắc của bộ điều khiển PD mờ (25 quy tắc)
Với các biến đầu vào ra và các giá trị ngôn ngữ được xác định như trên, bộ điều khiển mờ đầy đủ bao gồm 25 quy tắc cụ thể Mỗi quy tắc, được đánh số thứ tự i, có cấu trúc như sau:
Nếu ( là A i 1 ) và ( là A i 2 ) thì (Tm là B i )
3.2.3 Mô phỏng đối tượng dùng công cụ fuzzy toolbox của matlab/ simulink
Các tập mờ của gồm 5 giá trị: NBt, NSt, ZEt, PSt, PBt
Hình 3.12 Các tập mờ của biến Các tập mờ của gồm 5 giá trị: NBd, NSd, ZEd, PSd, PBd
Hình 3.13 Các tập mờ của biến
Các tập mờ của Tm gồm 7 giá trị: NB, NM, NS, ZE, PS, PM, PB
Hình3.14 Các tập mờ của biến Tm Các giá trị ngôn ngữ của biến ngõ ra Tm
Hình 3.15 Giá trị của tập mờ cho biến ngõ ra Tm Các quy tắc điều khiển
NB PS NM PM PB
Thiết kế sơ đồ Simulink dùng bộ PD mờ Sugeno
Hình 3.17 Sơ đồ Simulink của hệ thống điều khiển xe dùng PD mờ Kết quả mô phỏng khi góc lệch là 5.7 0 (0,1 rad):
Hình 3.18 Kết quả điều khiển đối tượng dùng bộ điều khiển PD mờ Nhận xét:
Khi xe bị lệch 5.7 0 thì sau khoảng thời gian 1.5s xe trở lại vị trí cân bằng đứng, điều này có nghĩa là bộ điều khiển mờ PD hoạt động tốt
THIẾT KẾ CƠ KHÍ VÀ THI CÔNG MÔ HÌNH XE
Quá trình thiết kế thi công được thực hiện qua các phiên bản
Hình 4.1 Mô hình xe tự cân bằng dùng cơ cấu gimbal kích thước lớn - Ưu điểm: động cơ dễ điều khiển, phần cơ khí cứng, ít bị rung
Nhược điểm của vệ tinh ba trục nằm ở phần cơ khí phức tạp, trọng lượng lớn Để vệ tinh hoạt động ổn định, động cơ phải quay với tốc độ cao và động cơ lái (gimbal) khối bánh đà phải mạnh, đáp ứng nhanh.
Do 3 nguyên nhân chính làm cho xe chưa cân bằng được:
• Động cơ điều khiển khối bánh đà quay với tốc độ không cao (2000 vòng/phút), nên tạo lực cân bằng không lớn
• Đối với kích thước xe loại này cần phải sử dụng khối bánh đà có đường kính khoảng 20cm, trọng lượng 2kg và cần thiết kế bánh đà sao cho trọng lượng dồn ra bên ngoài để tăng lực quán tính
• Động cơ điều khiển khối gimbal cho bánh đà cần lực lớn để xoay trục, vì thế nên sử dụng động cơ có hộp số
Kết quả từ mô hình này:
- Thiết kế hoàn tất phần điều khiển và phần cơ khí - Xe có thể chạy tới, lùi, xoay trái, xoay phải - Xe chưa cân bằng được
4.1.2 Mô hình 2 Để khắc phục nhược điểm của mô hình 1, cần phải lựa chọn động cơ có tốc độ cao, động cơ điều khiển khối gimbal phải có mô men lớn, kích thước bánh đà phải đảm bảo đủ để cân bằng xe
Hình 4.2 Mô hình xe tự cân bằng dùng cơ cấu gimbal kích thước nhỏ - Ưu điểm: cơ khí có trọng lượng nhẹ, tốc độ động cơ lớn
- Nhược điểm: phần cơ khí cho khối bánh đà rất phức tạp, xe bị rung mạnh khi bánh đà quay với vận tốc lớn
Phương trình động học của đối tượng sau khi tuyến tính hóa không điều khiển được vì có hệ số condition number rất lớn 5.7708e+16
Kết quả từ mô hình này:
- Xe bị rung mạnh khi tốc độ cao và làm cho xe bị ngã
Hình 4.3 Mô hình xe tự cân bằng dùng đối trọng ở vị trí bẽ lái
- Ưu điểm: phần cơ khí đơn giản, trọng lượng nhẹ, động cơ quay với tốc độ thấp - Nhược điểm: xe luôn bị dao động một khoảng nghiên lớn nếu không cho xe di chuyển liên tục
Kết quả từ mô hình này:
- Thiết kế hoàn tất phần điều khiển và phần cơ khí - Xe có thể chạy tới, lùi, xoay trái, xoay phải - Xe có thể cân bằng được khi đứng yên và di chuyển - Xe luôn dao động và kém ổn định
4.1.4 Mô hình 4 Để khắc phục được nhược điểm của mô hình 3, cần phải xác định được trọng tâm của xe và bố trí khối đối trọng sao cho nằm gần vị trí trọng tâm nhất
Hình 4.4 Mô hình xe tự cân bằng dùng đối trọng ở vị trí trọng tâm xe
Phần thiết kế cơ khí và điều khiển giống như ở mô hình 3, nhưng lúc này khối đối trọng được di chuyển đến vị trí gần trọng tâm (hình 4.4)
Kết quả từ mô hình này:
- Thiết kế hoàn tất phần điều khiển và phần cơ khí - Xe có thể chạy tới, lùi, xoay trái, xoay phải - Xe có thể cân bằng được khi đứng yên và di chuyển Thông qua thực nghiệm thì mô hình 4 cho kết quả tốt nhất
Thiết kế chi tiết và thi công phần cơ khí
Khung xe đạp được chế tạo từ các chi tiết lắp ghép, gồm có cổ xe, vành bánh xe, cơ cấu bảo vệ, đều được làm từ sắt lá dày 50mm Tích hợp trong khung xe là hệ thống động cơ bẻ lái và động cơ đẩy, giúp xe có khả năng di chuyển.
Bánh xe đạp được làm bằng cao su, vành bánh xe được làm bằng gan, bánh xe được gia công thêm phần trục và ổ bi để có thể di chuyển dễ dàng hơn Tổng khối lượng của bánh xe là 0.8kg
4.2.3 Đối trọng của xe Đối trọng của xe được làm bằng chất liệu hợp kim nhôm có đặc điểm mềm, dễ gia công và khối lượng được phân bố đều bên trong Để làm được đối trọng, ta cần xác định được tâm của đối trọng, sau đó xác định vị trí của trục động cơ Do đối trọng là thành phần chính đảm bảo sự cân bằng của hệ thống xe nên cần được gia công và lắp ráp chính xác
Hình 4.7 Đối trọng để cân bằng xe
Hình dạng xe hoàn chỉnh
Tiến hành lắp ráp các bộ phận cơ khí và mạch điện điều khiển vào xe sao cho đối trọng nằm gần trọng tâm nhất, phân bố lực tại vị trí trọng tâm để xe ít bị rung và đạt được độ cân bằng cao Trên hệ thống hình dưới có các module chính sau: mạch xử lý trung tâm kit ARM cortex M4, cảm biến góc nghiêng, cầu H công suất điều khiển 2 động cơ, mạch ổn áp nguồn, mạch điều khiển từ xa Các động cơ truyền động
Thiết kế và thi công mạch điều khiển
Sử dụng mạch ARM discovery cortex M4 để điều khiển hệ thống - Tốc độ xử lý của lõi lên đến 168MHz, xử lý bus 32bit - Bộ nhớ chương trình 1MB, 192KB ram
- Kit có tích hợp các module từ cơ bản đến nâng cao như: GPIO, ADC, DAC, UART, PWM, DMA, USB, Ethernet…
- Kit arm có thể kết hợp với chương trình simulink của matlab để thực hiện các chương trình nhúng dễ dàng
Hình4.9 Khối vi điều khiển cho hệ thống
Sử dụng cảm biến gyro IMU 6050 đo được vận tốc góc và gia tốc của 3 trục x, y, z
Từ đó ta lấy tích phân của vận tốc góc quay quanh trục Roll để được góc lệch cần đo Với độ phân giải cao 16 bit thì khả năng đo được độ chính xác cao, và cảm biến có tích hợp bộ lọc low-pass filter Cảm biến hỗ trợ chuẩn giao tiếp là I2C 400KHz
Hình 4.10 Khối cảm biến góc lệch của xe
4.4.3 Encoder - Encoder được dùng để xác định chiều quay và góc quay của động cơ Nó bao gồm một đĩa kim loại gắn trên trục động cơ và 2 cảm biến quang A, B Hai cảm biến này nhận được nguồn sáng từ 2 diode phát quang, khi đĩa quay nguồn sáng này chiếu qua khe hở bị gián đoạn, điều này làm xuất hiện xung ngõ ra trên 2 chân A, B
GND GND NC GND NC VDD
ES C L VL OG IC RE G V CP O U T RE G V RE G V SC L SD A J3
- Trong quá trình bố trí cảm biến, ta bố trí sao cho 2 cảm biến này lệch nhau khoảng 90 0 để phát hiện chiều quay của trục động cơ
- Để xác định chiều quay của encoder ta kiểm tra cạnh lên của pha A Khi xuất hiện cạnh lên ở pha A, ta bắt đầu kiểm tra xem pha B
Nếu pha B = 0 thì encoder đang quay thuận chiều kim đồng hồ
Nếu pha B = 1 thì encoder đang quay ngược chiều kim đồng hồ
4.4.4 Động cơ DC Động cơ DC bao gồm rotor (hoặc phần ứng), bộ chuyển mạch, chổi than, quay trục và vòng bi, stator là nam châm vĩnh cửu Hình minh họa nguyên tắc hoạt động với một động cơ một chiều có hai cực đơn giản:
Hình 4.12 Mô tả hoạt động của động cơ DC Động lực học của Motor:
Hình4.13 Sơ đồ mạch điện của động cơ
Phương trình cân bằng điện áp:
: sức điện động phần ứng
: hệ số từ cảm phần ứng
Sức điện động phần ứng:
: vận tốc góc của trục động cơ
Phương trình cân bằng moment trên trục động cơ:
: moment xoắn của động cơ : moment tải
4.4.5 Khối điều khiển động cơ
Gồm có 2 khối giống nhau để điều khiển tốc độ và chiều quay của 2 động cơ: động cơ 1 dùng để điều khiển xe chạy tới và lui với tốc độ có thể thay đổi được, động cơ 2 dùng để điều khiển khối đối trọng tạo ra góc lệch tương ứng với góc lệch của xe đạp, động cơ này có khả năng quay sang trái hoặc phải của xe đạp
Hình 4.14 Khối điều khiển tốc độ và chiều quay động cơ
Khối nguồn sử dụng IC ổn áp xung LM2596, có chức năng hạ điện áp từ 12V xuống 2 mức điện áp 6,5V và 5V Điện áp 6,5V cấp cho động cơ servo bẻ lái, còn điện áp 5V chuẩn cấp nguồn cho kit vi điều khiển Cortex M4 Với khả năng chịu tải lên đến 3A, khối nguồn này đảm bảo cung cấp đủ năng lượng cho các thành phần trong hệ thống.
Hình 4.15 Khối nguồn cung cấp cho mạch điện của hệ thống
Chương trình nhúng cho vi điều khiển ARM
Chương trình nhúng được sử dụng các toolbox mới nhất của matlab và STMicroelectronics, ở chương trình nhúng này chỉ thiết kế bộ điều khiển PD mờ và cấu hình timer hoạt động ở chế độ capture để nhận tín hiệu từ remote điều khiển từ xa, các bộ chuyển đổi tín hiệu được thiết kế nhằm lấy tỉ lệ cho phù hợp với tín hiệu mong muốn Ngoài bộ điều khiển PD mờ này, cần phải viết thêm phần code dùng ngôn ngữ C cho cảm biến góc nghiêng và bộ điều khiển PID vị trí cho đối trọng, sẽ đề cập ở phần phụ lục
Hình 4.16 Sơ đồ Simulink bộ điều khiển nhúng cho Arm cortex M4
4.5.1 Cấu hình cho vi điều khiển
- Trong phần chương trình nhúng Matlab/ Simulink chỉ cấu hình một số chức năng được sử dụng để phục vụ cho bộ điều khiển, các chức năng ngoại vi khác sẽ được thêm vào trên code C
- Cấu hình cho chân E9 là ngõ vào xung để đo được tốc độ điều khiển của bộ thu – phát từ xa, và các chân D12, D13, D14, D15 để điều khiển 2 động cơ
Hình 4.17 Cấu hình các chân IO
- Cấu hình cho timer 1 hoạt động ở chế độ input capture để đo giá trị điều khiển từ bộ điều khiển từ xa
- Do tín hiệu đọc về từ cảm biến là 16bit có giá trị tối đa 65535 nên cần phải lấy tỉ lệ lại cho phù hợp với giá trị xung điều khiển
Code cho khối chuyển đổi dữ liệu gyro: function Ib = Convert(ADC2) Ib = ADC2*100/65535;
Code cho khối chuyển đổi dữ liệu signal control: function Ic = Convert(Capture) Ic = Capture*500/65535;
- : Góc lệch của xe so với phương thẳng đứng
- : Vận tốc góc của góc lệch
Ngõ ra: u: giá trị thay đổi vị trí trong bộ PID vị trí ( thay đổi góc quay )
Chuẩn hóa các biến ngõ vào:
- Góc lệch tối đa là 11.5 (tương đương 0.2 rad) - Vận tốc góc tối đa là 500 /
Các tập mờ của gồm 5 giá trị: NBt, NSt, ZEt, PSt, PBt
Hình4.19 Các tập mờ của biến Các tập mờ của gồm 5 giá trị: NBd, NSd, ZEd, PSd, PBd
Hình 4.20 Các tập mờ của biến Các tập mờ của Tmgồm 7 giá trị: NB, NM, NS, ZE, PS, PM, PB
Hình 4.21 Các tập mờ của biến Tm
Các giá trị ngôn ngữ của ngõ ra U_value
Hình 4.22 Tập mờ cho biến ngõ ra để thay đổi góc quay U_value
Lưu đồ giải thuật của bộ điều khiển PID vị trí dùng để điều khiển góc quay α
Hình 4.23 Lưu đồ giải thuật bộ điều khiển vị trí Chương trình chính khai báo các biến được sử dụng trong chương trình, cấu hình ngắt timer để quá trình ngắt tính toán giải thuật cho bộ PID vị tríluôn được thực hiện với chu kỳ 1ms, và cấu hình các chân input, output để xuất xung cho bộ công suất điều khiển động cơ DC servo
Chương trình xử lý ngắt timer (1ms):
Khi có ngắt timer thì giá trị mới ở vị trí hiện tại của động cơ được cập nhật thông qua encoder, các biến lỗi erro trước đó được lưu lại để tính tích phân và vi phân, sau đó giá trị lỗi error sẽ được tính lại và cập nhật giá trị mới cho bộ điều khiển PID Với
Giá trị này sẽ được đưa vào thanh ghi điều khiển độ rộng xung để điều khiển vị trí động cơ
Hình 4.25 Đáp ứng của mô hình thực khi xe đứng cân bằng