
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 php
giám sát mọi thông số của xe qua các cm biến theo thời gian thực. Đng thời, phương
pháp chn đoán theo ngưng tn hiệu của các thông số nêu trên cng đưc áp dng nhm
giám sát và chn đoán tình trạng k thut 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 chn đoán c th đưc
ng dng 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 gip cho nhà qun l c kế hoạch khai thác, bo dưng và
chọn chế độ vn hành hp l cho phương tiện cng là hướng phát trin chnh tiếp theo của
nghiên cu 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 chn đoán là 0,1 s. Giá thành sn phm rẻ, nhỏ gọn hơn 60% so với
máy chn đ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ộ
phn 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 nhm tối ưu việc bo trì và sửa chữa xe ô tô đng thời đim giúp gim
thiu tối đa chi ph vn hành,...
Trên thế giới, một số công trình nghiên cu 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 qu tương tự nhau [2]. Thông qua cổng giao
tiếp OBD, Kushiro và cộng sự đã phân tch các mã lỗi và mối tương quan giữa chng đ
xây dựng mô hình chn đ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 đ
gip 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ử dng động cơ điện vừa sử dng độ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í thi đã gim đ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 chn đ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 cu 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 l là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 lp trình là b mt công nghệ của từng hãng;
(iv) Thường xuyên phi cp nht phần mềm chn đoán cho từng xe, giá thành cao, khi
hư hỏng khó sửa chữa; (v) Khi chn đoán k thut, máy chn đoán không cho ra các đ
thị tổng quát chuyên sâu đ phân tch đánh giá k hơn tình trạng k thut của ô tô.
C th, trong nghiên cu này, nhóm tác gi trì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 tch 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 dng phương pháp chn đ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 chn đ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 xy ra. Việc thiết kế thành công thiết bị đọc dữ liệu động và
thut toán chn đoán c th sử dng đưc cho nhiều dòng xe, với giá thành rẻ gip làm chủ
đưc công nghệ giám sát, phân tch hư hỏng nhm 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 dng.
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 đ chn đoán tình trạng k thut của các
cm và hệ thống trên xe. Dựa trên bộ tham số kết cấu, tham số chn đoán, các hệ thống
đo lường và các l thuyết nhm xác định bộ các thông số chn đoán đ xây dựng các
công c chn đoán khác nhau. Đối với các máy chn đoán hiện tại, thông thường việc
chn đoán và hin 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
tn hiệu đo đưc thông qua các cm biến. Tuy nhiên, phần mã ngun của các thut toán
kim tra nêu trên thường đưc bo mt bi các hãng thiết kế chế tạo thiết bị chn đoán.
Chnh vì l do đ, trong nghiên cu này nhóm tác gi sử dng nguyên tắc chn đ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 chnh đ hình thành
thut toán chn đoán. Tuy nhiên, các giá trị này đưc ghi nhn 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 khong min tới max. Từ đ đưa ra kết lun chn đ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 chn đoán công nghiệp.
Đng thời c th làm chủ đ phát trin hệ thống giám sát và chn đoán dữ liệu theo thời
gian thực cho nhiều xe cng một lc, qua đ c những chnh sách khai thác, bo dưng,
sử dng và qun l hp 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 cnh 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 chn đ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 chn đ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 php 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 thc 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 thc 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 thc 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 thc 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 chn đoán lỗi như Autel, Fcar, Otofix. Đa phần các mạch, thiết bị và
máy chn đ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ử dng đ 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 thc CAN đ truyền thông tin, đây đưc
coi là giao thc tốt nhất đ truyền thông giữa các đim cuối, đm bo tín hiệu truyền đi
đưc đáng tin cy 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à vn hành. Ngoài ra, Can Bus Shield cng c tnh tương thch cao với
các thư viện phần mềm của hệ điều hành Arduino, gip 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 nhn 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 chn đoán k thut.
Thiết bị đọc dữ liệu động đưc phát trin đư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 chn đoán k thut.