3.2.1 Các phơng pháp tính toán thông thờng
Hệ phơng trình mô tả hệ thống dẫn động phanh khí nén đợc xây dựng là hệ phơng trình vi phân cấp 1. Để giải hệ phơng t ình vi phân, hiện tại có r các phơng pháp giải gần đúng sau:
3.2.1.1 Phơng pháp giải bài toán Côsi
Đối với bài toán Côsi, thờng chỉ tìm đợc nghiệm đúng của một số phơng trình đơn giản nh:
Phơng tình có biến phân ly độc lập, phơng trình đẳng cấp cấp 1, phơng tình tuyến tính cấp 1…, còn đối với bài toán mà có vế phải f(x,y) có dạng bất kỳ, nhìn chung không có phơng pháp giải đúng. Nếu tính gần đúng thì quá phức tạp nên ít sử dụng trong thực tế.
3.2.1.2 Phơng pháp Ơle hoặc Ơle cải tiến
Đặc điểm của phơng pháp Ơle là tính toán đơn giản. Bài toán này có dạng nh sau:
y’= f(x,y)
y(x0)= α; x0≤ x ≤ X
Để tìm các giá trị gần đúng của nghiệm đúng y(x) cho bài toán. Ta chia khoảng [x0,X] thành n đoạn nhỏ bằng nhau bởi các điểm chia xi.
Xi= x0 +i.h, i= 0,1,2,…n- 1.
x0= X;
nx h= X− 0
Giá trị nghiệm đúng tại xi là y(x), giá trị gần đúng của nghiệm đúng tại xi là yi.
Để tăng độ chính xác của phơng pháp Ơle, ngời ta có thể giải bài toán theo phơng pháp sau:
- Khai triển chuỗi Taylo, nghiệm y(x) của bài toán tại xi.
) , ( ), (
! . 2
) ) (
( ).
( ) ( )
( ''
2
' x x y c c x x
x y x x x y x
y i i i − i i i ∈ i
+
− +
=
Thay x= xi+1= xi+h, y’(xi)= f(xi,y(xi)) vào đẳng thức trên, ta có:
) , ( ), (
! . )) 2 ( , ( ) ( )
( '' 1
2
1 +
+ − i = i i + i i∈ i i
i h y c c x x
x y x hf x y x y
Viết rút gọn:
yi+1= hf(xi,yi),
Hay yi+1 = yi +hf(xi,yi),i=0.n−1, với y0= y(x0) = α đã biết.
Với phơng pháp giải Ơle cải tiến, áp dụng công thức Niutơn- Lepnit, tính gần đúng tích phân xác định ở vế phải bằng công thức hình thang, ta nhận
đợc:
[ ( , ) ( , )], 0. 1
2 1 1
1 = + + + + = −
+ h f x y f x y i n
y
yi i i i i i
V ới y0= y(x0) = α đã biết
Phơng pháp này dùng để giải gần đúng phơng trình vi phân, nhng nhợc điểm của phơng pháp này là độ chính xác thấp (độ chính xác cấp 1).
Để khắc phục nhợc điểm này, có thể giải bài toán bằng cách giảm bớc h, nhng khi đó khối lợng tính toán tăng lên và sai số tích luỹ do thực hiện các phép tính sẽ tăng lên.
3.2.1.3 Phơng pháp Runge- Kutta
Phơng pháp này cũng giải nh phơng pháp Ơle, nhng có độ chính xác cao.
Khi xây dựng công thức Ơle có độ chính xác cấp 1, ta dùng khai triển Taylo, nghiệm y(x) của bài toán tại xi với ba số hạng. Để thành lập công thức Runge Kutta có độ chính xác cao hơn công thức Ơle, ta dùng khai triển Taylo -
nghiệm y(x) tại xi với nhiều số hạng hơn. Xây dựng công thức Runge Kutta - trong trờng hợp tổng quát khá phức tạp, ở đây chỉ xét trờng hợp đơn giản.
Chia khoảng [x0, X] thành n đoạn nhỏ bằng nhau bởi các điểm chia xi: Xi= x0+i.h, i= 0,1,1…,n- 1.
Xn= X;
n x h X− 0
=
Giả sử biết giá trị gần đúng yi của nghiệm đúng y(xi), cần tính giá trị
đúng yi+1 của nghiệm đúng y(xi+1). Tuỳ theo yêu cầu chính xác nghiệm của bài toán mà tiến hành giải bài toán với cấp chính xác cấp 2, cấp 3, cấp 4.
Ví dụ, khi khai triển Taylo nghiệm y(xi+1) của bài toán tại xi, ta bỏ số hạng 0(h5) của phơng pháp giải. Nghiệm bài toán với độ chính xác cấp 4 nh
sau: ( 2 2 )
6
1 ()
4 ) ( 3 ) ( 2 ) ( 1 1
i i i i
i
i y k k k k
y+ = + + + +
) ,
) (
(
1 i i
i hf x y
k =
2 ) ,
( 1
) ( 2
i i i
i k
y h x hf
k = + +
2 ) 2,
( 2
) ( 3
i i i
i k
h y x hf
k = + +
) ,
( 3
) ( 4
i i i
i hf x h y k
k = + +
1 . 0 −
= n i
Trong công thức Runge Kutta nêu trên, ngời ta thờng dùng giải bài - toán với cấp chính xác cấp 4 vì nó có độ chính xác cao hơn và công thức tính toán cũng không quá phức tạp.
Ngày nay, công cụ tính toán trên máy tính tơng đối thuận lợi và cho độ chính xác cao, tác giả xin giới thiệu phơng pháp giải phơng trình vi phân bằng phÇn mÒm MatLab- Simulink.
3.2.2 PhÇn mÒm MatLab- Simulink
MatLab (Matrix Laboratory) là một bộ chơng trình phần mềm lớn của lĩnh vực toán số và là công cụ rất cần thiết giúp cho các nhà khoa học, các chuyên gia kỹ thuật trong việc tính toán, khảo sát, phân tích, thiết kế ở rất nhiều các chuyên ngành khác nhau: từ cơ khí, điện, điện tử, điều khiển tự động…
Câu lệnh của MatLab đợc viết rất sát với các mô tả kỹ thuật khiến cho việc lập trình bằng ngôn ngữ này đợc thực hiện nhanh hơn, dễ hơn so với nhiều ngôn ngữ đã trở nên thông dụng nh Pascal, Fortran. Những hàm sẵn có trong MatLab có cấu trúc thiết lập gần giống nh ngôn ngữ C++. Vì vậy, ngời sử dụng không mất nhiều thì giờ học hỏi khi đã biết đợc những vấn đề cơ bản của một số ngôn ngữ lập trình thông dụng. Hơn nữa, MatLab không chỉ cho phép đặt vấn đề tính toán mà còn có thể xử lý số liệu, biểu diễn đồ hoạ một cách mềm dẻo và chính xác trong không gian 2D cũng nh 3D, kể cả khả
năng tạo hoạt cảnh cho những mô tả sinh động.
Simulink là phần mềm dùng để mô phỏng động học các hệ thống tuyến tính và phi tuyến trong môi trờng MatLab. Đây là là sản phẩm nằm bên trong MatLab, 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 mềm dẻo của nó.
Trình tự thực hiện một quá trình mô phỏng gồm các bớc cơ bản:
* Xây dựng mô hình toán học là việc xây dựng hệ phơng trình mô tả sự hoạt
động và thể hiện các quy luật chung về vật lý của hệ thống. Các phơng trình này còn phải mô tả đợc các quan hệ ràng buộc giữa các thông số cấu trúc, các thông số trạng thái của hệ thống với các tham số của tác động ngoài.
* Xây dựng sơ đồ mô phỏng trên máy tính bằng công cụ Simulink của MatLab gồm các bớc công việc:
- Tiến hành lựa chọn các khối chức năng thích hợp ở trong th viện các khối chính để mô phỏng các thành phần trong hệ phơng trình vi phân đã
đợc xây dựng.
- Tiến hành nối ghép các khối chức năng trong sơ đồ mô phỏng bằng cách sử dụng các đờng truyền tín hiệu nối các khối theo đúng trình tự và chức năng trong cấu trúc của hệ thống cần khảo sát.
* Nhập giá trị các thông số vào các khối chức năng của mô hình.
Trong MatLab có hai phơng án thông dụng để nhập các dữ liệu tính toán: nhập trực tiếp số liệu vào bảng khai báo tính chất của khối chức năng và nhập dữ liệu thông qua một file dữ liệu (m-file).
- Phơng án nhập dữ liệu trực tiếp thực hiện bằng cách khai báo các trị số cụ thể của dữ liệu cần tính toán vào hộp hội thoại tính chất của khối chức năng (hộp hội thoại này hiện ra ngay sau khi ta tiến hành kích hoạt biểu tợng của nó).
- Phơng án tạo file dữ liệu m file thực hiện bằng cách tạo một scrip file - trên cửa sổ lệnh của chơng trình MatLab. Các dữ liệu đợc nhập gồm có tên dữ liệu và trị số của nó. Tên dữ liệu trong m file phải phù hợp với tên dữ liệu - khai báo trong khối chức năng của mô phỏng trong Simulink.
* Thiết lập các điều khiển trong quá trình mô phỏng:
- Thiết lập các điều kiện đầu cho các bớc tính toán, các khối chức năng
vi phân, tích phân của mô hình.
- Xác định các thông số điều khiển quá trình mô phỏng: Thờng có 5 thông số điều khiển việc thực thi quá trình mô phỏng là: thời gian mô phỏng, thuật toán tích phân (thuật giải), độ lớn của bớc tích phân, sai số cho phép và các tuỳ chọn xuất kết quả.
* Chạy chơng trình và xuất kết quả mô phỏng.
* Đánh giá, nhận xét.
Nếu hệ phơng trình đợc mô phỏng bằng Simulink có thể phức tạp và gồm nhiều khối nối với nhau, để sơ đồ khối đơn giản, rõ ràng, dễ theo dõi, tiện cho việc kiểm tra, bảo mật, ngời ta thờng dùng cấu trúc theo kiểu các modul chức năng để xây dựng một chơng trình con trong hệ thống. Mỗi modul là một chơng trình con đảm nhận các chức năng cụ thể trong chơng trình
chính. Khi đó chơng trình nhận đợc trên Simulink sẽ là sơ đồ nối các , modul đó lại với nhau. Khối Subsystem đợc sử dụng để xây dựng các modul.
Việc ghép với hệ thống thuộc các tầng cấp trên đợc thực hiện nhờ khối Inport (cho tín hiệu vào) và Outport (cho tín hiệu ra). Số lợng đầu vào/ra của khối Subsystem phụ thuộc vào số lợng khối Inport và Outport.