Cảm biến vị trí bướm ga

Một phần của tài liệu Thuyết minh nghiên cứu và mô phỏng hệ thống đánh lửa xe toyota vios (Trang 37)

Cảm biến vị trí bướm ga được lắp ở trên trục cánh bướm ga . Cảm biến này đóng vai trò chuyển vị trí góc mở cánh bớm ga thành tín hiệu điện áp đến ECU.

Tín hiệu cầm chừng (IDL) dùng để điều khiển phun nhiên liệu khi động cơ hoạt động ở chế độ cầm chừng cũng như hiệu chỉnh thời điểm đánh lửa. Tín hiệu toàn tải (PSW) dùng để tăng lượng xăng phun ở chế độ toàn tải để tăng công suất động cơ. Trên một số xe, cảm biến vị trí bướm ga còn giúp ECU điều khiển hộp số tự động.

Cảm biến oxy dùng để xác định lượng oxy trong khí xả để điều chỉnh tỷ lệ hỗn hợp hòa khí lý thuyết, tiết kiệm nhiên liệu, nâng cao công suất, giảm thiểu ô nhiễm môi trường.

Loại này được chế tạo chủ yếu từ chất Zirconium dioxide (ZrO2) có tính chất hấp thụ những ion oxy âm tính. Thực chất, cảm biến oxy loại này là một pin điện có sức điện động phụ thuộc vào nồng độ oxy trong khí thải với ZrO2 là chất điện phân. Mặt trong ZrO2 tiếp xúc với không khí, mặt ngoài tiếp xúc với oxy trong khí thải. Ở mỗi mặt của ZrO2 được phủ một lớp điện cực bằng plantin để dẫn điện. Lớp plantin này rất mỏng và xốp để oxy dễ khuyếch tán vào. Khi khí thải chứa lượng oxy ít do hỗn hợp giàu nhiên liệu thì số ion oxy tập trung ở điện cực tiếp xúc khí thải ít hơn số ion oxy tập trung ở điện cực tiếp xúc không khí. Sự chênh lệch số ion này sẽ tạo một tín hiệu điện áp khoảng 600-900mV. Ngược lại, khi độ chênh lệch số ion ở hai điện cực nhỏ trong trường hợp nghèo xăng, pin oxy sẽ phát ra tín hiệu điện áp thấp khoảng 100-400 mV.

Hình 2. 16. Cảm biến oxy

2.4.6. Cảm biến tiếng gõ

Cảm biến này phát hiện tiếng gõ động cơ. Được gắn vào thân máy, gồm phần tửáp điện tạo ra một điện áp AC khi tiếng gõ gây ra rung động trong

từ 6 đến 13khz tùy loại động cơ.

Hình 2. 17. Cảm biến tiếng gõ

2.4.7. Cảm biến nhiệt độ nước làm mát

Là một nhiệt điện trở có hệ số nhiệt âm (điện trở thay đổi phụ thuộc vào nhiệt độ, nhiệt độ tăng điện trở giảm và ngược lại).

Khi động cơ hoạt động, cảm biến nhiệt độ nước làm mát thường xuyên theo dõi và báo cho ECU biết tình hình nhiệt độ nước làm mát động cơ. Nếu nhiệt độ nước làm mát của động cơ thấp (động cơ vừa mới khởi động) thì ECU sẽ ra lệnh cho hệ thống phun thêm xăng khi động cơ còn nguội. Cũng thông tin về nhiệt độ nước làm mát, ECU sẽ thay đổi điểm đánh lửa thích hợp với nhiệt độ động cơ. Cảm biến nhiệt độ nước làm mát và điện trở R được mắc nối tiếp. Khi giá trị điện trở của cảm biến thay đổi theo sự thay đổi của nhiệt độ nước làm mát, điện áp tại cực THW cũng thay đổi theo. Dựa trên tín hiệu này ECU tăng lượng phun nhiên liệu nhằm nâng cao khả năng ổn định khi động cơ nguội.

KẾT LUẬN CHƯƠNG 2

Chương 2 đã trình bày được về hệ thống đánh lửa trên xe Toyota Vios 2020:

- Giới thiệu về hệ thống đánh lửa trên xe Toyota Vios 2020: hệ thống đánh lửa trực tiếp sử dụng mỗi bô bin với một IC đánh lửa cho một xy lanh

- Nêu được nguyên lí hoạt động của hệ thống và sơ đồ tổng quan, sơ đồ mạch điện của hệ thống đánh lửa dùng trên xe

- Trình bày được kết cấu của các chi tiết trong hệ thống đánh lửa

- Nêu được cấu tạo và nguyên lí của cảm cảm biến được dùng trong hệ thống đánh lửa

PHẦN MỀM PROTEUS

3.1. Giới thiệu về phần mềm Proteus

