1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án tốt nghiệp: Điều khiển LQR hệ con lắc ngược quay kép

73 2 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Điều khiển LQR Hệ Con Lắc Ngược Quay Kép
Tác giả Trần Nhật Cường
Người hướng dẫn ThS. Lê Thị Hồng Lam
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công nghệ Kỹ thuật Điều khiển và Tự động hóa
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2024
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 73
Dung lượng 7,67 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN (19)
    • 1.1 Đặt vấn đề (19)
    • 1.2 Mục tiêu (20)
    • 1.3 Nội dung nghiên cứu (20)
    • 1.4 Giới hạn (20)
  • CHƯƠNG 2. CƠ SỞ LÝ THUYẾT (20)
    • 2.1 Mô hình hệ con lắc ngược quay kép (21)
    • 2.2 Phương trình phi tuyến hệ Con lắc ngược quay kép (22)
    • 2.3 Khảo sát hệ tại điểm làm việc cả 2 thanh con lắc cùng hướng lên (26)
      • 2.3.1 Tuyến tính hóa hệ tại điểm làm việc (26)
      • 2.3.2 Mô tả hệ thống dưới dạng phương trình trạng thái (26)
      • 2.3.3 Khảo sát tính điều khiển được (28)
    • 2.4 Khảo sát hệ tại điểm làm việc link 1 hướng lên, link 2 hướng xuống (29)
      • 2.4.1 Tuyến tính hóa hệ tại điểm làm việc (29)
      • 2.4.2 Mô tả hệ thống dưới dạng phương trình trạng thái (29)
      • 2.4.3 Khảo sát tính điều khiển được (29)
    • 2.5 Thiết kế bộ điều khiển LQR (30)
  • CHƯƠNG 3. MÔ PHỎNG VÀ KHẢO SÁT TRÊN MATLAB SIMULINK (33)
    • 3.1 Mô phỏng hệ con lắc ngược quay kép trên Matlab Simulink (33)
    • 3.2 Khảo sát bộ điều khiển LQR khi cả 2 thanh cùng hướng lên (34)
      • 3.2.1 Ma trận điều khiển Q và R là ma trận đơn vị (34)
      • 3.2.2 Tăng thành phần 𝑄1 và giữ nguyên các thành phần khác (0)
      • 3.2.3 Tăng thành phần 𝑄3 và giữ nguyên các thành phần khác (0)
      • 3.2.4 Tăng thành phần 𝑄5 và giữ nguyên các thành phần khác (0)
      • 3.2.5 Giữ nguyên ma trận Q và tăng ma trận R (38)
    • 3.3 Khảo sát bộ điều khiển LQR khi link 1 hướng lên link 2 hướng xuống (39)
      • 3.3.1 Ma trận điều khiển Q và R là ma trận đơn vị (39)
      • 3.3.2 Tăng thành phần 𝑄1 và giữ nguyên các thành phần khác (0)
      • 3.3.3 Tăng thành phần 𝑄3 và giữ nguyên các thành phần khác (0)
      • 3.3.4 Tăng thành phần 𝑄5 và giữ nguyên các thành phần khác (0)
      • 3.3.5 Giữ nguyên ma trận Q và tăng ma trận R (43)
    • 3.4 Tổng kết về khảo sát mô phỏng hệ DRIP (45)
  • CHƯƠNG 4. XÂY DỰNG MÔ HÌNH THỰC TẾ VÀ KHẢO SÁT (20)
    • 4.1 Mục tiêu thiết kế (46)
    • 4.2 Phương pháp thực hiện (46)
      • 4.2.1 Mô hình tổng quát (46)
      • 4.2.2 Lựa chọn thiết bị (48)
    • 4.3 Khảo sát mô hình (58)
    • 4.4 Tổng kết về khảo sát thực tế hệ DRIP (67)
  • CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (20)
    • 5.1 Kết quả đạt được (68)
    • 5.2 Hạn chế (68)
    • 5.3 Hướng phát triển (68)
  • TÀI LIỆU THAM KHẢO (70)

Nội dung

Nội dung thực hiện: Đề tài nghiên cứu tập trung vào vấn đề điều khiển cân bằng cho hệ “Con lắc ngược quay kép” hay còn gọi là “Double Rotary Inverted Pendulum” sử dụng bộ điều khiển LQR.

TỔNG QUAN

Đặt vấn đề

RIP là một hệ thống kinh điển, phi tuyến đã được điều khiển ổn định trên mô phỏng và thực tế Đây là mô hình chuẩn dành cho sinh viên khảo sát giải thuật trong ngành điều khiển tự động Do ứng dụng rộng rãi của nó nên cấu trúc chuẩn này đã được công nghiệp hóa thông qua hãng Quanser để cung cấp cho các cơ sở đào tạo Ở nước ngoài, đã có nhiều nhóm tác giả thực hiện khảo sát thành công trên hệ thống này như bộ điều khiển PID [1], bộ điều khiển LQR [8], bộ điều khiển mạng Neuron [14], Bên cạnh các bộ điều khiển cổ điển và thông minh, các giải thuật lai cũng đã được phát triển như Fuzzy-LQR [13], Fuzzy-PD [16] Như vậy, RIP đã trở nên kinh điển và việc đặt ra vấn đề nâng cấp giải thuật cho các hệ phức tạp hơn là cần thiết Từ đó, mô hình DRIP được phát triển Hãng Quanser cũng đã chuẩn hóa mô hình trên cho các nghiên cứu bậc SIMO bậc cao hơn Ở Việt Nam, một nghiên cứu ổn định hệ DRIP trên mô phỏng đã được thực hiện thành công trên mô phỏng ở nghiên cứu [7] Tuy nhiên, tín hiệu điều khiển trong nghiên cứu đó lại là momen lực động cơ, hơi thiếu tính thực tế Do vậy, phát triển hệ DRIP được điều khiển bằng tín hiệu điện áp động cơ là cần thiết

Bộ điều khiển LQR là một phương pháp điều khiển tuyến tính được thiết kế để tối ưu hóa hiệu suất của hệ thống động lực tuyến tính Được phát triển trong lĩnh vực điều khiển tự động, LQR được sử dụng rộng rãi trong nhiều ứng dụng từ điều khiển robot đến điều khiển ô tô và các hệ thống tự động hóa khác LQR dựa trên một nguyên tắc cơ bản của lý thuyết điều khiển tuyến tính, nơi một hệ thống động lực tuyến tính được biểu diễn bằng các phương trình vi phân tuyến tính Bằng cách tối ưu hóa một hàm chi phí toàn cục, LQR giúp xây dựng một bộ điều khiển tuyến tính sao cho hiệu suất của hệ thống là tốt nhất theo một tiêu chí cụ thể Trước hết, để áp dụng LQR, chúng ta cần có một mô hình toán học của hệ thống Nó thường bao gồm các biến trạng thái, biến điều khiển, và các phương trình vi phân tuyến tính mô tả sự biến đổi của hệ thống theo thời gian

Trong tổng quan, LQR không chỉ là một phương pháp điều khiển mà còn là một công cụ mạnh mẽ Vì vậy, trong đề tài này, đối với hệ “Con lắc ngược quay kép”, sinh viên

2 nhận ra việc áp dụng bộ điều khiển LQR sẽ mang lại hiệu quả tốt hơn so với các bộ điều khiển khác ở việc điều khiển cân bằng hệ tại điểm làm việc.

Mục tiêu

Đề tài nghiên cứu có mục tiêu chính là điều khiển cân bằng hệ “Con lắc ngược quay kép” Kết quả của đề tài sẽ là bước đầu cho việc thực hiện nghiên cứu áp dụng các bộ điều khiển khác cho hệ Nhiệm vụ cần thực hiện để đạt được mục tiêu nghiên cứu:

 Trình bày một cái nhìn tổng quan về hệ “Con lắc ngược quay kép” và bộ điều khiển LQR

 Đưa ra khái niệm, mục tiêu chung của đề tài, tiêu chí đánh giá, các phương pháp thực hiện

 Thực hiện đưa chương trình của bộ điều khiển LQR vào mô hình thực tế

 Quan sát kết quả, so sánh và đánh giá với từng trường hợp đề ra Xem xét và so sánh độ hiệu quả của bộ điều khiển và rút ra kết luận.

Nội dung nghiên cứu

