Ứng dụng thuật toán Fuzzy điều khiển mô hình hộp số tự động A343F:

Một phần của tài liệu Nghiên cứu thi công mô hình hộp số tự động toyota a343f đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô (Trang 115)

4.2.1.2.1. Tổng quan về thuật toán Fuzzy logic:

Định nghĩa về Fuzzy logic:

Hệ logic mờ (Fuzzy logic) mô tả quan hệ dựa trên luật nếu–thì (if–then rules), ví dụ như “ nếu mở van nóng thì nhiệt độ tăng”. Sự nhập nhằng (không xác định) trong định nghĩa của các thừa số ngôn ngữ (ví dụ, nhiệt độ cao) được biểu diễn thông qua tập mờ, là tập có các biến chồng khớp. Theo ý nghĩa của tập mờ, thì một miền phần tử có thể đồng thời nằm trong nhiều tập (với các cấp độ tham gia khác nhau). Ví dụ t = 20◦C nằm trong tập nhiệt độ Cao có hàm thành viên là 0.4 và trong tập nhiệt độ Trung bình với hàm thành viên là 0.2. Sự thay đổi từ hàm thành viên sang không tham gia cho một kết quả suy diễn mịn dùng luật mờ nếu-thì , thực ra là một dạng nội suy.

103

Hình 4. 30: Ví dụ về logic mờ

Theo logic truyền thống (traditional logic), một biểu thức logic chỉ nhận một trong hai giá trị: True hoặc False. Khác với lý thuyết logic truyền thống, một biểu thức logic mờ có thể nhận một trong vô số giá trị nằm trong khoảng số thực từ 0 đến 1. Nói cách khác, trong logic truyền thống, một sự kiện chỉ có thể hoặc là đúng (tương đương với True - 1) hoặc là sai (tương đương với False - 0) còn trong logic mờ, mức độ đúng của một sự kiện được đánh giá bằng một số thực có giá trị nằm giữa 0 và 1, tuỳ theo mức độ đúng “nhiều” hay “ít” của nó. Giá trị của các biến trong biểu thức logic mờ không phải là các con số mà là các khái niệm, ví dụ như “nhanh”, “trung bình”, “chậm” hay “nóng”, “vừa”, “lạnh”... Chính vì vậy cách giải quyết các bài toán trong logic mờ rất gần với cách tư duy của con người.

Khái niệm về tập mờ: Cho S là một tập hợp và x là một phần tử của tập hợp

đó. Một tập con mờ F của S được định nghĩa bởi một hàm tư cách thành viên μF(x) đo “mức độ” mà theo đó x thuộc về tập F. Trong đó, 0 ≤ μF(x) ≤ 1.

Khi μF(x) = 0 nghĩa là x hoàn toàn không thuộc tập F. Khi μF(x) = 1 nghĩa là x thuộc F hoàn toàn.

104

Các toán tử logic trên tập mờ:

Logic mờ không quan tâm đến cách thức các tập mờ được tạo ra như thế nào, mà quan tâm đến các luật hỗ trợ cho việc suy luận trên các tập mờ này. Phần này sẽ trình bày các phép toán thao tác trên các tập mờ, đó là phép bù (complement) phép hợp (union), phép giao (intersection).

Phép hợp hay toán tử OR:

Khái niệm: Hợp của hai tập mờ thể hiện mức độ một phần tử thuộc về một trong hai tập là bao nhiêu.

Hình 4. 31: Phép hợp tử

Công thức: MA∨ B(x) = max (μA(x) , μB(x) ) Ví dụ:

μTre(An) = 0.8 và μTrung niên(An) = 0.3

=> μTre ∨ Trung Niên(An) = max( 0.8, 0.3) = 0.8

105 Khái niệm: Giao của hai tập mờ (A B) thể hiện mức độ một phần tử thuộc về cả hai tập là bao nhiêu.

Công thức: MA∧ B(x) = min (μA(x) , μB(x) ) μTre(An) = 0.8 và μTrung niên(An) = 0.3

=> μTre ∧ Trung Niên(An) = min( 0.8, 0.3) = 0.3

