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

Đồ Án Tốt Nghiệp: Điều khiển hệ Acrobot nhiều link

98 4 0

Đ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 Hệ Acrobot Nhiều Link
Tác giả Phan Anh Huy
Người hướng dẫn TS. Nguyễn Văn Đông Hải
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 2022
Thành phố TP.Hồ Chí Minh
Định dạng
Số trang 98
Dung lượng 4,93 MB

Cấu trúc

  • Chương 1: TỔNG QUAN (12)
    • 1.1 Đặt vấn đề (12)
    • 1.2 Mục tiêu nghiên cứu (14)
    • 1.3 Giới hạn (14)
    • 1.4 Ý nghĩa khoa học và thực tiễn của đề tài nghiên cứu (14)
      • 1.4.1 Ý nghĩa khoa học của đề tài (14)
      • 1.4.2 Ý nghĩa thực tiễn của đề tài nghiên cứu (14)
    • 1.5 Phương pháp nghiên cứu (14)
      • 1.5.1 Nghiên cứu lý thuyết (14)
      • 1.5.2 Nghiên cứu thực nghiệm (15)
  • Chương 2: PHƯƠNG TRÌNH TOÁN HỌC (16)
    • 2.1 Hệ hai link (16)
    • 2.2 Hệ ba link (23)
  • Chương 3: THIẾT KẾ GIẢI THUẬT ĐIỀU KHIỂN (0)
    • 3.1 Bộ điều khiển LQR (29)
    • 3.2 Bộ điều khiển PID (30)
      • 3.2.1 Khái niệm (30)
      • 3.2.2 Lịch sử hình thành (31)
      • 3.2.3 Mục đích sử dụng bộ điều khiển PID (32)
      • 3.2.4 Cách điều chỉnh thông số cho bộ điều khiển PID (32)
      • 3.2.5 Các khâu hiệu chỉnh trong PID (32)
      • 3.2.6 Các dạng của PID và kí hiệu (36)
      • 3.2.7 Các phương pháp tìm thông số PID (36)
      • 3.2.8 Ứng dụng của PID (37)
    • 3.3 Sự tương đồng giữa bộ điều khiển PD và LQR (38)
  • Chương 4: KẾT QUẢ MÔ PHỎNG (41)
    • 4.1 Hệ hai link (41)
    • 4.2 Hệ ba link (43)
    • 4.3 Nhận xét (47)
  • Chương 5: LỰA CHỌN THIẾT BỊ (41)
    • 5.1 Lí do lựa chọn thiết bị (48)
      • 5.1.1 Arduino Uno (48)
      • 5.1.2 Nguồn tổ ong 12V/10A (56)
      • 5.1.3 Encoder LPD3806 (58)
      • 5.1.4 Động cơ giảm tốc JGA25-370 (59)
      • 5.1.5 Mạch điều khiển động cơ DC BTS7960 43A (1 động cơ) (62)
    • 5.2 Phần mềm sử dụng (63)
      • 5.2.1 Matlab (63)
      • 5.2.2 Aruino IDE (69)
  • Chương 6: KẾT QUẢ THỰC NGHIỆM (75)
    • 6.1 Mô hình thực nghiệm (75)
    • 6.2 Kết quả thực nghiệm (76)
    • 6.3 Kết luận (81)
  • Chương 7: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (0)
    • 7.1 Kết luận (82)
    • 7.2 Hướng phát triển (82)
  • TÀI LIỆU THAM KHẢO (0)
  • PHỤ LỤC (86)

Nội dung

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI ĐIỀU KHIỂN HỆ ACROBOT NHIỀU LINK SVTH: PHAN ANH HUY MSSV: 1615117 GVHD: NGUYỄN VĂN ĐÔNG HẢI Mọi thông tin chi tiết về bản quyền liên hệ tại:

TỔNG QUAN

Đặt vấn đề

Hệ SIMO (Single Input Multiple Output) là hệ thống có một ngõ vào điều khiển nhưng phải quản lý nhiều biến trạng thái cùng lúc, khiến việc điều khiển trở nên phức tạp hơn so với hệ MIMO (Multiple Input Multiple Output) hoặc SISO (Single Input Single Output) Một trong những hệ SIMO tiêu biểu là mô hình pendubot, được ưa chuộng do cấu trúc đơn giản và dễ chế tạo, chỉ cần hai liên kết trong cùng một mặt phẳng với một đầu liên kết gắn vào trục động cơ Mô hình pendubot đã trở thành nền tảng cho nhiều nghiên cứu và phát triển các thuật toán điều khiển, chẳng hạn như PID.

Hệ thống SIMO có thể được nâng cấp dễ dàng bằng cách thêm các link kéo dài, giúp cải thiện hiệu suất điều khiển Mặc dù đã có nhiều nghiên cứu thành công trong mô phỏng, việc điều khiển thực nghiệm pendubot 3 link vẫn chưa đạt được kết quả như mong đợi.

Một ý tưởng mới cho cấu trúc của pendubot là điều chỉnh cách điều khiển, cụ thể là thay vì điều khiển trực tiếp link 1 và gián tiếp link 2, thì sẽ điều khiển trực tiếp link 2 và gián tiếp link 1 Sự thay đổi này tạo ra Acrobot 2-Link, một hệ thống mô phỏng hoạt động của vận động viên thể dục dụng cụ Nhiều nghiên cứu đã được thực hiện để kiểm chứng tính khả thi của thuật toán này Tuy nhiên, Acrobot 2-Link chỉ mô tả được phần cánh tay và thân của vận động viên, do đó cần có sự bổ sung để mô tả chính xác hơn các cử động của vận động viên.

1 link thứ 3 và một động cơ tương ứng để tạo ra Acrobot 3-Link (Hình 1.2).

Acrobot, hay còn gọi là robot thể dục, có cấu trúc cơ khí mô phỏng hoạt động của vận động viên xà đơn Trong mô hình Acrobot hai bậc tự do (2L-A), link 1 di chuyển tự do xung quanh một điểm và được gắn với động cơ DC, trong khi link 2 quay theo sự điều khiển của động cơ Link 1 đại diện cho cánh tay và thân mình của vận động viên, trong khi link 2 đóng vai trò là chân Động cơ hoạt động như khớp hông, với mục tiêu điều khiển Acrobot dựng đứng hai khâu lên vị trí TOP và giữ vững ở trạng thái cân bằng.

Hình 1.1 mô phỏng Acrobot 2-Link theo chuyển động của vận động viên xà đơn Tại điểm (2.0), 2L-A được điều khiển hiệu quả bằng thuật toán LQR Thuật toán phi tuyến cho thấy hiệu quả cao khi 2L-A ở vị trí cân bằng, nơi tín hiệu điều khiển bằng 0 Hệ thống này được duy trì ổn định nhờ vào bộ điều khiển trượt.

Mặc dù kết quả nghiên cứu chỉ được thể hiện qua mô phỏng, nhưng nghiên cứu (2.0) đã chứng minh rằng giải thuật mờ hoạt động hiệu quả trên hệ thống Điều này cho thấy 2L-A không phải là mô hình mới trong lĩnh vực điều khiển Tuy nhiên, việc không tính đến momen cánh tay của vận động viên đã khiến 2L-A không phản ánh chính xác động tác thực tế Để khắc phục nhược điểm này, mô hình Acrobot ba bậc tự do (3L-A) đã được phát triển Mô hình này bao gồm ba khâu: khâu 1 mô tả cánh tay, khâu 2 mô tả thân mình, và khâu 3 mô tả chân của vận động viên Động cơ gắn với khâu 1 đại diện cho khớp cánh tay, trong khi động cơ gắn với khâu 2 tương ứng với khớp hông của vận động viên.

Hệ số điều khiển K được xác định bằng phương pháp LQR thông qua các tham số A, B, Q và R, từ đó thiết lập hệ phương trình động lực học cho hệ thống 3L-A Tuy nhiên, nghiên cứu trước đây không giới thiệu phương pháp điều khiển nào, cho thấy rằng 3L-A là một hệ thống mới và phức tạp Trong bài viết này, tôi áp dụng thuật toán LQR để cân bằng hệ thống và tìm kiếm giá trị K tối ưu nhất.

Hình 1.2 Cấu trúc toán học của Acrobot 3-Link [0]