Các nội dung trong đề tài sẽ bao gồm

Chương 2: Cơ sở lý thuyết

Chương 3: Mô phỏng và khảo sát hệ trên phần mềm Matlab Simulink

Chương 4: Xây dựng mô hình thực tế

Chương 5: Kết luận và hướng phát triển

Giới hạn

Đề tài chỉ tập trung điều khiển cân bằng hệ tại vị trí link 1 hướng lên và link 2 hướng xuông Hệ thống chỉ đáp ứng khi góc lệch ban đầu của 2 thanh con lắc không quá

10 0 Chỉ điều khiển cân bằng được tại vị trí link 1 hướng lên link 2 hướng xuống, chưa điều khiển được cân bằng ở hai vị trí còn lại là 2 thanh cùng hướng lên và link 1 hướng xuống, link 2 hướng lên

CƠ SỞ LÝ THUYẾT

Mô hình hệ con lắc ngược quay kép

Biểu đồ của hệ con lắc ngược quay kép được hiển thị như Hình 2.1 [7]:

Hình 2.1 Hệ con lắc ngược quay kép

Mô hình hệ con lắc ngược quay kép bao gồm 3 thanh rắn và 1 động cơ Thanh thứ nhất được gọi là thanh cánh tay được gắn với trục động cơ theo phương nằm ngang, thanh thứ hai được gọi là thanh con lắc 1 được dựng theo phương thẳng đứng, thanh thứ

3 được gọi là thanh con lắc 2 nối tiếp với thanh con lắc 1

Bảng 2.1 Mô tả ký hiệu được sử dụng

Ký hiệu Mô tả Đơn vị

𝑚 1 Khối lượng thanh cánh tay kg

𝑚 2 Khối lượng thanh con lắc 1 kg

𝑚 3 Khối lượng thanh con lắc 2 kg

𝜃 1 Góc quay của thanh cánh tay rad

𝜃 2 Góc quay của thanh con lắc 1 rad

Phương trình phi tuyến hệ Con lắc ngược quay kép

Trong chương này, chúng ta sẽ khảo sát hệ DRIP từ việc từng bước lập hệ phương trình vi phân của hệ DRIP trước tiên, rồi sau đó tuyến tính hóa tại điểm làm việc là cả 2 thanh cùng hướng lên và link 1 hướng lên, link 2 hướng xuống Dựa vào hệ phương trình khi tuyến tính hóa, ta sẽ xét đến yếu tố điều khiển được và thiết kế bộ điều khiển LQR cho mô phỏng và thực nghiệm

Mô hình của hệ DRIP được biểu diễn từ phương trình Euler-Lagrange như sau [7]: 𝑑

𝑞(𝑡): vector vị trí góc 𝑞̇(𝑡): vector vận tốc góc

𝜃 3 Góc quay của thanh con lắc 2 rad

𝐿 1 Chiều dài của thanh cánh tay m

𝐿 2 Chiều dài của thanh con lắc 1 m

𝐿 3 Chiều dài của thanh con lắc 2 m

𝑙 1 Khoảng cách gốc tọa độ đến trọng tâm cánh tay m

𝑙 2 Khoảng cách gốc tọa độ đến trọng tâm con lắc 1 m

𝑙 3 Khoảng cách gốc tọa độ đến trọng tâm con lắc 2 m

𝐽 1 Momen quán tính của thanh cánh tay Kgm 2

𝐽 2 Momen quán tính của thanh con lắc 1 Kgm 2

𝐽 3 Momen quán tính của thanh con lắc 2 Kgm 2 g Gia tốc trọng trường m/s 2

𝐾 𝑡 Hằng số momen điều khiển N.M/A

𝐾 𝑣 Hằng số suất điện động V.s

𝑅 𝑚 Điện trở động cơ Ohm

𝐶 𝑚 Hệ số ma sát nhớt động cơ N.m.s e Điện áp điều khiển động cơ V

𝑊: Năng lượng tiêu hao Để có được phương trình Euler-Lagrange, tập hợp đạo hàm riêng của Lagrange, L được định nghĩa như sau:

 𝑇 𝑡𝑜𝑡𝑎𝑙 : Tổng động năng của hệ

 𝑉 𝑡𝑜𝑡𝑎𝑙 : Tổng thế năng của hệ

Tổng động năng của hệ là tổng động năng của thanh cánh tay và 2 thanh con lắc, được tính như sau:

𝑇 𝑡𝑜𝑡𝑎𝑙 = 𝑇 𝑐á𝑛ℎ 𝑡𝑎𝑦 + 𝑇 𝑐𝑜𝑛 𝑙ắ𝑐 1 + 𝑇 𝑐𝑜𝑛 𝑙ắ𝑐 2 (3) Để sử dụng phương trình Euler-Lagrange cho việc mô tả hệ DRIP, ma trận 𝑞 𝑖 được định nghĩa như sau:

Ma trận 𝑞̇ 𝑖 cũng được định nghĩa như sau:

Và cuối cùng là ma trận 𝑄 𝑖 :

Các hệ tọa độ để mô tả hệ thống là 𝜃 1 , 𝜃 2 , 𝜃 3 Do có 3 hệ tọa độ khác nhau nên phương trình Euler-Lagrange sẽ được áp dụng cho mỗi hệ tọa độ

Nên tổng động năng của thanh cánh tay là:

Tương tự cho thanh con lắc 1 và thanh con lắc 2, sau đó ta được tổng động năng của hệ như sau:

Tổng thế năng của hệ là tổng thế năng của thanh cánh tay và 2 thanh con lắc, được tính như sau:

Từ đó ta được tổng thế năng của hệ là:

Do bỏ qua ma sát, nên năng lượng tiêu hao xấp xỉ là 0 nên

Phương trình Lagrange có dạng:

Hệ phương trình động học của hệ thống là:

Quy đổi tín hiểu điều khiển từ momen lực về điện áp điều khiển động cơ Phương trình diễn tả momen lực theo điện áp là [7]:

Hệ phương trình động học dưới dạng vi phân của hệ thống là:

Bảng 2.2 Bảng tham số trung gian

Khảo sát hệ tại điểm làm việc cả 2 thanh con lắc cùng hướng lên

2.3.1 Tuyến tính hóa hệ tại điểm làm việc Để tuyến tính hóa hệ, ta bắt đầu từ phương trình động lực học trước khi tuyến tính được trình bày dưới dạng vi phân Khi thanh cánh tay ở vị trí gốc, hai thanh con lắc ở vị trí thẳng đứng hướng lên (𝜽 𝟏 = 𝟎 𝟎 , 𝜽 𝟐 = 𝟎 𝟎 , 𝜽 𝟑 = 𝟎 𝟎 ), ta có thể tuyến tính hóa bằng cách áp dụng xấp xỉ góc nhỏ: 𝒄𝒐𝒔𝜽 ≈ 𝟏, 𝒔𝒊𝒏𝜽 ≈ 𝟎

Từ đó, ta được hệ phương trình tuyến tính của hệ tại điểm làm việc:

2.3.2 Mô tả hệ thống dưới dạng phương trình trạng thái Để có thể mô tả hệ thống dưới dạng phương trình trạng thái, trước tiên ta cần đặt các biến trạng thái như sau:

Phương trình trạng thái của hệ được viết như sau:

Với ma trận A, B được tính như sau:

Ta có thông số mô hình như sau:

Bảng 2.3 Bảng thông số mô hình

Ký hiệu Giá trị Đơn vị

Tại điểm cân bằng khi 2 thanh con lắc đều hướng lên, ta có ma trận A là:

2.3.3 Khảo sát tính điều khiển được

Với giá trị A và B được tính ở trên, ma trận điều khiển được M được tính như sau:

Ta tính được Rank(M) = 6 nên hệ điều khiển được tại điểm làm việc cả 2 thanh cùng hướng lên

Khảo sát hệ tại điểm làm việc link 1 hướng lên, link 2 hướng xuống

2.4.1 Tuyến tính hóa hệ tại điểm làm việc