Hình 4. 32: Phép giao

Phép bù hay toán tử NOT:

Khái niệm: Bù của một tập mờ thể hiện mức độ một phần tử không thuộc về tập đó là bao nhiêu. Công thức: MA(x) = 1 - μA(x) Ví dụ : μTrẻ(An) = 0.8 MTrẻ(An) = 1 – 0.8 = 0.2 MA∨ A(x) = max (0.8, 0.2) = 0.8 MA∧ A(x) = min( 0.8, 0.2) = 0.2

106

Hình 4. 33: Phép bù

Luật mờ: Một luật mờ là một biểu thức if- then được phát biểu ở dạng ngôn ngữ tự

nhiên thể hiện sự phụ thuộc nhân quả giữa các biến.

Ví dụ :if nhiệt độ là lạnh và giá dầu là rẻ then sưởi ấm nhiều. Trong đó:

‘nhiệt độ’, ‘giá dầu’ và ‘sưởi ấm’ là các biến

‘lạnh’, ‘rẻ’, ‘nhiều’ là các giá trị hay chính là các tập mờ. Hoặc:

if một người có chiều cao là cao và cơ bắp là lực lưỡng then chơi bóng rổ hay. Các biến ở đây sẽ là: ‘chiều cao’, ‘cơ bắp’, ‘chơi bóng rổ’

Các giá trị hay tập mờ là: ‘cao’, ‘lực lưỡng’, ‘hay’.

Thủ tục ra quyết định mờ: (fuzzy decision making procedure)

Để hệ thống mờ có thể suy luận bằng các luật mờ và đưa ra kết luận từ các số liệu chính xác ở đầu vào, hệ thống thực hiện 3 bước:

107

Hình 4. 34: Luật mờ

Mờ hóa: Tính toán các giá trị mờ từ các giá trị chính xác ở đầu vào.

Suy luận mờ: Áp dụng tất cả các luật mờ có thể áp dụng để tính ra giá trị mờ cho kết luận, sau đó kết hợp các kết quả đầu ra.

Phi mờ hóa: Xác định giá trị chính xác từ kết quả mờ có được ở bước 2. Có nhiều kỹ thuật phi mờ hóa có thể áp dụng được, phương pháp thông dụng nhất là phương pháp trọng tâm (centriod method).

Cho hệ thống mờ dùng trong điều trị bệnh gồm các luật sau đây: IF sốt nhẹ THEN liều lượng asperine thấp

IF sốt THEN liều lượng asperine bình thường IF sốt cao THEN liều lượng asperine cao

IF sốt rất cao THEN liều lượng asperine cao nhất Và các tập mờ được biểu diễn như sau:

Hình 4. 35: Các tập mờ

Biểu diễn của các tập mờ trong bài toán trên:

Một bệnh nhân sốt ở 38.7 độ, hãy xác định liều lượng asperince cần thiết để cấp cho bệnh nhân.

108 Bước 1: Mờ hóa giá trị x = 38.7 đã cho: ta thấy 38.7 thuộc về các tập mờ như sau:

μSốt nhẹ (x) = 0.3 μSốt (x) = 0.7 μSốt cao (x) = 0 μSốt rất cao (x) = 0

Hình 4. 36: Biểu diễn tập mờ

Bước 2: Ta thấy có 2 luật 1 và 2 có thể áp dụng cho ra hai liều lượng aspirine: μThấp (x) = 0.3 μBình thường (x) = 0.7

Kết hợp các giá trị mờ này lại ta được vùng được tô màu sau đây:

Hình 4. 37: Kết hợp giá trị mờ

Bước 3: Phi mờ hóa kết quả bằng cách tính trọng tâm của diện tích được tô trong hình trên, chiếu xuống trục hoành ta được giá trị ±480mg, đây chính là liều lượng aspirine cần cấp cho bệnh nhân.

4.2.1.2.2. Điều khiển hộp số tự động bằng Fuzzy logic:

