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

đồ án chuyên ngành thiết kế và điều khiển mô hình con lắc ngược furuta

32 0 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 đề Thiết kế và điều khiển mô hình con lắc ngược Furuta
Tác giả Nguyễn Anh Đức
Người hướng dẫn TS. Nguyễn Danh Huy
Trường học Trường Đại học Bách khoa Hà Nội
Chuyên ngành Điều khiển và tự động hóa
Thể loại Đồ án chuyên ngành
Năm xuất bản 2020
Thành phố Hà Nội
Định dạng
Số trang 32
Dung lượng 4,66 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN (8)
    • 1.1 Hệ con lắc ngược và bài toán điều khiển (8)
    • 1.2 Đối tượng thực tế (8)
    • 1.3 Mục đích và phương án điều khiển (9)
  • CHƯƠNG 2. MÔ HÌNH HÓA ĐỐI TƯỢNG THỰC TẾ (11)
    • 2.1 Xây dựng mô hình toán học (11)
    • 2.2 Xác định các tham số mô hình (0)
      • 2.2.1 Các tham số xác định trực tiếp (0)
      • 2.2.2 Các tham số xác định gián tiếp (0)
        • 2.2.2.1. Ma sát trục động cơ (0)
        • 2.2.2.2. Ma sát trụ quay con lắc (0)
    • 2.3 Kết luận mô hình và Mô phỏng trên Matlab – Simulink (0)
  • CHƯƠNG 3. THIẾT KỆ BỘ ĐIỀU KHIỂN CHO CON LẮC NGƯỢC (0)
    • 3.1 Giới thiệu về điều khiển trượt (0)
    • 3.2 Thiết kế bộ điều khiển trượt (0)
      • 3.2.1 Khâu Plant (0)
      • 3.2.2 Khâu Controller (13)
      • 3.2.3 Kết quả mô phỏng (18)
    • 3.3 Thiết kế bộ điều khiển Swing - up (20)
      • 3.3.1 Cơ sở lý thuyết (20)
      • 3.3.2 Mở rộng: Bộ điều khiển Swing – up tỉ lệ góc (22)
      • 3.3.3 Thiết kế trên Matlab – Simulink (22)
      • 3.3.4 Chuyển đổi tín hiệu xung encoder sang rad (22)
  • CHƯƠNG 4. XÂY DỰNG CHƯƠNG TRÌNH ĐIỀU KHIỂN CON LẮC NGƯỢC TRÊN MIỀN THỜI GIAN THỰC (23)
    • 4.2 Giới thiệu chung về CARD ghép nối PCI – 1710 (24)
      • 4.2.1 Những đặc điểm đặc trưng (24)
      • 4.2.2 Phần mềm hỗ trợ cho Card PCI – 1710 (26)
  • CHƯƠNG 5. KẾT LUẬN (30)
  • TÀI LIỆU THAM KHẢO (31)
  • PHỤ LỤC (32)

Nội dung

Hệ con lắc ngược thực ra đã được đưa vào nghiên cứu tronglĩnh vực điều khiển tự động từ rất sớm, khoảng từ những năm 50 của thế kỷtrước, nó vốn là đối tượng không ổn định, thường được sử

TỔNG QUAN

Hệ con lắc ngược và bài toán điều khiển

Có hai hệ con lắc ngược thường được sử dụng để nghiên cứu là hệ xe con lắc ngược và hệ con lắc ngược quay ( con lắc ngược Furuta ).

Hình 1 Mô hình con lắc ngược Hai hệ này cơ bản khác nhau ở cơ cấu chấp hành để tạo ra chuyển động cho con lắc: hệ xe con lắc ngược thì là chuyển động chạy ngang của xe, còn ở hệ con lắc ngược quay thì là chuyển động quay của động cơ đặt thẳng đứng Phần chung của cả hai hệ là một thanh cứng (con lắc) được gắn một đầu vào trục quay linh hoạt.

Bài toán đặt ra là điều khiển cơ cấu chấp hành để tạo chuyển động cho con lắc ngược, sao cho đưa được con lắc từ vị trí ban đầu thẳng đứng hướng xuống dưới đến được vị trí cân bằng trên là vị trí thẳng đứng hướng lên, đồng thời phải giữ được nó ổn định tại đó dù có ngoại lực hay nhiễu tác động.

Đối tượng thực tế

Đối tượng được nghiên cứu trong đồ án này là hệ con lắc ngược quay ( con lắc ngược Furuta ) Với cơ cấu cơ khí như hình 1.2, thiết bị chấp hành tạo chuyển động quay là một động cơ DC, thiết bị do bao gồm 2 encoder để xác định góc quay động cơ và góc quay con lắc

Hình 2 Mô hình thực tế con lắc ngược Bảng 1: Thông số các thiết bị trong hệ con lắc ngược

STT Tên thiết bị Thông số

1000 xung/vòng Đầu ra dạng NPN open collector

1000 xung/vòng Đầu ra dạng Totem pole

