Trước tiên, tôi xin gửi đến thầy Võ Công Phương lời cảm ơn sâu sắc. Thầy đã tận tình hướng dẫn và truyền đạt kiến thức giúp tôi hoàn thành luận văn này. Quan trọng hơn hết, thầy đã gợi mở cho tôi một đề tài, một hướng nghiên cứu phù hợp với năng lực của tôi. Tôi cũng xin chân thành cảm ơn đến các quý thầy cô trong bộ môn Điều khiển tự động Khoa Điện – Điện tử Trường Đại Học Giao Thông Vận Tải TP.HCM đã chỉ dạy truyền đạt kiến thức trong suốt quá trình học tập tại trường. Cuối cùng tôi gửi lời cảm ơn tới những người thân, gia đình và bạn bè đã động viên, khuyến khích ủng hộ vật chất lẫn tinh thần giúp tôi trong suốt quá trình học tập và nghiên cứu để hoàn thành đề tài này.
Đặt vấn đề
Khái niệm về robot và chế tạo robot đang phát triển mạnh mẽ nhằm phục vụ nhu cầu con người Robot là một lĩnh vực khoa học nghiên cứu, thiết kế và chế tạo các thiết bị tự động, ứng dụng trong nhiều hoạt động xã hội như khoa học kỹ thuật, kinh tế, quốc phòng và dân sinh Nó bao gồm các lĩnh vực như cơ khí, điện tử, kỹ thuật điều khiển và công nghệ thông tin Hiện nay, robot được coi là sản phẩm của ngành cơ điện tử (mechatronic).
Trong những thập niên gần đây, sự phát triển của robot phục vụ sản xuất trong môi trường công nghiệp đã gia tăng đáng kể Nhiều loại robot được chế tạo với các mục đích khác nhau nhằm đáp ứng nhu cầu con người, thay thế lao động trong các công việc lặp đi lặp lại, nặng nhọc, phức tạp, cũng như những nhiệm vụ yêu cầu độ chính xác cao và làm việc trong môi trường khắc nghiệt, nguy hiểm.
Trong các lĩnh vực yêu cầu cánh tay robot nhẹ, việc giảm bớt cơ cấu dẫn động và đo lường là cần thiết nhưng vẫn phải đảm bảo tính điều khiển Cánh tay robot thiếu dẫn động thường có kích thước nhỏ gọn và tiêu thụ ít năng lượng Tuy nhiên, những hệ thống này thường mang tính phi tuyến và bất ổn định cao, do đó vấn đề điều khiển và ổn định đã được nghiên cứu từ lâu.
Trong những thập niên gần đây, lĩnh vực robot đã chú trọng đến việc điều khiển máy móc với số lượng ngõ vào điều khiển ít hơn số cơ cấu chấp hành, tạo ra các hệ thống thiếu cơ cấu truyền động Những hệ thống này có chiều dài vector cấu hình nhỏ hơn chiều dài vector điều khiển, cho phép thực hiện các nhiệm vụ phức tạp với ít cơ cấu truyền động hơn Hệ thống thiếu cơ cấu truyền động mang lại nhiều ưu điểm như trọng lượng nhẹ, chi phí thấp, tiêu thụ năng lượng ít và độ tin cậy cao Sự quan tâm ngày càng tăng đối với hệ thống này xuất phát từ những lợi thế nổi bật của nó, với nhiều ứng dụng quan trọng trong các lĩnh vực như tàu không gian, tàu thủy và cần trục.
Hệ thống thiếu cơ cấu truyền động đã được nghiên cứu và chế tạo qua nhiều mô hình như acrobot, mobile robot, gyrobot, pendubot và con lắc ngược hai bậc tự do Pendubot, một robot với hai bậc tự do hoạt động trong mặt phẳng đứng, có cơ cấu truyền động ở khớp nối thứ nhất, với khớp thứ hai nối bằng trục liên kết tự do Mục tiêu điều khiển của hệ thống này là chuyển robot từ vị trí cân bằng dưới lên vị trí cân bằng trên và duy trì sự ổn định tại đó Việc điều khiển các hệ thống thiếu dẫn động n bậc, như khớp tay chân của robot người và động vật, thường đòi hỏi quá trình nghiên cứu lâu dài Do đó, các mô hình với số bậc ít hơn được phát triển trong phòng thí nghiệm để thử nghiệm luật điều khiển, từ đó áp dụng cho hệ thống có bậc cao hơn Mô hình cánh tay robot thiếu dẫn động 2 bậc tự do cũng được phát triển từ đó, thu hút sự quan tâm của các nhà nghiên cứu trong lĩnh vực điều khiển tự động nhờ tính độc đáo và phức tạp của nó.
Pendubot là một hệ thống không ổn định và có độ phi tuyến cao, thường được sử dụng trong kiểm chứng kỹ thuật điều khiển Đặc tính động học của pendubot tương đồng với các quá trình vật lý như phóng tên lửa và hoạt động của cần cẩu, khiến nó trở thành mô hình chuẩn cho thử nghiệm các thuật toán điều khiển như PID, điều khiển trượt, tuyến tính hóa, mạng nơron, và logic mờ Việc điều khiển phi tuyến yêu cầu hiểu rõ mô hình toán học của hệ thống và các yếu tố bất định Để đạt được độ chính xác trong điều khiển khi thông số chưa rõ ràng, giải thuật PID hoặc điều khiển mờ là những giải pháp tối ưu.
Với sự phát triển của xã hội và khoa học kỹ thuật, các phương pháp điều khiển thông minh như điều khiển mờ ngày càng được nghiên cứu và ứng dụng rộng rãi Điều khiển mờ, một trong những phương pháp điều khiển phi tuyến hiệu quả, cho phép xử lý thông tin không rõ ràng và sử dụng kinh nghiệm của người thiết kế để điều khiển các đối tượng phi tuyến không xác định Hệ thống điều khiển này có khả năng thay đổi thông số và cấu trúc trong quá trình vận hành pendubot, giúp duy trì chất lượng hệ thống trong điều kiện có thông số bất định Việc kết hợp bộ điều khiển PID với bộ điều khiển fuzzy không chỉ nâng cao chất lượng điều khiển mà còn tối ưu hóa hiệu suất của hệ thống Chính vì lý do này, tôi đã chọn đề tài “Thiết kế bộ điều khiển mờ lai ổn định cân bằng hệ pendubot” để nghiên cứu.
Giới thiệu về mô hình pendubot
Con lắc quay (Pendulum Robot), hay Pendubot, là một hệ thống cơ khí kích thích dưới (under-actuated) với số lượng ngõ vào điều khiển ít hơn số ngõ ra Hệ thống này bao gồm hai thanh quay trên hai khớp nối, trong đó thanh 1 là vai và thanh 2 là khủy Khớp vai được kích thích, trong khi khớp khủy là khớp bị động Pendubot thường được sử dụng để nghiên cứu điều khiển hệ phi tuyến và trong các lĩnh vực nghiên cứu khác, nhờ vào tính đơn giản trong việc phân tích động học và thử nghiệm, mặc dù có sự phi tuyến mạnh mẽ và động lực kép giữa hai tay.
Hệ thống Pendubot bao gồm hai liên kết: liên kết 1 được gắn vào trục của động cơ DC và có một encoder gắn ở đuôi động cơ Liên kết 2 kết nối với liên kết 1 tại khớp chung, nơi cũng được trang bị một encoder.
Những encoder tại những điểm nối cung cấp phép đo vị trí góc mối liên kết Hệ thống PENDUBOT được tạo ra bằng từ ghép (Pendulum và robot) như hình 1.1 Hệ thống Pendubot này hoạt động tại vai (shoulder) của link 1 và không hoạt động tại khủy (elbow) link 2 Link 2 này có thể dao động tự do xung quanh link 1 và nó hoạt động nhờ vào moment quán tính chuyển động của link 1 được gắn trực tiếp với trục động cơ servo
Hệ thống Pendubot là một mô hình khó điều khiển cân bằng, yêu cầu thiết kế chính xác và giải thuật điều khiển hiệu quả Để đạt được sự cân bằng, có nhiều phương pháp điều khiển có thể áp dụng, bao gồm điều khiển tối ưu, điều khiển thích nghi, điều khiển thích nghi bền vững và điều khiển fuzzy.
Nhiệm vụ của luận văn này là điều khiển cân bằng hệ thống Pendubot bằng phương pháp fuzzy hybrid Thuật toán này được triển khai trên Matlab thông qua phương pháp bóc khối trong Simulink và sau đó được tải xuống DSP để thực hiện.
Phân tích đánh giá các công trình nghiên cứu trong và ngoài nước
Trong những năm gần đây, nhiều nghiên cứu khoa học và báo cáo chuyên ngành đã chỉ ra sự quan tâm ngày càng tăng đối với mô hình pendubot, đặc biệt là trong việc điều khiển swing-up và cân bằng Các nhà khoa học trên thế giới đã đề xuất nhiều giải thuật khác nhau như điều khiển trượt, hồi tiếp tuyến tính hóa riêng phần, hồi tiếp trạng thái, và điều khiển dựa trên mức năng lượng Khi lý thuyết điều khiển hiện đại phát triển, các giải thuật mới như giải thuật mờ, di truyền, mờ thích nghi, cũng như sự kết hợp giữa các phương pháp này và mạng neural đã được áp dụng, mang lại nhiều thành công đáng kể trong lĩnh vực này.
1.3.1 Các công trình nghiên cứu ngoài nước
Hệ thống Pendubot là một mô hình phức tạp và không ổn định, với tính phi tuyến cao, do đó việc điều khiển để giữ con lắc cân bằng và thiết kế bộ điều khiển Swing-up trở thành những vấn đề quan trọng trong lĩnh vực điều khiển tự động Nếu hệ thống được chế tạo với độ chính xác và tin cậy cao, nó sẽ là mô hình lý tưởng cho các nhà nghiên cứu thực hiện thí nghiệm thu thập dữ liệu mà không cần biết rõ mô hình toán học Việc sử dụng bộ điều khiển hiệu quả để duy trì Pendubot ở vị trí cân bằng cũng là một yếu tố quan trọng cần được chú ý.
Các phương pháp điều khiển Pendubot bao gồm: điều khiển tuyến tính hóa, điều khiển thông minh, điều khiển lai, điều khiển phi tuyến, điều khiển PID, điều khiển trượt, thuật toán điều khiển tối ưu LQR và điều khiển logic mờ Fuzzy.
Nhiều nhà nghiên cứu đã phát triển các phương pháp swing-up và điều khiển cân bằng cho pendubot Mark W Spong và Daniel J Block đã áp dụng phương pháp tuyến tính hóa riêng phần cùng với bộ điều khiển toàn phương tuyến tính LQR để thực hiện swing-up và cân bằng pendubot Isabelle Fantoni, Rogelio Lozano, và Mark W Spong đã kết hợp điều khiển dựa vào năng lượng và tính thụ động để điều khiển pendubot Mingjun Zhang và Tzyh-Jong Tarn đã đề xuất phương pháp điều khiển hybrid, bao gồm cả kiểm soát thời gian rời rạc và liên tục Xiao Qing Ma và Chun-Yi Su đã sử dụng giải thuật mờ, kết hợp lý thuyết điều chỉnh tuyến tính với công nghệ mờ Takagi-Sugeno để cân bằng pendubot Cuối cùng, W Wang, J Yi, D Zhao và X Liu đã phát triển luật điều khiển trượt thích nghi cho pendubot, trong khi K J Åstrøm và K Furuta đã đề xuất phương pháp swing-up dựa vào điều khiển tổng năng lượng của hệ thống.
Nhận dạng hệ thống là quy trình trình bày mô hình động lực dựa trên tín hiệu ngõ vào và ngõ ra Dữ liệu ngõ vào và ra phản ánh các hoạt động động lực học, và các thông số mô hình được điều chỉnh để ngõ ra của mô hình khớp với ngõ ra thực tế Để xây dựng mô hình chính xác cho hệ thống Pendubot, các phương pháp nhận dạng khác nhau (tuyến tính và phi tuyến) sẽ được kiểm tra Một thách thức quan trọng là thu thập dữ liệu từ hệ thống, vì dữ liệu ngõ ra không ổn định có thể không cung cấp đủ thông tin về hoạt động của hệ thống Việc điều chỉnh thông tin phản hồi trong một hệ thống ổn định trước khi nhận dạng có thể được thực hiện tại nhiều vị trí khác nhau.
1.3.2 Các công trình nghiên cứu trong nước
Tại Đại học Giao thông Vận tải TP HCM, nghiên cứu về các giải thuật điều khiển cho mô hình "Điều khiển cân bằng Pendubot" đang được triển khai với nhiều đề tài phong phú.
Bài viết đề cập đến việc xây dựng bộ điều khiển tối ưu cho hệ thống pendubot, với nghiên cứu của Đỗ Xuân Lợi vào năm 2011 Ngoài ra, nghiên cứu của Phùng Khánh Vinh vào năm 2014 cũng đã trình bày phương pháp giữ cân bằng cho hệ pendubot bằng cách sử dụng bộ điều khiển Fuzzy PID cải tiến.
+ Mô hình & điều khiển cân bằng pendubot, Đỗ Minh Thư, 2015 [8]
Trong đó, các tác giả đã đạt được các kết quả sau:
- Xây dựng bộ điều khiển: LQR, Fuzzy PID kết hợp giải thuật di truyền,…
- Mô phỏng đối tượng với các bộ điều khiển đã thiết kế
- Đưa ra mô hình thật qua quá trình thiết kế và chế tạo
- Lập trình swing-up và giữ cân bằng hệ pendubot với hai link 1 & 2 ở vị trí TOP (cùng hướng lên trên), MID
Mặc dù đã đạt được nhiều kết quả từ các đề tài, nhưng vẫn còn tồn tại một số khuyết điểm như thiết kế mô hình cơ khí chưa tối ưu, thông số động cơ và mô hình chưa được nắm bắt đầy đủ, dễ bị ảnh hưởng bởi nhiễu, không thể thực hiện swing-up trở lại, và các encoder hoạt động không chính xác và ổn định, dẫn đến sai số lớn và làm cho điện áp điều khiển không chính xác.
Trong những năm gần đây, nghiên cứu về điều khiển hệ thống Pendubot đã phát triển mạnh mẽ với nhiều thuật toán như PID, điều khiển trượt, LQR và điều khiển logic mờ Fuzzy Nhiều công trình nghiên cứu đáng chú ý đã được công bố, chủ yếu từ các nhóm tác giả trong nước, tuy nhiên, hầu hết chỉ dừng lại ở việc đưa ra các giải thuật hoặc mô phỏng trên Matlab/Simulink mà ít có nghiên cứu thực nghiệm Các bộ điều khiển PID và LQR từ các hãng lớn thường được cung cấp dưới dạng sản phẩm hoàn chỉnh, cho phép lắp đặt vào hệ thống mà không cần điều chỉnh thêm, chỉ cần thiết lập các thông số hoạt động.
Những vấn đề còn tồn tại luận văn tập trung giải quyết
Hệ thống pendubot với các đặc tính riêng biệt tạo ra thách thức và cơ hội nghiên cứu thiết kế bộ điều khiển trong lĩnh vực điều khiển tự động Đánh giá các nghiên cứu về pendubot trong và ngoài nước cho thấy sự cần thiết phải kết hợp các phương pháp điều khiển thông minh, phi tuyến và thích nghi Các phương pháp như điều khiển neural thích nghi, điều khiển mờ trượt, điều khiển neural trượt và điều khiển mờ trượt thích nghi đang được phát triển mạnh mẽ.
1.4.1 Những vấn đề còn tồn tại
Qua nghiên cứu các đề tài khoa học, chúng ta nhận thấy rằng mặc dù các giải thuật mô phỏng lý thuyết mang lại kết quả ổn định, nhưng trong thực nghiệm, chưa có mô hình nào có thể điều khiển hiệu quả Điều này cho thấy những khó khăn trong việc thi công mô hình thực tế, bao gồm việc xây dựng mô hình cơ khí, xác định đúng các thông số, phát triển mô hình toán chính xác, tuyến tính hóa mô hình, và tìm kiếm giải thuật điều khiển phù hợp, đặc biệt trong bối cảnh thiếu kế thừa nghiên cứu hiện nay.
Tài liệu tham khảo về thi công thực nghiệm hiện nay rất hạn chế, điều này đặt ra yêu cầu cao về thiết kế cơ khí với độ chính xác tối ưu Việc sử dụng linh kiện hiện đại cũng làm gia tăng độ khó cho các nhà nghiên cứu trong quá trình thực hiện.
1.4.2 Mục tiêu đề tài hướng đến giải quyết
Mục tiêu của nghiên cứu là áp dụng các phương pháp điều khiển PID, logic mờ và logic mờ kết hợp vào mô hình hệ pendubot thực nghiệm Nghiên cứu sẽ so sánh kết quả đạt được từ các phương pháp này và đề xuất những định hướng cho các nghiên cứu tiếp theo, thông qua việc kết hợp các phương pháp điều khiển hiện đại và cổ điển.
Mục tiêu khoa học của đề tài
- Thiết kế, mô phỏng và thực hiện mô hình phần cứng hệ pendubot
- Thiết kế bộ điều khiển PID ổn định cân bằng pendubot tại vị trí TOP (link 1 và link
- Thiết kế bộ điều khiển mờ ổn định cân bằng pendubot tại vị trí TOP (link 1 và link
Kết hợp bộ điều khiển mờ và bộ điều khiển PID trong hệ mờ lai cascade giúp ổn định cân bằng của pendubot tại vị trí TOP, với hai liên kết 1 và 2 thẳng đứng hướng lên.
So sánh và đánh giá chất lượng kết quả của các bộ điều khiển PID, mờ và mờ lai dựa trên các tiêu chí như độ dao động, độ vọt lố, thời gian xác lập và sai số tĩnh là rất quan trọng Các bộ điều khiển PID thường cho kết quả ổn định nhưng có thể gặp phải vấn đề về độ dao động Trong khi đó, bộ điều khiển mờ có khả năng điều chỉnh linh hoạt hơn, giúp giảm thiểu độ vọt lố và thời gian xác lập Bộ điều khiển mờ lai kết hợp ưu điểm của cả hai loại, mang lại hiệu suất cao và sai số tĩnh thấp hơn, phù hợp cho các ứng dụng yêu cầu chính xác và ổn định.
Phạm vi nghiên cứu và công việc cần thực hiện
Phạm vi nghiên cứu tập trung vào việc đánh giá hiệu quả của hệ thống trong việc tối ưu hóa đáp ứng góc lệch, nhằm đạt được thời gian tiến về vị trí cân bằng ngắn nhất có thể.
Nghiên cứu xây dựng mô hình toán hệ thống pendubot
Nghiên cứu về nguyên lý cân bằng của hệ thống
Nghiên cứu thiết kế và thi công phần cơ khí cho mô hình pendubot
Thi công và tìm hiểu cách sử dụng module mạch giao tiếp và thu thập dữ liệu với
Nghiên cứu thiết kế bộ điều khiển PID, fuzzy (mờ), mờ lai, lập trình bằng ngôn ngữ Matlab để mô phỏng và điều khiển hệ thống pendubot
Điều khiển hệ thống cân bằng tại vị trí TOP (link 1 và link 2 ở vị trí up).
Phương pháp nghiên cứu
Nghiên cứu lý thuyết về các bộ điều khiển tuyến tính và phi tuyến là một lĩnh vực quan trọng, bao gồm việc tổng quan hóa các nguyên lý cơ bản Qua việc tính toán và mô hình hóa, các công cụ mô phỏng được sử dụng để trình bày rõ ràng các kết quả nghiên cứu đạt được, từ đó cung cấp cái nhìn sâu sắc về hiệu suất và ứng dụng của các bộ điều khiển này.
Sử dụng kiến thức hình học và lượng giác kết hợp với định lý ổn định Lyapunov, bài viết tìm ra phương trình toán học thể hiện mối quan hệ giữa các yếu tố sai số, bao gồm sai số khoảng cách và sai số góc lệch, với mô men xoắn tác động vào Pendubot Mục tiêu là điều khiển góc di chuyển của Pendubot để các sai số này hội tụ về 0.
Sử dụng phần mềm Matlab – Simulink để mô phỏng Pendubot nhằm kiểm tra độ tin cậy của bộ điều khiển đã thiết kế và triển khai trên mô hình thực tế.
Ý nghĩa của đề tài
Đề tài này tập trung vào việc xây dựng mô hình toán học cho hệ thống cánh tay thiếu dẫn động 2 bậc tự do Khi lý thuyết về các bộ điều khiển hiện đại ngày càng phát triển, Pendubot, với tính phi tuyến cao, trở thành một ứng dụng lý tưởng để kiểm tra các lý thuyết này Từ đó, nhiều phương pháp điều khiển mới được phát triển cho các hệ thống thiếu dẫn động n bậc phức tạp hơn, như robot người.
Tóm lược nội dung luận văn
Luận văn này nghiên cứu lý thuyết điều khiển PID, điều khiển mờ và điều khiển mờ lai để áp dụng cho hệ thống pendubot Tác giả sẽ lập trình và mô phỏng trên phần mềm Matlab, đồng thời thi công mô hình phần cứng Cuối cùng, giải thuật điều khiển sẽ được nhúng vào DSP TMS320F28335 để thực hiện điều khiển pendubot trong thực tế.
Luận văn gồm 5 chương với nội dung cụ thể như sau:
Lời mở đầu nêu rõ lý do chọn đề tài, xác định mục đích nghiên cứu, đối tượng và phạm vi nghiên cứu, đồng thời nhấn mạnh ý nghĩa khoa học và thực tiễn của đề tài Việc này không chỉ giúp định hướng cho nghiên cứu mà còn làm nổi bật giá trị và ứng dụng của kết quả nghiên cứu trong thực tế.
Chương 1: Tổng quan về đề tài
Chương 1 của luận văn cung cấp cái nhìn tổng quan về đề tài nghiên cứu, phân tích và đánh giá các công trình liên quan của tác giả từ nhiều nguồn tài liệu khác nhau Chương này nêu rõ ưu và nhược điểm của các phương pháp điều khiển hệ pendubot, cả trong nước và quốc tế Đồng thời, nó cũng xác định các mục tiêu, nhiệm vụ và phương pháp nghiên cứu được áp dụng trong đề tài Cuối cùng, chương này tóm lược nội dung chính của luận văn để người đọc có cái nhìn tổng quát.
Tổng quan phương pháp nghiên cứu
Bài toán hệ pendubot là một bài toán phi tuyến, và để điều khiển đối tượng này, có thể chuyển đổi nó thành hệ có mô hình phi tuyến hoặc tuyến tính Đối với mô hình tuyến tính, có thể áp dụng các phương pháp điều khiển kinh điển và hiện đại như PID, điều khiển trượt (SMC), LQR, Fuzzy, Neural, và GA để giải quyết bài toán.
Bài viết nghiên cứu bộ điều khiển mờ lai áp dụng cho các đối tượng phi tuyến bất định hoặc không rõ mô hình Mục tiêu chính là khắc phục hiện tượng ổn định cân bằng và điều khiển pendubot giữ ở vị trí TOP một cách hiệu quả, giảm thiểu dao động đến mức tối thiểu.
Luận văn này phân tích ưu điểm của bộ điều khiển mờ lai so với bộ điều khiển PID kinh điển và so sánh chất lượng điều khiển với bộ điều khiển mờ Đối tượng nghiên cứu có một ngõ vào là moment xoắn tác dụng lên link 1, nhưng có hai ngõ ra là góc lệch của link 1 và góc lệch của link 2 Vì bộ điều khiển PID hoặc mờ lai chỉ hoạt động theo nguyên tắc một vào một ra, nên cần áp dụng phương pháp thỏa hiệp để phát triển bộ điều khiển phù hợp.
Phương pháp điều khiển PID
2.2.1 Khái niệm và phương trình PID
Bộ điều khiển vi tích phân tỉ lệ (PID) là một cơ chế phản hồi phổ biến trong các hệ thống điều khiển công nghiệp, nổi bật nhờ khả năng tính toán sai số giữa giá trị đo và giá trị đặt mong muốn Nó hoạt động bằng cách điều chỉnh giá trị điều khiển đầu vào nhằm giảm tối đa sai số Mặc dù bộ điều khiển PID là lựa chọn tốt nhất khi thiếu kiến thức về quá trình, để đạt hiệu quả tối ưu, các thông số PID cần được điều chỉnh phù hợp với đặc thù của từng hệ thống, trong khi kiểu điều khiển vẫn giữ nguyên.
Giải thuật tính toán bộ điều khiển PID bao gồm ba thông số chính: tỉ lệ (P), tích phân (I) và đạo hàm (D) Giá trị tỉ lệ (P) xác định tác động của sai số hiện tại, trong khi giá trị tích phân (I) tính toán tác động của tổng các sai số quá khứ, và giá trị vi phân (D) đo lường tốc độ biến đổi của sai số Tổng hợp ba tác động này giúp điều chỉnh quá trình thông qua các phần tử điều khiển như vị trí van điều khiển hoặc bộ nguồn của phần tử gia nhiệt Nhờ đó, ta có thể hiểu rõ hơn về mối quan hệ thời gian giữa các thông số này: P phụ thuộc vào sai số hiện tại, I phụ thuộc vào tích lũy các sai số trước đó.
D dự đoán các sai số tương lai, dựa vào tốc độ thay đổi hiện tại
Bằng cách điều chỉnh ba hằng số trong giải thuật của bộ điều khiển PID, người dùng có thể tùy chỉnh bộ điều khiển cho các thiết kế đặc biệt Đáp ứng của bộ điều khiển được mô tả thông qua độ nhạy sai số, giá trị vọt lố điểm đặt và mức độ dao động của hệ thống Tuy nhiên, cần lưu ý rằng bộ giải thuật PID không đảm bảo tính tối ưu hoặc ổn định cho hệ thống.
Thuật toán PID là một trong những thuật toán phổ biến trong nhiều ứng dụng hiện nay nhờ tính hiệu quả cao PID là sự mở rộng của thuật toán PI, với việc bổ sung thành phần vi phân để cải thiện đặc tính động học của hệ thống Thành phần vi phân có khả năng dự đoán hướng và tốc độ thay đổi của biến điều khiển, từ đó đưa ra phản ứng phù hợp, giúp tăng tốc độ đáp ứng của hệ thống kín trước các biến đổi giá trị đặt hoặc tác động nhiễu Trong nghiên cứu này, thuật toán PID được áp dụng để điều khiển và duy trì sự cân bằng của hệ pendubot.
Hình 2.1: Cấu trúc bộ điều khiển PID
Giá trị ngõ ra của bộ điều khiển PID là tổng ngõ ra của ba bộ P, I, D
Mối quan hệ giữa ngõ vào và ngõ ra của bộ điều khiển PID có thể biểu diễn bằng công thức (2.2) như sau:
(2.2) Hay cũng có thể biểu diễn theo công thức (2.3) như sau:
Từ mô hình vào ra ta có hàm truyền đạt của bộ điều khiển:
Tương đương với hàm truyền đạt:
Hình 2.2: Sơ đồ điều khiển hồi tiếp với bộ điều khiển PID
BỘ ĐIỀU KHIỂN PID HỆ THỐNG y
- : Là giá trị ngõ ra của bộ điều khiển PID
- = − : Là sai số giữa tín hiệu thực tế và tín hiệu đặt
- : Là tín hiệu điều khiển
- : Là tín hiệu đặt (tín hiệu mong muốn)
- , lần lượt là thời gian vi phân và thời gian tích phân
Với KP, KI, KD là các hệ số tỷ lệ, tích phân, vi phân TI là hằng số tích phân,
Hằng số vi phân TD đóng vai trò quan trọng trong việc điều chỉnh tín hiệu u(t) của bộ điều khiển PID, mà chất lượng tín hiệu này phụ thuộc vào các tham số KP, KI, KD Sự hiện diện của thành phần vi phân không chỉ ảnh hưởng đến chất lượng tín hiệu mà còn giúp bộ điều khiển ổn định một số quá trình quan trọng trong hệ thống.
2.2.2 Vấn đề chỉnh định cho bộ điều khiển PID
Tuning bộ điều khiển PID là quá trình điều chỉnh các thông số KP, KI, KD để đảm bảo đáp ứng tại ngõ ra đạt tiêu chuẩn chất lượng Quá trình này phức tạp và yêu cầu người thực hiện có kiến thức vững về đối tượng điều khiển Hiện có nhiều phương pháp để chọn các thông số này, bao gồm Ziegler-Nichols, Offerein, Reinish, phần mềm, Cohen-Coon và thủ công Trong bài viết này, chúng tôi sẽ tập trung vào phương pháp phổ biến là “Adjust and Observe” Tuning.
Việc tăng cường các thông số KP, KI, KD có tác động rõ rệt đến các chỉ tiêu chất lượng của đáp ứng ngõ ra, điều này được thể hiện qua bảng 2.1.
Bảng 2.1: Ảnh hưởng việc tăng các thông số KP, KI, KD lên đáp ứng của hệ thống Ảnh hưởng của việc tăng các thông số K P , K I , K D
(Thời gian khởi động) Độ vọt lố
Thời gian xác lập Sai số xác lập Độ ổn định
KP Giảm Tăng Thay đổi nhỏ Giảm Giảm
KI Giảm Tăng Tăng Giảm đáng kể Giảm
KD Giảm ít hoặc tăng Giảm ít Giảm ít Về lý thuyết không tác động
KD nhỏ Phương pháp này được thực hiện dựa trên tác động của việc hiệu chỉnh các hệ số KP, KI, KD lên đáp ứng ngõ ra như sau:
Tăng hệ số KP có thể cải thiện thời gian đáp ứng và giảm offset, mặc dù không thể loại bỏ hoàn toàn vấn đề này Tuy nhiên, nếu hệ số KP quá cao, nó có thể dẫn đến hiện tượng vọt lố và dao động không mong muốn.
Tăng hệ số KD có thể giúp giảm thiểu hiện tượng vọt lố do ảnh hưởng của khâu P, nhưng không thể hoàn toàn loại bỏ offset chỉ bằng cách tăng hệ số KD.
Tăng hệ số KI giúp loại bỏ offset hiệu quả, với hệ số KI càng lớn thì quá trình loại bỏ offset diễn ra nhanh chóng hơn Tuy nhiên, nếu hệ số KI quá cao, điều này có thể dẫn đến hiện tượng dao động.
Phương pháp điều khiển mờ (fuzzy logic)
2.3.1 Tổng quan về logic mờ
Lý thuyết tập mờ (fuzzy set theory) được giáo sư Lotfi A Zadeh tại trường đại học California, Mỹ giới thiệu vào năm 1965, đã phát triển mạnh mẽ qua nhiều công trình nghiên cứu Từ năm 1980, các công ty Nhật Bản đã áp dụng logic mờ trong kỹ thuật điều khiển Tuy nhiên, do phần cứng tính toán theo thuật toán logic mờ còn hạn chế, hầu hết các ứng dụng đều sử dụng phần cứng chuyên biệt cho logic mờ.
Một trong những ứng dụng đầu tiên của logic mờ tại Việt Nam là nhà máy xử lý nước của Fuji Electric, được triển khai vào năm 1983 Ngoài ra, hệ thống xe điện ngầm của Hitachi cũng là một ví dụ tiêu biểu cho việc áp dụng công nghệ này.
Logic mờ, ra đời vào năm 1987, là một mô hình toán học phản ánh logic của con người, cho phép nhận định và xử lý thông tin không đầy đủ để điều khiển đối tượng một cách chính xác Nó tập trung vào sự không chắc chắn, hỗ trợ ước lượng và giải quyết các vấn đề phức tạp Mặc dù logic mờ không thể tái tạo trí tưởng tượng và khả năng sáng tạo của con người, nhưng nó giúp rút ra kết luận trong những tình huống không được mô tả bởi luật lệ cụ thể Bằng cách mô tả mong muốn của hệ thống trong các trường hợp cụ thể, logic mờ có thể tạo ra giải pháp dựa trên những mong muốn đó.
Một quá trình xử lý mờ gồm ba giai đoạn chính như hình sau:
Hình 2.3: Sơ đồ khối quá trình xử lý mờ 2.3.2 Bộ điều khiển mờ
Cấu trúc một bộ điều khiển mờ
Một bộ điều khiển mờ gồm 3 khâu cơ bản:
+ Thực hiện luật hợp thành
Xét bộ điều khiển mờ MISO sau, với vector đầu vào = [ … … ]
Hình 2.4: Cấu trúc bộ điều khiển mờ
Nguyên lý điều khiển mờ
Hình 2.5: Nguyên lý điều khiển mờ Các bước thiết kế hệ thống điều khiển mờ:
+ Giao diện đầu vào gồm các khâu: mờ hóa và các khâu hiệu chỉnh như tỷ lệ, tích phân, vi phân …
+ Thiếp bị hợp thành: sự triển khai luật hợp thành R
+ Giao diện đầu ra gồm: khâu giải mờ và các khâu giao diện trực tiếp với đối tượng
Bộ điều khiển mờ cơ bản bao gồm 3 khối cơ bản: khối mờ hóa, khối quy tắc và hệ suy diễn, và khối giải mờ
Hình 2.6: Bộ điều khiển mờ cơ bản
- Khối mờ hoá có chức năng chuyển mỗi giá trị rõ của biến ngôn ngữ đầu vào thành vector μ có số phần tử bằng số tập mờ đầu vào
Thiết bị hệ quy tắc và phương pháp suy diễn được xây dựng dựa trên luật hợp thành R, với nền tảng là luật điều khiển.
- Khối giải mờ có nhiệm vụ chuyển tập mờ đầu ra thành giá trị rõ y0 (ứng với mỗi giá trị rõ x0 đề điều khiển đối tượng
Khối tiền xử lý thực hiện tổng hợp và chuyển đổi tín hiệu từ dạng tương tự sang số, đồng thời lọc nhiễu Ngoài ra, khối này còn có thể bao gồm các bước phụ trợ để thực hiện các phép toán động như tích phân và vi phân.
Khối hậu xử lý chuyển đổi tín hiệu từ số sang tương tự để điều khiển đối tượng, biến đổi tỷ lệ giá trị ngõ ra của bộ điều khiển mờ cơ bản thành giá trị vật lý, có thể bao gồm cả bước tích phân.
Ví dụ về hệ thống điều khiển mờ
Hình 2.7: Hệ thống điều khiển mờ
Hệ thống MIMO với nhiều thiết bị hợp thành
Hình 2.8: Hệ thống MIMO với nhiều thiết bị hợp thành
Hệ thống MIMO với nhiều thiết bị hợp thành nối song song
Hình 2.9: Hệ thống MIMO với nhiều thiết bị hợp thành nối song song
2.3.3 Những nguyên tắc tổng hợp bộ điều khiển mờ Để tổng hợp bộ điều khiển mờ, cần chú ý một số điểm sau:
Không bao giờ nên thiết kế một bộ điều khiển mờ để giải quyết một bài toán tổng hợp mà có thể dễ dàng thực hiện bằng các bộ điều khiển kinh điển như bộ điều khiển P hay IP Việc sử dụng các phương pháp truyền thống sẽ giúp tiết kiệm thời gian và tài nguyên, đồng thời đảm bảo hiệu suất cao hơn trong nhiều trường hợp.
PD, PID, bộ điều khiển trạng thái) thỏa mãn các yêu cầu đặt ra
Việc áp dụng bộ điều khiển mờ trong các hệ thống yêu cầu độ an toàn cao vẫn còn gặp nhiều hạn chế, bởi các tiêu chí chất lượng và mục tiêu của hệ thống chỉ có thể được xác định và đạt được thông qua quá trình thực nghiệm.
- Điểm quan trọng nhất là bộ điều khiển mờ phải phát triển qua thực nghiệm
- Các bước thiết kế bộ điều khiển mờ:
+ Bước 1: Định nghĩa tất cả các biến ngôn ngữ vào/ra
Trong quá trình điều khiển, cần chú ý đến các đặc điểm cơ bản của đối tượng như tốc độ biến đổi, độ trễ và tính phi tuyến Những thông tin này rất quan trọng để xác định miền xác định của các biến ngôn ngữ đầu vào, đặc biệt là các biến động học như vận tốc và gia tốc Đối với tín hiệu biến thiên nhanh, cần lựa chọn miền xác định với vận tốc và gia tốc lớn, và ngược lại cho tín hiệu biến thiên chậm.
+ Bước 2: Xác định các tập mờ cho từng biến vào/ra (mờ hóa)
Trong bước này, chúng ta cần xác định miền giá trị vật lý của các biến ngôn ngữ, số lượng tập mờ và hình dạng các hàm liên thuộc cho mỗi biến Số lượng tập mờ được chọn tùy ý, nhưng cần cân nhắc giữa việc chọn ít hoặc nhiều để đảm bảo quá trình điều chỉnh mịn màng và dễ dàng trong cài đặt luật hợp thành Hình dạng của các hàm liên thuộc có thể là hình tam giác, hình thang hoặc hàm Gaussian, giúp tối ưu hóa hiệu suất của hệ thống.
Bước 3 trong thiết kế bộ điều khiển mờ là xây dựng luật hợp thành, đây là giai đoạn quan trọng và khó khăn nhất Việc này phụ thuộc nhiều vào tri thức và kinh nghiệm của các chuyên gia trong việc vận hành hệ thống Hiện nay, chúng ta thường áp dụng một số nguyên tắc cơ bản để đảm bảo hệ thống hoạt động, sau đó tiến hành mô phỏng và điều chỉnh các luật, hoặc sử dụng một số thuật toán tối ưu để cải thiện hiệu suất.
+ Bước 4: Chọn thiết bị hợp thành
Chọn thiết bị hợp thành như MAX-MIN, MAX-PROD, SUM-MIN hoặc SUM-PROD, đồng thời xác định nguyên tắc giải mờ phù hợp, bao gồm Trung bình, cận trái, cận phải, điểm trọng tâm hoặc độ cao.
+ Bước 5: Giải mờ và tối ưu hóa
Sau khi hoàn tất thiết kế bộ điều khiển mờ, bước tiếp theo là mô hình hóa và mô phỏng hệ thống để kiểm tra kết quả Trong quá trình này, cần điều chỉnh một số tham số nhằm đạt được chế độ làm việc tối ưu Các tham số có thể điều chỉnh bao gồm việc thêm hoặc bớt luật điều khiển, thay đổi trọng số của các luật, cũng như điều chỉnh hình dạng và miền xác định của các hàm liên thuộc.
Cơ sở chung
Phương pháp Lagrange dựa trên mối quan hệ tổng năng lượng của hệ thống với lực tổng quát trong một hệ tọa độ tổng quát
Giả sử chúng ta đã xác định một tập hợp các biến tổng quát \( q_1, q_2, q_3, \ldots, q_n \) để mô tả vị trí các khâu của một tay máy n bậc tự do Hàm Lagrange của hệ cơ học được biểu diễn như một hàm số của các tọa độ tổng quát này.
Trong đó K và V tương ứng là động năng và thế năng của hệ
Từ đó, ta có công thức Lagrange như sau:
Lực tổng quát 0 liên kết với hệ tọa độ tổng quát q, trong đó ̇ là vector góc và vận tốc góc của hệ thống Động năng của hệ thống được biểu diễn dưới dạng hàm toàn phương của ̇, với ̇ là vector vận tốc góc.
2 ̇ ( ) ̇ (3.3) Ở đây D(q): là ma trận đối xứng định nghĩa dương với mỗi q ∈ R , hay ma trận quán tính
Thế năng của Pendubot là hàm của vị trí góc V = V(q), và độc lập với ̇.
Phương trình toán hệ thống
3.2.1 Giới thiệu các thông số của hệ thống
Hình 3.1: Hệ trục tọa độ Pendubot
Hệ thống Pendubot, như mô tả trong hình 3.1, là một hệ thống cơ khí kích thích dưới, bao gồm một robot với bộ truyền động tại thanh 1, trong khi thanh 2 hoạt động như một thanh quay tự do xung quanh thanh 1.
Để xây dựng mô hình toán học cho Pendubot, cần thiết lập một phương trình động lực học chính xác nhằm hỗ trợ tổng hợp bộ điều khiển và mô phỏng trên máy tính Có nhiều phương pháp có thể áp dụng, trong đó phương pháp Euler-Lagrange là một trong những phương pháp phổ biến nhất Phương trình Euler-Lagrange sẽ được sử dụng để phát triển mô hình này.
Mỗi biến được định nghĩa như sau:
: lực tác dụng (generalized forces), 0
: tọa độ suy rộng (generalized coordinates), Bảng 3.1: Các thông số của hệ pendubot
Trong bài viết này, chúng tôi trình bày các ký hiệu và đơn vị liên quan đến các thông số của hai link trong hệ thống cơ học Link 1 có khối lượng kg, chiều dài m, khoảng cách từ trục động cơ đến trọng tâm là m, mômen quán tính là kg.m², góc so với phương ngang là rad, vận tốc góc là ̇ rad/s và gia tốc góc là ̈ rad/s² Tương tự, link 2 có khối lượng kg, chiều dài m, khoảng cách từ trục encoder đến trọng tâm là m, mômen quán tính là kg.m², góc so với link 1 là rad, vận tốc góc là ̇ rad/s, gia tốc góc là ̈ rad/s² và gia tốc trọng trường là m/s².
3.2.2 Thiết lập mô hình toán học cho hệ thống pendubot
Tổng động năng hệ thống như sau:
= : động năng tịnh tiến link 1
= ̇ : động năng quay link 1 Động năng của link 2:
= : động năng tịnh tiến link 2
Từ hình 3.1 vector vị trí hệ thống là
Tương ứng với vận tốc di chuyển của link 1:
Tương ứng với vận tốc di chuyển của link 2:
→ ̇ =− ̇ − ( ̇ + ̇ )sin( + ): vận tốc theo trục x
→ ̇ = ̇ + ( ̇ + ̇ )cos( + ): vận tốc theo trục y
Do đó, động năng của hệ thống:
2 ( ̇ + ̇ ) Thế năng của hệ thống:
= + = sin + sin + sin( + ) (3.10) Đặt các thông số hệ thống như sau:
Tính toán theo công tức (3.2) và đưa về dạng ma trận
Mô hình động học hệ thống sẽ là:
( ) ̈ + ( , ̇) ̇ + ( ) 0 + (3.13) với là vector lực ma sát
Xét giả định tiêu chuẩn không có ma sát, mô hình động học của hệ thống được suy ra thông qua phương trình Euler-Lagrange.
Trong đó: D(q): ma trận quán tính
C( , ̇): coroilis/ vector hướng tâm G(q) : vector trọng lực
Với = [ ] ; và là góc của thanh 1 so với phương ngang và góc của thanh 2 so với thanh 1; ̇ và ̈ là vector vận tốc góc và vector gia tốc góc;
= [ 0] , là mô men xoắn bên ngoài đưa vào thanh 1
Vì ( ) là ma trận đối xứng định nghĩa dương nên ( ) có thể viết dưới dạng:
( ) = trong đó Từ công thức động năng của hệ thống (3.3), (3.9) và (3.12):
Vậy nên các phần ( ), ( , ̇) và ( ) có thể được trình bày với năm thông số { , , , , } như sau:
Những thông số sau là cần thiết diễn tả hệ thống:
Những thông số của các link có thể đo trực tiếp hoặc được tính bằng công thức từng thành phần riêng
Moment của mỗi link có thể được tính bằng công thức như sau: là moment của từng thành phần trên link đó
Với các thông số ta đo trực tiếp hoặc tính theo công thức ta được:
Bảng 3.2: Bảng giá trị các thông số của hệ pendubot
Thế vào các thông số:
Diễn tả không gian trạng thái hệ thống
Bởi vì ma trận ( ) là ma trận định nghĩa dương, ma trận nghịch đảo ( ) của nó là tồn tại
Từ (3.14), hệ thống phương trình hoạt động có thể được viết lại như sau: ̈̈ = ( ) − ( ) ( , ̇) ̇ − ( ) ( )
Tính các thành phần trong (3.19):
Biến trạng thái định nghĩa lại như sau:
Phương trình không gian trạng thái được diễn tả như sau: ̇ = +
Các thông số từ đến được định nghĩa như (3.11), là moment tín hiệu vào điều khiển và đến là vector trạng thái của hệ thống Pendubot.
Những điểm cân bằng của hệ thống
Nhiệm vụ trong đề tài này là điều khiển cân bằng hệ thống nên những điểm cân bằng được tìm là cần thiết
Hệ thống máy với cơ cấu chấp hành bên dưới (underactuator) tạo ra các điểm cân bằng dựa trên thông số động năng và thế năng Khi hệ thống Pendubot được thiết lập song song với gia tốc trọng trường, nó sẽ xuất hiện những điểm cân bằng đặc trưng.
Hình 3.2: Cơ cấu chấp hành và cơ cấu chấp hành bên dưới của Pendubot
Hệ thống cân bằng khi: ̈ = ̈ = 0 ̇ = ̇ = 0 và = (3.26)
( ) ̈ + ( , ̇) ̇ + ( ) Chúng ta tìm được điểm cân bằng:
Giải ( , ) từ phương trình (3.28) miêu tả 4 điểm thăng bằng của hệ thống Pendubot :
1) ( , ) = , 0 : cả thanh 1 và thanh 2 bị đảo ngược ở điểm cao nhất : gọi là điểm cân bằng không ổn định vị trí TOP
2) ( , ) = − , 0 : cả thanh 1 và thanh 2 trở xuống ở điểm thấp nhất : gọi là điểm cân bằng ổn định vị trí BOTTOM (viết tắt là BOT)
3) ( , ) = ,− : thanh 1 ở vị trí trên cao và thanh 2 ở vị trí thấp hơn : gọi là điểm cân bằng không ổn định vị trí MIDDLE_HIGH (viết tắt là MID_H)
4) ( , ) = − , : thanh 1 ở vị trí thấp hơn và thanh 2 ở vị trí cao hơn : gọi là điểm cân bằng không ổn định vị trí MIDDLE_LOW (viết tắt là MID_L)
Như vậy hệ thống có 4 điểm cân bằng tương ứng ( , ̇ , , ̇ ):
Trong số bốn điểm thăng bằng, chỉ có điểm (-1, 0) là ổn định, trong khi ba điểm còn lại không ổn định Điểm (1, 0) là trường hợp khó nhất cho việc ổn định hồi tiếp trong ba điểm thăng bằng dao động Mục tiêu điều khiển pendubot là di chuyển từ (-1, 0) lên (1, 0) và duy trì sự cân bằng tại vị trí này.
Tính chất có thể điều khiển được và không điều khiển được
Những điểm cân bằng trên là có thể điều khiển được Tuy nhiên ta có 4 vị trí không thể điều khiển được là:
2 Chúng ta dễ dàng hiểu tính chất vật lý của hệ thống vì sao không thể điều khiển được khi = 0, hoặc − được mô phỏng như hình 3.3
Theo phương trình (3.28), chỉ khi = 0 thì = 0, ± Tuy nhiên, để link 2 duy trì trạng thái cân bằng ổn định ở vị trí thẳng đứng hướng lên, giá trị hằng số của lực tác dụng lên link 1 không thể bằng 0 Do đó, vị trí của link 1 khi = 0, ± và góc tương ứng của link 2 là những vị trí không thể điều khiển được Hơn nữa, khi hệ thống tiến gần đến những vị trí này, khả năng điều khiển sẽ giảm đi đáng kể.
Hình 3.4 cho thấy vị trí không điều khiển được bằng 0 Để đánh giá tính chất điều khiển được và không điều khiển được theo phương pháp toán học, chúng ta định nghĩa ma trận có thể điều khiển được.
Sau khi thế những tham số hệ thống và những điểm cân bằng:
Thế những điểm cân bằng trên vào 2 ma trận A và B ta được:
Từ ma trận A và B ta tính được ma trận như sau:
Ma trận có hạng là 2 < 4 = hạng của ma trận A
Do vậy những điểm cân bằng trên là không điều khiển được như hình 3.4.
Mô phỏng đáp ứng của hệ pendubot khi chưa có bộ điều khiển
Dựa trên mô hình toán học được thiết lập từ công thức 3.10 và 3.11, chúng tôi sử dụng chương trình Matlab Simulink để thiết kế và mô phỏng hệ thống pendubot.
Hình 4.1: Sơ đồ mô phỏng hệ pendubot
Hình 4.2: Sơ đồ bên trong khối hệ pendubot
Các thông số của mô hình mô phỏng được thiết kế dựa trên mô hình thực tế Nhiều thông số được xác định từ mô hình cơ khí và thông tin từ datasheet của nhà sản xuất, trong khi một số khác được ước lượng bởi người thiết kế dựa trên mô hình thực tế Tác giả cũng tham khảo các bài báo khoa học và luận văn của sinh viên liên quan đến đề tài này để lựa chọn các thông số phù hợp với mô hình thực tế, đáp ứng yêu cầu của hệ pendubot.
Bảng 4.1: Bảng giá trị các thông số của hệ pendubot
Trong bài viết này, chúng tôi trình bày các thông số kỹ thuật của hai liên kết và một cảm biến Liên kết 1 có khối lượng 0.22 kg, chiều dài 0.187 m, khoảng cách từ trục động cơ đến trọng tâm là 0.15 m, và mômen quán tính là 3.9917x10^-3 kg.m² Liên kết 2 có khối lượng 0.038 kg, chiều dài 0.325 m, khoảng cách từ trục encoder đến trọng tâm là 0.205 m, với mômen quán tính 6.49x10^-4 kg.m² Cảm biến có khối lượng 0.17 kg và chiều dài 0.15 m Cuối cùng, gia tốc trọng trường được xác định là 9.81 m/s².
Khảo sát đáp ứng tín hiệu của hệ thống pendubot khi chưa có bộ điều khiển
Hình 4.3: Sơ đồ mô phỏng của hệ pendubot khi chưa có bộ điều khiển
Khi xét điều kiện ban đầu, moment xoắn tác dụng lên link 1 bằng 0 khi điện áp điều khiển cấp vào động cơ cũng bằng 0, và tất cả các đại lượng ̇, ̇, ̈, ̈ đều bằng 0 Trong trạng thái cân bằng ổn định BOTTOM, link 1 và link 2 sẽ duy trì vị trí này mãi nếu không có tín hiệu áp điều khiển và không chịu tác động từ ngoại lực hay nhiễu bên ngoài.
Kết quả đáp ứng của góc link 1 so với phương ngang và link 2 so với link 1 khi chưa có bộ điều khiển cho thấy hệ pendubot luôn ở vị trí cân bằng BOTTOM Để duy trì sự ổn định của hệ pendubot ở vị trí TOP, tức là khi link 1 và link 2 thẳng đứng vuông góc với phương ngang, cần áp dụng một bộ điều khiển hồi tiếp Có thể sử dụng nhiều phương pháp điều khiển như LQR, Fuzzy, PID, Neural, thích nghi, trượt, hoặc kết hợp các phương pháp này để điều khiển hiệu quả hệ pendubot.
Mô phỏng điều khiển cân bằng hệ pendubot dùng bộ điều khiển PID
Để thiết lập bộ điều khiển PID cho hệ pendubot, cần hiệu chỉnh các thông số KP, KI, KD nhằm đảm bảo đáp ứng tại ngõ ra đạt chất lượng yêu cầu Quá trình này phức tạp và đòi hỏi người thực hiện phải có kiến thức sâu về đối tượng điều khiển Việc điều chỉnh các thông số KP, KI là rất quan trọng để tối ưu hóa hiệu suất của hệ thống.
KD dựa vào sơ đồ điều khiển PID, tên gọi được đặt theo ba khâu điều chỉnh của nó Tổng của ba khâu này tạo thành các biến điều khiển u(t), như được mô tả trong công thức (2.1) của chương 2.
Bộ điều khiển PID bao gồm ba thành phần đầu ra P(t), I(t), và D(t) từ các khâu tỉ lệ, tích phân, và vi phân Các thành phần này được cộng lại để tính toán đầu ra của bộ điều khiển PID Công thức giải thuật PID được mô tả trong biểu thức (2.2) của chương 2.
Độ lợi tỉ lệ K trong hệ pendubot ảnh hưởng đến tốc độ đáp ứng và sai số, với giá trị lớn dẫn đến sai số lớn và bù khâu tỉ lệ cao Độ lợi tích phân K giúp ổn định sai số nhanh chóng nhưng có thể gây ra độ vọt lố lớn Ngược lại, độ lợi vi phân K giảm độ vọt lố nhưng làm chậm đáp ứng quá độ Để điều chỉnh các tham số KP, KI, KD, có nhiều phương pháp như Ziegler-Nichols, Offerein, Reinish, phần mềm, Cohen-Coon hoặc thủ công Do tính phi tuyến cao và sự phức tạp của mô hình hệ pendubot, tác giả đề xuất chọn các tham số điều khiển theo phương pháp thủ công dựa trên kinh nghiệm và sửa sai.
Theo bảng 2.1 chương 2 ta có: Ảnh hưởng của việc tăng các thông số K P , K I , K D
(Thời gian khởi động) Độ vọt lố
Thời gian xác lập Sai số xác lập Độ ổn định
KP Giảm Tăng Thay đổi nhỏ Giảm Giảm
KI Giảm Tăng Tăng Giảm đáng kể Giảm
KD Giảm ít hoặc tăng Giảm ít Giảm ít Về lý thuyết không tác động
Phương pháp chỉnh thủ công:
Để duy trì trạng thái online cho hệ thống, một phương pháp điều chỉnh là bắt đầu với giá trị K bằng không Tăng dần K cho đến khi đầu ra của vòng điều khiển dao động, sau đó điều chỉnh K về khoảng một nửa giá trị đó để đạt được "1/4 giá trị suy giảm biên độ" Tiếp tục tăng K cho đến khi đạt được thời gian xử lý phù hợp, nhưng cần lưu ý rằng giá trị K quá lớn có thể dẫn đến mất ổn định.
K là yếu tố quan trọng trong việc điều chỉnh vòng điều khiển nhanh, giúp nhanh chóng lấy lại giá trị đặt sau khi bị nhiễu Tuy nhiên, nếu K quá lớn, sẽ dẫn đến đáp ứng dư và hiện tượng vọt lố Trong trường hợp hệ thống không cho phép vọt lố xảy ra, cần thiết lập một giá trị K nhỏ hơn một nửa giá trị K gây dao động Để tối ưu hóa KP, KI, KD, cần đảm bảo độ vọt lố (POT%) càng nhỏ càng tốt, exl càng nhỏ càng tốt, và txl càng nhỏ càng tốt.
Nếu hệ số KP tăng sai số xác lập exl nhỏ, thời gian xác lập txl sẽ giảm nếu không xảy ra hiện tượng vọt lố, nhưng sẽ tăng nếu có vọt lố Khi hệ số KP quá lớn, hệ thống sẽ trở nên mất ổn định.
Khi hệ số KI tăng, hệ thống dao động có thể mất ổn định, vì vậy thường lựa chọn giá trị KI nhỏ nhất Ngược lại, nếu hệ số KD lớn, hệ thống sẽ hoạt động chậm hơn nhưng ổn định hơn, giúp giảm thiểu hiện tượng vọt lố.
Từ phương trình toán học của đối tượng: ̈ = 1
Phương pháp này sử dụng hai ngõ ra của hệ thống, bao gồm góc lệch của link 1 so với phương ngang (q1) và góc lệch của link 2 so với link 1 (q2), để thực hiện quá trình hồi tiếp.
Bộ điều khiển PID hai biến là sự kết hợp của hai bộ PID nhằm xác định giá trị mô men xoắn của động cơ tác động lên link 1, tức là điện áp cung cấp cho động cơ Để thiết kế bộ PID hai biến, cần dựa vào bộ điều khiển PID hồi tiếp vị trí góc của link 1.
Bài viết đề cập đến việc thiết kế bộ điều khiển PID cho hệ pendubot, sử dụng hồi tiếp góc để điều khiển chính xác góc của hệ thống Phương pháp điều khiển này dựa trên kinh nghiệm và điều chỉnh thủ công, kết hợp với việc thực hiện nhiều lần mô phỏng với các thông số KP để tối ưu hóa hiệu suất của bộ PID hai biến.
Việc điều chỉnh các tham số PID, bao gồm KP1, KD1, KP2, KD2 cho bộ điều khiển PD hoặc KP1, KI1, KD1, KP2, KI2, KD2 cho bộ điều khiển PID, là một quá trình phức tạp và tốn thời gian Dù chúng ta có thể tìm ra bộ thông số để hệ thống hoạt động ổn định, nhưng việc điều chỉnh bằng tay không đảm bảo rằng các tham số này là tối ưu Hơn nữa, khi hệ thống thay đổi, việc tìm lại các thông số KP, KI, KD là cần thiết để duy trì hiệu suất điều khiển tốt nhất.
Ta tiến hành xây dựng sơ đồ mô phỏng hệ pendubot bằng Matlab Simulink
4.2.2 Mô phỏng điều khiển cân bằng pendubot dùng bộ điều khiển PID
Hình 4.5: Sơ đồ khối mô phỏng bộ điều khiển PID hệ pendubot bằng Matlab
Hình 4.6: Bên trong khối PID link 1 và link 2
Với bộ thông số PID tìm được:
Bộ PID link 1: KP1 i.2, KI1 =6.28, KD1=9.8
Bộ PID link 2: KP2I.7, KI2 =4.29, KD2=5.7
Kết quả đáp ứng ngõ ra hệ pendubot của phương pháp này được hiển thị trên hình như sau:
Tại lân cận vị trí TOP = + 0.01
= 0.01 với điều kiện đầu q1_init = pi/2 + 0.01 q1_dot_init = −0.02; q2_init = 0.01; q2_dot_init = 0.024;
Chọn các thông số hệ thống như sau: beta1 = 0.01122; beta2 = 0.00193; beta3 = 0.00156; beta4 = 0.0406; beta5 = 0.0078; g = 9.81;
Hình 4.7: Đáp ứng vị trí góc link 1 của hệ pendubot
Hình 4.8: Đáp ứng vị trí góc link 2 của hệ pendubot
Hình 4.9: Đáp ứng tín hiệu moment điều khiển của hệ pendubot
Kết quả mô phỏng cho thấy bộ điều khiển PID hoạt động hiệu quả, với thời gian xác lập nhanh chóng và sai số thấp Mặc dù có hiện tượng vọt lố, nhưng mức độ này là không đáng kể.
- Thời gian đáp ứng hệ thống cân bằng hệ pendubot sử dụng bộ điều khiển PID cho góc link 1 là 4.5s và góc link 2 là 4.5s
- Đáp ứng tín hiệu moment điều khiển hệ pendubot với thời gian đáp ứng là 0.5s, độ vọt lố ít
Hệ thống đạt trạng thái cân bằng TOP khi cả hai link thẳng đứng hướng lên, với link 1 lệch 0.01 rad so với phương đứng và link 2 lệch 0.01 rad so với link 1 Khi bộ điều khiển PID hoạt động, cả hai link tiến về vị trí cân bằng trong khoảng thời gian xác lập khoảng 4.5 giây.
Bộ điều khiển PID trong mô phỏng cho thấy đáp ứng của hệ thống khá tốt; tuy nhiên, điều này chỉ áp dụng trong điều kiện lý tưởng, với giả định không có ma sát và các thanh đồng chất, cũng như không có ảnh hưởng từ nhiễu bên ngoài như nhiễu điện áp điều khiển hay rung động.
- Ta có thể tìm bộ thông số PID bằng giải thuật di truyền (Genetic Algorithms) để giảm bớt thời gian cho quá trình thử sai và tinh chỉnh
Kết quả tìm kiếm thông số PID dùng giải thuật GA như sau: generation #79 of maximum 10000
Mô phỏng điều khiển cân bằng hệ pendubot dùng bộ điều khiển mờ
4.3.1 Giải thuật điều khiển mờ cho hệ pendubot
Thiết kế luật điều khiển mờ với 4 biến ngõ vào là một nhiệm vụ phức tạp và tốn thời gian, đòi hỏi nhiều tính toán và điều chỉnh Do đó, việc thiết kế bộ điều khiển mờ cần phải xác định rõ các biến ngõ vào và ra từ trước Sự lựa chọn chính xác các biến này là rất quan trọng, vì nó tạo điều kiện thuận lợi cho quá trình thiết kế bộ điều khiển hiệu quả.
Hệ pendubot cân bằng phụ thuộc vào vị trí góc của link 1 và link 2 Để thiết kế bộ điều khiển mờ, tín hiệu điều khiển u được xác định bằng tổng của hai tín hiệu điều khiển từ bộ điều khiển mờ cho link 1 và link 2 Bộ điều khiển mờ là loại MISO, với 2 ngõ vào phản hồi tín hiệu và 1 ngõ ra áp điều khiển.
Bộ điều khiển mờ cho link 1 gồm 2 tín hiệu ngõ vào:
- Sai lệch vị trí góc link 1: E1
- Đạo hàm sai lệch (tốc độ sai lệch) vị trí góc link 1: DE1
Tương tự, bộ điều khiển mờ cho link 1 gồm 2 tín hiệu ngõ vào:
- Sai lệch vị trí góc link 1: E2
- Đạo hàm sai lệch (tốc độ sai lệch) vị trí góc link 1: DE2
Bộ điều khiển được thiết kế với một biến ngõ ra là tín hiệu áp điều khiển U cho motor Luật mờ được xây dựng dựa trên kinh nghiệm và hoạt động của hệ pendubot Mỗi bộ điều khiển có hai ngõ vào, vì vậy chúng tôi chọn ba biến ngôn ngữ cho mỗi ngõ vào, tạo ra tổng cộng chín luật mờ (3^2 = 9) để thuận tiện cho việc thiết kế.
Chúng tôi đã phát triển một bộ điều khiển mờ dựa trên quy tắc mờ Sugeno, với 5 biến ngôn ngữ đầu ra tương ứng với 5 mức điện áp khác nhau cho motor Do hai khối điều khiển mờ cho link 1 và link 2 có cấu trúc giống nhau, chỉ khác biệt ở các hệ số khuếch đại của khâu tiền xử lý và hậu xử lý, nên chúng tôi chỉ trình bày một khối điều khiển chung cho cả hai link.
Hình 4.12: Khối mô tả bộ điều khiển mờ thiết kế Thiết kế bộ điều khiển mờ (fuzzy logic) cho hệ pendubot:
Bước 1: Xác định các biến vào, ra của khối xử lý mờ
Bộ điều khiển mờ gồm 2 tín hiệu ngõ vào:
+ Sai lệch vị trí góc E
+ Đạo hàm sai lệch (tốc độ sai lệch) vị trí góc: DE
Bộ điều khiển gồm có 1 biến ngõ ra là tín hiệu áp điều khiển u của motor Tập cơ sở của các biến phụ thuộc chủ yếu vào đối tượng
Bước 2: Chuẩn hóa cơ sở các biến vào ra của hệ pendubot
Chuẩn hóa tập dữ liệu của các biến đầu vào và đầu ra trong khoảng [-1, 1] là rất quan trọng Điều này đảm bảo rằng các ma trận hệ số khuếch đại của các khối tiền xử lý và hậu xử lý được tối ưu hóa cho hiệu suất tốt nhất.
Các hệ số tiền xử lí: K1, K2, K3, K4
Hệ số hậu xử lí: K5, K6
Nếu ta chọn K1, K2, K3, K4 lớn thì lần lượt các biến trạng thái góc lệch link
Vận tốc góc và góc lệch của các liên kết sẽ được hiệu chỉnh theo bảng luật mờ, cho phép cập nhật nhanh chóng với sự thay đổi nhỏ Tuy nhiên, nếu tất cả các tham số K1, K2, K3, K4 đều tăng, ưu tiên của biến trạng thái sẽ bị mất, dẫn đến việc không có biến nào thực sự được ưu tiên Đối với K5 và K6, việc tăng cường sẽ làm tăng điều khiển sau khi chọn qua khối mờ, giúp hệ thống phản ứng nhanh nhưng có thể gây mất ổn định.
Bước 3: Mờ hóa các biến vào ra của hệ pendubot bằng cách định nghĩa các tập mờ mô tả giá trị ngôn ngữ của chúng Chọn ba tập mờ cho mỗi biến vào, được phân hoạch mờ dựa trên chuẩn hóa và sử dụng hàm liên thuộc dạng tam giác.
Chuẩn hoá tập cơ sở của các biến vào / ra về miền [-1 1] Định nghĩa các tập mờ của các biến vào ra như hình dưới
Biến ngôn ngữ ngõ vào sai lệch vị trí góc link (E) có 3 giá trị
Hình 4.13: Các tập mờ của biến E
Biến ngôn ngữ ngõ vào vi phân sai số vị trí góc link (vận tốc sai lệch góc link) (DE) có 3 giá trị
Hình 4.14: Các tập mờ của biến DE
Tập mờ chuẩn hoá của biến ngõ ra
Hình 4.15: Tập mờ chuẩn hoá dạng Singleton của biến ngõ ra u
Biến ngôn ngữ ngõ ra áp điều khiển u có 5 giá trị
Bước 4: Xây dựng các luật hợp thành cho hệ pendubot như sau:
Diễn dịch theo luật PROD kết hợp theo luật PROBOR
Dùng phương pháp giải mờ wtaver
Dựa vào các dữ liệu trên ta có bảng quy luật mờ như sau:
Bảng 4.2: Bảng các luật hợp thành của giải thuật mờ cho hệ pendubot
Hình 4.16: Xây dựng khối vào ra cho luật mờ và logic mờ
4.3.2 Mô phỏng bộ điều khiển mờ cho hệ pendubot
Hình 4.17: Sơ đồ khối mô phỏng bộ điều khiển mờ (Fuzzy logic) hệ nêm ngược bằng Matlab Simulink
Tại lân cận vị trí TOP = + 0.01
= 0.01 với điều kiện đầu q1_init = pi/2 + 0.01 q1_dot_init = −0.02; q2_init = 0.01; q2_dot_init = 0.024;
Chọn các thông số hệ thống như sau: beta1 = 0.01122; beta2 = 0.00193; beta3 = 0.00156; beta4 = 0.0406; beta5 = 0.0078; g = 9.81;
Chọn giá trị các hệ số tiền xử lý và hậu xử lý như sau:
Kết quả mô phỏng ngõ ra hệ pendubot được hiển thị trên hình như sau:
Hình 4.18: Kết quả mô phỏng vị trí góc link 1 (rad)
Hình 4.19: Kết quả mô phỏng vị trí góc link 2 (rad)
Hình 4.20: Kết quả mô phỏng moment điều khiển
Hình 4.21: Mặt đặc tính của bộ mờ Nhận xét:
Bộ điều khiển thiết kế bằng phương pháp mờ cho kết quả ổn định với các giá trị khác nhau Sau khoảng 14 giây, góc link 1 (so với phương ngang) đạt khoảng 1.57 rad, gần bằng pi/2, trong khi góc link 2 (so với link 1) cũng dần ổn định.
0 (rad) Đó là vị trí thẳng đứng hướng lên của link 1 và link 2 (vị trí TOP)
- Ở trạng thái cân bằng, link 1 và link 2 vẫn còn dao động nhỏ
Bộ điều khiển mờ có khả năng đáp ứng nhanh chóng, tuy nhiên vẫn tồn tại độ vọt lố cao Ban đầu, hệ thống dao động với biên độ lớn, nhưng sau đó giảm xuống rất nhỏ và tần số thấp, ổn định xung quanh điểm cân bằng.
- Bộ điều khiển mờ đã ổn định được hệ thống nhưng chưa đạt được kết quả điều khiển tốt nhất.
Thiết kế phần cứng mô hình hệ pendubot
5.1.1 Giới thiệu phần cứng của hệ pendubot
Hệ pendubot thực tế được thiết kế gồm hai thanh: link 1 (l1, m1, q1, I1) và link
Trong hệ thống chuyển động trong mặt phẳng thẳng đứng, một động cơ DC 24V cung cấp moment xoắn cho link 1, được cố định trên một đế để chống rung động Link 2 được gắn vào khớp còn lại của link 1 và có khả năng xoay tự do, tạo ra sự linh hoạt trong chuyển động của cả hai link.
1 đều có gắn encoder đọc giá trị góc quay tuyệt đối về bộ điều khiển Link 1 và link
2 được chế tạo bằng thanh nhôm đúc Pendubot được thiết kế gọn nhẹ, chắc chắn khi hoạt động
Hình 5.1 bên dưới là mô hình hệ pendubot thực nghiệm gồm hai phần chính là phần cơ khí và phần điện
Hình 5.1: Sơ đồ phần cứng và cơ khí của hệ pendubot
5.1.2 Thiết kế phần điện của mô hình hệ pendubot
Phần điện của hệ pendubot gồm các thành phần sau:
Động cơ DC servo dùng để truyền động tạo moment xoay cho link 1, từ đó điều khiển hệ thống link 1 – link 2 xoay tự do quanh trục
Encoder tích hợp trong động cơ servo có chức năng đọc xung để xác định vị trí góc của link 1 Ngoài ra, encoder được gắn tại khớp liên kết giữa link 1 và link 2 cũng thực hiện việc đọc xung để xác định vị trí góc của link 2.
Bộ nguồn một chiều
Mạch công suất là mạch cầu H, có vai trò quan trọng trong việc đảo chiều quay và điều chỉnh tốc độ của động cơ thông qua điều rộng xung PWM và tín hiệu điều hướng DIR Hai ngõ vào chính này nhận tín hiệu từ mạch điều khiển, giúp tối ưu hóa hiệu suất hoạt động của động cơ.
Mạch điều khiển sử dụng chip DSP TMS320F28335 tích hợp trong board TMS320C2000 TM Experimenter Kit để nhận tín hiệu từ các encoder, thực hiện các thuật toán điều khiển và xuất tín hiệu điều khiển ra bên ngoài.
Lựa chọn thiết bị cho mô hình hệ pendubot
5.2.1 Lựa chọn động cơ Động cơ DC servo được chọn của hãng Yaskawa (loại Minertia motor dòng F series) UGFMED-03SRI21 có thông số như sau:
Nguồn cung cấp: 24 (V) Dòng điện : 2 (A) Tốc độ tối đa : 2750 (RPM) Công suất : 30 (W) Chiều dài : 91,3 (mm)
Hình 5.3: Động cơ servo có tích hợp encoder đo vị trí góc link 1
5.2.2 Lựa chọn cảm biến quay (encoder)
Do sự khan hiếm của cảm biến góc quay trên thị trường và điều kiện tài chính hạn chế, cảm biến tương đối (Incremental Encoder) trở thành lựa chọn tối ưu cho hệ pendubot Để đo vị trí góc của link1 và link2, chúng ta sử dụng hai cảm biến tương đối để phát ra hai xung tín hiệu A và B Việc đếm các cạnh lên và xuống của xung A và B, cùng với mối tương quan giữa thứ tự của chúng, cho phép xác định chiều quay, độ dài và tính toán vận tốc.
Do đó ta chọn encoder như sau:
Encoder Yaskawa UGFMED-03SRI21 được gắn sau đuôi động cơ servo, có độ phân giải 400p/r và nguồn cấp 5VDC từ board DSP Thiết bị hoạt động với tần số 100 kHz, tiêu thụ dòng điện tối đa 130 mA và có ngõ ra open collector Moment quán tính của encoder là 1x10 -6 kg.m 2.
Sử dụng hai kênh vào A, B để xác định số xung và chiều quay Hai kênh A và
B được kết nối với kênh eQEP1A và eQEP1B, tương ứng với GPIO20 và GPIO21 của DSP Vị trí tại một thời điểm được xác định dựa trên tổng số xung encoder mà DSP đã đếm được tại thời điểm đó.
Chọn Encoder ORMON-E6B2CWZ1 cho link 2 với độ phân giải 200p/r, sử dụng nguồn cấp 5VDC từ board DSP Thiết bị tiêu thụ tối đa 200 mA và có ngõ ra open collector Moment quán tính đạt 3x10^-6 kg.m² (30g.cm²).
Sử dụng hai kênh vào A, B để xác định số xung và chiều quay Hai kênh A và
B được kết nối với kênh eQEP2A và eQEP2B tương ứng với GPIO24 và GPIO25 của DSP Vị trí góc quay tại một thời điểm được xác định dựa trên tổng số xung encoder mà DSP đã đếm được vào thời điểm đó.
Với DSP TMS320F28335 có bộ nhân 4, số xung tăng lên 1600 xung/vòng cho encoder của link 1 và 800 xung/vòng cho encoder của link 2 Encoder được cấp nguồn 5VDC từ DSP, cho ra xung 5V để chuyển đổi tín hiệu I2C, giảm biên độ từ 5V xuống 3V3 mà vẫn giữ nguyên biên dạng, sau đó đưa vào chân đọc xung của DSP.
Theo thử nghiệm, encoder được cấp nguồn 5VDC cho ngõ ra số ổn định với hai ngõ ra A và B để báo hiệu chiều quay và số vòng quay Để nâng cao độ chính xác của encoder, bộ TMS320F28335 sử dụng bộ đọc cả xung cạnh lên và xuống của kênh A và B, cho phép xuất ra 4 xung cho mỗi trạng thái Nhờ đó, độ chính xác của encoder tăng lên 4 lần.
Hình 5.4: Nguyên lý hoạt động bộ đọc nhân 4
Bộ DSP với bộ nhân 4 cho phép encoder link 1 cung cấp 1600 xung mỗi vòng, đạt độ phân giải 0.225 độ Trong khi đó, encoder link 2 chỉ có 800 xung mỗi vòng, dẫn đến độ phân giải là 0.45 độ.
Thiết kế phần cứng mạch điện
Thiết kế mạch điện đóng vai trò quyết định trong sự thành công của dự án Mạch điều khiển cần xem xét nhiều yếu tố liên quan, được xây dựng xung quanh chip DSP TMS320F28335 trên board TMS320C2000 TM của Texas Instrument để thu thập dữ liệu và thực hiện điều khiển hiệu quả.
5.3.1 Board TMS320C2000 TM Experimenter Kit
Board TMS320C2000 TM Experimenter Kit được thiết kế cho tất cả các họ DSP TMS320F28x, bao gồm mạch tích hợp đa năng với linh kiện bảo vệ, giao tiếp và IC ổn áp Với kích thước nhỏ gọn, board này tích hợp các khe cắm cho card điều khiển DSP F28x, cho phép người dùng dễ dàng kết nối các ngõ vào ra số GPIO và các kênh analog với các thiết bị hoặc board mạch điều khiển khác thông qua các connector hai bên card điều khiển Sơ đồ phần cứng mạch chính được thể hiện trong hình 5.6.
Hình 5.6: Board TMS320C2000TM Experimenter Kit
Những tính năng được tích hợp trên board chính:
Board tích hợp USB emulation cho phép kết nối với JTAG emulator, đồng thời hỗ trợ cổng kết nối dạng debug Ngoài ra, nó còn tích hợp chương trình nạp chương trình chuẩn TI theo tiêu chuẩn JTAG IEEE1149.1.
Nguồn cấp có thể sử dụng qua cổng USB 5V hoặc sử dụng nguồn ngoài thông qua switch chuyển mạch
Tích hợp ngõ ra connector giao tiếp UART
Để khởi động các dòng DSP F280XX và F2833x, cần chú ý đến led báo nguồn, nút reset và các vùng switch để lựa chọn địa chỉ trong bộ nhớ chứa chương trình khởi động Việc hàn hoặc tháo các điện trở cũng là bước quan trọng, và sử dụng jumper sẽ giúp chọn chế độ boot phù hợp.
Nguồn ngõ ra tích hợp trên board để cấp cho các thiết bị ngoại vi gồm hai nguồn 3.3V và 5V, sử dụng chung GND
IC REF2130 tạo điện áp chuẩn tham chiếu cho các bộ ADC
Thạch anh tạo dao động ngoại vi 30Mhz theo chuẩn công nghiệp
Các chân cấp nguồn và tín hiệu được kéo ra header 120 chân dạng cắm, tụ lọc nhiễu các chân tín hiệu MCU đảm bảo đúng yêu cầu thiết kế
Tên ngõ ra kết nối được in trên board
Card điều khiển kết nối với mạch chính qua khe cắm theo chiều đứng, sử dụng DSP TMS320F28335 Mạch điều khiển được thiết kế chắc chắn, đảm bảo khả năng chống nhiễu trong môi trường khắc nghiệt.
Vi điều khiển DSP TMS320F28335 là một thiết bị mạnh mẽ với các ngoại vi phù hợp cho việc đọc giá trị phản hồi và điều khiển hệ pendubot Hoạt động ở tốc độ 150MHz, vi điều khiển này tích hợp bộ tính toán xử lý số thực (FPU) để đáp ứng nhu cầu tính toán của bộ điều khiển Hơn nữa, dòng vi điều khiển C2000 được hỗ trợ lập trình bởi Matlab, giúp quá trình thiết kế và lập trình các bộ điều khiển trở nên thuận tiện, nhanh chóng và dễ dàng sửa lỗi.
Phần cứng card điều khiển được giới thiệu như hình 5.7
Hình 5.8: Board TMS320C2000 TM Experimenter Kit đã gắn card TMS32F28335 Những tính năng chính của card điều khiển DSP TMS320F28335 Delfino TM :
Các ngõ vào ADC được tích hợp diode bảo vệ
Bộ lọc nhiễu ở ngõ vào ADC
Mạch giao tiếp UART cách ly sử dụng bộ chuyển đổi RS232 + cách ly ISO7221
Được thiết kế các pad đồng nối với các connector để cắm vào slot của mạch điện chính
Tích hợp bên trong card điều khiển là bộ điều khiển DSP thuộc họ TMS320F28335, chọn làm bộ xử lý trung tâm bao gồm các đặc điểm sau:
Thiết bị hoạt động hiệu suất cao tích hợp công nghệ CMOS tĩnh
Tần số hoạt động lên đến 150MHz, tương ứng chu kỳ máy là 6.67ns nên tốc độ xử lý rất nhanh
Mức điện áp hoạt động: 1.9V/1.8V/3.3V
CPU 32 bit, Hỗ trợ hoạt động tính toán số thực single precision 32bit FPU
Chuẩn IEEE – 754 single – Precision Float Point Unit (FPU)
Bus có kiến trúc Harvard
Tốc độ xử lý và đáp ứng ngắt tốc độ cao
Có 6 kênh điều khiển DMA (cho ADC, McBSP, ePWM, XINTF, SARAM)
Bộ nhớ 256 x 16KB Flash, 34KB x 16 SARAM, Boot ROM (8K x 16) tích hợp các chế độ Boot SCI, SPI, CAN, I2C, McBSP, XINTF, truyền song song Ngõ ra giao tiếp ngoại vi:
18 kênh PWM trong đó có 6 kênh PWM có độ phân giải cao 150ps
6 ngõ ra HPPWM với độ phân giải 150ps MEP
6 ngõ ra cho EVENT capture
2 bộ giao tiếp encoder 32 bit, 2 bộ ADC
8 timer có độ phân giải là 32 bit/9 timer 16 bit
2 module truyền thông mạng CAN
3 module truyền thông SCI (UART)
1 module SPI và 2 module McBSP có thể cấu hình thành SPI
88 cổng I/O GPIO đa năng, lọc nhiễu
Giao tiếp với cổng FTAG
Bộ Kit Thí Nghiệm TMS320C2000 TM kết nối với máy tính qua USB với emulation tích hợp trên board Tính năng này cho phép máy tính giao tiếp trực tuyến với kit thông qua phần mềm CCS Bên cạnh đó, trong môi trường Matlab, người dùng có thể sử dụng khối SCI trong thư viện Simulink để thực hiện giao tiếp với kit Nguyên tắc truyền thông giữa máy tính và kit được thể hiện trong hình 5.9.
Hình 5.9: Nguyên tắc truyền thông giữa máy tính và kit Bảng 5.1: Các chân DSP sử dụng trong đề tài hệ pendubot
Pin GPIO20 Kênh A của Encoder đọc xung link 1
Pin GPIO21 Kênh B của Encoder đọc xung link 1
Pin GPIO24 Kênh A của Encoder đọc xung link 2
Pin GPIO25 Kênh B của Encoder đọc xung link 2
Pin GPIO00 PWM dùng để xuất xung điều khiển
Pin GPIO63 DIR xác định chiều động cơ
PC và hệ thống kết nối qua cổng USB để cấp nguồn 5VDC cho hệ thống cũng như truyền nhận dữ liệu
Mạch chuyển mức tín hiệu I2C cho phép kết nối dễ dàng giữa các module và mạch giao tiếp I2C với các mức điện áp khác nhau như 5V và 3.3V thông qua board mạch I2C Mạch này sử dụng 2 con FET BSS138 cùng với điện trở kéo lên 10kΩ, có khả năng hoạt động ở mức điện áp thấp 1.8V và chịu được điện áp lên đến 10V Tùy thuộc vào yêu cầu sử dụng, người dùng có thể lựa chọn các giao tiếp I2C phù hợp.
Hı̀nh 5.10: Mặt trước và sau board mạch I2C
Hı̀nh 5.11: Sơ đồ kết nối chân với encoder và DSP của mạch I2C cho encoder link1
Hı̀nh 5.12: Dạng xung ra của encoder sau khi qua mạch chuyển đổi I2C
5.3.3 Khối giao tiếp với máy tính
Khối giao tiếp với máy tính sử dụng IC FT232R để chuyển đổi tín hiệu SCI/UART từ vi điều khiển thành giao tiếp USB, giúp truyền tín hiệu lên máy tính một cách hiệu quả.
5.3.4 Mạch cầu H (mạch công suất)
Mạch cầu H là mạch công suất quan trọng, nhận tín hiệu từ vi xử lý để điều khiển tốc độ và hướng của động cơ Khối công suất này sử dụng IC công suất dạng cầu H chuyên dụng LM18200, cho phép điều khiển động cơ hiệu quả Ngoài ra, mạch còn điều chỉnh tốc độ động cơ thông qua tín hiệu xung PWM từ ngõ ra của card DSP.
Hình 5.13: Điều chỉnh tốc độ động cơ theo nguyên tắc PWM
Cầu H công suất lớn, điện áp lớn nhất 36V, khả năng chịu dòng xung tới 30A tại 24VDC Thích hợp sử dụng cho Robocon, máy CNC, robot,
Module điều khiển động cơ DC MB03B
Điện áp cung cấp 12V-36V, dòng xung đỉnh tối đa đạt 30A, dòng tải liên tục khi gắn quạt tản nhiệt đạt 10-15A
Điện áp điều khiển 5V/3V3, cách ly opto, điện áp vi sai chống nhiễu
Led hiển thị chiều quay động cơ
Sử dụng IC kích tăng tần số PWM và cải thiện cầu H
Hı̀nh 5.14: Board mạch cầu H
+ Đấu nối kiểu tích cực mức thấp
VCC PWM_low VCC High Motor left
VCC PWM_low VCC Low Motor right
+ Đấu nối kiểu tích cực mức cao
PWM_high GND Low GND Motor left PWM_high GND High GND Motor right
Hı̀nh 5.15: Sơ đồ kết nối giữa DSP – board cầu H – động cơ
Có nhiệm vụ cung cấp nguồn 24VDC cho mạch cầu H lái động cơ, IC đệm và mạch giao tiếp với máy tính
Nguồn cấp cho vi điều khiển DSP và TMS320C2000 TM Experimenter Kit được cung cấp qua cáp USB từ máy tính với điện áp 5V Trên bo mạch chính của card, có IC ổn áp chuyển đổi 5V thành 3.3V, đảm bảo tương thích với mức tín hiệu điện áp cấp cho DSP.
- Nguồn cấp cho encoder: cấp từ TMS320C2000 TM Experimenter Kit
- Nguồn cấp cho động cơ: Nguồn sử dụng cho động cơ phải là nguồn 24VDC ổn định, có khả năng chịu dòng cao 5A
Hình 5.16: Nguồn cấp động cơ 24VDC-5A
Hình 5.17: Sơ đồ kết nối toàn bộ hệ thống
Thiết kế chương trình điều khiển cho hệ pendubot
Hệ thống được kết nối theo hình 5.17 Chương trình được thiết kế sử dụng thư viện Matlab/Simulink, hỗ trợ lập trình cho chip TMS320F28335, với gói hỗ trợ target C2000lib cho tất cả các MCU trong dòng vi điều khiển C2000.
Để bắt đầu, chúng ta cần lập trình các khối bằng Matlab/Simulink Sau đó, một trình biên dịch sẽ hỗ trợ phát triển dự án mã C kết nối với Code Composer Studio v3.3 (CCS v3.3) CCS sẽ đảm nhận vai trò là môi trường để biên dịch, chạy và gỡ lỗi chương trình Tiếp theo, dữ liệu sẽ được truyền từ máy tính vào mô hình thực qua cổng DSP, từ đó xuất xung PWM và điều khiển động cơ DC Đồng thời, hệ thống cũng sẽ nhận biết góc của link 1 và link 2, với động cơ DC được cung cấp nguồn 24V hoạt động thông qua module công suất.
Chip DSP TMS320F28335 truyền dữ liệu trực tuyến lên máy tính qua chương trình Hyperterminal, điều khiển động cơ thông qua board driver cầu H, và đọc giá trị encoder với chu kỳ lấy mẫu 10ms để cập nhật trạng thái hệ thống.
Hình 5.18: Quá trình lập trình viết code và đổ xuống board vi điều khiển 5.4.1 Giới thiệu Matlab Simulink và Target for TI C2000 library
Thư viện Embedded Coder cho DSP Texas Instruments C2000 trong Simulink giúp người dùng phát mã C và tạo dự án trong Code Composer Studio (CCS), làm cho lập trình trở nên đơn giản và trực quan hơn Người dùng có thể lập trình các thuật toán điều khiển trên Matlab Simulink, thư viện này sẽ tự động biên dịch các thuật toán dạng khối thành dự án mã C trong CCS, và CCS sẽ xây dựng dự án này thành file hex out để nhúng vào TMS320F28335 Toàn bộ quá trình biên dịch diễn ra hoàn toàn tự động.
Việc tích hợp thư viện Target for TI C2000 trong Simulink của Matlab với Code Composer Studio (CCS) của Texas Instruments cho phép người dùng dễ dàng chuyển đổi các chương trình Simulink sang ngôn ngữ C cho các chip DSP C2000 như C280x, C281x và C28x3x Quá trình dịch, tải xuống và thực thi chương trình trên board Experiment Kit được thực hiện hoàn toàn tự động, đồng thời các module ngoại vi của TMS320C2000 TM cũng được hỗ trợ đầy đủ.
Hình 5.19: Thư viện Embedded Coder Target Preferences for TI C2000
First, open the Matlab program and access the Simulink library browser Then, navigate to the Embedded Coder section and locate the Embedded Targets for Texas Instruments C2000 processors Here, you will find the blocks for the TI TMS320F28335.
Hình 5.20: Thư viện các thiết bị ngoại vi được hỗ trợ cho dòng DSP C28x3x
Các module ngoại vi như I/O, bộ đọc xung encoder QEP, bộ điều rộng xung PWM, bộ chuyển đổi ADC, cùng với các khối truyền I2C, SCI, CAN của DSP được hỗ trợ đầy đủ và dễ dàng cấu hình một cách trực quan.
5.4.2 Giới thiệu các khối (module) trong giải thuật điều khiển hệ pendubot thực tế
Mỗi vòng điều khiển được thực hiện với chu kỳ 10ms để đảm bảo đo đạc các tín hiệu phản hồi chính xác Việc điều chỉnh chu kỳ này được thực hiện thông qua mô hình lập trình Simulink.
+ Vào menu simulation → Model Configuration Parameters
In the solver options, select "fixed step" for the type and "discrete (no continuous states)" for the solver The fixed-step size, which represents the fundamental sample time, is the sampling period of the controller measured in seconds; in this case, the author has chosen 0.01 seconds, equivalent to 10 milliseconds.
Hình 5.21: Thiết lập chu kỳ điều khiển trong Simulink 5.4.2.1 Khối F28335 eZdsp
Hình 5.22: Hình khối F28335 eZdsp bên ngoài và block parameters bên trong 5.4.2.2 Khối truyền tín hiệu hiển thị lên máy tính (SCI transfer data to PC: SCI Transmit)
Khối này nhận tín hiệu từ các khối đọc xung và khối điều khiển giải thuật, sau đó chuyển đổi các giá trị thành mã ASCII để truyền lên máy tính qua giao thức SCI/UART Dữ liệu được truyền dưới dạng frame chuỗi và kết thúc bằng ký tự xuống dòng Chip DSP TMS320F28335 hỗ trợ truyền dữ liệu lên máy tính trực tuyến thông qua chương trình Hyperterminal.
Hình 5.23: Khối SCI Transmit bên ngoài và block parameters bên trong 5.4.2.3 Khối đọc xung eQEP
Khối eQEP thực hiện việc đọc tín hiệu đầu vào từ 2 chân A, B của mỗi encoder qua các chân GPIO, giúp xác định chiều (Direction) và đếm số xung (Position) thông qua bộ đếm Đây là khối xử lý tín hiệu phản hồi của pendubot, có nhiệm vụ chuyển đổi xung từ 2 encoder thành tín hiệu vị trí góc và vận tốc góc cho hai thanh (link 1 và link 2) nhằm cung cấp thông tin cho bộ điều khiển Các ngoại vi đọc xung encoder được cấu hình ở chế độ x4 để nâng cao độ phân giải tín hiệu.
Khối eQEP có đầu vào là 2 xung A, B của Encoder
Hình 5.24: Khối eQEP và block parameters bên trong 5.4.2.4 Khối Digital Output
Khối Digital Output này được dùng để làm tín hiệu đổi chiều động cơ cấp vào chân DIR+ của mạch cầu H
Hình 5.25: Khối Digital Output và thông số cài đặt bên trong
Khối ePWM chuyển đổi giá trị ngõ ra từ bộ điều khiển thành tín hiệu xung PWM, giúp điều khiển tốc độ của động cơ thông qua mạch cầu H.
Hình 5.26: Khối ePWM và thông số cài đặt bên trong 5.4.3 Các sơ đồ khối thiết kế chương trình điều khiển cho hệ pendubot
5.4.3.1 Sơ đồ khối xử lý vị trí góc link 1
Hình 5.27: Khối xử lý vị trí góc link 1 (encoder read link 1) và bên trong khối
Bộ đọc encoder bao gồm các thiết bị ngoại vi giúp đọc vị trí xung và xử lý tín hiệu góc Sau khi đo được, tín hiệu sẽ được chuyển đổi từ xung thành giá trị góc tính bằng radian.
Khối eQEP1 có nhiệm vụ đọc encoder gắn trên trục động cơ, giúp tạo moment quay cho link 1 Encoder có khả năng đọc giá trị từ 0 đến giá trị tràn và quay trở lại giá trị 0, do đó không thể xác định góc âm Để chuyển đổi giá trị đọc được từ encoder thành giá trị góc thực tế, cần hiểu rõ về PPR (Pulse per revolution), với encoder 400 xung/vòng, số xung thực tế đọc được sau khi nhân với 4 từ DSP là 1600 xung Tác giả quy định giá trị thẳng đứng là 90 độ, với chiều dương của góc lệch link 1 theo chiều kim đồng hồ Do đó, vị trí thẳng đứng hướng lên là 90 độ, quay theo chiều kim đồng hồ là giá trị dương, còn ngược chiều kim đồng hồ là giá trị âm Việc chuyển đổi từ số xung encoder sang giá trị góc lệch link 1 được thực hiện trong khối data convert link 1.
Vi điều khiển đọc tín hiệu xung encoder link 1 từ 2 chân GPIO20, GPIO21 và đưa ra số xung cùng với chiều quay của encoder
Khối MATLAB Function data convert link 1 sẽ tính toán ra vị trí góc của link 1 dựa vào số xung vừa thu thập được
Vận tốc được tính bằng công thức: vận tốc = (vị trí sau – vị trí đầu)/thời gian lấy mẫu (tlm=0.01s)
Hình 5.28: Code của data convert link 1 cho khối xử lý góc link 1
5.4.3.2 Sơ đồ khối xử lý góc link 2
Hình 5.29: Khối xử lý vị trí góc link 2 (encoder read link 2) và bên trong khối
Khối eQEP2 có tác dụng đọc encoder gắn trên khớp xoay giữa link 1 và link
2 Do encoder đọc được từ giá trị 0 đến giá trị tràn do ta đặt rồi quay về giá trị 0 (không có giá trị