Tạp chí Khoa học và Kỹ thuật - ISSN 1859-0209
57
THIẾT KẾ THIẾT BỊ ĐỌC DỮ LIỆU ĐỘNG PHỤC VỤ
CHẨN ĐOÁN KỸ THUẬT QUA CỔNG OBD-II
Vũ Ngọc Tuấn1, Nguyễn Đình Dũng2, Trịnh Ngọc Hùng1,*
1Viện Cơ khí động lực, Trường Đại học Kỹ thuật Lê Quý Đôn
2Khoa Hàng không - Vũ trụ, Trường Đại học Kỹ thuật Lê Quý Đôn
DOI: 10.56651/lqdtu.jst.v18.n02.687
Tóm tắt
Bài báo trình bày phương pháp thiết kế mạch đọc dữ liệu động của xe thông qua cổng giao
tiếp OBD-II trên cơ s mạch Can Bus Shield và Arduino Uno. Mạch giao tiếp này cho php
giám sát mọi thông số của xe qua các cm biến theo thời gian thực. Đng thời, phương
pháp chn đoán theo ngưng tn hiệu của các thông số nêu trên cng đưc áp dng nhm
giám sát và chn đoán tình trạng k thut của ô tô. Thông qua kết qu thử nghiệm thực tế,
thiết bị giám sát dữ liệu động theo thời gian thực và phương pháp chn đoán c th đưc
ng dng cho các loại xe c cổng giao tiếp OBD-II khác nhau. Đng thời, giám sát số
lưng lớn xe đang hoạt động gip cho nhà qun l c kế hoạch khai thác, bo dưng và
chọn chế độ vn hành hp l cho phương tiện cng là hướng phát trin chnh tiếp theo của
nghiên cu này. Kết qu thời gian kho sát của thiết bị đọc dữ liệu động là 0,02 s, nhanh
hơn (50 lần) so với máy chn đoán là 0,1 s. Giá thành sn phm rẻ, nhỏ gọn hơn 60% so với
máy chn đoán của hãng theo xe.
Từ khoá: Can Bus Shield; OBD-II; công cụ chẩn đoán; Arduino Uno.
1. Đặt vấn đề
Việc lấy dữ liệu động từ các cm biến trên xe ô tô theo thời gian thực giúp cho
người sử dng hoặc k sư c th phân tích, theo dõi và kim soát hiệu suất của các bộ
phn trên xe ô tô như động cơ, hệ thống phanh, hệ thống treo, điều hòa không khí,...
Điều này giúp nghiên cu và phân tích tình trạng hệ thống và ci thiện hiệu suất, gim
lưng khí thi ô nhiễm ra môi trường, định vị vị trí xe gặp sự cố, qun lý thống kê hoạt
động nhiều xe nhm tối ưu việc bo trì và sửa chữa xe ô tô đng thời đim giúp gim
thiu tối đa chi ph vn hành,...
Trên thế giới, một số công trình nghiên cu liên quan đến việc quan sát, phân tích
các tham số của ô tô theo thời gian thực đã đưc công bố. Gilman đã chỉ ra phương pháp
đ tăng hiệu qu tiêu hao nhiên liệu bng cách quan sát và phân tích các tham số trên xe
theo thời gian thực [1]. Mặt khác, Szalay và cộng sự đã sử dng giao thc CAN
* Email: trinhhung987@gmail.com
Journal of Science and Technique - ISSN 1859-0209
58
(Controller Area Network) và FMS CAN Bus đ đọc các thông số theo thời gian thực và
kết lun rng hai phương pháp này cho kết qutương tự nhau [2]. Thông qua cổng giao
tiếp OBD, Kushiro và cộng sự đã phân tch các mã lỗi và mối tương quan giữa chng đ
xây dựng mô hình chn đoán các hỏng hóc tiềm n và có th ngăn chặn đưc các sự cố có
th xy ra [3]. Sik đã thiết kế một mô hình dựa trên mạch CAN, OBD kết hp với GPS đ
gip người lái xe lựa chọn tuyến đường tối ưu hoặc tìm chỗ đu xe [4]. Đối với loại xe
hybrid, vừa sử dng động cơ điện vừa sử dng động cơ đốt trong, tác gi D’Agostino đã
phân tích dữ liệu trên xe thông qua cổng OBD đ xác định chế độ hoạt động cho từng loại
động cơ. Kết qu là sự tiêu hao nhiên liệu và khí thi đã gim đi một cách đáng k [5, 6].
Ngày nay, cùng với sự phát trin của khoa học công nghệ, các nghiên cu về giám sát và
điều khin từ xa các thông số của xe theo thời gian thực đã và đang đưc thực hiện và có
chiều hướng tăng lên [7-9]. Tại Việt Nam, việc dựa vào các thông số dữ liệu động phc
v chn đoán trên xe qua cổng OBD-II hầu như chưa c nghiên cu. Tuy nhiên, có một số
nghiên cu liên quan đến vấn đề này đã đưc công bố. Nguyễn Kim và cộng sự đã thực
hiện thành công đề tài “Thiết kế và thi công mô hình trin khai hệ thống điều khin động
cơ diesel điện tử common rail”. Trong đ, tác gi Nguyễn Kim và cộng sự đã sử dng
mạch Arduino Uno đ thu thp dữ liệu và phần mềm LabVIEW đ hin thị giá trị các
tham số đo đưc [10, 11].
Việc lấy dữ liệu động từ các cm biến trên xe ô tô gặp một số kh khăn như:
(i) Cần kinh nghiệm về các cm biến trên xe ô tô và nguyên llàm việc; (ii) Dữ liệu
hin thị từ các cm biến trên xe ô tô thường khá phc tạp và khó hin thị phi dùng
thut toán lp trình giúp hin thị thông tin cần biết; (iii) Thiết bị thu nhn dữ liệu và
phần mềm xử lý dữ liệu có giá thành khá cao, chỉ áp dng cho một dòng xe, một hãng
xe nhất định. Đng thời mã code lp trình là b mt công nghệ của từng hãng;
(iv) Thường xuyên phi cp nht phần mềm chn đoán cho từng xe, giá thành cao, khi
hư hỏng khó sửa chữa; (v) Khi chn đoán k thut, máy chn đoán không cho ra các đ
thị tổng quát chuyên sâu đ phân tch đánh giá k hơn tình trạng k thut của ô tô.
C th, trong nghiên cu này, nhóm tác gitrình bày phương pháp thiết kế thiết bị
đ thu thp các thông số trên xe theo thời gian thực dựa trên mạch Can Bus Shield và
Arduino Uno. Việc phân tch các mã PID đ ghi nhn và xử lý số liệu đưc xây dựng và
lp trình trên phần mềm Arduino IDE. Dựa trên các tham số đo đưc theo thời gian
thực, nhóm tác gi đã áp dng phương pháp chn đoán theo ngưng đ đưa ra các kết
lun thông qua phần mềm LabVIEW giúp hin thị các lỗi cnh báo của hệ thống. Thiết
bị này cho phép thu thp, quan sát, ghi nhn và phân tích giá trị các tham số trên xe ô tô
Tạp chí Khoa học và Kỹ thuật - ISSN 1859-0209
59
theo thời gian thực, phc v công tác chn đoán k thut, phát hiện các lỗi k thut và
ngăn ngừa các sự cố có th xy ra. Việc thiết kế thành công thiết bị đọc dữ liệu động và
thut toán chn đoán c th sử dng đưc cho nhiều dòng xe, với giá thành rẻ gip làm chủ
đưc công nghệ giám sát, phân tch hư hỏng nhm hạn chế rủi ro về mặt k thut và ci
thiện hiệu suất của xe một cách độc lp không cần dùng máy chn đoán chuyên dng.
2. Nguyên tắc chẩn đoán thông qua ngưỡng dữ liệu
C rất nhiều phương pháp khác nhau đ chn đoán tình trạng kthut của các
cm và hệ thống trên xe. Dựa trên bộ tham số kết cấu, tham số chn đoán, các hệ thống
đo lường và các l thuyết nhm xác định bộ các thông số chn đoán đ xây dựng các
công c chn đoán khác nhau. Đối với các máy chn đoán hiện tại, thông thường việc
chn đoán và hin thị các mã lỗi đưc thực hiện qua việc so sánh ngưng giá trị của các
tn hiệu đo đưc thông qua các cm biến. Tuy nhiên, phần mã ngun của các thut toán
kim tra nêu trên thường đưc bo mt bi các hãng thiết kế chế tạo thiết bị chn đoán.
Chnh vì l do đ, trong nghiên cu này nhóm tác gi sử dng nguyên tắc chn đoán k
thut theo giá trị ngưng của các cm biến trên xe làm nguyên tắc chnh đ hình thành
thut toán chn đoán. Tuy nhiên, các giá trị này đưc ghi nhn và so sánh theo thời gian
thực thông qua bộ thiết bị tự thiết kế chế tạo. Các giá trị đo của các cm biến trên xe
bng các mã PID và công thc tính toán của từng cm biến. Thông qua phần mềm thu
thp, xử lý số liệu, hin thị dữ liệu động so sánh với một giá trị ngưng đã đưc xác
định trước đ trong khong min tới max. Từ đ đưa ra kết lun chn đoán và cnh báo
về tình trạng hoạt động của các cm và hệ thống trên xe. Hiệu qu của phương pháp này
nhanh chóng, chính xác cao và dễ sử dng không cần máy chn đoán công nghiệp.
Đng thời c th làm chủ đ phát trin hệ thống giám sát và chn đoán dữ liệu theo thời
gian thực cho nhiều xe cng một lc, qua đ c những chnh sách khai thác, bo dưng,
sử dng và qun l hp l phương tiện.
Khi giá trị đo của một cm biến vưt quá giá trị ngưng hoặc không đạt đưc giá
trị ngưng, hệ thống sẽ hin thị một cnh báo đ cho người lái biết rng hệ thống đang
gặp vấn đề và cần đưc kim tra hoặc sửa chữa (Hình 1). Việc chn đoán k thut theo
giá trị ngưng của các cm biến trên xe là rất quan trọng đ đm bo an toàn và nâng
cao hiệu suất cho xe trong quá trình vn hành.
Dựa vào đ thị ngưng chn đoán nếu cm biến bị ngắn mạch (điện áp đưa vào
nhỏ hơn 0,1 V) hoặc đt dây (điện áp đầu vào lớn hơn 4,8 V). Nhiệt độ nước làm mát
cao vưt ngưng cho php trên 150°C như hình 2.
Journal of Science and Technique - ISSN 1859-0209
60
Hình 1. Sơ đồ nguyên tắc chẩn đoán
theo ngưỡng giá trị.
Hình 2. Đồ thị chẩn đoán theo ngưỡng
của nhiệt độ nước làm mát.
3. Thiết kế thiết bị đọc dữ liệu động
3.1. Phương thức đọc dữ liệu từ cảm biến
Dựa vào các công thc tính toán trong bng mã PID OBD-II [12], tác gi sử dng
ngôn ngữ lp trình phần mềm Arduino đ tính toán ra các thông số và thu nhn các bộ
dữ liệu động từ các cm biến trên xe ô tô như sau:
- Nhiệt độ nước làm mát động cơ (Nđc) mã PID 05 đưc tính theo công thc như sau:
Nđc = A - 40 [có giá trị ngưng từ - 40 đến 215oC] (1)
trong đ, A - giá trị byte th 3.
- Tốc độ động cơ (Vđc) mã PID 0C đưc tính theo công thc như sau:
Vđc =
256
4
AB
[có giá trị ngưng từ 0 đến 16.383 vòng/phút] (2)
trong đ: A - giá trị byte th 3; B - giá trị byte th 4.
- Cm biến lưu lưng không khí MAF (Vmaf) mã PID 10 đưc tính theo công thc
như sau:
Vmaf =
256
100
AB
[có giá trị ngưng từ 0 đến 655,35 g/s] (3)
trong đ: A - giá trị byte th 3; B - giá trị byte th 4.
- Nhiệt độ không khí nạp (Nkn) mã PID OF đưc tính theo công thc như sau:
Nkn = A - 40 [có giá trị ngưng từ - 40 đến 215oC] (4)
trong đ: A - giá trị byte th 3.
Tạp chí Khoa học và Kỹ thuật - ISSN 1859-0209
61
- Vị tr bướm ga (Vbg) mã PID 11 đưc tính theo công thc như sau:
Vbg =
100
255 A
[có giá trị ngưng từ 0 đến 100%] (5)
trong đ: A - giá trị byte th 3.
- Cm biến Oxy (Cox) mã PID 14 đưc tính theo công thc như sau:
Cox =
255
A
[có giá trị ngưng từ 0 đến 1.275 V] (6)
trong đ: A - giá trị byte th 3.
3.2. Lựa chọn tính toán thiết bị
Trên thị trường hiện tại có rất nhiều mạch, thiết bị thu thp dữ liệu động từ mạch
kết nối với hệ thống OBD-II như ESP32, ESP8266, ELM327, Can Bus Shield, Arduino
Uno và các máy chn đoán lỗi như Autel, Fcar, Otofix. Đa phần các mạch, thiết bị và
máy chn đoán trên đều sử dng ngôn ngữ bí mt của nhà sn xuất, đưc sử dng cho
một hãng xe nhất định, hạn chế quá trình khai thác và sử dng.
Trong nghiên cu thiết kế lấy dữ liệu động, nhn thấy rng việc sử dng mạch Can
Bus Shield và Arduino lấy dữ liệu động từ hệ thống OBD-II (Hình 3) rất tiện li, linh
hoạt, giá thành thấp, độ tin cy cao... Tính linh hoạt của mạch Can Bus Shield có th nối
với các thiết bị khác nhau thông qua chân cắm đầu nối và cổng kết nối, giúp cho việc kết
nối với hệ thống OBD-II dễ dàng hơn. Giá thành của mạch Arduino và Can Bus Shield là
những sn phm có giá thành rẻ, do đ c th tiết kiệm đưc chi phí khi sử dng đ kết
nối với hệ thống OBD-II. Độ tin cy chính xác cao khi kết nối với hệ thống OBD-II vì
mạch Arduino và Can Bus Shield sử dng giao thc CAN đ truyền thông tin, đây đưc
coi là giao thc tốt nhất đ truyền thông giữa các đim cuối, đm bo tín hiệu truyền đi
đưc đáng tin cy và gim thiu lỗi. Mạch Arduino là một nền tng phát trin mạch rất dễ
sử dng và có nhiều tài liệu hướng dẫn cho người dùng, giúp họ dễ dàng tiến hành các
thao tác cài đặt và vn hành. Ngoài ra, Can Bus Shield cng c tnh tương thch cao với
các thư viện phần mềm của hệ điều hành Arduino, gip người dùng tiết kiệm đưc thời
gian và tăng hiệu qu công việc.
Thiết bị đọc dữ liệu động thu nhn tín hiệu từ các cm biến trên xe ô tô thông qua
cổng OBD-II. Nhờ có mạch Can Bus Shield giao tiếp với mạng Can Bus trên ô tô và xử
lý tín hiệu truyền về mạch Arduino là nơi trung tâm nhn các tín hiệu gửi về máy tính
đ theo dõi, giám sát đánh giá bộ dữ liệu động phc v quá trình chn đoán k thut.
Thiết bị đọc dữ liệu động đưc phát trin đưc chia thành hai phần: Giai đoạn thu thp
dữ liệu, thiết kế giao diện đ họa đ trực quan hóa và theo dõi một số thông số dữ liệu
động thông qua phần mềm hin thị phc v chn đoán k thut.