Từ đó, tạo ra một app Android dự trên ứng dụng web nguồn mở MIT INVENTOR có thể hiển thị các dữ liệu của xe máy và điều khiển một số chức năng của xe.. Ứng dụng thu thập dữ liệu từ xe má
TỔNG QUAN VỀ ĐỀ TÀI
Lý do chọn đề tài
Việt Nam đang trên đà trở thành nước phát triển, từng bước thực hiện quá trình hiện đại hóa – công nghiệp hóa đất nước với mong muốn có thể hội nhập với thế giới để trở thành quốc gia có nền công nghiệp 4.0 Đất nước phát triển sẽ thúc đẩy các ngành khác phát triển theo, đặc biệt là ngành giao thông vận tải, nhu cầu vận chuyển hàng hóa, xuất nhập khẩu ngày càng tăng Bên cạnh đó, nhu cầu sử dụng phương tiện giao thông của con người ngày càng nhiều, có thể thấy rõ trong khoảng 5 năm trở lại đây, lượng xe máy di chuyển trên đường ngày càng nhiều
Xe máy là một phương tiện đáp ứng được nhu cầu đi lại hằng ngày Vì thế, mà xe máy cũng ngày một được ưa chuộng Các công nghệ được ứng dụng trên xe nhằm khắc phục những hạn chế khi sử dụng, ngoài ra nó còn có tính năng an toàn để đảm bảo tính mạng và hỗ trợ người điều khiển phương tiện Từ đó, các tiêu chuẩn trên xe ngày một cao hơn và nghiêm ngặt hơn để đảm bảo tính an toàn và bảo vệ môi trường
Bên cạnh đó, các linh kiện điện tử cũng như các phần mềm lập trình đang phát triển một cách mạnh mẽ Linh kiện điện tử được ứng dụng rộng rãi trong cuộc sống Nó có mặt trong các hệ thống máy móc, thiết bị điện tử từ nhỏ đến lớn, từ những dụng cụ điện trong gia đình đến các thiết bị điện tử trong các nhà xưởng, xí nghiệp Linh kiện điện tử là thành phần quan trọng tạo nên các mạch điện tử và các thiết bị điện
Ngày nay, các linh kiện điện tử và các phần mềm lập trình hỗ trợ rất nhiều cho lĩnh vực ô tô lẫn xe máy trong việc điều khiển, thu thập các dữ liệu của xe Thế nên, chúng ta còn có thể quan sát tình trạng của xe một cách trực quan, chẩn đoán ra được một số lỗi trên xe và kịp thời sửa chữa
Qua đó có thể thấy, công nghệ thật sự rất hữu ích và cần thiết cho xã hội ngày một hiện đại Vì thế, nhóm em mong muốn có thể học hỏi, trau dồi kiến thức về các linh kiện điện tử, các phần mềm lập trình và có thể xây dựng nên một phần mềm hiển thị các dữ liệu thu thập được từ xe máy một cách trực quan hơn Với mục dích trên, nhóm chúng em chọn đề tài “Thiết kế hệ thống hiển thị mô phỏng hoạt động của xe máy theo dữ liệu thu thập” với sự hướng dẫn của Thầy Ths Nguyễn Trọng Thức.
Mục tiêu đề tài
- Tạo ra một phần mềm, mô hình có thể mô phỏng lại quá trình xe chạy trên đường đúng với thời gian thực tế
- Người dùng có thể xem lại quá trình chạy thực tế của xe để từ đó xử lý hành vi lái xe, tai nạn
Đối tượng và phạm vi nghiên cứu
Xe Vision và các tín hiệu trên xe
Phạm vi nghiên cứu: Đề tài chỉ tập trung thiết kế hệ thống mô phỏng các tín hiệu thu thập được từ các xe phun xăng điện tử đời mới có mạng K-Line (cụ thể là xe Vision) chẳng hạn: Góc nghiêng, góc lên xuống dốc, tốc độ động cơ, tốc độ xe, độ mở bướm ga, nhiệt độ khí nạp, thời gian phun xăng, điện áp ắc quy, nhiệt độ môi trường, tín hiệu đèn phanh và xi nhan.
Tình hình nghiên cứu
1.4.1 Tình hình nghiên cứu trong nước
Khi mà xe máy được sử dụng ngày càng nhiều thì việc thu tập và xử lý dữ liệu của xe máy cũng được các nhà nghiên cứu, kỹ sư lẫn sinh viên của các trường đại học quan tâm nhiều hơn Và đã có một số nghiên cứu trong việc thu thập và xử lý dữ liệu xe máy như:
Thiết kế phần mềm hiển thị thông tin xe máy trên điện thoại thông minh [1] : nhóm tác giả đã thiết kế phần cứng và viết phần mềm thông qua Arduino để nhận và truyền dữ liệu vào xe, sau đó xuất thông tin vào app Android thông qua sóng Bluetooth Điều khiển một số tính năng của xe bằng cách gửi đúng ID mạng K line thông qua sóng Bluetooth Từ đó, tạo ra một app Android dự trên ứng dụng web nguồn mở MIT INVENTOR có thể hiển thị các dữ liệu của xe máy và điều khiển một số chức năng của xe Ứng dụng thu thập dữ liệu từ xe máy thông qua mạng di động (Trường Đại học Công nghệ thông tin, Đại học Quốc gia TP.HCM): Nghiên cứu này tập trung vào việc sử dụng mạng di động để thu thập dữ liệu từ các thiết bị cảm biến trên xe máy Dữ liệu này có thể được sử dụng để giám sát và phân tích hành vi lái xe, cải thiện quản lý giao thông và đưa ra các khuyến nghị về an toàn giao thông
Bên cạnh đó, vẫn còn rất nhiều các bài nghiên cứu về cách thu thập và xử lý các tín hiệu từ xe máy Tuy nhiên, đa số vẫn sử dụng các linh kiện điện tử và phần mềm lập trình để thu thập tín hiệu
1.4.2 Tình hình nghiên cứu ngoài nước
Motorcycle Control Prototyping Using an FPGA-Based Embedded Control
System [2] : Trong nghiên cứu này, các nhà nghiên cứu tập trung vào việc xây dựng một hệ thống kiểm soát nhúng trên FPGA, một loại vi mạch có khả năng được lập trình lại để thực hiện các chức năng logic cụ thể Hệ thống kiểm soát này được áp dụng để điều khiển các khía cạnh quan trọng của xe máy như hệ thống phanh, hệ thống truyền động và hệ thống treo Đây là một cách tiếp cận mới trong việc phát triển và kiểm tra các hệ thống điều khiển xe máy, cho phép tối ưu hóa hiệu suất và an toàn của xe thông qua việc nghiên cứu và thử nghiệm các thuật toán và thông số điều khiển khác nhau trên một nền tảng nhúng linh hoạt
A Data Collection System for Motorcycle Safety Analysis [3] : nghiên cứu này mô tả một hệ thống thu thập dữ liệu để phân tích an toàn giao thông của xe máy Nó giới thiệu phương pháp thu thập dữ liệu bằng cách sử dụng các thiết bị cảm biến trên xe máy, bao gồm GPS, gia tốc kế và ghi nhớ hành trình Tài liệu này cung cấp một khung thức cho việc thu thập và xử lý dữ liệu từ các xe máy để đánh giá rủi ro và nâng cao an toàn giao thông
Trong quá trình tổng quan nghiên cứu trong và ngoài nước, mặc dù đã có nhiều phương pháp thu thập và xử lý các tín hiệu từ xe máy Tuy vậy, các số liệu thu thập được vẫn chưa được biểu diễn một cách trực quan, dễ dàng để phân tích hay các số liệu thu thập được cũng chỉ dừng lại ở mức độ hiển thị; một số nghiên cứu khác thì sử dụng các linh kiện điện tử cũng như hộp điều khiển có giá trị cao Vậy nên, để phù hợp với mức độ nghiên cứu cho sinh viên về phạm vi kiến thức cũng như về chi phí thực hiện thì nhóm em lựa chọn xây dựng một phần mềm hiển thị mô phỏng các số liệu thu thập được; từ đó vẽ ra một số đồ thị và mô hình xe máy để biểu diễn các số liệu một cách trực quan hơn thông qua phần mềm Labview Hơn thế nữa, nhóm còn sử dụng Labview nhúng vào Arduino để lắp ráp mô hình mô phỏng ngoài thực tế.
Phương pháp nghiên cứu
- Phương pháp nghiên cứu lý thuyết: Vận dụng các kiến thức đã học về Arduino, đồng thời sưu tầm, tập hợp các tài liệu liên quan, phân tích, nghiên cứu để xây dựng cơ
4 sở lý thuyết, lấy đó làm nền tảng cho việc thiết kế phần cứng cũng như phần mềm để xây dựng mô hình mô phỏng
- Phương pháp mô hình hóa: Sử dụng phần mềm Labview để thiết kế phần mềm hiển thị dữ liệu, nhúng Labview vào Arduino để điều khiển mô hình
CƠ SỞ LÝ THUYẾT
Tổng quan về xe máy [4]
2.1.1 Giới thiệu về xe máy
Xe máy (còn gọi là mô tô hay xe hai bánh, xe gắn máy, phiên âm từ tiếng Pháp: Motocyclette) là loại xe có hai bánh theo chiều trước-sau và chuyển động nhờ động cơ gắn trên nó Xe ổn định khi chuyển động nhờ lực hồi chuyển con quay khi chạy Thông thường, người lái xe điều khiển xe bằng tay lái nối liền với trục bánh trước Chiếc Daimler Reitwagen được chế tạo bởi Gottlieb Daimler và Wilhelm Maybach tại Đức vào năm 1885, là chiếc xe máy chạy bằng nhiên liệu xăng dầu đầu tiên Sau đó, vào năm
1894, Hildebrand & Wolfmüller trở thành hãng sản xuất mô tô hàng loạt đầu tiên
Có nhiều loại xe: xe chạy mọi địa hình (off-road), xe chạy trên đường thường (streetbike), xe đa dụng Một vài loại xe có gắn thùng bên cạnh để chở người hoặc hàng và có 3 bánh gọi là xe ba bánh hay xe sidecar Tại Việt Nam, để điều khiển xe máy nói riêng và xe cơ giới nói chung người điều khiển cần phải có giấy phép lái xe, ngoài ra tại Việt Nam, xe máy còn được gọi lóng là ngựa sắt
Trên toàn thế giới, xe mô tô được xem là phương tiện di chuyển phổ biến tương đương với ô tô Năm 2021, khoảng 58,6 triệu chiếc xe mô tô mới được bán trên toàn cầu, ít hơn số lượng 66,7 triệu chiếc ô tô được bán trong cùng thời kỳ
Năm 2022, bốn nhà sản xuất xe mô tô hàng đầu về số lượng và loại xe là Honda, Yamaha, Kawasaki và Suzuki Ở các nước đang phát triển, xe mô tô được coi là phương tiện tiện dụng do giá cả thấp hơn và nhiều khả năng tiết kiệm nhiên liệu hơn Trong tổng số xe mô tô trên thế giới, 58% nằm ở khu vực châu Á-Thái Bình Dương và khu vực Nam và Đông Á, ngoại trừ Nhật Bản nơi ô tô chiếm ưu thế
Theo Bộ Giao thông Hoa Kỳ (US Department of Transportation), số lượng người thiệt mạng trên mỗi dặm đi xe là 37 lần cao hơn đối với xe mô tô so với ô tô
2.1.2 Lịch sử hình thành xe máy
2.1.2.1 Thử nghiệm và sáng chế
Vào năm 1885, hai nhà phát minh người Đức, Gottlieb Daimler và Wilhelm Maybach, đã thiết kế và chế tạo chiếc xe máy đầu tiên sử dụng động cơ đốt trong và sử dụng dầu mỏ Chiếc xe này có tên gọi là "Reitwagen" và nó ra đời tại Bad Cannstatt, Đức Khác với cả xe đạp an toàn và xe đạp "boneshaker" thời đại đó, chiếc xe này không
6 có góc nghiêng trục lái và không có lệch phía trước, do đó nó không sử dụng các nguyên tắc động học của xe đạp và mô tô đã được phát triển từ trước đó tới gần 70 năm Thay vào đó, nó dựa vào hai bánh ngoại vi để giữ thăng bằng khi lái xe
Nhà phát minh đã đặt tên cho sáng chế của họ là "Reitwagen" (tạm dịch là "xe chạy") Nó được thiết kế như một bộ khung thử nghiệm tạm thời cho động cơ mới của họ, thay vì là một mẫu xe thực tế
Thiết kế thương mại đầu tiên cho một chiếc xe đạp tự động là một mẫu thiết kế ba bánh được gọi là Butler Petrol Cycle Nó được sáng tạo bởi Edward Butler tại Anh vào năm 1884 Ông đã trưng bày kế hoạch cho chiếc xe này tại Triển lãm Xe đạp Stanley ở Luân Đôn vào năm 1884 Chiếc xe cuối cùng được xây dựng bởi công ty Merryweather Fire Engine ở Greenwich, Anh vào năm 1888
Chiếc xe Butler Petrol Cycle là một phương tiện ba bánh, với bánh sau được truyền động trực tiếp bởi một động cơ hai xy-lanh nằm ngang có công suất 5/8 hp (0,47kW), dung tích 40cc (2,4 in khối), và khoảng cách giữa hai mặt trống xi-lanh là 2+1/4in×5 in (57mm×127 mm) Động cơ này được trang bị van xoay và bộ chế hòa khí dạng nổi (đây là công nghệ tiên tiến hơn so với Maybach vào thời điểm đó), cùng với hệ thống lái Ackermann, tất cả đều là công nghệ tiên tiến nhất trong thời kỳ đó Khởi động được thực hiện bằng hơi nén Động cơ được làm mát bằng chất lỏng và có bộ tản nhiệt phía trên bánh lái sau Tốc độ được điều chỉnh thông qua cần gạt van ga Xe không có hệ thống phanh; thay vào đó, nó dừng bằng cách nâng và hạ bánh lái sau bằng một cần gạt điều khiển bằng chân, và trọng lượng của xe sau đó được chịu bởi hai bánh xe nhỏ Người lái ngồi ở giữa hai bánh trước Tuy nhiên, dù có tiềm năng, xe không thành công do Butler không tìm được đủ nguồn tài chính để phát triển
Có nhiều chuyên gia đã loại trừ các loại xe hai bánh chạy bằng hơi nước, xe máy điện hoặc diesel khỏi định nghĩa của "xe máy", và công nhận "Reitwagen" của Daimler là chiếc xe máy đầu tiên trên thế giới Sự phát triển nhanh chóng của việc sử dụng xe máy điện trên toàn cầu, việc định nghĩa xe máy chỉ dựa trên những chiếc xe hai bánh chạy bằng động cơ đốt trong đang trở nên ngày càng khó khăn Tuy nhiên, những chiếc xe máy đầu tiên chạy bằng động cơ đốt trong (sử dụng nhiên liệu dầu mỏ), như "Reitwagen" của Đức, cũng được xem là những chiếc xe máy thực tế đầu tiên
Nếu một phương tiện hai bánh với động cơ hơi nước được xem là xe máy, thì có thể coi chiếc Michaux-Perreaux steam velocipede của Pháp là một trong những chiếc xe máy đầu tiên Nó được đăng ký sáng chế vào tháng 12 năm 1868 và được xây dựng cùng thời điểm với chiếc Roper steam velocipede của Mỹ, mà Sylvester H Roper từ Roxbury, Massachusetts đã trình diễn tại các hội chợ và rạp xiếc ở phía đông nước Mỹ từ năm
1867 Sylvester H Roper đã xây dựng khoảng 10 chiếc ôtô và xe máy chạy bằng động cơ hơi nước từ những năm 1860 cho đến khi ông qua đời vào năm 1896
2.1.2.2 Các công ty xe máy đầu tiên trên thế giới
Năm 1894, Hildebrand & Wolfmüller trở thành chiếc mô tô được sản xuất hàng loạt đầu tiên và cũng là chiếc được gọi là mô tô đầu tiên (Motorrad) Công ty Excelsior Motor, ban đầu là một công ty sản xuất xe đạp có trụ sở tại Coventry, Anh, bắt đầu sản xuất mô hình mô tô đầu tiên của họ vào năm 1896
Chiếc mô tô đầu tiên được sản xuất ở Mỹ là Orient-Aster, do Charles Metz xây dựng vào năm 1898 tại nhà máy của ông ở Waltham, Massachusetts
Trong giai đoạn đầu của lịch sử mô tô, nhiều nhà sản xuất xe đạp đã điều chỉnh thiết kế của họ để phù hợp với động cơ đốt trong mới Khi động cơ trở nên mạnh mẽ hơn và thiết kế không còn phụ thuộc vào xe đạp, số lượng nhà sản xuất mô tô tăng lên Nhiều nhà phát minh thế kỷ 19, người đã làm việc trên những chiếc mô tô đầu tiên, thường chuyển sang phát minh khác Ví dụ, Daimler và Roper đều đã tiếp tục phát triển ô tô
Vào cuối thế kỷ 19, những công ty sản xuất hàng loạt lớn đầu tiên đã được thành lập Năm 1898, Triumph Motorcycles ở Anh bắt đầu sản xuất xe máy, và đến năm 1903, hãng đã sản xuất hơn 500 chiếc xe Các công ty Anh khác bao gồm Royal Enfield, Norton, Douglas Motorcycles và Birmingham Small Arms Company đã bắt đầu sản xuất xe máy vào các năm 1899, 1902, 1907 và 1910, tương ứng Indian bắt đầu sản xuất vào năm 1901 và Harley-Davidson được thành lập hai năm sau Đến khi Thế chiến thứ nhất bùng nổ, nhà sản xuất xe máy lớn nhất thế giới là Indian, sản xuất hơn 20.000 xe mỗi năm
2.2.1.3 Xe máy ở những năm thế chiến thứ nhất
Giới thiệu về các cảm biến có trên xe máy (Fi)
2.2.1 Cảm biến vị trí bướm ga (TP) [5]
Cảm biến vị trí bướm ga có nhiệm vụ xác định góc mở bướm ga và chuyển đổi thành tín hiệu điện áp gửi về ECU giúp điều chỉnh lượng phun nhiên liệu theo góc mở của bướm ga
Hình 2.1 Vị trí và cấu tạo cảm biến vị trí bướm ga (TP)
Cảm biến vị trí bướm ga bao gồm 1 biến trở được đặt cùng với trục bướm ga trên họng ga và điểm tiếp xúc dịch chuyển trên biến trở cùng với bướm ga Ngoài ra cảm biến vị trí bướm ga trên xe máy còn có loại sử dụng cảm biến Hall
ECU cấp nguồn điện áp 5V cho cảm biến vị trí bướm ga hoạt động Khi vặn tay ga, trục bướm ga kéo con trượt trượt trên bề mặt biến trở làm thay đổi điện trở và làm cho điện áp tăng dần ở chân điện áp ra Khi nhả tay ga, điện áp gửi về ECU giảm dần Điện áp này được gửi về ECU để xác định góc mở của bướm ga để điều chỉnh lượng xăng phù hợp
Hình 2.2 Sơ đồ mạch điện và đặc tuyến cảm biến vị trí bướm ga
2.2.2 Cảm biến áp suất khí nạp (MAP) [5]
Cảm biến áp suất đường ống nạp phát hiện ra sự thay đổi áp suất chân không bên trong cổ hút và gửi tín hiệu điện áp về ECU để tính toán lượng nhiên liệu cần thiết cho động cơ
Cảm biến áp suất đường ống nạp bao gồm các thành phần sau: Buồng chân không, thiết bị cảm nhận áp suất (màn silicone) sẽ thay đổi điện trở của nó khi có áp suất và một bộ phận khuếch đại sự thay đổi điện áp
Hình 2.3 Vị trí và cấu tạo cảm biến áp suất khí nạp
ECU cấp nguồn điện áp 5V cho cảm biến áp suất đường ống nạp hoạt động Cảm biến áp suất đường ống nạp cảm nhận áp suất đường ống nạp bằng một IC lắp trong cảm biến và phát ra tín hiệu gửi về ECU Màn silicon gắn liền với buồng chân không được duy trì độ chân không chuẩn Một phía của màn silicone tiếp xúc với áp suất đường ống nạp, phía còn lại tiếp xúc với độ chân không trong buồng chân không Áp suất đường ống nạp thay đổi hình dạng của màn silicon thay đổi và giá trị điện trở của nó cũng dao động theo mức độ biến dạng Giá trị điện trở được chuyển hóa thành giá trị điện áp và được gửi đến ECU Điện áp ra vào ECU thấp khi áp suất chân không cổ hút thấp Điện áp cao hơn khi áp suất chân không lớn hơn
Hình 2.4 Sơ đồ mạch điện và đặc tuyến cảm biến áp suất khí nạp
2.2.3 Cảm biến nhiệt độ khí nạp (IAT) [5]
Cảm biến nhiệt độ khí nạp được dùng để đo nhiệt độ khí nạp vào động cơ và gửi tín hiệu về ECU
Cảm biến nhiệt độ khí nạp bao gồm một điện trở nhiệt, điện trở của nó thay đổi theo sự thay đổi của nhiệt độ
Hình 2.5 Vị trí và cấu tạo cảm biến nhiệt độ khí nạp
Cảm biến nhiệt độ khí nạp phát hiện ra sự thay đổi nhiệt độ do sự thay đổi điện trở của điện trở nhiệt ECU cung cấp một dòng điện 5V đến một điện trở có giá trị không đổi đến cảm biến IAT Khi giá trị điện trở trên cảm biến thay đổi thì điện áp ra cũng thay đổi theo Khi nhiệt độ khí nạp càng cao, điện trở cảm biến IAT giảm làm cho điện áp ra giảm Khi nhiệt độ khí nạp thấp, điện trở cảm biến IAT tăng làm cho điện áp ra tăng
Hình 2.6 Sơ đồ mạch điện và đặc tuyến cảm biến nhiệt độ khí nạp
2.2.4 Cảm biến nhiệt độ nước làm mát động cơ (ECT) [6]
Cảm biến nhiệt độ nước làm mát còn được gọi là cảm biến ECT Bộ phận này có nhiệm vụ đo nhiệt độ của hỗn hợp chất làm mát và truyền tín hiệu về bộ điều khiển trung tâm ECU Từ đó, ECU thực hiện điều chỉnh thời gian phun nhiên liệu, bật hoặc tắt quạt két nước làm mát, giúp động cơ hoạt động ở nhiệt độ phù hợp
Hình 2.7 Cảm biến nhiệt độ nước làm mát gồm hình trụ rỗng, ren bên ngoài và nhiệt điện trở hệ số âm bên trong
Cảm biến nhiệt độ làm mát ECT có cấu tạo rất đơn giản với hình dạng trụ rỗng, ren bên ngoài và phía trong là một nhiệt điện trở có hệ số âm (nếu nhiệt độ giảm thì điện trở tăng và ngược lại)
Phần vị trí cảm biến nhiệt độ nước làm mát được đặt ở phía trên của thân máy, gần phần họng nước làm mát của động cơ xe ô tô Trong một số trường hợp khác, cảm biến sẽ được lắp trên nắp máy Theo đó, bộ phận này thường có 2 chân, trong đó một chân là tín hiệu THW và một chân là mass E2
Cảm biến nhiệt độ nước làm mát ô tô ECT được đặt ở bên trong khoang nước động cơ và tiếp xúc trực tiếp với nước Vì cảm biến có hệ số điện trở âm nên khi nhiệt độ của nước làm mát thấp thì điện trở cảm biến sẽ cao hơn và ngược lại Sự thay đổi của điện trở cảm biến này sẽ làm thay đổi điện áp ở phía chân của cảm biến
Lúc này, điện áp thường 5V đi qua điện trở chuẩn (đây là điện trở có giá trị không đổi theo nhiệt độ) rồi đến cảm biến và quay về ECU sau đó về mass Do đó, điện trở chuẩn và nhiệt điện trở ở trong cảm biến tạo nên một cầu phân áp Tiếp đó, điện áp điểm giữa cầu đưa đến bộ chuyển đổi tín hiệu ADC (Analog to Digital Converter)
Khi nhiệt độ động cơ thấp thì giá trị điện trở cảm biến cao làm cho điện áp gửi về bộ chuyển đổi ADC lớn Lúc này, điện áp chuyển đổi thành một dãy xung vuông và được giải mã thông qua bộ vi xử lý để gửi tín hiệu cho ECU rằng động cơ đang ở trạng thái
18 lạnh Khi động cơ nóng lên, giá trị điện trở cảm biến và điện áp sẽ giảm, sau đó tín hiệu sẽ được gửi đến cho ECU, cho biết động cơ đang trong trạng thái nóng [6]
Cảm biến nhiệt độ nước làm mát được sử dụng để đo nhiệt độ nước làm mát của động cơ và gửi tín hiệu về ECU để thực hiện những hiệu chỉnh sau:
Giới thiệu về xe VISION 2022 và thông số trên xe [10]
Honda Vision là dòng xe tay ga rất được ưa chuộng ở Việt Nam, đặc biệt là ở giới nữ bởi sự gọn nhẹ và giá cả hợp lý Kể từ khi ra mắt vào năm 2011 cho đến nay, Honda Vision đã có rất nhiều nâng cấp đáng kể Honda luôn nỗ lực thay đổi kể từ kiểu dáng, động cơ, tiện ích nhằm mục đích tối ưu trải nghiệm đi lại cho người dùng Đối với Honda Vision 2022 với thiết kế trẻ trung, năng động, tổng thể thiết kế bắt mắt, thu hút hơn hẳn các phiên bản cũ Một diện mạo hoàn toàn mới với những đường cong bo viền mềm mại, kết hợp với sự năng động vốn có Hệ thống đèn trước được trang bị công nghệ LED thông minh giúp chiếu sáng mạnh mẽ, làm nổi bật lên sự năng động trẻ trung Phần mặt đồng hồ phía trước người lái được bổ sung màn hình LCD Chế độ hoạt động của động cơ ECO hay Idling Stop cung cấp đầy đủ thông tin, hỗ trợ tối đa cho người sử dụng
Sức mạnh chuyển động của Honda Vision được lấy từ động cơ trên eSP thế hệ thứ
2 có dung tích 110cc, làm mát bằng không khí Khối động cơ này tạo ra công suất 8,8 mã lực tại 7.500 vòng/phút và mô-men xoắn cực đại 9,23Nm tại 5.500 vòng/phút
Những công nghệ mới vô cùng hiện đại được trang bị cho riêng dòng xe Honda Vision 2022 này:
- PGM-FI (Hệ thống phun xăng điện tử): Chúng có nhiều ưu điểm về việc tối ưu thời điểm đánh lửa Thêm vào đó, chúng cũng có khả năng tự cung cấp lượng nhiên liệu thích hợp dựa vào tình trạng hoạt động của động cơ PGM-FI giúp tối ưu hóa quá trình tiết kiệm nhiên liệu, giảm lượng khí thải độc hại ra môi trường
- Vô cùng tiết kiệm nhiên liệu: Động cơ mới được trang bị trên Honda Vision được trang bị buồng đốt thiết kế mới Cũng chính nhờ đó khả năng đốt cháy nhiên liệu được tối ưu, tiết kiệm nhiên liệu Nhờ đó mà động cơ cũng hoạt động mạnh mẽ và bớt hao mòn hơn
- Công nghệ giảm thiểu ma sát Vision 2022: Động cơ được thiết kế nhằm giảm mức tiêu hao công suất gây ra bởi ma sát giữa các chi tiết máy
- EVAPO (Hệ thống kiểm soát hơi xăng): Hệ thống kiểm soát bay hơi được tích hợp trong bình chứa nhiên liệu Việc trang bị này giúp phát huy tối đa việc phát tán hơi xăng ra ngoài, thân thiện hơn với môi trường
Honda Vision 2022 được trang bị một số tính năng đáp ứng nhu cầu của người dùng như:
- Idling Stop hay còn gọi là hệ thống ngắt động cơ tạm thời Khi bạn dừng quá 3 giây hệ thống sẽ tự động ngắt, khi cần di chuyển lại bạn chỉ cần nhích nhẹ tay ga Đây là tính năng giúp tiết kiệm nhiên liệu, nhất là khi bạn hay phải dừng chờ đèn đỏ
- Bộ đề của Vision 2022 được tích hợp ACG Vision Tính năng này vừa giúp khởi động vừa có thể như một máy phát điện, giúp xe khởi động và tái khởi động dễ dàng
- Với phiên bản đặc biệt và cao cấp đều được Honda trang bị hệ thống khóa thông minh Smart Key Giống như các dòng xe tay ga cao cấp, khóa Smart Key có tính năng bấm để xác định vị trí xe và mở khóa từ xa Bạn có thể dễ dàng tìm thấy xe trong bãi đỗ xe, vừa an toàn vừa nhanh chóng
- Đèn luôn được bật sáng, đây là tính năng mới áp dụng trên dòng xe mới 2022 Việc luôn để đèn bật sáng để hạn chế các trường hợp quên bật đèn khi đi trong môi trường ánh sáng kém Giúp cho việc tham gia giao thông của người sử dụng trở nên an toàn hơn
- Ở phiên bản Vision 2022 này, phần cốp được trang bị rộng rãi hơn Thiết kế này giúp gia tăng thêm khả năng chứa đồ, vật dụng cần thiết khi đi lại Hộc đựng đồ phía trước có thêm nắp đậy vô cùng tiện lợi Ngoài ra phần cốp xe còn được tích hợp thêm cổng sạc pin điện thoại đảm bảo tính tiện ích cho người dùng
2.3.2 Thông số kỹ thuật của xe VISION 2022
Bảng 2.1 Thông số kỹ thuật của xe VISION 2022
Kích thước Dài x Rộng x Cao 1.871mm x 686mm x 1.101mm
Khoảng cách trục bánh xe 1.255mm Độ cao yên 761mm
Khoảng sáng gầm xe 120mm
Dung tích bình xăng 4,9 lít
Loại động cơ Xăng, 4 kỳ, 1 xi-lanh
Hệ thống làm mát Làm mát bằng không khí
Công suất tối đa 6.59 kW/7.500 vòng/phút
Dung tích nhớt máy 0,8 lít
Hệ thống khởi động Motor điện
Kích cỡ lớp trước/ sau Trước: 80/90-14M/C 40P
Phuộc trước Ống lồng, giảm chấn thủy lực
Phuộc sau Lò xo trụ đơn, giảm chấn thủy lực
Loại truyền động Dây đai
Momen cực đại 9,29 Nm/6.000 vòng/phút
Dung tích xy-lanh 109,5cm 3 Đường kính x Hành trình piston 47,0mm x 63,1mm
LINH KIỆN ĐIỆN TỬ VÀ PHẦN MỀM LẬP TRÌNH
Linh kiện điện tử
Arduino là một bo mạch vi điều khiển do một nhóm giáo sư và sinh viên nước Ý thiết kế và đưa ra đầu tiên vào năm 2005 Mạch Arduino được sử dụng để cảm nhận và điều khiển nhiều đối tượng khác nhau Nó có thể thực hiện nhiều nhiệm vụ lấy tín hiệu từ cảm biến đến điều khiển đèn, động cơ, và nhiều đối tượng khác Ngoài ra mạch còn có khả năng liên kết với nhiều module khác nhau như module đọc thẻ từ, ethernet shield, sim900A,… để tăng khả ứng dụng của mạch
Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM, Atmel 32-bit,… Hiện phần cứng của Arduino có tất cả 6 phiên bản, Tuy nhiên phiên bản thường được sử dụng nhiều nhất là Arduino Uno và Arduino Mega
Mạch Arduino Uno là dòng mạch rất phổ biến và hiện nay dòng mạch này đã phát triển đến thế hệ thứ ba (Arduino Uno R3) Arduino Uno R3 là dòng mạch cơ bản, linh hoạt và dễ sử dụng Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là: ATmega8 (Board Arduino Uno r2), ATmega168, ATmega328 (Board Arduino Uno r3)
Bộ não này có thể xử lý những tác vụ đơn giản như điều khiển đèn LED nhấp nháy, xử lý tín hiệu cho xe điều khiển từ xa, điều khiển động cơ bước, điều khiển động cơ servo, làm một trạm đo nhiệt độ – độ ẩm và hiển thị lên màn hình LCD,… hay những ứng dụng khác [11]
Hình 3.1 Board bạch Arduino Uno R3 [11]
Bảng 3.1 Thông số cơ bản của Board mạch Arduino Uno R3 [11]
Vi điều khiển Atmega 328 (họ 8 bit) Điện áp hoạt động 5V – DC (cấp qua cổng USB)
Tần số hoạt động 16 MHz
Dòng tiêu thụ 30mA Điện áp vào khuyên dùng 7 – 12V – DC Điện áp vào giới hạn 6 – 20V – DC
Số chân Digital I/O 14 (6 chân PWM)
Số chân Analog 6 (độ phân giải 10 bit)
Dòng tối đa trên mỗi chân I/O 30 mA
Dòng ra tối đa (5V) 500 mA
Dòng ra tối đa (3.3V) 50 mA
Bộ nhớ flash 32 KB (Atmega328) với 0.5KB dùng bởi bootloader
Hình 3.2 Sơ đồ chân của Board mạch Arduino Uno R3 [11]
Arduino có nhiều ứng dụng trong đời sống, trong việc chế tạo các thiết bị điện tử chất lượng cao Một số ứng dụng có thể kể đến như:
- Lập trình robot: Arduino chính là một phần quan trọng trong trung tâm xử lý giúp điều khiển được hoạt động của robot
- Lập trình máy bay không người lái Có thể nói đây là ứng dụng có nhiều kì vọng trong tương lai
- Game tương tác: Chúng ta có thể dùng Arduino để tương tác với Joystick, màn hình,… để chơi các trò như Tetrix, phá gạch, Mario… và nhiều game rất sáng tạo nữa
- Arduino điều khiển thiết bị ánh sáng cảm biến tốt Là một trong những bộ phần quan trọng trong cây đèn giao thông, các hiệu ứng đèn nháy được cài đặt làm nổi bật các biển quảng cáo
- Arduino cũng được ứng dụng trong máy in 3D và nhiều ứng dụng khác tùy thuộc vào khả năng sáng tạo của người sử dụng [11]
3.1.2 Cảm biến gia tốc MPU6050 [12]
Cảm biến MPU 6050 là một thiết bị theo dõi chuyển động từ công ty Invensense Cảm biến này tích hợp một cảm biến gia tốc 3 trục tự do và một con quay hồi chuyển 3 trục trên cùng một đế silicon cùng với bộ xử lý tín hiệu số chuyển động với khả năng xử lý thuật toán phức tạp MPU 6050 là một cảm biến MEMs tích hợp 1 gyroscope để đo vận tốc góc và 1 cảm biến gia tốc Các tính năng chi tiết được mô tả sau đây:
- Cảm biến tốc độ góc ba trục X-, Y- và Z- đầu ra số với dải đo lập trình được là ±250°/sec, ±500°/sec, ±1000°/sec, và ±2000°/sec
- Có khả năng đồng bộ nhờ nguồn dao động ngoài để sử dụng trong các ứng dụng thu thập hình ảnh, video hay GPS
- Tích hợp 16-bit ADC, giúp thực hiện quá trình lấy mẫu đồng thời
- Tăng cường khả năng ổn định với thay đổi nhiệt độ cũng như giảm độ tự trôi giúp giảm thiếu số lần hiệu chuẩn của người dùng
Với cảm biến gia tốc :
- Cảm biến gia tốc ba trục đầu ra số với dải đo lập trình được ±2g, ±4g, ±8g and ±16g
- Tích hợp ADC 16-bit cho phép lấy mẫu đồng thời mà không cần thêm các bộ ghép kênh
- Dũng tại chế độ tiết kiệm: 10àA tại 1.25Hz, 20àA tại 5Hz, 60àA tại 20Hz, 110àA tại 40Hz
- Xác định được hướng và tư thế
- Xác định được rung động rất nhỏ như có vật thể gõ nhẹ vào cảm biến
Mô tả chân của MPU 6050 và quy ước hệ trục tọa độ được mô tả ở hình trên Giao thức mà cảm biến MPU 6050 sử dụng là I2C do đó trên sơ đồ kể trên, MPU 6050 sẽ sử dụng các chân sau:
- SDA: chân truyền dữ liệu của giao thức I2C
- SCL: chân xung đồng bộ của giao thức I2C
MG90S là động cơ servo siêu nhỏ với bánh răng kim loại Servo nhỏ và nhẹ này có công suất đầu ra cao, lý tưởng cho các máy bay điều khiển, Fly-cam (Quadcopter) hoặc cánh tay Robot
Hình 3.5 Hình ảnh Servo MG90S [13]
Chức năng của các dây: Dây nâu (dây nối đất của hệ thống), dây đỏ (dây cấp nguồn 5V), dây cam (Tín hiệu PWM được đưa vào qua dây này để điều khiển động cơ)
- Điện áp hoạt động: 4,8V đến 6V (Thường là 5V)
- Momen xoắn cực đại: 2,2 kg/cm (6V)
- Tốc độ hoạt động là 0,1s/60° (4,8V)
- Loại bánh răng: Kim loại
- Trọng lượng của động cơ: 13,4g
- Package gồm bánh răng và ốc vít
Hình 3.6 Kích thước của Servo MG90S [13]
Khái niệm: Điện trở là một linh kiện điện tử thụ động trong mạch điện có biểu tượng R Nó là đại lượng vật lý đặc trưng cho tính chất cản trở dòng điện của vật liệu
Hình 3.7 Các loại điện trở [14]
Mỗi điện trở có 1 giá trị nhất định, vòng màu in trên điện trở thể hiện giá trị của nó
Hình 3.8 Cách đọc giá trị điện trở [15] Điện trở có rất nhiều loại khác nhau, tùy vào công suất ta sẽ có điện trở 0.25W, 2W, 5W,… tùy vào nhiệt độ ta có điện trở nhiệt,…
Cảm biến ánh sáng là thiết bị quang điện chuyển đổi ánh sáng (bao gồm cả ánh sáng nhìn thấy và ánh sáng dạng tia hồng ngoại) thành tín hiệu điện Nó là một dạng thiết bị cảm biến thông minh có thể nhận biết được các biến đổi của môi trường thông qua mắt cảm biến
Cảm biến ánh sáng hoạt động dựa trên nguyên lý của hiệu ứng quang điện Hiệu ứng quang điện là hiện tượng một số chất đặc biệt sau khi hấp thụ ánh sáng sẽ chuyển đổi năng lượng ánh sáng thành năng lượng điện
Hiệu ứng quang điện gồm có:
Hiệu ứng quang điện trong: Hiện tượng quang điện trong thường diễn ra với chất bán dẫn Khi chiếu ánh sáng vào vật liệu, năng lượng này sẽ làm thay đổi điện trở suất bên trong vật liệu gây ra suất điện động làm thay đổi tính chất điện của vật liệu
Phần mềm lập trình Labview
LabVIEW (viết tắt của nhóm từ Laboratory Virtual Instrumentation Engineering Workbench) là một phần mềm máy tính được phát triển bởi công ty National Instruments, Hoa Kỳ LabVIEW còn được biết đến như là một ngôn ngữ lập trình với khái niệm hoàn toàn khác so với các ngôn ngữ lập trình truyền thống như ngôn ngữ C, Pascal Bằng cách diễn đạt cú pháp thông qua các hình ảnh trực quan trong môi trường soạn thảo, LabVIEW đã được gọi với tên khác là lập trình G (viết tắt của Graphical, nghĩa là đồ họa)
LabVIEW được dùng nhiều trong các phòng thí nghiệm, lĩnh vực khoa học kỹ thuật như tự động hóa, điều khiển, điện tử, cơ điện tử, hàng không, hóa sinh, điện tử y
34 sinh, Hiện tại ngoài phiên bản LabVIEW cho các hệ điều hành Windows, Linux, Hãng
NI đã phát triển các mô-đun LabVIEW cho máy hỗ trợ cá nhân (PDA) Các chức năng chính của LabVIEW có thể tóm tắt như sau:
- Thu thập tín hiệu từ các thiết bị bên ngoài như cảm biến nhiệt độ, hình ảnh từ webcam, vận tốc của động cơ,
- Giao tiếp với các thiết bị ngoại vi thông qua nhiều chuẩn giao tiếp thông qua các cổng giao tiếp: RS232, RS485, USB, PCI, Ethernet
- Mô phỏng và xử lý các tín hiệu thu nhận được để phục vụ các mục đích nghiên cứu hay mục đích của hệ thống mà người lập trình mong muốn
- Xây dựng các giao diện người dùng một cách nhanh chóng và thẩm mỹ hơn nhiều so với các ngôn ngữ khác như Visual Basic, Matlab,
- Cho phép thực hiện các thuật toán điều khiển như PID, Logic mờ (Fuzzy Logic), một cách nhanh chóng thông qua các chức năng tích hợp sẵn trong LabVIEW
- Cho phép kết hợp với nhiều ngôn ngữ lập trình truyền thống như C, C++, [18]
Những khái niệm cơ bản của Labview:
- VI (Virtual Instrument) – Thiết bị ảo: Lập trình Labview được thực hiện trên cơ sở là các thiết bị ảo (VI) Các đối tượng trong các thiết bị ảo được sử dụng để mô phỏng các thiết bị thực, nhưng chúng được thêm vào bởi phần mềm Các VI tương tự như các hàm trong lập trình bằng ngôn ngữ
- Front Panel: Là một panel tương tự như panel của thiết bị thực tế Ví dụ các nút bấm, nút bật, các đồ thị và các bộ điều khiển Từ Front Panel người dùng chạy và quan sát kết quả có thể dùng chuột, bàn phím để đưa dữ liệu vào sau đó cho chương trình chạy và quan sát Front Panel thường gồm các bộ điều khiển (Control) và các bộ hiển thị (Indicator) Control là các đối tượng được đặt trên Front Panel để cung cấp dữ liệu cho chương trình Nó tương tự như đầu vào cung cấp dữ liệu Indicator là đối tượng được đặt trên Front Panel dùng để hiển thị kết quả, nó tương tự như bộ phận đầu ra của chương trình
Hình 3.10 Front Panel của chương trình Labview [19]
- Block Diagram: Block diagram của một VI là một sơ đồ được xây dựng trong môi trường LabVIEW, nó có thể gồm nhiều đối tượng và các hàm khác nhau để tạo các cấu trúc lệnh để chương trình thực hiện Block Diagram là một mã nguồn đồ họa của một
VI Các đối tượng trên Front Panel được thể hiện bằng các thiết bị đầu cuối trên Block Diagram, không thể loại bỏ các thiết bị đầu cuối trên Block Diagram Các thiết bị đầu cuối chỉ mất đi sau khi loại bỏ đối tượng tương ứng trên Front Panel
Hình 3.11 Block Diagram của chương trình Labview [19]
- Icon & Connector: Icon (biểu tượng) là biểu tượng của VI, được sử dụng khi từ một VI muốn sử dụng chức năng của một VI khác Khi đó VI đó được gọi là SubVI, nó tương đương như một chương trình con trong các ngôn ngữ khác Connector (đầu nối) là một phần tử cӫa Terminal dùng để nối các đầu vào và đầu ra của các VI với nhau khi sử dụng Mỗi VI có một Icon mặc định hiển thị trong bảng Icon ở góc trên bên phải cửa sổ Front Palette và Block Diagram Khi các VI được phân cấp và module hóa thì ta có thể dùng chúng như các chương trình con Do đó để xây dựng một VI ta có thể chia thành nhiều VI thực hiện các chức năng đơn giản và cuối cùng kết hợp chúng lại với nhau thành một khối để thực thi những công việc cụ thể trong một chương trình [18]
THIẾT KẾ PHẦN MỀM HIỂN THỊ DỮ LIỆU THU THẬP
Sơ đồ khối
Hình 4.1 Sơ đồ khối của hệ thống thu thập và hiển thị dữ liệu
Các tín hiệu từ xe sẽ được thu thập nhờ mạch thu thập tín hiệu và lưu vào trong thẻ nhớ Từ đó dữ liệu sẽ được đưa vào máy tính và xử lý để sắp xếp thành các hàng, cột theo đúng chức năng của từng kiểu dữ liệu Dữ liệu đó sẽ được nạp vào phần mềm để hiển thị, mô phỏng các tín hiệu thu thập được Phần mềm mô phỏng cũng là nơi trực tiếp điều khiển mạch Arduino điều khiển mô hình mô phỏng thực tế Mạch thu thập sẽ lưu lại dữ liệu theo đúng thời gian thực tế và từ đó phần mềm mô phỏng sẽ tái hiện lại dữ liệu tại đúng thời điểm đó để đảm bảo quá trình mô phỏng đồng nhất với quá trình chạy thực
Thiết kế phần mềm hiển thị dữ liệu thu thập trên máy tính dựa trên nền tảng
4.2.1 Giao diện thiết kế hiển thị dữ liệu thu thập trên máy tính
Hình 4.2 Bố trí hiển thị dữ liệu ở cửa sổ Front Panel
Dữ liệu được bố trí hiển thị thành từng khu vực cụ thể như sau:
- Khu vực hiển thị số liệu: Chủ yếu là hiển thị các số liệu và tín hiệu như tốc độ xe, tốc độ động cơ, đèn phanh…
- Khu vực hiển thị 3D: Hiển thị khối 3D của xe (độ nghiêng xe, góc lên xuống dốc) và bướm ga (độ mở bướm ga)
- Khu vực đồ thị: Là nơi sử dụng các dữ liệu để vẽ nên đồ thị theo thời gian
- Khu vực điều khiển và hiển thị số liệu: Bao gồm các nút điều khiển, nhập file dữ liệu, khai báo chân kết nối Arduino và hiển thị dữ liệu đầu vào
4.2.1.1 Khu vực hiển thị số liệu và hình 3D
Hình 4.3 Chi tiết dữ liệu được hiển thị tại khu vực hiển thị dữ liệu
Hình 4.4 Khu vực hiển thị hình 3D
4.2.1.2 Khu vực đồ thị, điều khiển và khu vực số liệu
Hình 4.5 Khu vực đồ thị
Hình 4.6 Khu vực điều khiển và hiển thị dữ liệu đầu vào
Khi ta lắp đặt cảm biến gia tốc MPU6050 thì có thể có sai số (không cân bằng) khiến việc tính toán ra góc nghiêng và góc lên dốc không được chính xác Vậy nên cần nhập giá trị hiệu chuẩn độ nghiêng và độ lên dốc của xe để khi mô phỏng được chính xác
4.2.2 Lập trình xử lý hiển thị tín hiệu
Sau khi dữ liệu đã được thu thập và lưu vào trong thẻ SD thì dữ liệu sẽ có dạng mảng như Hình 4.7 Sau đó, dữ liệu sẽ được tách theo từng cột ứng với từng chức năng của nó như:
- ENG: Tốc độ động cơ
- BATT: Điện áp bình ắc quy
- TPS: Độ mở bướm ga
- IAT: Nhiệt độ khí nạp
- TURN: Tín hiệu phanh và xi nhan
- TEMP: Nhiệt độ môi trường
- Ax1, Ay1, Az1: Vector gia tốc lần lượt theo các phương X, Y, Z
Hình 4.7 Một số dữ liệu thu thập trong thẻ SD
4.2.2.1 Khối đọc và xử lý dữ liệu đầu vào
Ban đầu, để nhận dữ liệu thu thập được vào phần mềm, ta sử dụng các khối “Read From Measurement File” để đọc dữ liệu và đưa ra mảng dữ liệu có nhiều hàng và cột Khối Parh được sử dụng để đưa nguồn dữ liệu từ máy vào phần mềm Tuy vậy, dữ liệu đưa vào phần mềm là kiểu dữ liệu động, vậy nên khối “Convert from Dynamic Data”
42 dùng để đổi dữ liệu động thành dữ liệu mảng Để thuận tiện cho việc xử lý dữ liệu,
“Transpose Matrix Function” để đảo ma trận dữ liệu đầu vào
Hình 4.8 Khối đọc và xử lý dữ liệu đầu vào
4.2.2.2 Khối hiển thị dữ liệu thu thập
Hình 4.9 Lưu đồ thuật toán hiển thị dữ liệu thu thập
Sơ đồ khối hiển thị dữ liệu thu thập:
Khối “Index Array” được sử dụng để lấy dữ liệu từ nguồn vào, dữ liệu đó được sử dụng để hiển thị qua khối “Numeric” cũng như vẽ đồ thị bằng khối “WaveForm Chart
Cứ mỗi 100 ms thì dữ liệu sẽ được nhập vào một lần để xử lý và hiển thị lên cửa sổ Front Panel Các dữ liệu được hiển thị đó là:
- Tốc độ động cơ (hiển thị lên đồng hồ)
- Tốc độ xe (hiển thị lên cửa sổ Front Panel và vẽ đồ thị)
- Điện áp bình ắc quy (hiển thị lên cửa sổ Front Panel)
- Nhiệt độ động cơ, nhiệt độ khí nạp (hiển thị số liệu và vẽ đồ thị)
- Nhiệt độ môi trường (hiển thị số liệu trên Front Panel)
- Độ mở bướm ga (hiển thị, vẽ đồ thị và biểu diễn bằng khối 3D)
Hình 4.10 Sơ đồ khối hiển thị dữ liệu thu thập
4.2.2.3 Hiển thị đèn tín hiệu
Hình 4.11 Lưu đồ thuật toán điều khiển đèn phanh.
Hình 4.12 Lưu đồ thuật toán hiển thị đèn tín hiệu
Sơ đồ khối hiển thị đèn tín hiệu:
Hình 4.13 Sơ đồ khối hiển thị đèn tín hiệu Ở phần này, phần mềm sẽ hiển thị những tín hiệu đèn thu thập được là đèn phanh và hai đèn xi nhan Dữ liệu (tín hiệu điện áp đo từ cảm biến quang) cứ 100ms sẽ được lấy một lần từ khối “Index Array” Tất cả các tín hiệu đèn phanh và đèn hai đèn xi nhan khi thu thập được gộp vào trong 1 byte, vậy nên trước khi so sánh ở khối Case Structure thì cần phải được tách ra từ byte đã gộp trước đó Để lấy được phần tử đầu tiên của byte đó thì cần And nó với 1 hoặc muốn lấy phần tử thứ 2 thì And với 2 và phần tử thứ 3 thì And với 4 Sau khi tín hiệu được tách ra nhờ phép toán And, thì nó được đưa vào khối Case để tiến hành so sánh Nếu tín hiệu bằng 0 thì đèn sáng và ngược lại
Hình 4.14 Chi tiết tín hiệu đèn xe được gộp vào trong 1 byte
Hình 4.15 Lưu đồ thuật toán bộ đếm thời gian thực Để thực hiện khối đếm thời gian thực thì cần phải có dữ liệu được nhập vào từ đầu, vì tốc độ lấy mẫu dữ liệu là 100ms/mẫu nên cứ 10 lần i sẽ được 1 giây Giá trị nhập ban đầu c (giây) sẽ được cộng với i/10 rồi tất cả chia cho 60 Phần dư của phép tính này ta thu được số giây thực tế và phần nguyên là số phút (gán là N) Tiếp đến giá trị nhập ban đầu b (phút) lại được cộng với N rồi tất cả chia cho 60 Phần dư của phép tính này ta thu được số phút thực tế và phần nguyên là số giờ (gán là P) Giá trị a (giờ) cộng với P và tất cả chi cho 24 thì phần dư thu được là số giờ thực tế Tất cả giá trị giờ, phút, giây thực tế được hiển thị bởi khối “Numeric”
Sơ đồ khối bộ đếm thời gian thực:
Hình 4.16 Sơ đồ khối bộ đếm thời gian thực
4.2.2.5 Khối reset đồ thị, tốc độ lấy mẫu và nút dừng chương trình
Hình 4.17 Sơ đồ khối reset đồ thị, tốc độ lấy mẫu và nút dừng chương trình Đặc điểm lớn nhất của khối đồ thị “Waveform Chart” là dữ liệu sẽ không được reset về 0 mỗi khi dừng chương trình Chẳng hạn như chương trình trước dừng lại ở biến i bằng 750 thì khi khởi động lại chương trình đồ thị sẽ tiếp tục vẽ ở điểm 751 Vậy nên cần một khối để reset dữ liệu lưu trong đồ thị (trả về giá trị 0) Khối “History data” được hình thành khi nháy chuột phải vào khối Terminal của đồ thị Waveform Chart => chọn create => property node => history data Khối này có chức ghi nhớ tất cả dữ liệu được vẽ trên đồ thị để phục vụ cho việc sử dụng dữ liệu hoặc nghiên cứu sau này Mảng rỗng
49 được đưa vào khối History data để xóa tất cả các dữ liệu được vẽ trước đó Để đồ thị được trả về giá trị 0 khi dừng chương trình thì khối or có chức năng để làm điều đó Wait (ms) có chức năng dừng sự tăng biến đếm i trong thời gian được quy định Ở phần nghiên cứu này, để cho số liệu hiển thị được liền mạch và khả năng thu thập dữ liệu từ xe máy được hiệu quả thì thời gian dừng (tốc độ lấy mẫu) là 100ms
4.2.2.6 Khối hiển thị mô hình 3D trạng thái của xe và độ mở bướm ga
Xây dựng thuật toán tính toán góc nghiêng và góc lên xuống dốc
Khi xe chuyển động ở tốc độ cao, việc thay đổi vận tốc và gia tốc của xe có thể ảnh hưởng đến độ chính xác của cảm biến gia tốc MPU6050 để tính toán ra giá trị góc Để cho việc mô phỏng lại được chính xác nhất từ dữ liệu thu thập được trên xe Ta sẽ lấy dữ liệu thu thập là các vector gia tốc thay vì sử dụng dữ liệu thu thập là góc đã được tính toán sẵn trong con cảm biến gia tốc MPU6050, sau đó ta sẽ xây dựng thuật toán trong phần mềm Labview để chuyển đổi sang giá trị góc từ các giá trị vector gia tốc Đầu tiên, ta xây dựng công thức tính toán giá trị góc lên xuống dốc Ɵpitch từ các giá trị vector gia tốc theo phương X, Y, Z tương tự AccX, AccY, AccZ như Hình 4.18 bên dưới
Hình 4.18 Xây dựng công thức tính góc lên xuống dốc (pitch) của xe từ các vector gia tốc [20]
Do công thức trên sẽ tính ra góc ở đơn vị là Radian, vì vậy ta sẽ đổi về đơn vị độ
Ta thu được công thức tính toán góc lên xuống Ɵpitch từ các vector gia tốc như sau: Ɵ 𝑝𝑖𝑡𝑐ℎ = 𝑎𝑡𝑎𝑛 ( −𝐴𝑐𝑐 𝑋
Tương tự, ta xây dựng công thức tính toán giá trị góc nghiêng Ɵroll từ các giá trị vector gia tốc theo phương X, Y, Z tương tự AccX, AccY, AccZ như Hình 4.19 dưới đây
Hình 4.19 Xây dựng công thức tính góc nghiêng (roll) của xe từ các vector gia tốc [20]
Và đổi từ đơn vị Radian sang đơn vị độ ta sẽ thu được công thức tính toán góc nghiêng Ɵroll từ các vector gia tốc như sau: Ɵ 𝑟𝑜𝑙𝑙 = 𝑎𝑡𝑎𝑛 ( 𝐴𝑐𝑐 𝑌
Từ hai công thức tính toán giá trị góc lên xuống dốc Ɵpitch và công thức tính toán giá trị góc nghiêng Ɵroll từ các giá trị vector gia tốc theo phương X, Y, Z tương tự AccX, AccY, AccZ ta sẽ biểu diễn chúng vào trong Labview bằng cách sử dụng khối Formula Node như sau:
Hình 4.20 Khối tính toán các công thức và các biểu thức toán học Ở khối này, đầu vào (Input) là X, Y, Z, Gx, Gy lần lượt là các giá trị Vector gia tốc AccX, AccY, AccZ và véc tơ vận tốc góc theo phương X, Y Sau đó ta sẽ nhập thuật toán vào bên trong khối Formula Node để phần mềm tính toán đánh giá và đưa kết quả ở đầu ra (Output) là pitchgyro và rollgyro lần lượt là giá trị góc Ɵpitch và Ɵroll sau khi đã được tính toán Tuy vậy khi dữ liệu đã được nạp hết, Labview tự động cho dữ liệu có giá trị bằng 0 Vậy nên các biến output xuất ra có thể ở vô cùng làm cho Servo bị điều khiển sau Thế nên câu lệnh If đó có khả năng khi các biến X Y Z đưa vào bằng 0 thì biến output cũng sẽ bằng 0
Tuy vậy, các góc lên dốc và góc nghiêng xe vẫn còn bị ảnh hưởng bởi gia tốc Ax và Ay nên cần thuật toán bộ lọc Complementary để lọc bớt ảnh hưởng của gia tốc khi xe tăng giảm tốc đột ngột Góc pitch và roll sau khi tính được ở công thức 4.1 và 4.2 thì được lọc bằng công thức:
Thiết kế mô hình giả lập quá trình chạy xe thực tế
Mô hình sẽ sử dụng một chiếc xe mô hình để phỏng lại hình ảnh của chiếc xe ngoài đời thực Các đèn rẽ hướng, đèn phanh, đèn biểu thị tăng tốc giảm tốc được được gắn sẵn vào mô hình và được điều khiển với Arduino Hai Motor Servo sẽ mô phỏng cho tín hiệu góc xe lên xuống dốc và góc nghiêng xe
4.3.1.1 Lựa chọn linh kiện Để xây dựng mô hình mô phỏng thực tế cần sử dụng một số linh kiện như sau:
- Đèn LED (xanh, đỏ, vàng)
- Xe mô hình Kawasaki Ninja H2R (tỷ lệ 1:18)
Phần đế mica bao gồm:
- 1 tấm đỡ Motor Servo điều khiển góc lên xuống dốc
- 1 tấm đỡ xe và Motor Servo điều khiển góc nghiêng xe
Hình 4.39 Bản vẽ 2D mặt đế của mô hình mô phỏng
4.3.2 Sơ đồ mạch Arduino của mô hình mô phỏng
Bảng 4.1 Tên chân và chức năng của các chân tín hiệu được sử dụng trong mạch Arduino của mô hình mô phỏng
Tên chân Arduino Chức năng
3 Chân tín hiệu motor servo lên xuống dốc
4 Chân tín hiệu đèn phanh
9 Chân tín hiệu motor servo góc nghiêng
10 Chân tín hiệu xi nhan trái
11 Chân tín hiệu xi nhan phải
12 Chân tín hiệu đèn biểu thị tăng tốc
13 Chân tín hiệu đèn biểu thị giảm tốc
Hình 4.40 Sơ đồ mạch Arduino điều khiển mô hình mô phỏng
Chi tiết các thành phần của mô hình mô phỏng:
Hình 4.41 Các thành phần của mô hình mô phỏng
Hình 4.42 (a) Các thành phần bên trong của mô hình (b) Các đèn tín hiệu được lắp đặt trên xe mô hình (c) Dây tín hiệu và dây nguồn 5V
Thực nghiệm thu thập dữ liệu trên xe vision 2022
4.4.1 Mạch thu thập dữ liệu
Mạch thu thập tín hiệu bao gồm: Phần mềm và Phần cứng
- Phần mềm: là phần ứng dụng được viết ra để điều khiển thu thập dữ liệu của xe máy
Hình 4.43 Ứng dụng điều khiển mạch thu thập dữ liệu
Phần cứng: Là mạch vi điều khiển kết nối trực tiếp với xe thông qua cổng kết nối Được điều khiển bởi Ứng dụng điều khiển mạch thu thập dữ liệu
4.4.2 Lắp ráp mạch lên xe và tiến hành thu thập dữ liệu
Hình 4.44 Lắp đặt mạch thu thập dữ liệu lên xe Vision
70 Để tiến hành thu thập dữ liệu ta cần làm các bước sau:
Bước 1: Tìm vị trí đặt jack chẩn đoán trên xe Honda Vision Ở xe Vision 2022 thì jack chẩn đoán nằm dưới chỗ để chân của người lái
Hình 4.45 Vị trí jack chẩn đoán trên xe Vision 2022
Bước 2: Tiến hành bố trí và lắp đặt mạch thu thập dữ liệu lên xe, gần jack chẩn đoán để dễ dàng kết nối
Hình 4.46 Bố trí và lắp đặt mạch thu thập dữ liệu lên xe Vision 2022
Bước 3: Bố trí con cảm biến gia tốc MPU6050 lên vị trí giữa xe, đặt cảm biến ở vị trí cân bằng đảm bảo cho dữ liệu các vector gia tốc thu thập được độ chính xác tương đối
Bước 4: Bố trí các con quang điện trở ở các đèn hậu, xi nhan trái, và xi nhan phải để thu thập tín hiệu phanh và tín hiệu rẽ trái, rẽ phải
Hình 4.47 Bố trí các quang điện trở lên xe Vision 2022
Bước 5: Sau khi bố trí xong ta tiến hành cắm jack kết nối với jack chẩn đoán trên xe, bật công tắc xe ON và lắp thẻ SD vào khe cắm thẻ SD
Bước 6: Cài app ECM-SD về điện thoại, sau đó vào phần cài đặt của điện thoại để kết nối địa chỉ wi-fi do mô đun wi-fi đã được lắp sẵn vào mạch phát ra
Hình 4.48 Ứng dụng ECM-SD trên giao diện điện thoại
Bước 7: Sau khi đã kết nối được địa chỉ wi-fi ta tiến hành mở app ECM-SD lên và màn hình sẽ xuất hiện giao diện của ứng dụng như dưới đây:
Hình 4.49 Giao diện ứng dụng điều khiển mạch thu thập dữ liệu
Bước 8: Ta lần lược thực hiện 7 bước đã được bố trí sẵn trên giao diện ứng dụng như sau:
- 1 Set Giờ: Thời gian ngày, giờ trên ứng dụng sẽ được cập nhật theo ngày giờ trên điện thoại
- 2 Đọc Giờ: Khi ấn vào bước này màn hình nhỏ trên giao diện sẽ hiển thị thời gian ngày giờ tại thời điểm đó và đông thời hiện lên giá trị của các quang điện trở Ở bước này ta sẽ tiến hành kiểm tra ngưỡng ánh sáng của các quang điện trở bằng cách cho đèn phanh và đèn xi nhan sáng lên rồi ấn liên tục vào bước 2 Đọc Giờ và so sánh giá trị của quang điện trở ở từng vị trí và điều chỉnh giá trị ngưỡng ánh sáng ở thanh điều chỉnh ngưỡng ánh sáng cho phù hợp
- 3 Kết nối ECM: Ta tiến hành kết nối với ECM bằng cách ấn vào bước này cho đến khi màn hình hiển thị nhỏ ở giao diện hiện lên dòng chữ “Ket Noi Thanh Cong”
- 4 Test đọc ECM: Đến bước này, ta sẽ kiểm tra được là đã kết nối thành công với ECM hay chưa bằng cách đề máy xe và vặn ga lên và cùng lúc đó ấn vào bước 4 Test đọc ECM liên tục và đọc dữ liệu thay đổi của độ mở bướm ga, tốc độ động cơ và tốc độ xe hiển thị trên màn hình nhỏ trên giao diện ứng dụng
- 5 Đặt tên file không dấu: Ta tiến hành đặt tên file bằng cách nhập vào bước này tên file tùy ý nhưng không được bỏ dấu và không được để các ký tự đặc biệt
- 6 Ghi SD: Ấn bước này là ta sẽ tiến hành cho phép mạch thu thập dữ liệu và lưu file dữ liệu vào thẻ SD (tên file là tên ta đặt ở bước 5 Đặt tên file không dấu)
- 7 Dừng Ghi: Sau khi cho xe chạy trên đường thực tế một thời gian mà ta muốn ngừng thu thập dữ liệu nữa ta sẽ ấn vào bước này, file dữ liệu sẽ được lưu vào thẻ SD Kết thúc quá trình thu thập dữ liệu, để đọc được file ta tiến hành rút thẻ SD ra đưa vào đồ đọc thẻ SD và cấm vào cổng USB máy tính để đọc file
4.4.3.1 Khi xe chạy trên đường có độ gồ ghề cao, lên dốc và xuống dốc
Hình 4.50 Kết quả hiển thị khi xe lên dốc
Khi xe lên dốc với độ dốc khoảng 11 0 thì độ mở bướm ga lớn, khối hiển thị góc lên dốc cũng biểu diễn xấp xỉ 11 0 Lúc này, ta có thể thấy được tốc độ động cơ cao, tốc độ xe giảm
Hình 4.51 Kết quả hiển thị khi xe xuống dốc
Khi xe xuống dốc thì màn hình hiển thị 3D biểu diễn xe đang xuống dốc với góc gần 7 0 , mô hình cũng điều khiển cho xe chúi xuống Lúc này, vì xuống dốc nên có phanh nhẹ và tốc độ xe giảm, độ mở bướm ga cũng nhỏ
Hình 4.52 Kết quả hiển thị khi xe chạy trên đoạn đường gồ ghề
Khi xe chạy qua những đoạn đường gồ ghề, khối hiển thị 3D biểu diễn góc lên xuống dốc thay đổi liên tục Lúc này, người điều khiển xe phanh xe nên tốc độ xe giảm, đồ thị biểu diễn phanh nhịp về 0 nhiều và độ mở bướm ga nhỏ
4.4.3.2 Khi xe rẽ trái và rẽ phải
(b) Hình 4.53 (a) Kết quả hiển thị khi xe rẽ trái, (b) Hình ảnh người lái rẽ trái