Nhờ những kiến thức được các thầy cơ giảng dạy mà chúng em có thể hồn thành được đồ án tốt nghiệp cũng như áp dụng chúng vào trong công việc trong tương lai.. Đi đôi với điều đó, số lượn
TỔNG QUAN VỀ ĐỀ TÀI
Tính cấp thiết của đề tài
Với sự phát triển không ngừng của công nghệ và kỹ thuật hiện nay, ngày có càng nhiều những hệ thống điều khiển tự động thông đã được tích hợp trên ô tô nhằm nâng cao trải nghiệm cũng như sự tiện nghi cho người sử dụng Với việc áp dụng những công nghệ tiên tiến, hàng loạt những hộp điều khiển tự động được trang bị cho ô tô như hộp điều khiển động cơ (ECM), hộp điều khiển điển thân xe (BCM), hộp điều khiển hệ thống điều hòa (A/C Amplifier), … Các hộp này cần có sự trao đổi những thông tin, dữ liệu cho nhau nhằm đảm bảo việc điều khiển các cơ cấu chấp hành một cách chính xác Vì vậy cần có một hệ thống thông tin liên lạc giữa chúng Từ đầu những năm 90 của thế kỷ trước, CAN (Controller Area Network) đã được ứng dụng để giao tiếp giữa các hộp trên xe và hiện nay nó đã trở thành hệ thống được áp dụng rộng rãi trên hầu hết ô tô Không những vậy, CAN còn giúp cho các thợ sửa chữa, kỹ sư giải quyết những hư hỏng trên xe một cách nhanh chóng Tuy nhiên, việc giảng dạy về CAN trên trường lớp vẫn còn nhiều hạn chế, thiếu những ví dụ cụ thể cũng như mô hình thực tế Từ vấn đề đó, nhóm chúng em đã thực hiện mô hình hệ thống CAN trên xe thực tế nhằm cung cấp công cụ cho việc giảng dạy cũng như phần nào kiến thức về mạng CAN trên ô tô.
Tình hình nghiên cứu trong và ngoài nước
Mạng giao tiếp CAN đã ra đời và được áp dụng rộng rãi trên ô tô cũng như các ngành công nghiệp khác từ lâu Tuy nhiên, vẫn có khá ít những đề tài nghiên cứu về nó Cho đến những năm gần đây, đã có nhiều đề tài nghiên cứu về nó nhiều hơn nhằm bắt kịp xu hướng công nghệ hiện đại Tuy nhiên thực tế vẫn gặp nhiều khó khăn trong việc tiếp cận, vận hành mạng giao tiếp trên ô tô nói chung và mạng CAN nói riêng
Việc nghiên cứu về mạng giao tiếp trên ô tô ở nước ngoài đã được thực hiện từ lâu, vì vậy mạng giao tiếp CAN đã phát gần như toàn diện Không những vậy, hiện họ cũng đã nghiên cứu và phát triển những công nghệ khác như MOST(Media Oriented Systems Transport), FlexRay, LIN…hay những công nghệ truyền thông như Ethernet TSN (Time-Sensitive
Networking) hay Ethernet AVB (Audio Video Bridging) với tốc độ và độ tin cậy cao ứng dụng cho xe tự hành.
Mục tiêu của đề tài
- Tìm hiểu kiến thức lý thuyết về CAN
- Đọc được sơ đồ mạch điện trên xe Toyota Camry 2007
- Tìm hiểu giao tiếp giữa Arduino Uno R3, Module CAN bus Shield và mạng giao tiếp thực tế
- Đọc dữ liệu giao tiếp giữa BCM, ECM và đồng hồ hiển thị
- Điều khiển được các đồng hồ và đèn báo trên đồng hồ thông qua các cảm biến, công tắc và Arduino
- Thực hiện được mô hình mạng CAN
- Hoàn thành bản thuyết minh đề tài
Phương pháp và phạm vi nghiên cứu
- Sử dụng nguồn tài liệu từ Internet để tìm hiểu về mạng truyền thông trên ô tô, Arduino, giao tiếp giữa các hộp điều khiển trên ô tô và giữa Arduino với mạng CAN trên ô tô thông qua module CAN bus Shield
- Tìm kiếm sơ đồ mạch điện từ hãng cũng như các dữ liệu điều khiển đồng hồ hiển thị
- Ứng dụng các phần mềm kỹ thuật để thiết kế mô hình
- Giả lập các tín hiệu truyền lên mạng CAN thông qua các công tắc, cảm biến và Arduino
- Nghiên cứu lý thuyết về mạng truyền thông trên ô tô nói chúng và mạng truyền thông sử dụng CAN trên Toyota Camry 2007 nói riêng
- Truyền nhận tín hiệu giữa các hộp điều khiển và đồng hồ hiển thị
- Lập trình giao tiếp giữa Arduino và mạng CAN sử dụng module CAN bus Shield
- Đưa ra nhận xét, kết quả và đề xuất hướng phát triển của đề tài.
CƠ SỞ LÝ THUYẾT
Tổng quan về mạng truyền thông trên ô tô
2.1.1 Định nghĩa giao thức truyền thông
Giao thức truyền thông là bộ những quy tắc cho toán bộ thiết bị được kết nối trong hệ thống giao tiếp với nhau để trao đổi thông tin dữ liệu thông qua các kênh truyền thông Giao thức sẽ định nghĩa các quy tắc (rule), cú pháp (syntax), ngữ nghĩa (semantics) Sự đồng bộ (synchronization) trong quá trình truyền thông và có thể thêm phương pháp khắc phục lỗi trên đường truyền Giao thức truyền thông có thể được thực thi trên phần cứng, phần mềm hoặc cả hai Một số kiểu liên kết giữ các thành phần trong mạng như sau:
Hình 2 1: Hệ thống liên kết dạng sao
Hình 2 2: Hệ thống liên kết dạng BUS
Hình 2 3: Hệ thống liên kết dạng vòng
Hình 2 4: Hệ thống liên kết dạng lưới
Hình 2 5: Hệ thống liên kết dạng cây
Hình 2 6: Hệ thống liên kết dạng lai sao - vòng
2.1.2 Vai trò của mạng truyền thông
Mạng truyền thông trong công nghiệp nói chung hay mạng truyền thông trên ô tô nói riêng đã mang lại không những tác động tích cực không chỉ trên phương diện kỹ thuật mà còn cả trên phương diện kinh tế Sau đây là một số những hiệu quả mà mạng truyền thông mang lại:
- Đơn giản hóa các hệ thống: Nhiều thiết bị có thể ghép nối với nhau thông qua một đường truyền duy nhất Điều đó giúp giảm số lượng dây dẫn làm các hệ thống trở nên đơn giản hơn
- Độ chính xác và tin cậy cao: Việc sử dụng mạng truyền thông số giúp cho việc truyền thông tin tránh được những tác nhân bên ngoài gây nhiễu và làm biết đổi thông tin
- Tăng độ linh hoạt cũng như tính năng mở rộng của hệ thống: Nhờ cấu trúc đơn giản nên việc thay thế cũng như mở rộng thêm các chức năng hay loại bỏ bớt trở nên dễ dàng
- Giá thành thấp: Nhờ cấu trúc đơn giản chỉ cần một đường truyền nên giúp giảm số lượng dây dẫn, từ đó giảm giá thành của hệ thống
2.1.3 Mạng truyền thông được dùng trên ô tô
Có một vài mạng truyền thông được dùng trên ô tô như:
- CAN (Controller Area Network): Đây là một chuẩn giao tiếp dữ liệu được thiết kế dành riêng cho ô tô Nó được sử dụng rộng rãi trong các ô tô hiện đại để cho phép các mô-đun điều khiển (ECU) khác nhau giao tiếp với nhau và chia sẻ thông tin
- LIN (Local Interconnect Network): Là một giao thức giao tiếp nối tiếp được sử dụng trong các phương tiện để kết nối các thành phần điện tử khác nhau Đây là một giao thức chi phí thấp, công suất thấp và tốc độ thấp được sử dụng để kết nối các cảm biến, bộ truyền động và các thành phần điện tử khác trong xe LIN được sử dụng để gửi và nhận dữ liệu giữa các thành phần và nó được thiết kế để dễ dàng thực hiện và bảo trì Nó cũng được sử dụng để giảm số lượng dây cần thiết trong một chiếc xe, giúp giảm chi phí và độ phức tạp của hệ thống dây điện của xe
- MOST (Media Oriented Systems Transport): là một giao thức tốc độ cao, đa phương tiện được sử dụng để kết nối âm thanh, video và các thành phần đa phương tiện khác trong xe Đây cũng là một giao thức đáng tin cậy và mạnh mẽ được thiết kế để dễ thực hiện và bảo trì Hầu hết được sử dụng để gửi và nhận dữ liệu giữa các thành phần và nó được thiết kế để có thể xử lý một lượng lớn dữ liệu một cách nhanh chóng và hiệu quả
- FlexRay: là một mạng lưới giao tiếp tốc độ cao được sử dụng trong các phương tiện cho các ứng dụng yêu cầu giao tiếp thời gian thực Nó được phát triển bởi FlexRay Consortium, được thành lập vào năm 2002 để tạo ra một giao thức truyền thông tiêu chuẩn hóa cho ngành công nghiệp ô tô FlexRay có các đặc điểm sau:
• Giao tiếp tốc độ cao: FlexRay hỗ trợ tốc độ dữ liệu lên tới 10 Mbps, nhanh hơn nhiều so với các mạng truyền thông khác được sử dụng trong xe Điều này cho phép nó hỗ trợ các ứng dụng phức tạp, chẳng hạn như hệ thống hỗ trợ trình điều khiển nâng cao hoặc kiểm soát hệ thống treo hoạt động
• Dung sai lỗi: FlexRay sử dụng hệ thống giao tiếp kênh kép, có nghĩa là dữ liệu được truyền qua hai đường dẫn giao tiếp riêng biệt Điều này cung cấp mức độ dung sai lỗi cao, đảm bảo rằng mạng truyền thông sẽ tiếp tục hoạt động ngay cả khi một trong các kênh gặp lỗi
• Giao tiếp Time triggered: FlexRay sử dụng sơ đồ giao tiếp kích hoạt thời gian, điều đó có nghĩa là các thông điệp được truyền đi vào những thời điểm cụ thể, thay vì liên tục Điều này cung cấp giao tiếp có thể dự đoán và xác định, điều này rất cần thiết cho các ứng dụng thời gian thực
• Hỗ trợ các mạng giao tiếp lớn: FlexRay có thể hỗ trợ các mạng giao tiếp lớn, với tới 65.000 nút, khiến nó phù hợp để sử dụng trong các phương tiện phức tạp với nhiều mô - đun điều khiển
• Tính bảo mật cao: FlexRay sử dụng các tính năng bảo mật nâng cao, chẳng hạn như mã hóa và xác thực, để ngăn chặn truy cập trái phép vào mạng truyền thông
• Thông qua các tính năng này mà FlexRay trở thành một lựa chọn lý tưởng cho các ứng dụng trên ô tô yêu cầu giao tiếp thời gian thực tuy nhiên nó khá là tốn kém hơn các mạng truyền thông khác
Tổng quan về hệ thống mạng giao tiếp CAN
2.2.1 Sơ lược về mạng giao tiếp CAN
CAN (Controller Area Network) là loại giao thức truyền thông nối tiếp được sử dụng trong các hệ thống điều khiển thời gian thực phân bố (distributed realtime control system) với độ ổn định và tin cậy cao nhờ khả năng chống nhiễu tốt
CAN được phát triển đầu tiên bởi nhà cung cấp phụ tùng và giải pháp cho ô tô là công ty Robert Bosch của Đức với mục tiêu chính là làm cho hệ thống ô tô trở nên an toàn, ổn định và tiết kiệm nhiên liệu trong khi đó giảm thiểu đi dây chằng chịt đơn giản hóa hệ thống và tiết kiệm chi phí sản xuất
Ban đầu, các chip CAN được phát triển bởi Intel, sau đó là Philips và chỉ được ứng dụng trên những chiếc xe sang của đức như Mercedes Hiện nay, gần như toàn bộ xe hiện đại đều sử dụng CAN để giao tiếp do có tốc độ, độ ổn định và tin cậy cao Không chỉ vậy, CAN còn có một điểm nổi bật nữa là khả năng phát hiện lỗi nên nó không chỉ ứng dụng trên ô tô mà còn nhiều ngành công nghiệp khác như máy nông nghiệp, tàu ngầm , máy bay, máy dệt, các dụng cụ y khoa, …
Mỗi mạng giao tiếp CAN bao gồm nhiều nút, mỗi nút này có khả năng giao tiếp với các nút còn lại trong mạng Khi giao tiếp các nút này sẽ truyền đi hoặc nhận về những gói dữ liệu được gọi là tin nhắn, các tin nhắn này được truyền đi dưới dạng điện áp thông qua 2 dây là CANH và CANL Với cấu tạo gồm 2 dây như vậy, CAN thực hiện việc giao tiếp nhờ sự chênh lệch điện áp giữa 2 dây Ngoài ra, đường truyền CAN này sẽ được gắn thêm 2 điện trở đầu cuối có giá trị 120 ohm nhằm bù lại sự thay đổi về điện áp giữa dây đường truyền CAN
Hình 2 8: Cấu tạo cơ bản của một mạng CAN
Với mỗi tin nhắn trên mạng CAN sẽ được gán cho một định danh nhất định gọi là ID Nhờ đó, việc thêm hay bớt các nút sẽ không ảnh hưởng đến hoạt động của hệ thống do các ID không phụ thuộc vào các nút mà phụ thuộc vào tin nhắn Vì vậy, giúp hệ thống có tính mở, dễ dàng thay đổi cấu trúc hệ thống mà không cần thiết kế lại
Vào năm 1993, hiệp hội ISO đã phát hành tài liệu tiêu chuẩn hóa cho CAN thông qua ISO 11898 (Cần lưu ý rằng tiêu chuẩn của ISO không phải là toàn bộ các đặc tính của CAN mà Bosch qui định)
- ISO 11898-1: CAN lớp liên kết dữ liệu
- ISO 11898-2: CAN lớp vật lý cho CAN tốc độ cao
- ISO 11898-3: CAN lớp vật lý cho CAN tốc độ thấp, chịu lỗi
Theo sau ISO 11898, còn rất nhiều phiên bản khác nhằm tiêu chuẩn hóa CAN tính đến thời điểm hiện tại Với tiêu chuẩn này, CAN được định nghĩa hai lớp là Physical layer và Data Link layer
Hình 2 9: Cấu trúc mô hình mạng CAN
Lớp Physical layer cung cấp phương tiện truyền tín hiệu thô sơ ở dạng bit, cách định thời và đồng bộ hóa
Lớp Data link layer được chia làm 2 lớp nhỏ là Logical Link Control (LLC) và Medium Access Control (MAC): định nghĩa cấu trúc dữ liệu truyền và những nguyên tắc phân xử dữ liệu để tránh trường hợp cùng truyền đồng thời
Ngoài ra, chuẩn CAN còn định nghĩa nhiều cơ chế khác để kiểm tra lỗi, xử lý lỗi… cơ chế kiểm tra và xử lý lỗi chia làm 5 loại lỗi: Bit error, Stuff error, CRC error, Form error, ACK error
2.2.2 Tầng vật lý (Physical layer)
2.2.2.1 Phương pháp mã hóa không trở về không(None return to zero)
Trong mạng giao tiếp CAN, mỗi bit được mã hóa theo phương pháp không trở về không (Non- return- to- zero) Nghĩa là trong suốt quá trình tạo ra một bit mức điện áp của dây là giữ nguyên, không đổi Việc sử dụng việc mã hóa NRZ này đảm bải số lần chuyển đổi tối thiểu và có khả năng phục hồi cao Hai bit được mã hóa ở 2 trạng thái trội ứng với mức điện áp thấp (bit 0) và lặn ứng với mức điện áp cao (bit 1)
Hình 2 10: Phương pháp mã hóa NRZ và RZ 2.2.2.2 Quy luật nhồi bit
Hình 2 11: Quy luật nhồi bit
Phương pháp mã hóa không trở về không NRZ có ưu điểm sẽ giữ cho mức điện áp không đổi trong suốt quá trình tạo ra nó tuy nhiên điều này gây ra vấn đề là một khung tin nhắn có thể có chứa nhiều bit có giá trị giống nhau và có thể gây hiểu lầm cho các nút rằng trong mạng đang có sự bất thường Kỹ thuật nhồi bit sẽ nhồi thêm một bit khi phát hiện 5 bit có giá trị giống nhau và bit này có giá trị khác với 5 bit đó Khi 5 bit giống nhau được truyền đi thì bộ điều khiển sẽ nhồi thêm một bit có giá trị khác với 5 bit đó, đối với những nút nhận thì khi sẽ xóa những bit được nhồi sau khi nhận Phương pháp này tuy làm kéo dài tin nhắn nhưng nó đóng vai trò lớn trong việc bảo vệ nội dung tin nhắn trong quá trình truyền tải Ngoài ra, nó cũng góp phần trong việc phát hiện lỗi
Phương pháp nhồi bit được sử dụng cho khung dữ liệu (Data Frame) hoặc khung yêu cầu (Remote Frame) Và số bít nhồi được ước lượng theo bảng sau:
Bảng 2 2: Bảng ước lượng số bit nhồi
Trong giao thức CAN, đơn vị thời gian nhỏ nhất là lượng tử thời gian TQ (Time Quantum) Khoảng thời gian này là phân số của thời gian giao động của Bus Một bit có khoảng từ 8 đến 35 quantum
Hình 2 12: Định nghĩa bit time và đồng bộ
Hình 2 13: Phân đoạn thời gian của bit
Một chu kỳ bit time bao gồm có 4 phân đoạn khác nhau mỗi phân đoạn chứa một số các lượng tự thời gian TQ
- Vùng đồng bộ hóa (Synchoronization Segment - Sync_seg): Đoạn này dành cho việc đồng bộ giữa các Nút trong 1 Bus CAN có độ dài bằng một lượng tử thời gian Một cạnh bit xuất hiện trên Bus sẽ được nằm trong đoạn này Một nút luôn giám sát và tính toán thời gian bit Trong khi truyền dữ liệu, bất cứ khi nào xuất hiện sự chuyển mức logic (cạnh bit) thì nút phải đồng bộ lại hoặc hiệu chỉnh cách tính toán thời gian bit để việc lấy mẫu bit được chính xác Khi một cạnh bit xuất hiện mà nút giám sát thấy nằm đúng trong đoạn Sync_seq thì đường truyền đang ổn định và các nút đang có sự đồng bộ tốt
- Vùng bù thời gian trể (Propagation Time Segment - Prop_seg): Đoạn này được dùng để bù cho các thời gian trễ do các hiện tượng vật lý trong mạng Nó có giá trị xấp xĩ hai lần khoảng thời gian lan truyền tín hiệu trên Bus, độ trễ đầu vào và các giai đoạn đầu ra của các nút tham gia vào mạng
- Vùng phân đoạn (Phase_seq1 và Phase_seq2): Hai đoạn này dành cho việc bù lỗi pha của cạnh bit xảy ra trong quá trình trao đổi Hai phân đoạn này được thiết kế để có thể kéo dài hoặc rút ngắn theo cơ chế tái đồng bộ
Hệ thống giao tiếp CAN trên Toyota Camry 2007
2.3.1 Giới thiệu về hệ thống CAN trên Toyota Camry 2007
Mạng CAN trên Toyota Camry 2007 bao gồm có 1 đường truyền chính sử dụng CAN
HS (High Speed) để giao tiếp trao đổi thông tin giữa các hộp điều khiển điện tử chính trong xe sử dụng tốc độ truyền dữ liệu là 500kbps và 1 đường truyền CAN MS (Medium Speed) có tốc độ truyền khoảng 125 kbps để giao tiếp giữa hộp Main Body ECU và hộp Certification ECU nếu trên xe được trang bị hệ thống Smart Key Hệ thống này có 2 con điện trở đầu cuối được tích hợp trong hộp ECU động cơ và đồng hồ hiển thị Các hộp điều khiển điển tử trên đường truyền chính gồm hộp điều khiển động cơ ECM, đồng hồ hiển thị (Combination meter), hộp điều hòa A/C (A/C Amplifier), hộp túi khí, hộp điều khiển điện thân xe, hộp điều khiển trượt và cơ cấu chấp hành, cảm biến góc lái, cảm biến góc xoay thân xe và giắc chẩn đoán
Hình 2 44: Bố trí mạng CAN trên Toyota
2.3.2 Sơ đồ mạch điện hệ thống CAN trên Toyota Camry 2007
Hình 2 45: Sơ đồ mạch điện hệ thống CAN trên Toyota Camry 2007
Hình 2 46: Sơ đồ mạch điện hệ thống CAN trên Toyota Camry 2007
Trên Toyota Camry 2007 các hộp điều khiển giao tiếp với nhau thông qua mạng giao tiếp CAN Các hộp điều khiển này sẽ thu thập các tín hiệu từ các cảm biến, công tắc, cơ cấu chấp hành,….Sau đó đưa các dữ liệu này lên CAN thông qua 2 dây CANH và CANL của mỗi hộp, những hộp điều khiển có nhu cầu nhận các thông tin sẽ lấy thông tin trên CAN thông qua
GIỚI THIỆU PHẦN CỨNG VÀ PHẦN MỀM
Cấu trúc của mô hình
Hình 3 1: Cấu trúc mô hình
3.1.1 Các tín hiệu cần truyền tải trên mô hình
Dựa vào sơ đồ bố trí của các thành phần của mạng CAN trên Toyota Camry 2007 mô hình sẽ mô phỏng sự giao tiếp giữa các thành phần đó là ECM (Engine Control Module) và BCM (Body Control Module) và đồng hồ hiển thị thông tin cùng với Arduino đóng vai trò như những ECU khác giao tiếp hệ thống thông qua máy tính
3.1.2 Tốc độ truyền tải của CAN trên mô hình
Trên mô hình sẽ truyền nhận những tín hiệu như tốc độ trục khuỷu, cảm biến nhiệt độ nước làm mát, các tín hiệu điều khiển đèn, cửa… những tín hiệu này có vai trò rất quan trọng trong các hoạt động của xe và vấn đề an toàn Vì vậy trên mô hình mô phỏng giao tiếp mạng CAN của Toyota Camry 2007 sẽ dùng mạng CAN tốc độ cao khoảng 500kbps và không cần lắp thêm điện trở đầu cuối của mạng vì hai điện trở được bố trí sẵn trong Combination meter và ECM
3.1.3 Phương thức truyền tải trên mô hình
Các thành phần như ECM và BCM và Combination meter giao tiếp với nhau thông qua những khung dữ liệu có ID riêng cho từng tín hiệu vì vậy mô hình sẽ sử dụng phương thức truyền tải dữ liệu bằng những khung tin nhắn có ID khác nhau mỗi ID tương ứng với một loại dữ liệu từ ECM, BCM , hoặc được gửi từ Arduino
3.1.4 Các yêu cầu khác của mô hình
Các yêu cầu khác có thể bao gồm các yêu cầu về độ chính xác, độ tin cậy, độ bảo mật và độ ổn định của hệ thống Cần xác định các yêu cầu này để đảm bảo rằng mô hình được thiết kế đáp ứng đầy đủ các yêu cầu của hệ thống như tính chính xác và độ tin cậy
3.1.5 Các thành phần sử dụng trong mô hình
3.1.5.1 Module điều khiển động cơ (ECM)
Hình 3 2: Bộ điều khiển điện tử ECM
ECM là một bộ điều khiển được sử dụng để điều khiển các hệ thống điện tử của động cơ trong một chiếc xe ô tô ECM là một phần quan trọng của hệ thống điện tử trong xe và chịu trách nhiệm quản lý các chức năng của động cơ, như điều khiển chế độ đốt nhiên liệu, kiểm soát hệ thống khí thải, giám sát các thông số động cơ và cảnh báo người lái trong trường hợp có sự cố
Ngoài ra, ECM còn được sử dụng để lưu trữ các mã lỗi và thông tin về tình trạng của động cơ Khi có sự cố xảy ra, ECM sẽ ghi lại các thông tin về mã lỗi và tình trạng của động cơ để người sửa chữa có thể dễ dàng xác định nguyên nhân của sự cố và sửa chữa nó một cách hiệu quả
Trên ECM bao gồm 2 giắc C24 gồm 126 chân và A24 gồm 60 chân
Bảng 3 1: Các chân của hộp ECM
Kí hiệu – số thứ tự của chân trên sơ đồ chân Mô tả Mức điện áp (V)
Cấp nguồn để duy trì mã lỗi và mã chẩn đoán và nuôi bộ nhớ
+BM (A24 – 3) và E1 Nguồn của bướm ga 9 – 14
IGSW (A24 – 28) và E1 Công tắc đánh lửa 9 – 14
Van dầu điều khiển trực Cam (OCV)
MREL (A24– 44) và E1 Điều khiển EFI relay 9 - 14
(C24 – 116) Đo lưu lượng không khí nạp 0.5 – 3.0
Nhiệt độ không khí nạp 0.5 – 3.4
Nhiệt độ nước làm mát động cơ
Nguồn cấp cho cảm biến vị trí bướm ga
Hình 3 3: Sơ đồ chân của ECM của Toyota Camry 2007
Cảm biến vị trí bướm ga (cho điều khiển động cơ) Đóng kín: 0.5 – 1.1
Mở hết nất: 3.3 – 4.9 VTA2 (C24 – 114) và ETA
Cảm biến vị trí bướm ga Đóng kín: 2.1 – 3.1
Cảm biến vị trí bàn đạp ga Chưa đạp: 0.5 – 1.1 Đạp hết nất: 2.6 – 4.5 VPA2 (A24 – 56) và EPA2
Cảm biến vị trí bàn đạp ga Chưa đạp: 1.2 – 2 Đạp hết nất: 3.4 – 5 VCPA (A24 – 57) và EPA
Nguồn cho cảm biến vị trí bướm ga
VCP2 (A24 – 58) và EPA2 Nguồn cho cảm biến vị trí bướm ga
Bộ sấy nóng cảm biến A/F Chế độ idling: dưới 3.0
Công tắc đánh lửa bật ON:
Bộ sấy nóng trong cảm biến oxy
Idling: dưới 3.0 Khi bật khóa điện: 9 - 14 OX1B (C24 – 54) – EX1B
Kim phun Tín hiệu điều khiển kim phun là dạng xung
Cảm biến kích nổ Xung điện áp xoay chiều
Cảm biến vị trí trục cam Xung điện áp xoay chiều
Cảm biến vị trí trục khuỷu Xung điện áp xoay chiều
Cuộn dây đánh lửa Xung điện áp xoay chiều
IGF1 (C24 - 81) – E1 Tín hiệu phản hồi đánh lửa Công tắc bật ON: 4.5 – 5V
Idling: xung điện áp xoay chiều
Tín hiệu tốc độ từ taplo Xung điện áp xoay chiều
Tín hiệu khởi động Trên 5.5
NSW (C24 – 52) và E1 Điều khiển starter relay Khóa điện bật ON: dưới 1.5
Cranking: trên 5.5 STP (A24 – 36) và E1 Công tắc đèn dừng Đạp thắng: 7.5 – 14
Không đạp thắng: dưới 1.5 ST1 (A24 – 35) và E1 Công tắc đèn dừng Đạp thắng: dưới 1.5
Không đạp thắng: 7.5 – 14 M+(C24 - 42) và ME01
Bướm ga Xung điện áp
M- (C24 – 41) và ME01 Bướm ga Xung điện áp
FC (A24 – 7) và E1 Điều khiển bơm xăng Khi công tắc bật ON: 9 -14
Tốc độ của động cơ
TC (A24 – 27) và E1 Terminal TC của DLC3 9 -14
CANH (A24 – 41) và E1 Đường dây giao tiếp CAN Điện áp dạng xung (thường là 2.5) CANL (A24 – 49) và E1 Đường dây giao tiếp CAN Điện áp dạng xung (thường là 2.5)
Khi bật công tăc khóa ON điện áp từ ắc quy được cấp cho chân IGSW của ECM Khi đó tín hiệu điện từ chân MREL đi vào cuộn dây của rơ le chính EFI đóng tiếp điểm cấp nguồn cho chân +B Điện áp từ ắc quy luôn được cấp cho cho chân BATT nhằm để duy trì mã lỗi mã chẩn đoán và nuôi bộ nhớ
Cực E1 này là cực tiếp mass của ECU động cơ
Các cực như E2 và E21 là các cực tiếp mát của cảm biến, va chúng được nối với cực E1 của động cơ
Các cực như E01 và E02 là các cực tiếp mát cho bộ chấp hành
Hình 3 4: Mạch cấp nguồn ECM
3.1.5.2 Module điều khiển điện thân xe BCM
Hình 3 5: Bộ điều khiển điện thân xe BCM
Giống như bộ điều khiển động cơ ECM, BCM nhận tín hiệu từ các công tắc, cảm biến như công tắc đèn, cửa, nâng hạ kính,…và điều khiển các hệ thống điện thân xe như hệ thống đèn tín hiệu, hệ thống nâng hạ kính,…Ngoài ra BCM còn gửi các thông tin, dữ liệu lên đồng hồ hiển thị để hiển thị thông tin thông qua mạng giao tiếp CAN bus
3.1.5.3 Đồng hồ hiển thị thông tin (Combination Meter) Đồng hồ hiển thị là bộ phận quan trọng trên ô tô, nó giúp người lái có thể biết được các thông tin về hoạt động của xe như tốc độ động cơ, tốc độ xe, lượng nhiên liệu,… thông qua các đồng hay các tín hiệu cảnh báo qua các đèn báo Ngoài ra người lái có thể nhận biết được các lỗi xuất hiện trên ô tô thông qua các đèn báo
Hình 3 6: Đồng hồ hiển thị Toyota Camry 2007 Bảng 3 2: Vị trí, chức năng của các thành phần trên đồng hồ hiển thị
1 Đồng hồ báo nhiệt độ nước làm mát
3 Đồng hồ báo tốc độ động cơ
4 Đèn báo vị trí hộp số
5 Đồng hồ báo tốc độ xe
6 Đồng hồ báo nhiên liệu
7 Chỉnh đèn đồng hồ và đặt lại hành trình
8 Màn hình hiển thị nhiệt độ ngoài, ODO
Giắc OBD là chuẩn kết nối gồm nhiều chân trên ô tô dùng để giao tiếp giữa máy chẩn đoán và các mô-đun điều khiển trên xe OBD là viết tắt của On-Board Diagnostic đề cập đến khả năng tự chẩn đoán và phát hiện lỗi của xe Ban đầu chuẩn OBD được ra đời nhằm kiểm soát lượng khí thải mà xe thải ra, qua thời gian dài phát triển hiện nay OBD là bộ phận không thể thiếu trên xe nhằm giúp các chủ phương tiện hay kỹ thuật viên có thể dễ dàng chẩn đoán và phát hiện lỗi từ đó có thể sửa chữa một cách nhanh chóng
Trong lịch sử phát triển, OBD có nhiều các phiên bản khác nhau như OBD-I, OBD-1.5,… hay hiện tại đang được sử dụng phổ biến trên xe là chuẩn kết nối OBD-II
Giắc chẩn đoán OBD-II hay DLC3 bao gồm có 16 chân trong đó có chân số 6 là CAN-
H và chân số 14 là CAN-L để kết nối và lấy các thông tin, dữ liệu cũng như mã lỗi trên mạng CAN
3.1.5.5 Cảm biến vị trí trục khuỷu
Cảm biến vị trí trục khuỷu có chức năng đo tín hiệu về vị trí và tốc độ quay của trục khuỷu, những thông tin cảm biến phát hiện được sẽ gửi về ECM để phân tích và sử dụng tín hiệu này hiệu chỉnh thời gian phun xăng/dầu và tính toán góc đánh lửa sớm cơ bản Ngoài ra tín hiệu từ cảm biến trục khuỷu còn cho biết tín hiệu tốc độ động cơ qua đồng hồ tốc độ động cơ
Hình 3 8: Cảm biến vị trí trục khuỷu
Hiện nay có các loại cảm biến trục khuỷu loại điện từ, loại hall và loại quang Cảm biến vị trí trục khuỷu trên Toyota Camry 2007 sử dụng loại cảm biến điện từ 2 dây
3.1.5.6 Cụm công tắc điều khiển hệ thống đèn
Công tắc tổ hộp điều khiển hệ thống đèn chiếu sáng có chức năng điều khiển hệ thống đèn trên chiếu sáng ô tô như đèn đầu, đèn đuôi, pha, cốt,….Trên Toyota Camry công tắc tổ hợp sẽ gửi tín hiệu về hộp điều khiển BCM, BCM nhận và phân tích tín hiệu và điều khiển các chế độ đèn một cách chính xác Ngoài ra BCM cũng sẽ gửi các tín hiệu này lên đồng hồ hiển thị để báo chế độ đèn đang hoạt động cho người lái
Hình 3 9: Công tắc tổ hợp điều khiển đèn
Arduino Uno R3 là bo mạch vi điều khiển nguồn mở được sử dụng phổ biến hiện nay
Nó dựa trên chip điều khiển ATmega328P kết hợp với ATmega 16U2 để có thể giao tiếp qua USB Arduino Uno R3 là thế hệ thứ 3 của bo mạch Arduino, với ưu điểm có thể dễ dàng tiếp cận sử dụng để thực hiện các chương trình điều khiển phức tạp cũng như có thể kết hợp với các module, Arduino Shield nên nó được sử dụng rộng rãi để điều khiển các tác vụ từ đơn giản đến phức tạp
Hình 3 10: Cấu trúc Arduino Uno R3
Các thông số cơ bản của bo mạch Arduino Uno R3:
- Chip điều khiển chính ATmega328P 16 MHz
- Chip nạp và giao tiếp UART ATmega16U2 16 MHz
- Bộ nhớ FLASH 32KB trong đó 0.5KB sử dụng bởi bootloader
- Tần số hoạt động 16 MHz
- Điện áp hoạt động 5 V DC (Cấp qua cổng USB)
- Điện áp vào khuyên dùng 7 – 12 V DC
- Các chuẩn giao tiếp UART, I2C, SPI
- Chân Analog Input: 6 chân (độ phân giải 10 bit)
Hình 3 11: Sơ đồ chân của Arduino Uno R3 3.1.5.8 Arduino CAN bus Shield
Hình 3 12: Arduino CAN bus Shield
Các phần mềm sử dụng
3.2.1 AutoCAD Để thực hiện việc thiết kế mô hình, nhóm sử dụng phần mềm AutoCAD (Automatic Computer Aided Design) AutoCAD là một ứng dụng phần mềm được phát triển bởi Autodesk cho phép thiết kế và soạn thảo với sự hỗ trợ máy tính (CAD) Phần mềm này được sử dụng để tạo bản vẽ 2D và 3D, cho phép người dùng khái niệm hoá các ý tưởng, tạo ra các thiết kế và bản vẽ theo mức độ chính xác kỹ thuật cần thiết Thậm chí, AutoCAD có thể thực hiện tính toán và mô phỏng thiết kế nhanh chóng trên một loạt các ngành công nghiệp
Hình 3 13: Giao diện làm việc của AutoCAD
AutoCAD giúp thực thi hiệu quả, giảm thiểu lỗi tối đa các bản vẽ của thành phần kỹ thuật, thiết kế cơ sở hạ tầng và phân tích các hệ thống HVAC đóng vai trò chính trong hầu hết các lĩnh vực kỹ thuật, các ngành kỹ thuật, cơ khí, hệ thống và kỹ thuật điện
SOLIDWORKS là phần mềm thiết kế 3D tham số chạy trên hệ điều hành Windows và có mặt từ năm 1995, được tạo bởi công ty SOLIDWORKS Dassault Systèmes, là một công ty thành viên của tập đoàn công nghệ hàng đầu thế giới Dassault Systèmes, S A (Vélizy, Pháp) SOLIDWORKS nổi bật trong số các giải pháp phần mềm thiết kế 3D CAD bởi tính trực quan, phương pháp xây dựng mô hình 3D tham số, nhanh chóng, dễ dàng và tiện lợi cho người sử dụng Khả năng tái sử dụng dữ liệu 2D cho phép dễ dàng chuyển đổi từ các bản vẽ, phác thảo 2D thành mô hình hình học 3D SOLIDWORKS có khả năng dựng mô hình 3D từ ảnh chụp, điều này vô cùng tiện lợi cho các hoạt động sáng tạo, đổi mới, phát triển sản phẩm Nên chúng em chọn phần mềm này dùng để phác háo thiết kế khung cho mô hình
3.2.3 Arduino IDE Để sử dụng cho việc giao tiếp giữa hệ thống thông qua máy tính bằng Arduino, nhóm đã sử dụng phần mềm Arduino IDE (Intergrated Development Environment) được phát triển bởi đội ngũ kỹ sư của Arduino Arduino IDE rất dễ sử dụng, sử dụng ngôn ngữ lập trình dễ hiểu và dựa trên nền tảng C/C++ rất quen thuộc với người làm kỹ thuật Và quan trọng là số lượng thư viện code được viết sẵn và chia sẽ bởi cộng đồng nguồn mở là cực kì lớn
Hình 3 14: Giao diện làm việc Arduino IDE
Arduino IDE có thể chạy ở nhiều nền tảng khác nhau Do có tính chất nguồn mở nên môi trường lập trình này hoàn toàn miễn phí và có thể mở rộng thêm bởi người dùng có kinh nghiệm.
Sơ đồ mạch điện sử dụng trong mô hình
Các hộp điều khiển sử dụng trong mô hình gồm hộp Engine Control Module (A24, C24), hộp Main Body ECU (E6, E7, E8) và đồng hồ hiển thị (F1, F2)
Hình 3 15: Sơ đồ mạch điện sử dụng trong mô hình
THIẾT KẾ VÀ THI CÔNG MÔ HÌNH
Ý tưởng thiết kế
Sau thời gian nghiên cứu và yêu cầu của đề tài nhóm đã xây dựng ý tưởng thiết kế mô hình mạng giao tiếp CAN bao gồm các nút chính:
- Nút hộp điều khiển động cơ: Nút hộp điều khiển động cơ gồm hộp điều khiển điện tử ECM và các cảm biến bao gồm cảm biến vị trí trục khuỷu và cảm biến nhiệt độ nước làm mát Nút này sẽ thực hiện việc đưa các tín hiệu nhiệt độ nước làm mát và tốc độ động cơ lên hệ thống giao tiếp
- Nút hộp điều khiển điện thân xe: Nút này gồm có hộp điều khiển điện thân xe BCM và các công tắc cửa, cụm công tắc đèn Nút này sẽ gửi các tín hiệu báo cửa mở và các chế độ đèn lên hệ thống
- Nút đồng hồ hiển thị thông tin có chức năng lấy các tín hiệu được gửi từ trên hệ thống giao tiếp CAN và điều khiển hiển thị các đèn báo và đồng hồ báo
- Nút Arduino bao gồm Arduino Uno R3 và Arduino CAN bus Shield để giao tiếp với hệ thống CAN trên mô hình thông qua máy tính
Như vậy, ý tưởng thiết kế sẽ là thông qua CAN sẽ trao đổi dữ liệu giữa các hộp điều khiển, Arduino và đồng hồ hiển thị Sau đó sẽ cho hiển thị các thông tin thông qua đồng hồ và hiển thị các dữ liệu trên máy tính.
Sơ đồ khối hệ thống
Hình 4 1: Sơ đồ khối hệ thống
Dựa vào ý tưởng thiết kế và mục tiêu hoạt động của mô hình nhóm đã lập sơ đồ khối để làm nền tảng cho việc thiết kế và thi công mô hình Các hộp ECU sẽ nhận các tín hiệu từ các cảm biến và công tắc gửi lên đồng hồ hiển thị thông tin để hiển thị các đèn báo và đồng hồ báo Arduino sẽ truyền hoặc nhận thông tin với hệ thống.
Thiết kế mô hình
Sau khi thực hiện việc lên ý tưởng và đã có được hướng đi sơ bộ về việc thực hiện mô hình, nhóm đã tiến hành phát thảo bố trí các thành phần của mô hình dựa trên ý tưởng và yêu cầu hệ thống trên phần mềm AutoCAD để hoàn thiện cấu trúc và bố trí các thành phần của mô hình trên thực tế
Hình 4 2: Bản vẽ bố trí mô hình mô hình
Thiết kế khung đỡ mô hình
Để đỡ khung mô hình và các thành phần của mô hình nhóm thực hiện tính toán khung đỡ cho mô hình
Hình 4 3: Bản vẽ khung đỡ mô hình
Thi công mô hình
Sau khi đã hoàn thành các bước thiết kế, nhóm đã tiến hành thi công mô hình
Dựa trên bản vẽ mô hình, nhóm đã sử dụng Mica 5mm để làm mặt trước mô hình với công nghệ cắt khắc laser và phun sơn để khắc các chữ trên bảng kích thước 80x60cm
Với khung để đỡ tấm tấm Mica cùng các thành phần mô hình, nhóm sử dụng nhôm định hình 20x20 cm
Hình 4 5: Khung nhôm đỡ mô hình
4.5.2 Nút hộp điều khiển động cơ ECM
Nút hộp điều khiển động cơ truyền các dữ liệu từ các cảm biến nhiệt độ nước làm mát và cảm biến trục khuỷu gồm có hộp điều khiển động cơ ECM, biến trở để giả lập tín hiệu nhiệt độ nước làm mát và cảm biến trục khuỷu cùng với cơ cấu tạo tín hiệu cho cảm biến
Hình 4 6: Nút hộp điều khiển động cơ
Hộp điều khiển động cơ sẽ lấy các tín hiệu từ cảm biến vị trí trục khuỷu và cảm biến nhiệt độ nước làm mát động cơ và gửi tín hiệu lên mạng giao tiếp CAN thông qua chân CANH và CANL
Hình 4 7: ECM Bảng 4 1: Các chân của sử dụng hộp ECM
NE+ Chân NE+ cảm biến vị trí trục khuỷu NE- Chân NE- cảm biến vị trí trục khuỷu THW Chân tín hiệu của cảm biến nhiệt độ nước làm mát ETHW Chân âm của cảm biến nhiệt độ nước làm mát
CANH Chân CAN High của hộp ECM
CANL Chân CAN Low của hộp ECM
Cảm biến nhiệt độ nước làm mát được thay thế bằng biến trở để có thể thực hiện điều chỉnh tín hiệu trong quá trình hoạt động
Hình 4 8: Biến trở giả lập tín hiệu cảm biến nhiệt độ nước làm mát
Cảm biến vị trí trục khuỷu trên Toyota Camry 2007 là loại cảm biến điện từ có 2 dây Thực hiện nối 1 chân vào NE+ và 1 chân vào NE-
Cơ cấu tạo tín hiệu cho cảm biến trục khuỷu bao gồm:
- Đĩa tạo tín hiệu được gia công dựa trên đĩa tạo tín hiệu thực tế trên xe bao gồm có 32 răng bình thường và 1 răng khuyết
Hình 4 9: Đĩa tạo tín hiệu trục khuỷu
- Để dẫn động đĩa tạo tín hiệu quay, nhóm đã sử dụng động cơ DC RS 775 có tốc độ cực đại khoảng 4000 vòng/phút
Hình 4 10: Động cơ dẫn động quay đĩa tín hiệu
- Thành phần cuối cùng của cơ cấu là Dimmer để điều chỉnh tốc độ quay của động cơ DC để tín hiệu trở nên trực quan hơn
- Điện áp hoạt động: DC12V-DC40V
- PWM chu kỳ điều chỉnh: 10% -100%
4.5.3 Nút hộp điều khiển điện thân xe BCM
Nút hộp điều khiển điện thân xe truyền dữ liệu từ các công tắc ON/OFF giả lập tín hiệu công tắc cửa và cụm công tắc điều khiển đèn chiếu sáng
Hình 4 11: Dimmer điều chỉnh tốc độ
Hình 4 12: Nút hộp điều khiển điện thân xe
Hộp điều khiển BCM được tích hợp trong hộp cầu chì sẽ lấy các tín hiệu cửa và tín hiệu điều khiển đèn qua công tắc đèn và công tắc ON/OFF
Hình 4 13: Hộp cầu chì và BCM
Bảng 4 2: Các chân sử dụng của hộp BCM
DCTY Chân công tắc cửa phía người lái
PCTY Chân công tắc cửa phía hành khách cạnh người lái
RCTY Chân công tắc cửa phía sau bên phải
LCTY Chân công tắc cửa phía sau bên trái
HCTY Chân công tắc cửa khoang động cơ
LCTY Chân công tắc cửa khoang hành lý
PKB Chân phanh đổ xe
HF Chân điều khiển chế độ Flash
HU Chân điều khiển chế độ pha
Head Chân điều khiển chế độ đèn đầu
Tail Chân điều khiển chế độ đèn đuôi
A Chân điều khiển chế độ đèn tự động đèn tự động
FFOG Chân đèn sương mù
CANH Chân CAN High của hộp BCM
CANL Chân CAN Low của hộp BCM
Cụm các công tắc cửa bao gồm công tắc cửa của 4 phía, công tắc của khoang động cơ và khoang hành lý được thay bằng các công tắc ON/OFF với nút phía trên từ hộp BCM xuống và nút phía dưới được nối mass
Hình 4 14: Các công tắc giả lập tín hiệu cửa
Cụm công tắc điều khiển hệ thống đèn được dùng để gửi các tín hiệu đèn đầu, pha, cốt Còn dữ liệu đèn xi nhan được truyền trực tiếp lên đồng hồ mà không thông qua mạng giao tiếp nên sẽ không sử dụng các chế độ điều chỉnh đèn xi nhan
Hình 4 15: Cụm công tắc điều khiển đèn chiếu sáng
Công tắc gồm 3 cụm điều khiển gồm điều khiển đèn đầu, đèn đuôi, điều khiển chế độ pha, cốt và điều khiển đèn sương mù
4.5.4 Nút Arduino Uno và CAN bus Shield
Nút Arduino gồm có Arduino Uno R3 và Arduino CAN bus Shield để thực hiện giao tiếp giữa máy tính và hệ thống trên mô hình thông qua hai dây CANH và CANL Để thực hiện việc giao tiếp với mạng giao tiếp CAN bằng Arduino, cần tải và sử dụng thư viện SPI và mcp_can Trong đó Arduino Uno sẽ đóng vai trò là một CAN controller và Arduino CAN bus Shield sẽ đống vai trò là một CAN transceiver chuyển tín từ số thành tín hiệu điện áp và ngược lại
Hình 4 16: Nút Arduino Uno và CAN bus Shield
4.5.5 Nút đồng hồ hiển thị thông tin
Nút đồng hồ hiển thị thông tin sử dụng đồng hồ taplo trên xe Toyota Camry 2007
Vì mô hình thực hiện việc giao tiếp bằng CAN nên ngoài các dây cấp nguồn thì chỉ sử dụng 2 dây CANH và CANL để giao tiếp
Hình 4 17: Nút đồng hồ hiển thị
Giắc chẩn đoán để đọc thông tin trên CAN thông qua CANH và CANL bằng máy chẩn đoán
4.5.7 Các công tắc đánh PAN
Các công tắc đánh PAN dùng để tạo ra các lỗi trên đường truyền CAN
Hình 4 19: Các công tắc đánh PAN tạo lỗi Bảng 4 3: Các Pan lỗi của mô hình
PAN 1 Ngắt kết nối giữa hộp BCM và đường truyền
PAN 2 Ngắt kết nối giữa hộp ECM và đường truyền
PAN 3 Ngắt kết nối giữa đồng hồ hiển thị và đường truyền
Hình 4 20: Sơ đồ đánh PAN trên mô hình
Giao tiếp với mô hình bằng Arduino
Để thực hiện giao tiếp với hệ thống CAN bằng máy tính thông qua Arduino cần có t arduino Uno và CAN bus shield cùng với các thư viện SPI, MCP_CAN
Thư viện SPI (Serial Peripheral Interface): là thư viện cho phép giao tiếp với một hoặc nhiều thiết bị SPI với Arduinolà thiết bị điều khiển Thư viện này có sẵn trong phần mêm Arduino IDE nên không cần tải về
Thư viện MCP_CAN: là thư viện hỗ trợ cho các Arduino hoặc module có tích hợp chip MCP2515 để giao tiếp với đường truyền CAN Để tải thư viện có thể tìm trên google hoặc tham khảo ở mục phụ lục Sau khi tải thư viện về copy thư mục đã tải về vào thư mục chứa sketch của chương trình giao tiếp với hệ thống CAN
Hình 4 21: Flow chart của Receive code
Khối Chức năng nhiệm vụ Đây là khối bắt đầu của chương trình
Khối này khởi tạo cấu hình và kết nối với MCP2515Nếu khởi tạo thành công, khối sẽ in ra thông báo "MCP2515 Initialized Successfully!" Nếu không, khối sẽ in ra thông báo lỗi "Error Initializing MCP2515 "
Cấu hình chân CAN0_INT thành chế độ đầu vào Chân này được sử dụng để xác định khi nào MCP2515 đã nhận được một gói tin dữ liệu, bởi vì nó được kết nối đến một tín hiệu ngắt ngoài (external interrupt)
Một vòng lập vô hạn những code nằm trong khối này sẽ được lặp đi lặp lại
Khối này kiểm tra trạng thái của pin CAN0_INT Nếu pin này ở mức thấp, tức là MCP2515 đã nhận được một gói tin dữ liệu, Khối sẽ đọc dữ liệu từ MCP2515 và lưu ID đọc được vào biến rxId và lưu độ dài của dữ liệu (DLC) lưu vào biến len
Kiểm tra xem data frame thuộc loại khung chuẩn hay là khung mở rộng Đối với khung chuẩn có 11 bit ID còn khung mở rộng có 11 bit ID và 18 bit ID mở rộng
Tạo một chuỗi có hai thông số rxId và len và gán chuỗi đó cho biến msgString
In chuỗi msgString ra màn hình có thể dùng hercules terminal để xem hoặc xem bằng serial monitor của arduino
Kiểm tra tin nhắn có phải khung dữ liệu hay khung yêu cầu dữ liệu
Vòng lập for dùng để duyệt qua những phần tử của mảng rxBuf đang lưu trữ dữ liệu
Gán giá trị cuả các phần tử trong mảng rxBuf cho msgString
Thực hiện gửi và nhận dữ liệu từ hệ thống
B1: Tạo sketch mới File->New Sketch
B2: Import các thư viện SPI và MCP_CAN
B3: Khai báo các dữ liệu và thiết lập các chân tín hiệu
Hình 4 22: Thiết lập chân tín hiệu và khai báo dữ liệu
B4: Thực hiển khởi tạo hệ thống giao tiếp của Arduino
In chuỗi msgString ra màn hình có thể dùng hercules terminal để xem hoặc xem bằng serial monitor của arduino
Hình 4 23: Khởi tạo hệ thống giao tiếp
B5: Thực hiện đọc dữ liệu trên CAN bằng hàm readMsgBuf() của thư viện MCP_CAN
Với hàm readMsgBuf() sẽ đọc về 3 dữ liệu là ID, DLC và dữ liệu sau đó thực hiện phân tích và in ra dữ liệu
Tương tự việc nhận các tín hiệu từ hệ thống thực hiện việc gửi các tín hiệu lên thông qua hàm sendMsgBuf() trong thư viện MCP_CAN Ví dụ
Hình 4 25: Code gửi tín hiệu nhiệt độ nước làm mát lên mô hình
Với hàm sendMsgBuf() có 4 tham số truyền vào là ID, RTR, DLC và dữ liệu Như hình bên trên ID của tín hiệu nhiệt độ nước làm mát là 0x3B4, RTR bằng 0 chỉ không phải khung yêu cầu dữ liệu, DLC bằng 8 chỉ dữ liệu có độ dài 8 byte, và cuối cùng là 8 byte dữ liệu
Hình 4 24: Code đọc dữ liệu trên CAN
Mô hình hoàn thiện
Hình 4 26: Mô hình hoàn thiện Bảng 4 4: Các thành phần trên mô hình
1 Đồng hồ hiển thị thông tin
4 Các công tắc báo cửa mở
5 Cụm công tắc điều khiển đèn
7 Biến trở giả lập tín hiệu nhiệt độ nước làm mát
8 Đĩa tạo tín hiệu vị trí trục khuỷu
9 Cảm biến vị trí trục khuỷu
11 Dimmer điều chỉnh tốc độ đĩa tạo tín hiệu vị trí trục khuỷu
Thử nghiệm và đánh giá mô hình
4.8.1 Thử nghiệm hoạt động của mô hình
Sau khi thi công và hoàn thiện mô hình, nhóm đã chạy thử nghiệm hoạt động của mô hình và cho ra các kết quả sau:
Gửi tín hiệu từ hộp ECM: Thực hiện gửi các tín hiệu từ cảm biến lên đồng hồ hiển thị thông tin để điều khiển các đồng hồ báo
Hình 4 27: Đồng hồ báo tốc độ động cơ khi tăng tốc độ động cơ
Khi điều chỉnh tăng tốc độ động cơ DC bằng Dimmer thì tín hiệu từ cảm biến vị trí trục khuỷu sẽ gửi tín hiệu về hộp điều khiển động cơ ECM, hộp ECM sẽ gửi tín hiệu lên đồng hồ hiển thị thông qua CAN Đồng hồ hiển thị nhận tín hiệu và điều khiển đồng hồ tốc độ động cơ
Hình 4 28: Đồng hồ nhiệt độ nước làm mát trước và sau khi điều chỉnh
Khi điều chỉnh biến trở giả lập tín hiệu nhiệt độ nước làm mát thì tín hiệu sẽ được gửi về ECM, ECM truyền dữ liệu lên đồng hồ hiển thị thông qua CAN và đồng hồ sẽ nhận tín hiệu và điều khiển đồng hồ báo nhiệt độ nước làm mát
Gửi tín hiệu từ hộp BCM: Thực hiện gửi các tín hiệu lên đồng hồ hiển thị thông tin thông qua các công tắc
Hình 4 29: Đèn báo cửa đang mở
Khi bật các công tắc cửa thì tín hiệu các chân tín hiệu mở cửa của BCM được nối mass BCM sẽ phát hiện ra cửa đang mở và gửi về đồng hồ hiển thị thông qua CAN Đồng hồ hiển thị sẽ điều khiển đèn báo cửa đang mở
Hình 4 30: Đèn báo chế độ đèn đầu
Hình 4 31: Đèn báo chế độ đèn Pha
Tương tự, khi chỉnh các chế độ đèn thì các chân tín hiệu điều khiển đèn của hộp BCM được nối mass Lúc này, BCM sẽ gửi các tín hiệu lên đồng hồ điều khiển các đèn báo đèn đầu và báo chế độ pha thông qua CAN
4.8.2 Thử nghiệm giao tiếp với hệ thống qua Arduino
Hình 4 32: Kết quả đọc dữ liệu từ hệ thống
Hình 4 33: Kết quả gửi dữ liệu lên hệ thống
Sau quá trình chạy thử nghiệm mô hình, và dựa vào kết quả đạt được cho thấy nhóm đã thực hiện được mô hình hệ thống truyền nhận dữ liệu sử dụng mạng CAN trên Toyota Camry 2007 Đã mô tả được quá trình truyền nhận dữ liệu giữa các hộp điều khiển ECM, BCM, đồng hồ hiển thị trên xe
Thực hiện truyền được các dữ liệu từ các cảm biến, công tắc lên đồng hồ hiển thị thông tin thông qua mạng giao tiếp CAN
Có thể thực hiện các PAN lỗi ngắt kết nối các hộp điều khiển với mạng CAN và thực hiện kiểm tra nhận biết các hư hỏng của hệ thống
Thực hiện được giao tiếp giữa Arduino và hệ thống mạng giao tiếp trên mô hình
Sử dụng các cảm biến, công tắc không đúng với xe nên tín hiệu đôi lúc không ổn định
Cơ cấu tạo tín hiệu tốc độ động cơ sử dụng động cơ DC có tốc độ không cao
Mô hình chỉ là một phần nhỏ trong hệ thống trên ô tô nên chưa phản ánh được tổng thể về hệ thống Chưa có nhiều PAN lỗi để giảng dạy, học tập
Tính thẩm mỹ của mô hình chưa cao
Giao tiếp bằng Arduino chưa có giao diện nên việc giao tiếp mất thời gian.
Chẩn đoán lỗi hệ thống giao tiếp CAN trên Toyota Camry 2007
4.9.1 Quy trình kiểm tra và xử lý lỗi
Quy trình kiểm tra và xử lý lỗi của hệ thống giao tiếp CAN trên Toyota Camry 2007 được thực hiện theo quy trình gồm các sau:
B1: Kiểm tra các DTC, nếu các lỗi không phải của hệ thống CAN thì xem phần chẩn đoán cho hệ thống mà DTC được đặt
B2: Kiểm tra các ECU được lắp đặt và giao tiếp bằng hệ thống CAN Trên mô hình bao gồm có sử dụng các hộp ECM, BCM, đồng hồ hiển thị thông tin Kiểm tra xem có hộp nào không hiển thị trên máy chẩn đoán không
B3: Kiểm tra đường truyền Bus Có thể kiểm tra bằng cách dùng đồng hồ đa năng để kiểm tra điện trở đầu cuối của hệ thống hoặc dùng máy đo xung để kiểm tra tín hiệu xung trên CAN
B4: Kiểm tra bằng máy chẩn đoán Lựa chọn chế độ “Communication Bus Check” hoặc
“CAN bus Check” tùy vào máy chẩn đoán để kiểm tra các lỗi xảy ra trên đường truyền
B5: Xác nhận các lỗi liên quan đến hệ thống giao tiếp CAN
B6: Kiểm tra các mạch điện liên quan đến lỗi
B7: Xác định nguyên nhân gây ra lỗi
B8: Thực hiện việc thay thế, sửa chữa
B9: Kiểm tra sau khi thay thế sửa chữa và hoàn thành việc kiểm tra, chẩn đoán
Một số lỗi có thể gặp trong quá trình kiểm tra, chẩn đoán trên hệ thống CAN:
- Đường truyền chính của CAN bus bị hở mạch (Open in CAN Main Bus Wire)
- Đường truyền CAN bị ngắn mạch (Short in CAN bus Wires)
- Đường truyền CAN bị ngắn mạch vào dương (Short to B+ in CAN bus Wires)
- Đường truyền CAN bị ngắn mạch vào mass (Short to GND in CAN bus Wires)
- Đường truyền CAN ở mạch nhánh bị hở mạch một dây (CANH hoặc CANL) (Open in One Side of CAN Branch Wire)
4.9.2 Kiểm tra đường truyền CAN
Sau khi xác định được khu vực bị mất kết nối với hệ thống giao tiếp CAN, tiếp theo thực hiện kiểm tra đường truyền CAN
4.9.2.1 Đo điện trở trên đường truyền CAN
Có thể thực hiện việc đo điện trở của hệ thống bằng đồng hồ đa năng thông qua giắc chẩn đoán DLC3 hoặc đo trực tiếp tại vị trí của hộp bị mất kết nối để xác định có bị hở mạch hay không Ví dụ:
Hình 4 34: Sơ đồ mạng CAN của mô hình
Nếu mạch hoàn toàn bình thường thì giá trị đo điện trở tại vị trí 1, 2, 3 và tại chân CANH (6) và CANL (14) của giắc chẩn đoán khoản 60 Ohm Do 2 điện trở 120 Ohm ở ECM và đồng hồ hiển thị được mắc song song
Hình 4 35: Sơ đồ chân giắc chẩn đoán
Nếu mạch hở ở vị trí A thì điện trở đo tại vị trí 2, 3 và chân CANH và CANL của giắc chẩn đoán là khoảng 60 Ohm, còn tại vị trí 1 là điện trở giữa 2 dây CAN của hộp BCM và khác 60 Ohm
Nếu mạch hở tại vị trí B thì điện trở đo tại vị trí 1, 3 và chân CANH và CANL của giắc chẩn đoán là điện trở của ECM khoảng 120 Ohm và vị trí 2 là điện trở của hộp đồng hồ hiển thị cũng khoảng 120 Ohm
Tương tự, hở mạch tại vị trí C thì giá trị đo tại vị trí 1, 2 và giắc chẩn đoán là điện trở của hộp đồng hồ khoảng 120 Ohm và tại vị trí 3 là điện trở của hộp ECM khoảng 120 Ohm
Ngoài ra có thể sử dụng phương pháp đo điện trở để kiểm tra ngắn mạch của hệ thống bằng cách đo các chân tại giắc chẩn đoán:
Bảng 4 5: Bảng chẩn đoán trên đường truyền CAN thông qua giắc chẩn đoán
Vị trí đo Giá trị đo được Chẩn đoán
CANH - CANL 60 Ohm Bình thường
70 Ohm hoặc hơn Hở mạch trên đường truyền CAN Nhỏ hơn 54 Ohm Ngắn mạch ở các mạch nhánh CANH – BAT
6K Ohm hoặc hơn Bình thường
Khác Ngắn mạch đường truyền với dương CANH - CG
200 Ohm hoặc hơn Bình thường
Khác Ngắn mạch đường truyền với mass Chú ý: Khi thực hiện đo điện trở cần để công tắc máy ở chế độ OFF hoặc ngắt kết nối với cọc bình
4.9.2.2 Kiểm tra tín hiệu xung trên đường truyền CAN
Ngoài cách đo điện trở trên hệ thống giao tiếp CAN còn có thể sử dụng máy đo xung để kiểm tra hệ thống trong trường hợp có máy Việc sử dụng máy đo xung giúp việc cho việc kiểm tra trên hệ thống chính xác hơn so với việc đo điện trở
Hình 4 36: Xung đo được ở điều kiện hoạt động bình thường
Khi hoạt động bình thường thì 2 dây CANH và CANL sẽ có dạng sóng như hai đường sóng phía trên có các trạng thái trội, lặn và có giá trị chênh lệch điện áp giữa 2 dây ở trạng thái trội vào khoảng 2 – 2.5 V
Khi các điện trở đầu cuối bị hỏng hoặc ngắt kết nối thì gây ra các tín hiệu nhiễu trên hai dây CANH và CANL Và tín hiệu chênh lệch điện áp cũng lệch khỏi đường thẳng ở trạng thái lặn
Hình 4 37: Xung đo được khi các điện trở đầu cuối bị hỏng hoặc ngắt kết nối
Khi dây CANL bị ngắn mạch tới mass thì giá trị điện áp trong dây CANL là 0 V, lúc này sự chệnh lệch điện áp trên mạng CAN cũng là điện áp của dây CANH, hệ thống vẫn giao tiếp ở chế một dây
Hình 4 38: Xung đo được khi dây CANL bị nối Mass
Khi dây CANH bị ngắn mạch tới mass thì giá trị điện áp trong dây CANH là 0 V, Lúc này sự chênh lệch điện áp trong trên đường truyền là một số âm, nên hệ thống sẽ ngưng việc truyền nhận thông tin
Hình 4 39: Xung đo được khi dây CANH bị nối Mass
Khi hai dây CANH và CANL bị ngắn mạch với nhau, lúc này giá trị trên hai dây không có sự khác nhau vì vậy sự chênh lệch điện áp trên hệ thống là 0 V dẫn đến hệ thống CAN ngưng hoạt động
Hình 4 40: Xung đo được khi dây CANH và CANL ngắn mạch với nhau
Khi dây CANH hoặc CANL bị ngắn mạch tới Dương thì có thể gây ra các hư hỏng các hệ thống điện hoặc các hộp điều khiển.
CÁC BÀI THỰC HÀNH TRÊN MÔ HÌNH
Bài thực hành kiểm tra điện trở đầu cuối trên mạng CAN
- Kiểm tra giá trị điện trở trên mạng CAN lúc bình thường và khi bị hư hỏng
- Kiểm tra vị trí hư hỏng trên mô hình
- Khi đo giá trị điện trở trên mạng CAN cần tháo cọc bình accu hoặc tắt công tắt máy
B1: Điều chỉnh đồng hồ VOM sang thang đo điện trở 200 Ohm
B2: Tiến hành đo điện trở trên mạng CAN thông qua các chân CANH và CANL
Vì hai điện trở có giá trị đầu cuối nên ở mạng CAN bình thường ta đo được giá trị điện triện trở 60 – 65 Ohm do hai điện trở mắc song song ta tính giá trị tổng trở theo công thức sau:
Rtotal = (R1 * R2) / (R1 + R2) = (120 * 120) / (120 + 120) = 60 Ohm kết quả đo được ta thấy mạng CAN đang ở tình trạng kín và không bị hở mạch
Các vị trí đo điện trở trên mô hình
Hình 5 2: Vị trí đo kiểm điện trở Đo kết quả và điền và so sánh kết quả
Bảng 5 1: Phiếu kết quả đo điện trở trên CAN
Vị trí đo Điều kiện
Bảng 5 2: Kết quả đo tham khảo
Vị trí đo Điều kiện
Bình thường 60 - 65 Ohm 60 - 65 Ohm 60 - 65 Ohm 60 - 65 Ohm 60 - 65 Ohm Kích hoạt PAN 1 60 - 65 Ohm ∞ 60 - 65 Ohm 60 - 65 Ohm 60 - 65 Ohm Kích hoạt PAN 2 120 -130 Ohm 120 -130 Ohm 120 -130 Ohm 120 -130 Ohm 120 -130 Ohm
Kích hoạt PAN 3 120 -130 Ohm 120 -130 Ohm 120 -130 Ohm 120 -130 Ohm 120 -130 Ohm
Giải thích kết quả khi đánh PAN:
- Khi đánh PAN 1, dựa vào sơ đồ đánh PAN thì điểm hở mạch nằm ở mạch nhánh do vậy điện trở đo được ở vị trí 2 (vị trí 2 là chân CANH, CANL của BCM) là vô cùng do đã bị hở mạch với mạch chính Còn tại các điểm còn lại giá trị vẫn bằng tổng trở của hệ thống
Hình 5 3: : Giá trị đo tổng trở trên mạch chính khi ngắt PAN 1
- Khi đánh PAN 2, thì điểm hở mạch tại mạch chính và gần đồng hồ hiển thị, do vậy điện trở đo được ở vị trí 1 là điện trở của đồng hồ, các vị trí còn lại là điện trở của ECM
Hình 5 4: Giá trị đo điện trở trên mạch chính khi ngắt PAN 2
- Khi đánh PAN 3, thì điểm hở mạch tại mạch chính và gần ECM, do vậy điện trở đo được ở vị trí 3 là điện trở của ECM, các vị trí còn lại là điện trở của đồng hồ
Hình 5 5: Giá trị đo điện trở trên mạch chính khi ngắt PAN 3
Bài thực hành kiểm tra xung trên mạng CAN
- Kiểm tra xung tín hiệu trên mạng CAN và kiểm tra độ lệch pha giữa hai tín hiệu trên hai dây CANH và CANL
- Kiểm tra dạng tín hiệu sóng của các khung dữ liệu trên CAN
- Kiểm tra hư hỏng trên CAN
- Máy tính và phần mềm Hantek1008
- Kết nối đúng các chân của máy đo xung
B2: Kết nối các chân đo tín hiệu vào các kênh của máy đo xung và kết nốt máy đo xung với máy tính bằng dây cáp kết nối Sử dụng 2 kênh để đo cùng lúc 2 tín hiệu CANH và CANL
B3: Kết nối các chân đo của dây đo tín hiệu vào mô hình Các chân đỏ nối với chân CANH
Hình 5 6: Kết nối với máy đo xung hoặc CANL, chân đen nối mass
Hình 5 7: Kết nối các chân đo tín hiệu
B4: Mở phần mềm Hantek 1008C chọn chế độ Oscilloscope bắt đầu đo xung
Tiến hành đo và so sánh với các kết quả:
Hình 5 9: Xung đo được ở điều kiện bình thường
Hình 5 10: Xung đo được khi đánh PAN 1
Hình 5 11: Xung đo được khi đánh PAN 2
Hình 5 12: Xung đo được khi đánh PAN3
Nguyên nhân: Khi thực hiện đánh các PAN lỗi, các hộp sẽ bị hở 1 dây CANH hoặc CANL, vì vậy sẽ gây ra sự nhiễu cho hệ thống, vì vậy các dạng xung sẽ bị thay đổi đi so với tình trạng bình thường Hệ thống vẫn sẽ hoạt động, tín hiệu bị nhiễu nhưng vẫn có thể nhìn được các khung tin nhắn
Thực hiện nối các dây CANH, CANL với mass và CANH nối với CANL
Hình 5 13: Xung khi CANL nối mass
Hình 5 14: Xung khi CANH nối mass
Hình 5 15: Xung khi CANH nối với CANL
Sau khi thực hiện đo có thể so sánh với dạng tín hiệu xung ở phần chẩn đoán của hệ thống Các tín hiệu xung được đo trên đường truyền chính của mô hình.
Bài thực hành dùng máy chẩn đoán để đọc dữ liệu trên CAN và chẩn đoán lỗi
- Đọc những dữ liệu được truyền trên mạng CAN
- Đọc mã lỗi xuất hiện trên hệ thống
- Kiểm tra xem có hộp nào bị mất kết nối không
- Máy tính và phần mềm Techstream
B2: Cắm giắc chẩn đoán của cáp chẩn đoán vào giắc chẩn đoán trên mô hình, kết nối đầu còn lại vào máy tính
B3: Vào phần mềm Techstream->Connect to Vehicle->chọn model xe->Next
Hình 5 17: Giao điện khi bắt đầu
Các hộp được đánh dấu hoa thị biểu thị cho việc các hộp điều khiển này không được trang bị trên mô hình
B4: Đọc các dữ liệu của ECM, BCM và đồng hồ hiển thị thông tin (Combination meter) Thực hiện điều chỉnh các cảm biến, công tắc và quan sát sự thay đổi trong Data List và so sánh các giá đó với các giá trị hiển thị trên đồng hồ
Hình 5 18: Trạng thái của hệ thống để kiểm tra dữ liệu
Trạng thái đó dữ liệu là trạng thái có tốc độ động cơ khoảng 1900 vòng/phút, nhiệt độ nước làm mát khoảng 85 độ C và tất cả các công tắc đều bật ON
Hình 5 19: Dữ liệu đọc từ ECM
Hình 5 20: Dữ liệu đọc từ BCM
Hình 5 21: Dữ liệu đọc từ đồng hồ
B5: Tiến hành kiểm tra hệ thống giao tiếp CAN bằng CAN bus Check
Hình 5 22: Hệ thống ở trạng thái bình thường Ở trạng thái thường thì hệ thống trên mô hình gồm có ba hộp giao tiếp với nhau qua mạng giao tiếp CAN
Hình 5 23: Hệ thống khi đánh PAN 1
Hình 5 24: Hệ thống khi đánh PAN 2
Hình 5 25: Hệ thống khi đánh PAN 3
Khi đánh các PAN lỗi, các hộp điều khiển bị ngắt kết nối nên không còn giao tiếp với mạng giao tiếp vì vầy được chuyển sang màu đỏ
B6: Tiến hành kiểm tra các mã lỗi của hệ thống.
Bài thực hành đo kiểm các cảm biến công tắc trên hệ thống
- Kiểm tra hoạt động của các chi tiết tạo tín hiệu trên mô hình
- Xác định các hư hỏng của các cảm biến, công tắc
- Nối đúng cực nguồn Accu
- Chọn thang đo phù hợp
Vì các cảm biến nhiệt độ nước làm mát và công tắc cửa không chính thông nên chỉ kiểm tra các cảm biến trục khuỷu và cụm công tắc đèn
5.4.4.1 Kiểm tra cảm biến trục khuỷu
Nguyên lý hoạt động cảm biến trục khuỷu: Khi trục khuỷu quay nó sẽ tạo ra một tín hiệu xung gửi về hộp ECU, ECU sẽ sử dụng thuật toán logic được lập trình sẵn trong hộp, nó đếm số xung đó trên một đơn vị thời gian và tính toán được tốc độ của trục khuỷu
Tiến hành kiểm tra điện trở của cảm biến bằng cách đo điện trở hoặc điện áp Đo điện trở của cảm biến: Sử dụng đồng hồ VOM thang đo điện trở để đo điện trở giữa
2 chân Ne+ và Ne- , giá trị điện trở phù hợp là 1150 – 1450 Ohm Chú ý ngắt nguồn hoặc tắt công tắc máy
Hình 5 27: Giá trị điện trở của cảm biến trục khuỷu Đo điện áp của cảm biến: Sử dụng thang đo điện áp xoay chiều và đo điện áp giữa 2 chân Ne+ và Ne- Quan sát sự thay đổi khi tăng tốc độ quay của bánh răng tạo tín hiệu Chú ý cách này chỉ để tham khảo
Hình 5 28: Giá trị điện áp xoay chiều thay đổi khi tăng tốc độ
Khi tăng tốc độ quay của đĩa tạo tín hiệu thì điện áp xoay chiều đo được tăng lên nghĩa là cảm biến vẫn hoạt động
5.4.4.2 Kiểm tra cụm công tắc đèn
Có thể sử dụng phương pháp đo thông mạch hoặc kiểm tra điện áp để đo kiểm cụm công tắc đèn Trong bài thực hành này sẽ thực hiện phương pháp đo điện áp
Sử dụng đồng hồ VOM điều chỉnh chế độ đo điện áp DC thang đo 20V Đo điện áp giữa các chân công tắc và chân mass Chân mass là các chân dưới của công tắc cửa
Tiến hành đo kiểm các chân của công tắc theo sơ đồ sau và kiểm tra với kết quả
Hình 5 30: Đo kiểm chân công tắc cụm công tắc đèn Hình 5 29: Sơ đồ chân cụm công tắc điều khiển đèn
Bảng 5 3: Kết quả đo kiểm các chân của công tắc
HF- Mass HU-Mass Head-Mass Tail-Mass