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

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ử

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

ĐỒ ÁN CHUYÊN NGÀNHThiết kế và điều khiểnmô hình con lắc ngược Furuta

NGUYỄN ANH ĐỨCNgành Điều khiển và tự động hóa Chuyên ngành Tự động hóa công nghiệp

HÀ NỘI, 7/2020

Chữ ký của GVHD

Trang 2

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

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

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

2.3 Kết luận mô hình và Mô phỏng trên Matlab – Simulink 15

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

3.1 Giới thiệu về điều khiển trượt 16

3.2 Thiết kế bộ điều khiển trượt 16

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

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

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

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

Trang 3

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

Trang 4

DANH MỤC HÌNH VẼ

Hình 1 Mô hình con lắc ngược 7

Hình 2 Mô hình thực tế con lắc ngược 8

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

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

Hình 5 Dao động tắt dần của con lắc 14

Hình 6 Sơ đồ hệ thống điều khiển trên Simulink 16

Hình 7 Mô hình Simulink đối tượng con lắc ngược 18

Hình 8 Sơ đồ cấu trúc điều khiển trượt tầng 19

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

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

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

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

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

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

Hình 15 Khối chuyển xung Encoder sang rad 28

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

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

Hình 18 Sơ đồ khối CAD PCI - 1710 34

Hình 19 Mô hình Rotary Pendelum 38

Hình 20 Bộ DAQ 38

Trang 5

DANH MỤC BẢNG BIỂU

Bảng 1: Thông số các thiết bị trong hệ con lắc ngược 7

5

Trang 6

LỜI NÓI ĐẦU

Trong thực tế ta bắt gặp ngày càng nhiều các hệ thống đặt ra yêu cầu phảigiải quyết bài toán giữ thăng bằng hay chống rung lắc cho hệ Một số ví dụ quenthuộc có thể kể đến hệ xe hai bánh tự cân bằng, hệ gimbal chống rung chocamera, robot di chuyển bằng hai chân Các hệ này mặc dù có kết cấu khác nhauxong mục đích điều khiển nhìn chung đều có nguyên tắc như bài toán điều khiểnhệ con lắc ngược 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ử dụng để kiểm tra khảnăng thực thi và tính hiệu quả của các thuật toán điều khiển Dù đã có từ lâunhưng bài toán điều khiển con lắc ngược vẫn luôn dành được nhiều sự quan tâm,các giải thuật điều khiển mới cho nó vẫn liên tục được ra đời và kiểm nghiệm.

Xuất phát từ những bài toán thực tiễn cuộc sống cũng như tính phù hợpvới chuyên ngành, em quyết tâm lựa chọn đề tài “ Thiết kế và điều khiển mô hìnhcon lắc ngược Furuta ” cho đồ án chuyên ngành của mình Mục đích khi lựa chọnđề tài này là để em có thể vận dụng tối đa những kiến thức, kỹ năng đã có trongsuốt quãng thời gian học tập của mình.

Mục tiêu thực hiện đồ án này là xây dựng một hệ thống điều khiển hoànchỉnh cho hệ con lắc ngược Furuta Chúng em sẽ đi từ khâu mô hình hóa đốitượng thực, sau đó thiết kế và chay kiểm nghiệm các giải thuật điều khiển khácnhau Từng nội dung sẽ được thực hiện và thể hiện trong từng chương của đồ ánnày.

Chương 1: Khái quát về con lắc ngược, đưa ra bài toán và phương án điềukhiển.

Chương 2: Thực hiện mô hình hóa đội tượng và xác định các tham số môhình

Chương 3: Thiết kế bộ điều khiển cho con lắc ngược, mô phỏng Matlab –Simulink.

Trang 7

Chương 5: Kết luận.

7

Trang 8

CHƯƠNG 1 TỔNG QUAN1.1 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ệ xecon 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 chocon lắc: hệ xe con lắc ngược thì là chuyển động chạy ngang của xe, còn ở hệ conlắc ngược quay thì là chuyển động quay của động cơ đặt thẳng đứng Phần chungcủa cả hai hệ là một thanh cứng (con lắc) được gắn một đầu vào trục quay linhhoạ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 conlắc ngược, sao cho đưa được con lắc từ vị trí ban đầu thẳng đứng hướng xuốngdướ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ảigiữ được nó ổn định tại đó dù có ngoại lực hay nhiễu tác động.