Tương tự như điểm làm việc trước đó, ta bắt đầu từ phương trình động lực học trước khi tuyến tính được trình bày dưới dạng vi phân Khi thanh cánh tay ở vị trí con lắc 1 ở vị trí hướng lên, con lắc 2 ở vị trí hướng xuống (𝜽 𝟏 = 𝟎 𝟎 , 𝜽 𝟐 = 𝟎 𝟎 , 𝜽 𝟑 𝟏𝟖𝟎 𝟎 ), ta có thể tuyến tính hóa bằng cách áp dụng xấp xỉ góc nhỏ: 𝒄𝒐𝒔𝜽 𝟏 ≈ 𝟎, 𝒄𝒐𝒔𝜽 𝟐 ≈

Từ đó ta được hệ phương trình tuyến tính của hệ:

2.4.2 Mô tả hệ thống dưới dạng phương trình trạng thái

Tương tự như tại điểm làm việc trước đó, ta áp dụng (29), (30), (31), (32), (33) và (34), tại điểm cân bằng là link 1 hướng lên, link 2 hướng xuống, ta được ma trận A là:

Ta được ma trận B là:

2.4.3 Khảo sát tính điều khiển được

Với giá trị A và B được tính ở trên, ma trận điều khiển được M được tính như sau:

Ta tính được Rank(M) = 6 nên hệ điều khiển được tại điểm làm việc thanh 1 hướng lên, thanh 2 hướng xuống.

Thiết kế bộ điều khiển LQR

Bộ điều khiển LQR là một trong những công cụ quan trọng trong lý thuyết điều khiển và ứng dụng trong nhiều lĩnh vực khác nhau như tự động hóa, robot, điều khiển hệ thống động cơ, và nhiều ứng dụng công nghiệp khác Nó được thiết kế để tối ưu hóa hiệu suất của hệ thống điều khiển tuyến tính trong môi trường có nhiễu Ta có được cấu trúc của bộ điều khiển LQR đối với hệ con lắc ngược quay kép như Hình 2.2 với đầu vào là 6 biến trạng thái của hệ thống từ link 0 đến link 2 và đầu ra là tín hiệu điện áp điều khiển cho động cơ

Hình 2.2 Cấu trúc bộ điều khiển LQR cho hệ DRIP

Bộ điều khiển LQR hoạt động dựa trên phương pháp tối ưu hóa phương trình bậc hai Mục tiêu của nó là tối thiểu hóa hàm mất mát tuyến tính được xác định bằng tổng trọng số của sự sai khác giữa trạng thái thực tế của hệ thống và trạng thái mong muốn, cộng với tổng trọng số của tín hiệu điều khiển Cụ thể, hàm mất mát được định nghĩa là

13 tổng của bình phương của trạng thái và điều khiển, được điều chỉnh thông qua các ma trận trọng số Để xây dựng bộ điều khiển LQR, ta cần phải thực hiện các bước sau:

1 Mô hình hóa hệ thống: Đầu tiên, hệ thống cần được mô hình hóa dưới dạng phương trình vi phân tuyến tính

2 Xác định hệ số trọng số: Xác định các ma trận trọng số Q và R để xác định mức độ ưu tiên giữa sự sai khác về trạng thái và điều khiển

3 Giải phương trình Riccati: Sử dụng phương trình Riccati để tính toán ma trận điều khiển tối ưu

4 Tính toán tín hiệu điều khiển: Tính toán tín hiệu điều khiển tối ưu từ ma trận điều khiển

Việc sử dụng bộ điều khiển LQR sẽ mang lại cho ta những ưu điểm như sau:

 Ổn định: Bộ điều khiển LQR tạo ra các tín hiệu điều khiển ổn định dựa trên các mô hình toán học của hệ thống

 Tối ưu hóa: Cung cấp tín hiệu điều khiển tối ưu dựa trên các ma trận trọng số được xác định trước, giúp cải thiện hiệu suất hệ thống

 Dễ triển khai: Phương pháp này có thể triển khai dễ dàng trên các hệ thống tuyến tính và ít phức tạp

Từ những ưu điểm trên, ta có thể thấy được sự ứng dụng rộng rãi của bộ điều khiển LQR:

 Tự Động Hóa: Điều khiển xe tự lái, robot công nghiệp, và các hệ thống tự động khác

 Công Nghiệp: Điều khiển quá trình trong sản xuất, điều khiển cánh tay robot công nghiệp

 Hàng Không và Vũ Trụ: Điều khiển máy bay và vệ tinh

Từ những điểm nêu trên, ta có thể đúc kết ra được bộ điều khiển LQR được áp dụng cho một hệ thống “điều khiển được” để ổn định hệ thống tại điểm làm việc cân bằng Đây là phương pháp có thể áp dụng cho các hệ có số ngõ vào-ra thay đổi, dễ dàng thiết kế và triển khai với sự hỗ trợ của phần mềm Matlab nên thường được áp dụng cho các

14 hệ thống quen thuộc Vì vậy ta sẽ sử dụng bộ điều khiển LQR để điều khiển hệ DRIP trong đồ án lần này

Khi điều khiển LQR, tín hiệu điều khiển của hệ được tính toán như sau [7]:

Dựa vào phương trình Ricatti, ta tìm được ma trận P:

Từ đó tìm được ma trận K:

Trong đó Q là ma trận trọng số tương ứng với các biến trạng thái của hệ thống, nó phản ánh mức độ quan trọng của việc giữ từng biến trạng thái gần với giá trị đặt Và R là ma trận trọng số tương ứng với tín hiệu điều khiển

Tuy nhiên, do bộ điều khiển LQR đã trở nên phổ biến trong giải thuật điều khiển cân bằng, Matlab đã hỗ trợ cho người dùng tính toán thông số cho bộ điều khiển K của LQR với công thức đơn giản hơn Đối với hệ liên tục thì ta sẽ sử dụng công thức sau [17]:

𝐾 = 𝑙𝑞𝑟(𝐴, 𝐵, 𝑄, 𝑅) (45) Đối với hệ rời rạc, ta sẽ sử dụng công thức sau [17]:

Trong đó, A, B là các ma trận mô tả hệ DRIP Q là ma trận trọng số tương ứng với các biến trạng thái của hệ thống, nó phản ánh mức độ quan trọng của việc giữ từng biến trạng thái gần với giá trị đặt R là ma trận trọng số tương ứng với tín hiệu điều khiển, và

T là thời gian lấy mẫu đối với hệ rời rạc.

MÔ PHỎNG VÀ KHẢO SÁT TRÊN MATLAB SIMULINK

Mô phỏng hệ con lắc ngược quay kép trên Matlab Simulink

Hệ DRIP sẽ có đầu vào nhận tín hiệu điều khiển là điện áp cung cấp cho động cơ và có 4 ngõ ra quan sát là góc lệch của thanh cánh tay, con lắc 1, con lắc 2 và tín hiệu điều khiển

Ta có sơ đồ khối mô phỏng hệ DRIP trên Matlab Simulink như Hình 3.1

Hình 3.1 Sơ đồ khối mô phỏng hệ DRIP và bộ điều khiển LQR

Trong phần mô phỏng này, ta sẽ khảo sát hệ DRIP ở hai điểm làm việc là cả 2 thanh cùng hướng lên và link 1 hướng lên, link 2 hướng xuống Trong mỗi điểm làm việc ta sẽ khảo sát hệ bằng cách từ ma trận đơn vị, ta tăng từng thành 𝑄 1 , 𝑄 3 , 𝑄 5 lên 10 và cuối cùng là tăng R lên 10 để xem đáp ứng của hệ qua mỗi lần thay đổi thành phần điều khiển của các ma trận Q và R

Khảo sát bộ điều khiển LQR khi cả 2 thanh cùng hướng lên

3.2.1 Ma trận điều khiển Q và R là ma trận đơn vị

Vì để chon một bộ thông số chuẩn để bắt đầu khảo sát hệ nên ta chọn ma trận Q là ma trận đơn vị như sau:

Sử dụng Matlab với công thức (45) ta có được bộ điều khiển K như sau:

K = ⌈1 1.1892 −60.212 −2.0439 1.0899 0.1437⌉ (49) Với các thông số ban đầu là:

Ta được kết quả mô phỏng như Hình 3.2

Hình 3.2 Kết quả mô phỏng trường hợp 1

17 Các biểu đồ từ trên xuống dưới trong Hình 3.2, lần lượt là góc của thanh cánh tay, góc của con lắc 1, góc của con lắc 2 và tín hiệu điện áp điều khiển động cơ Ta thấy được thanh cánh tay có biên độ dao động lên tới 32 0 , còn 2 thanh con lắc sẽ có biên độ dao động 0.6 0 và mất 10 giây để trở về vị trí cân bằng là cả 2 thanh cùng hướng lên

