LỜI CẢM ƠN .......................................................................................................... i TÓM TẮT ............................................................................................................... ii MỤC LỤC ............................................................................................................. iii DANH MỤC CÁC TỪ VIẾT TẮT......................................................................... vi DANH MỤC CÁC BẢNG BIẾU .......................................................................... vii DANH MỤC HÌNH ẢNH .................................................................................... viii CHƯƠNG 1. TỔNG QUAN ................................................................................... 1 1.1. Đặt vấn đề ..................................................................................................... 1 1.2. Mục tiêu của đề tài ........................................................................................ 1 1.3. Giới hạn đề tài ............................................................................................... 1 1.4. Phương pháp nghiên cứu ............................................................................... 2 CHƯƠNG 2. MATLAB SIMULINK ...................................................................... 3 2.1. Tổng quan về Matlab ..................................................................................... 3 2.1.1. Giới thiệu chung về Matlab ..................................................................... 3 2.1.2. Giao diện của Matlab 2020b .................................................................... 4 2.1.3. Một số thao tác cơ bản trong Matlab ....................................................... 5 2.1.4. Câu lệnh và biến trong Matlab ................................................................. 5 2.1.5. Matlab trong toán học ............................................................................. 6 2.1.5.1. Các phép toán ................................................................................... 6 2.1.5.2. Các hàm toán học .............................................................................. 7 2.1.5.3. Một số bài toán được thực hiện bằng Matlab ..................................... 8 2.2. Tổng quan về Matlab Simulink .................................................................... 13 2.2.1. Một số thư viện công cụ trong Matlab Simulink .................................... 15 2.2.1.1. Các công cụ trong Tab SIMULAITON ........................................... 16 2.2.1.2. Các công cụ trong Tab DEBUG ...................................................... 20 2.2.1.3. Các công cụ trong Tab MODELLING ............................................ 28 2.2.2. Các chế độ mô phỏng ............................................................................ 38 2.2.3. Giới thiệu một số khối cơ bản của Matlab Simulink .............................. 41 2.2.3.1. Khối đầu vào (input) ....................................................................... 41 2.2.3.2. Khối thực hiện các phép toán, các điều kiện .................................... 43iv 2.2.3.3. Khối đầu ra (output) ........................................................................ 47 2.2.4. Ứng dụng Matlab Simulink để mô phỏng .............................................. 49 2.2.4.1. Mô phỏng một bài toán lý thuyết ..................................................... 49 2.2.4.2. Xây dựng mô hình toán học bằng Simulink ..................................... 50 CHƯƠNG 3. STATEFLOW ................................................................................. 60 3.1. Giới thiệu về Stateflow ................................................................................ 60 3.2. Các khối cơ bản trong Stateflow .................................................................. 61 3.2.1. Chart ..................................................................................................... 61 3.2.2. State Transition Table ........................................................................... 75 3.2.3. Truth table ............................................................................................. 80 3.2.4. Sequence Viewer ................................................................................... 85 CHƯƠNG 4. SIMSCAPE ..................................................................................... 89 4.1. Tổng quan về Simscape ............................................................................... 89 4.2. Thư viện của Simscape ................................................................................ 90 4.2.1. Foundation library (Thư viện nền tảng) ................................................. 90 4.2.2. Utilities library (Thư viện tiện ích) ...................................................... 102 4.2.3. Simscape Driveline ............................................................................. 103 4.2.4. Simscape Electrical ............................................................................. 114 4.2.5. Simscape Fluids .................................................................................. 122 4.2.6. Simscape Multibody ............................................................................ 137 CHƯƠNG 5. APP DESIGNER ........................................................................... 149 5.1. Tổng quan về App Designer ...................................................................... 149 5.2. Ứng dụng App Designer ............................................................................ 149 5.2.1. Ưu điểm của App Designer ................................................................. 149 5.2.2. Nhược điểm của App Designer ............................................................ 150 5.3. Thư viện của App Designer ....................................................................... 151 5.3.1. Khởi động App Designer ..................................................................... 151 5.3.2. Các khối cơ bản trong thư viện App Designer ..................................... 151 5.4. Một số ví dụ cơ bản về App Designer ........................................................ 155 5.4.1. Bài toán tính cộng, trừ, nhân và chia hai số được nhập vào.................. 155v 5.4.2. Sử dụng App Designer kết hợp với Simulink để tạo giao diện cho mô hình hệ thống xe lửa. ..................................................................................... 159 5.4. Đóng gói App Designer ............................................................................. 165 5.4.1. MATLAB App .................................................................................... 165 5.4.2. Web App ............................................................................................. 168 5.4.3. Standalone Desktop App ..................................................................... 170 5.5. Kết quả đạt được sau khi ứng dụng App Designer để thiết kế giao diện ..... 174 CHƯƠNG 6. KẾT LUẬN ................................................................................... 183 6.1. Kết quả đạt được ....................................................................................... 183 6.1. Hạn chế ..................................................................................................... 183 6.1. Hướng phát triển ....................................................................................... 183 TÀI LIỆU THAM KHẢO ................................................................................... 184 PHỤ LỤC............................................................................................................ 185
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO - -
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO - -
Trang 3CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh Phúc
TRƯỞNG NGÀNH GIẢNG VIÊN HƯỚNG DẪN
5 Ngày hoàn thành: Theo kế hoạch của Khoa ĐTCLC (dự kiến 10/08/2021)
Ngày giao nhiệm vụ đề tài: 04/2021
4
Upload lên google drive của khoa file thuyết minh đồ án
01 quyển thuyết minh đồ án
Sản phẩm:
3
Làm tài liệu tham khảo và giảng dạy cho người dùng
Tao ra giao diện App Designer và đóng gói thành một ứng dụng cho người
Kết hợp được các thư viện có trong Matlab: Simulink, Stateflow, Simscape
Xây dựng được mô hình Matlab từ cơ bản đến nâng cao
Nắm vững các kiến thức về phần mềm Matlab
2 Nội dung thực hiện đề tài:
ỨNG DỤNG PHẦN MỀM MATLAB TRONG MÔ PHỎNG Ô TÔ
1 Tên đề tài:
Giảng viên hướng dẫn:
Hệ đào tạo: Đại học chính quy Khóa: 2017Ngành: Công nghệ Kỹ thuật ô tô
Họ và tên sinh viên:
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
2021
TP Hồ Chí Minh, ngày 10 tháng 08 năm
Trang 4CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh Phúc
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
MSSV:
MSSV:
Ngành: Công nghệ Kỹ thuật ô tô
Họ và tên sinh viên:
Họ và tên sinh viên:
(Ký & ghi rõ họ tên)Giáo viên hướng dẫn
6 Điểm: ………… (Bằng chữ: )
Họ và tên Giáo viên hướng dẫn:
Tên đề tài: ỨNG DỤNG PHẦN MỀM MATLAB TRONG MÔ PHỎNG Ô TÔ
Trang 5CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh Phúc
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Ngành: Công nghệ Kỹ thuật ô tô
Họ và tên sinh viên:
Họ và tên sinh viên:
Họ và tên Giáo viên phản biện:
Tên đề tài: ỨNG DỤNG PHẦN MỀM MATLAB TRONG MÔ PHỎNG Ô TÔ
Trang 6Nhóm Sinh Viên Thực Hiện
Tp Hồ Chí Minh, ngày 10 tháng 08 năm 2021
Trân trọng!
đồ án tốt nghiệp
điều kiện, quan tâm, giúp đỡ, động viên trong suốt quá trình học tập và hoàn thành
Cuối cùng, chúng em xin chân thành cảm ơn gia đình và bạn bè, đã luôn tạo
chỉ ra những thiếu sót để chúng em có thể rút ra những kinh nghiệm
nghiệp này cũng còn nhiều thiếu sót vì vậy chúng em mong các thầy thông cảm và
Tuy nhiên với vốn kinh nghiệm và kiến thức ít ỏi thì việc hoàn thành đồ án tốt
đỡ em trong suốt quá trình học tập
môn chuyên ngành, giúp em có được cơ sở lý thuyết vững vàng và tạo điều kiện giúpChí Minh đã dạy dỗ, cho chúng em kiến thức về các môn đại cương cũng như các
em trong suốt quá trình làm đồ án
- trường ĐHSPKT Tp Hồ Chí Minh, người đã tận tình hướngdẫn, chỉ bảo chúng
tất cả những gì đã học ở nhà trường và kinh nghiệm tích lũy của bản thân
nói riêng Để hoàn thành được bài đồ án tốt nghiệp đòi hỏi sinh viên phải vận dụngđánh giá việc vận dụng kiến thức đã học của sinh viên nói chung và của chúng emđược nội dung Tuy nhiên, việc hoàn thành đồ án tốt nghiệp là một phương pháp đểkhăn cả về kiến thức chuyên môn cũng như phương tiện, dụng cụ để có thể hoàn thành
Trong quá trình thực đồ án tốt nghiệp, sinh viên chúng em gặp rất nhiều khó
LỜI CẢM ƠN
Trang 7TÓM TẮT Ngày nay, các thành tựu của cuộc cách mạng khoa học kỹ thuật đang từng ngày, từng giờ làm thay đổi cuộc sống của con người Cùng với sự bùng phát của khoa học công nghệ, nhu cầu tính toán và xử lí các phép toán một cách nhanh chóng là khá cần thiết MATLAB ra đời và giúp chúng ta giải quyết những vấn đề đó
Các nhà nghiên cứu trên thế giới đã tập trung tìm hiểu, triển khai các ứng dụng Matlab nhiều năm qua MATLAB là một công cụ được sử dụng trong nhiều lĩnh vực, bao gồm xử lý tín hiệu và ảnh, truyền thông, thiết kế điều khiển tự động, đo lường kiểm tra, phân tích mô hình tài chính, hay tính toán sinh học Với hàng triệu kĩ sư và nhà khoa học làm việc trong môi trường công nghiệp cũng như ở môi trường Hàn lâm, MATLAB là ngôn ngữ của tính toán khoa học
Ở Việt Nam, MATLAB đã và đang được sử dụng rộng rãi trong các nghành công nghệ kỹ thuật đặc biệt là trong ngành công nghệ kỹ thuật ô tô Matlab còn là một công cụ hữu hiệu hỗ trợ đắc lực cho thầy trò trong việc học tập, giảng dạy và nghiên cứu
Với mong muốn tìm hiểu và nghiên cứu kỹ hơn về phần mềm Matlab, nhóm chúng em đã thực hiện đề tài: “ỨNG DỤNG PHẦN MỀM MATLAB TRONG MÔ PHỎNG Ô TÔ” với sự hướng dẫn của ThS Huỳnh Quốc Việt
Trong quá trình nghiên cứu, nhóm chúng em không tránh những thiếu sót, rất mong được sự nhắc nhở, chỉ bảo từ quý thầy cô, quý bạn bè
Trân trọng cảm ơn!
Trang 8MỤC LỤC
LỜI CẢM ƠN i
TÓM TẮT ii
MỤC LỤC iii
DANH MỤC CÁC TỪ VIẾT TẮT vi
DANH MỤC CÁC BẢNG BIẾU vii
DANH MỤC HÌNH ẢNH viii
CHƯƠNG 1 TỔNG QUAN 1
1.1 Đặt vấn đề 1
1.2 Mục tiêu của đề tài 1
1.3 Giới hạn đề tài 1
1.4 Phương pháp nghiên cứu 2
CHƯƠNG 2 MATLAB SIMULINK 3
2.1 Tổng quan về Matlab 3
2.1.1 Giới thiệu chung về Matlab 3
2.1.2 Giao diện của Matlab 2020b 4
2.1.3 Một số thao tác cơ bản trong Matlab 5
2.1.4 Câu lệnh và biến trong Matlab 5
2.1.5 Matlab trong toán học 6
2.1.5.1 Các phép toán 6
2.1.5.2 Các hàm toán học 7
2.1.5.3 Một số bài toán được thực hiện bằng Matlab 8
2.2 Tổng quan về Matlab Simulink 13
2.2.1 Một số thư viện công cụ trong Matlab Simulink 15
2.2.1.1 Các công cụ trong Tab SIMULAITON 16
2.2.1.2 Các công cụ trong Tab DEBUG 20
2.2.1.3 Các công cụ trong Tab MODELLING 28
2.2.2 Các chế độ mô phỏng 38
2.2.3 Giới thiệu một số khối cơ bản của Matlab Simulink 41
2.2.3.1 Khối đầu vào (input) 41
2.2.3.2 Khối thực hiện các phép toán, các điều kiện 43
Trang 92.2.3.3 Khối đầu ra (output) 47
2.2.4 Ứng dụng Matlab Simulink để mô phỏng 49
2.2.4.1 Mô phỏng một bài toán lý thuyết 49
2.2.4.2 Xây dựng mô hình toán học bằng Simulink 50
CHƯƠNG 3 STATEFLOW 60
3.1 Giới thiệu về Stateflow 60
3.2 Các khối cơ bản trong Stateflow 61
3.2.1 Chart 61
3.2.2 State Transition Table 75
3.2.3 Truth table 80
3.2.4 Sequence Viewer 85
CHƯƠNG 4 SIMSCAPE 89
4.1 Tổng quan về Simscape 89
4.2 Thư viện của Simscape 90
4.2.1 Foundation library (Thư viện nền tảng) 90
4.2.2 Utilities library (Thư viện tiện ích) 102
4.2.3 Simscape Driveline 103
4.2.4 Simscape Electrical 114
4.2.5 Simscape Fluids 122
4.2.6 Simscape Multibody 137
CHƯƠNG 5 APP DESIGNER 149
5.1 Tổng quan về App Designer 149
5.2 Ứng dụng App Designer 149
5.2.1 Ưu điểm của App Designer 149
5.2.2 Nhược điểm của App Designer 150
5.3 Thư viện của App Designer 151
5.3.1 Khởi động App Designer 151
5.3.2 Các khối cơ bản trong thư viện App Designer 151
5.4 Một số ví dụ cơ bản về App Designer 155
5.4.1 Bài toán tính cộng, trừ, nhân và chia hai số được nhập vào 155
Trang 105.4.2 Sử dụng App Designer kết hợp với Simulink để tạo giao diện cho mô
hình hệ thống xe lửa 159
5.4 Đóng gói App Designer 165
5.4.1 MATLAB App 165
5.4.2 Web App 168
5.4.3 Standalone Desktop App 170
5.5 Kết quả đạt được sau khi ứng dụng App Designer để thiết kế giao diện 174
CHƯƠNG 6 KẾT LUẬN 183
6.1 Kết quả đạt được 183
6.1 Hạn chế 183
6.1 Hướng phát triển 183
TÀI LIỆU THAM KHẢO 184
PHỤ LỤC 185
Trang 11DANH MỤC CÁC TỪ VIẾT TẮT API: Application Program Interface
CAD: Computer Aided Design
CSS: Cascading Style Sheets
MEX: Macro Express File
MAF: Mass Air Flow
PWM: Pulse Width Modulation
PID: Proportional Integral Derivative
TPS: Throttle Position Sensor
URL: Uniform Resource Locator
VBA: Visual Basic for Applications
3D: 3-Dimension
Trang 12DANH MỤC CÁC BẢNG BIẾU
Bảng 2.1 Các chứng năng của công cụ trong Diagnostic Viewer 21
Bảng 2.2 Các tín hiệu của Breakpoint 27
Bảng 2.3 Một vài thông số trong Solver pane 29
Bảng 2.4 Một vài thông số trong Data Import/Export 31
Bảng 2.5 Một vài thông số trong Math and Data Types 33
Bảng 2.6 Một vài thông số trong Diagnostics 34
Bảng 4.1 Các khối cơ bản của Utilities library 102
Bảng 4.2 Các khối cơ bản của Simscape Driveline 104
Bảng 4.3 Các khối cơ bản của Simscape Electrical 114
Bảng 4.4 Các khối cơ bản của Simscape Fluids 123
Bảng 4.5 Các khối cơ bản của Simscape Multibody 137
Bảng 5.1 Các khối cơ bản trong thư viện COMMON 152
Bảng 5.2 Các khối cơ bản trong thư viện CONTAINERS và FIGURE 153
Bảng 5.3 Các khối cơ bản trong thư viện INSTRUMENTATION 154
Bảng 5.4 Các khối cơ bản trong thư viện AEROSPACE 155
Trang 13DANH MỤC HÌNH ẢNH
Hình 2.1 Giao diện của Matlab 2020b 4
Hình 2.2 kết quả của đồ thị y = sin (x) 9
Hình 2.3 kết quả của đồ thị x = sin (a) và y = cos(a) 10
Hình 2.4 Đạo hàm của hàm số 11
Hình 2.5 Khởi động Simulink bằng cách 1 13
Hình 2.6 Khởi động Simulink bằng cách 2 14
Hình 2.7 Thư viện của Simulink 14
Hình 2.8 Cài đặt các bước mô phỏng 16
Hình 2.9 Kết quả mô phỏng 17
Hình 2.10 Kết quả tín hiệu được ghi lại 18
Hình 2.11 Hộp thoại Add viewer 19
Hình 2.12 Hình trên tín hiệu signal1 được thêm scope vào 19
Hình 2.13 Cửa sổ Diagnostic Viewer 20
Hình 2.14 Biểu tượng Trace Signal trong tab Debug 22
Hình 2.15 Chọn Highlight Signal to Source để theo dõi khối nguồn 22
Hình 2.16 Theo dõi khối nguồn 23
Hình 2.17 Theo dõi khối Signal 23
Hình 2.18 Biểu tượng Comment out trong tab Debug 23
Hình 2.19 Mô phỏng Simulation 2 hoạt động 24
Hình 2.20 Biểu tượng Output Values trong tab Debug 25
Hình 2.21 Hiển thị dữ liệu của signal2 26
Hình 2.22 Thêm điểm ngắt có điều kiện 28
Hình 2.23 Cửa sổ Solver pane 29
Hình 2.24 Cửa sổ Data Import/Export 31
Hình 2.25 Cửa sổ Math and Data Types 32
Hình 2.26 Cửa sổ Diagnostics 34
Hình 2.27 Cửa sổ Model Explorer 35
Hình 2.28 Biểu tượng Model Explorer trong tab Modeling 36
Hình 2.29 Cửa sổ Model Data Editor 37
Hình 2.30 Biểu tượng Model Data Editor trong tab Modeling 37
Trang 14Hình 2.31 Các chế độ mô phỏng của Matlab 38
Hình 2.32 Chế độ Normal 38
Hình 2.33 Chế độ Accelerator 39
Hình 2.34 Chế độ Rapid Accelerator 40
Hình 2.35 Môi trường soạn thảo chính của Simulink 41
Hình 2.36 Khối Step 42
Hình 2.37 Khối Constant 42
Hình 2.38 Khối From Workspace 43
Hình 2.39 Khối Sine Wave 43
Hình 2.40 Khối Sum 44
Hình 2.41 Khối Gain 44
Hình 2.42 Khối Product 45
Hình 2.43 Khối Subsystem 45
Hình 2.44 Khối integrator 46
Hình 2.45 Khối Fcn 46
Hình 2.46 Khối Switch 47
Hình 2.47 Khối Scope 47
Hình 2.48 Khối XY Graph 48
Hình 2.49 Khối To Workspace 48
Hình 2.50 Kết quả mô phỏng một bài toán lý thuyết 49
Hình 2.51 Mô hình bài toán thực tế 50
Hình 2.52 Mô hình hóa bài toán 50
Hình 2.53 Xây dựng mô hình Simulink cho bài toán 51
Hình 2.54 Thiết lập thông số đầu vào 58
Hình 2.55 Kết quả mô phỏng 59
Hình 3.1 Khối Clutch (Stateflow) được tích hợp trong model Simulink 60
Hình 3.2 Khối Chart 61
Hình 3.3 Các đối tượng có trong Chart 62
Hình 3.4 Hệ thống phân cấp trong State 63
Hình 3.5 Trạng thái độc nhất (OR) 64
Trang 15Hình 3.6 Trạng thái song song (AND) 64
Hình 3.7 Hoạt động trạng thái song song (AND) 65
Hình 3.8 Transition thể hiện quá trình chuyển đổi 67
Hình 3.9 Conditions thể hiện một điều kiện 68
Hình 3.10 Default transitions chỉ định State hoạt động 68
Hình 3.11 Ví dụ về history junction 69
Hình 3.12 Ví dụ về Connective Junctions 70
Hình 3.13 Tạo khối Chart 71
Hình 3.14 Đặt tên cho khối Chart 72
Hình 3.15 Nhập lệnh vào khối 72
Hình 3.16 Khai báo tín hiệu Input và Output 73
Hình 3.17 Kết hợp với Simulink để hoàn thành mô hình 73
Hình 3.18 Cách xuất kết quả 74
Hình 3.19 Bậc công tắc Headlights 74
Hình 3.20 Bậc công tắc Far_Cos 74
Hình 3.21 Khối State Transition Table 75
Hình 3.22 Các khối cần dùng cho ví dụ State Transition Table 76
Hình 3.23 Thiết lập các trạng thái cho khối 77
Hình 3.24 Thiết lập Input và Output 78
Hình 3.25 Kết hợp với Simulink để hoàn thiện hệ thống 78
Hình 3.26 Tay số 1 79
Hình 3.27 Tay số 2 79
Hình 3.28 Tay số 3 79
Hình 3.29 Tay số 4 80
Hình 3.30 Biểu tượng khối Truth table 80
Hình 3.31 Các khối để thực hiện ví dụ Truth table 81
Hình 3.32 Thiết lập các trạng thái cho khối Truth Table 82
Hình 3.33 Thiết lập các trạng thái cho khối Chart 83
Hình 3.34 Kết nối với Simulink để hoàn thành hệ thống 84
Hình 3.35 Trạng thái lỗi TPS 84
Hình 3.36 Sóng hiển thị lỗi TPS 85
Trang 16Hình 3.37 Biểu tượng khối Sequence Viewer 85
Hình 3.38 Các khối cần dùng cho ví dụ Sequence Viewer 86
Hình 3.39 Thiết lập các trạng thái cho khối 87
Hình 3.40 Thiết lập Input và Output 87
Hình 3.41 Kết nối với Simulink để hoàn thành hệ thống 87
Hình 3.42 Xuất kết quả mô phỏng khối Sequence Viewer 88
Hình 4.1 Mô hình một hệ thống xe lửa 93
Hình 4.2 Mô hình vật lý một hệ thống xe lửa 93
Hình 4.3 Mở một mô hình Simscape mới 94
Hình 4.4 Mô hình vật lý chuyển thành mô hình Simscape 95
Hình 4.5 Lắp ráp các mạng vật lý lại với nhau 96
Hình 4.6 Điều chỉnh tham số cho khối Mass (M1) 96
Hình 4.7 Điều chỉnh tham số cho khối Mass (M2) 97
Hình 4.8 Điều chỉnh tham số cho khối Spring 97
Hình 4.9 Điều chỉnh tham số cho khối Damper (M1) 98
Hình 4.10 Điều chỉnh tham số cho khối Damper (M2) 98
Hình 4.11 Thêm các khối nguồn vào mô hình 99
Hình 4.12 Thêm các khối cảm biến vào mô hình 100
Hình 4.13 Cài đặt thông số cho khối Signal Generator 101
Hình 4.14 Hoàn thành mô hình Simscape Foundation 101
Hình 4.15 Kết quả mô phỏng 102
Hình 4.16 Simscape Driveline 103
Hình 4.17 Mô hình xe ô tô dẫn động hai cầu 105
Hình 4.18 Mô hình vậy lý xe ô tô dẫn động bốn bánh 106
Hình 4.19 Lắp ráp các mạng vật lý lại với nhau 107
Hình 4.20 Cài đặt thông số cho khối Engine Mục Engine Torque 108
Hình 4.21 Cài đặt thông số cho khối Tire Mục Engine Geometry 108
Hình 4.22 Cài đặt thông số cho khối Tire Mục Engine Dynamics 109
Hình 4.23 Cài đặt thông số cho khối Vehicle 110
Hình 4.24 Tạo Subsystem cho bánh xe 110
Trang 17Hình 4.25 Tín hiệu đầu vào 111
Hình 4.26 Hoàn thành mô hình Simscape Driveline 112
Hình 4.27 Kết quả mô phỏng 113
Hình 4.28 Simscape Electrical 114
Hình 4.29 Mô hình vật lý của động cơ DC 116
Hình 4.30 Chuyển mô hình vật lý thành mô hình Simscape 117
Hình 4.31 Thêm các khối nguồn và khối cảm biến 117
Hình 4.32 Cài đặt thông số cho khối DC Voltage Source 118
Hình 4.33 Cài đặt thông số cho khối Controlled PWM Voltage 118
Hình 4.34 Cài đặt thông số cho khối H-Bridge 119
Hình 4.35 Cài đặt thông số cho khối DC Motor 120
Hình 4.36 Hoàn thành mô hình Simscape Electrical 121
Hình 4.37 Kết quả mô phỏng RPM Motor 121
Hình 4.38 Kết quả mô phỏng Current 122
Hình 4.39 Simscape Fluids 122
Hình 4.40 Mô hình hệ thống làm mát động cơ 125
Hình 4.41 Mô hình vật lý hệ thống làm mát động cơ 125
Hình 4.42 Cài đặt thông số cho khối Fluid Jacket 127
Hình 4.43 Tạo Subsystem cho khối Engine 129
Hình 4.44 Hoàn thành mô hình bình giãn nở 129
Hình 4.45 Cài đặt thông số cho khối Thermostat 130
Hình 4.46 Cài đặt thông số cho khối Radiator 131
Hình 4.47 Cài đặt thông số cho khối Pump 132
Hình 4.48 Kết nối với Simulink bằng các khối chuyển đổi 134
Hình 4.49 Hoàn thành mô hình Simscape Fluids 135
Hình 4.50 Kết quả nhiệt độ piston 135
Hình 4.51 Kết quả dòng chảy qua các ống 136
Hình 4.52 Simscape Multibody 137
Hình 4.53 Mô hình hệ thống Cruise Control 139
Hình 4.54 Tạo một mô hình Simscape Multibody mới 140
Hình 4.55 Kết nối các mạng vật lý lại với nhau 141
Trang 18Hình 4.56 Cài đặt thông số cho khối Transform Vehicle Axis 142
Hình 4.57 Cài đặt thông số cho khối Prismatic Vehicle 142
Hình 4.58 Cài đặt thông số cho khối Point Mass 143
Hình 4.59 Kết nối các khối lại với nhau để lập mô hình xe 144
Hình 4.60 Kết quả mô phỏng của xe 144
Hình 4.61 Tạo một subsystem cho xe 145
Hình 4.62 Hoàn thành mô hình Simscape Multibody 145
Hình 4.63 Chạy mô hình với vòng lặp hở (không có thuật toán PID) 146
Hình 4.64 Kết quả khi chạy mô hình với vòng lặp hở (không có thuật toán PID) 147 Hình 4.65 Chạy mô hình với vòng lặp kín (có thuật toán PID) 147
Hình 4.66 Kết quả khi chạy mô hình với vòng lặp kín (có thuật toán PID) 148
Hình 5.1 Cửa số khởi động App Designer 151
Hình 5.2 Môi trường thiết kế chính của App Designer 152
Hình 5.3 Cửa sổ App Designer mới 156
Hình 5.4 Thiết kế giao diện cho bài toán 156
Hình 5.5 Viết code cho bài toán 157
Hình 5.6 Cửa sổ code view 157
Hình 5.7 Hoàn thành code view 158
Hình 5.8 Xuất ra kết quả của bài toán 159
Hình 5.9 Ví dụ từ bài toán xây dụng mô hình Simulink 159
Hình 5.10 Ví dụ từ bài toán Simulink 160
Hình 5.11 Cửa sổ App Designer mới 160
Hình 5.12 Thiết kế giao diện Model and Parameter 161
Hình 5.13 Thiết kế giao diện Results 161
Hình 5.14 Tiến hành viết code cho bài toán với cửa số Code View 162
Hình 5.15 Xuất ra kết quả vận tốc 164
Hình 5.16 Xuất ra kết quả lực đầu vào 165
Hình 5.17 Các cách đóng gói App Designer 165
Hình 5.18 Giao diện của MATLAB App 166
Hình 5.19 Cách mở MATLAB App vừa đóng gói 167
Trang 19Hình 5.20 Tiến hành mở MATLAB App vừa đóng gói 167
Hình 5.21 Giao diện đã được đóng gói 168
Hình 5.22 Giao diện khi nhấp vào Web App 169
Hình 5.23 Tạo một Standalone Desktop App bằng Application Complier 170
Hình 5.24 Tạo một Standalone Desktop App bằng cách ấn vào nút Share 171
Hình 5.25 Giao diện Standalone Desktop App 172
Hình 5.26 Giao diện Standalone Desktop App vừa đóng gói 173
Hình 5.27 Kết quả đóng gói với Standalone Desktop App 174
Hình 5.28 Giao diện chính của App 174
Hình 5.29 Tab MENU 175
Hình 5.30 cửa sổ MENU để mở Driveline library 175
Hình 5.31 Tab Physical model 176
Hình 5.32 Tab Simscape model 176
Hình 5.33 Tab Engine parameters 177
Hình 5.34 Tab Simulation results 177
Hình 5.35 Tab APPLICATION 178
Hình 5.36 Tab Simulink model 178
Hình 5.37 Tab Shift_gear control 179
Hình 5.38 Tab Simulation input 179
Hình 5.39 Tab Simulation results 180
Hình 5.40 Mô hình mô phỏng động cơ và hộp số trên ô tô 180
Hình 5.41 Mô hình mô phỏng xe Hybrid kiểu song song 181
Hình 5.42 Mô hình mô phỏng xe Hybrid kiểu hỗn hợp 182
Trang 20CHƯƠNG 1 TỔNG QUAN
1.1 Đặt vấn đề
Matlab là một phần mềm được sử dụng rộng rãi trong nhiều lĩnh vực nghiên cứu và ứng dụng với khối lượng tính toán lớn Một trong số những điểm mạnh của Matlab là khả năng lập trình Lập trình trong Matlab có thể giải quyết những bài toán trong nhiều lĩnh vực khoa học kỹ thuật cũng như trong lĩnh vực ô tô và đặc biệt là trong các hệ thống trên ô tô
Với các thư viện Matlab được bổ sung các bộ công cụ cho phép nó kết nối và điều khiển các hệ đo, thu thập dữ liệu làm mạnh tính năng và hiệu quả sử dụng Sử dụng phần mềm Matlab để thiết kế và mô phỏng một số bài toán vật lý nhằm trang bị kiến thức và khả năng ứng dụng chúng vào việc tiến hành mô phỏng hiệu quả và kết quả chính xác
để sử dụng mô phỏng vào các hệ thống trên ô tô
Vì vậy, được sự phân công Bộ môn Động cơ ngành Công Nghệ Kỹ Thuật Ô Tô của khoa Đào tạo chất lượng cao – Trường ĐH Sư Phạm Kỹ Thuật Tp.HCM và sự hướng dẫn của ThS Huỳnh Quốc Việt, nhóm chúng em đã nghiên cứu đề tài: Ứng dụng phần mềm Matlap trong mô phỏng ô tô Để làm tài liệu hướng dẫn và giảng dạy cho người dùng
1.2 Mục tiêu của đề tài
Nắm vững các kiến thức về phần mềm Matlab
Xây dựng được mô hình Matlab từ cơ bản đến nâng cao
Kết hợp được các thư viện có trong Matlab: Simulink, Stateflow, Simscape để mô phỏng các hệ thống trên ô tô
Tao ra giao diện App Designer và đóng gói thành một ứng dụng cho người dùng
dễ dàng sử dụng
Làm tài liệu tham khảo và giảng dạy cho người dùng
1.3 Giới hạn đề tài
Chỉ mô phỏng các mô hình của một vài hệ thống trên ô tô
Chỉ mô phỏng và đưa ra kết quả trên máy tính, chưa tiến hành xây dựng mô hình thực nghiệm
Trang 211.4 Phương pháp nghiên cứu
Sử dụng cơ sở lí thuyết của các nguồn tài liệu tham khảo để xây dựng mô hình mới Phương pháp xử lý bài toán bằng lý thuyết: dùng lý thuyết môn học phân tích và
xử lý dữ kiện của các bài toán vật lý mẫu làm cơ sở để xây dựng thuật toán tính toán, lập chương trình chi tiết
Phương pháp xử lý bài toán bằng ứng dụng phần mềm: ứng dụng phần mềm Matlab xây dựng sơ đồ khối, thuật toán tính toán và lập chương trình để giải quyết các bài toán
đa lựa chọn, kết quả mong đợi là sẽ mô phỏng các bài toán một cách nhanh, chính xác
và trực quan với sự biến động và thay đổi của nhiều tham số đầu vào
So sánh, đánh giá đặc tuyến mô phỏng và đặc tuyến thực tế
Trang 22CHƯƠNG 2 MATLAB SIMULINK
2.1 Tổng quan về Matlab
2.1.1 Giới thiệu chung về Matlab
MATLAB là một phần mền cung cấp môi trường tính toán số và lập trình, được thiết kế bởi công ty MathWorks MATLAB cho phép tính toán số với ma trận, vẽ đồ thị hàm số hay biểu đồ thông tin, thực hiện thuật toán, tạo các giao diện người dùng và liên kết với những chương trình máy tính viết trên nhiều ngôn ngữ lập trình khác MATLAB giúp đơn giản hóa việc giải quyết các bài toán tính toán kĩ thuật so với các ngôn ngữ lập trình truyền thống như C, C++
MATLAB được sử dụng trong nhiều lĩnh vực, bao gồm xử lý tín hiệu và ảnh, truyền thông, thiết kế điều khiển tự động, đo lường kiểm tra, phân tích mô hình Với hàng triệu
kĩ sư và nhà khoa học làm việc trong môi trường công nghiệp cũng như ở môi trường Hàn lâm, MATLAB là ngôn ngữ của tính toán khoa học
Matlab cung cấp cho ta các phương pháp theo hướng chuyên dụng hóa được gọi là các Toolbox (hộp công cụ) Các Toolbox cho phép người sử dụng học và áp dụng các
kỹ thuật chuyên dụng cho một lĩnh vực nào đó Toolbox là một tập hợp toàn diện các hàm của Matlab (M-file) cho phép mở rộng môi trường Matlab để giải các lớp bài toán
cụ thể Các lĩnh vực trong đó có sẵn các Toolbox bao gồm: xử lý tín hiệu, hệ thống điều khiển, mạng noron, mô phỏng…
Hệ thống Matlab gồm có 5 phần chính:
Ngôn ngữ Matlab: là một ngôn ngữ ma trận, mảng cấp cao với các câu lệnh, hàm, cấu trúc dữ liệu vào/ra, các tính năng lập trình đối tượng Nó cho phép lập trình các ứng dụng từ nhỏ đến các ứng dụng lớn, từ ứng dụng đơn giản đến phức tạp
Môi trường làm việc của Matlab: đây là một bộ các công cụ và phương tiện
mà bạn sử dụng với tư cách người dùng hoặc người lập trình Matlab Nó bao gồm các phương tiện cho việc quản lý các biến trong không gian làm việc Workspace cũng như xuất nhập dữ liệu Nó cũng bao gồm các công cụ
để phát triển quản lý, gỡ lỗi và định hình M – file
Xử lý đồ họa: đây là một hệ thống đồ họa của Matlab Nó bao gồm các lệnh cao cấp cho trực quan hóa dữ liệu hai chiều và ba chiều, xử lý ảnh, ảnh động,
…Nó cũng cung cấp các lệnh cấp thấp cho phép bạn tùy biến giao diện đồ
Trang 23họa cũng như đi xây dựng một giao diện đồ họa hoàn chỉnh cho ứng dụng Matlab của mình
Thư viện toán học Matlab: đây là một thuật toán khổng lồ các thuật toán tính toán từ các hàm cơ bản như cộng, trừ, nhân, chia, sin, cos, số học phức…tới các hàm phức tạp hơn như: nghịch đảo, ma trận, tìm giá trị riêng của ma trận, phép biến đổi fourier nhanh
Giao diện chương trình ứng dụng Matlab API (Application Program Interface): đây là một thư viện cho phép ta viết các chương trình C và Fortran tương thích với Matlab
2.1.2 Giao diện của Matlab 2020b
Hình 2.1 Giao diện của Matlab 2020b Command Window: Đây là cửa sổ làm việc chính của MATLAB Tại đây ta thực hiện toàn bộ việc nhập dữ liệu và xuất kết quả tính toán Dấu nháy >> báo hiệu chương trình sẵn sàng cho việc nhập dữ liệu Ta kết thúc việc nhập dữ liệu bằng cách nhấn phím Enter MATLAB sẽ thực thi dòng lệnh mà ta nhập vào Command Window và trả kết quả trong Command Window
Trang 24Workspace browser: trong MATLAB các dữ liệu được lưu trong biến Workspace browser liệt kê tất cả các biến mà ta đang sử dụng trong MATLAB Nó cung cấp thông tin về kích thước, loại dữ liệu Ta có thể truy cập trực tiếp vào dữ liệu bằng cách nhấp đúp vào biến để hiển thị Array editor
Launch Pad: cho phép người sử dụng truy cập nhanh các công cụ, tài liệu của MATLAB
2.1.3 Một số thao tác cơ bản trong Matlab
Trong MATLAB, thanh trình đơn thay đổi tùy theo cửa sổ mà ta lựa chọn Tuy vậy các trình đơn File, Desktop, Window, Help có mặt hầu hết trong các thanh trình đơn Trình đơn File:
New: tạo một đối tượng mới (biến, m-file, figure, model, GUI)
Open: mở một file theo định dạng của MATLAB (*.m, *.mat, *.mdl)
Import data…: nhập dữ liệu từ các file khác vào MATLAB
Save workspace…: lưu các biến trong MATLAB vào file *.mat
Set path: khai báo các đường dẫn của các thư mục chứa các m-file
Preferences: thay đổi các định dạng về font, font size, color cũng như các tùy chọn cho Editor, Command Window v.v
Page Setup: định dạng trang in
Print: in
Desktop layout: sắp xếp các cửa sổ trong giao diện
Save layout: lưu cách sắp xếp cửa sổ
Trình đơn Window dùng để kích hoạt (activate) cửa sổ Nút Start cung cấp shortcut tới các công cụ trong MATLAB
2.1.4 Câu lệnh và biến trong Matlab
Các câu lệnh trong Matlab thường có dạng sau:
biến = biểu thức
Tên biến được bắt đầu bằng một chữ cái, sau đó có thể là các chữ và số Matlab chấp nhận tên biến (cũng như tên hàm) có đến 19 kí tự và phân biệt chữ in hoa và chữ in thường
Trang 25Không giống với một số phần mềm lập trình khác, ở đây biến không phải khai báo trước Nếu không viết tên biến và dấu = trước biểu thức thì chương trình sẽ tự động tạo tên biến là ans
Nếu câu lệnh quá dài không thể viết hết được trên một trang thì có thể dùng dấu
ba chấm (…) để viết tiếp trên dòng thứ hai
Muốn viết lời chú dẫn, trước dòng đó ta gõ dấu %, khi chạy chương trình máy sẽ
Trang 26atan2: arctan góc phần tư
sinh: sin hybecbolic
cosh: cosin hybecbolic
tanh: tang hybecbolic
Các hàm toán sơ cấp:
Trang 27abs: giá trị tuyệt đối hoặc modun của số phức
log: logarit cơ số tự nhiên
log10: logarit cơ số 10
2.1.5.3 Một số bài toán được thực hiện bằng Matlab
Vẽ đồ thị hàm số
Vẽ đồ thị thường được ứng dụng nhiều nhất trong kỹ thuật, việc vẽ đồ thị giúp người dùng đánh giá được tính năng cụ thể của một vấn đề nào đó tại một điểm hoặc trên toàn miền, từ đó đưa ra các biện pháp cải tiến khác nhau
Nhập biến chạy, dùng lệnh plot
Cú pháp chung: plot (trục hoành, trục tung,’ màu đồ thị’)
Một số lệnh vẽ cơ bản cần nhớ trong MATLAB:
Plot (x, y,'r') lệnh này dùng để vẽ đồ thị ứng với đường màu gì tuỳ thích
’r’ là đường màu đỏ
Xlabel ('tên trục x'): tên của trục hoành được hiển thị trên đồ thị
Ylabel ('tên trục y'): tên của trục tung được hiển thị trên hình
Trang 28 Title ('do thi xy'): tên của đồ thị cần vẽ
grid on: tạo lưới cho đồ thị cần vẽ
grid off: bỏ lưới cho đồ thị
hold on: vẽ nhiều đồ thị lên cùng hệ trục tọa độ
legend (‘đối tượng cần chú thích’): chú thích đồ thị đã vẽ vị trí này được phần mềm mặc định tại một chỗ
Vẽ đồ thị của hàm y = sin (x)
Ta tiến hành gõ lệnh trong môi trường Matlab như sau:
x = 0:pi/100:2*pi; %(cho giá trị x chạy từ 0 đến 2 với mỗi bước là /100)
y = sin(x); %(cho y bằng hàm sin(x)) plot(x,y,’r’) %(vẽ đồ thị)
grid on xlabel('x') ylabel('y') title('do thi ham so') legend ('y=sin(x)') Kết quả:
Hình 2.2 kết quả của đồ thị y = sin (x)
Trang 29Vẽ đồ thị của hàm x = sin (a) và y = cos(a) trên cùng một đồ thị
Ta tiến hành gõ lệnh trong môi trường Matlab như sau:
a=[0:0.3:2*pi];
x=sin(a);
y=cos(a);
hold on grid on xlabel('x') ylabel('y') plot(a,x,'r') plot(a,y,'b') title('do thi ham so') Kết quả:
Hình 2.3 kết quả của đồ thị x = sin (a) và y = cos(a)
Trang 307 9 11 %cho ma trận chạy từ 7 đến 11, với bước nhảy là 2
Đồng thời, Matlab cũng hỗ trợ một số hàm cụ thể để khởi tạo các ma trận
đặc biệt như sau:
Trang 31 Ma trận không: zeros (số dòng, số cột)
Ma trận vuông không cấp n: zeros(n)
Ma trận đơn vị: eye(n)
Ma trận đường chéo: diag ([các phần tử trên đường chéo chính])
Ma trận thực ngẫu nhiên trong khoảng [0,1]: rand (số dòng, số cột) hoặc rand(n) (ma trận vuông cấp n)
Trang 32ans =
1 1
1 1
2.2 Tổng quan về Matlab Simulink
Simulink là thư viện mở rộng của Matlab Simulink được dùng để mô phỏng các
hệ động học, các hệ tuyến tính, phi tuyến, các mô hình trong thời gian liên tục hoặc gián đoạn Đặc điểm nổi bật của Simulink lập trình ở dạng sơ đồ cấu trúc, sử dụng các đối tượng đồ họa Loại lập trình hướng đối tượng này có ưu điểm là tính trực quan, dễ viết
và hình dung nhất là đối với những người lập trình không chuyên nghiệp Simulink cung cấp giao diện đồ họa để xây dựng mô hình ở dạng sơ đồ khối Bằng thao tác “nhấn và kéo chuột” người sử dụng có thể kéo các khối chuẩn trong thư viện của Simulink ra vùng làm việc của mình để xây dựng mô hình mô phỏng
Để khởi động Simulink ta có hai cách:
Cách 1: nhập lệnh simulink ngoài giao diện chính của Matlab và nhấn Enter
>>simulink
Hình 2.5 Khởi động Simulink bằng cách 1
Trang 33Cách 2: nhấp chuột vào biểu tượng Simulink trên menu bar của Matlab
Hình 2.6 Khởi động Simulink bằng cách 2 Người sử dụng có thể thay đổi hoặc tạo ra khối riêng của mình và bổ sung vào thư viện như là một khối ứng dụng mới Simulink bao gồm các thư viện sau: thư viện các khối nguồn tín hiệu (Sources), thư viện các khối xuất và hiển thị dữ liệu (Sink), thư viện các khối tính toán (Math Operations), thư viện Continuous và nhiều thư viện khác, tùy theo yêu cầu sử dụng mà chọn các khối khác nhau
Hình 2.7 Thư viện của Simulink
Trang 34Mô hình trong Simulink được xây dựng theo kiểu phân cấp điều đó cho phép người
sử dụng có thể xây dựng mô hình theo hướng từ dưới lên trên hoặc từ trên xuống dưới Dùng chức năng tạo Mask của Simulink người ta có thể xây dựng các hệ con bằng cách tạo hộp thoại và biểu tượng mới cho khối Ứng dụng quan trọng của Mask là tạo ra hộp thoại để tiếp nhận thông số của các khối trong hệ con, ngoài ra Mask còn làm cho mô hình đơn giản, rõ ràng và bảo vệ nội dung của khối Khi thực hiện mô phỏng bằng Simulink người sử dụng có thể quan sát hệ thống ở mức tổng quan, vừa có thể xem xét chi tiết hoạt động của từng khối bằng cách nhấp đúp chuột vào khối đó Các khối Scope
và khối hiển thị khác (lấy trong thư viện Sinks) cho phép người sử dụng quan sát kết quả trong khi đang chạy mô phỏng Hơn nữa người sử dụng còn có thể trực tiếp thay đổi thông số trong khi đang chạy mô phỏng để biết được ảnh hưởng của các thông số đó đối với kết quả của mô phỏng
Simulink có một đặc tính quan trọng là khi xây dựng mô hình dạng sơ đồ khối thì Simulink tự động tạo ra một m.file (function) cho mô hình đó Hàm này được gọi là Sfunction Cũng giống như các hàm khác của Matlab, hàm S-function là một file mở, người sử dụng có thể truy cập vào và soạn thảo Lệnh để mở một S-function là sfun Điều đó có nghĩa là có thể soạn thảo chương trình mô phỏng mà không cần thông qua giao diện đồ thị Mặt khác, Simulink cho phép chuyển đổi từ S-function sang sơ đồ khối
và ngược lại Như vậy rất thuận tiện cho người sử dụng
Hiện nay Matlab Simulink được ứng dụng rộng rãi trong nhiều lĩnh vực nhất là các lĩnh vực liên quan đến việc tính toán các giá trị bằng các biểu thức toán học hay mô phỏng một hệ thống nào đó thông qua việc tính toán các thông số của chúng Trong ngành ô tô nói riêng thì Simulink được ứng dụng nhiều trong việc mô phỏng các hệ thống động lực Simulink có thể coi là một phần mềm đồ họa, định hướng dùng sơ đồ khối để
mô phỏng các hệ thống động lực Đây là sản phẩm bên trong của Matlab và sử dụng nhiều hàm của Matlab và cũng có thể trao đổi qua lại với môi trường của Matlab để tăng thêm khả năng linh hoạt của nó Ngoài ra Matlab Simulink còn được sử dụng nhiều trong các lĩnh vực mô phỏng khác như trong điện tử, trong cơ học, trong toán học… Hiện nay người ta bắt đầu nghiên cứu để sử dụng Matlab trong tất cả các lĩnh vực có nhu cầu tính toán, lấy kết quả, xử lý kết quả, mô phỏng…
2.2.1 Một số thư viện công cụ trong Matlab Simulink
Các công cụ tuỳ chỉnh dùng trong mô phỏng:
Trang 352.2.1.1 Các công cụ trong Tab SIMULAITON
Sử dụng các bước thời gian rời rạc, bạn có thể tiến hoặc lùi đến một thời điểm cụ thể trong thời gian mô phỏng Tại mỗi bước thời gian, Stepper hiển thị tất cả dữ liệu mô phỏng mà mô hình tạo ra Bạn cũng có thể đặt các điểm ngắt như một phần của phiên gỡ lỗi
Step tiến và lùi:
Ví dụ: chuyển đổi tín hiệu analog sang digital cho thấy cách tiến và lùi thông qua một mô phỏng
Trong phần Simulink Editor của ví dụ, click vào để mở hộp thoại tùy chọn bước mô phỏng ( Simulation Stepping Options)
Trong hộp thoại, chọn Enable stepping back sau đó nhấn OK
Hình 2.8 Cài đặt các bước mô phỏng
Trang 36 Trên tab Simulation, nhấn nút Step Forward một lần
Nhấp lại vào nút Step Forward để tiến thêm một bước và lưu trữ dữ liệu mô phỏng Tổng cộng 30 bước chuyển tiếp tạo ra các kết quả mô phỏng sau:
Hình 2.9 Kết quả mô phỏng
Bạn phải ấn Step Forward trước sau đó bạn mới có thể ấn Step Back qua các bước tương tự
Log signals (ghi lại tín hiệu):
Chức năng: Đánh dấu một tín hiệu để ghi lại:
Simulink sẽ hiển thị kí hiệu báo tín hiệu đã ghi, cho mỗi tín hiệu
Để bật chế độ log signals chúng ta có thể sử dụng cách sau:
Trên tab Simulation, chọn Log Signals
Khi các tín hiệu được đánh dấu để ghi lại, dữ liệu tín hiệu sẽ ghi vào workspace
và vào Simulation Data Inspector
Trang 37Tín hiệu sau khi được ghi lại chúng ta có thể thao tác với chúng bằng cách nhấp vào biển tượng trên tín hiệu, hộp thoại Simulation Data Ispector sẽ xuất hiện
Hình 2.10 Kết quả tín hiệu được ghi lại Trong hình là dữ liệu của một tín hiệu (signal2) được chọn
Bạn có thể Save dữ liệu của tính hiệu đó, hoặc xuất ra (Export), hoặc nhập vào (Import) một dữ liệu khác có thể từ workspace hoặc từ file mà bạn chọn…
Add viewer (thêm công cụ quan sát)
Chức năng:
Viewer không phải là một khối Viewer là một công cụ để tạo và trực quan hoá tín hiệu Giúp người dùng mô phỏng quan sát rõ hơn về một tín hiệu nào đó trong mô phỏng mà không cần phải dùng các khối hiển thị tín hiệu trong Library Browser
Để thêm viewer ta có thể sử dụng những cách sau:
Chọn một hoặc nhiều tín hiệu
Sau đó trên tab Simulation ta chọn Add viewer
Hộp thoại Add viewer mở ra Chọn công cụ ta cần dùng
Trang 38Hình 2.11 Hộp thoại Add viewer Hoặc bạn cũng có thể thêm viewer bằng cách nhấp chuột phải vào tín hiệu, chọn Create & Connect Viewer sau đó chọn công cụ cần thêm
Ví dụ:
Hình 2.12 Hình trên tín hiệu signal1 được thêm scope vào
Khi mô phỏng xong chương trình thì ngoài kết quả được hiển thị thông qua các khối, chúng ta cũng có thể quan sát dữ liệu của signal1 bằng cách nhấp đúp vào biểu tượng scope trên tín hiệu
Trang 392.2.1.2 Các công cụ trong Tab DEBUG
Hình 2.13 Cửa sổ Diagnostic Viewer
Trang 40Cửa sổ trình xem chẩn đoán được chia thành 3 phần:
Toolbar menu: Hiển thị các lệnh khác nhau để giúp bạn quản lý các thông báo chẩn đoán
Diagnostic Message pane: Hiển thị thông báo lỗi, cảnh báo và thông tin
Suggested Actions: Hiển thị các đề xuất và bản sửa lỗi để sửa các lỗi chẩn đoán và cảnh báo
Các công cụ trong Diagnostic Viewer:
Để quản lý thông báo chẩn đoán, hãy sử dụng thanh công cụ Diagnostic Viewer toolbar
Bảng 2.1 Các chứng năng của công cụ trong Diagnostic Viewer
Mở rộng hoặc thu gọn thông báo Lưu tất cả hoặc thông báo mới nhất vào tệp nhật
ký Sao chép tất cả hoặc thông báo mới nhất Xóa tất cả hoặc tất cả trừ các tin nhắn mới nhất Lọc ra lỗi, cảnh báo và thông báo thông tin Nhóm các loại thông báo tương tự
Tìm kiếm thông báo cho các từ khóa cụ thể và điều hướng giữa các thông báo
Đặt số lượng mô hình tối đa để hiển thị trong các bảng tab và số lượng sự kiện tối đa để hiển thị trên mỗi mô hình
Trace Signal (theo dõi tín hiệu)
Bạn có thể theo dõi tín hiệu của mô phỏng xác định nguồn hoặc đích đến của tín hiệu đó bằng cách dùng trace signal