Mục tiêu nghiên cứu

 Mục tiêu chung: Thiết kế và điều khiển hệ Acrobot nhiều link trong giảng dạy đại học và nghiên cứu khoa học.

 Tìm hiểu về Acrobot và các phương pháp điều khiển Acrobot.

 Thiết kế hệ thống điều khiển cho Acrobot tại điểm cân bằng không ổn định.

 Thiết kế và chế tạo mô hình thực cho Acrobot để phục vụ cho việc nghiên cứu và thí nghiệm.

 Sử dụng các phần mềm Matlab – Simulink, Arduino IDE để thiết kế điều khiển robot.

Giới hạn

- Điều khiển mô phỏng 3L-A và 2L-A tại vị trí TOP, điều khiển mô phỏng và thực nghiệm 2L-A ở vị trí MID.

- Giải thuật điều khiển chỉ là tuyến tính Chưa đề cập các giải thuật khác như phi tuyến hoặc thông minh.

Ý nghĩa khoa học và thực tiễn của đề tài nghiên cứu

1.4.1 Ý nghĩa khoa học của đề tài

Acrobot là một hệ thống under-actuated độc đáo, với số đầu vào ít hơn số đầu ra Mặc dù có cấu trúc tương tự như pendubot, Acrobot lại là một hệ phi tuyến khó điều khiển Hệ thống này có thể được sử dụng để thử nghiệm các lý thuyết điều khiển kinh điển và lý thuyết điều khiển mới, tạo ra cơ hội nghiên cứu mới mẻ cho các hệ thống hiện đại.

1.4.2 Ý nghĩa thực tiễn của đề tài nghiên cứu

Thông qua đề tài này, sinh viên phát triển một mô hình thực nghiệm nhằm làm nền tảng cho nghiên cứu khoa học và đồ án môn học điều khiển tự động cho các thế hệ sinh viên sau Các giải thuật tuyến tính như LQR và PID được thực hiện thành công trên cả mô phỏng và thực nghiệm, cung cấp kết quả tham khảo quan trọng cho việc điều khiển các hệ thống SIMO và MIMO underactuated, chẳng hạn như xe hai bánh tự cân bằng, tháp vô tuyến, giàn khoan và công trình biển.

Phương pháp nghiên cứu

- Nghiên cứu xây dựng mô hình Acrobot.

- Nghiên cứu các phương pháp điều khiển và thiết kế bộ điều khiển trên cơ sở mô hình toán học đã được kiểm chứng của Acrobot.

- Kiểm tra chất lượng của hệ thống điều khiển sử dụng phần mềm Matlab và sử dụng hệ thống thực.

- Nghiên cứu bộ điều khiển LQR và PID điều khiển cân bằng Acrobot.

- Xây dựng mô hình 2L-A thực nghiệm

- Áp dụng giải thuật điều khiển tuyến tính cho 2L-A ở vị trí MID.

PHƯƠNG TRÌNH TOÁN HỌC

Hệ hai link

Để thiết kế bộ điều khiển LQR cho bất kỳ đối tượng nào, cần phân tích và mô tả mô hình hệ thống qua phương trình toán học Qua đó, người thiết kế có thể tính toán ma trận K dựa trên phương trình Riccati Sau khi xác định giá trị của ma trận K, tín hiệu điều khiển cho bộ điều khiển LQR sẽ được thiết lập, ví dụ như trong hệ thống Acrobot cũng được mô tả bằng phương trình toán học.

Acrobot cũng tương tự như Pendubot, điểm khác biệt giữa Pendubot và Acrobot là ở vị trí động cơ điều khiển các khớp.

Sơ đồ cấu trúc Acrobot được thể hiện như Hình 2.1

Hình 2.1 Mô hình toán học của hệ thống Acrobot 2-Link [0]

Các biến q1, q2 và τ2 đóng vai trò quan trọng trong hệ thống điều khiển, với q1 và q2 là tín hiệu đầu ra và τ2 là tín hiệu đầu vào Mặc dù giá trị của các biến này chưa được xác định, nhưng thông qua bộ điều khiển được thiết kế, tác giả hoặc nhà thiết kế có thể xác định mối quan hệ giữa tín hiệu đầu ra và tín hiệu đầu vào.

Biến và tham số Mô tả

CHƯƠNG 2 PHƯƠNG TRÌNH TOÁN HỌC q 1 Góc Link 1 q 2 Góc Link 2 q´ 1 Vận tốc góc Link 1 q´ 2 Vận tốc góc Link 2 m 1 Khối lượng Link 1

L c1 Khoảng cách từ khớp đến trọng tâm

L c2 Khoảng cách từ khớp đến trọng tâm

J 2 Momen Link 2 g Trọng trường trái đất τ 2 Momen xoắn tại động cơ

Hệ thống Acrobot 2-Link được mô tả qua các thông số trong Bảng 2.1 Trong Hình 2.1, trục hoành của hệ tọa độ Descartes được thiết lập với mức tham chiếu thế năng bằng 0 Do đó, vị trí tuyệt đối của liên kết thứ i được biểu diễn dưới dạng X i = [X i x, X i y] T ∈ R 2.

Vì vậy, động năng K( q , q ´ ) , và thế năng V(q) được biểu diễn như sau:

Giả sử lực ma sát là rất nhỏ, sử dụng phương trình Lagrangian của Acrobot, ta có phương trình động của hệ thống cơ học: d dt [ ∂ L ∂ ( q , q ´ i q ´ ) ] − ∂ L ∂ q (q , i q ´ ) =τ i i=1, 2, (2.0)

Trong đó L ( q , q)=K ´ (q , q ´ )−V (q) và τ 1=0 Phương trình (2.0) tương đương với:

CHƯƠNG 2 PHƯƠNG TRÌNH TOÁN HỌC

G(q)=[ −a 4 sin −a q 5 1 sin − a ⁡ ( 5 q sin 1 +q ⁡ (q 2 ) 1 + q 2 ) ] (2.0) Vậy hệ thống được mô tả từ (2.4 – 2.5), (2.8 – 2.11).

Phương trình trạng thái được tạo ra dưới dạng: x=[ x 1 x 2 x 3 x 4 ] T = [ q 1 q´ 2 q 3 q´ 4 ] T (2.0)

Sau đó, phương trình động lực học (2.0) có thể được biểu diễn như sau: ´x=f (x)+g(x)τ 2 (2.0)

Trong đó P(i,j) và Z(i,j) là hai ma trận với i hàng và j cột P và Z được xác định như sau:

Hình 2.2 Hai vị trí điều khiển của Acrobot 2 Link

Vị trí MID và TOP là hai vị trí điều khiển phổ biến của hệ 2L-A Tại vị trí TOP, hệ thống khó duy trì trạng thái cân bằng hơn so với vị trí MID, mặc dù cả hai đều đạt điều kiện “điều khiển được” Ở vị trí TOP, cả hai link đều ở trạng thái cân bằng mong manh, và bất kỳ tác động ngoại lực nào mà không có tín hiệu điều khiển hỗ trợ sẽ khiến hệ thống rời xa vị trí cân bằng Ngược lại, khi ở vị trí MID, nếu bị lệch khỏi trạng thái cân bằng, link 1 có xu hướng tự trở về vị trí cân bằng, giúp việc điều khiển trở nên dễ dàng hơn, với trọng tâm tín hiệu điều khiển chỉ cần tập trung vào link 2 để giữ nó ở vị trí thẳng đứng.

Dựa trên các phân tích và thực tiễn cho thấy sinh viên chưa đạt được khả năng điều khiển ổn định hệ thống ở vị trí TOP thành công, nên trong phần thực nghiệm, sinh viên đã quyết định điều khiển cân bằng Acrobot ở vị trí MID.

Từ đó, ta tiến hành xây dựng hệ phương trình toán học của 2L-A tại vị trí MID và TOP như sau:

CHƯƠNG 2 PHƯƠNG TRÌNH TOÁN HỌC

Chọn điểm làm việc: x 0 =[0 0 0 0] T tương ứng(q 0 =[0 0 0 0] T )

Tuyến tính hóa hệ phi tuyến thành xấp xỉ tuyến tính tại điểm làm việc: ´x=Ax+Bu

Chọn ma trận trọng số Q và R: Q= [ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 ] , R=1

Thông số Giá trị m 1 0.8 Kg

Bảng 2.2 Thông số hệ thống Acrobot 2-Link

Theo hệ quy chiếu như Hình 2.1, ta đặt biến: Ở vị trí TOP:

Hình 2.3 Mô hình toán học của Acrobot 2-Link tại vị trí MID

