You are on page 1of 332

ĐẠI HỌC ĐÀ NẴNG

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


KHOA CƠ KHÍ

PBL 2: MÔ PHỎNG ĐIỀU KHIỂN VÀ


TỰ ĐỘNG HÓA
NHÓM 20.06A

Giảng viên hướng dẫn: TS. VÕ NHƯ THÀNH


TS. NGÔ THANH NGHỊ
Sinh viên thực hiện: TRẦN HỮU NHẬT QUANG-101200326
NGUYỄN VĂN MẪN-101200319
Lớp: 20CDTCLC1
Địa chỉ liên hệ: 93 Hải phòng
Số điện thoại: 0392231834

Đà Nẵng, tháng 9/2022

1
MỤC LỤC
BÀI 1: Tìm hiểu các khối simulink …………………………………………………………………………………..4
PROJECT1 ..………………………………………………………………………………………….……….………………51
PROJECT2 …………………………………………………………………………………………………………………..119
PROJECT3 …………………………………………………………………………………………………………………..192
PROJECT4: Điều khiển xilanh ….………………………………………………………………………………….286
PROJECT5: Phân loại sp….…………………………………………………………………………………………..294
PROJECT6:Bãi đổ xe tự động ……………………………………………………………..………………………303
PROJECT7:Hệ thống lò sưởi ……………………………………………………………………………………….313
PROJECT8:Duỗi ,cắt thép tự động ……………………………………………………………………………..320

2
3
BÀI 1: TÌM HIỂU CÁC KHỐI TRONG THƯ VIỆN
SIMULINK,MATLAB
1. Thư viện continuous
a. Derivative
Đạo hàm thời gian đầu ra của đầu vào
Khối Đạo hàm xấp xỉ đạo hàm của tín hiệu đầu vào u đối với thời gian mô
𝑑𝑢
phỏng t . Bạn có được giá trị gần đúng của bằng cách tính toán một sự khác biệt
𝑑𝑡
∆𝑢
số ,ở đâuΔ ulà sự thay đổi trong giá trị đầu vào vàΔ tlà sự thay đổi về thời gian kể từ
∆𝑡
bước thời gian mô phỏng (chính) trước đó.
Khối này chấp nhận một đầu vào và tạo ra một đầu ra. Đầu ra ban đầu cho khối bằng
không.
Mối quan hệ chính xác giữa đầu vào và đầu ra của khối này là:
∆𝑢 𝑢(𝑡 ) − 𝑢(𝑇𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠 )
𝑦 (𝑡 ) = = | 𝑡 > 𝑇𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠
∆𝑡 𝑡 − 𝑇𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠
trong đó t là thời gian mô phỏng hiện tại và 𝑇𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠 là thời gian của thời gian đầu ra
cuối cùng của mô phỏng. Sau đó giống như thời gian của bước thời gian chính cuối cùng.
Input: Tín hiệu được phân biệt, được chỉ định dưới dạng vectơ hoặc đại lượng vô
hướng thực.
Output: Đạo hàm theo thời gian của tín hiệu đầu vào, được chỉ định dưới dạng vectơ
hoặc vô hướng thực

b. Integrator
Tích hợp tín hiệu
Khối Tích phân xuất ra giá trị của tích phân của tín hiệu đầu vào của nó theo thời
gian.