1.2 Đố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 ( conlắ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ócquay động cơ và góc quay con lắc

Trang 9

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

Đầu ra dạng NPN open collector3 Encoder conlắc

Nguồn : 5V1000 xung/vòngĐầu ra dạng Totem pole

1.3 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ảiquyế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ânbằng dù chịu tác động của ngoại lực.

9

Trang 10

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ềukhiể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 chocon lắc ở đây là một động cơ DC, do đó ta cần xây dựng thêm một vòng điềukhiển phía trong để điều khiển momen (điều khiển dòng) cho động cơ, giúp độngcơ đá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ình1.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ềukhiể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

Trang 11

CHƯƠNG 2 MÔ HÌNH HÓA ĐỐI TƯỢNG THỰC TẾ2.1 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 đơngiản như trong hình 2.1 Hệ bao gồm: một tay quay (OA) nằm ngang, chiều dàil0 được gắn vuông góc với trục động cơ, khi động cơ quay sẽ khiến thanh nàyquay 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ạiA 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áchệ 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ớitrụ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:

11

Trang 12

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

{˙xB=−l0sin(θ)˙θ+l1cos(α)sin(θ)˙α +l1sin(α)cos(θ)˙θ˙yB=l0cos(θ)˙θ−l1cos(α)cos(θ)α+l˙ 1sin(α)sin(θ)˙θ

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

v1= ˙xB2

2+ ˙zB

Áp dụng công thức :

∂ ˙qi)−∂L∂qiTa có hệ phương trình động lực học sau :

Trang 13

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;

%%Outputy(1) = f1 + g1*u;y(2) = f2 + g2*u;

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.

20

Trang 14

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 :

Trang 15

usw1=−k1s1+η1sgn(s1)g1

Trang 16

usw2=−usw1−λ1g1ueq 2+β1g u2 eq1+k2S η sgn2+ 2 (S2)λ1g1+β1g2

Trang 17

File “sat.m”:

if abs(s)>1 y = sign(s);

%%Sliding Mode Controle1 = x-xd;

e2 = x_dot;e3 = phi;e4 = phi_dot;

24

Trang 18

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;

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

Time (seconds)0

0.10.20.30.40.5

Trang 19

01020304050Time (seconds)

-0.00500.0050.010.015

Trang 20

01020304050Time (seconds)

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 conlắ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ânbằng phía trên (αϵ(−20 20o, o)) Ta có công thức tính năng lượng của con lắc khilệch một góc α và tốc độ góc là và tốc độ góc là ˙α là:

Với J là momen quán tính của con lắc so với tâm quay (J =J1+ml2)

Ở đâ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ânbằ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à E0=0 Tại thời điểm ban đầu, con lắc ở vị trí cân bằng dưới và chưachuyển động, khi đó nó có năng lượng thấp nhất là Emin=−2 mgl1 Nguyên tắchoạ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 conlắ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:

˙

Trang 21

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í α=± 90o, tuynhiên thực tế con lắc không thể duy trì ổn định ở vị trí này, do đó tín hiệu điềukhiể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ựctế thành phần τ2 trong (3.23) thường rất nhỏ so với τ1, do đó ta có thể sử dụngcông thức điều khiển đơn giản như sau:

Thay τ =ktiA ta được công thức tính iđk đưa về bộ điều khiển dòng như sau:28

Trang 22

iđk=−kswEsign (αcosα˙ )(ksw>0) (3.26)

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 theocông thức mới như sau:

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ểnswing-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

Trang 23

Với các khối:

A-Counts to degree: K=3604000

A-Degree to rad: K=2 π36 0

P-Counts to degree: K=360 2004000.19

P-Degree to rad: K=2 π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ỰC4.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 Cardghép

30

Trang 24

nối Advantech PCI - 1710 rồi cấp nguồn cho động cơ một chiều để thực hiệnquay động cơ với điện áp Uđm=24 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ềukhiể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ềmMatlab-Simulink.

4.2 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 thuthậ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ấpnhững hàm đặc biệt cho những yêu cầu khác nhau của người sử dụ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- 16 kênh vào số

- 16 kênh ra số- 2 kênh ra D/A

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

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ộtthiế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

Trang 25

bản vẽ có thể được ngắt để thuận tiện cho việc chinh sửa các hàmPlug and Play.

Kiểu đầu vào linh hoạt và thứ tự cài đặt: PCI – 1710 đặc trưng mộtkênh tự động, mạch quét khuyếch đại Mạch thiết kế này điều khiểnchuyể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 đầuvà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ềukênh và tốc độ thử cao cho việc thu thập dữ liệu chất lượng cao ( trên100 ks/s ).

Bảng nhớ FIFO ( vào trước, ra trước ): PCI - 1710 cung cấp mộtvù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ầucá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õ khinào một yêu cầu gián đoạn sẽ được gửi đi ở mỗi chu kỳ trích mẫuhay 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ơnchấ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 2kê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àosố 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 đặctrư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 xungcho 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ột32

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

Xem thêm:

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

TÀI LIỆU LIÊN QUAN

w