Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 62 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
62
Dung lượng
2,51 MB
Nội dung
MỤC LỤC LỜI CÁM ƠN i TÓM TẮT ii MỤC LỤC iii DANH MỤC CHỮ VIẾT TẮT vi DANH MỤC CÁC HÌNH vii DANH MỤC CÁC BẢNG ix CHƯƠNG 1: TỔNG QUAN 1.1 Lý chọn đề tài 1.2 Mục đích đề tài 1.3 Phương pháp nghiên cứu 1.4 Giới hạn đề tài 1.5 Kết dự kiến đạt 1.6 Bố cục dự kiến luận văn CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu hệ thống phun xăng đánh lửa điện tử ô tô 2.1.1 Cấu tạo nhiệm vụ hệ thống phun xăng điện tử 2.1.2 Hệ thống đánh lửa điện tử 2.2 Hệ thống phun xăng điện tử xe máy 2.3 Giới thiệu lập trình Arduino, Vi điều khiển 2.3.1 Arduino 2.3.2 Giới thiệu vi điều khiển AVR ATmega 12 CHƯƠNG 3: THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN ĐÁNH LỬA VÀ PHUN XĂNG…13 3.1 Hệ thống đánh lửa 13 3.1.1 Các cảm biến 14 3.1.2 ECM điều khiển 16 iii 3.1.3 IC đánh lửa 16 3.1.4 Cuộn dây đánh lửa 17 3.1.5 Bugi đánh lửa 19 3.2 Hệ thống điều khiển phun xăng 20 3.2.1 Các cảm biến: 20 3.2.2 Cụm bình chứa bơm nhiên liệu 20 3.2.3 ECM IC điều khiển kim phun 22 3.2.4 Kim phun nhiên liệu 23 3.3 Tính tốn góc đánh lửa sớm 23 3.3.1 Các giai đoạn cháy hịa khí 24 3.3.2 Tính tốn góc đánh lửa sớm 25 3.4 Xác định lượng phun nhiên liệu 30 3.4.1 Đo lượng không khí nạp vào động 30 3.4.2 Áp dụng công thức (3.5a) lên mơ hình 33 3.4.3 Thực nghiệm khảo sát lượng phun nhiên liệu 35 3.5 Thiết kế phần mềm điều khiển đánh lửa, phun xăng 35 3.5.1 Chương trình ngắt ngồi đếm xung từ cảm biến CKP 36 3.5.2 Xác định xung số sau xung bị khuyết 36 3.5.3 Tính tốc độ động 37 3.5.4 Điều khiển tín hiệu đánh lửa (IGT) 38 3.5.5 Điều khiển kim phun 39 CHƯƠNG 4: THỰC NGHIỆM VÀ ĐÁNH GIÁ MƠ HÌNH ĐỘNG CƠ 40 4.1 Quy trình kết nối thiết bị 40 4.2 Kết thực nghiệm điều khiển mơ hình động Arduino 42 4.2.1 Mơ hình chạy tốc độ 1200 vòng/phút 42 iv 4.2.2 Mơ hình chạy tốc độ 3000 vòng/phút 44 4.3 Đánh giá mơ hình 46 CHƯƠNG 5: KẾT LUẬN VÀ KIẾN NGHỊ 47 5.1 Kết luận 47 5.2 Kiến nghị 47 TÀI LIỆU THAM KHẢO 49 PHỤ LỤC 50 v DANH MỤC CHỮ VIẾT TẮT Ký hiệu Diễn giải EFI Hệ thống phun xăng điện tử (Electronic Fuel Injection) PGM FI Chương trình điều khiển phun xăng Honda (Program Fuel Injection) ECM Hệ thống điều khiển điện tử ( Electronic Control Modulde) A/F Tỉ lệ khơng khí nhiên liệu (Air/Fuel) ESA Đánh lửa sớm điện tử (Electronic Spark Advance) IC Vi mạch tích hợp dùng để điều khiển (Intergrated Circuit) MAP Áp suất đường ống nạp (Manifold Absolute Pressure) IAT Nhiệt độ khí nạp(Intake Air Temperature) TP Vị trí bướm ga (Throttle Position) CKP Vị trí trục khuỷu (Crankshaft Position) EOT Nhiệt độ dầu động ( Engine Oil Temperature) Arduino IDE Phần mềm lập trình cho Arduino AVR, ARM Là dịng vi điều khiển hãng Atmel sản xuất IGT Tín hiệu đánh lửa ADC Bộ chuyển đổi tín hiệu (Analog to Digital Convert) ATDC Vị trí sau điểm chết ( After Top Dead Center) vi DANH MỤC CÁC HÌNH Hình 2.1 Cấu tạo hệ thống phun xăng đánh lửa điện tử Hình 2.2 Tính tốn góc đánh lửa sớm Hình 2.3 Arduino Uno 10 Hình 3.1 Sơ đồ hệ thống điều khiển đánh lửa phun xăng 14 Hình 3.2 Cảm biến vị trí trục khuỷu 15 Hình 3.3 Đồ thị minh họa mối quan hệ điện áp áp suất cảm biến MAP 16 Hình 3.4 Mạch IC điều khiển đánh lửa 17 Hình 3.5 Cuộn dây đánh lửa 18 Hình 3.6 Bugi đánh lửa mơ hình 19 Hình 3.7 Bình chứa bơm nhiên liệu 21 Hình 3.8 Mạch điều khiển bơm xăng 21 Hình 3.9 Mạch IC điều khiển kim phun 22 Hình 3.10 Kim phun xăng mơ hình 23 Hình 3.11 Tín hiệu cảm biến CKP chưa xử lý 25 Hình 3.12 Phóng to tín hiệu cảm biến CKP chưa xử lý 25 Hình 3.13 Mạch lọc ADC chuyển tín hiệu Analog thành tín hiệu Digital 26 Hình 3.14 Tín hiệu cảm biến CKP sau qua mạch lọc 26 Hình 3.15 Tín hiệu cảm biến MAP 27 Hình 3.16 Tín hiệu cảm biến CKP cảm biến MAP 27 Hình 3.17 Đồ thị mối quan hệ cảm biến CKP tín hiệu IGT tốc độ 1200, 2100, 2400, 3600, 6000 vòng/phút 29 Hình 3.18 Thước cặp có độ chia 0.05mm 33 Hình 3.19 Đo đường kính lỗ nạp phía sau bướm ga 33 Hình 3.20 Đo lượng xăng phun 000 lần (mỗi lần ms) 34 vii Hình 3.21 Lưu đồ chương trình ngắt đếm xung CKP 36 Hình 3.22 Lưu đồ xác định xung số sau xung trống 36 Hình 3.23 Lưu đồ tính tốc độ động 37 Hình 3.24 Lưu đồ điều khiển đánh lửa phù hợp theo góc đánh lửa sớm 38 Hình 3.25.Lưu đồ điều khiển kim phun 39 Hình 4.1: Thiết bị đo xung NI myDAQ 41 Hình 4.2 Bộ Arduino điều khiển phun xăng đánh lửa 41 Hình 4.3 Mơ hình động xy lanh 42 Hình 4.4 Tín hiêu đánh lửa ECM 1200 vòng/phút 43 Hình 4.5 Tín hiêu đánh lửa Arduino 1200 vòng/phút 43 Hình 4.6 Tín hiệu phun xăng đo chân chân điều khiển phun xăng ECM 1200 vòng/phút 43 Hình 4.7 Tín hiệu phun xăng đo chân chân điều khiển phun xăng Arduino 1200 vòng/phút 44 Hình 4.8 Tín hiêu đánh lửa ECM 3000 vịng/phút 44 Hình 4.9 Tín hiêu đánh lửa Arduino 3000 vịng/phút 44 Hình 4.10 Tín hiệu phun xăng đo chân chân điều khiển phun xăng ECM 3000 vòng/phút 45 Hinh 4.11 Tín hiệu phun xăng Arduino 3000 vòng/phút 45 viii DANH MỤC CÁC BẢNG Bảng 3.1 Bản đồ góc đánh lửa sớm xung ngậm điện từ 1200 đến 3600 vòng/phút 30 Bảng 3.2 Bản đồ góc đánh lửa sớm xung ngậm điện từ 3900 đến 6000 vòng/phút 30 Bảng 3.3 Thành phần loại khí khơng khí tính theo khối lượng thể tích 30 Bảng 3.4 Thời gian nhấc kim phun theo tốc độ động thay đổi (ms) 35 ix CHƯƠNG 1: TỔNG QUAN 1.1 Lý chọn đề tài Động đốt đời đánh dấu bước ngoặt lớn lịch sử phát triển ngành khí động lực Cùng với phát triển người nhận nguồn lượng hóa lỏng (nhiên liệu) vô hạn mà ngày cạn kiệt dần Đồng thời mức độ ô nhiễm động đốt phát lớn dẫn đến nguy biến đổi khí hậu tồn cầu Hệ thống cung cấp nhiên liệu cho động đốt hệ thống định lớn tới tính kinh tế nhiên liệu (tiết kiệm nhiên liệu) giảm thiểu ô nhiễm môi trường Thành tựu ngành công nghiệp điện tử, tự động hóa cơng nghệ thơng tin nhanh chóng áp dụng vào ngành công nghệ ô tô Đặc biệt hệ thống động đốt nhằm hồn thiện q trình cháy để tiết kiệm nhiên liệu giảm ô nhiễm môi trường Đi tiên phong lĩnh vực nghiên cứu phát triển hệ thống phun nhiên liệu điện tử cho động đốt sử dụng ôtô hãng Bosch (Đức) từ thập niên cuối kỷ trước Đến năm 1984, người Nhật mua quyền Bosch ứng dụng hệ thống phun nhiên liệu điện tử cho xe Toyota Nhưng đến năm 1992 hệ thống phun xăng điện tử EFI, thương hiệu độc quyền Honda PGM-FI lần đưa vào xe gắn máy với xe scooter model Pantheon châu Âu Sau 26 năm phát triển, hệ thống điều khiển điện tử xe gắn máy tơ khơng cịn xa lạ với Nên nhóm nghiên cứu định chọn đề tài “Ứng dụng Arduino điều khiển đánh lửa phun xăng động xy lanh” Việc giúp nhóm nghiên cứu có nhìn cụ thể sâu sắc hoạt động hệ thống điều khiển động Đây lý khiến nhóm nghiên cứu chọn đề tài làm đề tài tốt nghiệp với mong muốn góp phần nghiên cứu sâu hệ thống điều khiển động động xăng, để từ đưa giải pháp vấn đề hư hỏng thường gặp làm việc thực tế [1] 1.2 Mục đích đề tài Lập trình với arduino điều khiển đánh lửa phun xăng mơ hình động xe gắn máy 109 cm3 Tiến hành thử nghiệm tối ưu chương trình để động hoạt động tốt chế độ không tải Đánh giá phù hợp điều khiển arduino với động 1.3 Phương pháp nghiên cứu Phương pháp nghiên cứu tài liệu, thu thập thông tin liên quan đến đề tài, học hỏi kinh nghiệm từ thầy, bạn bè Phương pháp thực nghiệm Phương pháp tính tốn, phân tích, lập trình arduino cho hoạt động mơ hình so sánh kết 1.4 Giới hạn đề tài Để điều khiển đánh lửa phun xăng động xy lanh hoạt động điều kiện thực tế cần thực nghiệm nhiều chế độ khác nhau, mơ hình hoạt động chế độ không tải Bộ điều khiển sử dụng arduino lắp đặt hiệu chỉnh với mơ hình động xe gắn máy 109 cm3 1.5 Kết dự kiến đạt Điều khiển đánh lửa phun xăng mơ hình động hoạt động ổn định tốc độ khác chế độ không tải Dùng máy đo xung thu kết tín hiệu điều khiển phun xăng đánh lửa, từ so sánh với kết ECM hãng điều khiển Kết luận đánh giá khả ứng dụng vào thực tiễn 1.6 Bố cục dự kiến luận văn Chương 1: Tổng quan Chương 2: Cơ sở lý thuyết Chương 3: Thiết kế hệ thống điều khiển nhiên liệu đánh lửa Chương 4: Thực nghiệm đánh giá mơ hình Chương 5: Kết luận kiến nghị Tài liệu tham khảo Phụ lục Hình 4.1: Thiết bị đo xung NI myDAQ Hình 4.2 Bộ Arduino điều khiển phun xăng đánh lửa 41 Hình 4.3 Mơ hình động xy lanh 4.2 Kết thực nghiệm điều khiển mơ hình động Arduino Kết thực nghiệm so sánh với đồ thị khảo sát mơ hình điều khiển ECM Cách đo tín hiệu đánh lửa: Tín hiệu đánh lửa ECM: Chân đo tín hiệu đánh lửa ECM nối với cực âm cuộn dây đánh lửa Tín hiệu đánh lửa Arduino: Chân đo tín hiệu đánh lửa Arduino nối với chân số mạch Arduino Cách đo tín hiệu phun xăng: Đo tín hiệu phun xăng ECM: Chân đo tín hiệu phun xăng nối cực âm kim phun Đo tín hiệu phun xăng Arduino: Chân đo tín hiệu phun xăng nối với chân số 42 4.2.1 Mơ hình chạy tốc độ 1200 vịng/phút Tín hiệu đánh lửa: Hình 4.4 Tín hiêu đánh lửa ECM 1200 vịng/phút Tín hiệu đo qua mạch ADC cho thấy thời điểm ngậm điện thời điểm đánh lửa Hình 4.5 Tín hiêu đánh lửa Arduino 1200 vịng/phút Mặc dù tín hiệu cảm biến CKP Arduino chưa qua mạch lọc ta thấy thời gian ngậm điện góc đánh lửa sớm tương đối gần giống nhau: hai ngậm điện xung thứ đánh lửa xung thứ cảm biến CKP Tín hiệu phun xăng Hình 4.6 Tín hiệu phun xăng đo chân chân điều khiển phun xăng ECM 1200 vòng/phút Cầm chừng ECM 1200 vòng/phút 4.3ms ổn định, khơng bị phun nhiều Trong khoảng 0,5 giây tín hiệu kim phun phun lần 43 Hình 4.7 Tín hiệu phun xăng đo chân chân điều khiển phun xăng Arduino 1200 vòng/phút Độ rộng xung phun xăng không chạy Arduino tốc độ 1200 vịng/phút Trong khoảng 0,25 giây tín hiệu kim phun phun 18 lần Xung nhỏ có độ rộng 1,98 ms xung rộng có độ rộng 11.1 ms Từ kết cho thấy mơ hình điều khiển Arduino chạy tốc 1200 vịng/phút khơng ổn định tần số phun nhiên liệu bị dầy đặc so với tín hiệu điều khiển ECM tín hiệu điều khiển Arduino phun vịng lần xen lẫn tín hiệu nhiễu 4.2.2 Mơ hình chạy tốc độ 3000 vịng/phút Tín hiệu đánh lửa Hình 4.8 Tín hiêu đánh lửa ECM 3000 vịng/phút Hình 4.9 Tín hiêu đánh lửa Arduino 3000 vòng/phút Tuy thời điểm ngậm điện khác thời điểm đánh lửa tương đối gần giống với ECM, ECM ngậm điện sau xung thứ Arduino ngậm điện xung thứ 44 hai đánh lửa xung thứ ECM có thời điểm ngậm điện sớm động tốc độ cao để đảm bảo thời gian tăng trưởng dịng điện Tín hiệu phun xăng Hình 4.10 Tín hiệu phun xăng đo chân chân điều khiển phun xăng ECM 3000 vịng/phút Tín hiệu phun xăng ECM 3000 vịng/phút 3.86ms ổn định, khơng bị phun nhiều Hinh 4.11 Tín hiệu phun xăng Arduino 3000 vịng/phút Tín hiệu phun xăng Arduino không ổn định chạy tốc độ 3000 vòng/phút Cụ thể xung phân bố khơng đồng đều, xung có độ rộng khác nhau, xung rộng có thời gian 8ms cịn xung nhỏ có thời gian 2ms 45 4.3 Đánh giá mơ hình Dựa vào kết thực nghiệm từ hai dãy tốc độ trên, nhóm nghiên cứu thấy thời điểm đánh lửa sớm Arduino gần giống với thời điểm đánh lửa sớm ECM Tuy nhiên, lượng phun nhiên liệu điều khiển Arduino không ổn định so với điều khiển lượng phun ECM Từ đây, nhóm nghiên cứu thấy điều khiển lập trình theo kiểu điều khiển mở nên tín hiệu điều khiển hoạt động chưa ổn định so với điều khiển ECM 46 CHƯƠNG 5: KẾT LUẬN VÀ KIẾN NGHỊ 5.1 Kết luận Qua trình thực đề tài này, cho thấy từ lý thuyết điều khiển động đến thực tế mơ hình có khoảng cách lớn, điều mà nhóm nghiên cứu cần phải học hỏi rèn luyện thêm nhiều sau Mặc dù vận hành chế độ không tải điều cho thấy ứng dụng Arduino điều khiển động đốt giúp dễ dàng tiếp cận với nguyên lí hoạt động động điều khiển điện tử ngày ngơn ngữ gần với ngơn ngữ giao tiếp người nên ứng dụng nhiều giảng dạy lĩnh vực ô tô Với giả thuyết đưa điều khiển động hoạt động tốc độ với chế độ không tải, qua thực nghiệm nhóm nghiên cứu chưa điều khiển động hoạt động ổn định tốc độ cầm chừng Qua kết thu từ thực nghiệm cho thấy để động hoạt động ổn định ngồi góc đánh lửa sớm phù hợp cịn cần phải tính tốn lượng nhiên liệu cách xác Bộ điều khiển nhiều hạn chế tiềm phát triển tương lai lớn Đề tài góp phần khái quát hệ thống điều khiển động cơ lí thuyết đánh lửa phun xăng Mở rộng ngơn ngữ lập trình Arduino ngồi lệnh Có thể phát triển thêm để điều khiển động đơn giản hệ thống khác 5.2 Kiến nghị Bộ điều khiển ứng dụng Arduino hoạt động chưa ổn định mơ hình động cơ, để hoàn thiện cần khảo sát cảm biến áp suất tuyệt đối đường ống nạp (MAP), cảm biến nhiệt độ khơng khí đường ống nạp (IAT) để tính tốn khối lượng khí nạp cách xác Từ tính lượng phun nhiên liệu phù hợp, nên cập nhật thêm cảm biến khí xả để điều khiển vịng lặp kín cho tỉ lệ hịa khí tối ưu A/F =14.7 Khảo sát sử dụng cảm biến vị trí bướm ga (TP) để nhận biết tốt thay đổi chế độ hoạt động, đề tài tín hiệu điều khiển thay đổi phụ thuộc vào tốc độ động Có thể dùng tín hiệu cảm biến MAP thay đổi tốc độ xung vị trí trục khuỷu kì nổ để xác định xác thời điểm đánh lửa chu trình hoạt động 47 động vòng quay trục khuỷu Hiện đề tài thực đánh lửa lần chu trình cuối kì nén cuối kì thải 48 TÀI LIỆU THAM KHẢO [1].http://www.mt.gov.vn/moitruong/quy-chuan-chat-luong/33184/he-thong-phunxang-dien-tu.aspx [2] Nguyễn Tấn Lộc Giáo trình thực tập động xăng II [3] https://oto.edu.vn/he-thong-danh-lua-som-dien-tu/ [4].https://www.2banh.vn/threads/he-thong-phun-xang-dien-tu-cua-honda-pgm-fihoat-dong-the-nao.21436/ [5] https://vi.wikipedia.org/wiki/Arduino [6].https://quantrimang.com/arduino-la-gi-va-ung-dung-cua-no-trong-cuoc-song145388 [7]https://sangtaoclub.net/bai-viet/115-gioi-thieu-ho-vi-dieu-khien-avr-cua-hangatmel.html [8] http://thegioiic.com/forums/tong-hop-ve-vi-dieu-khien-avr [9] Lê Thanh Phúc ,Giáo trình thực tập điện ô tô I [10] Tài liệu đào tạo TCCS (Hệ thống điều khiển máy) tập Gai đoạn [11] HƯỚNG DẪN BẢO TRÌ PHỤ LỤC (4) Future X [12] http://doc.edu.vn/tai-lieu/do-an-he-thong-danh-lua-48450/ [13]http://www.autospeed.com/cms/article.html?&title=Getting-the-IgnitionTiming-Right&A=109132 [14] Đỗ Quốc Ấm, Giáo Trình Thử Nghiệm Động Cơ 49 PHỤ LỤC Code điều khiển phun xăng, đánh lửa, bơm xăng volatile int pulses = 0, oldpulses; unsigned long cycle = 0, oldcycle = 0; unsigned long int oldtime = 0, newtime = 0; unsigned long int previousMillis = 0; int rpm, resetTime; int MAP, oldMAP, TP; unsigned int fueltime = 486; unsigned char i = 5, b = 0;; volatile int Ipulses = 0; unsigned char x, y, t; unsigned char map_IG[21] = {1, 2, 3, 3, 4, 5, 6, 8, 8, 8, 8, 8, 9, 9, 9, 10, 10, 10, 12, 12, 14}; unsigned char map_i[21] = { 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2}; unsigned int map_FI[21] = {486, 486, 473, 473, 473, 436, 429, 465, 472, 480, 487, 485, 484, 482, 481, 476, 472, 468, 464, 460, 448}; void setup() { pinMode(2, INPUT); // chân nhận tín hiệu tốc độ động CKP pinMode(5, OUTPUT);// chân điều khiển bơm xăng pinMode(6, OUTPUT);// chân điều khiển kim phun pinMode(7, OUTPUT);// chân điều khiển mosfet đánh lửa attachInterrupt(0, countRPM, FALLING); digitalWrite(5, HIGH); delay(2000); digitalWrite(5, LOW); noInterrupts(); // Khai báo Timer TCCR1A = 0; 50 TCCR1B = 0; TCNT1 = 0; OCR1A = fueltime; TCCR1B |= (1 200)) { case (true): digitalWrite(5, HIGH); break; case (false): digitalWrite(5, LOW); break; } x = map(rpm, 900, 7200, 0, 20); y = map_IG[x]; i = map_i[x]; fueltime = map_FI[x]; if (rpm < 900) { i = 5; y = 1; fueltime = 486; } if (Ipulses == i) { digitalWrite(7, HIGH); while (Ipulses < 7) { b++; delayMicroseconds(cycle / 4); if (b > 24) { digitalWrite(7, LOW); 52 digitalWrite(5, LOW); Ipulses = 1; break; } } delayMicroseconds(cycle / 30 * (30 - y)); digitalWrite(7, LOW); b = 0; } if (Ipulses == 9) { digitalWrite(6, HIGH); /* Reset Timer/Counter1 */ TIFR1 |=