Thiết kế hệ thống đ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 105)

4.2.1.1. Thiết kế lưu đồ điều khiển mô hình hộp số tự động

Lưu đồ thuật toán điều khiển mô hình sau đây được tình bày nguyên lý lên xuống số ở từng tay số tại mức độ tải thường và ở 3 độ mở bướm ga tượng trương. Ở chương trình điều khiển chính sẽ được lập trình bởi 10 trường hợp của góc mở cánh bướm ga để quá trình lên số được chuẩn xác hơn. Dựa vào các lưu đồ này là cơ sở để có thể viết được chương trình điều khiển của mô hình hộp số tự động A343F.

93

LƯU ĐỒ CHỌN DẢI SỐ

94

LƯU ĐỒ CHUYỂN SỐ DẢI “D”

95

LƯU ĐỒ LÊN SỐ TẠI DẢI ”D”

96

LƯU ĐỒ XUỐNG SỐ TẠI DẢI ”D”

97

LƯU ĐỒ CHỌN SỐ DẢI “ 2 “

98

LƯU ĐỒ LÊN SỐ TẠI DẢI “ 2 “

99

LƯU ĐỒ XUỐNG SỐ TẠI DẢI “ 2 “

100

LƯU ĐỒ CHUYỂN SỐ TẠI DẢI “ L “

101

LƯU ĐỒ LÊN SỐ TẠI DẢI “ L “

102

LƯU ĐỒ LÊN SỐ TẠI DẢI “ L “

Hình 4. 29: Lưu đồ xuống số tại dải L

4.2.1.2. Ứng dụng thuật toán Fuzzy điều khiển mô hình hộp số tự động A343F: 4.2.1.2.1. Tổng quan về thuật toán Fuzzy logic: 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

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 105)

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

(160 trang)