Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 102 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
102
Dung lượng
3,75 MB
Nội dung
ĐẠI HỌC ĐÀ NẴNG TRƢỜNG ĐẠI HỌC BÁCH KHOA TRƢƠNG VIỆT HƢNG NGHIÊN CỨU THAY THẾ BỘ CHẾ HÒA KHÍ BẰNG HỆ THỐNG PHUN NHIÊN LIỆU CHO XE GẮN MÁY LUẬN VĂN THẠC SĨ KỸ THUẬT CƠ KHÍ ĐỘNG LỰC Đà Nẵng - Năm 2019 ĐẠI HỌC ĐÀ NẴNG TRƢỜNG ĐẠI HỌC BÁCH KHOA TRƢƠNG VIỆT HƢNG NGHIÊN CỨU THAY THẾ BỘ CHẾ HỊA KHÍ BẰNG HỆ THỐNG PHUN NHIÊN LIỆU CHO XE GẮN MÁY CHUYÊN NGÀNH: Kỹ thuật khí động lực MÃ SỐ: 60.52.01.16 LUẬN VĂN THẠC SĨ KỸ THUẬT CƠ KHÍ ĐỘNG LỰC Hƣớng dẫn khoa học: PGS.TS Trần Thanh Hải Tùng Đà Nẵng - Năm 2019 LỜI CAM ĐOAN Tôi cam đoan công trình nghiên cứu riêng tơi.Các số liệu, kết nêu luận văn trung thực chưa cơng bố cơng trình khác Tác giả luận văn Trương Việt Hưng LỜI NÓI ĐẦU Ngày với phát triển khoa học cơng nghệ điều khiển tự động áp dụng nhiều vào lĩnh vực sản xuất, nghiên cứu lĩnh vực khác đời sống xã hội, đặc biệt ngành động đốt việc điều khiển tự động hóa q trình động cần thiết Hiện giới hệ thống phun xăng điện tử cho xe máy sử dụng rộng rãi Ở Việt Nam, xu hướng thay hệ thống nhiên liệu sử dụng chế hịa khí hệ thống phun xăng điện tử Qua trình học tập nghiên cứu em thấy việc thay chế hòa khí hệ thống phun xăng điện tử cần thiết Với điều khiển ECU cho phép điều chỉnh xác lượng phun nhiên liệu theo chế độ tải trọng động cơ, nhờ cải thiện đặc tính mơ men tăng tính kinh tế động giảm lượng khí thải độc hại môi trường Với lý em chọn đề tài “Nghiên cứu thay chế hịa khí hệ thống phun nhiên liệu cho xe gắn máy” Với đề tài em hy vọng góp phần nâng cao chất lượng dòng sản phẩm động xe máy sản xuất Việt Nam Em xin chân thành cám ơn giúp đỡ bảo tận tình PGS.TS.Trần Thanh Hải Tùng giúp đỡ tạo điều kiện thầy cô giáo khoa Cơ Khí Động Lực giúp em hồn thành đề tài Nhưng chưa có nhiều kinh nghiệm trình độ thân cịn hạn chế nên khơng tránh khỏi sai xót Em mong nhận ý kiến đóng góp, bảo thầy bạn để em ứng dụng đề tài tốt thực tế Đà Nẵng, Ngày 24 tháng 04 năm 2019 Học viên thực Trương Việt Hưng TÓM TẮT Tên đề tài: “Nghiên cứu thay chế hịa khí hệ thống phun nhiên liệu cho xe gắn máy” Học viên: Trương Việt Hưng Mã số: 60.52.01.16 Khóa: K32 Chuyên ngành: Kỹ thuật khí động lực Trường Đại học Bách khoa - Đại học Đà Nẵng Tóm tắt: Nghiên cứu thay chế hịa khí hệ thống phun nhiên liệu cho xe WAVE RSX 110 việc sử dụng cảm biến để xác định thay đổi thông số tốc độ động cơ, tải trọng, nhiệt độ mã hóa tín hiệu đưa vào ECU (electronic control unit) xử lý tính tốn để đưa lượng phun nhiên liệu lượng khơng khí phù hợp với chế độ làm việc động Lượng phun nhiên liệu điều khiển qua thời gian đóng mở kim phun Việc tối ưu tỷ lệ nhiên liệu nạp vào khơng khí lưu nhớ để phù hợp với chế độ hoạt động động cho tiêu hao nhiên liệu thấp mà đảm bảo công suất động cơ, với giảm thiểu mức độ phát thải khí CO2, NOx, HC, CO … môi trường ABSTRACT Title of the project: "Research on replacing carburetor with fuel injection system for motorcycles" Abstract:Research to replace carburetor by fuel injection system for vehicle WAVE RSX 110 is the use of sensors to determine the change of parameters such as engine speed, load, and temperature Encode ECU (electronic control unit) input signal processing and calculation to provide the fuel injection volume and air volume suitable for each engine operation mode The amount of fuel injection is controlled through the nozzle opening and closing time The optimal rate of fuel input and air is stored in the memory to suit each engine operation mode so that fuel consumption is lowest while ensuring engine power, along with minimizing the level of emission of CO2, NOx, HC, CO into the environment MỤC LỤC LỜI CAM ĐOAN LỜI NÓI ĐẦU TÓM TẮT DANH MỤC HÌNH ẢNH .10 MỞ ĐẦU 1 Lý chọn đề tài Mục đích nghiên cứu Đối tƣợng phạm vi nghiên cứu .1 Phƣơng pháp nghiên cứu Ý nghĩa khoa học thực tiễn đề tài CHƢƠNG TỔNG QUAN VỀ TÌNH HÌNH NGHIÊN CỨU CHƢƠNG CƠ SỞ LÝ THUYẾT 2.1 Lý thuyết hệ thống phun xăng điện tử 2.1.1 Nguyên lý hoạt động 2.1.2 Yêu cầu hệ thống phun xăng điện tử 2.1.3 Tỷ lệ xăng – khơng khí 2.1.4 Điều khiển lượng phun .9 2.1.5 Thời điểm khoảng thời gian phun 10 2.1.6 Đặc điểm thành phần hỗn hợp cháy 10 2.1.7 Kết luận: .14 2.2 Các loại cảm biến 14 2.2.1 Cảm biến vị trí bướm ga 14 2.2.2 Cảm biến oxy 16 2.2.3 Cảm biến áp suất đường ống nạp .17 2.2.4 Cảm biến nhiệt độ động 18 2.2.5 Cảm biến vị trí trục cam, cảm biến vị trí trục khuỷu 19 2.3.Điều khiển hiệu chỉnh .20 2.3.1 Ở chế độ không tải chuẩn 21 2.3.2 Ở chế độ tăng tốc 21 2.3.3 Chế độ khởi động động 21 2.3.4 Q trình sấy nóng động 23 2.3.5 Chế độ toàn tải .24 2.3.6 Chế độ giảm tốc đột ngột ( Q trình khơng tải cưỡng bức) 24 2.3.7 Kết luận 25 2.4.Lý thuyết mạch điện tử 25 2.4.1 Giới thiệu board Arduino Uno .25 2.4.2 Giới thiệu board Arduino Nano .26 2.4.3 Giới thiệu board Arduino Mega 2560 27 2.5.Thiết bị phần mềm thu nhận tín hiệu 28 2.5.1 Module LCD I2C 28 2.5.2 Màn hình LCD 20x4B 29 2.6.Kết luận 31 CHƢƠNG THIẾT KẾ THỰC NGHIỆM .32 3.1 Thiết kế lắp đặt hệ thống phun nhiên liệu lên động sử dụng chế hịa khí 33 3.1.1 Phương án lắp đặt hệ thống nhiên liệu 33 3.1.2 Phân tích lựa chọn lắp đặt cảm biến lên động thử nghiệm 36 3.2 Thiết kế chế tạo mạch điều khiển hệ thống phun nhiên liệu 41 3.2.1 Cơ sở điều khiển vòi phun 41 3.2.2 Phương pháp điều khiển kim phun 42 3.2.3 Điều khiển thời gian phun nhiên liệu 42 3.2.4 Tính thời gian phun theo số tín hiệu động 46 3.2.5 Thiết kế chế tạo mạch điều khiển phun nhiên liệu 54 3.3 Viết chƣơng trình điều khiển hệ thống phun nhiên liệu arduino .56 3.3.1 Xây dựng thuật toán hệ thống phun xăng 56 3.3.2 Viết chương trình điều khiển 57 CHƢƠNG KẾT QUẢ THỬ NGHIỆM 58 4.1 Kiểm tra chạy thử 58 4.2 Kết đo 60 TÀI LIỆU THAM KHẢO 64 PHỤ LỤC .65 DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT EFI (Electronic Fuel Injection) ECU (Engine Control Unit) MAP (Manifold Absolute Pressure) IAT (Intake Air Temperature) ECT (Engine Coolant Temperature) TDC (Top Dead Center) BDC (Bottom Dead Center) WOT (Wide Open Throttle) RPM (Revolutions Per Minute) NTC (Negative Temperature Coefficient) VVT (Variable Valve Timing) GPS (Global Positioning System) LCD (Liquid Crystal Display) ADC (Analog to Digital Convert) TPS (Throttle Position Sensor) DANH MỤC BẢNG Bảng 3.1: Thông số kỹ thuật động Honda Wave RSX 33 Bảng 3.2: Phun nhiên liệu với thời gian ti số lần phun 5000 lần 47 Bảng 3.3: Bảng khối lượng khơng khí theo tốc độ(rpm) độ mở bướm ga(tps) chu trình 50 Bảng 3.4: Bảng tỷ lệ hịa trộn khơng khí nhiên liệu theo tốc độ độ mở bướm ga 50 Bảng 3.5:Bảng khối lượng nhiên liệu cung cấp cho chu trình 51 Bảng 3.6:Bảng thời quan phun chu trình 52 Bảng 3.7: Bảng thời gian phun để nạp vào chương trình điều khiển 53 Bảng 4.1: Bảng kết đo công suất ứng với đặc tính ngồi tay số động dùng chế hịa khí thơng thường dùng hệ thống nhiên liệu phun xăng 60 Bảng 4.2: Bảng so sánh suất tiêu hao nhiên liệu động dùng chế hịa khí dùng hệ thống nhiên liệu phun xăng 61 DANH MỤC HÌNH ẢNH Hình 2.1 Sơ đồ tổng quát hệ thống phun xăng điện tử Hình 2.2: Sơ đồ hệ thống nhiên liệu động phun xăng điện tử .9 Hình 2.3: Ngưỡng tỷ lệ nhiên liệu khơng khí cần phải trì nhằm giúp xúc tác hóa khử ba chức hoạt động tốt 10 Hình 2.4: Ảnh hưởng hệ số dư lượng khơng khí cơng suất động P suất tiêu hoa nhiên liệu ge 11 Hình 2.5: Ảnh hưởng đến t i .12 Hình 2.6: Ảnh hưởng đến Ne ge động xăng .13 Hình 2.7 : Cảm biến vị trí bướm ga loại tiếp điểm .15 Hình 2.8 : Cảm biến vị trí bướm ga loại tuyến tính 15 Hình 2.9 : Cảm biến vị trí bướm ga loại Hall .15 Hình 2.10: Cảm biến oxy loại nung nóng 16 Hình 2.11: Cảm biến oxy loại khơng nung nóng 17 Hình 2.12: Cảm biến áp suất đường ống nạp .18 Hình 2.13: Cảm biến động 19 Hình 2.14: Cảm biến vị trí trục cam loại cảm biến hiệu ứng điện từ 20 Hình 2.15: Cảm biến vị trí trục cảm loại Hall 20 Hình 2.16: Board Arduino Uno .25 Hình 2.17: Board Arduino Nano 26 Hình 2.18: Board Arduino Mega 2560 27 Hình 2.19: Mạch điều khiển hình LCD giao tiếp I2C 29 Hình 2.20: Màn hình LCD 20x4B 29 Hình 2.21: Sơ đồ chân hình LCD 20x4B .30 Hình 3.1: Cụm ống nạp 33 Hình 3.2: Cụm bướm ga 34 Hình 3.3: Cụm kim phun xăng .34 Hình 3.4: Bộ họng ga 35 Hình 3.5: Bình xăng 35 77 // if (rpm>0){ digitalWrite(pinPUMP,HIGH); } else { digitalWrite(pinPUMP,LOW); } } } void loop1000ms() { loop1000msCount++; if (loopTime>=next1000ms) { next1000ms=loopTime+1e6; //LCD if (!bRUN) { readSensor(); } advDegree = 30*(1.0-(double)advTime/aveGapTimeMean); // lcdWrite(2,0,4," ",String(rpm)); lcdWrite(2,1,4," ",String(aveTPS.mean(),0)); lcdWrite(2,2,4," ",String(injectionTime)); lcdWrite(2,3,4," ",String(advDegree,1)); lcdWrite(9,0,4," ",String(aveO2.mean(),0)); lcdWrite(9,1,4," ",String(aveIAT.mean(),0)); lcdWrite(9,2,4," ",String(aveCLT.mean(),0)); lcdWrite(16,0,4," ",String(temp3)); lcdWrite(16,1,4," ",String(temp2)); lcdWrite(16,2,4," ",String(counts)); lcdWrite(14,3,6," ",String(loop1000msCount)); 78 loop1000msCount = 0; } } void serialCommand() { if (bStringComplete) { // clear the string: Serial.println(inputString); int i = inputString.indexOf('='); if (i > 0) { String subString = inputString.substring(0,i); String subString2 = inputString.substring(i+1,inputString.length()); //Serial.println(subString); float tempx = subString2.toFloat(); //Serial.println(temp); if (subString == "a") { temp=tempx; } else { } } else { if (inputString == "save") { writeAllConfig(); } else if (inputString == "load") { LoadPreTable(); Serial.println("Load done!"); } else if (inputString == "print") { 79 printTable(); } else if (inputString == "test") { Serial.println(map(6,0,10,30,20)); } else { Serial.println("Nothing to do!"); } } inputString = ""; bStringComplete = false; } } void loop() { // put your main code here, to run repeatedly: loopTime=micros(); serialCommand(); loop100ms(); loop250ms(); loop500ms(); loop1000ms(); } void serialEvent() { while (Serial.available()) { // get the new byte: char inChar = (char)Serial.read(); // if the incoming character is a newline, set a flag // so the main loop can something about it: if (inChar == '\n') { 80 bStringComplete = true; } else { // add it to the inputString: inputString += inChar; } } } void lcdWrite(byte x, byte y, String text) { lcd.setCursor(x,y); lcd.print(text); } void lcdWrite(byte x, byte y, unsigned long number) { lcd.setCursor(x,y); lcd.print(number); } void lcdWrite(byte x, byte y, byte z, double number) { lcd.setCursor(x,y); lcd.print(number,z); } void lcdWrite(byte x, byte y, byte l, String text1, String text2) { lcd.setCursor(x,y); byte l2 = text2.length(); if (l>l2) { 81 for (byte i=0; i