Trong phần trên chúng ta đã biết, ECU ECT sang số dựa vào bản đồ sang số như hình 4.34. Thời điểm sang số phụ thuộc vào 2 thông số là tốc độ xe và tải. Các giá trị này được lưu trong bộ nhớ ECU, đóng vai trò như các bảng tra (look-up

table). ECU có thể điều khiển sang số dựa vào các câu lệnh điều kiện. Dựa vào bản đồ

109

Nếu tải là 50% và tốc độ nhỏ hơn 1450 vòng/phút thì vị trí là số 1

nếu tải là 50% và tốc độ nhỏ hơn 2450 vòng/phút thì vị trí là số 2

nếu tải là 50% và tốc độ nhỏ hơn 4000 vòng/phút thì vị trí là số 3

nếu không

thì vị trí là số OD

Phát biểu như trên chỉ cho 1 vị trí tải. Để phát biểu bao trùm hết bản đồ sang số, cần rất nhiều câu như vậy. Trong lập trình, việc điều khiển dòng thông tin thông suốt và đi đúng hướng sẽ gặp nhiều khó khăn.

Đối với các hệ thống phức hợp và phi tuyến như việc điều khiển sang số, fuzzy logic sẽ phát huy tác dụng. Chúng ta hãy thiết lập bộ điều khiển fuzzy logic để có thể tính toán được thời điểm sang số một cách đơn giản và hiệu quả.

Trước hết, bộ điều khiển sử dụng 2 tín hiệu đầu vào là tải

và tốc độ xe chứ không phải chỉ một tín hiệu đầu vào như trong ví dụ trước.

Bằng cách Edit > Add variable … > Input ta sẽ thêm được tín hiệu đầu vào thứ 2 như hình dưới.

110

Hình 4. 38: Bộ điều khiển sang số bằng fuzzy logic

Mở khối tải load, điều chỉnh các thông số như hình 4.34. Trong đó, khoảng giá trị [0, 100] ứng với % tải. Ba hàm tính thành viên xác định 3 tập fuzzy thể hiện 3 vị trí: tải nhẹ (Lght), tải trung bình (Middle) , tải nặng (Heavy). 3 hàm tính thành viên này dạng trimf.

111 Mở khối tốc độ Speed và điều chỉnh các thông số hình 4.35. Trong đó khoảng giá trị [0, 300] thể hiện dải tốc độ xe có thể đạt được. Ba hàm tính thành viên cũng dạng trimf. Nhấn vào từng đường để thay đổi tên, kéo và thả để di chuyển các đỉnh.

Hình 4. 40: Hàm tính thành viên Speed

Mở và điều chỉnh khối tín hiệu sang số Gear như hình 4.38. Vị trí tay số được xếp vào 3 tập fuzzy: Low (Low thấp), Middle (trung bình), High (cao). Low ứng với tay số thấp ( số 1, 2); Middle ứng với tay số trung bình (số 2, 3); High ứng với tay số cao (số 3, OD). Khoảng giá trị lấy từ 0 đến 4 ứng với 4 số trong hộp số tự động thông thường.

112

Hình 4. 41: Hàm tính thành viên Gear

Mở khối rule để thiết lập điều kiện như hình 4.37. Trong đó có 3 luật:

If (Load is Light) and (Speed is Low) then (Gear is Low)

Nếu tải nhẹ, tốc độ thấp thì tay số thấp.

If (Load is Middle) and (Speed is Average) then (Gear is Middle)

Nếu tải trung bình, tốc độ trung bình thì tay số trung bình.

If (Load is Heavy) and (Speed is High) then (Gear is High)

113

Hình 4. 42: Thiết lập điều khiển

Kết quả tính toán bằng các luật trên các tập fuzzy cho như Hình 4.38. Di chuyển các thanh trượt để xem các kết quả khác nhau ứng với các tín hiệu đầu vào khác nhau. Ví dụ một vị trí trong hình, tải là 30, tốc độ xe 68, kết quả vị trí tay số là 2.73. Dĩ nhiên chúng ta không thể đặt vị trí số ở giá trị này vì hộp số tự động của ta đang đề cập là hộp số có cấp, chỉ có các vị trí số 1, 2, 3 và OD . Để dùng kết quả này điều khiển hộp số, chúng ta có thể dùng điều kiện:

Nếu Gear <= 1, số 1 Nếu Gear <= 2, số 2 Nếu Gear <= 3, số 3 Nếu Gear <= 4, số OD

114

Hình 4. 43: Kết quả đầu ra

Để kết quả được chính xác hơn thì ta viết thêm nhiều luật hơn đễ thuật toán có thể cho ra kết quả chính xác nhất.

4.2.1.2.3. Viết chương trình điều khiển hộp số tự động A343F:

Trong phần này chúng ta tìm hiểu công cụ fuzzy logic trong Matlab. Sử dụng fuzzy logic để tạo ra các quy luật chuyển số của hộp số tự động.

Khởi động fuzzy logic trong Matlab bằng lệnh:

115

Hình 4. 44: Giao diện fuzzy logic

Trong cửa sổ fuzzy logic có 3 khối chính: đầu vào (input), đầu ra (output) và luật (rule). Double click vào từng khối cho phép ta thay đổi các thông số trong khối đó.

Để điều khiển hộp số tự động sang số cần 2 tín hiệu đầu vào là tải và tốc độ xe. Chúng ta vào Edit chọn Add Variable… chọn Input.

116 Gọi khối input1 là Load để chỉ độ tải, khối input2 là Speed để chỉ tốc độ xe, khối output là gear để chỉ số của hộp số tự động.

Hình 4. 46: Giao diện fuzzy logic với tín hiệu đầu vào đầu ra đã đổi tên

Mở khối Load ta có giao diện như hình 4.42, trong đó có 5 hàm tính thành viên dạng trapmf. 5 đường này đặc trưng cho tải 10, 50, 100%.

117

Hình 4. 47: Giao diện khối Load

Mở khối Speed ta có giao diện như hình 4.43. Trong đó gồm 14 hàm thành viên từ I đến XIV biểu thị tốc độ xe từ 0 đến 6000 v/p

118 Mở khối Gear ta có giao diện như hình 4.44, gồm 4 hàm thành viên đặc trưng cho 4 số của hộp số tự động.

Hình 4. 49: Giao diện khối Gear

Mở khối luật ở giữa để định nghĩa luật cho hệ thống như hình 4.45. Ta thiết lập 20 luật:

119

Hình 4. 50: Khối luật

Vào View => Rule để xem kết quả tập fuzzy tổng đầu ra. Dịch chuyển thanh trượt để quan sát kết quả thu được bên phải. Như trong hình 4.46, với độ mở tải là 50%, tốc độ xe 3000v/p xe đang chạy ở số 2.

120

4.2.2. Thi công điều khiển điện tử cho mô hình hộp số tự động A343F:

❖ Các chi tiết điều khiển chính của mô hình:

Ngoài một số các bộ phận chính của hộp số đã được nêu ở chương 2 về chức năng cũng như các sơ đồ chân cắm của từng bộ phận ví dụ như:

- Cảm biến vị trí bàn đạp ga - Cảm biến tốc độ

- Cảm biến tạo tải - Nút O/D off

- Nút nhấn Kick down - Cần chuyển số

Mô hình cần phải có thêm một vài thiết bị khác như bộ điều khiển ECT, màn hình LCD… . Vì vậy nên trên mô hình điều khiển hộp số sẽ cần thêm một vài bộ phận quan trọng nữa có tác dụng giả lập thay thế các bộ phận chính trên xe để mô hình có thể hoạt động được.

4.2.2.1. Mạch điều khiển Arduino:

❖ Khái niệm:

Arduino là một board mạch vi xử lý, nhằm xây dựng các ứng dụng tương tác với nhau hoặc với môi trường được thuận lợi hơn. Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM Atmel 32-bit. Board Arduino là một nền tảng nguồn mở được sử dụng để thực hiện các dự án điện tử.

❖ Phân loại:

Có thể phân loại các board arduino như sau:

Dòng cơ bản: Arduino Uno, Arduino 101, Arduino Pro, Arduino Pro Mini, Arduino Micro, Arduino Nano.