3.2.2 Tăng thành phần 𝑸 𝟏 và giữ nguyên các thành phần khác

Ta tăng thành phần điều khiển 𝑄 1 lên 10 trong ma trận Q và giữ nguyên các thành phần còn lại để khảo sát hệ khi có sự thay đổi của ma trận điều khiển

Sử dụng Matlab với công thức (45) ta có được bộ điều khiển K như sau:

K = ⌈3.1623 2.1623 −60.212 −2.0439 1.0899 0.1437⌉ (53) Với các thông số ban đầu theo (50) Ta được kết quả mô phỏng như Hình 3.3

Hình 3.3 Kết quả mô phỏng trường hợp 2

18 Vẫn như Hình 3.2, biểu đồ đầu tiên thể hiện góc của thanh cánh tay, tiếp theo lần lượt là góc của con lắc 1, con lắc 2 và tín hiệu điện áp điều khiển động cơ Ta thấy được so với bộ điều khiển trước đó thì biên độ dao động của thanh cánh tay giảm từ 32 0 xuống còn 20 0 khi tăng thành phần điều khiển 𝑄 1 , 2 thanh con lắc vẫn giữ nguyên biên độ dao động là 0.6 0 và cũng sẽ mất 10 giây để hệ cân bằng

3.2.3 Tăng thành phần 𝑸 𝟑 và giữ nguyên các thành phần khác

Ta tăng thành phần điều khiển 𝑄 3 lên 10 trong ma trận Q và giữ nguyên các thành phần còn lại để khảo sát hệ khi có sự thay đổi của ma trận điều khiển

Sử dụng Matlab với công thức (45) ta có được bộ điều khiển K như sau:

K = ⌈1 1.1892 −71.3217 −2.1432 1.0899 0.1437⌉ (56) Với các thông số ban đầu theo (50) Ta được kết quả mô phỏng như Hình 3.4

Hình 3.4 Kết quả mô phỏng trường hợp 3

19 Sắp xếp của 4 biểu đồ cũng tương tự như 2 trường hợp trước, ta nhận thấy khi không tăng thành phần điều khiển 𝑄 1 , biên độ dao động của thanh cánh tay sẽ tăng lên 32 0 rồi giảm xuống về 0, còn thanh con lắc 1 và thanh con lắc 2 vẫn giữ nguyên biên độ dao động là 0.6 0 , và vẫn mất 10 giây để hệ cân bằng Như vậy, mặc dù tăng thành phần điều khiển 𝑄 3 , song thanh con lắc 1 vẫn không có thay đổi gì nhiều so với khi chưa tăng thành phần điều khiển 𝑄 3

3.2.4 Tăng thành phần 𝑸 𝟓 và giữ nguyên các thành phần khác

Ta tăng thành phần điều khiển 𝑄 5 lên 10 trong ma trận Q và giữ nguyên các thành phần còn lại để khảo sát hệ khi có sự thay đổi của ma trận điều khiển

Sử dụng Matlab với công thức (45) ta có được bộ điều khiển K như sau:

K = ⌈1 1.1892 −60.212 −2.0439 1.021 0.1502⌉ (59) Với các thông số ban đầu theo (50) Ta được kết quả mô phỏng như Hình 3.5

Hình 3.5 Kết quả mô phỏng trường hợp 4

20 Các biểu đồ vẫn lần lượt là góc của thanh cánh tay, góc của con lắc 1, con lắc 2 là tín hiệu điện áp điều khiển Như trường hợp trước, khi không tăng thành phần điều khiển

𝑄 1 , biên độ dao động của thanh cánh tay sẽ là 32 0 rồi giảm xuống, biên độ dao động của 2 thanh con lắc vẫn sẽ là là 0.6 0 , và vẫn mất 10 giây để hệ cân bằng Tương tự như khi ta tăng thành phần điều khiển 𝑄 3 , thì khi tăng thành phần điều khiển 𝑄 5 , thanh con lắc 2 vẫn không thay đổi gì nhiều so với khi chưa tăng

3.2.5 Giữ nguyên ma trận Q và tăng ma trận R

Ta giữ nguyên ma trận Q là ma trận đơn vị và tăng ma trận R lên 10 để khảo sát hệ khi có sự thay đổi về ma trận điều khiển R

Sử dụng Matlab với công thức (45) ta có được bộ điều khiển K như sau:

K = ⌈0.3162 0.8516 −52.718 −1.5681 1.0816 0.1321⌉ (62) Với các thông số ban đầu theo (50) Ta được kết quả mô phỏng như Hình 3.6

Hình 3.6 Kết quả mô phỏng trường hợp 5

21 Khi ta tăng ma trận R, biên độ dao động thanh cánh tay tăng lên đến 60 0 rồi mới từ từ quay về 0, góc của 2 thanh con lắc vẫn như các trường hợp trước, có biên độ dao động là 0.6 0 và mất 10 giây để hệ về vị trí cân bằng Như vậy khi tăng ma trận R, vẫn chưa ảnh hưởng gì nhiều đến góc của 2 thanh con lắc nhưng ảnh hưởng đến góc của thanh cánh tay, khiến góc của thanh cánh tay có biên độ dao động lớn hơn và thời gian đáp ứng lâu hơn.

Khảo sát bộ điều khiển LQR khi link 1 hướng lên link 2 hướng xuống

3.3.1 Ma trận điều khiển Q và R là ma trận đơn vị

Vì cũng để chọn một bộ thông số ban đầu là chuẩn để khảo sát hệ, nên ban đầu ta đều chọn ma trận Q và R sẽ đều là ma trận đơn vị

Sử dụng Matlab với công thức (45) ta có được bộ điều khiển K như sau:

K = ⌈−1 −1.0831 −62.321 −1.2102 1.0921 0.1021⌉ (65) Với các thông số ban đầu là

Do lần này là link 2 hướng xuống nên có sự khác biệt về thông số ban đầu đối với trường hợp cả 2 thanh cùng hướng lên ở thông số của góc của thanh con lắc 2 là 𝑝𝑖 + 0.01, còn lại vẫn giữ nguyên như khi 2 thanh cùng hướng lên

Ta được kết quả mô phỏng như Hình 3.7

Hình 3.7 Kết quả mô phỏng trường hợp 6

Các biểu đồ lần lượt là góc của thanh cánh tay, góc của con lắc 1, con lắc 2 và cuối cùng là tín hiệu điện áp điều khiển Thông qua biểu đồ của thanh cánh tay, ta thấy có biên độ dao động lên đến 8, con lắc 1 thì có biên đô dao động là 29 0 rồi từ từ quay về vị trí cân bằng là 0 0 trong thời gian 40 giây Con lắc 2 sẽ dao động lên 210 0 rồi từ quay về để dao động quanh vị trí cân bằng là 180 0 cũng trong thời gian 40 giây

3.3.2 Tăng thành phần 𝑸 𝟏 và giữ nguyên các thành phần khác

Ta tăng thành phần điều khiển 𝑄 1 lên 10 trong ma trận Q và giữ nguyên các thành phần còn lại để khảo sát hệ khi có sự thay đổi của ma trận điều khiển

Sử dụng Matlab với công thức (45) ta có được bộ điều khiển K như sau:

K = ⌈−3.1623 −2.1464 −62.321 −1.2102 1.0921 0.1021⌉ (69) Với các thông số ban đầu theo (66) Ta được kết quả mô phỏng như Hình 3.8

Hình 3.8 Kết quả mô phỏng trường hợp 7

Ta thấy được biên độ dao động của thanh cánh tay đã giảm xuống còn 2.2 0 , biên độ dao động của thanh con lắc 1 giảm xuống 26 0 và mất 25 giây để trở về vị trí cân bằng là 0 0 , thanh con lắc 2 có biên độ dao động còn 208 0 , và cũng, mất 25 giây để trở về dao động quanh vị trí cân bằng là 180 0 Ta thấy được khi tăng thành phần 𝑄 1 , thì thanh cánh tay sẽ mau chóng ổn định hơn và cũng sẽ dẫn đến 2 thanh con lắc cũng sẽ nhanh ổn định hơn

3.3.3 Tăng thành phần 𝑸 𝟑 và giữ nguyên các thành phần khác

