Luận án Nâng cao tính năng kinh tế - kỹ thuật và giảm mức độ phát thải ô nhiễm của động cơ xe gắn máy chạy bằng LPG và Ethanol

1. Tính cấp thiết

Thế giới ngày càng phát triển, đi kèm với với nó là nhu cầu vận chuyển, đi

lại ngày càng cao, làm gia tăng nhanh chóng số lượng, chủng loại phương tiện giao

thông sử dụng nhiên liệu hóa thạch, đặc biệt là phương tiện cá nhân. Điều này gây

tác động mạnh mẽ đến vấn đề an ninh năng lượng và phát thải chất khí gây hiệu ứng

nhà kính gây biến đổi khí hậu. Để giải quyết hai vấn đề trên, các nghiên cứu ngày

nay tập trung theo hướng sử dụng năng lượng điện và ứng dụng năng lượng tái tạo

thay thế một phần hay hoàn toàn các loại nhiên liệu hóa thạch sử dụng trên phương

tiện giao thông.

Khác với các nước phát triển, xe gắn máy là phương tiện giao thông cá nhân

chính ở nước ta với mật độ trung bình cứ hai người dân có một xe gắn máy, thuộc

vào nhóm những nước có mật độ xe gắn máy cao nhất thế giới. Tình hình này vẫn

còn kéo dài trong vài thập kỷ tới. Số lượng xe máy đã tăng từ 1,2 triệu chiếc năm

1990 lên hơn 58 triệu chiếc năm 2018 [79]. Hà Nội và Thành phố Hồ Chí Minh có

số lượng lớn nhất, với gần 6 triệu chiếc và 8,5 triệu chiếc. Khí thải từ các phương

tiện này làm suy giảm nghiêm trọng chất lượng không khí, ảnh hưởng tiêu cực đến

môi trường sống và làm tăng nồng độ CO2 trong bầu khí quyển. Trong khi nhiều

công nghệ mới đã được áp dung trên ô tô để giảm phát thải CO2 và các chất ô nhiễm

thì hầu như xe gắn máy chưa được cải tiến gì nhiều để nâng cao hiệu quả quá trình

cháy [1].

Vấn đề ô nhiễm khí thải từ các phương tiện tham gia giao thông đã được

Chính phủ và các cơ quan chức năng quan tâm từ rất lâu. Năm 1995, Việt Nam đã

ban hành quy định kiểm soát khí thải ô tô theo tiêu chuẩn Euro 2. Kể từ tháng 01

năm 2017, các loại xe ô tô sản xuất, lắp ráp và nhập khẩu mới phải áp dụng tiêu

chuẩn khí thải mức Euro 4 còn các loại xe mô tô hai bánh sản xuất, lắp ráp và nhập

khẩu mới phải áp dụng tiêu chuẩn khí thải mức Euro 3 [85].

Với tính đặc thù về phương tiện giao thông nêu trên, việc áp dụng các công

nghệ để nâng cao hiệu quả sử dụng nhiên liệu và giảm phát thải ô nhiễm của xe gắn2

máy là rất cần thiết để tiết kiệm nhiên liệu hóa thạch, giảm phát thải CO2 và bảo vệ

môi trường ở nước ta. Một trong những giải pháp có tính khả thi cao là sử dụng

nhiên liệu thay thế- tái tạo thay cho xăng.

Trong các loại nhiên liệu dùng để thay thế xăng thì CNG và LPG có nhiều

lợi thế. CNG là nhiên liệu sạch, có mức phát thải HC và CO trung bình thấp hơn

tương ứng 92% và 78% so với nhiên liệu xăng. Tuy nhiên, bình chứa CNG cồng

kềnh và lưu trữ ở áp suất cao là những rào cản chính cho việc ứng dụng rộng rãi loại

nhiên liệu thay thế này trên xe máy. LPG với áp suất hóa lỏng thấp có thể khắc phục