CHƯƠNG 2 PHƯƠNG TRÌNH TOÁN HỌC

Hệ ba link

Dựa trên quan sát chuyển động của vận động viên thể dục, một robot thanh ngang ba liên kết đã được thiết kế tương tự như hệ hai link Mô hình toán học tương ứng đã được phát triển để phân tích các đặc tính động, và kết quả mô phỏng được trình bày rõ ràng Từ góc độ kiểm soát chung, phương pháp điều khiển thông minh với lý thuyết lược đồ đã được áp dụng, cho thấy tính khả thi trong việc lập kế hoạch chuyển động điều khiển hiệu quả.

Hình 2.4 Mô hình toán học của hệ thống Acrobot 3-Link [0]

Bản đồ tọa độ hai chiều của Acrobot ba link mô phỏng hành động đu người lên thanh xà, bao gồm ba liên kết và ba khớp Các khớp vai và coxa có phạm vi xoay giới hạn từ –5 đến 225 độ cho góc giữa cánh tay và thân, và từ –5 đến 180 độ cho góc giữa chân và thân Bàn tay kết nối trục và thanh là khớp bị động với phạm vi quay từ 0 đến 360 độ.

Hình 2.5 Sự mô phỏng của Acrobot 3-Link theo một vận động viên xà đơn

Li, li, mi, Ji và θi lần lượt đại diện cho độ dài liên kết, khoảng cách từ tâm đến trục, khối lượng, momen quán tính và góc lệch so với phương thẳng đứng theo chiều kim đồng hồ, với i = 1, 2, 3 cho ba liên kết Động cơ gắn trên hai khớp hoạt động có khối lượng mc1 và mc2, trong khi mômen ma sát của ba khớp được ký hiệu là c1, c2 và c3 Mômen xoắn từ hai khớp hoạt động được ký hiệu là u1 và u2, với chiều quay theo chiều kim đồng hồ được coi là dương.

Do đó, phương trình Lagrange cho mô hình này có thể được biểu diễn như sau: d dt ( ∂ ∂ T X ´ i ) − ∂ X ∂T i

CHƯƠNG 2 PHƯƠNG TRÌNH TOÁN HỌC Động năng của hệ T theo tổng quát tọa độ, thế năng V và năng lượng tiêu tán

D tác động do ma sát khớp có thể thu được thông qua phương trình (2.0), (2.0),

3 [ J i θ ´ i 2 +m i [ ( dt d ( k=i−2 ∑ i−1 L k sinθ k + l i sinθ i ) ) 2 + ( dt d ( k ∑ = i−1 i−2 L k cosθ k + l i cosθ i ) ) ] ] + 1 2 ∑ i=1 2 (2.0) mc i [ ( dt d k=i−1 ∑ i L k cosθ k ) 2 + ( dt d k=i−1 ∑ i L k sinθ k ) 2 ]

(2.0) Bằng cách thế các tham số này vào phương trình (2.0), ta thu được phương trình động lực học của hệ thống phi tuyến sau:

A(X)=[ A A 12 13 cos cos A ( ( 11 θ θ 2 3 −θ − θ 1 1 ) ) A A 23 12 cos cos A ( ( 22 θ θ 3 2 −θ −θ 1 2 ) ) A A 13 23 cos cos A ( ( 33 θ θ 3 3 −θ −θ 1 2 ) ) ]

B(X ,X´ )=[ −B B 21 13 sin sin ⁡ (θ B ⁡ ( 11 θ 2 −θ 3 −θ 1 ) ´ 1 θ ) ´ θ 1 1 B B 12 32 sin sin ⁡ ⁡ (θ B (θ 22 2 3 −θ −θ 1 2 ) ´ ) ´ θ θ 2 2 B B 13 23 sin sin ⁡ ⁡ (θ (θ B 33 2 3 −θ −θ 1 2 ) ´ ) ´ θ θ 2 3 ]

Và A i , B i , C i là các hằng số liên quan đến thông số vật lí của hệ thống:

Hệ thống Acrobot ba link là một hệ thống phi tuyến với nhiều ngõ vào (u1, u2) và nhiều ngõ ra (θ1, θ2, θ3) Sự kết hợp chặt chẽ giữa các biến θ1, θ2, θ3 cho thấy hiệu ứng ghép nối khác nhau tùy thuộc vào chuyển động của các liên kết trong hệ thống này.

Bảng 2.3 cho thấy tất cả các thông số vật lý được sử dụng trong mô phỏng dựa trên công cụ phần mềm Simulink trong Matlab.

Thông số Giá trị Đơn vị Thông số Giá trị Đơn vị

CHƯƠNG 2 PHƯƠNG TRÌNH TOÁN HỌC l 3 0.25 m c 1 0.7056 Nms m 1 1.87 kg c 2 0.7056 Nms m 2 2.2 kg c 3 0.7056 Nms m 3 2.2 kg

Bảng 2.3 Thông số hệ thống Acrobot 3-Link [0]

Một hệ thống phi tuyến cũng có thể biểu diễn dưới dạng tuyến tính, chỉ mang tính xấp xỉ tại điểm làm việc chứ không hoàn toàn chính xác:

Trong quá trình điều khiển LQR để xác định ma trận K, cần có ma trận A và B Kết hợp với ma trận trọng số Q và R được lựa chọn, ta có thể thiết lập: x = [θ₁, θ'₁, θ₂, θ'₂, θ₃, θ'₃]ᵀ và y = x.

Ma trận A và B sẽ được tính như sau :

Tại điểm làm việc, Acrobot đứng thẳng, với ma trận A và B đã xác định, ta có x1, x2, x3, x4 = x5, x6 = 0, dẫn đến θ'1 = θ'2 = θ'3 = 0, nghĩa là các khớp không di chuyển và vận tốc bằng 0 Khi Acrobot ở trạng thái đứng yên, không cần lực điều khiển tác động, vì nó đã đạt được sự ổn định tự nhiên, do đó u = 0.

Tính điều khiển được của hệ thống:

Kết luận về hệ thống điều khiển cho thấy bước tiếp theo là tính toán ma trận Q và R để xây dựng bộ điều khiển LQR Trong đó, ngõ ra được xác định là tất cả các biến trạng thái, do đó ma trận C được chọn là ma trận đơn vị 6x6, với các thành phần đường chéo bằng 1 và các thành phần khác bằng 0 Điều này đảm bảo rằng khi thực hiện phép toán C∗x, ngõ ra y sẽ không thay đổi và vẫn bằng x.

THIẾT KẾ GIẢI THUẬT ĐIỀU KHIỂN

Bộ điều khiển LQR

Lý thuyết điều khiển LQR là một phương pháp hiệu quả để điều khiển các hệ thống tuyến tính thông qua các phương trình trạng thái Kỹ thuật này giúp tạo ra bộ điều khiển vòng kín ổn định, đồng thời tối ưu hóa năng lượng cung cấp cho hệ thống ở mức tối thiểu.

Cho hệ thống với mô hình: ´ x= Ax+ Bu

Hệ ổn định thường có xu hướng tự trở về điểm trạng thái cân bằng khi không bị kích thích từ bên ngoài Điều này có nghĩa là trong điều kiện không có tác động, hệ thống sẽ tự điều chỉnh để duy trì sự ổn định.

Hệ sẽ ổn định tại điểm trạng thái cân bằng khi dx/dt = 0, cho thấy điểm này là nghiệm của phương trình trạng thái Ax = 0 Nếu giả thiết A là ma trận không suy biến, hệ tuyến tính dx/dt = Ax + Bu sẽ chỉ có một điểm cân bằng duy nhất, đó là gốc tọa độ.

Bài toán thiết kế bộ điều khiển K tĩnh phản hồi trạng thái nhằm điều khiển hệ thống được mô tả bởi phương trình dx/dt = Ax + Bu Mục tiêu của phương pháp thiết kế là đảm bảo rằng khi hệ thống bị nhiễu và dịch chuyển khỏi vị trí cân bằng (hoặc điểm làm việc), bộ điều khiển K sẽ có khả năng đưa hệ thống trở lại trạng thái cân bằng (điểm làm việc cũ) từ trạng thái x0 Trong quá trình trở lại này, sự tổn hao năng lượng sẽ tuân theo một phương trình cụ thể.

Bài toán điều khiển theo LQR nhằm tối thiểu hóa giá trị, có thể được thực hiện trong MATLAB với lệnh K = lqr(A,B,Q,R) Độ lớn tương đối giữa các trọng số Q và R ảnh hưởng đến đáp ứng quá độ và mức tiêu thụ năng lượng của hệ thống Để đạt được trạng thái đáp ứng nhanh, cần tăng thành phần Q, trong khi để giảm năng lượng tiêu thụ, nên tăng giá trị K.

Ma trận Q và ma trận R sẽ là các ma trận đường chéo và các thành phần trên đường chéo là thành phần dương, ở đây ta chọn bằng 1:

Từ (2.0), (2.0), (3.0), ta có ma trận K được tính trên matlab như sau:

Mô hình liên tục: K=lqr(A , B ,Q , R)

Mô hình rời rạc: K=dlqr(Ad , Bd , Q , R ,0.01) với [ Ad , Bd]=c2d(A , B ,0.01)

Bộ điều khiển PID

PID, viết tắt của Proportional Integral Derivative, là một cơ chế phản hồi quan trọng trong các hệ thống điều khiển công nghiệp Bộ điều khiển PID được ứng dụng phổ biến trong các hệ thống điều khiển vòng kín, nơi có tín hiệu phản hồi để tối ưu hóa hiệu suất hoạt động.

Bộ điều khiển PID giúp máy công nghệ tính toán sai số giữa giá trị đo và giá trị mong muốn, từ đó điều chỉnh giá trị điều khiển để giảm thiểu sai số, nâng cao độ chính xác và hiệu quả hoạt động Để đạt kết quả tối ưu, các thông số của PID cần được điều chỉnh phù hợp với tính chất của hệ thống Trong các trường hợp điều khiển tương tự, việc tính toán chính xác các thông số PID là rất quan trọng để đảm bảo hiệu quả cao nhất trong quá trình làm việc.

PID là một hệ thống điều khiển bao gồm ba thành phần chính: điều khiển tỉ lệ, điều khiển tích phân và điều khiển vi phân Hệ thống này giúp tối ưu hóa việc điều chỉnh sai số, nâng cao tốc độ đáp ứng, giảm thiểu hiện tượng vọt lố và hạn chế sự dao động trong quá trình điều khiển.

CHƯƠNG 3 THIẾT KẾ GIẢI THUẬT ĐIỀU KHIỂN

P trong Proportional đề cập đến phương pháp điều chỉnh tỉ lệ, giúp tạo ra tín hiệu thông báo về việc điều chỉnh tỷ lệ dựa trên sai lệch đầu vào trong quá trình lấy mẫu.

Trong điều khiển tích phân, việc phân tích các sai lệch theo thời gian là rất quan trọng để tạo ra tín hiệu điều chỉnh giúp giảm thiểu sai số về mức 0 Phương pháp này cho phép người dùng theo dõi tổng sai số tức thời theo thời gian, đồng thời tính toán sai số tích lũy từ quá khứ Đặc biệt, khả năng điều chỉnh phân tích sẽ mạnh mẽ hơn khi thời gian tác động nhỏ, dẫn đến độ lệch cũng giảm theo.

D trong Đạo hàm đề cập đến vi phân của sai lệch, với nhiệm vụ tạo ra các tín hiệu điều chỉnh nhằm đạt tỷ lệ tối ưu cho tốc độ thay đổi của sai lệch đầu vào Sự vi phạm trong điều chỉnh vi phân gia tăng theo thời gian, dẫn đến yêu cầu bộ điều chỉnh phải phản ứng nhanh hơn với những thay đổi đầu vào.

Bộ điều khiển PID, viết tắt của "tỉ lệ, tích phân và vi phân", là một kỹ thuật quan trọng trong điều khiển quá trình, giúp giảm thiểu tín hiệu sai số Bằng cách kết hợp các tác động tỉ lệ, tích phân và vi phân, PID tối ưu hóa hiệu suất điều khiển, đảm bảo rằng sai số được điều chỉnh một cách hiệu quả và chính xác dựa trên dữ liệu trước đó.

Bắt đầu từ năm 1890, bộ điều chỉnh PID đã được tích hợp vào thiết kế bộ điều tốc và sau đó phát triển thành hệ thống tàu thủy tự động, được gọi là PID Controller Khái niệm này được Elmer Sperry phát triển vào năm 1911.

Năm 1922, Nicolas Minorsky đã chính thức công bố tác phẩm lý thuyết về bộ điều khiển PID, trong đó mô tả chi tiết khái niệm PID và cung cấp nhiều kiến thức hữu ích vẫn còn giá trị cho đến ngày nay Lý thuyết này được Minorsky phát triển từ việc quan sát hành vi của người lái tàu thủy trước khi ông đưa ra lý thuyết về bộ điều chỉnh PID.

Sau đó các bộ điều chỉnh đầu tiên dựa vào lý thuyết PID đã được ra đời như:thủy lực, khí nén, cơ khí và các hệ thống điện.

3.2.3 Mục đích sử dụng bộ điều khiển PID Đối với các hệ thống điều khiển quy trình hiện đại ngày này thì PID được coi là một bộ điều khiển lý tưởng Ở hầu hết các ứng dụng điều khiển đối với quá trình tự động trong công nghiệp thì đều dùng đến nó để điều chỉnh nhiệt độ, áp suất, lưu lượng, Cụ thể thì bộ điều chỉnh PID được dùng cho các mục đích như:

- Giảm các sai số xác lập ở mức tối thiểu nhất có thể.

- Các thiết bị dùng PID sẽ hạn chế được độ dao động.

- Giảm đi thời gian xác lập và độ vọt lố.

3.2.4 Cách điều chỉnh thông số cho bộ điều khiển PID Điều chỉnh PID hay điều chỉnh vòng điều khiển chính là việc thay đổi các thông số kiểm soát của nó Các thông số này sẽ bao gồm: độ lợi tích hoặc reset, độ lợi hoặc dải tỷ lệ, vi phân hoặc tốc độ Việc điều chỉnh các thông số này chính là kiểm soát nó đến một mức giá trị nhằm đáp ứng điều khiển tối ưu nhất với người dùng. Điều chỉnh PID là điều không hề đơn giản và dễ dàng Ngay cả trong trường hợp bạn có đầy đủ cả 3 thông số thì việc điều chỉnh thông số cũng khá khó khăn. Tuy nhiên không phải không có cách mà phương pháp dùng để điều chỉnh sẽ rất phức tạp Để thay đổi các thông số cho bộ điều khiển PID, có thể sử dụng một trong những cách thường dùng như sau: Độ ổn định: Thừa độ lợi sẽ hình thành nên sự bất ổn định, đặc biệt khi độ trễ lớn xuất hiện Để có một độ ổn định cao khi hoạt động thì cần phải đảm bảo quá trình không xảy ra dao động.

Để tối ưu hóa hành vi của bộ điều khiển PID, cần thay đổi quá trình hoặc điểm đặt, với hai yêu cầu cơ bản là ổn định và tự điều chỉnh lệch Những yếu tố này phụ thuộc vào các tiêu chuẩn như thời gian khởi động máy và thời gian xác lập Đặc biệt, trong các quá trình này, việc tối ưu hóa năng lượng tiêu hao là rất quan trọng để đảm bảo hoạt động hiệu quả nhất.

Không những vậy, để có thể điều chỉnh các thông số cho bộ điều khiển PID một cách chính xác nhất thì cần phải hiểu rõ 3 khâu của nó.

3.2.5 Các khâu hiệu chỉnh trong PID

Một sơ đồ điều chỉnh PID bao gồm ba khâu, với tổng ba khâu được xác định bởi các biến điều khiển được ký hiệu là MV Công thức tính cho sơ đồ này được trình bày cụ thể như sau:

CHƯƠNG 3 THIẾT KẾ GIẢI THUẬT ĐIỀU KHIỂN

Trong công thức trên, P(out), I(out) và D(out) chính là các thành phần đầu ra của ba khâu điều chỉnh PID.

Hình 3.2 Sơ đồ hiệu chỉnh với PID

Khâu tỷ lệ đóng vai trò quan trọng trong việc điều chỉnh độ lợi, ảnh hưởng đến giá trị đầu ra và tỷ lệ với giá trị sai số Để đạt được yêu cầu về tỷ lệ, độ lợi có thể được điều chỉnh bằng cách nhân sai số với hằng số Kp (hệ số tỉ lệ) Công thức tính khâu tỉ lệ sẽ được áp dụng theo cách này.

P(out): là thừa số tỉ lệ của đầu ra.

Kp: là hệ số tỉ lệ hay thông số điều chỉnh. e: là sai số và được tính bằng SP - PV

SV: giá trị cài đặt mong muốn.

PV: giá trị đọc từ cảm biến, gọi là biến quá trình. t: là thời gian hay chính là khoảng thời gian tức thời.

Hệ số của khâu tỉ lệ lớn được xác định bởi sự biến đổi lớn ở đầu ra và sai số nhỏ Nếu hệ số này quá cao, hệ thống sẽ trở nên không ổn định Ngược lại, nếu hệ số quá nhỏ để đáp ứng đầu ra nhỏ, sai số ở đầu vào sẽ lớn, dẫn đến bộ điều khiển hoạt động kém nhạy bén và chậm đáp ứng Hơn nữa, nếu hệ số khâu tỉ lệ quá thấp, điều này sẽ ảnh hưởng đến khả năng điều khiển, khiến nó không đủ mạnh để đối phó với các nhiễu trong hệ thống vận hành.

- Kp càng lớn thì tốc độ đáp ứng càng nhanh.

- Kp càng lớn thì sai số xác lập càng nhỏ (nhưng không thể triệt tiêu).

- Kp càng lớn thì các cực của hệ thống có xu hướng di chuyển ra xa trục thực

=> Hệ thống càng dao động và độ vọt lố càng cao.

- Nếu Kp tăng quá giá trị giới hạn thì hệ thống sẽ dao động không tắt dần => mất ổn định.

Sự tương đồng giữa bộ điều khiển PD và LQR

Cấu trúc của bộ điều khiển PD và LQR có nhiều điểm tương đồng, như thể hiện trong Hình 3.4 Cả hai đều là các hệ thống điều khiển tuyến tính, thích hợp cho hệ SIMO (một đầu vào và nhiều đầu ra) Thông số của LQR được xác định thông qua việc giải phương trình Ricatti, trong khi thông số của PD được thiết lập dựa trên các yếu tố điều khiển khác.

CHƯƠNG 3 THIẾT KẾ GIẢI THUẬT ĐIỀU KHIỂN việc tìm kiếm thông qua thử sai hoặc áp dụng giải thuật tìm kiếm (như giải thuật di truyền) Ở mô phỏng, thông số hệ thống có thể được giả lập nếu giải thuật LQR có thể được áp dụng để kiểm chứng khả năng của một bộ điều khiển tuyến tính Tuy nhiên, ở đối tượng thực nghiệm, việc xác định thông số mô hình là rất khó khăn Do đó, sinh viên áp dụng giải thuật PD để điều khiển hệ thống Việc tìm kiếm thông số điều khiển được xử lí thông qua thử sai (try – and – error test).

Hình 3.5 Quy ước toán học của Acrobot 2-Link ở vị trí MID

Theo Hình 3.5 ta thấy, khi θ 1>0thì τ nên đi ngược chiều dương Do đó, tín hiệu điều khiển link 1 là: u PID1 =−(K p1 θ 1 +K d 1 θ 1 ) (3.0)

Theo Hình 3.5 ta thấy, khi θ 2>0thì τ nên đi cùng chiều dương Do đó, tín hiệu điều khiển link 2 là: u PID2 =K p 2 θ 2 +K d2 θ 2 (3.0)

Hệ Acrobot với hai liên kết hoạt động như một hệ SIMO, cho phép chỉ có một tín hiệu điều khiển tác động vào toàn bộ hệ thống Tín hiệu điều khiển tổng hợp được thể hiện qua công thức: u PID = u PID1 + u PID2.

Ta có sơ đồ khối:

Hình 3.6 Sơ đồ khối bộ điều khiển PD Trong đó: e 1 ,e 2 : tín hiệu đầu vào của Link 1 và Link 2

K p1 , K p2 : hệ số tỉ lệ của Link 1 và Link 2

K d1 và K d2 là hệ số vi phân của Link 1 và Link 2, trong khi u PD1, u PD2 và u PD là các bộ điều khiển PD tương ứng Ở đây, tín hiệu điện áp cung cấp cho hệ thống được mặc định là tín hiệu mômen do động cơ tạo ra Việc xấp xỉ này được thực hiện do sự khó khăn trong việc nhận dạng động cơ, và sự xấp xỉ này được bù đắp thông qua việc xác định thành công.

Do việc xác định các tín hiệu điều khiển đã dựa vào Hình 3.5 nên các giá trị

CHƯƠNG 5 LỰA CHỌN THIẾT BỊ

KẾT QUẢ MÔ PHỎNG

Hệ hai link

Khi sử dụng bộ điều khiển LQR trên Matlab để mô phỏng vị trí MID và TOP của 2L-A (theo thông số Bảng 2.1) và với các ma trận Q và R là:

Giá trị khởi tạo cho các biến trạng thái trong mô phỏng là: x1 init = 0.01, x2 init = 0.005, x3 init = 0.005, x4 init = 0.001 Chương trình mô phỏng Matlab cho hệ thống này được trình bày trong Hình 4.1 và Hình 4.2, trong khi các kết quả mô phỏng được thể hiện qua Hình 4.3 và Hình 4.4.

Hình 4.1 Bộ điều khiển LQR

Hình 4.2 Cấu trúc bên trong khối mô tả hệ thống

Hình 4.3 Kết quả mô phỏng 2L-A ở vị trí MID

Dựa trên kết quả mô phỏng, cả hai liên kết đều có hiện tượng dao động tắt dần và sau khoảng 8 đến 10 giây, hệ thống bắt đầu trở lại vị trí làm việc với các thông số θ 1=θ 2 và v 1=v 2=0 Điều này chứng tỏ rằng bộ điều khiển LQR đã thành công trong việc ổn định hệ thống 2L-A tại vị trí MID.

CHƯƠNG 5 LỰA CHỌN THIẾT BỊ

Hệ thống 2L-A ở vị trí TOP chỉ mất khoảng 3 giây để hai liên kết cân bằng tại điểm làm việc dưới bộ điều khiển LQR Điều này cho thấy bộ điều khiển LQR đã thành công trong việc duy trì sự ổn định của 2L-A tại vị trí TOP.

Hệ ba link

Đối với hệ 3L-A, hệ phương trình phi tuyến toán học được thể hiện ở (2.0) và hệ phương trình toán học sau khi được tuyến tính hóa được thể hiện ở (2.0).

Cấu trúc điều khiển LQR cho hệ phi tuyến 3L-A được thể hiện ở Hình 4.5.

Hình 4.5 Mô hình mô phỏng Acrobot 3-Link hệ phi tuyến

Hình 4.6 Mô hình mô phỏng Acrobot 3-Link hệ phi tuyến

Với giá trị Q và R được chọn là: Q= [ 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 ] ;R= [ 1 0 ; 01 ]

Kết quả mô phỏng cho thấy bộ điều khiển LQR không thể đưa hệ 3L-A quay trở lại điểm làm việc ở vị trí TOP, mà thậm chí còn lệch nhiều hơn Mặc dù đã chọn các giá trị đầu lệch rất nhỏ, nhưng LQR chỉ đảm bảo ổn định quanh điểm làm việc cân bằng, và với hệ phức tạp như 3L-A, khoảng làm việc ổn định mà LQR cung cấp rất gần với điểm làm việc Do đó, khi trạng thái hệ thống lệch xa vị trí làm việc, bộ điều khiển LQR không còn đủ khả năng đảm bảo ổn định cho hệ thống Kết luận, đối với hệ thống phi tuyến cao và phức tạp như 3L-A, giải thuật điều khiển tuyến tính đơn thuần là không đủ để duy trì ổn định ở vị trí TOP.

CHƯƠNG 5 LỰA CHỌN THIẾT BỊ

Hình 4.7 Kết quả mô phỏng Acrobot 3-Link hệ phi tuyến

Hệ tuyến tính là công cụ quan trọng để kiểm chứng mô phỏng, trong đó sinh viên lựa chọn hệ phương trình tuyến tính mô tả 3L-A theo công thức (2.0) Cấu trúc mô phỏng trên Simulink được trình bày chi tiết trong Hình 4.8, trong khi Hình 4.9 cung cấp cái nhìn sâu hơn về cấu trúc bên trong khối tuyến tính mô tả 3L-A.

Hình 4.8 Mô hình mô phỏng Acrobot 3-Link hệ tuyến tính

Hình 4.9 Mô hình mô phỏng Acrobot 3-Link hệ tuyến tính

Khi đó, với bộ thông số Q và R là:

Thì kết quả mô phỏng được thể hiện ở Hình 4.10.

CHƯƠNG 5 LỰA CHỌN THIẾT BỊ

Kết quả mô phỏng Acrobot 3-Link trong hệ tuyến tính cho thấy, với các giá trị ban đầu θ 1 = 0, θ 2 = 0.2, θ 3 = 0, θ´ 1 = 0.1, θ´ 2 = 0, θ´ 3 = 0.01, sau khoảng 4 giây, các liên kết đã quay trở lại điểm làm việc và ổn định với θ 1 = θ 2 = θ 3 = 0.

LỰA CHỌN THIẾT BỊ

Lí do lựa chọn thiết bị

Sinh viên thường lựa chọn Arduino vì đây là board mạch phổ biến, dễ sử dụng và không yêu cầu kiến thức lập trình sâu Với chi phí thấp, Arduino rất phù hợp cho việc nghiên cứu và học tập Động cơ giảm tốc JGA25-370 có khả năng cung cấp tải trọng lớn và được trang bị encoder để đọc vị trí cũng như chiều quay của động cơ.

Nguồn tổ ong 12V/10A: trên thị trường hiện tồn tại rất nhiều loại nguồn Tuy nhiên, sinh viên lựa chọn nguồn tổ ong vì giá thành thấp và dễ tìm.

Encoder LPD3806 có kích thước nhỏ gọn và trọng lượng nhẹ, dễ dàng trong quá trình cài đặt Với lợi thế chi phí hợp lý, thiết bị này bao gồm 2 pha A và B, rất phù hợp cho việc đọc chiều quay của các liên kết Là một loại encoder tương đối, LPD3806 mang lại độ phân giải cao, giá cả phải chăng và dễ dàng tìm kiếm trên thị trường.

Mạch điều khiển động cơ DC BTS7960 có giá thành hợp lý và tích hợp nhiều chế độ bảo vệ an toàn Nó phù hợp cho các ứng dụng truyền động động cơ yêu cầu dòng cao, mang lại hiệu suất ổn định và đáng tin cậy.

Mạch Arduino bao gồm vi điều khiển AVR và nhiều linh kiện bổ sung, giúp lập trình dễ dàng và mở rộng với các mạch khác Một điểm nổi bật của Arduino là các kết nối tiêu chuẩn, cho phép người dùng dễ dàng kết nối với CPU của board và các module bổ sung, gọi là shield Một số shield có khả năng truyền thông trực tiếp với board Arduino thông qua các kết nối này.

CHƯƠNG 5 LỰA CHỌN THIẾT BỊ chân khác nhau, nhưng nhiều shield được định địa chỉ thông qua serial bus I2C nhiều shield có thể được xếp chồng và sử dụng dưới dạng song song Arduino chính thức thường sử dụng các dòng chip megaAVR, đặc biệt là ATmega8, ATmega168, ATmega328, ATmega1280, và ATmega2560 Một vài các bộ vi xử lý khác cũng được sử dụng bởi các mạch Arduino tương thích Hầu hết các mạch gồm một bộ điều chỉnh tuyến tính 5V và một thạch anh dao động 16 MHz (hoặc bộ cộng hưởng ceramic trong một vài biến thể), mặc dù một vài thiết kế như LilyPad chạy tại 8 MHz và bỏ qua bộ điều chỉnh điện áp onboard do hạn chế về kích cỡ thiết bị Một vi điều khiển Arduino cũng có thể được lập trình sẵn với một boot loader cho phép đơn giản là upload chương trình vào bộ nhớ flash on-chip, so với các thiết bị khác thường phải cần một bộ nạp bên ngoài Điều này giúp cho việc sử dụng Arduino được trực tiếp hơn bằng cách cho phép sử dụng 1 máy tính gốc như là một bộ nạp chương trình.

Khi sử dụng ngăn xếp phần mềm Arduino, các board được lập trình qua kết nối RS-232, nhưng phương thức thực hiện phụ thuộc vào đời phần cứng Các board Serial Arduino có mạch chuyển đổi RS232 sang TTL, trong khi các board hiện tại được lập trình qua cổng USB nhờ chip USB-to-serial như FTDI FT232 Một số biến thể như Arduino Mini và Boarduino không chính thức sử dụng board adapter hoặc cáp USB-to-serial có thể tháo rời, Bluetooth, hoặc các phương thức khác Board Arduino cung cấp hầu hết các chân I/O của vi điều khiển cho mạch ngoài, với Diecimila, Duemilanove và Uno có 14 chân I/O kỹ thuật số, trong đó 6 chân hỗ trợ PWM và 6 chân input analog có thể dùng như I/O số Các chân này được thiết kế ở mặt trên board thông qua header 0.10-inch (2.5 mm) Nhiều shield ứng dụng plug-in cũng được thương mại hóa, và các board như Arduino Nano, Bare Bones Board và Boarduino cung cấp chân header đực trên bề mặt để cắm vào breadboard.

Có nhiều biến thể của Arduino như Arduino-compatible và Arduino-derived, một số trong đó có chức năng tương đương và có thể thay thế cho nhau Nhiều mở rộng cho Arduino được thực hiện bằng cách thêm driver đầu ra, thường được sử dụng trong giáo dục để đơn giản hóa cấu trúc của các robot nhỏ và “con rệp” Các board khác thường có điện áp tương đương nhưng khác biệt về hình dạng, đôi khi vẫn duy trì độ tương thích với các shield, đôi khi không Một số biến thể sử dụng bộ vi xử lý hoàn toàn khác biệt, với mức độ tương thích khác nhau.

Phần cứng Arduino gốc được sản xuất bởi công ty Smart Projects tại Italy, trong khi một số board dẫn xuất được thiết kế bởi SparkFun Electronics, một công ty Mỹ Nhiều phiên bản Arduino đã được phát triển để phục vụ cho các mục đích sử dụng đa dạng.

Hình 5.2 Các phiên bản của Arduino

 Ghép nối với các cảm biến

Tất cả những cảm biến ghép nối được với vi điều khiển thì cũng ghép nối được với Arduino

Các loại cảm biến phổ biến bao gồm cảm biến nước, cảm biến nhiệt độ và độ ẩm, cảm biến hồng ngoại và ánh sáng, cảm biến màu, cảm biến rung, cảm biến âm thanh, cảm biến siêu âm, cảm biến khí, cảm biến áp suất, cảm biến chuyển động, cảm biến khoảng cách, cảm biến dòng điện, cảm biến góc và gia tốc, cảm biến Hall, cảm biến từ trường, và cảm biến quang điện.

 Môi trường lập trình board mạch Arduino:

Arduino nổi bật với thiết kế board mạch nhỏ gọn và nhiều tính năng hữu ích, nhưng sức mạnh thực sự của nó nằm ở phần mềm Môi trường lập trình đơn giản và ngôn ngữ Wiring dễ hiểu, dựa trên nền tảng C/C++, rất quen thuộc với các kỹ sư, giúp người dùng dễ dàng tiếp cận và phát triển dự án.

CHƯƠNG 5 LỰA CHỌN THIẾT BỊ số lượng thư viện code được viết sẵn và chia sẻ bởi cộng đồng nguồn mở là cực kỳ lớn.

 Ghép nối với các module chức năng

Có kiến thức và kỹ năng thiết kế mạch điện tử, người dùng có thể tự tạo các module chức năng kết nối với Arduino Tuy nhiên, quá trình này tốn thời gian và có thể gặp phải lỗi thiết kế, dẫn đến việc phải sửa chữa và làm mới, gây lãng phí.

Cộng đồng phát triển Arduino đã tạo ra nhiều module chuẩn để kết nối với các Board mạch Arduino, giúp giảm bớt gánh nặng cho các nhà thiết kế phần cứng trong việc thiết kế và sản xuất mạch in cho các ứng dụng Nhờ đó, người sử dụng có thể yên tâm hơn về độ chính xác trong thiết kế phần cứng Hiện nay, có nhiều module phổ biến được sử dụng rộng rãi.

- Module đo thông số điện.

Hình 5.3 Sơ đồ chân board Arduino Uno

 Các thông số của board arduino uno:

Vi điều khiển ATmega328 họ 8bit Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)