Ta tăng thành phần điều khiển 𝑄 3 lên 10 trong ma trận Q và giữ nguyên các thành phần còn lại để khảo sát hệ khi có sự thay đổi của ma trận điều khiển

Sử dụng Matlab với công thức (45) ta có được bộ điều khiển K như sau:

K = ⌈−1 −1.0831 −69.673 −1.2105 1.0921 0.1021⌉ (72) Với các thông số ban đầu theo (66) Ta được kết quả mô phỏng như Hình 3.9

Hình 3.9 Kết quả mô phỏng trường hợp 8

Ta thấy biểu đồ của 3 trường hợp này tương tự như của trường hợp ma trận Q và R là ma trận đơn vị, do tăng lên quá ít nên dao động của bộ điều khiển trường hợp này vẫn không khác gì so với bộ điều khiển của trường hợp ma trận Q và R là ma trận đơn vị

3.3.4 Tăng thành phần 𝑸 𝟓 và giữ nguyên các thành phần khác

Ta tăng thành phần điều khiển 𝑄 5 lên 10 trong ma trận Q và giữ nguyên các thành phần còn lại để khảo sát hệ khi có sự thay đổi của ma trận điều khiển

Sử dụng Matlab với công thức (45) ta có được bộ điều khiển K như sau:

K = ⌈−1 −1.0831 −62.321 −1.2105 1.0934 0.1033⌉ (75) Với các thông số ban đầu theo (66) Ta được kết quả mô phỏng như Hình 3.10

Hình 3.10 Kết quả mô phỏng trường hợp 9

Tương tự như trường hợp chỉ tăng thành phần điều khiển 𝑄 3 , đáp ứng của hệ vẫn không khác gì so với trường hợp ma trận Q và R là ma trận đơn vị Con lắc 1 vẫn có biên độ dao động là 29 0 và mất 40 giây để quay trở về vị trí cân bằng là 0 0 , con lắc 2 có biên độ dao động là 210 0 và cũng mất 40 giây để quay về dao động quanh vị trí cân bằng là 180 0

3.3.5 Giữ nguyên ma trận Q và tăng ma trận R

Ta giữ nguyên ma trận Q là ma trận đơn vị và tăng ma trận R lên 10 để khảo sát hệ khi có sự thay đổi về ma trận điều khiển R

Sử dụng Matlab với công thức (45) ta có được bộ điều khiển K như sau:

K = ⌈−0.3162 −0.6931 −56.1037 −1.2072 1.0904 0.1013⌉ (78) Với các thông số ban đầu theo (66) Ta được kết quả mô phỏng như Hình 3.11

Hình 3.11 Kết quả mô phỏng trường hợp 10

Ta nhận thấy hệ mất thời gian lâu hơn để quay về vị trí cân bằng, con lắc 1 biên độ dao động vẫn là 29 0 nhưng mất 60 giây để quay trở về vị trí cân bằng là 0 0 , con lắc 2 có biên độ dao động là 210 0 và cũng mất 60 giây để quay về dao động quanh vị trí cân bằng là 180 0

Từ việc khảo sát hệ DRIP ở cả hai trường hợp là cả hai thanh cùng hướng lên và link

1 hướng lên, link 2 hướng xuống, ta nhận thấy được khi tăng các thành phần điều khiển tương ứng, thì thời gian đáp ứng và biên độ giao động của từng thanh cũng sẽ giảm đi

27 đáng kể, nhưng do có liên quan mật thiết đến nhau, nên khi tăng 𝑄 3 , 𝑄 5 lên 10 thì vẫn chưa đủ lớn để có thể khiến hệ thay đổi nhiều so với khi là ma trận đơn vị Cuối cùng ta nhận thấy được R biểu thị cho mức độ sử dụng tín hiệu điều khiển, khi càng tăng R, biên độ dao động và thời gian đáp ứng của hệ DRIP sẽ lâu hơn Vì vậy, để có thể khiến hệ xác lập nhanh chóng, ta nên tăng các thành phần điều khiển trong ma trận Q và giảm R.

XÂY DỰNG MÔ HÌNH THỰC TẾ VÀ KHẢO SÁT

Mục tiêu thiết kế

Từ mục đích của bài toán điều khiển và phân tích đối tượng thực tế, ta đi đến mục tiêu thiết kế một hệ thống điều khiển nhúng có thể đạt được các yêu cầu sau:

 Khả năng tính toán nhanh đảm bảo tính thời gian thực khi thực hiện các bộ điều khiển đã cài đặt

 Đầy đủ các thiết bị ngoại vi để đo được các biến quá trình là các giá trị góc

 Có khả năng giao tiếp máy tính để thu thập số liệu phục vụ khảo sát đặc tính đối tượng

 Mô hình có tính thẩm mỹ, hoạt động an toàn, ổn định

Phương pháp thực hiện

Hình 4.1 Sơ đồ khối điều khiển hệ con lắc

 PC: Có chức năng giao tiếp và giám sát hệ thông qua các số đo nhận được từ vi điều khiển

 Vi điều khiển: Nhận tín hiệu đưa về từ khối hồi tiếp, tính toán tín hiệu điều khiển và truyền thông giao tiếp với máy tính

 Động cơ: Là thiết bị chấp hành, tạo chuyển động cho con lắc

 Encoder: Đo vị trí góc của thanh cánh tay và 2 thanh con lắc

 Motor driver: Xuất mức điện áp tương ứng với tín hiệu điều khiển để đưa vào động cơ

Dựa vào mô hình tổng quát của hệ DRIP, ta thiết kế hệ DRIP thực tế trên phần mềm Solidworks như Hình 4.2

Hình 4.2 Thiết kế hệ DRIP trên SOLIDWORKS

Ta lựa chọn vi điều khiển Arduino Mega 2560 có lõi chip là ATmega2560 Với các thông số hoàn toàn có thể thỏa mãn yêu cầu của bài toán thiết kế:

 54 chân Digital (15 chân có thể được sử dụng cho PWM)

Arduino MEGA 2560 có nhiều tính năng nổi bật sau:

 Nhiều chân I/O: Với 54 chân digital và 16 chân analog, MEGA 2560 có khả năng kết nối với nhiều cảm biến, module và các thiết bị ngoại vi khác nhau, lý tưởng cho các dự án phức tạp

 Bộ nhớ lớn: Với 256 KB bộ nhớ flash và 8 KB SRAM, MEGA 2560 có thể lưu trữ và thực thi các chương trình lớn và phức tạp hơn so với nhiều board Arduino khác

 Khả năng mở rộng: Hỗ trợ nhiều shield Arduino, giúp dễ dàng mở rộng chức năng của board mà không cần phải thiết kế phần cứng từ đầu

 Giao tiếp: Hỗ trợ nhiều giao thức giao tiếp như UART, SPI và I2C, giúp dễ dàng kết nối với các module khác nhau như module GSM, module Wi-Fi, và các thiết bị ngoại vi khác

Arduino MEGA 2560 được lập trình bằng Arduino IDE, ngôn ngữ lập trình tương tự C/C++ Arduino IDE hỗ trợ nhiều thư viện, giúp việc phát triển các ứng dụng phức tạp trở nên dễ dàng hơn Ngoài ra, cộng đồng Arduino rất lớn mạnh, cung cấp nhiều tài liệu hướng dẫn, dự án mẫu và hỗ trợ từ cộng đồng Vì vậy, Arduino MEGA 2560 sẽ được chọn trong việc xây dựng mô hình thực tế hệ DRIP

Hình 4.3 Sơ đồ chân Arduino Mega 2560