được nhược điểm trên của CNG. So với xăng, xe chạy bằng LPG có lượng phát thải

NOx và CO thấp hơn tương ứng 20% và 60%. Theo các công trình nghiên cứu của

nhóm nghiên cứu động cơ nhiên liệu khí (GATEC)-Đại học Đà Nẵng thì việc áp

dụng LPG là một giải pháp thích hợp để giảm phát thải ô nhiễm của xe gắn máy

[86].

Mặc dù được xem là nhiên liệu “sạch” nhưng CNG cũng như LPG đều là

những nhiên liệu hóa thạch nên việc sử dụng chúng làm tăng nồng độ CO2 trong

bầu khí quyển. Vì vậy việc sử dụng kết hợp các loại nhiên liệu này với các loại

nhiên liệu tái tạo khác sẽ mang lại lợi ích thiết thực trong công tác bảo vệ môi

trường. Trong điều kiện thực tế về cung ứng nhiên liệu hiện nay cũng như tính đặc

thù về kết cấu xe gắn máy thì việc sử dụng kết hợp giữa LPG và ethanol là giải pháp

phù hợp.

 

pdf 184 trang chauphong 16/08/2022 280
Bạn đang xem 20 trang mẫu của tài liệu "Luận án Nâng cao tính năng kinh tế - kỹ thuật và giảm mức độ phát thải ô nhiễm của động cơ xe gắn máy chạy bằng LPG và Ethanol", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Luận án Nâng cao tính năng kinh tế - kỹ thuật và giảm mức độ phát thải ô nhiễm của động cơ xe gắn máy chạy bằng LPG và Ethanol

Luận án Nâng cao tính năng kinh tế - kỹ thuật và giảm mức độ phát thải ô nhiễm của động cơ xe gắn máy chạy bằng LPG và Ethanol
I 
LỜI CAM ĐOAN 
Tôi xin cam đoan đây là đề tài nghiên cứu của riêng tôi. Các số liệu kết quả 
nêu trong luận án là trung thực và chưa từng được ai công bố trong các công trình 
nào khác! 
 Đà Nẵng, tháng 11 năm 2021 