Tần số hoạt động 16 MHz

Dòng tiêu thụ khoảng 30mA Điện áp vào khuyên dùng 7-12V DC

CHƯƠNG 5 LỰA CHỌN THIẾT BỊ Điện áp vào giới hạn 6-20V DC

Số chân Digital I/O 14 (6 chân hardware PWM)

Số chân Analog 6 (độ phân giải 10bit)

Dòng tối đa trên mỗi chân I/O 30 mA

Dòng ra tối đa (5V) 500 mA

Dòng ra tối đa (3.3V) 50 mA

Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bởi bootloader

Bảng 5.1 Thông số kỹ thuật board Arduino Uno

Hình 5.4 Sơ đồ chân của vi điều khiển ATmega328P

Các chân I/O digital từ chân số 2 đến 13 được sử dụng để nhập và xuất tín hiệu số thông qua các hàm pinMode(), digitalWrite() và digitalRead() Điện áp hoạt động của các chân này là 5V, với dòng điện tối đa cho phép là 20mA; việc cấp dòng quá 40mA có thể gây hỏng vi điều khiển.

Arduino Uno có 6 chân đầu vào analog (A0 – A5) với độ phân giải 10 bit, cho phép đọc tín hiệu điện áp từ 0 đến 5V, tương ứng với 1024 giá trị khác nhau Để thực hiện việc đọc tín hiệu, bạn có thể sử dụng hàm analogRead().