BTS7960 là một module điều khiển động cơ mạnh mẽ, thường được sử dụng trong các dự án điện tử và robot để điều khiển động cơ DC có công suất lớn Module này sử dụng IC BTS7960 của Infineon Technologies, nổi bật với khả năng xử lý dòng điện cao và tích hợp nhiều tính năng bảo vệ với các thông số hoạt động như sau:

 Điện áp hoạt động: 5.5V đến 27V

 Dòng điện liên tục: Lên đến 43A

 Điện áp điều khiển: 3.3V đến 5V (tương thích với Arduino, Raspberry Pi)

 Tần số PWM: Lên đến 25 kHz

 Bảo vệ quá nhiệt: BTS7960 bảo vệ chống quá nhiệt bằng cảm biến nhiệt tích hợp bên trong Đầu ra sẽ bị ngắt khi có hiện tượng quá nhiệt

 Tự động shutdown khi điện áp thấp: để tránh điều khiển động cơ ở mức điện áp thấp thiết bị sẽ tự shutdown Nếu điện áp < 5.5VDC, driver sẽ tự ngắt điện và sẽ mở lại sau khi điện áp > 5.5VDC

 Kích thước: 40x50x12mm Để kết nối module này với Vi điều khiển, ta cần biết các chân đấu nối của module như sau:

 VCC: Điện áp cấp cho module

 RPWM và LPWM: Tín hiệu điều khiển PWM để điều khiển chiều quay của động cơ

 R_EN và L_EN: Chân kích hoạt cho điều khiển động cơ

 Motor A và Motor B: Đầu ra kết nối với động cơ

BTS7960 là một module điều khiển động cơ mạnh mẽ và linh hoạt với sơ đồ chân đơn giản, hiệu quả nên từ trước đến nay BTS7960 rất thích hợp cho nhiều ứng dụng khác nhau từ các dự án nhỏ đến các hệ thống công nghiệp lớn Với khả năng xử lý dòng điện cao và các tính năng bảo vệ tích hợp, vì vậy BTS7960 là một lựa chọn an toàn và hiệu quả cho đồ án lần này

 Động cơ Động cơ RS775SH là một loại động cơ DC (Direct Current) mạnh mẽ, thường được sử dụng trong các ứng dụng yêu cầu momen xoắn cao và hiệu suất ổn định Được biết đến với khả năng hoạt động ở điện áp 12V, động cơ này rất phổ biến trong các dự án DIY, công nghiệp và robot

Các thông số kỹ thuật của động cơ như sau:

 Điện áp hoạt động: 12V DC

 Tốc độ không tải: Thường từ 6000 đến 9000 vòng/phút (rpm) tùy thuộc vào model cụ thể

 Dòng tải: Khoảng 5-20A (tùy thuộc vào tải)

 Mô-men xoắn: Cao, có thể đạt đến 1.5 Nm hoặc hơn

 Kích thước: Đường kính khoảng 42mm, chiều dài thân động cơ khoảng 66mm

Với thông số kỹ thuật trên, động cơ RS775 có thể phù hợp với module BTS7960 được giới thiệu ở trên để dễ dàng kiểm soát tốc độ và hướng quay của động cơ

Encoder LDP3806 600 xung là một loại encoder quang học có độ phân giải 600 xung trên mỗi vòng quay (PPR - Pulses Per Revolution) Đây là một thiết bị quan trọng trong việc đo lường chính xác vị trí và tốc độ quay của trục động cơ hoặc các bộ phận chuyển động khác trong các hệ thống cơ điện tử

Các thông số kỹ thuật của encoder như sau:

 Điện áp hoạt động: DC5-24V

 Tốc độ cơ khí tối đa 6000 vòng / phút

 Tần số đáp ứng điện 20K / giây

LPD3806-600BM có 2 pha AB sử dụng điện áp từ 5-24V với ngõ ra NPN cực thu để hở Được cấu tạo kích thước nhỏ, trọng lượng nhẹ, cài đặt dễ dàng, lợi thế chi phí Được ứng dụng trong nhiều lĩnh vực khác nhau như: đo tốc độ quay của vật thể, góc, gia tốc vì vậy rất phù hợp để đo góc và tốc độ của các link trong mô hình thực tế của hệ DRIP

Ta sử dụng nguồn tổ ong có các thông số:

 Điện áp đầu vào: 220AC – 50Hz

 Điện áp đầu ra: 12V DC

 Kích thước: 199mm x 110mm x 50mm

Ta sử dụng nguồn tổ ông để tạo nguồn 12VDC từ nguồn 220VAC để cung cấp điện áp cho động cơ và các module cần sử dụng

Mạch giảm áp LM2596 là một loại mạch chuyển đổi DC-DC được thiết kế để giảm điện áp đầu vào xuống một mức điện áp đầu ra thấp hơn với hiệu suất cao Mạch này sử dụng IC LM2596, một bộ chuyển đổi giảm áp (buck converter) có khả năng cung cấp dòng điện đầu ra lên đến 3A

Các thông số kỹ thuật của mạch như sau:

 Điện áp đầu vào: 3-30VDC

 Điện áp đầu ra: có thể điều chỉnh từ 1.5-30VDC

Kết nối cơ bản của mạch sẽ như sau:

 Vin: Kết nối với điện áp đầu vào (4.5V đến 40VDC)

 GND: Kết nối với ground của nguồn điện và tải

 Vout: Kết nối với tải sử dụng (điện áp đầu ra từ 1.23V đến 37VDC)

 Phần cơ khí: Với các thiết bị gồm, thanh cánh tay, thanh con lắc 1, thanh con lắc

2, các encoder đo thông số của các link tương ứng và động cơ điều khiển cánh tay được thể hiện thông qua Hình 4.10

Hình 4.10 Phần cứng của mô hình thực tế

 Phần điện: Sẽ gồm các module đã giới thiệu trước đó, được đấu nối nhằm mục đích điều khiển cân bằng hệ DRIP

Phần cơ khí của mô hình có kích thước 15x15x40 cm

Phần điện của mô hình có kích thước 25x15x12 cm

Với phần điện ta xem như là phần đầu não để điều khiển, còn phần cơ khí có thể được xe là cơ cấu chấp hành

Hình 4.11 Sơ đồ nối dây

Dựa vào thông số, đặc tính và datasheet của các linh kiện đã được trình bày trước đó, ta thiết kế sơ đồ đấu dây cho phần điện của hệ DRIP Arduino MEGA2560 sẽ đóng vai trò là đầu não để xuất tín hiệu điều khiển động cơ, cùng với đó là giao tiếp với máy tính thông qua UART Chiều quay và tốc độ quay của động cơ sẽ được tính toán trong Aruino với bộ điều khiển LQR

Hình 4.12 Mô hình thực tế phần điện

Trong Hình 4.12, ta sẽ có các phần như sau:

Phần điện của mô hình sẽ sử dụng những linh kiện đã giới thiệu trước đó Trong đó nguồn 24VDC sẽ được lấy bằng cách sử dụng nguồn tổ ong Các chân tín hiệu của encoder sẽ nối vào các chân ngắt của Arduino MEGA 2560 là chân 2,3,18,19,20 và 21 Module BTS7960 sẽ đóng vai trò nhận xung PWM từ vi điều khiển và sau đó điều khiển chiều quay và tốc độ quay của động cơ

Khảo sát mô hình

Ta sử dụng ngôn ngữ C# để xây dựng giao diện điều khiển như Hình 4.13 để có thể quan sát dữ liệu các góc quay và tín hiệu điều khiển của hệ DRIP

Hình 4.13 Giao diện điều khiển

1: Dùng để chọn lựa link cần hiển thị thông số lên biểu đồ

2: Hiển thị các thông số gồm góc và tốc độ góc của thanh cánh tay, thanh con lắc

1, thanh con lắc 2 và điện áp điều khiển động cơ

3: Dùng để kết nối với PC

4: Hiển thị thông số của bộ điều khiển LQR

Ta khảo sát mô hình tại vị trí cân bằng link 1 hướng lên và link 2 hướng xuống tương ứng với con lắc 1 cân bằng tại vị trí 0 0 và con lắc 2 cân bằng tại vị trí 180 0 Từ đó ta sẽ hiểu hơn về hoạt động của hệ tại điểm làm việc và đáp ứng của hệ khi có dao động

Sử dụng Matlab Simulink, ta thử các trường hợp của ma trận Q và R để tìm ra thông số bộ điều khiển K có thể điều khiện hệ DRIP một cách tối ưu Sau khi thử nhiều lần, em đã chọn thông số ma trận Q như sau:

Sử dụng (46), ta tìm được bộ điều khiển K như sau:

Sử dụng bộ điều khiển vừa tính ra được, ta có kết quả mô phỏng như Hình 4.14

Hình 4.14 Kết quả mô phỏng bộ điều khiển

Ta thấy được thông qua kết quả mô phỏng, hệ đáp ứng khá nhanh chóng, trong 4 giây đầu, hệ đã cân bằng về vị trí xác lập, với thanh cánh tay sẽ cân bằng tại vị trí lệch