Proteus là phần mềm cho phép mô phỏng hoạt động của mạch điện tử bao gồm phần thiết kế mạch và viết chương trình điều khiển cho các họ vi điều khiển như MCS-51, PIC, AVR, …

Proteus là phần mềm mô phỏng mạch điện tử của Lancenter Electronics, mô phỏng cho hầu hết các linh kiện điện tử thông dụng, đặc biệt hỗ trợ cho cả các MCU như PIC, 8051, AVR, Motorola.

- Các bước cài đặt phần mềm:

Bước 1: Chạy setup của phần mềm sau khi tải về -> Nhấn Next Bước 2: Tích chọn I accept the terms of this agreement -> Next Bước 3: Chọn Use a locally installed lincense key –> Next Bước 4: Nhấn chọn Next

Bước 5: Tùy chọn Templates and Libraries Bước 6: Chọn cách cài đặt của phần mềm Bước 7 : Tùy chỉnh nơi cài đặt phần mềm Bước 8 : Chọn ổ đĩa mà sẽ cài đặt

Bước 9 : Tùy chọn Shortcut

Bước 10 : Install Đợi trình setup trong khoảng vài phút ! - Sử dụng phần mềm

Muốn sử dụng chúng ta cần phải tạo một cái Project

Hình 3. 3. Tạo file mới để sử dụng Sau đó sẽ hiện lên một khung cửa sổ

Name: Tên của project mà chúng ta muốn tạo để sử dụng Path: Đường dẫn nơi mà Project sẽ được lưu trữ

3.2. Những cải tiến và thông số kỹ thuật của xe

Với động cơ mới, thay đổi từ VVT-i (Van biến thiên thông minh trên xu páp nạp) lên Dual VVT-i (Van biến thiên thông minh trên cả xu páp nạp và xu páp xả) giúp xe mới giảm tiếng ồn hơn, tiết kiệm nhiên liệu, thân thiện với môi trường và vận hành mạnh mẽ hơn.

Ở các phiên bản innova mới ra mắt hay Altis, camry đều đã trang bị công nghệ Dual VVT-i, có thể nói đây là sự phổ cập công nghệ mới, hiện đại cho các dòng xe của Toyota.

Hình 3. 5. Động cơ thế hệ mới và cũ

3.2.2. Thông số kĩ thuật- Về động cơ - Về động cơ Thông số Vios E MT (03/07 Túi khí) Vios E CVT (03/07 Túi khí) Vios G CVT

Loại động cơ 2NR-FE (1.5L)

Số xy lanh 4

Bố trí xy lanh Thẳng hàng

Dung tích xy lanh 1.496

Loại nhiên liệu Xăng

Hệ thống nhiên liệu Phun xăng điện tử

Công suất tối đa (hp/rpm) 107/6.000 Mô men xoắn tối đa

(Nm@rpm) 140/4.200

Hệ thống truyền động Dẫn động cầu trước FWD

Hộp số Số sàn 5

Tiêu thụ nhiên liệu (L/100km ) thị Trong đô thị 7.74/7.2 7.53/7.1 7.1 Kết hợp 5.92/5.8 5.74/5.7 5.7

Tiêu chuẩn khí thải Euro 4

Bảng 3. 3. Bảng thông số động cơ - Về kích thước xe Thông số Vios E MT (03/07 Túi khí) Vios E CVT (03/07 Túi khí) Vios G CVT Kích thước tổng thể D x R x C (mm) 4.425 x 1.730 x 1.475 Kích thước tổng thể bên trong xe D x R x C (mm) 1.895 x 1.420 x 1.205

Chiều dài cơ

sở (mm) 2.550 Chiều rộng cơ sở (Trước/Sau) 1.475 / 1.460 Khoảng sáng gầm xe (mm) 133 Bán kính vòng 5.1

(m) Trọng lượng không tải (kg) 1.075 1.105 1.110 Trọng lượng toàn tải (kg) 1.550 Dung tích bình nhiên liệu (L) 42 Hệ thống treo trước/sau Độc lập/Dầm xoắn

Hệ thống lái Trợ lực tay lái điện

Vành xe Mâm đúc

Kích thước lốp 185/60R15

Lốp dự phòng Mâm đúc

Phanh

trước/sau Đĩa thông gió/Đĩa đặc

Bảng 3. 4. Bảng thông số kích thước xe - Về ngoại thất

Phần ngoại thất của xe Toyota Vios thế hệ mới cũng không có sự thay đổi nhiều so với thế hệ trước. Phiên bản cao cấp nhất vẫn được sở hữu một số trang bị vượt trội hơn các bản còn lại như đèn chiếu sáng ban ngày, có chức năng tự động bật, tắt, chế độ đèn chờ dẫn đường, đèn sau dạng LED hiện đại. Ở bản E số sàn được bổ sung thêm đèn sương mù trước và nâng cấp gương chiếu hậu có chức năng gập điện.