121 Dòng nâng cao: Arduino Mega, Arduino Zero, Arduino Due.

❖ Arduino mega 2560

Arduino Mega 2560 là 1 bo mạch thiết kế với bộ xử lý trung tâm là vi điểu khiển AVR Atmega2560.

Hình 4. 52: Arduino Mega 2560

❖ Cấu tạo chính của Arduino Mega 2560 bao gồm các phần sau:

Cổng USB: đây là loại cổng giao tiếp để ta upload code từ PC lên vi điều khiển. Đồng thời nó cũng là giao tiếp serial để truyền dữ liệu giữa vi điều khiển và máy tính.

Jack nguồn: để chạy Arduino thỉ có thể lấy nguồn từ cổng USB ở trên, nhưng không phải lúc nào cũng có thể cắm với máy tính được. Lúc đó ta cần một nguồn từ 9V đến 12V.

Có 54 chân vào/ra, ngoài ra có một chân nối đất (GND) và một chân điện áp tham chiếu (AREF).

Vi điều khiển AVR: đây là bộ xử lí trung tâm của toàn bo mạch. Với mỗi mẫu Arduino khác nhau thì con chip là khác nhau. Ở con Arduino Mega2560 này thì sử dụng

122

Vi xử lý Atmega 2560

Điện áp hoạt động 5V

Điện áp đầu vào 7-12V

Chân vào/ra (I/O) số 54 (15 chân PWM)

Chân vào tương tự 16

Dòng điện trong mỗi chân I/O 40mA

Dòng điện chân nguồn 3.3V 50Ma

Bộ nhớ trong 256KB

SRAM 8KB

EEPROM 4KB

Xung nhịp 16MHz

Mega 2560 có 16 đầu vào tương tự, mỗi ngõ vào tương tự đều có độ phân giải 10 bit (tức là 1024 giá trị khác nhau).Theo mặc định đo từ 0 đến 5 volts, mặc dù là nó có thể thay đổi phần trên của phạm vi bằng cách sử dụng chân Aref và analogReference) chức năng. Các Atmega 2560 có 256 KB bộ nhớ flash để lưu trữ mã (trong đó có 8 KB được sử dụng cho bộ nạp khởi động), 8 KB SRAM và 4 KB của EEPROM.

123

4.2.2.2. LCD: gồm 6 leb 7 đoạn:

Hình 4. 53: Hiển thị tốc độ và độ mở cánh bướm ga gồm 6 led 7 đoạn

Hiển thị thông số như vị trí mở cánh bướm ga, tốc độ xe, vị trí chuyển số. Ngoài ra còn có các Led đơn để thể hiện rõ chế độ làm việc của từng bộ phận trong hộp số.

4.2.2.3. Bộ biến áp

Bộ biến áp dùng để chuyển đổi điện áp từ 220V sang 24V để điều khiển các van điện từ đóng ngắt dường dẫn khí, 12V để cấp nguồn cho vi điều khiển và 5V để cấp nguồn các Led hiển thị.

Hình 4. 54: Bộ biến áp

Tuy nhiên để có được điện áp, 24V và 12V như trên ta cần phải lắp lắp một tụ điện và một mạch điot chỉnh lưu toàn kỳ đển có thể đổi điện áp xoáy chiều sang 1 chiều. Và lắp thêm một IC 7805 để chuyển từ 12V sang 5V.

124

Hình 4. 55: Mạch chuyển đổi điện áp thành 24V, 12V, 5V

4.2.3. Thi công mạch điện cho mô hình: 4.2.3.1. Đi dây điện và lắp mạch: 4.2.3.1. Đi dây điện và lắp mạch:

Thi công lắp ráp phần điều khiển điện tử cho mô hình được thực hiện sau khi phần cơ khí của mô hình đã được hoàn tất. Dựa vào sơ đồ mạch điện tổng quát của hệ thống điều

Một phần của tài liệu Nghiên cứu thi công mô hình hộp số tự động toyota a343f đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô (Trang 115)

Tải bản đầy đủ (PDF)

(160 trang)