6 0 , thanh con lắc 1 và thanh con lắc 2 sẽ lệch 0.2 0 so với vị trí cân bằng và mất 4 giây để trở về vị trí cân bằng Có thể nói thông số bộ điều khiển này khá tối ưu cho hệ DRIP thức tế

Ta bắt đầu áp dụng thông số bộ điều khiển vào mô hình thực tế nhưng thấy được hệ không hoạt động ổn định thông qua Hình 4.15 và Hình 4.16

Hình 4.15 Đáp ứng của link 1 với bộ điều khiển ban đầu

1 Thời gian thanh con lắc 1 cân bằng ở vị trí cân bằng 0 0

2 Thời gian thanh con lắc 1 mất ổn định và rơi xuống

Ta thấy được bộ điều khiển không thể duy trì lâu thanh con lắc 1 ở vị trí cân bằng là

0 0 Có thể do thông số bộ điều khiển chưa đủ để khiến hệ đáp ứng hoặc do phần thiết kế cơ khi còn sai sót ở khâu nào đó Ta cũng xem xét đến đáp ứng của thanh con lắc 2 thông qua Hình 4.16

Hình 4.16 Đáp ứng của link 2 với bộ điều khiển ban đầu

1 Thời gian thanh con lắc 2 cân bằng ở vị trí cân bằng 180 0

2 Thời gian thanh con lắc 2 mất ổn định và rơi xuống

Ta thấy được với thông số bộ điều khiển ban đầu, hệ chỉ có thể duy trì trong khoảng 2-3 giây, chứng tỏ bộ điểu khiển này chưa tối ưu, vì vậy ta bắt đầu hiệu chỉnh bộ điều khiển với thứ tự ưu tiên là để thanh link 1 có thể cân bằng lâu dài rồi đến thanh cánh tay và cuối cùng là thanh link 2 Để có thể hiệu chỉnh, ta sẽ tăng dần các thông số trong bộ điều khiển K tương ứng với các link, ví dụ như muốn thanh link 1 có thể cân bằng, ta sẽ tăng dần thành phần

K 3 và K 4 trong bộ điều khiển K, còn thanh cánh tay sẽ tương ứng với K 1 và K 2 , cuối cùng là K 5 và K 6 sẽ ứng với thanh link 2

Cuối cùng, ta thu được bộ điều khiển có thể khiến hệ cân bằng với thông số như sau:

Ta thu được kết quả thực tế của hệ DRIP thông qua các hình Hình 4.17, Hình 4.18, Hình 4.19, Hình 4.20 sẽ lần lượt là đáp ứng của thanh cánh tay, đáp ứng của thanh con lắc 1, đáp ứng của thanh con lắc 2 và cuối cùng là tín hiệu điện áp điều khiển

Hình 4.17 Biểu đồ dao động của thanh cánh tay với bộ điều khiển LQR

Thông qua Hình 4.17, ta thấy được thanh cánh tay sẽ dao động quanh vi trí 0 0 với biên độ từ −7 0 đến 31.2 0 với đường thể hiện là màu đỏ

Ta thấy được khi hệ cân bằng, thanh cánh tay sẽ dao động quanh vị trí 0 0 chứ không đứng yên ở vị trí 0 0 Một phần là do để duy trì cân bằng của 2 thanh cánh tay, 1 phần là do thông số của bộ điều khiển chưa tối ưu để làm giảm biên độ dao động hoặc để thanh cánh tay cân bằng ở vị trí 0 0

Tiếp theo ta sẽ quan sát đáp ứng của thanh link 1 thông qua Hình 4.18

Hình 4.18 Biểu đồ dao động của con lắc 1 với bộ điều khiển LQR

Với Hình 4.18 đường màu đỏ cũng thể hiện góc của con lắc 1 Ta thấy được con lắc

1 sẽ luôn được giữ cân bằng quanh vị trí 0 0

Ta thấy được mặc dù thanh cánh tay sẽ dao động nhưng thanh con lắc 1 vẫn sẽ được duy trì rất gần với vị trí 0 0 với biện độ khoảng từ 0.3 0 đến 0.5 0 Vì vậy dao động của thanh cánh tay cũng sẽ 1 phần nhằm duy trì cân bằng của 2 thanh con lắc

Hình 4.19 Biểu đồ dao động của con lắc 2 với bộ điều khiển LQR

Với Hình 4.19, đường màu đỏ cũng thể hiện góc của con lắc 2 và cũng sẽ dao động chứ không đứng yên nhưng ta thấy được con lắc 2 sẽ luôn được giữ cân bằng quanh vị trí 180 0

Ta thấy được sự khác biệt giữa hệ RIP và DRIP là hệ DRIP sẽ vừa duy trì thanh con lắc 1 ở vị trí 0 0 , vừa duy trì thanh con lắc 2 ở vị trí 180 0 Nhìn vào đường màu đỏ, ta thấy được bộ điều khiển có thể duy trì khá ổn định thanh con lắc 2 xung quanh vị trí

Hình 4.20 Điện áp điều khiển động cơ

Ta thấy điện áp điều khiển động cơ thông qua Hình 4.20 Khi hệ đã cân bằng, điện áp điều khiển cũng sẽ trở về 0 Và khi có dao động ở các link, Vi điều khiển sẽ tính toán mức điện áp cần thiết để điều khiển hệ quay về vị trí cân bằng, vì vậy, để đánh giá 1 bộ điều khiển có tối ưu hay không, không chỉ nhìn vào đáp ứng của các link mà còn nhìn vào việc thay đổi của tín hiệu điều khiển khi hệ có sự dao động làm hệ ra xa khỏi vị trí cân bằng

Hình 4.21 Hệ hoạt động khi ở trạng thái cân bằng

Thông qua Hình 4.21 thì vị trí cân bằng của hệ sẽ như ta muốn ở mục đích ban đầu là thanh con lắc 1 hướng lên và thanh con lắc 2 hướng xuống Thanh con lắc 1 duy trì ở vị trí 0 0 thanh con lắc 2 duy trì ở vị trí 180 0

Ta bắt đầu so sánh sự dao động quanh vị trí cân bằng của link 2 trong 2 trường hợp: khi không có bộ điều khiển (Hình 4.22) và khi có bộ điều khiển (Hình 4.23) để thấy được tầm quan trọng của bộ điều khiển

Hình 4.22 Góc của link 2 khi không có bộ điều khiển LQR