Nghiên cứu sinh 
Bùi Văn Tấn 
II 
MỤC LỤC 
LỜI CAM ĐOAN ...................................................................................................... I 
MỤC LỤC ................................................................................................................. II 
DANH MỤC CÁC HÌNH ...................................................................................... VI 
DANH MỤC BẢNG ............................................................................................ XIII 
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT ....................................... XIV 
MỞ ĐẦU .................................................................................................................... 1 
1. Tính cấp thiết ......................................................................................................... 1 
2. Mục tiêu nghiên cứu.............................................................................................. 3 
3. Đối tượng và phạm vi nghiên cứu ........................................................................ 4 
4. Phương pháp nghiên cứu...................................................................................... 5 
5. Cấu trúc nội dung luận án .................................................................................... 5 
6. Ý nghĩa khoa học và thực tiễn của đề tài nghiên cứu ........................................ 5 
7. Các điểm mới chủ yếu của luận án ...................................................................... 6 
CHƯƠNG 1: TỔNG QUAN VỀ TÌNH HÌNH NGHIÊN CỨU ỨNG DỤNG 
NHIÊN LIỆU LPG-ETHANOL CHO ĐỘNG CƠ ĐỐT TRONG ....................... 7 
1.1. Nhiên liệu sạch ................................................................................................ 7 
1.2. Tình hình sử dụng nhiên liệu sinh học ......................................................... 8 
1.2.1. Tình hình sử dụng nhiên liệu sinh học trên thế giới .................................. 8 
1.2.2. Tình hình sử dụng nhiên liệu sinh học ở Việt Nam.................................... 8 
1.3. Tình hình nghiên cứu sử dụng LPG trên động cơ đốt trong .................... 10 
1.3.1. Những đặc tính cơ bản của nhiên liệu LPG ............................................ 10 
1.3.2. Nghiên cứu sử dụng LPG trên động cơ ô tô ............................................ 10 
1.3.3. Nghiên cứu sử dụng LPG trên động cơ xe gắn máy ................................ 12 
1.4. Tình hình nghiên cứu ứng dụng ethanol trên động cơ đốt trong ............ 14 
1.4.1. Những đặc tính cơ bản của nhiên liệu ethanol ........................................ 14 
1.4.2. Nghiên cứu ứng dụng ethanol trên động cơ đốt trong ............................ 16 
1.5. Tình hình nghiên cứu ứng dụng kết hợp nhiên liệu LPG-ethanol trên 
động cơ đốt trong ................................................................................................. 20 
1.6. Kết luận chương 1 ........................................................................................ 24 
III 
CHƯƠNG 2: NGHIÊN CỨU LÝ THUYẾT QUÁ TRÌNH CHÁY ................... 26 
2.1. Hệ phương trình chảy rối ............................................................................ 26 
2.2. Lý thuyết quá trình cháy nhiên liệu khí ..................................................... 27 
2.2.1. Lý thuyết cháy của hỗn hợp không hòa trộn trước .................................. 28 
2.2.2. Lý thuyết quá trình cháy hỗn hợp hòa trộn trước ................................... 36 
2.2.3. Lý thuyết quá trình cháy hòa trộn trước cục bộ ...................................... 42 
2.3. Kết luận chương 2 ........................................................................................ 44 
CHƯƠNG 3: MÔ PHỎNG QUÁ TRÌNH NẠP, CHÁY VÀ PHÁT THẢI Ô 
NHIỄM CỦA ĐỘNG CƠ XE GẮN MÁY CHẠY BẰNG LPG-ETHANOL .... 46 
3.1. Mục tiêu, đối tượng và phương pháp mô phỏng ....................................... 46 
3.1.1. Mục tiêu, đối tượng .................................................................................. 46 
3.1.2. Phương pháp mô phỏng ........................................................................... 47 
3.2. Đặc điểm quá trình cung cấp nhiên liệu LPG-ethanol ............................. 50 
3.3. Mô phỏng quá trình nạp nhiên liệu LPG-ethanol ..................................... 50 
3.3.1. Mô hình hình học của động cơ và điều kiện biên mô phỏng ................... 50 
3.3.2. Ảnh hưởng đặc tính lý hóa của ethanol, LPG đến quá trình phun .......... 53 
3.3.3. Quá trình hình thành hỗn hợp khi phun nhiên liệu LPG-ethanol ........... 54 
3.3.4. Ảnh hưởng của nhiệt độ khí nạp đến việc hình thành hỗn hợp ............... 62 
3.3.5. Điều chỉnh thời gian phun ethanol-LPG theo áp suất trên đường nạp ... 67 
3.4. Mô phỏng quá trình cháy hỗn hợp ............................................................. 72 
3.4.1. Ảnh hưởng của hệ số tương đương .......................................................... 73 
3.4.2. Ảnh hưởng của góc đánh lửa sớm ........................................................... 75 
3.4.3. Ảnh hưởng của tốc độ động cơ ................................................................ 76 
3.4.4. Ảnh hưởng của hàm lượng ethanol ......................................................... 80 
3.5. Mô phỏng phát thải ô nhiễm khi sử dụng LPG-ethanol ........................... 81 
3.5.1. Cơ chế hình thành các chất ô nhiễm ....................................................... 81 
3.5.2. Đặc điểm phát thải các chất ô nhiễm ...................................................... 83 
3.6. Kết luận chương 3 ........................................................................................ 94 
CHƯƠNG 4: NGHIÊN CỨU THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ 
MÔ PHỎNG ............................................................................................................ 96 
IV 
4.1. Mục đích và nội dung nghiên cứu thực nghiệm ........................................ 96 
4.2. Trang thiết bị nghiên cứu ............................................................................ 97 
4.2.1. Các thiết bị của bộ tạo tải động cơ .......................................................... 97 
4.2.2. Thiết bị phân tích khí xả động cơ MGT5 ............................................... 101 
4.3. Chuyển đổi xe gắn máy chạy xăng sang chạy bằng LPG-ethanol ......... 103 
4.3.1. Hệ thống phun xăng PGM-FI của động cơ J52C xe Honda RSX ......... 103 
4.3.2. Thiết kế mạch điều khiển phun nhiên liệu xăng-LPG-ethanol .............. 105 
4.4. Thử nghiệm xe gắn máy chạy bằng nhiên liệu LPG-ethanol trên đường 
thực ..................................................................................................................... 111 
4.4.1. Chuẩn bị nhiên liệu ................................................................................ 111 
4.4.2. Điều kiện thử nghiệm ............................................................................. 111 
4.4.3. Kết quả thử nghiệm ................................................................................ 112 
4.5. Thử nghiệm xe gắn máy chạy bằng nhiên liệu LPG-ethanol trên bộ tạo 
tải động cơ .......................................................................................................... 113 
4.5.1. Sơ đồ bố trí thí nghiệm .......................................................................... 113 
4.5.2. Lắp đặt động cơ xe gắn máy lên bộ tạo tải động cơ .............................. 114 
4.5.3. Quy trình thử nghiệm xe gắn máy trên bộ tạo tải động cơ .................... 117 
4.5.4. Các biểu thức quan hệ giữa các đại lượng đo khi thực nghiệm ............ 118 
4.6. Đánh giá kết quả thử nghiệm và so sánh kết quả mô phỏng .................. 120 
4.6.1. So sánh ảnh hưởng của tốc độ động cơ đến tính năng động cơ cho bởi 
mô phỏng và thực nghiệm ................................................................................ 120 
4.6.2. So sánh ảnh hưởng hàm lượng ethanol đến tính năng động cơ cho bởi 
mô phỏng và thực nghiệm ................................................................................ 122 
4.7. Kết luận chương 4 ...................................................................................... 126 
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ........................................................... 127 
CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ .................................................................. 131 
TÀI LIỆU THAM KHẢO .................................................................................... 133 
PHỤ LỤC ............................................................................................................... 142 
V 
PHỤ LỤC 1. MÔ PHỎNG QUÁ TRÌNH NẠP VÀ QUÁ TRÌNH CHÁY CỦA 
ĐỘNG CƠ XE GẮN MÁY CHẠY BẰNG XĂNG-ETHANOL-LPG BẰNG 
PHẦN MỀM ANSYS FLUENT ........................................................................... 142 
PHỤ LỤC 2. CODE LẬP TRÌNH ARDUINO ĐIỀU KHIỂN HỆ THỐNG 
PHUN XĂNG - LPG VÀ XĂNG - ETHANOL .................................................. 158 
VI 
DANH MỤC CÁC HÌNH 
Hình 1.1: Tổng lượng nhiên liệu lỏng thế giới sản xuất và tiêu thụ giai đoạn 
2016÷2022 (triệu thùng/ ngày) [81] ............................................................................ 7 
Hình 1.2: Sản lượng ethanol (triệu gallon) top các nước hàng đầu thế giới [88] ....... 8 
Hình 1.3: Lắp đặt bộ chế hòa khí .............................................................................. 12 
Hình 1.4: "Greenbus": xe buýt cỡ nhỏ chạy bằng LPG ............................................ 12 
Hình 1.5: Ðộng cơ xe gắn máy 110cc sau khi lắp bộ chế hòa khí hai nhiên liệu 
LPG/xăng .................................................................................................................. 13 
Hình 1.6: Xe gắn máy kiểu WAVE 110cc sau khi lắp xong hệ thống hai nhiên liệu 
LPG/xăng .................................................................................................................. 13 
Hình 1.7: Cấu trúc phân tử của ethanol và liên kết phân tử ...................................... 14 
Hình 1.8: Bố trí hệ thống thử nghiệm cung cấp LPG-ethanol cho động cơ [73] ...... 20 
Hình 1.9: Ảnh hưởng của tỷ lệ ethanol cung cấp đến phát thải CO ......................... 21 
Hình 1.10: Ảnh hưởng của tỷ lệ ethanol cung cấp đến phát thải CO2 ...................... 21 
Hình 1.11: Ảnh hưởng của tỷ lệ ethanol cung cấp đến nồng độ O2 trong khí thải ... 22 
Hình 1.12: Ảnh hưởng của tỷ lệ ethanol cung cấp đến phát thải THC ..................... 22 
Hình 1.13: Ảnh hưởng của tỷ lệ ethanol cung cấp đến phát thải NOx ...................... 22 
Hình 1.14: Ảnh hưởng của tỷ lệ ethanol cung cấp đến nhiệt độ khí thải .................. 22 
Hình 1.15: Bố trí thực nghi ... g 300 bước tính, chương trình dừng. 
- Nếu quá 300 bước tính mà chương trình chưa hội tụ thì ta bấm vào Calculate để 
tính tiếp. 
PL-24: Hiển thị các giá trị trong Run Calculation 
152 
PL-25: Chạy chương trình tính toán 
Bước 5. Xuất kết quả 
PL-26: Chọn kết quả hiện thị pressure trong Graphics and Animations 
4. Tính toán mô phỏng quá trình cháy với phần mềm FLUENT 
153 
Bước 1. Xác định mô hình lưới động 
Define Dynamic Mesh Parameters 
Bấm chuột trái vào Dynamic Mesh. 
Chọn Models: 
 - Dynamic Mesh (PL-27) 
 - In-Cylinder (PL-31) 