PWM: các chân được đánh số 3, 5, 6, 9, 10, 11; có chức năng cấp xung PWM

(8 bit) thông qua hàm analogWrite().

UART: Atmega328P cho phép truyền dữ liệu thông qua hai chân 0 (RX) và chân 1 (TX).

UART: Atmega328P cho phép truyền dữ liệu thông qua hai chân 0 (RX) và chân 1 (TX).

Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:

Bộ nhớ Flash 32KB trên vi điều khiển cho phép lưu trữ các đoạn lệnh lập trình Thông thường, một phần nhỏ trong bộ nhớ này sẽ được sử dụng cho bootloader, nhưng bạn có thể yên tâm rằng hiếm khi bạn cần sử dụng quá 20KB cho các ứng dụng của mình.

Phần mềm sử dụng

Hình 5.11 Logo phần mềm Matlab

MATLAB (viết tắt từ Matrix Laboratory) được phát triển từ dự án LINPACK

& EISPACK của hãng Mathworks nhằm tạo ra thư viện ma trận phục vụ cho tính toán.

MATLAB đã trải qua một quá trình phát triển lâu dài và trở thành công cụ mạnh mẽ, được sử dụng rộng rãi tại các trường đại học trên toàn thế giới, đặc biệt là ở Mỹ, Bỉ và Canada Nó là một phần không thể thiếu trong giáo trình từ cơ bản đến nâng cao trong các lĩnh vực như toán học cao cấp, khoa học và kỹ thuật Trong ngành công nghiệp, MATLAB được lựa chọn để nghiên cứu nâng cao hiệu quả sản xuất, phân tích đánh giá và ứng dụng.