khoang nội thất. Cụ thể, các phiên bản Vios E MT và E CVT (3 và 7 túi khí) đều được nâng cấp hệ thống giải trí lên sử dụng đầu DVD với màn hình cảm ứng kích thước 7 inch, hỗ trợ kết nối với Apple Carplay và Android Auto và hệ thống ghế ngồi bọc da. Trong khi đó, bản cao cấp nhất được sử dụng màn hình hiển thị đa thông tin TFT đơn sắc, bổ sung chức năng kết nối Apple Carplay và Android Auto.

- Về công nghệ an toàn chủ động và bị động

Về hệ thống an toàn trên xe, bao gồm ABS, BA, EBD, VSC, TRC, HAC cả 3 bản của Toyota Vios 2020 đều được bổ sung thêm những tính năng hiện đại mới, điển hình như camera lùi. Riêng bản cao cấp nhất có thêm trang bị cảm biến góc trước sau và hệ thống kiểm soát hành trình Cruise Control.

3.3. Xây dựng mô hình 3.3.1. Khối điều khiển 3.3.1. Khối điều khiển -Vi điều khiển Atmega64

Trong điều khiển tự động nói chung có thể sử dụng nhiều loại vi điều khiển khác nhau như: Atmega8, Atmega16, Atmega32, Atmega64, Atmega128, Atmega1280,MSP430C1101, MSP430C1111, Pic16f1516, Pic16f1517... Mỗi loại vi điều khiển có ưu nhược điểm riêng, tùy theo ứng dụng điều khiển mà lựa chọn cho phù hợp.

Trong nghiên cứu này vi điều khiển được chọn là Atmega16, đây là dòng vi điều khiển 8 bit, các thông số chính của vi điều khiển Atmega16 được thể hiện trong Bảng bên dưới

Đây là loại vi điều điều khiển có tần số làm việc tối đa 16 MHz, có tích hợp các cổng ADC dùng để đọc tín hiệu từ cảm biến nhiệt độ LM35 gửi về, đồng thời vi điều khiển này có sẵn tại thị trường Việt Nam, giá thành phù hợp cho bước tiếp theo là nghiên cứu thiết kế và chế tạo bộ điều khiển quạt làm mát động cơ ô tô dùng ECU với chi phí nhỏ mà vẫn đảm báo tính chính xác trong

Thông số Giá trị Điện áp làm việc 4,5 ÷ 5,5

Tần số làm việc 0 ÷ 16 MHz

Số chân loại PDIP 64

Bộ nhớ chương trình

flash 64 KBytes

Bộ nhớ EEPROM 2 KBytes

Bộ nhớ SRAM 4320 Byte

Bảng 3. 5. Các thông số chính của vi điều khiển Atmega64

- Transistor

Để điều khiển cấp dòng cho động cơ điện một chiều có thể dùng nhiều loại Transistor công suất khác nhau như: 2N6547, 2N3390, 2N6609, 2N1711, 2N1893, 2N2219, 2SA1085, 2SA715 ... Tùy theo yêu cầu về công suất và chi phí... mà lựa chọn chophù hợp. Trong nghiên cứu này lựa chọn Transistor T1 là loại 2N6547 [10] có công suất, điện áp và chi phí phù hợp đồng thời có sẵn tại thị trường Việt Nam. Transistor T1 được dùng để điều khiển cấp dòng cho động cơ điện dẫn động quạt làm mát. Các thông số cơ bản của transistor 2N3390 được thể hiện trong bảng dưới đây:

Thông số Giá trị Công suất lớn nhất 175W Dòng điện lớn nhất cực C 30A Dòng điện lớn nhất cực B 20A

Dải nhiệt độ làm việc -65÷ 200oC

LCD là một màn hình nhiều điểm ảnh, có thể coi là một Led ma trận dạng lớn, tuy nhiên chúng ta không cần đi vào điều khiển từng Pixel hay là từng chấm nhỏ như trong Phần 1 mà chúng ta sẽ điều khiển qua lệnh, con trỏ… để hiển thị thông tin một cách dễ dàng hơn. Có nhiều loại LCD, trong bài này chúng ta dùng loại đơn giản 16×2. Trước tiên chúng ta tìm hiểu về cầu tạo của nó.

Thông số Giá trị

Kích thước 16x2

Số chân điều khiển 3

Số chân bus dữ liệu 8

Chân VSS Nguồn 0V

Chân VDD Nguồn 5V

Chân VEE Độ tương phản

Bảng 3. 7. Các thông số chính màn hình hiển thị LCD 16x2