Chọn Mesh Methods: 
 - Smoothing (PL-28) 
 - Layering (PL-29) 
 - Remeshing (PL-30) 
PL-27: Chọn mô hình lưới động Dynamic 
Mesh 
PL-28: Thiết lập mô hình lưới động cho 
thẻ Smoothing 
PL-29: Thiết lập mô hình lưới động cho 
thẻ Layering 
154 
PL-30: Thiết lập mô hình lưới động cho 
thẻ Remeshing 
PL-31: Thiết lập mô hình lưới động cho 
thẻ In-Cylinder 
Bước 7. Xác định khu vực lưới biến dạng và biên di động 
PL-32: Xác lập các thông số cho khu vực xi lanh 
155 
PL-33: Xác lập lưới biến dạng cho xi lanh 
PL-34: Hiển thị lưới của không gian tính toán 
Bước 8. Kích hoạt phương trình năng lượng 
156 
PL-35: Chọn phương trình năng lượng 
Bước 9. Chọn mô hình độ nhớt rối 
Bước 10. Chọn thông sô liên quan đến vị trí đánh lửa 
Chọn menu Define -> Model ->Species ->Spark Ignition, trong cửa sổ Spark 
Ignition Model chọn Fixed Spark Size. Tiếp tục thiết lập các thông số trong Spark 
Ignition Model như sau: năng lượng đánh lửa trong trường hợp này là 143J, vị trí 
đánh lửa ở tọa độ (0,90,0), bắt đầu đánh lửa tại   (20 độ trước điểm chết 
trên). 
PL-36: Chọn các thông số đánh lửa 
157 
Bước 11. Xác định mặt phẳng để biểu diễn kết quả 
PL-37: Lập mặt phẳng biểu diễn kết quả 
pressure 
PL-38: Lập mặt phẳng biểu diễn kết 
quả nhiệt độ 
PL-39: Lập mặt phẳng biểu diễn kết quả nồng độ C3H8 
158 
PHỤ LỤC 2. CODE LẬP TRÌNH ARDUINO ĐIỀU KHIỂN HỆ 
THỐNG PHUN XĂNG - LPG VÀ XĂNG - ETHANOL 
#include 
#include 
#include 
#include 
#include 
#include "maths.h" 
// 
#define pinLED 13 
#define pinINJECTION1 9 
#define pinINJECTION2 10 
#define pinINJECTION3 11 
#define pinTRIGGER 2 
#define pinBUTTON 3 
#define pinA0 A0 
// 
#define SIZE_BYTE 8 
#define SIZE_INT 16 
// 
//Handy bitsetting macros 
#define BIT_SET(a,b) ((a) |= (1<<(b))) 
#define BIT_CLEAR(a,b) ((a) &= ~(1<<(b))) 
#define BIT_CHECK(var,pos) !!((var) & (1<<(pos))) 
// 
LiquidCrystal_I2C lcd(0x27, 16, 2); // Set the LCD address to 0x27 for a 16 chars and 2 
line display 
// 
Average aveRevTime(5); 
Average aveA0(10); 
// 
volatile unsigned long upTrigTime; 
volatile unsigned long fallTrigTime; 
volatile unsigned long lastFallTrigTime; 
volatile unsigned long curInjTime; 
volatile unsigned long curRevTime; 
volatile unsigned long inj1Time; 
volatile unsigned long inj2Time; 
volatile unsigned long inj3Time; 
volatile bool bRUN = false; 
volatile byte runMode = 0; 
// 0: xăng-Ethanol 
// 1: xăng-LPG 
// 
unsigned int valueA0; 
159 
unsigned int rpm; 
byte ratio; 
// 
unsigned long loop1000msCount = 0; 
unsigned long loop1000msCounts = 0; 
unsigned long loopTime = 0; 
unsigned long next1000ms = 0; 
unsigned long next500ms = 0; 
unsigned long next250ms = 0; 
unsigned long next100ms = 0; 
unsigned long next50ms = 0; 
// 
String inputString = ""; // a string to hold incoming data 
// 
boolean bStringComplete = false; // whether the string is complete 
boolean bInjection = false; 
boolean bInjectionSchedule = false; 
bool initialisationComplete = false; //Tracks whether the setup() functino has run 
completely 
// 
void setup() { 
 lcd.begin(); 
 lcd.backlight(); 
 // 
 initialiseADC(); 
 // 
 //lcdWrite(0,0,"A:"); 
 lcdWrite(0,1,"A:"); 
 lcdWrite(8,0,"|B:"); 
 lcdWrite(8,1,"|C:"); 
 // 
 pinMode(pinBUTTON,INPUT_PULLUP); 
 pinMode(pinLED, OUTPUT); 
 pinMode(pinINJECTION1,OUTPUT); 
 pinMode(pinINJECTION2,OUTPUT); 
 pinMode(pinINJECTION3,OUTPUT); 
 //---------------------------------------------- Set PWM frequency for D3 & D11 -----------------
------------- 
 //TCCR2B = TCCR2B & B11111000 | B00000001; // set timer 2 divisor to 1 for 
PWM frequency of 31372.55 Hz 
 TCCR2B = TCCR2B & B11111000 | B00000010; // set timer 2 divisor to 8 for PWM 
frequency of 3921.16 Hz 
 // 
 attachInterrupt(digitalPinToInterrupt(pinTRIGGER), trig_FALL_ISR, FALLING); //2,3 
 attachInterrupt(digitalPinToInterrupt(pinBUTTON), button_FALL_ISR, FALLING); 
//2,3 
 // 
160 
 Timer1.initialize(); 
 Timer1.attachInterrupt(injection2Stop); 
 // 
 Serial.begin(115200); 
 // 
 runMode = EEPROM.read(0); 
 // 
 initialisationComplete = true; 
} 
void initialiseADC() 
{ 
 //This sets the ADC (Analog to Digitial Converter) to run at 1Mhz, greatly reducing 
analog read times (MAP/TPS) when using the standard analogRead() function 
 //1Mhz is the fastest speed permitted by the CPU without affecting accuracy 
 //Please see chapter 11 of 'Practical Arduino' 
(
&q&f=false) for more detail 
 BIT_SET(ADCSRA,ADPS2); 
 BIT_CLEAR(ADCSRA,ADPS1); 
 BIT_CLEAR(ADCSRA,ADPS0); 
 // 
} 
void button_FALL_ISR() { 
 if (runMode < 1) { 
 runMode++; 
 Serial.println(runMode); 
 } 
 else { 
 runMode = 0; 
 } 
 EEPROM.write(0,runMode); 
} 
void trig_FALL_ISR(){ 
 fallTrigTime = micros(); 
 if (curInjTime > 750) { 
 curRevTime = fallTrigTime - lastFallTrigTime; 
 lastFallTrigTime = fallTrigTime; 
 } 
 //Serial.println(upTrigTime); 
 attachInterrupt(digitalPinToInterrupt(pinTRIGGER), trig_UP_ISR, RISING); //2,3 
} 
void trig_UP_ISR(){ 
 upTrigTime = micros(); 
161 
 unsigned long temp = upTrigTime - fallTrigTime; 
 curInjTime = temp; 
 //Serial.println(upTrigTime); 
 attachInterrupt(digitalPinToInterrupt(pinTRIGGER), trig_FALL_ISR, FALLING); //2,3 
 switch (runMode) { 
 case 0: 
 inj3Time = 0; 
 inj2Time = percentage(ratio,curInjTime); 
 inj1Time = curInjTime - inj2Time; 
 if (ratio < 100) { 
 injection1Start(); 
 } 
 else { 
 injection2Start(); 
 } 
 break; 
 case 1: 
 inj2Time = 0; 
 inj3Time = percentage(ratio,(curInjTime - 350)); 
 inj1Time = curInjTime - inj3Time; 
 //inj3Time = (1.35*inj3Time); 
 if (ratio < 100) { 
 injection1Start(); 
 } 
 else { 
 injection3Start(); 
 } 
 break; 
 } 
} 
void injection1Start() { 
 digitalWrite(pinINJECTION1,HIGH); 
 Timer1.setPeriod(inj1Time); 
 Timer1.attachInterrupt(injection1Stop); 
} 
void injection1Stop() { 
 digitalWrite(pinINJECTION1,LOW); 
 Timer1.stop(); 
 if (ratio > 0) { 
 switch (runMode) { 
 case 0: 
 injection2Start(); 
 break; 
 case 1: 
 injection3Start(); 
162 
 break; 
 } 
 } 
} 
void injection2Start() { 
 digitalWrite(pinINJECTION2,HIGH); 
 Timer1.setPeriod(inj2Time); 
 Timer1.attachInterrupt(injection2Stop); 
} 
void injection2Stop() { 
 digitalWrite(pinINJECTION2,LOW); 
 Timer1.stop(); 
} 
void injection3Start() { 
 analogWrite(pinINJECTION3,255); 
 Timer1.setPeriod(1650); 
 Timer1.attachInterrupt(injection3PWM); 
} 
void injection3PWM() { 
 analogWrite(pinINJECTION3,190); 
 Timer1.setPeriod(inj3Time); 
 Timer1.attachInterrupt(injection3Stop); 
} 
void injection3Stop() { 
 analogWrite(pinINJECTION3,0); 
 Timer1.stop(); 
} 
void readSensor() { 
 readA0(); 
} 
void readA0() { 
 valueA0 = analogRead(pinA0); 
 aveA0.push(valueA0); 
 ratio = map(aveA0.mean(),0,1023,0,100); 
} 
void loop50ms() { 
 if (loopTime>=next50ms) { 
 next50ms=loopTime+5e4; 
 } 
163 
} 
void loop100ms() { 
 if (loopTime>=next100ms) { 
 next100ms=loopTime+1e5; 
 if (!bRUN) {readSensor();} 
 } 
} 
void loop250ms() { 
 if (loopTime>=next250ms) { 
 next250ms=loopTime+25e4; 
 if ((micros() - fallTrigTime) > 1e6) { 
 //fallTrigTime = micros(); 
 bRUN = false; 
 curInjTime = 0; 
 rpm = 0; 
 } 
 else { 
 rpm = 12e7/curRevTime; 
 } 
 //lcdWrite(2,0,5," ",String(loop1000msCounts)); 
 lcdWrite(0,0,7," ", (runMode==0)?"Gas-Eth":"Gas-LPG"); 
 lcdWrite(2,1,5," ",String(ratio)); 
 lcdWrite(11,0,5," ",String(curInjTime)); 
 lcdWrite(11,1,5," ",String(rpm)); 
 //Serial.print("curInjTime: "); 
 //Serial.print(curInjTime); 
 //Serial.print("\tcurRevTime: "); 
 //Serial.println(curRevTime); 
 } 
} 
void loop500ms() { 
 if (loopTime>=next500ms) { 
 next500ms=loopTime+5e5; 
 } 
} 
void loop1000ms() { 
 loop1000msCount++; 
 if (loopTime>=next1000ms) { 
 next1000ms=loopTime+1e6; 
 // 
 loop1000msCounts = loop1000msCount; 
 loop1000msCount = 0; 
 } 
} 
164 
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 == "test") { 
 Serial.println("Test KK!"); 
 } 
 else { 
 Serial.println("No cmd!"); 
 } 
 } 
 else { 
 if (inputString == "save") { 
 } 
 else if (inputString == "load") { 
 } 
 else if (inputString == "print") { 
 } 
 else if (inputString == "test") { 
 } 
 else { 
 Serial.println("Nothing to do!"); 
 } 
 } 
 inputString = ""; 
 bStringComplete = false; 
 } 
} 
void loop() { 
 // put your main code here, to run repeatedly: 
 loopTime=micros(); 
 serialCommand(); 
 loop50ms(); 
 loop100ms(); 
 loop250ms(); 
 loop500ms(); 
 loop1000ms(); 
} 
165 
/* 
 SerialEvent occurs whenever a new data comes in the 
 hardware serial RX. This routine is run between each 
 time loop() runs, so using delay inside loop can delay 
 response. Multiple bytes of data may be available. 
 */ 
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 do something about it: 
 if (inChar == '\n') { 
 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) { 
 for (byte i=0; i<(l-text2.length()); i++) { 
 lcd.print(text1); 
 } 
166 
 } 
 lcd.print(text2); 
} 
void lcdWrite(byte x, byte y, String text, unsigned long number) 
{ 
 lcdWrite(x,y,text); 
 lcdWrite(x,y,number); 
} 
void lcdWrite(byte x, byte y, byte z, String text, double number) 
{ 
 lcdWrite(x,y,text); 
 lcdWrite(x,y,z,number); 
} 

File đính kèm:

  • pdfluan_an_nang_cao_tinh_nang_kinh_te_ky_thuat_va_giam_muc_do_p.pdf
  • pdf0.Phụ lục Bìa Luận án_BuiVanTan.pdf
  • pdf2.Tóm tắt tiếng Việt_BuiVanTan.pdf
  • pdf3.Tóm tắt tiếng Anh_BuiVanTan.pdf
  • pdf4.Thông tin đóng góp mới tiếng việt_BuiVanTan.pdf
  • pdf5.Thông tin đóng góp mới tiếng Anh_BuiVanTan.pdf
  • pdf6.Trích yếu luận án tiengviet_BuiVanTan.pdf
  • pdf7.Trích yếu luận án tiengAnh_BuiVanTan.pdf