MATLAB giúp đơn giản hóa quá trình tính toán, phân tích, thiết kế và mô phỏng trong nhiều lĩnh vực chuyên ngành như Điện, Điện tử, Cơ khí, Cơ điện tử và Vật lý.

- MATLAB là công cụ tính toán rất mạnh, dễ dùng, trực quan, dễ mở rộng và phát triển.

- MATLAB có khả năng liên kết đa môi trường, liên kết dễ dàng với ngôn ngữ lập trình C++, Visual C, FORTRAN, JAVA, …

- MATLAB có khả năng xử lý đồ họa mạnh trong không gian hai chiều và ba chiều.

- Các TOOLBOX trong MATLAB rất phong phú, đa năng, là công cụ nghiên cứu, thiết kế cực kỳ hiệu quả trong các lĩnh vực chuyên ngành.

- Công cụ mô phỏng trực quan SIMULINK chạy trong môi trường MATLAB giúp cho bài toán phân tích thiết kế dễ dàng, sinh động hơn.

- MATLAB có kiến trúc mở, dễ dàng trong việc xây dựng thêm các module tính toán kỹ thuật theo tiêu chuẩn công nghiệp và truyền thống.

Hiện nay, MATLAB cung cấp hàng ngàn lệnh và hàm tiện ích, cho phép người dùng mở rộng môi trường làm việc để giải quyết các bài toán thuộc nhiều lĩnh vực khác nhau Các Toolbox quan trọng như toán sơ cấp, xử lý tín hiệu số, xử lý ảnh, xử lý âm thanh, ma trận thưa và logic mờ mang lại nhiều tiện ích cho người dùng Giao diện phần mềm MATLAB khi khởi động ứng dụng rất thân thiện và dễ sử dụng.

 Tổng quan về cấu trúc dữ liệu của Matlab, các ứng dụng:

Dữ liệu của Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), và có các kiểu dữ liệu được liệt kê sau đây:

CHƯƠNG 5 LỰA CHỌN THIẾT BỊ

Kiểu đơn single là một kiểu dữ liệu tiết kiệm bộ nhớ, vì nó yêu cầu ít byte hơn so với các kiểu khác Tuy nhiên, kiểu này không được sử dụng trong các phép toán học và có độ chính xác thấp hơn.

- Kiểu double: kiểu này là kiểu thông dụng nhất của các biến trong Matlab.

- Kiểu uint8, uint8, uint16, uint64

- Kiểu char, ví dụ “Hello”.

- Trong Matlab kiểu dữ liệu double là kiểu mặc định sử dụng trong các phép tính số học.

Matlab tạo điều kiện thuận lợi cho:

- Các khoá học về toán học.

- Các kỹ sư, các nhà nghiên cứu khoa học.

- Dùng Matlab để tính toán, nghiên cứu tạo ra các sản phẩm tốt nhất trong sản xuất.

Toolbox là công cụ thiết yếu trong Matlab, cho phép người dùng áp dụng các kỹ thuật để phân tích, thiết kế và mô phỏng các mô hình Người dùng có thể dễ dàng tìm thấy toolbox trong môi trường làm việc của Matlab.

Hệ thống giao diện của Matlab bao gồm:

Cửa sổ Command Window là nơi làm việc chính trong MATLAB, nơi người dùng thực hiện việc nhập dữ liệu và xuất kết quả tính toán Dấu nháy >> cho biết chương trình đã sẵn sàng để nhận dữ liệu, và việc nhập dữ liệu sẽ được hoàn tất khi nhấn phím Enter MATLAB sẽ thực thi lệnh đã nhập và hiển thị kết quả ngay trong Command Window.

Trình soạn thảo là công cụ quan trọng dùng để viết và lưu trữ các file code, đặc biệt cho bộ điều khiển Sau khi hoàn thành việc viết code, người dùng có thể dễ dàng lưu lại để sử dụng sau này.

The Command History feature records all commands entered in the Command Window, allowing users to review past commands using the scroll bar or by double-clicking on a command to execute it again Additionally, users can cut, paste, and delete commands as needed.

Trong MATLAB, Workspace browser là công cụ hiển thị tất cả các biến đang được sử dụng, cung cấp thông tin chi tiết về kích thước và loại dữ liệu Người dùng có thể dễ dàng truy cập và chỉnh sửa dữ liệu bằng cách nhấn đúp vào biến, mở ra Array editor để thao tác trực tiếp.

- Launch pad: cho phép người dùng truy cập nhanh vào các bộ Toolbox, phần Help.

Các phép toán trong Matlab:

Phép Toán Ký hiệu Ý nghĩa

Các phép toán số học

Các phép toàn quan hệ

Bảng 5.2 Các phép toán trong Matlab

Thư viện toán học cung cấp nhiều hàm hữu ích, bao gồm các phép tính cơ bản như tính tổng, sin, cosin, cũng như các phép toán phức tạp như tính ma trận nghịch đảo, trị riêng, và các phép biến đổi Fourier, Laplace Thêm vào đó, thư viện còn hỗ trợ các tính toán biểu tượng, giúp người dùng thực hiện các phép toán một cách dễ dàng và hiệu quả.

CHƯƠNG 5 LỰA CHỌN THIẾT BỊ

Ngôn ngữ Matlab là một ngôn ngữ lập trình mạnh mẽ chuyên về ma trận và mảng, cho phép lập trình viên sử dụng các dòng lệnh, hàm và cấu trúc dữ liệu, đồng thời hỗ trợ lập trình hướng đối tượng Matlab cũng cung cấp khả năng đồ họa 2D và 3D, cho phép tạo ra hình ảnh động và cung cấp giao diện tương tác giữa người dùng và máy tính.

