Tải bản đầy đủ (.pdf) (10 trang)

Nghiên cứu thiết kế chế tạo bộ giao tiếp giữa máy tính và ecu điều khiển động cơ Mục tiêu của chủ đề này là thiết kế, chế tạo bộ giao tiếp giữa máy tính và ECU điều khiển động cơ và giao diện giao tiếp bằng phần mềm Matlab. pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (322.77 KB, 10 trang )

Nghiên cứu thiết kế chế tạo bộ giao tiếp giữa máy tính và ecu điều khiển động cơ
Mục tiêu của chủ đề này là thiết kế, chế tạo bộ giao tiếp giữa máy tính và ECU
điều khiển động cơ và giao diện giao tiếp bằng phần mềm Matlab.


KS. Huỳnh Quốc Việt
Học viên cao học khoá: 2003 - 2005
Khoa Cơ khí Động lực
Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh
email:
Tóm tắt
Mục tiêu của chủ đề này là thiết kế, chế tạo bộ giao tiếp giữa máy tính và ECU
điều khiển động cơ và giao diện giao tiếp bằng phần mềm Matlab. Từ đó, đưa ra
giao thức truyền dữ liệu giữa động cơ và máy tính thông qua cổng nối tiếp RS-
232, sao cho, trên giao diện người sử dụng có thể quan sát sự thay các thông số
động cơ. Mặt khác, họ có thể thay đổi các thông số đầu vào để thấy được các đáp
ứng của các tín hiệu điều khiển cơ cấu chấp hành. Ngoài ra, người sử dụng cũng
có thể điều khiển nguồn cung cấp cho động cơ, khởi động động cơ và truy xuất mã
lỗi bằng máy tính.
Abstract
The purpose of this topic is to design the interface communicator between
computer and ECU by mean of matlab software. Thenceforth, it could lay out the
protocol of data transferring between the engine and computer through the serial
port RS-232, so that the user could observe the change of the engine parameters
from the interface. One the other hand, the user could also change one of those
input parameters to see the response of actuators. Besides, the user could also use
computer to turn off/turn on, to start or access code of the engine.
Giới thiệu
Thiết kế và chế tạo mạch giao tiếp hai chiều giữa máy tính và ECU điều khiển
động cơ nhằm hiển thị các thông số hoạt động của động cơ, đồng thời, điều khiển
động cơ từ máy tính. Việc tính toán mô phỏng và điều khiển động cơ được thực


hiện thông qua phần mềm matlab. Trên cơ sở mạch giao tiếp này ta có thể phát
triển các thiết bị chẩn đoán và sửa chữa động cơ.
Trên giao diện giao tiếp máy tính chúng ta có thể:
- Điều khiển nguồn điện cấp cho động cơ, tương ứng với trường hợp công tắc máy
ở vị trí ON.
- Điều khiển động cơ khởi động, tương ứng với trường hợp công tắc máy ở vị trí
ST.
- Điều khiển động cơ đang hoạt động
+ Nếu không sử dụng giao diện giao tiếp với máy tính, các tín hiệu đầu vào của
động cơ được chuyển đến vi điều khiển sau đó truyền đến ECU để điều khiển
động cơ.
+ Nếu chúng ta đang sử dụng giao tiếp với máy tính, ngoài việc chuyển dữ liệu
đến ECU, vi điều khiển còn truyền dữ liệu đó lên máy tính.
+ Ngoài ra, vi điều khiển còn nhận các tín hiệu điều khiển đánh lửa - IGT, tín hiệu
điều khiển kim phun - #10 để tính toán tốc độ động cơ, thời gian ngậm điện, thời
gian phun nhiên liệu và truyền lên máy tính.
- Điều khiển chẩn đoán động cơ, bộ giao tiếp điều khiển chân TE1 nối mát và
nhận dữ liệu truyền từ chân W, xác định mã lỗi và truyền đến máy tính.
Thiết kế phần cứng bộ giao tiếp
Trong quá trình nghiên cứu lý thuyết về các xung tín hiệu của động cơ, ta thấy các
tín hiệu đầu vào khá đa dạng: gồm cả tín hiệu số và tín hiệu tương tự. Vì vậy,
trước khi thực hiện kết nối với máy tính ta cần chuyển tất cả các dạng tín hiệu về
dạng số. Để thực hiện điều này, người nghiên cứu sử dụng IC chuyển đổi 8 kênh 8
bit ADC0809.
Tuy nhiên, do mức điện áp giữa đầu ra của vi điều khiển (0 đến 5V) và chuẩn nối
tiếp RS-232 (-10 đến +10) không tương thích nên người nghiên cứu đã sử dụng IC
chuyển đổi MAX232. Ngoài ra, để thực hiện được việc điều khiển từ máy tính trở
lại động cơ, người nghiên cứu thực hiện ngắt tín hiệu từ cảm biến đến động cơ
bằng phần mềm do vi điều khiển thực hiện. Như vậy, khi nhập số liệu từ máy tính,
các thông số này sẽ được truyền trực tiếp đến ECU thông qua vi điều khiển. Do