3.3.3. Khối giả lập cảm biến trục cam và trục khuỷu

Đối với động cơ 4 kỳ thì hai vòng quay trục khuỷu là một chu kỳ, xupap nạp và xả đóng mở 01 lần. Vậy cần thiết kế trục cam quay một vòng và trục khuỷu quay hai vòng ( tỉ số truyền = ½).

INT1 của Atmega64

3.4. Thuật toán và chương trình điều khiển

Thuật toán điều khiển lập trình cho động cơ được nhà chế tạo viết và cài đặt sẵn trong CPU. Tùy thuộc vào chế độ làm việc theo thời gian hay tính năng động cơ mà ECU tính toán dựa trên lập trình có sẵn đó để đưa ra những tín hiệu điều khiển sao cho động cơ hoạt động tối ưu nhất.

Chương trình điều khiển được thực hiện trên phần mềm CodeVisionAVR được viết bằng ngôn ngữ C++, với hàm điều khiển chính sau:

- Hàm điều khiển đánh lửa:

This program was produced by the CodeWizardAVR V2.05.0 Professional Chip type : ATmega64

Program type : Application

AVR Core Clock frequency: 16.000000 MHz Memory model : Small

#include <alcd.h> #include <stdio.h> #include <delay.h> unsigned int xungTK; unsigned int xungTC; unsigned char Chuoi[16];

// External Interrupt 0 service routine

interrupt [EXT_INT0] void ext_int0_isr(void) {

// Place your code here xungTK=xungTK+1; if (xungTK==96) { xungTK=0; } }

// External Interrupt 1 service routine

interrupt [EXT_INT1] void ext_int1_isr(void) {

// Place your code here xungTC = xungTC+1; if (xungTC==48) { xungTC=0; } }

// Declare your global variables here void HienThiXungTK(void)

lcd_gotoxy(0,0); lcd_puts(Chuoi); } void HienThiXungTC(void) { sprintf(Chuoi,"T-Cam :%2d XUNG",xungTC); lcd_gotoxy(0,1); lcd_puts(Chuoi); } void DKdanhlua1(void) { if (xungTK==0) { PORTF=0b00000001; DDRF =0b00000001; delay_ms(5); } else { PORTF=0b00000000; DDRF =0b00000000; } } void DKdanhlua3(void) { if (xungTK==24) { PORTF=0b00000100; DDRF =0b00000100;

} else { PORTF=0b00000000; DDRF =0b00000000; } } void DKdanhlua4(void) { if (xungTK==48) { PORTF=0b00001000; DDRF =0b00001000; delay_ms(5); } else { PORTF=0b00000000; DDRF =0b00000000; void DKdanhlua2(void) { if (xungTK==72) { PORTF=0b00000010; DDRF =0b00000010; delay_ms(5); } else {

DDRF =0b00000000; void main(void)

{

// Declare your local variables here // Input/Output Ports initialization // Port A initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTA=0x00; DDRA=0x00;

// Port B initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTB=0x00; DDRB=0x00;

// Port C initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTC=0x00; DDRC=0x00;

// Port D initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

State0=T

PORTD=0x00; DDRD=0x00;

// Port E initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTE=0x00; DDRE=0x00;

// Port F initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTF=0x00; DDRF=0x00;

// Port G initialization

// Func4=In Func3=In Func2=In Func1=In Func0=In // State4=T State3=T State2=T State1=T State0=T PORTG=0x00;

DDRG=0x00;

// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=0xFF // OC0 output: Disconnected ASSR=0x00;

OCR0=0x00;

// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: Normal top=0xFFFF // OC1A output: Discon. // OC1B output: Discon. // OC1C output: Discon. // Noise Canceler: Off

// Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off // Compare C Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; OCR1CH=0x00; OCR1CL=0x00; // Timer/Counter 2 initialization // Clock source: System Clock

// Mode: Normal top=0xFF // OC2 output: Disconnected TCCR2=0x00;

TCNT2=0x00; OCR2=0x00;

// Timer/Counter 3 initialization // Clock source: System Clock // Clock value: Timer3 Stopped // Mode: Normal top=0xFFFF // OC3A output: Discon. // OC3B output: Discon. // OC3C output: Discon. // Noise Canceler: Off

// Input Capture on Falling Edge // Timer3 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off // Compare C Match Interrupt: Off TCCR3A=0x00; TCCR3B=0x00; TCNT3H=0x00; TCNT3L=0x00; ICR3H=0x00; ICR3L=0x00; OCR3AH=0x00; OCR3AL=0x00; OCR3BH=0x00; OCR3BL=0x00;

OCR3CL=0x00;

// External Interrupt(s) initialization

Một phần của tài liệu Thuyết minh nghiên cứu và mô phỏng hệ thống đánh lửa xe toyota vios (Trang 37)