Giao tiếp với các ngôn ngữ khác: Matlab cho phép tương tác với các ngôn ngữ khác như C, Fortran …

 Giới thiệu về Matlab/Simulink

MATLAB là phần mềm máy tính được phát triển bởi MATHWORKS, hỗ trợ tính toán trong lĩnh vực khoa học và kỹ thuật, với các phần tử cơ bản là ma trận.

MATLAB cung cấp hàng trăm lệnh và tập lệnh, với sự mở rộng liên tục nhờ vào các phần TOOLBOX và hàm ứng dụng được phát triển cho người dùng.

MATLAB có hơn 25 TOOLBOX để khảo sát hầu hết những vấn đề về khoa học, kỹ thuật.

Hình 5.13 Giao diện Matlab – Simulink

 Chức năng các khối dùng để mô phỏng trong báo cáo:

Khối mô phỏng Vị trí và chức năng

Khối Subsystem nằm trong khối tổng quát Ports & Subsytem Đại diện cho một hệ thống con chứa trong nó.

Khối In nằm trong khối tổng quát Ports & Subsytem. Đóng vai trò liên kết từ bên ngoài vào hệ thống.

Khối Out nằm trong khối tổng quát Ports & Subsytem Là cổng đầu ra cho hệ thống con.

Khối Gain nằm trong khối tổng quát MathOperations, dùng để khuếch đại biên độ của tín hiệu.

CHƯƠNG 5 LỰA CHỌN THIẾT BỊ

Khối Scope nằm trong khối tổng quát Sinks, dùng để hiển thị dạng sóng của tín hiệu.

Khối Integrator nằm trong khối tổng quát Continuous Khối Tích phân tích hợp đầu vào của nó và được sử dụng với các tín hiệu thời gian liên tục.

Khối Mux, thuộc khối tổng quát Signal Routing, có nhiệm vụ kết hợp các đầu vào có cùng kiểu dữ liệu và độ phức tạp để tạo thành một vectơ đầu ra.

Khối Demux, thuộc khối tổng quát Signal Routing, có nhiệm vụ trích xuất các thành phần của tín hiệu vector đầu vào và phát ra các tín hiệu riêng biệt Các cổng tín hiệu đầu ra được sắp xếp theo thứ tự từ trên xuống dưới.

KẾT QUẢ THỰC NGHIỆM

Mô hình thực nghiệm

đến thể hiện mô hình thực nghiệm của hệ 2L-A khi điều khiển hệ thống ở vị trí MID

Hình 6.1 Mô hình thực nghiệm Acrobot 2 - Link

Hình 6.2 Các thiết bị bên trong mô hình Acrobot 2 - Link

Hình 6.3 Mặt bên phải mô hình Acrobot 2 - Link

Chú thích các thiết bị sử dụng:

(2): Mạch điều khiển động cơ DC BTS7960 43A

(6): Động cơ giảm tốc JGA25-370

Kết quả thực nghiệm

Thông số chuẩn: so sánh giữa thông số chuẩn và thông số khi chưa điều khiển:

 Chưa có bộ điều khiển:

CHƯƠNG 6: KẾT QUẢ THỰC NGHIỆM

Hình 6.4 Thông số mô hình khi không có bộ điều khiển

Trước khi sử dụng bộ điều khiển PD, khi tác động vào link 1 với góc θ 1 khoảng 20°, link 1 sẽ dao động tắt dần quanh điểm làm việc, trong khi link 2 giữ cố định với θ 2 = 0 Với thời gian lấy mẫu T = 0,1 giây, mô hình cần khoảng 20 đến 25 giây để trở lại điểm làm việc ban đầu, tức là khi θ 1 và θ 2 đều bằng 0.

Hình 6.5 Thông số mô hình link hai khi không có bộ điều khiển

Khi không có bộ điều khiển, việc tác động vào link 2 với góc θ 2 khoảng 20° khiến link 2 không thể trở về vị trí làm việc do thiếu lực tác động, trong khi đó link 1 chỉ dao động nhẹ rồi trở lại vị trí ban đầu.

Hình 6.6 Thông số mô hình link một khi có bộ điều khiển

Khi gắn bộ điều khiển vào mô hình, tác động một góc θ 1 ≈ 20° lên link 1, động cơ sẽ xoay với vận tốc v, tạo lực tác động lên link 2 để đưa mô hình trở về vị trí làm việc Quá trình dao động của link 1 và link 2 sẽ tắt dần trong khoảng 5s – 6s Nhờ có bộ điều khiển, thời gian để link 1 và link 2 trở về vị trí làm việc ban đầu giảm xuống còn khoảng 15s – 17s so với khi không có bộ điều khiển.

Hình 6.7 Thông số mô hình link hai khi có bộ điều khiển

Khi gắn bộ điều khiển vào mô hình, tác động vào link 2 một góc θ 2 ≈20°, link

Bộ điều khiển PD đã giúp hai link nhanh chóng trở lại vị trí làm việc chỉ trong khoảng 2 đến 3 giây, với dao động nhỏ trong quá trình hoạt động.

CHƯƠNG 6: KẾT QUẢ THỰC NGHIỆM link 1 về vị trí cân bằng nhanh hơn dù có làm tác động link 2 dao động nhiều hơn để ổn định đồng thời được cả 2 link.

Khi tinh chỉnh thông số PD:

 Tăng Kp1 (góc link 1): Kp1 = 8

Hình 6.8 Thông số mô hình khi tăng Kp1 = 8

Tăng Kp1 và tác động vào link 1 với góc θ 1 khoảng 20° dẫn đến việc cả hai link dao động xung quanh điểm làm việc Qua thời gian, dao động này ngày càng lớn và không trở về điểm làm việc ban đầu Điều này cho thấy rằng việc tăng Kp1 có thể ảnh hưởng tiêu cực đến chất lượng điều khiển, và nếu tăng Kp1 quá mức, hệ thống sẽ trở nên mất ổn định.

 Tăng Kd1 (góc link 1): Kd1 = 0.05

Hình 6.9 Thông số mô hình khi tăng Kd1 = 0.05

Tăng Kd1 và tác động vào link 1 với góc θ 1 khoảng 20° dẫn đến sự dao động đều quanh điểm làm việc Mặc dù góc giữa link 1 và link 2 có dấu hiệu nhỏ dần theo thời gian, nhưng không đạt được thời gian như thông số chuẩn Việc tăng Kd1 giúp hệ thống duy trì sự ổn định, tuy nhiên, thời gian xác lập lại kéo dài hơn.

 Tăng Kp2 (góc link 2): Kp2 = 7

Hình 6.10 Thông số mô hình khi tăng Kp2 = 7

Tăng Kp2 = 7, tác động vào link 1 với góc θ1 khoảng 20° Cả hai link đều dao động quanh điểm làm việc nhưng không thể quay trở lại điểm này Trong 8 giây đầu, vận tốc động cơ dao động lớn và dày đặc, sau đó giảm dần và thưa thớt.

CHƯƠNG 6: KẾT QUẢ THỰC NGHIỆM ổn định Như vậy, việc tăng Kp2 cũng làm ảnh hưởng đến chất lượng điều khiển, có thể làm hệ thống mất ổn định.

Hình 6.11 Thông số mô hình khi tăng Kd2 = 2

Khi tăng Kd2 lên 2 và tác động vào link 1 với góc θ1 khoảng 20°, link 1 sẽ dao động tắt dần quanh điểm làm việc Với vận tốc động cơ lớn, dao động liên tục trong thời gian dài khiến link 2 dao động nhanh, dẫn đến góc theta2 thay đổi liên tục và không thể trở lại điểm làm việc Việc tăng Kd2 cũng làm giảm độ ổn định của hệ thống.

Kết luận

Việc ổn định hệ thống chủ yếu phụ thuộc vào các thông số PD được xác định qua thử sai Khi đã có bộ thông số điều khiển ổn định, việc điều chỉnh chất lượng cần chú ý đến Kp1 (không nên quá lớn), Kd1 (tăng giúp hệ thống ổn định hơn nhưng có thể làm tăng thời gian dao động), Kp2 (không nên thay đổi so với thông số chuẩn), và Kd2 (không nên giảm quá mức).

Ngày đăng: 09/11/2022, 08:17

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

TÀI LIỆU LIÊN QUAN

w