đó, để ECU nhận và xử lý được các tín hiệu này, ta phải chuyển tín hiệu số này
sang tín hiệu tương tự bằng IC chuyển đổi DAC M62358.
Ngoài ra, trên mạch còn sử dụng IC khuếch đại tín hiệu điều khiển từ LM324, IC
7805 chuyển đổi nguồn điện áp 5V cho bộ giao tiếp từ nguồn điện ắc quy 12V, IC
74HC14 tạo dao động cung cấp xung clock cho ADC0809, các transistor, .

Hình 1. Sơ đồ nguyên lý mạch giao tiếp
Thiết kế phần mềm bộ giao tiếp.
Giao thức truyền dữ liệu giữa máy tính và vi điều khiển được thực hiện theo kiểu
hỏi đáp. Nghĩa là nếu máy tính muốn gởi dữ liệu thì đầu tiên máy tính sẽ gởi một
tín hiệu (254), khi vi điều khiển nhận được tín hiệu này (254) thì gởi lại tín hiệu
(253) báo cho máy tính, máy tính sẽ gởi tiếp dữ liệu. Nếu vì lý do nào đó vi điều
khiển không nhận được, máy tính chờ hết thời gian xác định mà không nhận được
tín hiệu (253) báo thì máy tính sẽ gởi lại tín hiệu đó. Hướng truyền dữ liệu từ vi
điều khiển đến máy tính cũng tương tự.
Lưu đồ chương trình chính của bộ giao tiếp trong đó gồm các chương trình con
sau:
- Call ADC: Chương trình con chuyển đổi tín hiệu tương tự - số
- Call DAC: Chương trình con chuyển đổi tín hiệu số - tương tự
- Call Load: Chương trình con chuyển dữ liệu nhận từ mày tính đưa đến chuyển
đổi DAC
- Call RPM: Chương trình con đo tốc độ động cơ
- Call TGP: Chương trình con đo thời gian phun nhiên liệu
- Call TGN: Chương trình con đo thời gian ngậm điện

Hình 2. Lưu đồ chương trình chính bộ giao tiếp.
Trong khi đang thực hiện chương trình chính nếu có xảy ra hiện tượng ngắt thì
chương trình chính tạm thời ngừng hoạt động để thực hiện các chương trình ngắt.
Sau khi thực hiện các chương trình ngắt xong, vi điều khiển sẽ quay về chương
trình chính tại vị trí ngừng lần trước.

Các chương trình ngắt được thực hiện theo lưu đồ hình 3

Hình3. Lưu đồ chương trình các ngắt trong bộ giao tiếp.
Thiết kế giao diện giao tiếp bằng matlab.
Thực hiện kiểm tra hoạt động của bộ giao tiếp, có thể dùng phần mềm matlab thiết
kế giao diện và lập trình giao tiếp qua cổng nối tiếp RS-232. Để thuận lợi cho việc
thực nghiệm, người nghiên cứu đã thiết kế giao diện giao tiếp bằng Matlab hiển thị
dữ liệu hiện hành và đọc mã lỗi động cơ như hình 4 và 5.
Để máy tính nhận dữ liệu từ động cơ ta cần khởi tạo và thiết lập đối tượng cổng
nối tiếp. Giả sử, khởi tạo cổng COM1 có tốc độ truyền 19200Baud, có 8 bít dữ
liệu truyền và không dùng bít chẵn lẻ.
s=serial('COM1');
set(s,'BAUD',19200,'Timeout',1,'InputBufferSize',5 00000, …
'OutputBufferSize', 500000);
set(s,'Parity','none','DataBits',8);
fopen(s)
Tiếp theo cần phải lập trình thêm cho các hàm nhận, truyền và xử lý dữ liệu.
Sau khi kết thúc việc giao tiếp ta thực hiện ngắt thiết bị khỏi cổng giao tiếp như
sau:
fclose(s)
delete(s)
clear s
Chú ý: Khi thiết lập thuộc tính cổng nối tiếp, tốc độ Baud và định dạng truyền dữ
liệu của thiết bị truyền và thiết bị nhận phải giống nhau.
Đọc dữ liệu hiện hành của động cơ.
Để đọc dữ liệu từ động cơ ta nhấn nút ĐỌC DỮ LIỆU, dữ liệu hiện hành của
động cơ sẽ được hiển thị trên giao diện như hình 4.