Mục đích và phương án điều khiển

Từ mô tả bài toán ở mục 1.1, ta có thể thấy mục đích điều khiển là giải quyết hai bài toán sau :

- Bài toán điều khiển swing-up: đưa được con lắc từ vị trí ban đầu ( thẳng đứng hướng xuống ) lên đến lân cận vị trí cân bằng trên.

- Bài toán điều khiển cân bằng: duy trì được hệ ổn định quanh vị trí cân bằng dù chịu tác động của ngoại lực.

Với mỗi bài toán trên ta sẽ xây dựng một bộ điều khiển riêng và mỗi bộ điều khiển sẽ hoạt động trong một giai đoạn khác nhau Cụ thể quá trình hoạt động của hệ thống như sau: Ban đầu con lắc ở vị trí thẳng đứng hướng xuống, khi bắt đầu chạy, bộ điều khiển swing-up sẽ hoạt động trước khiến con lắc dao động, cho đến khi vị trí con lắc đến vùng lân cận vị trí cân bằng trên thì bộ điều khiển swing-up ngừng hoạt động, đồng thời bộ điều khiển cân bằng bắt đầu hoạt động để đưa con lắc tới vị trí cân bằng và duy trì nó ổn định tại vị trí đó. Ngoài hai bộ điều khiển trên, với cơ cấu chấp hành để tạo chuyển động cho con lắc ở đây là một động cơ DC, do đó ta cần xây dựng thêm một vòng điều khiển phía trong để điều khiển momen (điều khiển dòng) cho động cơ, giúp động cơ đáp ứng tốt với nhiễu tải, đảm bảo giá trị momen của động cơ luôn đáp ứng đúng với tín hiệu đầu ra của bộ điều khiển con lắc.

Cấu trúc hệ thống điều khiển cho con lắc ngược có thể được mô tả như hình 1.3, gồm hai vòng điều khiển, với vòng ngoài là bộ điều khiển con lắc (bộ điều khiển swing-up và bộ điều khiển cân bằng thay nhau hoạt động), vòng trong là bộ điều khiển momen cho động cơ Chi tiết cách xây dựng từng bộ điều khiển sẽ được trình bày ở các chương sau.

Hình 3 Cấu trúc hệ thống điều khiển con lắc ngược

MÔ HÌNH HÓA ĐỐI TƯỢNG THỰC TẾ

Xây dựng mô hình toán học

Hình 4 Mô hình đơn giản hệ con lắc ngược Furuta

Hệ con lắc ngược Furuta (chỉ gồm phần cơ khí) được mô tả một cách đơn giản như trong hình 2.1 Hệ bao gồm: một tay quay (OA) nằm ngang, chiều dài l0 được gắn vuông góc với trục động cơ, khi động cơ quay sẽ khiến thanh này quay trong mặt phẳng nằm ngang; con lắc có khối lượng m, chiều dài 2l1, gắn tại

A và có thể quay linh hoạt trong mặt phẳng vuông góc với.

Một số đại lượng khác cần quan tâm:

- J0 : momen quán tính của tay quay với trục quay qua tâm O.

- J1 : momen quán tính của con lắc với khối tâm B.

Xét trong hệ tọa độ Oxyz cố định như hình 2.1, θ và α được sử dụng là các hệ tọa độ suy rộng Tại một thời điểm, khi cánh tay quay được một góc θ so với trục Ox, thì con lắc rời đi một góc α so với phương thẳng đứng.

Giả sử trọng lực của con lắc đặt tại điểm giữa B Tọa độ khối tâm B của con lắc:

{ x B =l 0 cos ( θ ) +l 1 sin (α)sin (θ) y B =l 0 sin(θ)−l 1 sin (α)cos (θ) z B =l 1 cos(α)

(2.1) Đạo hàm hai vế của (2.1) ta được :

{ ˙x ˙y B B =−l =l 0 0 cos sin ( θ ( θ ) ) ˙θ−l ˙θ+l 1 1 ˙z cos cos B =−l ( ( α α 1 ) sin ) cos sin ( ( ( θ θ α ) ) ) α+l α ˙α +l ˙ ˙ 1 1 sin sin ( ( α α ) ) cos sin ( ( θ θ ) ) ˙θ ˙θ (2.2)

Suy ra được vận tốc của khối tâm B của con lắc : v1

2sin 2 (α)˙θ 2 +l 1 2 ˙α 2 −2l 0 l 1 cos (α) ˙α ˙θ (2.3) Động năng của hệ :

Chọn mốc thế năng T = 0 tại vị trí cao nhất của con lắc ngược Ta có thế năng của hệ được tính toán như sau :

Từ (2.5) và (2.6) ta có được công thức hàm Lagrange :

Gọi u là momen tác dụng của động cơ. Áp dụng công thức :

Ta có hệ phương trình động lực học sau : f1 = (m*lo*lc*cos(phi)*(0.5*m*lc^2*sin(2*phi)*x_dot^2

+ m*g*lc*sin(phi) - b1*phi_dot) - (m^lc^2 +

J1)*(m*lc^2*sin(2*phi)*phi_dot*x_dot + m*lo*lc*sin(phi)*phi_dot^2 + b0*x_dot)) / Denta; g1 = (m^lc^2 + J1) / Denta; f2 = ((m*lo^2 + m*lc^2*sin(phi)^2 +

J0)*(0.5*m*lc^2*sin(2*phi)*x_dot^2 + m*g*lc*sin(phi) - b1*phi_dot) -

(m*lo*lc*cos(phi))*(m*lc^2*sin(2*phi)*phi_dot*x_dot + m*lo*lc*sin(phi)*phi_dot^2 + b0*x_dot)) / Denta; g2 = (m*lo*lc*cos(phi)) / Denta;

Hệ (3.2) bao gồm 4 hệ con và một tín hiệu điều khiển u Bài toán thiết kế ở đây là xác định tín hiệu điều u để đưa các biến trạng thái về điểm cân bằng ôn định.

Hình 8 Sơ đồ cấu trúc điều khiển trượt tầng Ở mỗi bước ta xác định được tín hiệu điều khiển ảo ui đảm bảo cho hệ con thứ i các hệ con trước đó ổn định theo Lyapunov, tín hiệu điều khiển u cần tìm được xác định như sau :

Bước 1: Từ (3.2), ta có mô hình của hệ con thứ nhất :

Ta xác định tín hiệu điều khiển ảo u1 để x1 quay về gốc tọa độ khi có nhiễu đánh bật khỏi điểm cân bằng. Để làm được điều này, ta định nghĩa mặt trượt s 1 : s c 1 = 1 x 1 +x 2 (3.4) với c 1 là hằng số dương. ˙s c1=1˙x1+ ˙x2 ¿c1x2+f1+g1u1 ¿c1x2+ f1+g1(ueq1+usw1) ¿c 1 x 2 +f 1 +g 1 u eq1 −k 1 s 1 −η 1 sgn (s 1 )+k 1s 1 +η 1 sgn(s 1 )+g 1u sw1 ¿−k 1 s 1 −η 1 sgn(s1)

Từ (3.5) ta xác định được : u eq1 =−c 1 x 2 +f 1 g1

Bước 2: Mặt trượt S 2 được thiết kế cho hệ con thứ nhất và hệ con thứ hai dựa trên mặt trượt đã thiết kế cho hệ con thứ nhất S 2 được định nghĩa như sau :

Với: S1≡s1 (vì s1 là mặt trượt của bước thiết kế đầu tiên), λ1, β1, c2 là hằng số dương Ta phải xác định tín hiệu điều khiển u để đưa mặt trượt S2→0 Do vậy ta định hàm Lyapunov cho Bước 2 như sau:

2¿ (3.9) Đạo hàm theo thời gian của (3.9) ta có :

Từ (3.2) và (3.5) ta có: ˙S2= λ1˙S1+β1˙s2 ¿λ 1 (c 1x 2 + f 1 +g 1 u)+ β 1(c 2x 4 +f 2 +g 2 u) ¿λ1 ( c 1 x 2 +f 1 +g 1 ( u eq1 +u sw1 + u eq2 +u sw2 ) ) +¿ β1 ( c 2x4+f2+g2(ueq1+usw1+ueq 2+usw2)) ¿λ 1 (c 1 x 2 + f 1 +g 1 u eq1 )+ β 1 (c 2 x 4 + f 2 + g 2 u eq2 )+¿ λ1g1ueq2+ β1g u2 eq 1+(λ1g1+β1g2) (usw1+usw2)+¿ k 2 S 2 +η 2 sgn(S 2 )−k 2S 2 −η 2 sgn(S 2 ) ¿−k 2 S 2 −η 2 sgn (S 2 )

Các điều kiện trong (3.11), ta xác định được u eq2 và u sw2 : u eq2 =−c2x4+f2 g2

(3.13) và: u sw2 =−u sw1 −λ 1 g 1 u eq 2 +β 1 g u 2 eq1 +k 2 S η sgn 2 + 2 (S 2) λ1g1+β1g2

Thế tín hiệu điều khiển (3.6) và (3.13) vào (3.14), ta thu được luật điều khiển trượt tầng là : u=u eq1 +u sw1 +u eq 2 +u sw2 ¿−λ 1 f 1 (X)+β 1 f 2 (X)+ λ 1 c 1 x 2 +β 1 c x 2 4 +k 2 S 2 +η 2 sgn(S 2 ) λ1g1(X)+β1g2( )X (3.15)

Bước 3: Để giảm hiện tượng Chattering, hàm sat được đề xuất thay thế cho hàm dấu sgn :

File “sat.m”: function y = sat(s) if abs(s)>1 y = sign(s); else y = s; end

Hình 9 Mô hình Simulink của bộ điều khiển

File “controller.m”: function u = controller(y) global lo lc g m anpha beta epsilon c1 c2 k xd J0 J1 b0 b1

%%Input x = y(1); x_dot = y(2); phi = y(3); phi_dot = y(4);

%%Sliding Mode Control e1 = x-xd; e2 = x_dot; e3 = phi; e4 = phi_dot; s1 = c1*e1+e2; s2 = c2*e3+e4; s = anpha*s1+beta*s2;

Denta = J0*J1 + m^2*lc^4*sin(phi)^2 + m^2*lo^2*lc^2 +

J0*m*lc^2 + J1*m*lo^2 + J1*m*lc^2*sin(phi)^2 - m^2*lo^2*lc^2*cos(phi)^2; f1 = (m*lo*lc*cos(phi)*(0.5*m*lc^2*sin(2*phi)*x_dot^2

+ m*g*lc*sin(phi) - b1*phi_dot) - (m^lc^2 +

J1)*(m*lc^2*sin(2*phi)*phi_dot*x_dot + m*lo*lc*sin(phi)*phi_dot^2 + b0*x_dot)) / Denta; g1 = (m^lc^2 + J1) / Denta; f2 = ((m*lo^2 + m*lc^2*sin(phi)^2 +

J0)*(0.5*m*lc^2*sin(2*phi)*x_dot^2 + m*g*lc*sin(phi) - b1*phi_dot) -

(m*lo*lc*cos(phi))*(m*lc^2*sin(2*phi)*phi_dot*x_dot + m*lo*lc*sin(phi)*phi_dot^2 + b0*x_dot)) / Denta; g2 = (m*lo*lc*cos(phi)) / Denta;

%%Output u = -(anpha*f1+beta*f2+anpha*c1*e1 + beta*c2*e4 + epsilon*sat(s) + k*s) / (anpha*g1 + beta*g2); end

Hình 10 Vị trí quay của động cơ

Hình 11 Vận tốc quay của động cơ

Hình 12 Góc lắc của con lắc ngược

A ng le v el oc it y (r ad /s )

Hình 13 Vận tốc góc của con lắc ngược

3.3 Thiết kế bộ điều khiển Swing - up

Nhiệm vụ của bộ điều khiển swing-up là phá vỡ sự cân bằng bền của con lắc ở vị trí cân bằng dưới và nhanh chóng đưa con lắc tới được vùng lân cận cân bằng phía trên (αϵ(−20 20 o , o )) Ta có công thức tính năng lượng của con lắc khi lệch một góc α và tốc độ góc là và tốc độ góc là ˙α là:

2J ˙α 2 +mgl 1 (cos(α)−1) (3.17) Với J là momen quán tính của con lắc so với tâm quay (J =J1+ml 2) Ở đây ta chọn mốc tính thế năng là vị trí cao nhất của con lắc (vị trí cân bằng phía trên) Khi con lắc đứng yên tại vị trí cân bằng trên thì năng lượng khi đó sẽ là E 0=0 Tại thời điểm ban đầu, con lắc ở vị trí cân bằng dưới và chưa chuyển động, khi đó nó có năng lượng thấp nhất là E min =−2 mgl 1 Nguyên tắc hoạt động của bộ điều khiển Swing-up là: Dựa trên năng lượng hiện tại của con lắc, tính toán đưa tín hiệu điều khiển ra động cơ một cách hợp lý, đúng cả về độ lớn và hướng tác động, qua đó bổ sung năng lượng cho con lắc để nó từ Eminđạt được mức năng lượng E0 Ta sẽ xây dựng công thức tính bộ điều khiển như sau: Đạo hàm phương trình (3.17) ta được:

Thành phần ma sát nhỏ nên ta có thể bỏ qua trong công thức (3.19):

2ml 1 2 sin(2 α)˙α ˙θ 2 (3.20) Mặt khác ta có phương trình động học của momen đầu trục động cơ:

Trong đó JΣ là tổng momen quán tính cả hệ sọ với trục quay đông cơ (bao gồm cả momen của hệ tay quay và con lắc):

2+ml1 2sin 2 (α) Thay (3.21) vào (3.20) ta có:

Theo nguyên lý ổn định Lyapunov: V =1

2E 2 Ta chọn được tín hiệu điều khiển τ để V˙ xác định âm: τ =−kEsign(˙α cos α)−J Σ l 1 sin(α) l0 ˙θ 2 =−τ 1 −τ 2 (k >0) (3.23) Với τ như trên ta có:

Chú ý hàm sign() ở đây ta quy ước khác một chút với định nghĩa:sign(0)=1.

Ta thấy hàm V˙ bán xác định âm và có thể bằng 0 tại vị trí α=± 90 o , tuy nhiên thực tế con lắc không thể duy trì ổn định ở vị trí này, do đó tín hiệu điều khiển luôn có xu hướng đưa hệ về vị trí cân bằng (E=0) Xét thấy khi chạy thực tế thành phần τ 2 trong (3.23) thường rất nhỏ so với τ 1 , do đó ta có thể sử dụng công thức điều khiển đơn giản như sau: τ =−kEsign( ˙αcosα) (3.25)

Thay τ =k ti A ta được công thức tính iđk đưa về bộ điều khiển dòng như sau: iđk=−kswEsign (αcosα˙ )(ksw>0) (3.26)

3.3.2 Mở rộng: Bộ điều khiển Swing – up tỉ lệ góc

Nhận thấy khi con lắc dao động, năng lượng E của con lắc sẽ tỷ lệ với độ lớn của góc α, tại mỗi chu kỳ, lúc đến được vị trí cao nhất là khi con lắc tích trữ được năng lượng lớn nhất Do đó ta có thể thay thế E ở công thức (3.25) bởi hàm

|α n |mà không làm thay đổi nguyên tắc hoạt động của bộ điều khiển, chỉ khác hệ số ksw sẽ được thay đổi cho phù hợp Cụ thể tín hiệu điều khiển sẽ được tính theo công thức mới như sau: iđk=ksw|α n |sign(˙αcosα)(ksw>0) (3.27)

3.3.3 Thiết kế trên Matlab – Simulink

Sử dụng công thức (3.27) ta tính được tín hiệu điều khiển của bộ điều khiển swing-up theo phương pháp năng lượng Sơ đồ bộ điều khiển trong khối Swing- up Controller sẽ có dạng như hình 14 với ksw=0.3.

Hình 14 Sơ đồ bộ điều khiển Swing – up

3.3.4 Chuyển đổi tín hiệu xung encoder sang rad

360 Với góc teta : θϵ(0 ;2 π) và góc alpha : α ϵ(−π;0)∪(0; π)

CHƯƠNG 4 XÂY DỰNG CHƯƠNG TRÌNH ĐIỀU KHIỂN CON LẮC NGƯỢC TRÊN MIỀN THỜI GIAN THỰC 4.1 Mô hình vật lý hệ thống điều khiển con lắc ngược

Hình 16 Sơ đồ kết nối phần cứng hệ thống

Bộ khuếch đại công suất nhận tín hiệu điều khiển từ máy tính qua Card ghép nối Advantech PCI - 1710 rồi cấp nguồn cho động cơ một chiều để thực hiện quay động cơ với điện áp U đm$ VDC.

Cảm biến góc quay của cần lắc và cảm biến vị trí tay quay của động cơ chuyển đổi giá trị góc quay của cần lắc và giá vị trí của xe goòng thành tín hiệu áp qua Card ghép nối PCI – 1710 đưa tới máy tính xử lý Chương trình điều khiển con lắc ngược trên miền thời gian thực được xây dựng trên phần mềm Matlab-Simulink.

4.2 Giới thiệu chung về CARD ghép nối PCI – 1710

THIẾT KỆ BỘ ĐIỀU KHIỂN CHO CON LẮC NGƯỢC

Thiết kế bộ điều khiển Swing - up

Nhiệm vụ của bộ điều khiển swing-up là phá vỡ sự cân bằng bền của con lắc ở vị trí cân bằng dưới và nhanh chóng đưa con lắc tới được vùng lân cận cân bằng phía trên (αϵ(−20 20 o , o )) Ta có công thức tính năng lượng của con lắc khi lệch một góc α và tốc độ góc là và tốc độ góc là ˙α là:

2J ˙α 2 +mgl 1 (cos(α)−1) (3.17) Với J là momen quán tính của con lắc so với tâm quay (J =J1+ml 2) Ở đây ta chọn mốc tính thế năng là vị trí cao nhất của con lắc (vị trí cân bằng phía trên) Khi con lắc đứng yên tại vị trí cân bằng trên thì năng lượng khi đó sẽ là E 0=0 Tại thời điểm ban đầu, con lắc ở vị trí cân bằng dưới và chưa chuyển động, khi đó nó có năng lượng thấp nhất là E min =−2 mgl 1 Nguyên tắc hoạt động của bộ điều khiển Swing-up là: Dựa trên năng lượng hiện tại của con lắc, tính toán đưa tín hiệu điều khiển ra động cơ một cách hợp lý, đúng cả về độ lớn và hướng tác động, qua đó bổ sung năng lượng cho con lắc để nó từ Eminđạt được mức năng lượng E0 Ta sẽ xây dựng công thức tính bộ điều khiển như sau: Đạo hàm phương trình (3.17) ta được:

Thành phần ma sát nhỏ nên ta có thể bỏ qua trong công thức (3.19):

2ml 1 2 sin(2 α)˙α ˙θ 2 (3.20) Mặt khác ta có phương trình động học của momen đầu trục động cơ:

Trong đó JΣ là tổng momen quán tính cả hệ sọ với trục quay đông cơ (bao gồm cả momen của hệ tay quay và con lắc):

2+ml1 2sin 2 (α) Thay (3.21) vào (3.20) ta có:

Theo nguyên lý ổn định Lyapunov: V =1

2E 2 Ta chọn được tín hiệu điều khiển τ để V˙ xác định âm: τ =−kEsign(˙α cos α)−J Σ l 1 sin(α) l0 ˙θ 2 =−τ 1 −τ 2 (k >0) (3.23) Với τ như trên ta có:

Chú ý hàm sign() ở đây ta quy ước khác một chút với định nghĩa:sign(0)=1.

Ta thấy hàm V˙ bán xác định âm và có thể bằng 0 tại vị trí α=± 90 o , tuy nhiên thực tế con lắc không thể duy trì ổn định ở vị trí này, do đó tín hiệu điều khiển luôn có xu hướng đưa hệ về vị trí cân bằng (E=0) Xét thấy khi chạy thực tế thành phần τ 2 trong (3.23) thường rất nhỏ so với τ 1 , do đó ta có thể sử dụng công thức điều khiển đơn giản như sau: τ =−kEsign( ˙αcosα) (3.25)

Thay τ =k ti A ta được công thức tính iđk đưa về bộ điều khiển dòng như sau: iđk=−kswEsign (αcosα˙ )(ksw>0) (3.26)

3.3.2 Mở rộng: Bộ điều khiển Swing – up tỉ lệ góc

Nhận thấy khi con lắc dao động, năng lượng E của con lắc sẽ tỷ lệ với độ lớn của góc α, tại mỗi chu kỳ, lúc đến được vị trí cao nhất là khi con lắc tích trữ được năng lượng lớn nhất Do đó ta có thể thay thế E ở công thức (3.25) bởi hàm

|α n |mà không làm thay đổi nguyên tắc hoạt động của bộ điều khiển, chỉ khác hệ số ksw sẽ được thay đổi cho phù hợp Cụ thể tín hiệu điều khiển sẽ được tính theo công thức mới như sau: iđk=ksw|α n |sign(˙αcosα)(ksw>0) (3.27)

3.3.3 Thiết kế trên Matlab – Simulink

Sử dụng công thức (3.27) ta tính được tín hiệu điều khiển của bộ điều khiển swing-up theo phương pháp năng lượng Sơ đồ bộ điều khiển trong khối Swing- up Controller sẽ có dạng như hình 14 với ksw=0.3.

Hình 14 Sơ đồ bộ điều khiển Swing – up

3.3.4 Chuyển đổi tín hiệu xung encoder sang rad

360Với góc teta : θϵ(0 ;2 π) và góc alpha : α ϵ(−π;0)∪(0; π)

XÂY DỰNG CHƯƠNG TRÌNH ĐIỀU KHIỂN CON LẮC NGƯỢC TRÊN MIỀN THỜI GIAN THỰC

Giới thiệu chung về CARD ghép nối PCI – 1710

Card Advantech PCI - 1710 là một card có khả năng mạnh trong việc thu thập dữ liệu cho các bus PCI Nó vẽ những nét nổi bật của dự án mạch điện và hoàn thành các hàm cho việc thu thập dữ liệu và điều khiển PCI - 1710 cung cấp những hàm đặc biệt cho những yêu cầu khác nhau của người sử dụng.

4.2.1 Những đặc điểm đặc trưng

Card Advantech PCI - 1710 cung cấp cho người sử dụng với nhiều yêu cầu đo lường và các hàm điều kiện như sau:

- 16 kênh Single Ended đầu vào A/D

- 12 bit sự biến đổi A/D với tần số định mức 100 KHz

- Các chương trình đếm và cài đặt thời gian

Card Advantech PCI - 1710 đưa ra những đặc trưng chính:

Hàm Plug and Play ( cắm và chạy ): Advantech PCI - 1710 là một thiết bị cắm và chạy, nó tuân theo đầy đủ so với PCI specifi cationRev 2.1 (đặc trưng PCI Rev 2.1) Xuyên suốt card này, tất cả các bản vẽ có thể được ngắt để thuận tiện cho việc chinh sửa các hàm Plug and Play.

Kiểu đầu vào linh hoạt và thứ tự cài đặt: PCI – 1710 đặc trưng một kênh tự động, mạch quét khuyếch đại Mạch thiết kế này điều khiển chuyển mạch tự dồn kênh trong suốt quá trình trích mẫu Người sử dụng có thể đặt các giá trị khuyếch đại khác nhau cho mỗi kênh phù hợp với mong muốn của họ để hiệu chỉnh đúng thứ tự điện áp đầu vào Vì vậy sự lựa chọn việc cài đặt giá trị khuyếch đại được lưu giữ ở trên SRAM Mưu đồ linhh oạt này có thể kích hoạt được nhiều kênh và tốc độ thử cao cho việc thu thập dữ liệu chất lượng cao ( trên

Bảng nhớ FIFO ( vào trước, ra trước ): PCI - 1710 cung cấp một vùng đệm nhớ FIFO : tấm bảng dự trữ hơn 1 đến 1k mẫu thử A/D. Người sử dụng có thể có khả năng khác hoặc mất khả năng yêu cầu các đặc trưng gián đoạn của bộ đệm FIFO Trong khi yêu cầu gián đoạn cho FIFO là có thể, người sử dụng được cho phép định rõ khi nào một yêu cầu gián đoạn sẽ được gửi đi ở mỗi chu kỳ trích mẫu hay chỉ khi vùng đệm FIFO đã bão hòa Đặc trưng có lợi này có thể kích hoạt một bộ truyền dữ liệu liên tục ở tốc độ cao với nhiều hơn chất lượng đoạn trước trên hệ thống thao tác.

Lựa chọn đầu ra D/A một cách tiết kiệm: PCI - 1710 đi xa hơn với 2 kênh đầu ra tương tự.

16 đầu vào số và 16 đầu ra số: PCI - 1710 cung cấp 16 kênh đầu vào số và 16 kênh ra số , người sử dụng phải thay đổi linh động so với dự án và tùy chỉnh những ứng dụng của họ phù hợp cho nhu cầu đặc trưng riêng của họ.

Bảng bộ đếm chương trình: PCI - 1710 được trang bị với một bộ đếm chương trình, nó có thể phục vụ như là một bộ kích hoạt nhịp xung cho bộ biến đổi A/D Vi mạch đếm này là 82C54 hoặc một cái đương lượng như nó, nó kết hợp chặt chẽ ba bộ đếm 16 bit với một xung 10 MHz Một trong ba bộ đếm được sử dụng như một bộ đếm biến cố cho kênh đầu vào hoặc phát xung, 2 bộ còn lại được ghép tầng với nhau thành một bộ timer 32 bit cho bộ kích hoạt nhịp xung.

4.2.2 Phần mềm hỗ trợ cho Card PCI – 1710

Advantech đưa ra một tập hợp phong phú của DLL, phần mềm ứng dụng nhằm giúp đỡ đầy đủ việc khai thác các hàm của card PCI - 1710, bạn có thể sử dụng các phần mềm ứng dụng Advantech như:

Một biểu đồ đơn giản như Hình 15 đã giúp mô tả mối quan hệ qua lại giữa các lớp khác nhau của phần cứng, OS, driver, phần mềm ứng dụng.

Hình 17 Lựa chọn các chương trình

- DLL driver: Phần mềm Advantech DLL drivers có trên đĩa CD-ROM đi kèm và không thể thay đổi Nó cũng đi cùng với mọi card AdvantechDAS.Đặc điểm của Advantech DLL driver là một thư viện hàm vào raI/O nhằm giúp tăng thêm hiệu quả cho các ứng dụng của bạn Advantech phát triển như Visual C++, Visual Basic, InpriseC ++ Builaler và Inprise Delphi

- Advantech Delphi DAQ: Active DAQ cung cấp một lựa chọn thêm vào điều khiển Active X và thư viện các hàm cho sử dụng tất cả các hàm thu thập dữ liệu.Nó đặc trưng bởi một giao diện chương trình biểu tượng đồ họa cơ bản, VBA ngôn ngữ chính phù hợp, Excel- like một báo cáo chung Với điều khiển Active DAQ bạn có thể phát triển ứng dụng DAQ của bạn với công cụ chương trình yêu thích của bạn, cho dù nó là Visual Basic, Visual C , Delphi, C++ ++ Builder, Access or Excel Labview và HPVEE cũng được ứng dụng Thêm vào nữa Active DAQ cũng cung cấp sự thu thập khác để dễ dàng sử dụng Visual Busic điều khiển việc thu thập dữ liệu cho card DAS.

- Advantech Geni DAQ: Là một phần mềm có cơ sở của Windows để phát triển các gói thu nhận, điều khiển, phân tích và trình bày dữ liệu Thêm vào đó các hàm HMI đặc trưng của chúng, Geni DAQ được tăng cường xa hơn trong môi trường chương trình Visual Basic để giảm bớt khúc mắc trong việc thiết kế và ứng dụng phức tạp, bao hàm các nhánh tính toán và phân tích với môi trường chương trình Visual Basic, tùy chỉnh một hệ thống ứng dụng cho những mục đích đặc biệt thành một bộ phận của khối nhỏ Phiên bản mới 32 bit của Geni DAQ phù hợp với PCI - 1710.

- Labview driver: Advantech cung cấp cho người sử dụng một bản chạy cho Matianal Instaments Labview Bản chạy Labview 32 bit này phù hợp với Window 95/98 và Windows NT 4.0, ảnh hưởng đến cả tiềm lực thu thập dữ liệu ở hai tốc độ cao và bình thường của card của bạn.

Hình 18 Sơ đồ khối CAD PCI - 1710 Để xây dựng chương trình điều khiển đối tượng thực trong chế độ thời gian thực trong đề tài sử dụng phần mềm Matlab – Simulink Trong rất nhiều các ứng dụng khỏc nhau của phần mềm này cú cụng cụ ôReal-Time Windows Targetằ,trong đó có các khối vào, ra tương tự và số cho phép kết nối chương trình điều khiển trong môi trường Matlab – Simulink với đối tượng điều khiển bên ngoài thông qua card ghép nối nhận và xử lý tín hiệu từ các cảm biến, chương trình điều khiển được khối ra đưa qua card ghép nối tác động lên đối tượng điều khiển bên ngoài Tất cả các thao tác trên được thực hiện trong chế độ thời gian thực Card ghép nối sử dụng trong đề tài là loại PCI - 1710 của hãng Advantech (Đài loan) với 16 đầu vào số, 16 đầu ra số, 16 đầu vào analog và 2 đầu ra analog , ADC converter độ phân giải 12 bit và được thể hiện ở Hình 17.

Ngày đăng: 13/06/2024, 10:13

HÌNH ẢNH LIÊN QUAN

Hình 1 Mô hình con lắc ngược Hai hệ này cơ bản khác nhau ở cơ cấu chấp hành để tạo ra chuyển động cho con lắc: hệ xe con lắc ngược thì là chuyển động chạy ngang của xe, còn ở hệ con lắc ngược quay thì là chuyển động quay của động cơ đặt thẳng đứng - đồ án chuyên ngành thiết kế và điều khiển mô hình con lắc ngược furuta
Hình 1 Mô hình con lắc ngược Hai hệ này cơ bản khác nhau ở cơ cấu chấp hành để tạo ra chuyển động cho con lắc: hệ xe con lắc ngược thì là chuyển động chạy ngang của xe, còn ở hệ con lắc ngược quay thì là chuyển động quay của động cơ đặt thẳng đứng (Trang 8)
Hình 2 Mô hình thực tế con lắc ngược Bảng 1: Thông số các thiết bị trong hệ con lắc ngược - đồ án chuyên ngành thiết kế và điều khiển mô hình con lắc ngược furuta
Hình 2 Mô hình thực tế con lắc ngược Bảng 1: Thông số các thiết bị trong hệ con lắc ngược (Trang 9)
Hình 3 Cấu trúc hệ thống điều khiển con lắc ngược - đồ án chuyên ngành thiết kế và điều khiển mô hình con lắc ngược furuta
Hình 3 Cấu trúc hệ thống điều khiển con lắc ngược (Trang 10)
Hình 4 Mô hình đơn giản hệ con lắc ngược Furuta - đồ án chuyên ngành thiết kế và điều khiển mô hình con lắc ngược furuta
Hình 4 Mô hình đơn giản hệ con lắc ngược Furuta (Trang 11)
Hình 8 Sơ đồ cấu trúc điều khiển trượt tầng - đồ án chuyên ngành thiết kế và điều khiển mô hình con lắc ngược furuta
Hình 8 Sơ đồ cấu trúc điều khiển trượt tầng (Trang 14)
Hình 10 Vị trí quay của động cơ - đồ án chuyên ngành thiết kế và điều khiển mô hình con lắc ngược furuta
Hình 10 Vị trí quay của động cơ (Trang 18)
Hình 11 Vận tốc quay của động cơ - đồ án chuyên ngành thiết kế và điều khiển mô hình con lắc ngược furuta
Hình 11 Vận tốc quay của động cơ (Trang 19)
Hình 13 Vận tốc góc của con lắc ngược - đồ án chuyên ngành thiết kế và điều khiển mô hình con lắc ngược furuta
Hình 13 Vận tốc góc của con lắc ngược (Trang 20)
Hình 14 Sơ đồ bộ điều khiển Swing – up - đồ án chuyên ngành thiết kế và điều khiển mô hình con lắc ngược furuta
Hình 14 Sơ đồ bộ điều khiển Swing – up (Trang 22)
Hình 16 Sơ đồ kết nối phần cứng hệ thống - đồ án chuyên ngành thiết kế và điều khiển mô hình con lắc ngược furuta
Hình 16 Sơ đồ kết nối phần cứng hệ thống (Trang 23)
Hình 17 Lựa chọn các chương trình - đồ án chuyên ngành thiết kế và điều khiển mô hình con lắc ngược furuta
Hình 17 Lựa chọn các chương trình (Trang 26)
Hình 18 Sơ đồ khối CAD PCI - 1710 - đồ án chuyên ngành thiết kế và điều khiển mô hình con lắc ngược furuta
Hình 18 Sơ đồ khối CAD PCI - 1710 (Trang 28)
Hình 19 Mô hình Rotary Pendelum - đồ án chuyên ngành thiết kế và điều khiển mô hình con lắc ngược furuta
Hình 19 Mô hình Rotary Pendelum (Trang 32)
Hình 20 Bộ DAQ - đồ án chuyên ngành thiết kế và điều khiển mô hình con lắc ngược furuta
Hình 20 Bộ DAQ (Trang 32)

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

TÀI LIỆU LIÊN QUAN

w