Ngày đăng: 26/09/2024, 14:45

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Mehdi Yousefi Tabari, Dr. Ali Vahidian Kamyad, “Design optimal Fractional PID Controller for Inverted Pendulum with Genetic Algorithm”, International Journal of Scientific &amp; Engineering, Research Volume 4, Issue 2, February 2013.DOI:10.7763/IJIMT.2012.V3.271 Sách, tạp chí
Tiêu đề: Design optimal Fractional PID Controller for Inverted Pendulum with Genetic Algorithm
[2] Mandar R. Nalavade et al, “Balancing Double Inverted Pendulum on A cart by Linearization Technique”, International Journal of Recent Technology and Engineering,Vol.3, Issue-1, 2014.https://www.ijrte.org/wpcontent/uploads/papers/v3i1/A1031033114.pdf Sách, tạp chí
Tiêu đề: Balancing Double Inverted Pendulum on A cart by Linearization Technique
[3] Li, Bo. "Rotational Double Inverted Pendulum." Master's thesis, University of Dayton, 2013. http://rave.ohiolink.edu/etdc/view?acc_num=dayton1375188910 Sách, tạp chí
Tiêu đề: Rotational Double Inverted Pendulum
[4] Sondarangallage D.A Sanjeewa. “Control of rotary double inverted pendulum system using mixed sensitivity H∞ controller”. International Journal of Advanced Robotic Systems, vol. 2, no. 16, pp. 1-17, April 2019.DOI:10.1177/1729881419833273 Sách, tạp chí
Tiêu đề: Control of rotary double inverted pendulum system using mixed sensitivity H∞ controller
[5] Vo Minh Tai et al, “Trajectory Tracking and Stabilization Control of Rotary Inverted Pendulum based on LQR and LQT Techniques: Simulation and Experiment”, Journal of Technical Education Science, vol. 18, no. 1, pp. 1–11, February 2023.https://doi.org/10.54644/jte.69.2022.1120 Sách, tạp chí
Tiêu đề: Trajectory Tracking and Stabilization Control of Rotary Inverted Pendulum based on LQR and LQT Techniques: Simulation and Experiment
[6] Viroch Sukontanakarn, M.Parnichkun. “Hybrid NN predictive-based LQR controller for rotary double inverted pendulum systems: An analytical study”. International Journal of Automation and Control, vol. 4, no. 5, pp. 337-355, November 2011.DOI:10.1504/IJAAC.2011.043611 Sách, tạp chí
Tiêu đề: Hybrid NN predictive-based LQR controller for rotary double inverted pendulum systems: An analytical study
[7] Nguyễn Văn Đông Hải et al. “Điều Khiển LQR Cân Bằng và Bám Quỹ Đạo cho Hệ Con Lắc Ngược Quay Hai Bậc”. JSTGU, vol. 1, no. 11, pp. 29–36, December 2021.http://js.tgu.edu.vn/index.php/tckh/article/view/185 Sách, tạp chí
Tiêu đề: Điều Khiển LQR Cân Bằng và Bám Quỹ Đạo cho Hệ Con Lắc Ngược Quay Hai Bậc”. JSTGU, vol. 1, no. 11, pp. 29–36, December 2021
[8] Gavtham Hari Kumar B, Vimal E, "Adaptive Dynamic Programming Based Linear Quadratic Regulator Design for Rotary Inverted Pendulum System," NVEO - Natural Sách, tạp chí
Tiêu đề: Adaptive Dynamic Programming Based Linear Quadratic Regulator Design for Rotary Inverted Pendulum System
[9] Ishan Chawla &amp; Ashish Singla, "Real-Time Stabilization Control of a Rotary Inverted Pendulum Using LQR-Based Sliding Mode Controller," Arabian Journal for Science and Engineering, vol. 46, p. 2589–2596,2021. DOI:10.1007/s13369-020- 05161-7 Sách, tạp chí
Tiêu đề: Real-Time Stabilization Control of a Rotary Inverted Pendulum Using LQR-Based Sliding Mode Controller
[10] J. Huang et al, "Control of Rotary Inverted Pendulum Using Model-Free Backstepping Technique," IEEE Access, vol.7, pp.96965-96973,2019. DOI:10.1109/ACCESS.2019.2930220 Sách, tạp chí
Tiêu đề: Control of Rotary Inverted Pendulum Using Model-Free Backstepping Technique
[11] Sandeep Kumar Yadav et al, “Optimal Control of Double Inverted Pendulum Using LQR Controller”, International Journal of Advanced Research in Computer Science and Software Engineering, Volume 2, Issue 2, February 2012. https://sigmaland.ir/wp- content/uploads/2022/06/Fardapaper-Optimal-Control-of-Double-Inverted-Pendulum-Using-LQR-Controller.pdf Sách, tạp chí
Tiêu đề: Optimal Control of Double Inverted Pendulum Using LQR Controller
[12] Y. Yang et al, "Rotary inverted pendulum system tracking and stability control based on input-output feedback linearization and PSO-optimized fractional order PID controller," in Automatic Control, Mechatronics and Industrial Engineering, CRC Press, p. 6, 2019. DOI:10.3923/jas.2008.2907.2912 Sách, tạp chí
Tiêu đề: Rotary inverted pendulum system tracking and stability control based on input-output feedback linearization and PSO-optimized fractional order PID controller
[13] B. Prakash et al, ‘‘Design, implementation and comparison of different controllers for a rotary inverted pendulum’’ in Proc. 1st Int. Conf. Power Electron., Intelligent.Control and Energy Systems., Delhi, India, pp. 1–6, July 2017.DOI:10.1109/ICPEICES.2016.7853165 Khác
[14] Y. Sun et al, ‘‘Adaptive neural control for a class of stochastic non-strict-feedback nonlinear systems with time-delay,’’ Neurocomputing., vol. 214, pp. 750–757, November 2016. DOI:10.1016/j.neucom.2016.06.060 Khác
[15] H. Oka et al, ‘‘Stabilizing control of inverted pendulum via interlaced backstepping and forwarding method,’’ in Proc. 54th Annu. Conf. Soc. Instrum. Control Eng. Jpn., Hangzhou, China, pp. 492–497, July 2015. DOI:10.1109/SICE.2015.7285422 Khác

HÌNH ẢNH LIÊN QUAN

Hình 2.2 Cấu trúc bộ điều khiển LQR cho hệ DRIP - Đồ án tốt nghiệp: Điều khiển LQR hệ con lắc ngược quay kép
Hình 2.2 Cấu trúc bộ điều khiển LQR cho hệ DRIP (Trang 30)
Hình 3.1 Sơ đồ khối mô phỏng hệ DRIP và bộ điều khiển LQR - Đồ án tốt nghiệp: Điều khiển LQR hệ con lắc ngược quay kép
Hình 3.1 Sơ đồ khối mô phỏng hệ DRIP và bộ điều khiển LQR (Trang 33)
Hình 3.7 Kết quả mô phỏng trường hợp 6 - Đồ án tốt nghiệp: Điều khiển LQR hệ con lắc ngược quay kép
Hình 3.7 Kết quả mô phỏng trường hợp 6 (Trang 40)
Hình 4.2 Thiết kế hệ DRIP trên SOLIDWORKS - Đồ án tốt nghiệp: Điều khiển LQR hệ con lắc ngược quay kép
Hình 4.2 Thiết kế hệ DRIP trên SOLIDWORKS (Trang 47)
Hình 4.3 Sơ đồ chân Arduino Mega 2560 - Đồ án tốt nghiệp: Điều khiển LQR hệ con lắc ngược quay kép
Hình 4.3 Sơ đồ chân Arduino Mega 2560 (Trang 49)
Hình 4.7 Encoder 600 xung LDP3806 - Đồ án tốt nghiệp: Điều khiển LQR hệ con lắc ngược quay kép
Hình 4.7 Encoder 600 xung LDP3806 (Trang 53)
Hình 4.10 Phần cứng của mô hình thực tế - Đồ án tốt nghiệp: Điều khiển LQR hệ con lắc ngược quay kép
Hình 4.10 Phần cứng của mô hình thực tế (Trang 55)
Hình 4.11 Sơ đồ nối dây - Đồ án tốt nghiệp: Điều khiển LQR hệ con lắc ngược quay kép
Hình 4.11 Sơ đồ nối dây (Trang 56)
Hình 4.12 Mô hình thực tế phần điện - Đồ án tốt nghiệp: Điều khiển LQR hệ con lắc ngược quay kép
Hình 4.12 Mô hình thực tế phần điện (Trang 57)
Hình 4.15 Đáp ứng của link 1 với bộ điều khiển ban đầu - Đồ án tốt nghiệp: Điều khiển LQR hệ con lắc ngược quay kép
Hình 4.15 Đáp ứng của link 1 với bộ điều khiển ban đầu (Trang 60)
Hình 4.16 Đáp ứng của link 2 với bộ điều khiển ban đầu - Đồ án tốt nghiệp: Điều khiển LQR hệ con lắc ngược quay kép
Hình 4.16 Đáp ứng của link 2 với bộ điều khiển ban đầu (Trang 61)
Hình 4.18 Biểu đồ dao động của con lắc 1 với bộ điều khiển LQR - Đồ án tốt nghiệp: Điều khiển LQR hệ con lắc ngược quay kép
Hình 4.18 Biểu đồ dao động của con lắc 1 với bộ điều khiển LQR (Trang 63)
Hình 4.21 Hệ hoạt động khi ở trạng thái cân bằng - Đồ án tốt nghiệp: Điều khiển LQR hệ con lắc ngược quay kép
Hình 4.21 Hệ hoạt động khi ở trạng thái cân bằng (Trang 65)
Hình 4.22 Góc của link 2 khi không có bộ điều khiển LQR - Đồ án tốt nghiệp: Điều khiển LQR hệ con lắc ngược quay kép
Hình 4.22 Góc của link 2 khi không có bộ điều khiển LQR (Trang 65)
Hình 4.23 Góc của link 2 khi có bộ điều khiển LQR - Đồ án tốt nghiệp: Điều khiển LQR hệ con lắc ngược quay kép
Hình 4.23 Góc của link 2 khi có bộ điều khiển LQR (Trang 66)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w