4
Simulink coi khối Tích hợp như một hệ thống động với một trạng thái. Động lực của
khối được đưa ra bởi:
𝑥 (𝑡 ) = 𝑢(𝑡)
{ 𝑥(𝑡𝑜 ) = 𝑥0
𝑦(𝑡 ) = 𝑥(𝑡)
ở đâu:
• u là đầu vào của khối.
• y là đầu ra của khối.
• x là trạng thái khối.
• 𝑥0 là điều kiện ban đầu của x.
Trong khi các phương trình này xác định mối quan hệ chính xác trong thời gian liên
tục, Simulink sử dụng phương pháp xấp xỉ số để đánh giá chúng với độ chính xác hữu
hạn. Simulink có thể sử dụng một số phương pháp tích hợp số khác nhau để tính toán
đầu ra của khối, mỗi phương pháp có lợi thế trong các ứng dụng cụ thể. Sử dụng ngăn
Bộ giải của hộp thoại Tham số Cấu hình để chọn kỹ thuật phù hợp nhất với ứng dụng của
bạn.
Bộ giải đã chọn sẽ tính toán đầu ra của khối Tích phân ở bước thời gian hiện tại, sử
dụng giá trị đầu vào hiện tại và giá trị của trạng thái ở bước thời gian trước đó. Để hỗ
trợ mô hình tính toán này, khối Tích phân lưu đầu ra của nó ở bước thời gian hiện tại để
bộ giải sử dụng để tính toán đầu ra của nó ở bước thời gian tiếp theo. Khối cũng cung
cấp cho người giải một điều kiện ban đầu để sử dụng trong việc tính toán trạng thái ban
đầu của khối khi bắt đầu mô phỏng. Giá trị mặc định của điều kiện ban đầu là 0. Sử dụng
hộp thoại tham số khối để chỉ định một giá trị khác cho điều kiện ban đầu hoặc tạo một
cổng đầu vào giá trị ban đầu trên khối.
Sử dụng hộp thoại tham số để:
• Xác định giới hạn trên và giới hạn dưới của tích phân
• Tạo một đầu vào đặt lại đầu ra (trạng thái) của khối về giá trị ban đầu của nó, tùy
thuộc vào cách đầu vào thay đổi
• Tạo đầu ra trạng thái tùy chọn để giá trị của đầu ra của khối có thể kích hoạt thiết
lập lại khối
Sử dụng khối Tích hợp thời gian rời rạc để tạo một hệ thống hoàn toàn rời rạc.
Input:
• Tín hiệu cần được tích hợp.
• Đặt lại trạng thái về các điều kiện ban đầu được chỉ định dựa trên tín hiệu bên
ngoài

5
• Đặt điều kiện ban đầu về trạng thái của khối từ tín hiệu bên ngoài.
Output:
• Đầu ra trạng thái tích hợp
• Cho biết khi nào trạng thái đang bị giới hạn. Tín hiệu có giá trị 1 khi tích phân bị
giới hạn bởi Giới hạn bão hòa trên được chỉ định . Khi tín hiệu bị giới hạn bởi Giới hạn
bão hòa dưới , giá trị tín hiệu là -1. Khi tích phân nằm giữa các giới hạn bão hòa, giá trị
tín hiệu là 0
• Xuất trạng thái của khối

c. Integrator,second-oder
Tích hợp bậc hai của tín hiệu đầu vào
Khối Bộ tích phân bậc hai và khối Giới hạn bộ tích phân bậc hai giải quyết vấn đề giá
trị ban đầu bậc hai:

6
𝑑2 𝑥
=𝑢
𝑑𝑢2
𝑑𝑥
| = 𝑑𝑥0
𝑑𝑡 𝑡
𝑥|𝑡=0 = 𝑥0
trong đó u là đầu vào của hệ thống. Do đó, khối là một hệ thống động với hai trạng
𝑑𝑥
thái liên tục: x và
𝑑𝑡

Input:
• Đầu vào tín hiệu u vào hệ thống tích phân, được chỉ định dưới dạng vô hướng,
vectơ hoặc ma trận.
• Tín hiệu bên ngoài xác định điều kiện ban đầu 𝑥0 cho hệ thống tích hợp. Bạn có
thể chỉ định điều kiện ban đầu dưới dạng vô hướng, vectơ hoặc ma trận.
• Tín hiệu bên ngoài xác định điều kiện ban đầu d𝑥0 cho hệ thống tích hợp. Bạn có
thể chỉ định điều kiện ban đầu d𝑥0 dưới dạng vô hướng, vectơ hoặc ma trận.
Output:
• X tín hiệu đầu ra trạng thái, được cung cấp dưới dạng vô hướng, vectơ hoặc ma
trận.
• dx tín hiệu đầu ra trạng thái, được chỉ định dưới dạng vô hướng, vectơ hoặc ma
trận.

7
d. Integrator,second-oder limited
Tích hợp bậc hai của tín hiệu đầu vào
Khi mô hình hóa hệ thống bậc hai, bạn có thể cần giới hạn các trạng thái khối. Ví dụ,
chuyển động của một pít-tông trong một xylanh được điều chỉnh bởi Định luật II
Newton và có những ràng buộc đối với vị trí của pít-tông ( x ). Với khối Tích hợp bậc hai ,
𝑑𝑥
bạn có thể giới hạn các trạng thái x và độc lập với nhau. Bạn thậm chí có thể thay đổi
𝑑𝑡
các giới hạn trong quá trình mô phỏng; tuy nhiên, bạn không thể thay đổi trạng thái có
bị giới hạn hay không. Một quy tắc quan trọng cần tuân theo là giới hạn trên phải lớn
hơn giới hạn dưới tương ứng của nó.
Giao diện khối thay đổi khi bạn giới hạn một hoặc cả hai trạng thái. Với cả hai trạng
thái bị giới hạn, khối sẽ xuất hiện như sau.

Đối với mỗi trạng thái, bạn có thể sử dụng hộp thoại tham số khối để đặt giới hạn
bão hòa thích hợp

8
Input:
• Đầu vào tín hiệu u vào hệ thống tích phân, được chỉ định dưới dạng vô hướng,
vectơ hoặc ma trận.
• Tín hiệu bên ngoài xác định điều kiện ban đầu 𝑥0 cho hệ thống tích hợp. Bạn có
thể chỉ định điều kiện ban đầu dưới dạng vô hướng, vectơ hoặc ma trận.
• Tín hiệu bên ngoài xác định điều kiện ban đầu d𝑥0 cho hệ thống tích hợp. Bạn có
thể chỉ định điều kiện ban đầu d𝑥0 dưới dạng vô hướng, vectơ hoặc ma trận.
Output:
• X tín hiệu đầu ra trạng thái, được cung cấp dưới dạng vô hướng, vectơ hoặc ma
trận.
• Dx tín hiệu đầu ra trạng thái, được chỉ định dưới dạng vô hướng, vectơ hoặc ma
trận.

e. Integrator limited
Giới hạn Tích phân

9
Để ngăn đầu ra vượt quá mức có thể xác định, hãy chọn hộp kiểm Giới hạn đầu ra và
nhập các giới hạn vào các trường tham số thích hợp. Hành động này làm cho khối hoạt
động như một bộ tích hợp giới hạn. Khi đầu ra đạt đến giới hạn, tác động tích phân sẽ bị
tắt để ngăn tích phân kết thúc. Trong quá trình mô phỏng, bạn có thể thay đổi các giới
hạn nhưng bạn không thể thay đổi liệu đầu ra có bị giới hạn hay không. Khối xác định
đầu ra như sau:
• Khi tích phân nhỏ hơn hoặc bằng Giới hạn bão hòa dưới , đầu ra được giữ ở Giới
hạn bão hòa dưới .
• Khi tích phân nằm giữa Giới hạn bão hòa dưới và Giới hạn bão hòa trên , đầu ra là
tích phân.
• Khi tích phân lớn hơn hoặc bằng Giới hạn bão hòa trên , đầu ra được giữ ở Giới
hạn bão hòa trên .
Để tạo tín hiệu cho biết khi trạng thái đang được giới hạn, hãy chọn hộp kiểm Hiển
thị cổng bão hòa . Một cổng bão hòa xuất hiện bên dưới cổng đầu ra khối.
Tín hiệu có một trong ba giá trị:
• 1 cho biết rằng giới hạn trên đang được áp dụng.
• 0 chỉ ra rằng tích phân không bị giới hạn.
• –1 cho biết rằng giới hạn dưới đang được áp dụng.
Khi bạn chọn hộp kiểm này, khối có ba điểm giao nhau 0: một để phát hiện khi nào
nó đi vào giới hạn bão hòa trên, một để phát hiện khi nào nó đi vào giới hạn bão hòa
dưới và một để phát hiện khi nào nó rời khỏi độ bão hòa.
Input:
• Tín hiệu cần được tích hợp.
• Đặt lại trạng thái về các điều kiện ban đầu được chỉ định dựa trên tín hiệu bên
ngoài
• Đặt điều kiện ban đầu về trạng thái của khối từ tín hiệu bên ngoài.
Output:
• Đầu ra trạng thái tích hợp
• Cho biết khi nào trạng thái đang bị giới hạn. Tín hiệu có giá trị 1 khi tích phân bị
giới hạn bởi Giới hạn bão hòa trên được chỉ định . Khi tín hiệu bị giới hạn bởi Giới hạn
bão hòa dưới , giá trị tín hiệu là -1. Khi tích phân nằm giữa các giới hạn bão hòa, giá trị
tín hiệu là 0
• Xuất trạng thái của khối

10
f. PID controller
Bộ điều khiển PID thời gian liên tục hoặc thời gian rời rạc
Khối Bộ điều khiển PID thực hiện bộ điều khiển PID (chỉ PID, PI, PD, P hoặc chỉ I). Khối
này giống với khối Bộ điều khiển PID rời rạc với tham số Miền thời gian được đặt
thành Continuous-time.
Đầu ra của khối là tổng trọng số của tín hiệu đầu vào, tích phân của tín hiệu đầu vào
và đạo hàm của tín hiệu đầu vào. Trọng số là các tham số tăng tỷ lệ, tích phân và đạo
hàm. Cực bậc nhất lọc hành động phái sinh.

11
Khối hỗ trợ một số loại và cấu trúc bộ điều khiển. Các tùy chọn có thể định cấu hình
trong khối bao gồm:
• Loại bộ điều khiển (chỉ PID, PI, PD, P hoặc chỉ I) - Xem thông số Bộ điều khiển .
• Dạng bộ điều khiển (Song song hoặc Lý tưởng) - Xem tham số Biểu mẫu .
• Miền thời gian (liên tục hoặc rời rạc) - Xem thông số Miền thời gian .
• Điều kiện ban đầu và kích hoạt đặt lại - Xem các thông số đặt lại Nguồn và Bên
ngoài .
• Giới hạn bão hòa đầu ra và cơ chế chống gió giật tích hợp - Xem thông số Đầu ra
giới hạn .
• Theo dõi tín hiệu để chuyển điều khiển không gập ghềnh và điều khiển nhiều
vòng - Xem thông số Bật chế độ theo dõi .
Output: Đầu ra của bộ điều khiển, thường dựa trên tổng của tín hiệu đầu vào, tích
phân của tín hiệu đầu vào và đạo hàm của tín hiệu đầu vào, được tính trọng số bởi các
tham số độ lợi tỷ lệ, tích phân và đạo hàm. Cực bậc nhất lọc hành động phái sinh. Thuật
ngữ nào có trong tín hiệu bộ điều khiển phụ thuộc vào những gì bạn chọn cho tham
số Bộ điều khiển . Chức năng chuyển bộ điều khiển cơ sở cho các cài đặt hiện tại được
hiển thị trong phần Công thức bù của các thông số khối và dưới mặt nạ. Các thông số
khác sửa đổi đầu ra khối, chẳng hạn như giới hạn bão hòa được chỉ định bởi Giới hạn
trên và Giới hạn dưới thông số bão hòa.

12
g. PID controller (2DOF)
Bộ điều khiển PID hai bậc tự do theo thời gian liên tục hoặc thời gian rời rạc
Khối Bộ điều khiển PID (2DOF) thực hiện bộ điều khiển PID hai bậc tự do (PID, PI
hoặc PD). Khối này giống với khối Bộ điều khiển PID rời rạc (2DOF) với tham số Miền
thời gian được đặt thành Continuous-time.
Khối tạo ra tín hiệu đầu ra dựa trên sự khác biệt giữa tín hiệu tham chiếu và đầu ra
hệ thống đo được. Khối tính toán một tín hiệu khác biệt có trọng số cho các hành động
tỷ lệ và đạo hàm theo trọng số điểm đặt ( b và c ) mà bạn chỉ định. Đầu ra khối là tổng
của các hành động tỷ lệ, tích phân và đạo hàm trên các tín hiệu khác biệt tương ứng,
trong đó mỗi hành động được tính trọng số theo các tham số khuếch đại P , I và D. Cực
bậc nhất lọc hành động phái sinh.
Khối hỗ trợ một số loại và cấu trúc bộ điều khiển. Các tùy chọn có thể định cấu hình
trong khối bao gồm:
• Loại bộ điều khiển (PID, PI hoặc PD) - Xem thông số Bộ điều khiển .
• Dạng bộ điều khiển (Song song hoặc Lý tưởng) - Xem tham số Biểu mẫu .
• Miền thời gian (liên tục hoặc rời rạc) - Xem thông số Miền thời gian .

13
• Điều kiện ban đầu và kích hoạt đặt lại - Xem các thông số đặt lại Nguồn và Bên
ngoài .
• Giới hạn bão hòa đầu ra và cơ chế chống gió giật tích hợp - Xem thông số Đầu ra
giới hạn .
• Theo dõi tín hiệu để chuyển điều khiển không gập ghềnh và điều khiển nhiều
vòng - Xem thông số Bật chế độ theo dõi .
Output:
• Đầu ra của bộ điều khiển, thường dựa trên tổng của tín hiệu đầu vào, tích phân
của tín hiệu đầu vào và đạo hàm của tín hiệu đầu vào, được tính theo trọng số điểm đặt
và bởi các tham số độ lợi tỷ lệ, tích phân và đạo hàm. Cực bậc nhất lọc hành động phái
sinh. Thuật ngữ nào có trong tín hiệu bộ điều khiển phụ thuộc vào những gì bạn chọn
cho tham số Bộ điều khiển . Chức năng chuyển bộ điều khiển cơ sở cho các cài đặt hiện
tại được hiển thị trong phần Công thức bù của các thông số khối và dưới mặt nạ. Các
tham số khác sửa đổi đầu ra khối, chẳng hạn như giới hạn bão hòa được chỉ định bởi các
tham số bão hòa Giới hạn trên và Giới hạn dưới .
• Đầu ra của bộ điều khiển là tín hiệu vectơ khi bất kỳ đầu vào nào là tín hiệu
vectơ. Trong trường hợp đó, khối hoạt động như N bộ điều khiển PID độc lập, trong
đó N là số tín hiệu trong vector đầu vào.

h. State-space

14
Triển khai hệ thống không gian-trạng thái tuyến tính
Khối State-Space triển khai một hệ thống có hành vi mà bạn xác định là
𝑥 = 𝐴𝑥 + 𝐵𝑢
𝑦 = 𝐶𝑥 + 𝐷𝑢
𝑥|𝑡=𝑡0 = 𝑥0
trong đó x là vector trạng thái, u là vector đầu vào, y là vector đầu ra và x 0 là điều
kiện ban đầu của vector trạng thái. Các ma trận A, B, C và D có thể được chỉ định là ma
trận thưa hoặc ma trận dày đặc. Các hệ số ma trận phải có các đặc điểm sau:
• A phải là một ma trận n -by- n , trong đó n là số trạng thái.
• B phải là một ma trận n -by- m , trong đó m là số lượng đầu vào.
• C phải là ma trận r -by- n , trong đó r là số đầu ra.
• D phải là ma trận r -by- m .

Nói chung, khối có một cổng đầu vào và một cổng đầu ra. Số hàng trong ma trận C
hoặc D giống với chiều rộng của cổng đầu ra. Số cột trong ma trận B hoặc D giống với
chiều rộng của cổng đầu vào. Nếu bạn muốn lập mô hình một hệ thống tuyến tính tự trị
không có đầu vào, hãy đặt ma trận B và D thành trống. Trong trường hợp này, khối hoạt
động như một khối nguồn không có cổng đầu vào và một cổng đầu ra, và thực hiện hệ
thống sau:
𝑥 = 𝐴𝑥
𝑦 = 𝐶𝑥
𝑥|𝑡=𝑡0 = 𝑥0
Input: Vectơ đầu vào có giá trị thực của kiểu double, trong đó chiều rộng bằng số cột
trong ma trận B và D
Output: Vectơ đầu ra có giá trị thực của kiểu dữ liệu double, có chiều rộng bằng số
hàng trong ma trận C và D

15
i. Transfer Fcn
Mô hình hệ thống tuyến tính bằng hàm truyền
Khối Transfer Fcn mô hình hóa một hệ thống tuyến tính bằng một hàm truyền của
biến miền Laplace s. Khối có thể mô hình hóa các hệ thống một đầu ra đơn đầu vào
(SISO) và một đầu vào nhiều đầu ra (SIMO).
Điều kiện để sử dụng khối này
Khối Transfer Fcn giả định các điều kiện sau:
• Hàm chuyển có dạng:
𝑦(𝑠) 𝑚𝑢𝑛(𝑠) 𝑚𝑢𝑛(1)𝑠 𝑛𝑛−1 + 𝑚𝑢𝑛(2)𝑠 𝑛𝑛−1 + ⋯ + 𝑚𝑢𝑛(𝑛𝑛)
𝐻 (𝑠 ) = = =
𝑢(𝑠) 𝑑𝑒𝑛(𝑠) 𝑑𝑒𝑛(1)𝑠 𝑛𝑑−1 + 𝑑𝑒𝑛(2)𝑠 𝑛𝑑−1 + ⋯ + 𝑑𝑒𝑛(𝑛𝑑)
trong đó u và y lần lượt là đầu vào và đầu ra của hệ thống, nn và nd lần lượt là số hệ
số tử số và mẫu số. num (s) và den (s) chứa các hệ số của tử số và mẫu số theo lũy thừa
giảm dần của s .
• Bậc của mẫu số phải lớn hơn hoặc bằng bậc của tử số.
• Đối với hệ thống nhiều đầu ra, tất cả các hàm truyền có cùng mẫu số và tất cả các
tử số có cùng thứ tự.

16
Input: Tín hiệu đầu vào, được chỉ định dưới dạng vô hướng với kiểu dữ liệu double.
Output:
Tín hiệu đầu ra, được cung cấp dưới dạng vô hướng hoặc vectơ với kiểu dữ
liệu double.
• Đối với hệ thống một đầu ra, đầu vào và đầu ra của khối là các tín hiệu miền thời
gian vô hướng.
• Đối với hệ thống nhiều đầu ra, đầu vào là một đại lượng vô hướng và đầu ra là
một vectơ, trong đó mỗi phần tử là một đầu ra của hệ thống.

j. Transport delay
Trì hoãn nhập liệu theo khoảng thời gian nhất định
Khối Chậm trễ Truyền tải trì hoãn đầu vào trong một khoảng thời gian nhất định. Bạn
có thể sử dụng khối này để mô phỏng thời gian trễ. Đầu vào cho khối này phải là một tín
hiệu liên tục.
Khi bắt đầu mô phỏng, khối xuất tham số Đầu ra ban đầu cho đến khi thời gian mô
phỏng vượt quá tham số Thời gian trễ . Sau đó, khối bắt đầu tạo đầu vào bị trễ. Trong

17
quá trình mô phỏng, khối lưu trữ các điểm đầu vào và thời gian mô phỏng trong một bộ
đệm. Bạn chỉ định kích thước này bằng tham số Kích thước bộ đệm ban đầu .
Khi bạn muốn đầu ra tại một thời điểm không tương ứng với thời gian của các giá trị
đầu vào được lưu trữ, khối nội suy tuyến tính giữa các điểm. Khi độ trễ nhỏ hơn kích
thước bước, khối ngoại suy từ điểm đầu ra cuối cùng, điều này có thể tạo ra kết quả
không chính xác. Bởi vì khối không có nguồn cấp dữ liệu trực tiếp, nó không thể sử dụng
đầu vào hiện tại để tính toán giá trị đầu ra. Ví dụ, hãy xem xét một mô phỏng bước cố
định với kích thước bước là 1 và thời điểm hiện tại tại t = 5. Nếu độ trễ là 0,5, khối phải
tạo ra một điểm tại t = 4,5. Bởi vì giá trị thời gian được lưu trữ gần đây nhất là t = 4, khối
thực hiện phép ngoại suy thuận.
Khối Độ trễ truyền tải không nội suy các tín hiệu rời rạc. Thay vào đó, khối trả về giá
trị rời rạc tại thời điểm cần thiết.
Input: Tín hiệu đầu vào để trì hoãn, được chỉ định dưới dạng vô hướng, vectơ hoặc
ma trận.
Output: Tín hiệu đầu vào, bị trì hoãn trong khoảng thời gian nhất định. Đầu ra có
cùng kích thước và kiểu dữ liệu với tín hiệu đầu vào.

k. Variable time delay

18
Nhập liệu trì hoãn theo khoảng thời gian thay đổi
Các khối Độ trễ Vận chuyển Biến và Độ trễ Thời gian Biến đổi xuất hiện dưới dạng hai
khối trong thư viện khối Simulink . Tuy nhiên, chúng là cùng một khối Simulink với các
cài đặt khác nhau cho thông số Chọn loại độ trễ . Sử dụng tham số này để chỉ định chế
độ mà khối hoạt động.
Trong chế độ này, khối có một đầu vào dữ liệu, một đầu vào trễ thời gian và một đầu
ra dữ liệu. Đầu ra ở bước thời gian hiện tại bằng giá trị của đầu vào dữ liệu của nó ở
bước thời gian trước đó. Bước thời gian này là thời gian mô phỏng hiện tại trừ đi thời
gian trễ được chỉ định bởi đầu vào thời gian trễ.
𝑦(𝑡 ) = 𝑢(𝑡 − 𝑡0 ) = 𝑢(𝑡 − 𝜏(𝑡 ))
Trong quá trình mô phỏng, khối lưu trữ các cặp thời gian và giá trị đầu vào trong một
bộ đệm bên trong. Khi bắt đầu mô phỏng, khối xuất giá trị của tham số Đầu ra ban
đầu cho đến khi thời gian mô phỏng vượt quá đầu vào trễ thời gian. Sau đó, ở mỗi bước
mô phỏng, khối xuất tín hiệu tại thời điểm tương ứng với thời gian mô phỏng hiện tại
trừ đi thời gian trễ.
Nếu bạn muốn đầu ra tại một thời điểm giữa thời gian lưu trữ đầu vào và bộ giải là
bộ giải liên tục, khối nội suy tuyến tính giữa các điểm. Nếu thời gian trễ nhỏ hơn kích
thước bước, khối ngoại suy một điểm đầu ra từ một điểm trước đó.
Ngoại suy về phía trước so với bước thời gian trước đó có thể tạo ra kết quả kém
chính xác hơn là ngoại suy trở lại từ bước thời gian hiện tại. Tuy nhiên, khối không thể
sử dụng đầu vào hiện tại để tính toán giá trị đầu ra của nó vì cổng đầu vào không có
nguồn cấp dữ liệu trực tiếp.
Nếu mô hình chỉ định một bộ giải rời rạc, khối không nội suy giữa các bước thời
gian. Thay vào đó, nó trả về giá trị được lưu trữ gần nhất đứng trước giá trị bắt buộc.
Input:
• Tín hiệu đầu vào được chỉ định dưới dạng vô hướng, vectơ hoặc ma trận.
• Đầu vào trễ thời gian được chỉ định dưới dạng vô hướng, vectơ hoặc ma trận. Khi
khối ở Variable time delay chế độ, giá trị này chỉ định thời gian trễ
• Đầu vào thời gian trễ tức thời được chỉ định dưới dạng vô hướng, vectơ hoặc ma
trận. Khi khối ở Variable transport delay chế độ, giá trị này được sử dụng để tính toán
độ trễ truyền tải
Output: Tín hiệu đầu ra được chỉ định dưới dạng vô hướng, vectơ hoặc ma trận.

19
l. Variable Transport delay
Nhập liệu trì hoãn theo khoảng thời gian thay đổi
Các khối Độ trễ Vận chuyển Biến và Độ trễ Thời gian Biến đổi xuất hiện dưới dạng hai
khối trong thư viện khối Simulink . Tuy nhiên, chúng là cùng một khối Simulink với các
cài đặt khác nhau cho thông số Chọn loại độ trễ . Sử dụng tham số này để chỉ định chế
độ mà khối hoạt động.
rong chế độ này, đầu ra của khối ở bước thời gian hiện tại bằng giá trị của đầu vào
dữ liệu (trên cùng hoặc bên trái) của nó ở bước thời gian trước đó bằng thời gian hiện
tại trừ đi độ trễ truyền tải.
𝑦(𝑡 ) = 𝑢(𝑡 − 𝑡𝑑 (𝑡 ))
Phần mềm Simulink tìm thấy sự chậm trễ trong quá trình vận chuyển, td( t ), bằng
cách giải phương trình sau:
𝑡
1
∫ 𝑑𝜏 = 1
𝑡−𝑡𝑑 (𝑡) 𝑡𝑖 (𝜏)

Phương trình này liên quan đến thời gian trễ tức thời, 𝑡𝑖 (𝜏) được cung cấp bởi đầu
vào trễ thời gian

20
Giả sử rằng bạn muốn sử dụng khối này để mô hình hóa dòng chất lỏng qua một
đường ống mà tốc độ chất lỏng thay đổi theo thời gian. Trong trường hợp này, thời gian
trễ đầu vào cho khối là
𝐿
𝑡𝑖 (𝜏) =
𝑣𝑖 (𝑡)
chiều L dài của đường ống ở đâu và 𝑣𝑖 (𝑡) là tốc độ của chất lỏng.
Input:
• Tín hiệu đầu vào được chỉ định dưới dạng vô hướng, vectơ hoặc ma trận.
• Đầu vào trễ thời gian được chỉ định dưới dạng vô hướng, vectơ hoặc ma trận. Khi
khối ở Variable time delay chế độ, giá trị này chỉ định thời gian trễ
• Đầu vào thời gian trễ tức thời được chỉ định dưới dạng vô hướng, vectơ hoặc ma
trận. Khi khối ở Variable transport delay chế độ, giá trị này được sử dụng để tính toán
độ trễ truyền tải
Output: Tín hiệu đầu ra được chỉ định dưới dạng vô hướng, vectơ hoặc ma trận.

21
m. Zero-pole
Hệ thống mô hình bằng chức năng truyền độ lợi không cực
Khối Zero-Pole mô hình hóa một hệ thống mà bạn xác định với các số không, cực và
độ lợi của một hàm truyền miền Laplace. Khối này có thể mô hình hóa các hệ thống đầu
ra đơn một đầu vào (SISO) và nhiều đầu ra một đầu vào (SIMO).
Điều kiện để sử dụng khối này
Khối Zero-Pole giả định các điều kiện sau:
• Hàm chuyển có dạng:
𝑍(𝑠) (𝑠 − 𝑍(1))(𝑠 − 𝑍(2)) … . (𝑠 − 𝑍(𝑚))
𝐻 (𝑠 ) = 𝐾 =𝐾
𝑃(𝑠) (𝑠 − 𝑃(1))(𝑠 − 𝑃(1)) … (𝑠 − 𝑃(𝑛))
trong đó Z đại diện cho các số không, P là các cực và K là độ lợi của hàm truyền.
• Số cực phải lớn hơn hoặc bằng số không.
• Nếu các cực và các số không phức tạp, chúng phải là các cặp liên hợp phức.
• Đối với hệ thống nhiều đầu ra, tất cả các chức năng chuyển giao phải có cùng
cực. Các số không có thể khác nhau về giá trị, nhưng số lượng các số không cho mỗi hàm
truyền phải giống nhau.
Input: Tín hiệu đầu vào, được chỉ định dưới dạng vô hướng với kiểu dữ liệu double.
Output:
Hệ thống được mô hình hóa bằng hàm truyền độ lợi không cực, được cung cấp dưới
dạng tín hiệu vô hướng hoặc vectơ với kiểu dữ liệu double.
• Khi mô hình hóa một hệ thống đầu ra đơn lẻ, khối sẽ xuất ra tín hiệu miền thời
gian vô hướng. Để biết thêm thông tin,
• Khi mô hình hóa một hệ thống nhiều đầu ra, khối sẽ xuất ra một vectơ, trong đó
mỗi phần tử là một đầu ra của hệ thống.

22
2. Thư viện Discontinuities
a. Description
Khối Blacklash thực hiện một hệ thống trong đó sự thay đổi đầu vào gây ra sự thay
đổi ngang bằng trong đầu ra
Lưu ý:
- Khi đầu vào thay đổi hướng, thay đổi đầu vào không ảnh hưởng đến đầu ra
Input: Giá trị tham số theo hướng tích cực hoặc tiêu cực
Output: Trừ đi một nữa chiều rộng dãi chết

23
Sản lượng ban đầu: Chỉ định giá trị đầu ra ban đầu. Giá trị mặc định là 0. Đây tham số
có thể điều chỉnh được. Simulink không cho phép đầu ra ban đầu của khối này là inf
hoặc NaN
Bật tính năng phát hiện giao nhau bằng 0: Chọn để cho phép sử dụng tính năng phát
hiện cắt ngang để phát hiện tương tác với ngưỡng dưới và ngưỡng trên. Để biết thêm
thông tin, hãy xem “Phát hiện không cắt ngang” trong Sử dụng Simulink.
Thời gian mẫu (-1 cho kế thừa): Chỉ định khoảng thời gian giữa các mẫu. Để kế thừa
mẫuthời gian, đặt tham số này thành -1. Xem “Chỉ định thời gian mẫu” trong Sử dụng
Simulink để biết thêm thông tin.

b. Coulomb & Viscous Friction


Các mô hình khối ma sát Coulomb và nhớt nhớt Coulomb (tĩnh) và ma sát nhớt
(động). Khối mô hình hóa một sự gián đoạn ở 0 và một độ lợi tuyến tính nếu không. Sự
bù đắp tương ứng với ma sát Coulombic; độ lợi tương ứng với ma sát nhớt. Khối thực
hiện như:

Trong đó:
- y là đầu ra
- u là các đầu vào, và đạt được

24
- bù lại là tham số cuối
Khối chấp nhận một đầu vào và tạo một đầu ra.
Input: tham số cho phép
Output: sự gián đoạn ở 0 và một độ lợi tuyến tính nếu không.

Giá trị ma sát Coulomb:


Phần bù, được áp dụng cho tất cả các giá trị đầu vào. Giá trị mặc định là [1 3 2 0] .
Hệ số ma sát nhớt:
Mức tăng tín hiệu tại các điểm đầu vào khác không. Giá trị mặc định là 1 .
c. Dead zone
Khối Dead Zone tạo ra đầu ra bằng 0 trong một vùng cụ thể, được gọi là vùng chết
của nó. Giới hạn dưới và giới hạn trên của vùng chết được chỉ định là các thông số bắt
đầu vùng chết và kết thúc vùng chết.
Lưu ý: Đầu ra khối phụ thuộc vào đầu vào và chết vùng:
- Nếu đầu vào nằm trong vùng chết ( lớn hơn giới hạn giới và nhỏ hơn giới hạn
trên), đầu ra là 0
- Nếu đầu vào lớn hơn hoặc bằng giới hạn trên, thì đầu ra là đầu vào trừ đi giới
hạn.
- Nếu đầu vào nhỏ hơn hoặc bằng giới hạn dưới, thì đầu ra là đầu vào trừ đi mức
thấp hơn giới hạn.
Input: đầu vào một tham số
Output: tạo ra bằng 0 trong 1 vùng cụ thể.

25
Mô hình mẫu sử dụng giới hạn dưới và trên của -0,5 và +0,5, với đầu vào là sóng sin.
d. Dead Zone Dynamic
Khối Dead Zone Dynamic giới hạn phạm vi của tín hiệu đầu vào, cung cấp một vùng
có đầu ra bằng 0.
Lưu ý: Các giới hạn thay đổi theo các tín hiệu đầu vào giới hạn trên và dưới, trong
đó:
- Đầu vào trong giới hạn được đặt thành số 0
- Đầu vào dưới giới hạn thấp hơn được chuyển xuống dưới giới hạn.
- Đầu vào trên giới hạn trên được chuyển xuống dưới giới hạn.

Input: Tự động giới hạn phạm vi của tín hiệu đầu vào
Output: Cung cấp một vùng có đầu ra bằng 0.
e. Hit crossing
Khối Hit crossing phát hiện giao nhau khi đầu vào đạt đến giá trị thống số bù chéo
lượt truy cập theo hướng được chỉ định bởi hướng vượt qua lượt truy cập tham số.
Input: giá trị bù sau khi phát hiện giao nhau
Output: xuất ra giá trị 1

26
f. Quantizer
Khối Quantizer là đầu vào dấu hiệu xuyên qua một bậc cầu thang chức năng sao cho
nhiều điểm lân cận trên trục đầu vào được ánh xạ tới 1 điểm trên đầu trục ra. Đầu ra
được tính bằng phương pháp làm tròn đến gần nhất tạo ra kết quả đối xứng về số 0.

Input: dấu hiệu xuyên qua một cầu thang có chức năng sao cho nhiều điểm lân cận
trên trục đầu vào được ánh xạ tới một điểm trên trục đầu ra.
Output: Kế quả được tính bằng phương pháp làm tròn đến gần nhất, tạo ra kết quả
đối xứng về 0

g. Rate Limiter.

27
Khối Rate Limiter giới hạn đạo hàm đầu tiên của tín hiệu đi qua nó. Đầu ra thay đổi
không nhanh hơn giới hạn đã chỉ định

Phương trình:
Với u(i) và t(i) là đầu vào và thời gian của khối hiện tại
Y(i-1) vàt(i-1) là đàu ra và thời gian ở bước trước đó
Lưu ý : đầu ra được xác định bằng cách so sánh tỷ lệ với các thông số tỷ lệ xoay vòng
tang và tỷ lệ giảm.
- Nếu tỷ lệ lớn hơn thông số tỷ lệ xoay vòng đang tăng ( R), đầu ra sẽ được tính
như
- Nếu tốc độ nhỏ hơn thông số Tốc độ quay vòng giảm ( F ), kết quả đầu ra sẽ được
tính như
- Nếu tỷ lệ nằm giữa các giới hạn của R và F , thì sự thay đổi trong sản lượng bằng

với sự thay đổi trong đầu vào:


Input: Tham số
Output: đạo hàm đầu tiên của tín hiệu đi qua nó, đầu ra thay đổi không nhanh hơn
giới hạn đã chỉ định.

h. Rate Limiter Dynamic


Khối Rate Limiter Dynamic giới hạn tỷ lệ tăng và giảm của dấu hiệu
Tín hiệu bên ngoài thiết lập giới hạn trên đối với tốc độ tăng của tín hiệu.
Tín hiệu bên ngoài lo đặt giới hạn dưới về tốc độ giảm của tín hiệu.
Input: Tham số

28
Output: giới hạn tỷ lệ tăng và giảm của dấu hiệu

i. Relay
Khối Relay cho phép đầu ra của nó nó chuyển đổi giữa hai giá trị được chỉ định. Khi
bật rơ le, nó vẫn bật cho đến khi đầu vào giảm xuống dưới giá trị của thông số Điểm tắt .
Khi rơle tắt, nó vẫn tắt cho đến khi đầu vào vượt quá giá trị của thông số Điểm bật . Khối
chấp nhận một đầu vào và tạo ra một đầu ra.
Input: Tham số
Output: cho phép đàu ra của nó chuyển đổi giữa 2 giá trị được chỉ định

Bật điểm: Ngưỡng "bật" của rơle. Tham số Điểm bật được chuyển đổi thành kiểu dữ
liệu đầu vào ngoại tuyến bằng cách sử dụng làm tròn đến gần nhất và bão hòa.
Tắt điểm: Ngưỡng "tắt" của rơle. Tham số Điểm tắt được chuyển đổi thành kiểu dữ
liệu đầu vào ngoại tuyến bằng cách sử dụng làm tròn đến gần nhất và bão hòa.
Đầu ra khi bật: Đầu ra khi rơle được bật.
Đầu ra khi tắt: Đầu ra khi rơle tắt.

29
Chế độ kiểu dữ liệu đầu ra:Chỉ định kiểu dữ liệu đầu ra và tỷ lệ giống với dữ liệu đầu
vào hoặc kế thừa kiểu dữ liệu và tỷ lệ bằng cách cộng dồn ngược. Cuối cùng, nếu bạn
chọn Chỉ định qua hộp thoại , kiểu dữ liệu Đầu ra , Giá trị chia tỷ lệ đầu ra và các tham số
Tỷ lệ Tham số sẽ hiển thị.
k. Saturation
Khối Saturation áp đặt giới hạn trên và giới hạn dưới của một tín hiệu. Khi tín hiệu
đầu vào nằm trong phạm vi được chỉ định bởi các tham số Giới hạn dưới và Giới hạn
trên , tín hiệu đầu vào đi qua không thay đổi. Khi tín hiệu đầu vào nằm ngoài các giới
hạn này, tín hiệu được cắt lên trên hoặc dưới ràng buộc.
Input: được chỉ đinh bởi các tham số giới hạn dưới và giới hạn trên
Output: Giới hạn phạm vi của của tín hiệu

Giới hạn trên:


Chỉ định giới hạn trên trên tín hiệu đầu vào. Khi tín hiệu đầu vào của khối Saturation

30
cao hơn giá trị này, đầu ra của khối sẽ bị cắt đến giá trị này.

Giới hạn trên được chuyển đổi thành kiểu dữ liệu đầu vào ngoại tuyến bằng cách sử
dụng làm tròn đến gần nhất và bão hòa.
Giơi hạn dưới:
Chỉ định giới hạn dưới trên tín hiệu đầu vào. Khi tín hiệu đầu vào của khối Saturation
thấp hơn giá trị này, đầu ra của khối sẽ bị cắt đến giá trị này.

Giới hạn dưới được chuyển đổi thành kiểu dữ liệu đầu vào ngoại tuyến bằng cách sử
dụng làm tròn đến gần nhất và bão hòa.
Coi như lợi ích khi tuyến tính hóa:
Các lệnh tuyến tính hóa trong Simulink coi khối này như một phần lợi trong không
gian trạng thái. Chọn tham số này để làm cho các lệnh tuyến tính hóa coi độ lợi là 1; nếu
không, các lệnh coi độ lợi là 0.
Bật tính năng phát hiện băng qua đường không:
Chọn để bật tính năng phát hiện băng qua đường không.
Thời gian mẫu (-1 cho kế thừa):
Chỉ định khoảng thời gian giữa các mẫu. Để kế thừa thời gian mẫu, hãy đặt tham số
này thành -1
l. Saturation Dynamic.
Khối Saturation giới hạn phạm vi của tín hiệu đầu vào thành các giá trị bão hòa trên
và dưới. Tín hiệu đầu vào bên ngoài các giới hạn này bão hòa đến một trong các giới hạn
ở đâu.
Lưu ý:
• Đầu vào dưới giới hạn dưới được đặt thành thấp hơn giới hạn.
• Đầu vào trên giới hạn trên được đặt thành trên giới hạn.
• Đầu vào cho giới hạn trên là giá trị tăngcổng và đầu vào cho giới hạn dưới là cổng
lo
Input: tín hiệu tham số đầu vào bên ngoài các giới hạn này bão hoà đến một rrong
các giới hạn ở đâu
Output: giới hạn phạm vi của tín hiệu đầu vào thành các giá trị bão hoà trên và dưới.
m. Wrap to zero

31
Khối Wrap to zero đặt đầu Zero đặt đầu ra thành 0 nếu đầu vào cao hơn giá trị được
đặt bởi tham số Ngưỡng và xuất đầu ra nếu đầu vào nhỏ hơn hoặc bằng Ngưỡng .
Input: đầu vào cao hơn giá trị được đặt bởi tham số và ngưỡng và xuất đầu ra nếu
đầu vào nhỏ hơn hoặc bằng ngưỡng.

3. Thư viện logic and bit operations


a. Bit clear 0
Đặt bit được chỉ định của số nguyên được lưu trữ bằng 0 , trong đó số 0 là số ít quan
trọng nhất.

Input: ( vô hướng hoặc vector) Tín hiệu vào là bit được chỉ định của số nguyên được
lưu trữ.
output: ( vô hướng hoặc vector) đầu ra bao gồm bit được chỉ định được đặt thành 0.
b. Bit set
Đặt bit được chỉ định của số nguyên được lưu trữ bằng 1 , trong đó số 0 là số ít quan
trọng nhất.

32
Input: ( vô hướng hoặc vector) Tín hiệu vào là bit được chỉ định của số nguyên được
lưu trữ.
output: ( vô hướng hoặc vector) đầu ra bao gồm bit được chỉ định được đặt thành 1.
c. Bitwise operator
Khối thuật toán bitwise thực hiện thao tác theo chiều bit được chỉ định trên các toán
hạng của nó.
Khối Bitwise thực hiện thao tác theo chiều bit mà bạn chỉ định trên một hoặc nhiều
toán hạng. Không giống như các phép toán logic của khối Toán tử logic , các phép toán
theo bit coi các toán hạng như một vectơ của các bit chứ không phải là một giá trị đơn
lẻ.
Có thể có nhiều đầu vào nhưng chỉ có 1 đầu ra.

Các lệnh chức năng:

33
Tên lệnh Chức năng

AND ĐÚNG nếu các bit tương ứng đều ĐÚNG

OR ĐÚNG nếu ít nhất một trong các bit tương ứng là ĐÚNG

NAND ĐÚNG nếu ít nhất một trong các bit tương ứng là SAI

NOR ĐÚNG nếu không có bit tương ứng là ĐÚNG

XOR ĐÚNG nếu các số lẻ số bít nào tương ứng là ĐÚNG

NOT ĐÚNG nếu đầu vào là SAI

Ví dụ :
Với cổng AND:

Với cổng OR:

34
Tương tự với các cổng khác:

Tên loại Kết quả

NAND 235

NOR 1

XOR 148

NOT N/A

d. Combination logic
Triển khai bản thực tế.
Khối Logic tổ hợp thực hiện một bảng chân lý tiêu chuẩn để mô hình hóa mảng logic
khả trình (PLA), mạch logic, bảng quyết định và các biểu thức Boolean khác.Bạn có thể
sử dụng khối này kết hợp với khối Bộ nhớ để triển khai các máy trạng thái hữu hạn hoặc
các flip-flop.
Ví dụ:

35
Với kết quả như sau :

Input 1 Input 2 output

0 0 0

0 1 0

1 0 0

1 1 1

e. Compare to constant
Xác định cách tín hiệu so sánh với hằng số được chỉ định
Khối So sánh với hằng số so sánh tín hiệu đầu vào với một hằng số. Chỉ định hằng số
trong tham số Giá trị không đổi . Chỉ định cách đầu vào được so sánh với giá trị không
đổi bằng tham số Toán tử .
Kết quả là 0 nếu so sánh là sai và 1 nếu nó là đúng.

36
Ví dụ:

f. Compare to zero
Xác định cách tín hiệu so sánh với 0.
Khối Compare To Zero so sánh tín hiệu đầu vào với số không. Chỉ định cách đầu vào
được so sánh bằng 0 với tham số Toán tử .
Kết quả là 0 nếu so sánh là sai và 1 nếu nó là đúng.

37
Ví dụ:

g. Detect fall negative.


Phát hiện cạnh giảm khi giá trị tín hiệu giảm xuống giá trị âm hoàn toàn và giá trị
trước đó của nó là không âm
Khối Âm bản Phát hiện Rơi xác định xem đầu vào có nhỏ hơn không và giá trị trước
đó của nó lớn hơn hoặc bằng không.
Khối này chỉ hỗ trợ thời gian lấy mẫu rời rạc.

38
Tín hiệu đầu vào: được chỉ định dưới dạng vô hướng, vectơ hoặc ma trận.
Tín hiệu đầu ra: true (bằng 1) khi tín hiệu đầu vào nhỏ hơn 0 và giá trị trước đó của
nó lớn hơn hoặc bằng 0; false (bằng 0) khi tín hiệu đầu vào lớn hơn hoặc bằng 0, hoặc
nếu tín hiệu đầu vào là âm, giá trị trước đó của nó cũng là âm.
h. Detect fall nonpositive.
Phát hiện cạnh giảm khi giá trị tín hiệu giảm xuống giá trị không tích cực và giá trị
trước đó của nó hoàn toàn dương
Khối Detect Fall Nonpositive xác định xem đầu vào nhỏ hơn hoặc bằng 0 và giá trị
trước đó của nó lớn hơn 0.
• Đầu ra đúng (bằng 1) khi tín hiệu đầu vào nhỏ hơn hoặc bằng 0 và giá trị trước đó
của nó lớn hơn 0.
• Đầu ra là false (bằng 0) khi tín hiệu đầu vào lớn hơn 0 hoặc nếu nó không dương
tính, thì giá trị trước đó của nó cũng là không dương tính.
Khối này chỉ hỗ trợ thời gian lấy mẫu rời rạ.

39
i. Detect rise nonnegative.
Phát hiện cạnh tăng khi giá trị tín hiệu tăng lên giá trị không âm và giá trị trước đó
của nó hoàn toàn âm
Khối phát hiện tăng không âm xác định xem đầu vào lớn hơn hoặc bằng 0 và giá trị
trước đó của nó nhỏ hơn 0.
• Đầu ra là true (bằng 1) khi tín hiệu đầu vào lớn hơn hoặc bằng 0 và giá trị trước
đó của nó nhỏ hơn 0.
• Đầu ra sai (bằng 0) khi tín hiệu đầu vào nhỏ hơn 0 hoặc nếu tín hiệu đầu vào
không âm, giá trị trước đó của nó cũng không âm.
Khối này chỉ hỗ trợ thời gian lấy mẫu rời rạc.

40
j. Detect rise positive.
Phát hiện cạnh tăng khi giá trị tín hiệu tăng đến giá trị dương hoàn toàn và giá trị
trước đó của nó là không dương.
Khối Phát hiện Rise Positive phát hiện một cạnh tăng bằng cách xác định xem đầu
vào có đúng là tích cực hay không và giá trị trước đó của nó là không dương.
• Đầu ra đúng (bằng 1) khi tín hiệu đầu vào lớn hơn 0 và giá trị trước đó nhỏ hơn
hoặc bằng 0.
• Đầu ra là false (bằng 0) khi đầu vào là âm hoặc bằng không, hoặc nếu đầu vào là
dương thì giá trị trước đó cũng là dương.
Khối này chỉ hỗ trợ thời gian lấy mẫu rời rạc.

k. Detect change
Phát hiện sự thay đổi trong giá trị tín hiệu
Khối Phát hiện Thay đổi xác định nếu một tín hiệu đầu vào không bằng giá trị trước
đó của nó. Điều kiện ban đầu xác định giá trị ban đầu của đầu vào trước đó U / z.
Khối này chỉ hỗ trợ thời gian lấy mẫu rời rạc.
Tín hiệu đầu vào: được chỉ định dưới dạng vô hướng, vectơ hoặc ma trận.
Tín hiệu đầu ra: true (bằng 1) khi tín hiệu đầu vào không bằng giá trị trước đó của
nó; false (bằng 0) khi tín hiệu đầu vào bằng với giá trị trước đó của nó.

41
l. Detect decrease.
Phát hiện giảm giá trị tín hiệu
Khối giảm phát hiện xác định xem đầu vào có hoàn toàn nhỏ hơn giá trị trước đó
không.
Khối này chỉ hỗ trợ thời gian lấy mẫu rời rạc.
Tín hiệu đầu vào, được chỉ định dưới dạng vô hướng, vectơ hoặc ma trận.
Tín hiệu đầu ra, true (bằng 1) khi tín hiệu đầu vào nhỏ hơn giá trị trước đó; Sai (bằng
0) khi tín hiệu đầu vào lớn hơn hoặc bằng giá trị trước đó.

42
m. Detect increase.
Phát hiện sự gia tăng giá trị tín hiệu
Khối Phát hiện Tăng xác định xem một đầu vào có lớn hơn giá trị trước đó của nó hay
không.
• Đầu ra đúng (bằng 1) khi tín hiệu đầu vào lớn hơn giá trị trước đó của nó.
• Đầu ra sai (bằng 0) khi tín hiệu đầu vào nhỏ hơn hoặc bằng giá trị trước đó của
nó.
Khối này chỉ hỗ trợ thời gian lấy mẫu rời rạc.

n. Extract bits
Lựa chọn đầu ra của các bit liền kề từ tín hiệu đầu vào
Khối Extract Bits cho phép bạn xuất ra một lựa chọn liền kề các bit từ giá trị số
nguyên được lưu trữ của tín hiệu đầu vào. Sử dụng tham số Bits để trích xuất để xác
định phương pháp chọn các bit đầu ra.
•Chọn Upper half để xuất ra một nửa số bit đầu vào có chứa bit quan trọng
nhất. Nếu có một số bit lẻ trong tín hiệu đầu vào, thì số lượng bit đầu ra được cho bởi
phương trình
số bit đầu ra = ceil(số bit đầu vào / 2)
•Chọn Lower half để xuất ra một nửa số bit đầu vào chứa bit ít quan trọng
nhất. Nếu có một số bit lẻ trong tín hiệu đầu vào, thì số lượng bit đầu ra được cho bởi
phương trình

43
số bit đầu ra = ceil(số bit đầu vào / 2)
• Chọn Range starting with most significant bit để xuất ra một số bit quan trọng
nhất của tín hiệu đầu vào. Chỉ định số lượng bit quan trọng nhất để xuất ra trong
tham số Number of bits .
• Chọn Range ending with least significant bit để xuất ra một số lượng bit nhỏ nhất
có ý nghĩa nhất định của tín hiệu đầu vào. Chỉ định số lượng bit ít quan trọng nhất để
xuất ra trong tham số Number of bits .
• Chọn Range of bits để chỉ ra một loạt các bit liền nhau của đầu vào đến đầu ra
trong tham số Bit indices . Bạn chỉ ra phạm vi theo [start end] định dạng và chỉ số của
các bit đầu vào được gắn nhãn liên tục bắt đầu từ 0 cho bit quan trọng nhất.
Khối này không báo cáo về cảnh báo tràn trong quá trình mô phỏng.
Tín hiệu đầu vào, được chỉ định dưới dạng mảng vô hướng, vectơ, ma trận hoặc
ND. Các đầu vào dấu phẩy động được chuyển qua khối không thay đổi. booleanđầu vào
được coi như uint8tín hiệu.
Lựa chọn liền kề của các bit được trích xuất, được chỉ định dưới dạng mảng vô
hướng, vectơ, ma trận hoặc ND. Các đầu vào dấu phẩy động được chuyển qua khối
không thay đổi.

o. Interval test
Xác định xem tín hiệu có trong khoảng thời gian được chỉ định hay không
Khối Kiểm tra khoảng thời gian xuất ra true ( 1) nếu đầu vào nằm giữa các giá trị
được chỉ định bởi các tham số Giới hạn dưới và Giới hạn trên . Khối xuất ra false ( 0) nếu
đầu vào nằm ngoài các giá trị đó. Đầu ra của khối khi đầu vào bằng Giới hạn
dưới hoặc Giới hạn trên được xác định bằng cách bạn chọn hộp kiểm Khoảng đóng ở
bên trái và Khoảng đóng ở bên phải .

44
p. Interval test dynamic
Xác định xem tín hiệu có trong khoảng thời gian được chỉ định hay không
Khối động kiểm tra khoảng thời gian cho kết quả true ( 1) nếu đầu vào nằm giữa các
giá trị của tín hiệu bên ngoài trở lên và lo . Khối xuất ra false ( 0) nếu đầu vào nằm ngoài
các giá trị đó. Để kiểm soát cách khối xử lý các giá trị đầu vào bằng với tín hiệu lo hoặc
tín hiệu tăng , hãy sử dụng hộp kiểm Khoảng thời gian đóng ở bên trái và Khoảng thời
gian đóng ở bên phải .
Input:
• Giới hạn trên của khoảng, được chỉ định dưới dạng mảng vô hướng, vectơ, ma
trận hoặc ND
• Tín hiệu đầu vào, được chỉ định dưới dạng mảng vô hướng, vectơ, ma trận hoặc
ND.
• Giới hạn dưới của khoảng, được chỉ định dưới dạng mảng vô hướng, vectơ, ma
trận hoặc ND.
Output:
• Tín hiệu đầu ra cho biết liệu các giá trị đầu vào có nằm trong khoảng thời gian xác
định hay không

45
q. Logical operator
Thực hiện thao tác logic được chỉ định trên đầu vào
Khối Toán tử lôgic thực hiện hoạt động lôgic được chỉ định trên các đầu vào của nó.
Giá trị đầu vào là true ( 1) nếu nó khác không và false ( 0) nếu nó bằng 0.
Tín hiệu đầu ra, bao gồm các số 0 và 1, có cùng kích thước với đầu vào
Bạn chọn hoạt động Boolean kết nối các đầu vào với danh sách tham
số Operator . Nếu bạn chọn rectangular làm thuộc tính Hình dạng biểu tượng , tên của
toán tử đã chọn sẽ hiển thị trên biểu tượng khối. Nếu bạn chọn distinctivelàm thuộc
tính Hình dạng biểu tượng , tên của toán tử đã chọn sẽ không hiển thị trên biểu tượng
khối. với các phép tính sau

Tên lệnh Chức năng

AND ĐÚNG nếu các bit tương ứng đều ĐÚNG

OR ĐÚNG nếu ít nhất một trong các bit tương ứng là ĐÚNG

NAND ĐÚNG nếu ít nhất một trong các bit tương ứng là SAI

NOR ĐÚNG nếu không có bit tương ứng là ĐÚNG

XOR ĐÚNG nếu các số lẻ số bít nào tương ứng là ĐÚNG

NOT ĐÚNG nếu đầu vào là SAI

46
NXOR ĐÚNG nếu số lượng đầu vào chẵn là ĐÚNG

Ví dụ:

r. Relational operator
Thực hiện hoạt động quan hệ được chỉ định trên các đầu vào
Khối Toán tử quan hệ thực hiện thao tác quan hệ được chỉ định trên đầu vào. Giá trị
bạn chọn cho tham số toán tử quan hệ xác định xem khối có chấp nhận một hoặc hai tín
hiệu đầu vào hay không.

47
Chế độ hai đầu vào
Theo mặc định, khối Toán tử quan hệ so sánh hai đầu vào bằng cách sử dụng tham
số toán tử quan hệ mà bạn chỉ định. Đầu vào đầu tiên tương ứng với cổng đầu vào trên
cùng và đầu vào thứ hai với cổng đầu vào dưới cùng. (Xem Vị trí cổng sau khi xoay hoặc
lật để biết mô tả về thứ tự cổng cho các hướng khối khác nhau.)
Bạn có thể chỉ định một trong các thao tác sau ở chế độ hai đầu vào:

Kí hiệu Nội dung

== Đúng nếu đầu vào đầu tiên bằng với đầu vào thứ hai

~= Đúng nếu đầu vào đầu tiên không bằng đầu vào thứ hai

< Đúng nếu đầu vào đầu tiên nhỏ hơn đầu vào thứ hai

<= Đúng nếu đầu vào đầu tiên nhỏ hơn hoặc bằng đầu vào thứ hai

>= Đúng nếu đầu vào đầu tiên lớn hơn hoặc bằng đầu vào thứ hai

> Đúng nếu đầu vào đầu tiên lớn hơn đầu vào thứ hai

Chế độ một đầu vào


Khi bạn chọn một trong các thao tác sau cho toán tử Quan hệ , khối sẽ chuyển sang
chế độ một đầu vào.

Tên Nội dung

isInf Đúng nếu đầu vào là Inf

isNaN Đúng nếu đầu vào là NaN

isFinite Đúng nếu đầu vào là hữu hạn

Input:
• Tín hiệu đầu vào đầu tiên, được chỉ định dưới dạng vô hướng, vectơ hoặc ma
trận.
• Tín hiệu đầu vào thứ hai, được chỉ định dưới dạng vô hướng, vectơ hoặc ma trận.
Output:
• Tín hiệu đầu ra, bao gồm các số không và một, có cùng kích thước với đầu vào

48
s. Shilf arithmetic
Các bit dịch chuyển hoặc điểm nhị phân của tín hiệu
Khối Số học Dịch chuyển có thể dịch chuyển các bit hoặc điểm nhị phân của tín hiệu
đầu vào hoặc cả hai.
Input:
• Số sẽ được vận hành, được chỉ định dưới dạng vô hướng, vectơ hoặc mảng.
• Số bit cần dịch chuyển, được chỉ định dưới dạng một đại lượng vô hướng.
Output:
• Kết quả của hoạt động, được trả về dưới dạng vô hướng, vectơ hoặc mảng.

49
50
PROJECT 1
1. Project 1-3.
Trong bài tập này chúng ta xem sét 1 động cơ và 1 toa tầu , điều kiển cho đoàn tầu
hoạt động 1 cách trơn tru với sai số tối thiểu.
Khối lượng của động cơ và toa tàu sẽ được biểu thị bằng 𝑀1 và 𝑀2 . Hơn nữa, động
cơ và ô tô được kết nối thông qua một khớp nối có độ cứng k. Lực F thể hiện lực sinh ra
giữa các bánh xe của động cơ và đường ray, đồng thời 𝜇 thể hiện hệ số ma sát lăn.

Áp dụng định luật II Newton theo phương nằm ngang dựa trên các sơ đồ vật tự do ở
trên dẫn đến các phương trình điều chỉnh sau đây cho hệ thống xe lửa.

∑ 𝐹1 = 𝐹 − 𝑘 (𝑥1 −𝑥2 ) − 𝜇𝑀1 𝑔𝑥̇ 1 = 𝑀1 𝑥̈ 1

∑ 𝐹2 = 𝑘 (𝑥1 −𝑥2 ) − 𝜇𝑀2 𝑔𝑥̇ 2 = 𝑀2 𝑥̈ 2

Xây đựng các khối simulink, theo các bước hướng dẫn ta có mạch như sau:

51
Trước khi chạy chương trình ta gán các giá trị cho các biến :

Bây giờ, chúng ta cần cung cấp một đầu vào thích hợp cho động cơ. Mở khối the
Signal Generator . điều chỉnh các thông số như sau:

52
Ta có kết quả như sau:

53
Scope x1_dot

Scope x1

54
Scope x2
2. Project 1-4.
Đầu tiên chúng ta hãy tạo cấu trúc để mô phỏng hệ thống xe lửa trong phản hồi
thống nhất với bộ điều khiển PID. xóa ba khối phạm vi và thay thế mỗi khối bằng khối
Out1 từ thư viện Sinks. Gắn nhãn mỗi khối Out1 với tên biến tương ứng, "x1_dot", "x1"
và "x2". Sau đó xóa khối Bộ tạo tín hiệu và thay thế bằng khối In1 từ thư viện Nguồn. Mô
hình bây giờ sẽ xuất hiện như sau:

55
chọn tất cả các khối trong mô hình của bạn và chọn Create Subsystem from
Selection sau khi nhấp chuột phải vào cửa sổ mô hình. mô hình như hình dưới đây.

Chúng tôi sẽ sử dụng bộ điều khiển PID .Đặt khối này nối tiếp với hệ thống con tàu.
Tiếp theo, thêm một khối Signal Builder từ thư viện Sources để đại diện cho vận tốc
được truyền cho tàu , ta setup như sau:

56
Mô hình của bạn sẽ xuất hiện như sau:

57
Kết quả của x1_dot:

Chúng ta cần xác định các đầu vào và đầu ra của mô hình mà chúng ta muốn trích
xuất. Đầu vào của hệ thống xe lửa là lực lượng F. Chúng ta có thể chỉ định điều này bằng
cách nhấp chuột phải vào tín hiệu đại diện cho "F" (đầu ra của khối PID) và chọn Linear
Analysis Points > Open-loop Input từ menu kết quả. Tương tự như vậy, chúng ta có thể
chỉ định đầu ra của hệ thống xe lửa bằng cách nhấp chuột phải vào "x1_dot" Linear
Analysis Points > Open-loop Output từ menu kết quả.

58
Chọn lệnh Linear Analysis Tool=> chọn lệnh step .ta được màn hình như sau:

Chọn analysis->control design ->control system designer, nó sẽ xuất hiện cửa sổ


control system designer,trong cửa sổ này chọn edit architecture->add block->chọn PID
controller->ok sẽ ra được hình như sau:

59
Chọn new plot->plot->new I-O transfer response , chọn tiếp các yếu tố khác trong
cửa sổ này rồi chọn plot sẽ ra được hình như sau:

60
Chọn compensator editor, nó sẽ xuất hiện cửa sổ sau,trong cửa sổ này chọn real zero
=-0.15 , sẽ ra được hình như sau:

61
Ta có biểu đồ như sau:

62
Các lợi ích điều khiển đã được chọn sau đó có thể được áp dụng cho mô hình
Simulink bằng cách nhấp vào nút Cập nhật Khối . Nhấp vào khối Scope cho vận tốc của
động cơ xe lửa sẽ tạo ra một biểu đồ như hình dưới đây:

63
3. Project 1-5.
Các yếu tố của mô hình là:
− Khối cấu hình bộ giải
− Khối PS-Simulink và Simulink-PS (được hiển thị dưới dạng mũi tên đôi / tam giác
kép)
− Phạm vi kết nối với khối PS-Simulink
Các khối PS-Simulink và Simulink-PS xác định ranh giới giữa các mô hình đầu vào /
đầu ra Simulink trong đó các khối được đánh giá tuần tự và các mô hình Simscape nơi
các phương trình được đánh giá đồng thời.

64
Thêm các khối sau:
▪ Khối 2 Mass.
▪ Khối 1 Translational Spring .
▪ Khối 1 Mechanical Translational Reference .
▪ Khối 2 Translational Damper.

Thêm các khối sau:


▪ An Ideal Force Source block
▪ A Signal Generator block
▪ A Translational Motion Sensor block
Trong khối Bộ tạo tín hiệu, chọn Waveform là " square" với Amplitude là "-1"
và Frequency là "0,001 Hz". Để mở hộp thoại Tham số cấu hình, hãy nhập CTRL-E . Sau

65
đó chọn type là "Bước có thể thay đổi" và slover là "tự động". Stop time mô
phỏng thành "1000". Kết nối các khối như hình dưới đây để hoàn thành mô hình.

Ta có kết quả như sau:

66
4. Project 1-6.
Xây dựng mô hình simulink theo các hướng dẫn ta được mô hình sau:

Ta áp dụng định luật newton và kirchoff vào hệ thống cơ để tạo ra các chương trình
sau:
𝑑2 𝜃 𝑑𝜃 𝑑 2 𝜃 1 𝑑𝜃
𝐽 2
= 𝑇 − 𝑏 → 2 = (𝐾𝑡 𝑖 − 𝑏 )
𝑑𝑡 𝑑𝑡 𝑑𝑡 𝐽 𝑑𝑡
𝑑𝑖 𝑑𝑖 1 𝑑𝜃
𝐿 = −𝑅𝑖 + 𝑉 − 𝑒 → = (−𝑅𝑖 + 𝑉 − 𝐾𝑒 )
𝑑𝑡 𝑑𝑡 𝐿 𝑑𝑡
Tiếp tục thực hiện các bước:

Bây giờ, chúng ta sẽ thêm vào các mômen được biểu diễn trong phương trình
Newton. Đầu tiên, chúng tôi sẽ thêm vào mô-men xoắn giảm chấn.

67
▪ Chèn 2 khối Gain bên dưới khối "Quán tính", sau đó chọn khối đó bằng cách nhấp
một lần vào khối đó. Tiếp theo chọn Flip Block từ menu Rotate & Flip (đạt được bằng
cách nhấp chuột phải) để lật khối từ trái sang phải. Bạn cũng có thể lật khối đã chọn
bằng cách giữ Ctrl-I .
▪ Đặt giá trị Gain thành "b" và đổi tên khối "giảm chấn".
▪ Nhấn vào một dòng (giữ Ctrl trong khi vẽ hoặc nhấp chuột phải) khỏi đầu ra của
Bộ tích hợp xoay đầu tiên (d / dt (theta)) và kết nối nó với đầu vào của khối Giảm chấn.
▪ Vẽ một đường từ đầu ra Giảm chấn tới đầu vào âm của khối Thêm quay.
Tiếp theo, chúng ta sẽ thêm mômen từ phần ứng.
▪ Chèn một khối Gain được gắn vào đầu vào tích cực của khối Thêm xoay bằng một
dòng.
▪ Chỉnh sửa giá trị của nó thành "K" để đại diện cho hằng số động cơ và gắn nhãn là
"Kt".
▪ Tiếp tục vẽ đường dẫn từ Bộ tích hợp hiện tại và kết nối nó với khối Kt Gain.

Tiếp tục thực hiện các bước chỉ dẫn:

68
Chọn Create Subsystem from Selection sau khi nhấp chuột phải vào cửa sổ mô hình.
mô hình như hình dưới đây:

Xây đựng mô hình simscape theo hướng dẫn ,ta có:

69
Chọn Create Subsystem from Selection sau khi nhấp chuột phải vào cửa sổ mô hình.
mô hình như hình dưới đây:

5. Bài 1-7.
Trích xuất mô hình matlab:

70
Nhập các thông số sau:

Sau đó, chúng ta cần xác định các đầu vào và đầu ra của mô hình mà chúng ta muốn
trích xuất. Đầu tiên nhấp chuột phải vào tín hiệu đại diện cho đầu vào Điện áp trong mô
hình Simulink. Sau đó chọn Linear Analysis Points > Open-loop Input từ menu kết
quả. Tương tự, nhấp chuột phải vào tín hiệu đại diện cho đầu ra Tốc độ và chọn Linear
Analysis Points > Open-loop Output từ menu kết quả. Các tín hiệu đầu vào và đầu ra
bây giờ sẽ được xác định trên mô hình của bạn bằng các ký hiệu mũi tên như thể hiện
trong hình bên dưới:

Để thực hiện việc trích xuất, hãy chọn từ các menu ở đầu cửa sổ mô hình Analysis >
Control Design > Linear Analysis . Trong cửa sổ Linear Analysis Tool, Để thực hiện
tuyến tính hóa, tiếp theo hãy nhấp vào nút Step được xác định bằng phản hồi từng bước
với một hình tam giác nhỏ màu xanh lá cây. Kết quả của quá trình tuyến tính hóa này là

71
đối tượng linsys1 sẽ xuất hiện trong Linear Analysis Workspace như hình bên dưới. Hơn
nữa, phản ứng bước vòng mở của hệ thống tuyến tính hóa cũng sẽ được tạo tự động:

Thử mô hình:

72
Phản hồi vòng lập mở:
chúng ta cần thêm một tín hiệu đầu vào và một phương tiện để hiển thị đầu ra của
mô phỏng của chúng ta. Điều này được thực hiện bằng cách làm như sau:
▪ Loại bỏ các khối In1 và Out1.
▪ Chèn khối Step từ thư viện Simulink / Sources và kết nối nó bằng một đường với
đầu vào Điện áp của hệ thống con động cơ.
▪ Để xem đầu ra Tốc độ, hãy chèn một Phạm vi từ thư viện Simulink / Sinks và kết
nối nó với đầu ra Tốc độ của hệ thống con động cơ.
▪ Để cung cấp đầu vào bước đơn vị thích hợp tại t = 0, hãy nhấp đúp vào khối Bước
và đặt Step time thành "0".

73
Chạy chương trình:

Phản hồi vòng kín và bộ bì bộ trễ:


Cụ thể hơn, hãy làm theo các bước dưới đây:
▪ Loại bỏ các cổng Đầu vào và Đầu ra của mô hình.
▪ Chèn một khối Sum từ thư viện Simulink / Math Operations. Sau đó nhấp đúp vào
khối và nhập "| + -" cho Danh sách các dấu hiệu có ký hiệu "|" phục vụ như một bộ đệm
giữa các cổng của khối.
▪ Chèn một khối Hàm truyền từ thư viện Simulink / Continuous. Sau đó, nhấp đúp
vào khối và chỉnh sửa trường hệ số Mẫu số thành "[44 44]" và trường hệ số Mẫu
số thành "[1 0,01]".
▪ Chèn khối Bước từ thư viện Simulink / Sources. Sau đó nhấp đúp vào khối và
đặt Step time thành "0".
▪ Chèn một khối Scope từ thư viện Simulink / Sinks.

74
Ta có mô hình như sau:

Chạy chương trình :

75
Đáp ứng vòng kín với bộ bù chì:
Thực hiện các bước hướng dẫn ta có mô hình sau:

Chạy chương trình :

76
Sau đó thay đổi thời gian dừng mô phỏng thành 1 giây và chạy mô hình. Hành động
chạy mô phỏng sẽ gửi đến không gian làm việc MATLAB một loạt các mảng tương ứng
với các biến được thiết lập trong mô hình của bạn với các khối To Workspace. Hơn nữa,
vectơ thời gian được sử dụng bởi lần chạy mô phỏng đó được lưu trữ trong biến
mặc định . Bây giờ bạn có thể vẽ biểu đồ kết quả mô phỏng của mình từ không gian làm
việc. Nhập mã sau để xem cách vẽ biểu đồ cụ thể các biến nỗ lực kiểm soát.

77
6. Project 1-8.
Thực hiện các bước hướng dẫn ta được mạch như sau:

Nhập các thông số sau:

78
79
80
81
Chạy chương trình:

82
Tạo chương trình phụ và thiết lập bộ điều khiển theo cac bước ta có:

Chạy chương trình :

83
Thiết lập bộ điều khiển : bù chì ,ta có:

Chạy chương trình:

84
7. Project 1-9.
Từ bài toán chính, các phương trình động lực học trong miền Laplace và hàm truyền
vòng hở của Động cơ điện một chiều như sau.
𝑠(𝐽𝑠 + 𝑏)𝜃(𝑠) = 𝐾𝐼 (𝑠)
(𝐿𝑠 + 𝑅)𝐼(𝑠) = 𝑉 (𝑠) − 𝐾𝑠𝜃 (𝑠)
𝜃(𝑠) 𝐾
𝑃 (𝑠 ) = =
𝑉 (𝑠) (𝐽𝑠 + 𝑏)(𝐿𝑠 + 𝑅) + 𝐾 2
Cấu trúc của hệ thống điều khiển có dạng như hình dưới đây.

85
Đối với tham chiếu bước 1 rad / giây, các tiêu chí thiết kế như sau.
▪ Thời gian giải quyết dưới 2 giây
▪ Vượt quá ít hơn 5%
▪ Lỗi trạng thái ổn định dưới 1%

Nhâp code :

Kiểm soát tỷ lệ:


Đầu tiên chúng ta hãy thử sử dụng một bộ điều khiển tỷ lệ với độ lợi 100, tức
là C ( s ) = 100. Để xác định hàm truyền vòng kín, chúng ta sử dụng lệnh phản hồi . Thêm
code vao:

86
Cho chạy chương trình:

87
Kiểm soát PID: thử một bộ điều khiển PID với nhỏ 𝐾𝑑 và 𝐾𝑖 . Sửa đổi tệp code:

Chạy chương trình :

88
Điều chỉnh lợi nhuận: Trong trường hợp này, phần đuôi dài trên đồ thị phản ứng
bước là do độ lợi tích phân nhỏ và do đó, cần một thời gian dài để tích phân hình thành
và loại bỏ sai số trạng thái ổn định. Quá trình này có thể được đẩy nhanh bằng cách tăng
giá trị của 𝐾𝑖 . Quay lại m-file của bạn và thay đổi 𝐾𝑖 thành 200 như sau. Chạy lại tệp và
bạn sẽ nhận được âm mưu hiển thị bên dưới. Một lần nữa các chú thích được thêm vào
bằng cách nhấp chuột phải vào hình và chọn Đặc điểm từ menu kết quả:

89
90
Ta nhập code để giảm xung nhảy loạn xạ :

91
8. Project 1-10.
Từ bài toán chính, hàm truyền vòng hở của Động cơ một chiều được đưa ra như sau.
𝜃(𝑠) 𝐾
𝑃 (𝑠 ) = =
𝑉 (𝑠) 𝑠((𝐽𝑠 + 𝑏)(𝐿𝑠 + 𝑅) + 𝐾 2 )

Cấu trúc của hệ thống điều khiển có dạng như hình dưới đây.

Đối với tham chiếu bước 1 radian, các tiêu chí thiết kế như sau.

92
▪ Thời gian ổn định dưới 0,040 giây
▪ Vượt dưới 16%
▪ Không có lỗi trạng thái ổn định, ngay cả khi có đầu vào nhiễu loạn bước.
Nhập code:

Kiểm soát tỉ lệ :
Trước tiên, hãy thử sử dụng một bộ điều khiển tỷ lệ với độ lợi từ 1 đến 21.
Một mảng các mô hình LTI , mỗi mô hình có độ lợi tỷ lệ khác nhau, có thể được xây
dựng bằng cách sử dụng vòng lặp for . Có thể tạo các hàm truyền vòng kín bằng
lệnh phản hồi . Thêm code:

93
Chúng ta cũng hãy xem xét phản ứng của hệ thống đối với sự xáo trộn bước. Trong
trường hợp này, chúng tôi sẽ giả định một tham chiếu bằng 0 và xem xét cách hệ thống
tự phản ứng với nhiễu. Lệnh phản hồi vẫn có thể được sử dụng để tạo ra chức năng
truyền vòng kín nơi vẫn có phản hồi tiêu cực, tuy nhiên, bây giờ chỉ có chức năng chuyển
nhà máy P ( s ) là trong đường chuyển tiếp và bộ điều khiển C ( s) được coi là nằm trong
đường dẫn phản hồi. Thêm phần sau vào cuối tệp code và chạy nó trong cửa sổ lệnh:

94
95
Các biểu đồ trên cho thấy rằng hệ thống không có lỗi ở trạng thái ổn định khi phản
ứng với tham chiếu bước của chính nó, bất kể lựa chọn độ lợi tỷ lệ 𝐾𝑝 . Điều này là do
thực tế là nhà máy có một bộ tích hợp, tức là, hệ thống là loại 1. Tuy nhiên, hệ thống có
lỗi trạng thái ổn định đáng kể khi nhiễu được thêm vào. Cụ thể, phản ứng do tham chiếu
và nhiễu được áp dụng đồng thời bằng tổng của hai đồ thị ở trên. Điều này xuất phát từ
tính chất chồng chất giữ cho các hệ thống tuyến tính. Do đó, để có sai số trạng thái ổn
định bằng không khi có nhiễu, chúng ta cần phản ứng nhiễu để phân rã về không. Giá trị
càng lớn của 𝐾𝑝 càng nhỏ thì sai số trạng thái ổn định do nhiễu, nhưng nó không bao giờ
đạt đến không. Hơn nữa, việc sử dụng các giá trị ngày càng lớn hơn 𝐾𝑝 có tác động bất
lợi là làm tăng độ vọt lố và thời gian ổn định như có thể thấy từ biểu đồ tham chiếu
bước
Nên ta chọn Kp=21.

96
Kiểm soát PI:
Đầu tiên chúng ta hãy thử một bộ điều khiển PI để loại bỏ lỗi trạng thái ổn định do
nhiễu. Chúng tôi sẽ đặt Kp= 21 và kiểm tra mức tăng tích phân Ki trong khoảng từ 100
đến 500. Thay đổi tệp m thành như sau và chạy trong cửa sổ lệnh:

97
Bây giờ , code để coi điều xảy ra với sự xáo trộn :

98
99
Điều khiển tích phân đã giảm sai số trạng thái ổn định xuống không, ngay cả khi có
nhiễu bước; đó là mục tiêu để thêm số hạng tích phân. Đối với phản ứng đối với tham
chiếu bước, tất cả các phản hồi trông giống nhau với số lượng dao động tăng lên một
chút khi Kiđược tạo ra lớn hơn. Tuy nhiên, đáp ứng do nhiễu thay đổi đáng kể khi độ lợi
tích phân Ki thay đổi. Cụ thể, giá trị của Ki việc làm càng lớn thì lỗi giảm xuống 0 càng
nhanh. Chúng tôi sẽ chọn Ki= 500 vì lỗi do nhiễu giảm xuống 0 một cách nhanh chóng,
mặc dù phản hồi đối với tham chiếu có thời gian giải quyết lâu hơn và vượt quá nhiều
hơn.
Kiểm soát PID:
Chúng tôi sẽ điều tra các khoản lãi phái sinh Kd trong khoảng từ 0,05 đến 0,25.

100
Bây giờ , code để coi điều xảy ra với sự xáo trộn :

101
102
Có vẻ như khi Kd= 0,15, chúng ta có thể đáp ứng các yêu cầu thiết kế của mình.
Từ những điều trên, chúng ta thấy rằng phản hồi đối với tham chiếu bước có thời
gian ổn định khoảng 34 mili giây (<40 mili giây), vượt quá 12% (<16%) và không có lỗi
trạng thái ổn định. Ngoài ra, phản ứng nhiễu loạn bước cũng không có lỗi trạng thái ổn
định. Vì vậy, bây giờ chúng tôi biết rằng nếu chúng tôi sử dụng bộ điều khiển PID với:
Ta chọn : Kp=21, Ki=500 ,Kd=0.15

9. Project 1-12
xây đựng mô hình simulink:
Hệ thống này sẽ được mô hình hóa bằng cách tổng các mômen tác dụng lên quán
tính của rôto và tích hợp gia tốc góc của rôto để cho vận tốc, và tích phân vận tốc để có
được vị trí. Ngoài ra, các định luật Kirchoff sẽ được áp dụng cho mạch phần ứng. Đầu
tiên, chúng ta sẽ mô hình hóa các tích phân của gia tốc rôto và tốc độ thay đổi của dòng
điện phần ứng được trình bày dưới đây.
𝑑2 𝜃 𝑑𝜃
∬ 2 𝑑𝑡 = ∫ 𝑑𝑡 = 𝜃
𝑑𝑡 𝑑𝑡
𝑑𝑖
∫ 𝑑𝑡 = 𝑖
𝑑𝑡
Để xây dựng mô hình mô phỏng, hãy mở Simulink và mở một cửa sổ mô hình
mới. Sau đó, hãy làm theo các bước được liệt kê bên dưới.
▪ Chèn một khối Tích hợp từ thư viện Simulink / Continous và vẽ các đường đến và
từ các thiết bị đầu cuối đầu vào và đầu ra của nó.
▪ Gắn nhãn dòng đầu vào "d2 / dt2 (theta)" và dòng đầu ra "d / dt (theta)" như
hình dưới đây. Để thêm một nhãn như vậy, hãy nhấp đúp vào khoảng trống ngay phía
trên dòng.
▪ Chèn một khối Tích hợp khác được gắn vào đầu ra của khối trước đó và vẽ một
đường từ đầu ra của nó.
▪ Gắn nhãn dòng đầu ra "theta".
▪ Chèn khối Tích phân thứ ba lên trên khối đầu tiên và vẽ các đường đến và từ các
thiết bị đầu cuối đầu vào và đầu ra của nó.
▪ Gắn nhãn dòng đầu vào "d / dt (i)" và dòng đầu ra "i".

103
Tiếp theo, chúng ta sẽ áp dụng định luật Newton và định luật Kirchoff vào hệ động
cơ để tạo ra các phương trình sau:
𝑑2 𝜃 𝑑𝜃 𝑑 2 𝜃 1 𝑑𝜃
𝐽 2 =𝑇−𝑏 → 2 = (𝐾𝑡 𝑖 − 𝑏 )
𝑑𝑡 𝑑𝑡 𝑑𝑡 𝐽 𝑑𝑡
𝑑𝑖 𝑑𝑖 1 𝑑𝜃
𝐿 = −𝑅𝑖 + 𝑉 − 𝑒 → = (−𝑅𝑖 + 𝑉 − 𝐾𝑏 )
𝑑𝑡 𝑑𝑡 𝐿 𝑑𝑡
1
Gia tốc góc bằng nhân với tổng của hai số hạng (một dương, một âm). Tương tự,
𝐽
1
đạo hàm của dòng điện bằng nhân với tổng của ba số hạng (một dương, hai âm). Tiếp
𝐿
tục lập mô hình các phương trình này trong Simulink, hãy làm theo các bước dưới đây.

chúng ta sẽ thêm vào các mômen được biểu diễn trong phương trình Newton và
phần ứng.

104
chúng ta sẽ thêm các thuật ngữ điện áp được biểu diễn trong phương trình
Kirchoff. Đầu tiên, chúng ta sẽ thêm điện áp rơi trên điện trở phần ứng.
Tiếp theo, chúng tôi sẽ thêm vào emf phía sau từ động cơ.

Bây giờ mô hình đã được xây dựng và chúng ta chỉ cần thêm đầu vào điện áp và giám
sát đầu ra vị trí. Chúng tôi sẽ chèn các cổng In1 và Out1 từ thư viện Simulink / Ports &
Subsystems như thể hiện trong hình sau để chúng tôi có thể lưu mô hình động cơ làm
hệ thống con.

105
Chọn Create Subsystem from Selection , ta mạch như sau:

Xây dựng mô hình simcape:


Thực hiện các bước theo hướng dẫn ta được mô hình như sau:

106
Nhập các tham số vào matlab:

Chọn Create Subsystem from Selection , ta mạch như sau:

Xây dựng mô hình thông qua biểu diễn LTI:

107
sử dụng khối Hệ thống LTI từ thư viện Hộp công cụ Hệ thống Điều khiển như được
hiển thị bên dưới. Hình này minh họa cách mô hình được xác định bằng cách nhập "ss
(A, B, C, D)" vào ô biến hệ thống LTI , mặc dù các lệnh tf và zpk cũng có thể được sử
dụng.
Thêm cổng In1 và Out1 từ thư viện Cổng & Hệ thống con sau đó tạo mô hình được
hiển thị bên dưới:

10. Project 1-14


Phản hồi vòng lập mở :

Bắt đầu với mô hình trên được lưu dưới dạng hệ thống con và làm theo các bước
được đưa ra bên dưới.
▪ Loại bỏ các cổng IN và OUT.
▪ Chèn khối Bước từ thư viện Simulink / Sources và kết nối nó bằng một đường với
đầu vào Điện áp.

108
▪ Để xem vị trí đầu ra, hãy chèn một Phạm vi từ thư viện Simulink / Sinks và kết nối
nó với đầu ra Vị trí.
▪ Để cung cấp đầu vào bước đơn vị thích hợp tại t = 0, hãy nhấp đúp vào khối Bước
và đặt step time thành "0".

Để mô phỏng hệ thống này, trước tiên phải thiết lập các chi tiết của mô phỏng.
Trong menu kết quả, xác định độ dài mà mô phỏng sẽ chạy trong trường stop
time . Chúng tôi sẽ nhập "0,2" vì 0,2 giây sẽ đủ lâu để phản hồi bước đạt trạng thái ổn
định. Cũng trong hộp thoại Tham số cấu hình , bộ giải số được sử dụng trong mô phỏng
có thể được chỉ định. Tiếp tục và thay đổi trường Bộ giải từ ode45 mặc định (Dormand-
Prince) thành ode15 (cứng / NDF)người giải quyết. Vì quy mô thời gian trong ví dụ này
rất nhỏ, nên phương pháp tích hợp hệ thống cứng này hiệu quả hơn phương pháp tích
hợp mặc định.

109
110
Nhập thông số vào :

Chạy chương trình:

Trích xuất 1 mô hình được lấy mẫu tuyến tính vào matlab:
Ta làm theo hướng dẫn:

111
Thực hiện các bước tiếp theo xong ta cho chạy chương trình:

Thực hiện kiểm soát kĩ thuật số trong simulink:


Thiết lập mạch và điền các số liệu đã cho cho các khối ta có như sau:

112
113
114
Chạy chương trình ta dc kết quả như sau:

115
Từ hình trên cho thấy độ vọt lố nhỏ hơn 16% và thời gian lắng nhỏ hơn 0,04 giây
theo yêu cầu. Điều này phù hợp với phân tích được sử dụng trong việc thiết kế bộ điều
khiển kỹ thuật số. Tuy nhiên, chúng tôi chưa đánh giá phản ứng của hệ thống với sự xáo
trộn hiện tại. Có thể thêm nhiễu bước theo cách tương tự như cách thêm tham chiếu
bước như thể hiện trong hình sau. Tính tổng nhiễu giữa bộ điều khiển và nhà máy theo
khối Zero Order Hold vì tín hiệu nhiễu là liên tục.

116
Chuyển đổi thời gian liên tục thành thời gian rời rạc:
Thực hiện các bước chuyển đổi ,ta có:

Để tùy chỉnh mô hình này:


▪ Loại bỏ các cổng In1 và Out1.
▪ Nhấp vào Analysis > Control Design > Model Discretizer và khối Hệ thống LTI sẽ
chuyển sang màu đỏ.
▪ Nhập Sample time là 0,001 và để Transform method là Zero-order hold.
▪ Sau đó, chọn Loại bỏ các khối đã chọn từ trình đơn Phân loại .
Mô hình LTI bây giờ được chuyển đổi thành rời rạc. Hãy thêm một bộ điều khiển kỹ
thuật số và mô phỏng phản ứng vòng kín của mô hình này.ta có mô hình sau:

117
118
PROJECT 2
1. Kiểm soát hành trình: mô hình hóa hệ thống.
a. Thiết lập vật lý.
Kiểm soát hành trình tự động là một ví dụ tuyệt vời về hệ thống kiểm soát phản hồi
được tìm thấy trong nhiều phương tiện hiện đại. Mục đích của hệ thống điều khiển
hành trình là duy trì tốc độ xe không đổi bất chấp các tác động bên ngoài , chẳng hạn
như thay đổi hướng gió hoặc cấp đường. Điều này được thực hiện bằng cách đo tốc độ
xe, so sánh nó với tốc độ mong muốn hoặc tốc độ tham chiếu và tự động điều chỉnh
bướm ga theo luật điều khiển .

b. Phương trình hệ thống.


𝑚𝑣̇ + 𝑏𝑣 = 𝑢
𝑦=𝑣
c. Mô hình không gian trạng thái.
−𝑏 1
𝑋̇ = [𝑣̇ ] = [ ] [ 𝑣 ] + [ ] [𝑢 ]
𝑚 𝑚
𝑦 = [1][𝑣 ]
Nhập pt vào matlab:

d. Mô hình hàm truyền.

119
𝑉 (𝑠 ) 1
𝑃 (𝑠 ) = =
𝑈(𝑠) 𝑚𝑠 + 𝑏

2. Kiểm soát hành trình: phân tích hệ thống.


𝑉 (𝑠 ) 1
𝑃 (𝑠 ) = =
𝑈(𝑠) 𝑚𝑠 + 𝑏
Các tham số được sử dụng trong ví dụ này như sau:
(m) khối lượng xe 1000 kg
(b) hệ số giảm chấn 50 Ns/m
(u) lực kiểm soát danh nghĩa 500 N
Bước tiếp theo là đưa ra một số tiêu chí thiết kế mà hệ thống bù phải đạt được. Khi
động cơ tạo ra một lực 500 Newton, ô tô sẽ đạt vận tốc tối đa là 10 m/s (22 dặm/giờ),
xem phần phản ứng bước vòng hở bên dưới. Một chiếc ô tô sẽ có thể tăng tốc đến tốc
độ đó trong vòng chưa đầy 5 giây. Trong ứng dụng này, độ vọt lố 10% và sai số trạng
thái ổn định 2% đối với vận tốc là đủ.
Lưu ý những điều trên, chúng tôi đã đề xuất các tiêu chí thiết kế sau cho vấn đề này:
▪ Thời gian tăng < 5 giây
▪ Vượt quá <10%
▪ Lỗi trạng thái ổn định <2%
Đáp ứng vòng hở của hệ thống, không có bất kỳ điều khiển phản hồi nào, đối với lực
đầu vào bước 500 Newton được mô phỏng trong MATLAB như sau:

120
121
Chúng tôi quan sát thấy rằng hệ thống vòng hở ổn định và không dao động vì cực là
thực và âm. Hơn nữa, tốc độ phản ứng được xác định bởi độ lớn của cực này, b/m : độ
lớn càng lớn, hệ thống càng nhanh đạt đến giá trị trạng thái ổn định. Vì chúng tôi
thường không thể thay đổi các tham số hệ thống để thay đổi phản ứng động của hệ

122
thống, thay vào đó, chúng tôi phải thiết kế các bộ điều khiển làm thay đổi các cực và
điểm không của hệ thống vòng kín để đáp ứng các thông số hiệu suất mong muốn.
Chúng ta cũng cần quan tâm đến đáp ứng tần số vòng hở của hệ thống mà chúng tôi
tìm thấy bằng cách sử dụng lệnh MATLAB sau:

Chúng ta thấy rằng các biểu đồ Bode thể hiện các đặc điểm dứt khoát của các hệ
thống bậc 1 , bao gồm cường độ -3 dB và pha -45 độ ở tần số góc w = b/m = 0,05 rad/s
và -20 dB/dec roll- tắt ở tần số cao.
3. Thiết kế bộ điều khiển PID

123
𝐾𝑖 𝐾𝑝 𝑠 + 𝐾𝐼 + 𝐾𝑑 𝑠 2
𝐶 (𝑠) = 𝐾𝑝 + + 𝐾𝑑 𝑠 =
𝑠 𝑠
Ta nhập vào matlab:

Ngoài ra, chúng ta có thể sử dụng đối tượng bộ điều khiển pid của MATLAB để tạo
bộ điều khiển thời gian liên tục tương đương như sau:

Kiểm soát tỉ lệ:


𝑌 (𝑠 ) 𝑃 (𝑠 )𝐶 ( 𝑠 ) 𝐾𝑃
𝑇 (𝑠 ) = = =
𝑅(𝑠) 1 + 𝑃(𝑠)𝐶 (𝑠) 𝑚𝑠 + 𝑏 + 𝐾𝑃

124
Bạn có thể tăng độ lợi tỷ lệ, 𝐾𝑃 để giảm thời gian tăng và lỗi trạng thái ổn định. Thay
đổi m-file hiện có để 𝐾𝑃 bằng 5000 và chạy lại nó trong cửa sổ lệnh MATLAB. Bạn sẽ
thấy cốt truyện sau đây.

125
126
Kiểm soát PI:
𝑌 (𝑠 ) 𝑃 (𝑠 )𝐶 (𝑠 ) 𝐾𝑃 𝑠 + 𝐾𝑖
𝑇 (𝑠 ) = = =
𝑅 (𝑠) 1 + 𝑃(𝑠)𝐶 (𝑠) 𝑚𝑠 + (𝑏 + 𝐾𝑃 ) + 𝐾𝑖

127
Bây giờ hãy điều chỉnh cả độ lợi tỷ lệ, 𝐾𝑃 , và độ lợi tích phân, 𝐾𝑖 , để thu được phản
hồi mong muốn. Khi bạn điều chỉnh hệ số khuếch đại tích phân, 𝐾𝑖 , chúng tôi khuyên
bạn nên bắt đầu với một giá trị nhỏ vì giá trị lớn 𝐾𝑖 có thể làm mất ổn định đáp
ứng. Khi 𝐾𝑃 bằng 800 và 𝐾𝑖 bằng 40, bước phản hồi sẽ giống như sau:

128
129
Điều khiển PID:
𝑌 (𝑠 ) 𝑃 (𝑠 ) 𝐶 (𝑠 ) 𝐾𝑑 𝑠 2 + 𝐾𝑃 𝑠 + 𝐾𝑖
𝑇 (𝑠 ) = = =
𝑅 (𝑠) 1 + 𝑃(𝑠)𝐶 (𝑠) (𝑚 + 𝐾𝑑 )𝑠 2 + (𝑏 + 𝐾𝑃 )𝑠 + 𝐾𝑖

4. Kiểm soát hành trình : mô hình Simulink.

Xây dựng mô hình:


𝑑𝑢
∫ 𝑑𝑡 = 𝑣
𝑑𝑡
Thực hiện các bước mô hình :

130
131
Để cung cấp đầu vào bước thích hợp là 500 tại thời điểm bằng 0, nhấp đúp vào khối
Bước và đặt Thời gian bước thành "0" và Giá trị cuối cùng thành "u".

Phản ứng vong lặp mở :

132
Chạy chương trình :

133
5. Thiết kế bộ điều khiển simulink:
Một mô hình tuyến tính của hệ thống (ở dạng không gian trạng thái hoặc hàm
truyền) có thể được trích xuất từ mô hình Simulink vào MATLAB. Điều này được thực
hiện thông qua việc sử dụng các khối In1 và Out1 và hàm MATLAB .
Thay thế Khối bước và Khối phạm vi bằng khối In1 và khối Out1 tương ứng (có thể
tìm thấy các khối này trong thư viện Cổng & Hệ thống con). Điều này xác định đầu vào
và đầu ra của hệ thống cho quá trình khai thác.

134
Chạy chương trình:

135
Thực hiện kiểm soát PI: thực hiện theo các bước hướng dẫn:

136
137
Phản hồi vòng kín :

138
6. Mô hình simscape
Tạo mô hình theo các bước hướng dẫn:

139
140
141
142
Sau khi xong ta có mô hình như sau:

143
Chạy chuong trình ta được:

144
Tạo 1 hệ thống con cho xe, thực hiện các bước theo hướng dẫn:

Chạy chương trình ta được:

145
7. Suspension :mô hình hóa hệ thống .

Thiết kế hệ thống treo ô tô là một bài toán điều khiển thú vị và đầy thử thách. Khi hệ
thống treo được thiết kế, mô hình 1/4 (một trong bốn bánh xe) được sử dụng để đơn
giản hóa vấn đề đối với hệ thống giảm chấn nhiều lò xo 1-D. Một sơ đồ của hệ thống này
được hiển thị dưới đây. Mô hình này dành cho hệ thống treo chủ động trong đó có bộ
truyền động có khả năng tạo ra lực điều khiển U để điều khiển chuyển động của thân xe
buýt.

Mô hình hàm truyền:

146
Nhập vào matlab:

8. Suspension :phân tích hệ thống.


Yêu cầu thiết kế:
Một hệ thống treo xe buýt tốt phải có khả năng bám đường thỏa đáng, đồng thời
vẫn mang lại sự thoải mái khi lái xe qua những khúc cua và hố trên đường. Khi xe buýt
gặp bất kỳ sự xáo trộn nào trên đường (ví dụ: ổ gà, vết nứt và mặt đường không bằng
phẳng), thân xe buýt không được dao động lớn và dao động sẽ tiêu tan nhanh chóng. Vì
khoảng cách X1-W rất khó đo và độ biến dạng của lốp (X2-W) không đáng kể, nên chúng
tôi sẽ sử dụng khoảng cách X1-X2 thay vì X1-W làm đầu ra trong bài toán của mình. Hãy
nhớ rằng đây là một xấp xỉ.
Nhiễu đường (W) trong bài toán này sẽ được mô phỏng bằng đầu vào bước. Bước
này có thể đại diện cho xe buýt ra khỏi ổ gà. Chúng tôi muốn thiết kế bộ điều khiển phản
hồi sao cho đầu ra (X1-X2) có độ vọt lố nhỏ hơn 5% và thời gian ổn định ngắn hơn 5
giây. Ví dụ: khi xe buýt chạy trên bậc thang 10 cm, thân xe buýt sẽ dao động trong phạm
vi +/- 5 mm và trở lại trạng thái chạy êm trong vòng 5 giây.
Phản ứng vòng lặp mở:

147
148
Từ biểu đồ phản ứng vòng hở này đối với nhiễu loạn bước 10 cm, chúng ta có thể
thấy rằng khi xe buýt đi qua một vết xóc 10 cm trên đường, thân xe buýt sẽ dao động
trong một thời gian dài không thể chấp nhận được (~50 giây) với tốc độ ban đầu biên độ
8 cm. Những người ngồi trong xe buýt sẽ không thoải mái với sự dao động như vậy do
độ vọt lố lớn và thời gian ổn định lâu.

149
Giải pháp cho những vấn đề này là thêm bộ điều khiển phản hồi vào hệ thống để cải
thiện hiệu suất. Sơ đồ của hệ thống vòng kín như sau, sẽ được thảo luận chi tiết hơn
trong phần thiết kế bộ điều khiển.

9. Suspension :thiết kế điều khiển PID


Các phương trình động ở dạng truyền:

Sơ đồ hệ thống:

150
Nhập hệ vào matlab:

Thêm bộ điều khiển PID:

151
152
Code thêm mã vào file:

153
154
Chọn độ lợi cho dk PID:

155
để so sánh đồ thị này với đồ thị của bộ điều khiển PID độ lợi thấp, bạn có thể thay
đổi trục:

156
10. Mô hình Simulink.
Ta có biểu thức :
𝑑 2 𝑥1 𝑑𝑥1
∬ 2
𝑑𝑡 = ∫ 𝑑𝑡 = 𝑥1
𝑑𝑡 𝑑𝑡
𝑑 2 𝑥2 𝑑𝑥2
∬ 2 𝑑𝑡 = ∫ 𝑑𝑡 = 𝑥2
𝑑𝑡 𝑑𝑡
Ta mô hình hóa theo các bước :

157
158
159
Ta chạy mạch được như sau:

11. Thiết kế bộ điều khiển Simulink.

160
161
Ta thêm lệnh step vào mã :

Chạy pt ta được như sau:

Ta tiếp tục triển khai kiểm soát phản hồi đầy đủ:

Ta tiếp tục thực hiện các bước tạo simulink như hướng dẫn:

162
163
164
Phản hồi vòng kín :

165
12. Mô hình simscape.
Ta thực hiện các bước theo hướng dẫn :

166
Sau khi xây dựng mô hình xong ta thiết lặp số liệu như sau:

167
168
Chạy chương trình ta thu được biểu đồ như sau:

169
170
Xác định hệ thống xe:

171
Xác định đầu vào và đo các trạng thái bổ xung:

172
Chạy mô phòng:

Tạo điều khiển vòng kín :

173
Chạy mô phỏng:

174
13. Ball and beam: mô hình hóa hệ thống.
Thiết lặp vật lý :
Một quả bóng được đặt trên một thanh xà, xem hình bên dưới, nơi nó được phép
lăn với 1 bậc tự do dọc theo chiều dài của thanh. Một tay đòn được gắn vào dầm ở một
đầu và một bánh răng servo ở đầu kia. Khi bánh răng servo quay một góc , cần gạt sẽ
thay đổi góc của chùm tia . Khi thay đổi góc so với vị trí nằm ngang, trọng lực làm cho
quả bóng lăn dọc theo thanh xà. Một bộ điều khiển sẽ được thiết kế cho hệ thống này
để có thể điều khiển được vị trí của quả bóng.

175
Phương trình hệ thống :

Nhập chương trình vào matlab:

176
Không gian trạng thái :

177
14. Phân tích hệ thống .
Hàm truyền :

178
Bản đồ cực:

179
Phản ứng bước vòng lặp mở:

15. Thiết kế bộ điều khiển PID.

180
Hàm truyền PID:

Kiểm soát tỷ lệ :

181
Kiểm soát phát sinh tỉ lệ .

182
183
Bây giờ hệ thống đã ổn định nhưng độ vọt lố quá cao và thời gian ổn định cần giảm
xuống một chút. Từ trang hướng dẫn PID trong phần về đặc tính của bộ điều khiển P, I
và D, chúng ta thấy rằng bằng cách tăng , chúng ta có thể giảm độ vọt lố và giảm một
chút thời gian ổn định. Do đó, hãy tạo = 20 trong tệp m của bạn và chạy lại. đầu ra
của bạn phải là:

184
Tiêu chí độ vọt lố được đáp ứng nhưng thời gian ổn định cần giảm xuống một
chút. Để giảm thời gian giải quyết, chúng tôi có thể thử tăng nhẹ để tăng thời gian
tăng. Độ lợi đạo hàm ( ) cũng có thể được tăng lên để loại bỏ một số độ vọt lố mà việc
tăng sẽ gây ra. Sau khi chơi với mức tăng một chút, có thể đạt được biểu đồ phản hồi
bước sau với = 15 và = 40:

185
16. Ball and beam : mô hình Simulink.
Thiết lăp mô hình theo các bước hướng dẫn:

186
187
Phản ứng vòng lặp mở:

188
17. Ball and beam : thiết kế bộ điều khiển Simulink.
Phản ứng vòng lặp mở :

189
Trích xuất mô hình tuyến tính:

190
Xây đựng 1 bộ bù chì :

Phản hồi vòng kín :

191
PROJECT 3
1. Inverted pendulum: Mô hình hóa hệ thống.
Vấn đề hệ thống và yêu cầu thiết kế.
Hệ thống trong ví dụ này bao gồm một con lắc ngược được gắn vào một xe đẩy có
động cơ. Hệ thống con lắc ngược là một ví dụ thường thấy trong sách giáo khoa về hệ
thống điều khiển và tài liệu nghiên cứu. Sự phổ biến của nó một phần xuất phát từ thực
tế là nó không ổn định nếu không có sự kiểm soát, nghĩa là con lắc sẽ đổ nếu xe đẩy
không được di chuyển để cân bằng nó. Ngoài ra, động lực học của hệ thống là phi tuyến
tính. Mục tiêu của hệ thống điều khiển là cân bằng con lắc ngược bằng cách tác dụng
một lực lên xe đẩy mà con lắc được gắn vào. Một ví dụ trong thế giới thực liên quan trực
tiếp đến hệ thống con lắc ngược này là sự kiểm soát thái độ của một tên lửa đẩy khi cất
cánh.

192
Trong trường hợp này, chúng ta sẽ xem xét một vấn đề hai chiều trong đó con lắc bị
hạn chế di chuyển trong mặt phẳng thẳng đứng như trong hình bên dưới. Đối với hệ
thống này, đầu vào điều khiển là lực di chuyển xe đẩy theo chiều ngang và đầu ra là vị
trí góc của con lắc và vị trí nằm ngang của xe đẩy x.

Các yêu cầu thiết kế của hệ thống:


• Thời gian giải quyết 𝜃 dưới 5s
• Góc con lắc 𝜃 không bao giờ lớn hơn 0.05 rad so với phương thẳng đứng .
Các yêu cầu thiết kế cho ví dụ không gian trạng thái con lắc ngược là:
▪ Thời gian giải quyết trong x và 𝜃 dưới 5 giây
▪ Thời gian tăng x ít hơn 0,5 giây
▪ Góc con lắc 𝜃 không bao giờ lớn hơn 20 độ (0,35 radian) so với phương thẳng
đứng
▪ Lỗi trạng thái ổn định dưới 2% cho x và 𝜃
a. Phương trình hệ
Tổng hợp các lực trong sơ đồ vật thể tự do của xe đẩy theo hướng nằm ngang, ta có:

Tổng hợp các lực trong sơ đồ vật tự do của con lắc theo hướng nằm ngang, bạn có
được biểu thức sau cho phản lực .

193
Nếu bạn thay thế phương trình này vào phương trình đầu tiên, bạn sẽ nhận được
một trong hai phương trình chính của hệ thống này.

Để có được phương trình chuyển động thứ hai cho hệ thống này, hãy tính tổng các
lực vuông góc với con lắc. Giải hệ thống dọc theo trục này đơn giản hóa rất nhiều toán
học. Bạn sẽ nhận được phương trình sau.

Để loại bỏ các số hạng và trong phương trình trên, hãy tính tổng các momen
xung quanh trọng tâm của con lắc để được phương trình sau.

Kết hợp hai biểu thức cuối cùng này, ta có sẽ có được phương trình chính thứ hai.

Phương trình chức năng chuyển khoảng:

Từ hàm truyền ở trên, có thể thấy rằng có cả một cực và một số 0 tại gốc tọa
độ. Chúng có thể bị hủy bỏ và chức năng truyền trở thành như sau.

Thứ hai, hàm truyền với 𝑋(𝑠) đầu ra là vị trí giỏ hàng có thể được suy ra theo cách
tương tự để đạt được kết quả sau:

Biểu diễn matlab.


Nhập code vào hệ thống:

194
Cho chạy ra kết quả như sau:

Nhập chương trình không gian trang thái :

195
196
Nhập tiếp lệnh :

Được kết quả như sau:

2. Inverted pendulum: phân tích hệ thống.


Từ bài toán chính, ta suy ra các hàm truyền vòng hở của hệ con lắc ngược như sau:

Nhớ lại rằng hai hàm truyền ở trên chỉ có giá trị đối với các giá trị nhỏ của góc , là
độ dịch chuyển góc của con lắc từ vị trí thẳng đứng đi lên. Ngoài ra, góc con lắc tuyệt
đối bằng + .
Để thiết lập vấn đề ban đầu và dẫn xuất của các hàm truyền ở trên,
Xem xét phản ứng của con lắc đối với xung lực 1 N giây tác dụng lên xe đẩy, các yêu
cầu thiết kế đối với con lắc là:
▪ Thời gian giải quyết dưới 5 giây
▪ Góc con lắc không bao giờ lớn hơn 0,05 radian so với phương thẳng đứng

197
Ngoài ra, các yêu cầu đối với phản hồi của hệ thống đối với lệnh bước 0,2 mét ở vị trí
xe đẩy là:
▪ Thời gian giải quyết trong và dưới 5 giây
▪ Thời gian tăng ít hơn 0,5 giây
▪ Góc con lắc không bao giờ lớn hơn 20 độ (0,35 radian) so với phương thẳng
đứng
Đáp ứng xung vòng hở , ta nhập code như sau:

Bây giờ chúng ta có thể kiểm tra đáp ứng xung vòng hở của hệ thống:

Ta có kết quả như sau:

198
Các điểm không và cực của hệ thống mà vị trí con lắc là đầu ra được tìm thấy như
hình dưới đây:

Tương tự như vậy, các điểm không và điểm cực của hệ thống trong đó vị trí xe hàng
là đầu ra được tìm thấy như sau:

199
Phản ứng bước vòng lặp mở, ta nhập code:

200
Bạn cũng có thể xác định một số đặc điểm quan trọng của phản hồi bằng cách sử
dụng lệnh lsiminfo như được hiển thị:

201
Các kết quả trên xác nhận kỳ vọng của chúng tôi rằng phản hồi của hệ thống đối với
đầu vào bước là không ổn định.
3. Inverted pendulum:thiết kế PID.
Trong trang này, chúng tôi sẽ thiết kế bộ điều khiển PID cho hệ thống con lắc
ngược. Trong quá trình thiết kế, chúng ta sẽ giả sử một nhà máy một đầu vào, một đầu
ra như được mô tả bởi hàm truyền sau đây. Mặt khác, chúng tôi sẽ cố gắng kiểm soát
góc của con lắc mà không quan tâm đến vị trí của xe đẩy.

Cụ thể hơn, bộ điều khiển sẽ cố gắng duy trì con lắc hướng lên trên khi xe đẩy chịu
xung lực 1 N giây. Trong những điều kiện này, các tiêu chí thiết kế là:
▪ Thời gian giải quyết dưới 5 giây
▪ Con lắc không được dịch chuyển quá 0,05 radian so với phương thẳng đứng
Cấu trúc hệ thống:
Cấu trúc của bộ điều khiển cho bài toán này hơi khác một chút so với các bài toán
điều khiển tiêu chuẩn mà bạn có thể quen dùng. Vì chúng tôi đang cố gắng kiểm soát vị
trí của con lắc, vị trí này sẽ quay trở lại phương thẳng đứng sau sự xáo trộn ban đầu,
nên tín hiệu tham chiếu mà chúng tôi đang theo dõi phải bằng không. Loại tình huống
này thường được gọi là vấn đề Bộ điều chỉnh. Ngoại lực tác dụng vào xe có thể coi là
một xung động gây xáo trộn. Sơ đồ cho vấn đề này được mô tả dưới đây.

202
Bạn có thể thấy việc phân tích và thiết kế cho hệ thống này dễ dàng hơn nếu trước
tiên chúng ta sắp xếp lại sơ đồ như sau.

Ta nhập code :

Bộ điều kiển PID:

203
Ta có kết quả sau:

Phản ứng này vẫn chưa ổn định. Hãy bắt đầu sửa đổi phản hồi bằng cách tăng mức
tăng theo tỷ lệ. Tăng Kp biến để xem nó có ảnh hưởng gì đến phản hồi. Nếu bạn sửa đổi
tệp m của mình thành where Kp= 100 như sau và chạy trong cửa sổ lệnh, bạn sẽ nhận
được biểu đồ phản hồi được hiển thị bên dưới.

204
Ta có kết quả như sau:

Nhấp chuột phải vào biểu đồ kết quả và chọn từ menu kết quả cho phép bạn xác
định các đặc điểm quan trọng của phản hồi.

205
Cụ thể, thời gian giải quyết của phản hồi được xác định là 1,64 giây, thấp hơn so với
yêu cầu là 5 giây. Vì sai số trạng thái ổn định tiến đến 0 một cách đủ nhanh, nên không
cần thêm hành động tích phân nào. Bạn có thể đặt hằng số khuếch đại tích phân Ki
thành 0 để tự mình thấy rằng cần có một số điều khiển tích phân. Tuy nhiên, đáp ứng
cực đại lớn hơn yêu cầu 0,05 radian. Hãy nhớ lại rằng độ vọt lố thường có thể được
giảm bớt bằng cách tăng lượng kiểm soát đạo hàm. Sau một số lần thử và sai, người ta
thấy rằng lợi ích phái sinh của Kd= 20 cung cấp một phản hồi thỏa đáng. Ta nhập code:

206
Vị trí :
Ở phần đầu của phần này, một sơ đồ khối cho hệ thống con lắc ngược đã được đưa
ra. Sơ đồ không hoàn toàn hoàn chỉnh. Khối biểu thị phản hồi về vị trí của xe đẩy không
được đưa vào vì biến đó không được kiểm soát. Tuy nhiên, thật thú vị khi xem điều gì
đang xảy ra với vị trí của xe đẩy khi bộ điều khiển góc của con lắc được đặt đúng
chỗ. Để thấy điều này, chúng ta cần xem xét sơ đồ khối đầy đủ của hệ thống như trong
hình dưới đây:

207
Ở trên, khối 𝐶 (𝑠)là bộ điều khiển được thiết kế để duy trì con lắc thẳng đứng. Do đó,
hàm truyền vòng kín 𝑇2 (𝑆) từ một lực đầu vào được áp dụng cho xe đẩy đến một đầu ra
của vị trí xe đẩy, do đó, được cho bởi công thức sau.

Ta nhập code:

Như bạn thấy, chiếc xe chuyển động theo chiều âm với vận tốc gần như không
đổi. Do đó, mặc dù bộ điều khiển PID giúp ổn định góc của con lắc nhưng thiết kế này sẽ
không khả thi khi thực hiện trên một hệ thống vật lý thực tế.
4. Inverted pendulum: phương pháp không gian trạng thái cho thiết kế bộ điều
khiển.
Từ bài toán chính, phương trình động lực học của hệ con lắc ngược ở dạng không
gian trạng thái như sau:

208
Các tiêu chí thiết kế cho hệ thống này đối với bước 0,2 m ở vị trí xe đẩy mong
muốn như sau:
▪ Thời gian giải quyết trong và dưới 5 giây
▪ Thời gian tăng ít hơn 0,5 giây
▪ Góc con lắc không bao giờ lớn hơn 20 độ (0,35 radian) so với phương thẳng
đứng
▪ Lỗi trạng thái ổn định dưới 2% cho và .
Như ta có thể nhận thấy nếu xem qua một số ví dụ về con lắc ngược khác, tiêu chí
thiết kế cho ví dụ này là khác. Trong các ví dụ khác, chúng ta cố gắng giữ cho con lắc
thẳng đứng để phản ứng lại một lực xáo trộn xung tác dụng lên xe đẩy. Chúng tôi đã
không cố gắng kiểm soát vị trí của xe đẩy. Trong ví dụ này, chúng ta đang cố gắng giữ
con lắc thẳng đứng trong khi điều khiển vị trí của xe để di chuyển 0,2 mét sang
phải. Cách tiếp cận thiết kế không gian trạng thái rất phù hợp với việc kiểm soát nhiều
đầu ra như chúng ta có ở đây.
Vấn đề này có thể được giải quyết bằng phản hồi toàn trạng thái. Sơ đồ của loại hệ
thống điều khiển này được hiển thị bên dưới, trong đó là ma trận của mức tăng điều
khiển. Lưu ý rằng ở đây chúng tôi phản hồi tất cả các trạng thái của hệ thống, thay vì sử
dụng đầu ra của hệ thống để phản hồi.

209
Cực vòng mở:
Ta nhập code vào:

210
Như ta có thể thấy, có một cực ở nửa mặt phẳng bên phải tại 5,5651. Điều này sẽ xác
nhận trực giác của bạn rằng hệ thống không ổn định trong vòng lặp mở.

Qui trình bậc 2 tuyến tính(LQR):


Nhập code vào :

Ta có kết quả:

Ta tiếp tục nhập code:

Và có kết quả:

Phần tử ở vị trí (1,1) , Q biểu thị trọng lượng ở vị trí của xe đẩy và phần tử ở vị trí
(3,3) biểu thị trọng lượng ở góc của con lắc. Trọng số đầu vào sẽ duy trì ở mức 1. Cuối
cùng, điều quan trọng là giá trị tương đối của và , chứ không phải giá trị tuyệt đối
của chúng. Bây giờ chúng ta đã biết cách diễn giải ma trận, chúng ta có thể thử
nghiệm để tìm ra ma trận sẽ cung cấp cho chúng ta một bộ điều khiển "tốt". Chúng ta
sẽ tiếp tục tìm ma trận và vẽ biểu đồ tất cả phản hồi trong một bước để có thể thực
hiện các thay đổi trong điều khiển và tự động nhìn thấy trong phản hồi. Thêm các lệnh

211
sau vào cuối tệp m của bạn và chạy trong cửa sổ lệnh MATLAB để nhận giá trị sau cho
và biểu đồ phản hồi được hiển thị bên dưới. ta nhập code:

Và có kết quả sau:

212
Đường cong màu đỏ biểu thị góc của con lắc tính bằng radian và đường cong màu
xanh lam biểu thị vị trí của xe đẩy tính bằng mét. Như bạn có thể thấy, cốt truyện này
không thỏa đáng. Độ vọt lố của con lắc và xe đẩy có vẻ ổn, nhưng thời gian ổn định của
chúng cần được cải thiện và thời gian đi lên của xe đẩy cần phải giảm xuống. Như tôi
chắc rằng bạn đã nhận thấy, vị trí cuối cùng của xe đẩy cũng không ở gần vị trí mong
muốn mà trên thực tế đã di chuyển theo hướng ngược lại. Lỗi này sẽ được xử lý trong
phần tiếp theo và ngay bây giờ chúng ta sẽ tập trung vào thời gian ổn định và thời gian
tăng. Quay lại m-file của bạn và thay đổi matrix để xem bạn có thể nhận được phản
hồi tốt hơn không. Bạn sẽ thấy rằng việc tăng các phần tử (1,1) và (3,3) làm cho thời gian
ổn định và thời gian tăng giảm xuống, đồng thời làm giảm góc chuyển động của con
lắc. Nói cách khác, bạn đang đặt nặng vấn đề sai sót hơn với cái giá phải trả là tăng
cường nỗ lực kiểm soát . Sửa đổi tệp m của bạn sao cho phần tử (1,1) của là 5000 và
phần tử (3,3) là 100, sẽ tạo ra giá trị sau của và phản hồi bước được hiển thị bên dưới.
ta nhập code như sau:

213
Thêm tiền bù:
Ta có sơ đồ sau:

214
Ta nhập code:

Ta có kết quả:

Ta nhập code tiếp :

215
Bây giờ, sai số trạng thái ổn định nằm trong giới hạn của chúng tôi, thời gian tăng và
ổn định được đáp ứng và độ vọt lố của con lắc nằm trong phạm vi tiêu chí thiết kế.

Kiểm soát dựa trên người quan sát:


Ta có sơ đồ sau:

216
Ta nhập lệnh:

Ta tiếp tuc code:

217
Ta nhập code:

Chúng tôi đang sử dụng cả hai đầu ra (góc của con lắc và vị trí của xe đẩy) để thiết kế
người quan sát.
Bây giờ chúng ta sẽ kết hợp bộ điều khiển phản hồi trạng thái từ trước với bộ ước
lượng trạng thái để có được bộ bù đầy đủ. Hệ thống vòng kín kết quả được mô tả bằng
các phương trình ma trận sau.

Ta nhập code:

218
Phản hồi này gần giống với phản hồi đạt được khi giả định rằng chúng ta có toàn
quyền truy cập vào các biến trạng thái. Điều này là do các cực của người quan sát rất
nhanh và vì mô hình mà chúng tôi giả định cho người quan sát giống hệt với mô hình
của nhà máy thực tế (bao gồm cả các điều kiện ban đầu giống nhau). Do đó, tất cả các

219
yêu cầu thiết kế đã được đáp ứng với nỗ lực kiểm soát tối thiểu đã bỏ ra. Không cần lặp
lại nữa.
5. Inverted pendulum : mô hình hóa Simulink.
Trong trường hợp này, chúng ta sẽ xem xét một vấn đề hai chiều trong đó con lắc bị
hạn chế di chuyển trong mặt phẳng thẳng đứng như trong hình bên dưới. Đối với hệ
thống này, đầu vào điều khiển là lực di chuyển xe đẩy theo chiều ngang và đầu ra là vị
trí góc của con lắc và vị trí nằm ngang của xe đẩy x.

Sơ đồ vật thể tự do cho hệ thống :

220
Hệ thống này khó mô hình hóa trong Simulink vì ràng buộc vật lý (khớp nối chốt)
giữa xe đẩy và con lắc làm giảm bậc tự do trong hệ thống. Cả xe đẩy và con lắc đều có
một bậc tự do ( và , tương ứng). Chúng ta sẽ lập các phương trình vi phân cho các bậc
tự do này từ nguyên lý thứ nhất sử dụng định luật II Newton ( ) như hình bên
dưới:

(1)

(2)
Tuy nhiên, cần phải bao gồm các lực tương tác và giữa xe đẩy và con lắc để mô
hình hóa đầy đủ động lực học của hệ thống. chúng ta sẽ lập mô hình các phương trình -
và - thành phần bổ sung cho con lắc như hình bên dưới.

221
Tuy nhiên, tọa độ vị trí và là các chức năng chính xác của . Do đó, chúng ta có
thể biểu diễn đạo hàm của chúng dưới dạng đạo hàm của . Đầu tiên giải quyết các
phương trình -component, chúng tôi đến như sau:

Sau đó giải quyết các phương trình -component cho chúng ta những điều sau đây:

Những biểu thức này sau đó có thể được thay thế thành các biểu thức cho và từ
trên như sau.

(3)

(4)
Xây đựng mô hình phi tuyến trong Simulink:
Ta thực hiện các bước trong hướng dẫn, ta được:

222
Ta lần lượt nhập 4 chương trình (1)(2)(3)(4) vào 1 khối Fcn như sau:

223
224
225
226
227
Khi hoàn thành các bước trên mô hình sau sẽ xuất hiện:

Nhấp lệnh tạo 1 hệ thống con ta được:

228
Xây dựng 1 mô hình phi tuyến với simcape:
Ta thực hiện các bước :

229
Ta được mô hình như sau:

Tạo vòng lặp phản hồi :


Thực hiện các bước và thiết lặp theo hướng dẫn:

230
Kết nối các khối lại với nhau ta được mô hình :

231
Trước khi bắt đầu mô phỏng, chúng tôi muốn cho phép trực quan hóa hệ thống con
lắc ngược. Từ các menu ở đầu cửa sổ mô hình, chọn Simulation > Model Configuration
Parameters . Sau đó, từ thư mục ở phía bên trái của cửa sổ, chọn Simscape Multibody
1G . Sau đó, đánh dấu vào ô Show animation during simulation như trong hình bên
dưới:

Bắt đầu chay mô phỏng , ta được :

Ta thấy đầu ra sau của con lắc và vị trí đẩy xe:

232
6. Inverted pendulum : thiết kế bộ điều khiển Simulink.
Đặt vấn đề và yêu cầu thiết kế.
Trong bài toán này, chiếc xe có con lắc ngược, như hình bên dưới, bị "va đập" với
một xung lực, .

233
Trong quá trình thiết kế, chúng tôi sẽ phát triển bộ điều khiển PID và áp dụng nó cho
nhà máy một đầu vào, một đầu ra. Cụ thể hơn, bộ điều khiển sẽ cố gắng duy trì con lắc
hướng lên trên khi xe đẩy chịu xung lực 1 N giây. Vị trí của giỏ hàng sẽ bị bỏ qua. Trong
những điều kiện này, các tiêu chí thiết kế là:
▪ Thời gian giải quyết dưới 5 giây
▪ Con lắc không được dịch chuyển quá 0,05 radian so với phương thẳng đứng
Thiết kế PID cho mô hình phi tuyến , ta thực hiện các bước trong hướng dẫn:

234
ta có mô hình như sau:

235
Đáp ứng vòng kín phi tuyến tính :
Ta nhập thông số sau:

Chạy mô hình ta được kết quả:

7. Inverted pendulum: mô hình simcape.


Thiết lập vật lý :
Trong phần này, chúng tôi trình bày cách xây dựng mô hình con lắc ngược bằng cách
sử dụng các khối mô hình vật lý của Simscape Multibody. Các khối trong thư viện
Simscape đại diện cho các thành phần vật lý thực tế

236
Tạo khung và cấu hình cơ bản , ta thục hiện các bước theo hướng dẫn và nhập các
thông số:

Để định cấu hình cài đặt cơ bản trong mô hình, hãy thực hiện như sau:
▪ Nhấp đúp vào khối Cấu hình Cơ chế và đặt Gravity thành "[0 0 -9,81]", điều này
thể hiện gia tốc do trọng lực 9.81 m/s^2 tác động dọc theo hướng -Z toàn cầu
▪ Mở khối Cấu hình bộ giải và đảm bảo rằng hộp kiểm Use local solver không được
chọn.
▪ Nhập CTRL-E để mở hộp thoại Configration Parameters
▪ Trên ngăn Bộ Solver , đảm bảo rằng Type được đặt thành "Variable-Step"
và Solver được đặt thành "tự động", đồng thời đặt stop time thành "10"

237
Lắp đặt mặt phẳng cơ sở:
Ta thực hiện các bước theo hướng dẫn:

238
239
Sau cùng mô hình xuất hiện như sau:

Chạy mô phỏng ta có :

240
Hệ thống con lắc con và kết nối con lắc với xe đẩy:
Ta thực hiện các bước :

241
Mô hình kết quả xuất hiện như sau:

Lựa chọn đầu ra cho bộ điều khiển và chuyển đổi góc , ta thực hiện các bước hướng
dẫn ra được mô hình như sau:

242
Chạy mô phỏng ta thu được kết quả như sau:

243
Tạo hệ thống con cho con lắc và giỏ hàng, ta thực hiện các bước hướng dẫn và thu
được mô hình sau:

244
Thiết kế vòng kín ,thực hiện các bước ta được mô hình sau:

Triển khai bộ điều khiển:

245
Chạy mô phỏng chương trình ta được kết quả như sau:

246
8. Aircraft pitch: mô hình hóa hệ thống.
Các phương trình chi phối chuyển động của một chiếc máy bay là một tập hợp rất
phức tạp gồm sáu phương trình vi phân kết hợp phi tuyến tính. Tuy nhiên, theo một số
giả định nhất định, chúng có thể được tách rời và tuyến tính hóa thành các phương trình
dọc và ngang. Cao độ máy bay được điều chỉnh bởi các động lực học theo chiều
dọc. Trong ví dụ này, chúng tôi sẽ thiết kế một chế độ lái tự động điều khiển cao độ của
máy bay.
Các trục tọa độ cơ bản và các lực tác dụng lên máy bay được thể hiện trong hình
dưới đây.

247
Chúng tôi sẽ giả định rằng máy bay đang ở hành trình ổn định ở độ cao và vận tốc
không đổi; do đó, lực đẩy, lực cản, trọng lượng và lực nâng cân bằng nhau theo
phương x - và y . Chúng tôi cũng sẽ giả định rằng sự thay đổi góc nghiêng sẽ không làm
thay đổi tốc độ của máy bay trong bất kỳ trường hợp nào (không thực tế nhưng đơn
giản hóa vấn đề một chút). Theo các giả định này, các phương trình chuyển động dọc
của máy bay có thể được viết như sau:

Hàm truyền và các mô hình không gian trạng thái:


Trước khi tìm hàm truyền và các mô hình không gian trạng thái, hãy thêm một số giá trị số để đơn giản hóa các
phương trình mô hình hóa được hiển thị ở trên:

• Chức năng chuyển nhượng:


Để tìm hàm truyền đạt của hệ thống trên, chúng ta cần thực hiện phép biến đổi
Laplace của các phương trình mô hình hóa trên. Nhớ lại rằng khi tìm hàm truyền, phải
giả sử điều kiện ban đầu bằng 0. Biến đổi Laplace của các phương trình trên được hiển
thị bên dưới:

Sau vài bước tính đại số, bạn sẽ thu được hàm truyền sau:

• Không gian trạng thái:


Nhận thấy thực tế là các phương trình mô hình hóa ở trên đã ở dạng biến trạng thái,
chúng ta có thể viết lại chúng dưới dạng ma trận như hình bên dưới.

248
Vì đầu ra của chúng tôi là góc nghiêng, nên phương trình đầu ra như sau:

Yêu cầu thiết kế:


Bước tiếp theo là chọn một số tiêu chí thiết kế. Trong ví dụ này, chúng ta sẽ thiết kế
một bộ điều khiển phản hồi sao cho đáp ứng với lệnh bước của góc nghiêng, góc
nghiêng thực tế vượt quá 10%, có thời gian tăng nhỏ hơn 2 giây, thời gian ổn định nhỏ
hơn 10 giây và lỗi trạng thái ổn định nhỏ hơn 2%. Ví dụ: nếu tham chiếu là 0,2 radian (11
độ), thì góc nghiêng sẽ không vượt quá khoảng 0,22 rad, sẽ tăng từ 0,02 rad lên 0,18 rad
trong vòng 2 giây, sẽ ổn định trong phạm vi 2% giá trị trạng thái ổn định của nó trong
vòng 10 giây và sẽ ổn định trong khoảng từ 0,196 đến 0,204 radian ở trạng thái ổn định.
Tóm lại, các yêu cầu thiết kế như sau.
▪ Overshoot ít hơn 10%
▪ Thời gian tăng ít hơn 2 giây
▪ Thời gian giải quyết dưới 10 giây
▪ Lỗi trạng thái ổn định dưới 2%
Biểu diễn matlab:
Nhập code :

Ta có kết quả :

249
Để tạo mô hình không gian trạng thái được mô tả ở trên, thay vào đó hãy nhập các
lệnh sau tại dòng lệnh:

Ta có kết quả sau:

250
9. Aircraft pitch :phân tích hệ thống.
Từ bài toán chính, các phương trình động lực học trong miền Laplace và hàm truyền
vòng hở của động lực học bước máy bay là:

Đối với một bước tham chiếu, các tiêu chí thiết kế như sau:
▪ Overshoot ít hơn 10%
▪ Thời gian tăng ít hơn 2 giây
▪ Thời gian giải quyết dưới 10 giây
▪ Lỗi trạng thái ổn định dưới 2%

251
Phản ứng vòng lập mở , ta nhập code sau:

Ta có kết quả:

Ta tiếp tục nhập code và có kết quả sau:

252
Như hàm này chỉ ra, một trong các cực của hàm truyền vòng hở nằm trên trục ảo
trong khi hai cực còn lại nằm ở nửa trái của phức s-chiếc máy bay. Một cực trên trục
tưởng tượng chỉ ra rằng phản ứng tự do của hệ thống sẽ không phát triển không giới
hạn, nhưng cũng sẽ không giảm dần về không. Mặc dù phản hồi miễn phí sẽ không phát
triển không giới hạn, một hệ thống có cực trên trục tưởng tượng có thể phát triển
không giới hạn khi được cung cấp đầu vào, ngay cả khi đầu vào bị chặn. Thực tế này phù
hợp với những gì chúng ta đã thấy. Trong trường hợp cụ thể này, cực tại gốc hoạt động
giống như một bộ tích phân. Do đó, khi hệ thống được cung cấp một bước đầu vào, đầu
ra của nó tiếp tục tăng lên vô cùng giống như cách một tích phân của một hằng số sẽ
tăng lên vô cùng khi giới hạn trên của tích phân được tăng lên.

Phản hồi vòng kín :


Để ổn định hệ thống này và cuối cùng đáp ứng các yêu cầu thiết kế nhất định của
chúng tôi, chúng tôi sẽ thêm bộ điều khiển phản hồi. Hình bên dưới minh họa kiến trúc
điều khiển mà chúng ta sẽ sử dụng.

Nhập code và có kết quả như sau:

253
Ta tiếp tục nhập lệnh:

Ra kết quả sau:

Kiểm tra phản ứng bước vòng kín ở trên, việc bổ sung phản hồi đã ổn định hệ
thống. Trên thực tế, lỗi trạng thái ổn định dường như được đưa về 0 và không có độ vọt
lố trong phản hồi, mặc dù các yêu cầu về thời gian tăng và thời gian ổn định không được
đáp ứng. Đặc tính của phản ứng bước kết quả được biểu thị bằng vị trí của các cực và số
không của hàm truyền của hệ thống, theo cách tương tự như cách các đặc tính ổn định
của hệ thống. ta nhập lệnh:

254
Các kết quả trên chứng minh rằng hàm truyền vòng kín là bậc ba với số không. Hầu
hết các mối quan hệ mà chúng ta quen thuộc để dự đoán đặc tính của phản hồi từng
bước của hệ thống đều giả sử một hệ thống bậc hai thiếu tiêu chuẩn không có số
không. Do đó, chúng ta không thể dựa vào các mối quan hệ này cho hệ thống này. Tuy
nhiên, chúng ta có thể chuyển đổi đầu ra trở lại miền thời gian để tạo hàm thời gian cho
phản hồi của hệ thống nhằm hiểu rõ hơn về cách các điểm cực và điểm không của hàm
truyền vòng kín ảnh hưởng đến phản hồi của hệ thống. Giả sử hàm truyền vòng kín có
dạng Y ( s ) / R ( s ), đầu ra Y ( s) trong miền Laplace được tính như sau trong đó R ( s ) là
một bước có độ lớn 0,2.

Ta tiếp tục nhập code và có kết quả như sau:

Dựa trên những điều trên, mẫu số của đầu ra Y ( s ) của chúng ta có thể được phân
tích thành một số hạng bậc nhất cho cực thực của hàm truyền, một số hạng bậc hai cho

255
các cực liên hợp phức của hàm truyền và một cực tại gốc cho đầu vào bước. Do đó,
mong muốn mở rộng Y ( s ) như hình bên dưới.

Các giá trị cụ thể của các hằng số A , B , C và D có thể được xác định bằng tính toán
thủ công hoặc bằng cách sử dụng phần dư lệnh MATLAB để thực hiện khai triển phân số
từng phần như minh họa bên dưới. Ở đây cú pháp là [r,p,k] = phần dư(num,den) trong
đó num và den là các mảng chứa các hệ số của tử số và mẫu số tương ứng của hàm
Laplace được mở rộng. Lưu ý rằng mảng mẫu số bao gồm một số 0 giữ chỗ vì không có
số hạng cố định trong mẫu số của Y ( s ).
Ta nhập code:

Ở trên, r là một mảng chứa phần dư của khai triển phân số từng phần, tức là các hệ
số tử số trong khai triển. Mảng p chứa các cực của hệ thống có thứ tự tương ứng với
thứ tự của phần dư trong r . Số hạng trực tiếp k rỗng trong trường hợp này, vì nó sẽ
trống rỗng nói chung vì đa thức tử số nói chung sẽ là bậc nhỏ hơn đa thức mẫu số. Dựa
trên những điều trên, các hệ số A và B trong khai triển của chúng ta lần lượt bằng 0,2 và

256
-0,0881. Các hệ số C và D có thể được xác định bằng cách kết hợp các thuật ngữ cho các
cực liên hợp phức tạp trở lại thành một biểu thức duy nhất như dưới đây.

Dựa trên những điều trên, C = -0,1121 và D = -0,08071 và kết quả khai triển phân số
từng phần của chúng ta có thể được biểu diễn như sau:

Ta tiếp tục nhập code :

Ra được kết quả như sau:

257
Biểu đồ trên một lần nữa chứng minh rằng hệ thống vòng kín này không đáp ứng các
yêu cầu thiết kế đã cho.

10. Aircraft pitch:thiết kế bộ điều kiện PID.


Từ bài toán chính, hàm truyền vòng hở cho động học bước máy bay là

trong đó đầu vào là góc lệch của thang máy và đầu ra là góc nghiêng của máy bay .
Đối với tham chiếu bước 0,2 radian, tiêu chí thiết kế như sau.
▪ Overshoot ít hơn 10%
▪ Thời gian tăng ít hơn 2 giây
▪ Thời gian giải quyết dưới 10 giây
▪ Lỗi trạng thái ổn định dưới 2%

Chúng tôi sẽ triển khai các kết hợp kiểm soát tỷ lệ Kp, tích phân Ki và đạo hàm Kd
trong kiến trúc phản hồi thống nhất được hiển thị bên dưới để đạt được hành vi hệ
thống mong muốn:

258
Ta nhập code:

Kiểm soát tỉ lệ:


Hãy bắt đầu bằng cách thiết kế một bộ điều khiển tỷ lệ có dạng
. Trình Control System Designer mà chúng tôi sẽ sử dụng để thiết kế có thể được mở
bằng cách nhập controlSystemDesigner(P_pitch) tại dòng lệnh. Theo mặc định, cửa
sổ Control System Designersẽ mở ra với biểu đồ quỹ tích gốc, biểu đồ Bode vòng hở và
biểu đồ phản hồi bước vòng lặp kín được hiển thị cho chức năng truyền tải của nhà máy
được cung cấp với bộ điều khiển , theo mặc định.
Nút Edit Architecture trong cửa sổ Control System Designer hiển thị kiến trúc của hệ
thống điều khiển đang được thiết kế như hình bên dưới. Mặc định này phù hợp với kiến
trúc mà chúng tôi đang sử dụng.

259
Vì tham chiếu của chúng tôi là một hàm bước của 0,2 radian, nên chúng tôi có thể
đặt khối tiền bù bằng 0,2 để chia tỷ lệ đầu vào bước đơn vị cho hệ thống của chúng
tôi. Điều này có thể được thực hiện từ cửa sổ Compensator Editor , cửa sổ này có thể
được mở bằng cách nhấp chuột phải vào biểu đồ và sau đó chọn Edit Compensator . Cụ
thể, chọn F từ trình đơn thả xuống trong phần Bộ bù của cửa sổ và đặt bộ bù bằng 0,2
như minh họa trong hình bên dưới.

260
Để bắt đầu, hãy xem hệ thống hoạt động như thế nào với bộ điều khiển tỷ lệ
được đặt bằng 2. Bộ bù có thể được xác định theo cách tương tự như bộ bù
trước, chỉ cần chọn C từ menu thả xuống trong phần Bộ bù của cửa sổ thay vì F. _ Sau
đó, đặt bộ bù bằng 2. Để xem hiệu suất của hệ thống của chúng tôi với bộ điều khiển
này, hãy chuyển đến tab IOTransfer_r2y:step . Nếu bạn vô tình đóng tab này, bạn có thể
mở lại nó từ cửa sổ Control System Designer bằng cách nhấp vào menu New Plot và
chọn New Step . Đáp lại, một cửa sổ mới có tiêu đề Bước mới để vẽ đồ thịsẽ xuất
hiện. Từ menu Select Responses to Plot , sau đó chọn IOTransfer_r2y và nhấp vào
nút Plot như hình bên dưới.

261
262
Kiểm tra những điều trên cho thấy rằng ngoài lỗi trạng thái ổn định, các yêu cầu thiết
kế đã cho chưa được đáp ứng. Có thể điều chỉnh mức tăng được chọn để Kp cố gắng
sửa đổi hiệu suất thu được thông qua cửa sổ Compensator Editor. Thay vào đó, chúng
tôi sẽ sử dụng Control System Designer để tự động điều chỉnh bộ bù tỷ lệ của chúng
tôi. Để sử dụng tính năng này, hãy vào menu Tuning Methods của thanh công cụ
MATLAB và chọn PID Tuning trong menu Automated Tuning. Sau đó chọn Controller
type là P và chọn Loop to Tune là LoopTransfer_C như thể hiện trong hình bên dưới
(kiến trúc của chúng tôi chỉ có một vòng lặp).
Vì thời gian tăng của chúng tôi dự kiến sẽ dưới 2 giây, hãy thử chỉ định Response
Time là 1,5 giây.

263
Ta có biểu đồ như sau:

264
Kiểm soát PI:
Chúng tôi sẽ lại sử dụng điều chỉnh tự động để chọn mức tăng của bộ điều khiển như
chúng tôi đã làm ở trên, chỉ bây giờ chúng tôi sẽ chọn loại Bộ điều khiển là PI . Mọi thứ
khác sẽ được giữ nguyên. Nhấp vào nút Cập nhật bộ bù sau đó tạo bộ điều khiển sau:

265
Kiểm soát PID:
chúng tôi có thể giảm dao động trong phản ứng một lượng đủ để sau đó chúng tôi có
thể tăng các mức tăng khác để giảm thời gian giải quyết. Hãy kiểm tra giả thuyết của

266
chúng ta bằng cách thay đổi loại Bộ điều khiển thành PID và nhấp lại vào nút Cập nhật
Bộ bù . Bộ điều khiển được tạo ra được hiển thị bên dưới.

267
Phản hồi này đáp ứng tất cả các yêu cầu ngoại trừ thời gian giải quyết là 19,7 giây lớn
hơn yêu cầu đã cho là 10 giây. Giảm yêu cầu Thời gian phản hồi (di chuyển thanh trượt
sang phải) sẽ giúp phản hồi nhanh hơn, trong khi di chuyển thanh trượt Hành vi nhất
thời về phía Mạnh mẽ sẽ giúp giảm dao động. Bộ điều khiển PID kết quả cho các cài đặt
hiển thị được đưa ra bên dưới.

268
269
Ở đây chúng ta có thể thấy rằng việc di chuyển cả hai thanh trượt sang bên phải giúp
phản hồi nhanh hơn và giảm dao động. Tuy nhiên, thời gian xử lý vẫn lớn hơn yêu cầu
10 giây. Chúng tôi lại thử tăng tốc độ phản hồi cần thiết; chúng tôi có một số chỗ để dự
phòng khi vượt quá. Bộ điều khiển PID kết quả cho các cài đặt được hiển thị bên dưới là
như sau.

270
Phản hồi này đáp ứng tất cả các yêu cầu đã cho như được tóm tắt dưới đây.
▪ Độ vọt lố = 7,5% < 10%
▪ Thời gian tăng = 0,411 giây < 2 giây
▪ Thời gian xử lý = 9,25 giây < 10 giây
▪ Lỗi trạng thái ổn định = 0% < 2%
Do đó, bộ điều khiển PID này sẽ cung cấp hiệu suất mong muốn về cao độ của máy
bay.

11. Aircraft pitch: thiết kế bộ điều khiển PID.


Điều khiển phản hồi trạng thái và bù trước
Ta thiết kế mạch như sau:

271
Nhập các thông số:

272
Chạy mô phỏng:

273
Bộ bù trước này có thể được thực hiện bằng cách thêm một khối Gain từ thư viện
Simulink/Math Operations vào mô hình Simulink ở trên. Chèn khối vào giữa khối Bước
và khối Tổng. Sau đó nhấp đúp vào khối Gain và nhập "7.0711" vào trường Gain . Mô
hình kết quả được hiển thị bên dưới:

274
Chạy mô phỏng:

Độ bền của hệ thống:

275
Hạn chế của việc sử dụng bộ bù trước như bộ đã triển khai ở trên là nó được tính
toán trên cơ sở mô hình của nhà máy và được đặt bên ngoài vòng phản hồi sao cho đầu
ra của đường giao nhau tổng trong mô hình trên không còn đúng nữa. lỗi. Do đó, nếu có
lỗi trong mô hình hoặc nhiễu không xác định, bộ bù trước sẽ không sửa chúng và sẽ có
lỗi trạng thái ổn định.
Để điều tra hiện tượng này, hãy thêm một sự xáo trộn vào mô hình của chúng tôi
như trong hình bên dưới. Sự xáo trộn được tạo ra bởi một khối Bước với Final value
được đặt thành "0,2" và Step time được đặt thành "3". Sự xáo trộn được mô hình hóa
khi xâm nhập vào hệ thống theo cách tương tự như đầu vào điều khiển . Khối Tổng hợp
bổ sung được đặt như được hiển thị và List of signs được nhập "++|". Chúng ta cũng
hãy quan sát đầu vào điều khiển của hệ thống . Để thực hiện việc này, trước tiên, nhấp
chuột phải vào khối Phạm vi và chọn Signals & Ports , sau đó đặt Number of Input Ports
là 2. Sau đó rẽ nhánh tín hiệu và kết nối nó với đầu vào mới của khối Phạm vi. Ngoài ra,
hãy đảm bảo rằng các tín hiệu đi vào khối Phạm vi được đặt tên. Điều này được thực
hiện bằng cách nhấp đúp vào một tín hiệu và sau đó nhập tên tương ứng của nó. Mô
hình kết quả sẽ xuất hiện như sau.

Chạy chương trình :

276
Kiểm tra biểu đồ trên cho thấy sự xuất hiện của nhiễu tại thời điểm 3 giây khiến hệ
thống lệch khỏi giá trị trạng thái ổn định mong muốn là 0,2 radian và sự hiện diện của
bộ bù trước không đổi không thể khắc phục ảnh hưởng của nhiễu.
Điều chỉnh PID tự động với simulink.
Làm theo hướng dẫn mô hình như sau:

277
Điều chỉnh khối PID controller:

278
Mô phỏng:

Ban đầu, phản hồi của hệ thống với mức tăng của bộ điều khiển hiện tại được hiển
thị bằng đường chấm màu xanh lam và phản hồi của hệ thống với mức tăng được điều
chỉnh, đề xuất được hiển thị bằng đường liền màu xanh lam. Để làm cho hình vẽ rõ ràng
hơn, hãy tiếp tục và nhấp vào Cập nhật khối trong menu KẾT QUẢ trong thanh công cụ
để áp dụng các tham số đã điều chỉnh cho mô hình Simulnk của chúng tôi. Với bộ này,
sau đó chúng ta có thể bỏ chọn khối Hiển thị phản hồi từ trong Tùy chọnmenu vì bộ điều
khiển hiện tại khớp với bộ điều khiển được đề xuất. Cuối cùng, nhấp chuột phải vào
phần thân của biểu đồ để thêm các đặc điểm cho bước phản hồi nhằm giúp chúng tôi
đánh giá xem các yêu cầu của chúng tôi có được đáp ứng hay không. Kiểm tra biểu đồ
trên dường như chỉ ra rằng phản hồi với bộ điều khiển mới được điều chỉnh quá chậm.
Sau đó, chúng tôi có thể tăng tốc độ phản hồi bằng cách cuộn thanh Thời gian phản
hồi trong menu CÔNG CỤ TUNING sang phải. Nếu giới hạn của thanh như đã cho là
không đủ, bạn có thể nhấn nút được đánh dấu bằng mũi tên kép ở đầu bên phải của
thanh để điều chỉnh lại thời gian phản hồi khả dụng. Nói chung, chúng tôi muốn làm cho
hệ thống đủ nhanh để đáp ứng các yêu cầu của chúng tôi với lợi nhuận, nhưng không

279
nhanh hơn. Lý do là phản ứng nhanh hơn nói chung sẽ phải trả giá bằng nỗ lực kiểm
soát tăng lên. Hành vi của hệ thống với cài đặt thời gian phản hồi là 0,0894 giây nhiều
hơn đáp ứng các mục tiêu đã cho của chúng tôi như minh họa bên dưới. Thời gian phản
hồi nhanh hơn mức cần thiết được chọn để đáp ứng mục tiêu về thời gian giải quyết của
chúng tôi ngay cả khi có sự xáo trộn.

Trên thực tế, có khả năng góc thang máy của máy bay sẽ bị giới hạn ở mức tương tự
-25 độ (-0,4363 rad) đến +25 độ (0,4363 rad). Để đảm bảo rằng chúng tôi không vượt
quá giới hạn này, chúng tôi có thể đặt bộ điều khiển ở chế độ bão hòa. Điều này được
thực hiện trong tab PID Advanced của cửa sổ cài đặt khối Bộ điều khiển PID bằng cách
chọn hộp Limit output và nhập "0,4363" cho Upper saturation limit và "-0,4363"
cho Lower saturation limit dưới như minh họa trong hình bên dưới.

280
Một vấn đề với điều khiển PID phát sinh khi bộ truyền động bão hòa là thuật ngữ tích
hợp có thể tiếp tục tích hợp lỗi, về cơ bản yêu cầu điều khiển ngày càng lớn hơn, ngay cả
khi nỗ lực điều khiển đã bão hòa. Đây là vấn đề bởi vì khi sai số cuối cùng bắt đầu giảm,
nỗ lực kiểm soát sẽ tiếp tục bị bão hòa vì bộ tích hợp đã tạo ra một giá trị lớn như
vậy. Điều này làm cho hệ thống trở nên chậm chạp vì có thể mất nhiều thời gian để bộ
tích hợp "thư giãn". Khối điều khiển PID này có thể giúp giải quyết vấn đề này bằng cách
áp dụng chiến lược chống lên dây cót của bộ tích hợp. Tùy chọn này cũng được đặt
trong tab PID Advanced như trong hình trên. Chúng tôi sẽ chọn tùy chọn kẹp cho Anti-
windup method. Về cơ bản, chiến lược này ngăn bộ tích hợp tích hợp khi bộ truyền
động bão hòa và sau đó bật lại khi đầu ra của bộ điều khiển trở lại trong giới hạn bão
hòa.

281
Sau khi chọn các tùy chọn này, áp dụng các mức tăng này và chạy mô phỏng sẽ tạo ra
các kết quả sau có vẻ như đáp ứng các yêu cầu của chúng tôi, ngay cả khi có nhiễu như
hình bên dưới. Lưu ý rằng nỗ lực kiểm soát vẫn nằm trong giới hạn -0,4363 đến 0,4363
radian và có tác dụng giảm độ vọt lố của hệ thống.

12. Aircraft pitch: mô hình Simulink.


Thiết lập vật lý và phương trình:
Các phương trình chi phối chuyển động của một chiếc máy bay là một tập hợp rất
phức tạp gồm sáu phương trình vi phân kết hợp phi tuyến tính. Tuy nhiên, theo một số
giả định nhất định, chúng có thể được tách rời và tuyến tính hóa thành các phương trình
dọc và ngang. Cao độ máy bay được điều chỉnh bởi các động lực học theo chiều
dọc. Trong ví dụ này, chúng tôi sẽ thiết kế một chế độ lái tự động điều khiển cao độ của
máy bay.

282
Trong ví dụ này, chúng ta sẽ mô phỏng mô hình máy bay được tuyến tính hóa với bộ
điều khiển phản hồi trạng thái được thiết kế trước đó . Mô hình này, với các giá trị số
được thay thế trong, được đưa ra dưới đây.

Các phương trình trên phù hợp với dạng không gian trạng thái tuyến tính tổng quát.

Xây dựng mô hình không gian trạng thái :

Ta thực hiện các bước mô hình hóa và thiết lặp xong ta có mô hình như sau:

283
Tạo đáp ứng vòng hở và kín;
Chạy mô hình trên ta có :

Thiết lặp thông số theo hướng dẫn:

284
Chạy mô phỏng mô hình ta được kết quả sau:

285
PROJECT 4: ĐIỀU KHIỂN XI LANH
1. Thiết kế mạch điều khiển xi lanh.
Đề : khi nhấn nút start :
+ Nếu xilanh chưa chạm CTHT1 : xilanh lùi về chạm CTHT1 => tiến tới chạm CTHT2
=>lùi lại chạm CTHT1 => lập lại hành trình.
+ Nếu xilanh đã chạm CTHT1 : tiến tới chạm CTHT2 =>lùi lại chạm CTHT1 => lập lại
hành trình.
+ Trong quá trình hoạt động thì nếu có nút STOP tác động thì xilanh lùi lại CTHT1 và
dừng hoạt động.
+ Các nút nhấn duy trì trạng thái .
+ Vị trí bạn đầu của xilanh là bất kì.
Với các yêu cầu trên ta thiết kế mạch như sau:

Các cổng đầu ra :


− A : tiến lên.
− B : lùi lại.
Các cổng đầu vào :
− START : bắt đầu.
− STOP: đừng lại
− CTHT1 : công tắc hành trình 1.
− CTHT2 : công tắt hành trình 2.

286
Qui định các cổng đầu vào đầu ra:

287
Kiểm tra mạch:

Cho chương trình chạy :

288
2. Giải thích nguyên lý mạch điều khiển xilanh:
Khi nhấn start vị trí ban đầu của xilanh là bất kì, nếu xilanh chưa chạm vào CTHT1
thì lệnh (s) sẽ đặt B lên 1 làm cho xilanh lui lại CTHT1 , lệnh (R) sẻ đặt A là 0 làm cho A
không hoạt động.

289
Khi xilanh lui về chạm vào CTHT1 thì lệnh (s) sẻ đặt cho A lên 1 làm cho xilanh tiến
lên cho tới khi chạm CTHT2 , lệnh (R) sẽ đặt B là 0 làm cho B không hoạt động.

290
Khi xilanh lui về chạm vào CTHT2 thì lệnh (s) sẻ đặt cho B lên 1 làm cho xilanh lùi
lại cho tới khi chạm CTHT1 , lệnh (R) sẽ đặt A là 0 làm cho A không hoạt động.

291
Khi đang hoạt động mà ấn nút Stop lại thì lệnh (s) sẽ đặt cho B lên 1 làm cho xilanh
lùi lại cho tới khi chạm CTHT1 vì STOP là nút ấn duy trì nên sẽ luôn làm B bằng 1
nên xilanh đừng lại ở CTHT1, lệnh (R) sẽ đặt A là 0 làm cho A không hoạt động.

292
293
PROJECT 5: PHÂN LOẠI SẢN PHẨM.
ĐỀ BÀI :
Khi nhấn START:
− Băng tải bắt đầu hoạt động và các xilanh lùi về cuối hành trình
− Khi sản phẩm màu xanh đi qua, cảm biến màu xanh phát hiện, lúc đó băng tải
dừng lại 5s để xilanh 1 đẩy sản phẩm màu xanh xuống hộp sau đó băng tải tiếp tục chạy
(thời gian xilanh đẩy là 3s sau đó lùi lại_không dùng CTHT)
− Khi sản phẩm màu đỏ đi qua, cảm biến màu đỏ phát hiện, lúc đó băng tải dừng lại
5s để xilanh 2 đẩy sản phẩm màu đỏ xuống hộp sau đó băng tải tiếp tục chạy (thời gian
xilanh đẩy là 3s sau đó lui lại_không dùng CTHT)
− Với sản phẩm màu vàng thì băng tải sẽ tiếp tục chạy và sản phẩm sẽ rơi xuống
hộp ở cuối băng tải.

Toàn bộ hệ thống sẽ dừng lại khi :


− Nhấn nút stop.
− Sản phẩm đẩy xuống hộp màu xanh lớn hơn đỏ 4 sản phẩm.
Yêu cầu:
• Tạo project, chọn PLC, quy định cổng vào/ra trong Tia portal
• Lập trình cho hệ thống
• Mô phỏng trong PLC SIM

294
1. Thiết kế mạch.

295
296
2. Qui định cổng vào ra.

297
Start : khởi động hệ thống
STOP : Dừng hệ thống
BLUE : cảm biến màu xanh
RED : cảm biến màu đỏ
A+ : Xilanh đỏ tiến tới
A-: xilanh đỏ lùi .
B+: xilanh xanh tiến .
B-: xilanh xanh lùi .
RUN: động cơ chạy .

3. Mô phỏng trong plc sim.


Khi ấn nút start , động cơ bắt đầu khởi động làm băng chuyền hoạt động , 2 xilanh
đỏ và xanh lần lượt ở trang thái A- và B-.

298
Khi có hàng màu xanh đi qua xilanh động cơ đừng lại trong 5s. Trong 3s
đầu,xilanh ở trạng thái B+ nên đẫy hang vào thùng . sau 3s , xilanh ở trạng thái B- nên
xilanh lùi lại . Hết 5s động cơ tiếp tục hoạt động .

3s đầu.

299
2s sau.

Sau 5s.

300
Khi có hàng màu đỏ đi qua xilanh động cơ đừng lại trong 5s. Trong 3s đầu,xilanh
ở trạng thái A+ nên đẫy hang vào thùng . sau 3s , xilanh ở trạng thái A- nên xilanh lùi
lại . Hết 5s động cơ tiếp tục hoạt động .

3s đầu.

2s sau.

301
Sau 5s.

Khi số hàng xanh lớn hơn đỏ 4 cái hoặc nhấn nút STOP thì xilanh đỏ và xanh ở trạng
thái A- và B- , động cơ không hoạt động nên dù ấn nút nào thì hệ thống không hoạt động.

302
Khi đã hơn 4 cái hệ thống dừng lại không làm nữa.

PROJECT 6: BÃI ĐỖ XE TỰ ĐỘNG .


ĐỀ BÀI :
NGUYÊN LÝ HOẠT ĐỘNG:
− Hệ thống hoạt động khi SWITCH bật sang chế độ ON, dừng khi chuyển
sang chế độ OFF.
− Khi có xe vào, cửa vào mở. Cảm biến không phát hiện xe 2s thì cửa bắt đầu
đóng lại.
− Khi có xe ra, cửa ra mở. Cảm biến không phát hiện xe 2s thì cửa bắt đầu
đóng lại.
− Trong quá trình mở hoặc đóng cửa nếu chạm CTHT thì Barrier dừng lại .
− Đèn Full sáng khi bãi có 20 xe (không mở khi có xe vào) .
− Trạng thái ban đầu không có xe trong bãi

303
Yêu cầu:
• Tạo project, chọn PLC, quy định cổng vào/ra trong Tia portal
• Lập trình cho hệ thống
• Mô phỏng trong PLC SIM

1. Thiết kế mạch.

304
305
2. Qui định cổng đầu vào đâu ra:
SWITCH : khởi động hệ thống
CTVD: công tắc vào đóng .
CTVM : công tắc vào mở
CTRD : công tắc ra đóng
CTRM : công tắc ra mở .
CBV : cảm biến vào
CBR : cảm biến ra
DCVM: động cơ vào mở
DCVD: động cơ vào đóng.
DCRM: động cơ ra mở
DCRD: động cơ ra đóng
DENFULL: Đèn tín hiệu báo đầy.

306
3. Mô phỏng trên plc sim.
Khi ấn nút SWITCH, hệ thống khởi động . khi có xe vào CBV làm cho DCVM hoạt
động làm cho thanh chắn đi lên.

Khi thanh chắn đi lên chạm vào CTVM thì làm cho DCVM ở trạng thái reset nên
không đi chuyển thanh chắn ,

307
Sau khi xe đi qua , CBV không cảm biến được xe nữa 2s sau nó kích DCVD hoạt
động làm cho thanh chắn đi xuống .

Trong 2 s.

308
Sau khi thanh chắn đi xuống chạm CTVD thì làm cho DCVD dừng hoạt động.

309
khi có xe ra, CBR làm cho DCRM hoạt động làm cho thanh chắn đi lên.

Khi thanh chắn đi lên chạm vào CTRM thì làm cho DCRM ở trạng thái reset nên
không đi chuyển thanh chắn ,

Sau khi xe đi qua , CBR không cảm biến được xe nữa 2s sau nó kích DCRD hoạt
động làm cho thanh chắn đi xuống .

310
Trong 2 s.

Sau khi thanh chắn đi xuống chạm CTRD thì làm cho DCRD dừng hoạt động.

311
Khi trong chỗ để xe không còn chổ , hệ thống sẽ không để DCVM hoạt động và sẽ mở
đèn báo FULL lên.

312
PROJECT 7: Hệ thống lò sưởi.
Yêu cầu đề bài :
Hệ thống bao gồm :
• Cảm biến nhiệt độ (0-200oC)
• Cảm biến độ ẩm (0-100%)
• Xilanh đóng mở cửa sổ CS
• 2 lò sưởi L1, L2
Các yêu cầu:
• Tạo project, chọn PLC, quy định cổng vào/ra trong Tia portal
• Lập trình cho hệ thống
• Mô phỏng trong PLC SIM

Độ ẩm
Nhiêt độ h < 25% h  25%

t0 > 20oC - - + - - -
20oC  t0 10oC + - + + - -
t0 < 10oC + + + + + -
Thiết bị L1 L2 CS L1 L2 CS
Dấu ‘+’ thể hiện bật lò sưởi hoặc mở cửa sổ.
1. Thiết kế mạch.

313
314
315
2. Quy định cổng đầu vào đầu ra :
L1: lò sưởi 1
L2: lò sưởi 2
CS: cửa sổ .
Start : mở hệ thống.

316
Stop: dừng hệ thống.
CBND: Cảm biến nhiệt độ
CBDA: Cảm biến độ ẩm

3. Mô phỏng trên PLC sim.


Khi nhấn nút start ,hệ thống bắt đầu hoạt động .
Ta cho CBND ở 15 độ và CBDA 15% thì ta thấy hệ thống cho L1 và CS set lên 1 làm
cho lò sưởi 1 mở và cửa sổ đóng lại , L2 reset nên lò sưởi 2 tắt.

Ta cho CBND ở 30 độ và CBDA 15% thì ta thấy hệ thống cho CS set lên 1 làm cho
cửa sổ đóng lại và L1 và L2 reset nên 2 lò sưởi tắt.

Ta cho CBND ở 0 độ và CBDA 15% thì ta thấy hệ thống cho CS ,L1 và L2 set lên 1
làm cho cửa sổ đóng lại và 2 lò sưởi bật.

317
Ta cho CBND ở 0 độ và CBDA 50% thì ta thấy hệ thống cho L1 và L2 set lên 1 làm
cho 2 lò sưởi bật , CS reset nên cửa sổ mở.

Ta cho CBND ở 15 độ và CBDA 50% thì ta thấy hệ thống cho L1 set lên 1 làm cho
lò sưởi 1 bật , CS và L2 reset nên cửa sổ mở và lò sưởi 2 tắt.

Ta cho CBND ở 30 độ và CBDA 50% thì ta thấy hệ thống cho, CS L1 và L2 reset nên
cửa sổ mở và 2 lò sưởi tắt.

318
Khi nhấn stop , hệ thống làm cho L1 L2 CS reset nên cửa sổ mở và 2 lò sưởi tắt, nó
cũng kích M set làm cho nút stop được duy trì tránh bị kích không theo ý . khi nhấn start ,
nút M được reset làm cho hệ thống hoạt động trở lại.

319
PROJECT 8: DUỖI THẲNG , VÀ CẮT THÉP TỰ
ĐỘNG.
Đề bài :
• Ban đầu nhấn nút MANUAL,
con lăn quay, thép được duỗi thẳng. Nhả nút MANUAL thì con lăn dừng. Nhấn nút CẮT, x
ilanh tiến xuống cắt và lùi lại. Thời gian xilanh bắt đầu tiến đến khi bắt đầu lùi về là 2s.
• Nhấn nút AUTO1 hoặc AUTO2, hệ thống sẽ cắt tự động mỗi đoạn 1m. Thời gian d
ừng lại để cắt là 3s.
• Hệ thống dừng lại khi nhấn STOP.
• Động cơ bước: 800 xung/vòng.
• Đường kính con lăn: 10cm
• Tốc độ con lăn:
• MANUAL và AUTO1: 50 vòng/phút
• AUTO2: 100 vòng/phút.
• Các nút nhấn không duy trì.

Yêu cầu đề bài :


• Tạo project, chọn PLC, quy định cổng vào/ra trong Tia portal
• Lập trình cho hệ thống
1. Các qui định cổng đầu ra :
CB: cảm biến .
LAN : con lăn.
XILANH: Xi lanh tiến để cắt thép
AUTO1: tự động làm việc với vận tốc 50 vòng/phút
AUTO2: tự động làm việc với vận tốc 100 vòng/phút
MANAUL: làm việc thủ công với vận tốc 50 vòng/phút

320
2. Thiết kế mạch.
Do làm việc với 2 vận tốc khác nhau nên kích đúp chuột trái vào chọn
properties ,vào phần pulse generator xét úp 2 kênh phát sóng như sau:

321
Tiếp theo ta tạo 2 khối Axis với các thông số như sau:
− Chọn đơn vị pulse cho cả 2 khối Axis:

− Vào drive ,ta thiêt lập sóng cho 2 khối :

Khối Axis 1

322
Khối Axis2
− Ghi thông số động cơ bước 800 pules/vòng cho cả 2 khối.

− Thiết lặp tốc độ tối đa cho cả 2 khối:

323
Sau khi thiết lặp sau các khối Axis , ta bắt đầu tạo mạch :
Ta lấy 2 khối MC_Power ra để cung cấp năng lượng cho động cơ, kết nối với các
cổng như sau:

324
Muốn hệ thống tự cắt được 1 m sắt thì ta phải tính được số sung để có 1 mét sắt ta làm
như sau:
✓ Tính chu vi hình tròn : 10 × 𝜋 = 31.4𝑐𝑚
✓ Từ chu vi hình tròn ta tính được số vòng cần phải quay để có 1 m:
100
= 3.183 𝑣ò𝑛𝑔
31.4
✓ Từ số vòng để đi 1 m ta tính đước số sung để đi 1 m :
3.183 × 800 = 2546.48 𝑝𝑢𝑙𝑠𝑒
Ta tính vận tốc của 3 chế độ làm việc là MANUAL,AUTO1 và AUTO2 :
50 × 800
𝑣𝑀𝐴𝑁 = 𝑣𝑎𝑢𝑡𝑜1 = = 666.67 𝑝𝑢𝑙𝑠𝑒/𝑠
60
100 × 800
𝑣𝑎𝑢𝑡𝑜2 = = 1333.34 𝑝𝑢𝑙𝑠𝑒/𝑠
60
Để quay đúng 1 m ta dùng khối MC_Moverelative với các thiết lặp như cổng Axis kết
nối với khối Axis_ManvsAuto1, cổng execute kết nối với các cổng để kích hoạt động cơ
bước , cổng distance với ta cho số pulse để có được 1 m, cổng velocity cho vận tốc cần
thiết .
Với MANUAL:

Với AUTO1 :

325
Với AUTO2 :

Khi ta nhấn MANUAL , con lăn quay .nhả nút MANUAL ra, con lăn dừng lại . Nhấn
nút cắt thép, xilanh tiến xuống cắt và sau 2 sau lùi lại :

326
Với mỗi nút AUTO thì động cơ bước với vận tốc khác nhau nhưng đi cùng 1 khoảng
cách là 1 m, khi kích 1 nút AUTO thì động cơ bước sẻ quay đúng 2546.48 pulse để đi
được 1 m . Khi thanh sắt được 1m thì sẽ chạm cảm biến , cảm biến điều khiển xilanh tiến
lên cắt sắt sau 2 s xilanh lùi lại ,sau đó nó kích chân execute thêm 1 lần nữa để có 1 mạch

327
tự động . Với các nút M,AUTO1,AUTO2 có cơ chế khóa chéo nhau tránh 2 mạch hoạt
động cùng lúc , nên ta có mạnh như sau:

328
Nhấn nút stop hệ thống ngắt kết nối với khối MC_Power nên con lăn không hoạt
động, tắt cảm biến và ngắt nguồn điện với nút MANUAL.

Ta có toàn mạch điện như sau:

329
330
331
332

You might also like