Hình 4. Dữ liệu động cơ hiển thị trên máy tính
Để nhập dữ liệu điều khiển động cơ từ máy tính ta nhấn nút NHẬP DỮ LIỆU,

động cơ sẽ hoạt động theo dữ liệu nhập vào, sự ảnh hưởng của các tín hiệu đầu
vào cũng được hiển thị trên giao diện nhờ vào sự thay đổi các đáp ứng đầu ra.
Đọc mã lỗi
Để đọc mã lỗi từ động cơ ta nhấn nút ĐỌC MÃ LỖI, các lỗi động cơ (nếu có) sẽ
được hiển thị trên giao diện máy tính. Khi đọc mã lỗi, máy tính sẽ đọc liên tục,
quá trình đọc chỉ dừng lại khi ta nhấn nút XÓA MÃ LỖI hoặc nút TRANG CHỦ
để thoát khỏi trang M-LOI trở về trang chủ. Giao diện M_LOI hiển thị mã lỗi
động cơ như hình 5.

Hình 5. Mã lỗi động cơ hiển thị trên giao diện máy tính
Trong quá trình thực nghiệm, so sánh kết quả dữ liệu hiển thị trên giao diện máy
tính và máy chẩn đoán DCN-PRO của công ty HANATECH Hàn Quốc ta thấy dữ
liệu trên hiển thị trên máy tính và máy chẩn đoán hầu như sai khác nhau rất nhỏ.
Ứng dụng.
Sau khi tiến hành thí nghiệm để xác định độ ổn định và mức độ chính xác của bộ
giao tiếp, người nghiên cứu thực hiện thực nghiệm, ứng dụng bộ giao tiếp xác định
sự ảnh hưởng của nhiệt độ động cơ với thời gian phun nhiên liệu trong điều kiện
nhất định.
Anh hưởng nhiệt độ động cơ đến thời gian phun.
Điều kiện thí nghiệm: Cánh bướm ga đóng hoàn toàn, tốc độ động cơ 1000
vòng/phút, nhiệt độ khí nạp 350C, áp suất khí nạp 30 kPa. Thực hiện thay đổi dữ
liệu nhập vào ô nhiệt độ động cơ liên tục trong giải từ -20 đến 1000C, các ô còn lại
giữ nguyên giá trị. Từ các số liệu nhận được, dùng chương trình Matlab biểu diễn
sự ảnh hưởng của nhiệt độ động cơ đến thời gian phun nhiên liệu bằng đồ thị (hình
6).

Hình 6. Đồ thị biểu diễn sự phụ thuộc của thời gian phun vào nhiệt độ động cơ
Tương tự, chúng ta cũng có thể sử dụng bộ giao tiếp thực hiện các thực nghiệm về
sự ảnh hưởng của các thông số đầu vào khác đến thời gian phun nhiên liệu, thời
gian ngậm điện và tốc độ động cơ.

Kết luận
Từ kết quả thực nghiệm cho thấy, bộ giao tiếp hoạt động ổn định, có độ chính xác
cao. Vì vậy, có thể ứng dụng bộ giao tiếp để tiến hành các thực nghiệm trong
nghiên cứu.
Tương tự, với kết quả đọc dữ liệu và truy xuất mã lỗi, bộ giao tiếp là một thiết bị
hữu ích trong việc kiểm tra, chẩn đoán hệ thống điều khiển động cơ.
Sản phẩm của đề tài là mô hình dạy học hữu ích minh họa sự thay đổi các thông số
động cơ và đặc biệt là ảnh hưởng của các tín hiệu đầu vào đến hoạt động của động
cơ.

TÀI LIỆU THAM KHẢO
[1]. PGS.TS. Đỗ Văn Dũng, Trang bị điện và điện tử trên ôtô hiện đại, Nxb Đại
học quốc gia Tp. Hồ Chí Minh, năm 2004.
[2]. Tống Văn On - Hoàng Đức Hải, Họ vi điều khiển 8051, Nxb Lao động – Xã
hội, năm 2001.
[3]. Nguyễn Hoài Sơn, Ứng dụng matlab trong tính toán kỹ thuật, Nxb Đại Học
quốc gia TP. Hồ Chí Minh, năm 2000.
[4]. Ngô Diên Tập, Kỹ thuật kết nối máy tính, Nxb Khoa học Kỹ thuật, năm 2005.
[5]. Ngô Diên Tập, Đo lường và điều khiển máy tính, Nxb Khoa học Kỹ thuật,
năm 1999.
[6]. Ngô Diên Tập, Lập trình kết nối máy tính trong Windows, Nxb Khoa học Kỹ
thuật, năm 2005.
[7]. Allan W.M. Bonnick, Automotive computer cotrolled systems, Butterworth –
Heinemann, 1999.
[8]. Toyota, Toyota computer control systerms.

×