TỔNG QUAN
Lý do chọn đề tài
Công nghiệp ô tô Việt Nam đang phát triển mạnh mẽ nhờ vào sự tiến bộ nhanh chóng của công nghệ ô tô và xu hướng hội nhập toàn cầu hiện nay.
Các nước phát triển đang đẩy mạnh cuộc cách mạng công nghiệp 4.0, trong đó công nghệ điều khiển thông qua máy tính đóng vai trò quan trọng, đặc biệt là trong lĩnh vực điều khiển tự động Xe hơi ngày nay ngày càng thông minh nhờ khả năng truyền và nhận thông tin chính xác, giúp xử lý các tình huống phức tạp trong quá trình hoạt động Việc thu thập dữ liệu từ xe là rất cần thiết, cho phép ECU nhận tín hiệu điều khiển từ máy tính và thực thi mệnh lệnh, nhằm đảm bảo động cơ hoạt động ổn định theo yêu cầu của người dùng.
Lĩnh vực điều khiển ô tô qua máy tính đang phát triển mạnh mẽ, giúp giảm bớt thao tác vận hành và tăng tốc độ xử lý sự cố Nhóm chúng tôi đã chọn nghiên cứu đề tài “Ứng dụng LabVIEW trong thu thập và điều khiển động cơ trên xe” nhằm khai thác những lợi ích này.
Toyota Yaris 2SZ - FE là chủ đề nghiên cứu mà nhóm chúng tôi hy vọng sẽ giúp khám phá sâu hơn về việc điều khiển tự động các hệ thống trên xe, đặc biệt là trong các dòng xe thông minh hiện nay.
Giới hạn đề tài
- Nghiên cứu, thiết kế và chế tạo mô hình thu thập tín hiệu, điều khiển động cơ trên xe
- Xử lý tín hiệu thu được thông qua ứng dụng của Arduino và sau đó gửi tín hiệu lên máy tính thông qua phần mềm Labview.
Sử dụng hai microchip MCP 4921 để giả lập hai tín hiệu bàn đạp ga điện tử, cho phép điều khiển tốc độ động cơ trên máy tính thông qua giao diện LabVIEW.
Mục tiêu và nhiệm vụ đề tài
- Thu thập được tín hiệu từ cảm biến, hiển thị chúng lên đồ thị trên phần mềm Labview.
- Lập trình điều khiển bàn đạp ga trên máy tính gần chính xác nhất với việc điều khiển bàn đạp ga thật.
- Tìm hiểu sử dụng được các ứng dụng cơ bản nhất của hai phần mềm Arduino và
- Ôn lại kiến thức chuyên ngành về điều khiển động cơ và các cảm biến có trên xe
- Lập trình chương trình thu thập tín hiệu các cảm biến, và chương trình giả tín hiệu kép tới bàn đạp ga bằng Arduino.
- Thiết kế giao diện LabVIEW để theo dõi, điều khiển động cơ.
- Thiết kế phần cứng để đảm bảo an toàn việc kết nối board Arduino và các tín hiệu từ cảm biến và xung cần thu thập, điều khiển.
Bàn đạp ga thật và bàn đạp ga trên máy tính phối hợp hoạt động một cách đồng bộ, đảm bảo rằng tín hiệu mạnh nhất sẽ điều khiển động cơ mà không xảy ra xung đột tín hiệu.
Phương pháp thực hiện
- Bắt đầu nghiên cứu từ những ứng dụng cơ bản nhất của hai phần mềm Arduino và
LabVIEW rồi sau đó dần đi vào mục đích nghiên cứu chính của đề tài là điều khiển bàn đạp ga điện tử.
Nhóm đã tham khảo nhiều tài liệu từ mạng và sách giáo trình liên quan đến phần mềm và giao tiếp SPI cũng như các giao tiếp khác Đặc biệt, sự hướng dẫn tận tình từ thầy hướng dẫn và việc trao đổi kiến thức với các nhóm khác cùng các bạn khóa trước đã giúp nhóm có đủ kiến thức cần thiết để thực hiện đề tài này.
Kế hoạch nghiên cứu
Với sự định hướng của giáo viên hướng dẫn, nhóm đã thực hiện đề tài theo các giai đoạn sau:
Giai đoạn 1: Nghiên cứu các tài liệu phần mềm liên quan đến đề tài
- Lập trình về Arduino làm các ứng dụng cơ bản có liên quan đến đề tài.
- Lập trình về LabVIEW thực hiện hiển thị kết quả đơn giản.
- Nắm cơ bản các hệ thống liên quan trên mạch điện xe Toyota Yaris 2SZ-FE.
- Ôn lại kiến thức về hệ thống điều khiển động cơ và các cảm biến.
Giai đoạn 2: Thiết kế phần cứng, phần mềm cho đề tài nghiên cứu và nghiên cứu điều khiển bàn đạp ga điện tử.
- Thiết kế phần cứng là bộ thu tín hiệu và giả tín hiệu kép điều khiển bàn đạp ga điện tử.
Thiết kế phần mềm bao gồm việc phát triển chương trình trên nền tảng Arduino và LabVIEW nhằm thu thập dữ liệu một cách ổn định, đồng thời điều khiển bàn đạp ga theo các cài đặt đã được xác định trước.
- Tìm hiểu về điều khiển bàn đạp ga điện tử trên động cơ tránh xung đột xung, nghiên cứu tìm hiểu mạch “OR”.
Giai đoạn 3: Tiến hành thu thập tín hiệu, điều khiển bàn đạp ga và viết thuyết minh.
- Nổ máy xe và thực hiện thu thập, truyền dữ liệu đi điều khiển.
- Làm video về quá trình thực hiện kết quả đề tài thực nghiệm.
- Viết thuyết minh bằng Word.
- Viết báo cáo bằng Powerpoint để thuyết trình.
CƠ SỞ LÝ THUYẾT
Lý thuyết cảm biến
2.1.1 Cảm biến vị trí bướm ga (Throttle position sensor)
Cảm biến bướm ga chuyển đổi góc mở thành tín hiệu điện áp gửi đến ECU, thường là loại tuyến tính 3 dây, nhưng một số xe sử dụng loại 4 dây để tích hợp công tắc vị trí không tải Các chức năng chính của cảm biến bướm ga bao gồm việc cung cấp thông tin chính xác về vị trí bướm ga cho hệ thống điều khiển động cơ.
Điều chỉnh tỉ lệ hỗn hợp nhiên liệu theo tải của động cơ là rất quan trọng Ở tốc độ cầm chừng, cần sử dụng hỗn hợp hơi giàu để đảm bảo hiệu suất Khi động cơ hoạt động với tải lớn, hỗn hợp cần được làm giàu để đạt công suất tối đa Đối với tải trung bình, việc điều chỉnh tỉ lệ hỗn hợp giúp động cơ hoạt động tiết kiệm hơn.
Khi giảm tốc, ECU sử dụng cảm biến số vòng quay động cơ và cảm biến vị trí bướm ga để cắt nhiên liệu, giúp tiết kiệm nhiên liệu và giảm ô nhiễm môi trường Tốc độ cắt nhiên liệu phụ thuộc vào nhiệt độ nước làm mát, với tốc độ cắt nhiên liệu cao hơn khi nhiệt độ động cơ thấp.
Khi ấn ga đột ngột từ vị trí cầm chừng, ECU sẽ điều chỉnh lượng nhiên liệu cung cấp để làm giàu hỗn hợp, giúp động cơ tăng tốc nhanh chóng.
Mạch điện và cảm biến vị trí bướm ga
Hình 2.1: Cấu tạo và mạch điện cảm biến
Cảm biến xác định vị trí mở của cánh bướm ga hoạt động liên tục theo quy luật một đường thẳng, giúp tăng độ chính xác khi nhận biết góc mở của bướm ga, mang lại kết quả đo đạc đáng tin cậy và ổn định.
Cảm biến bao gồm một điện trở được cung cấp điện áp 5V từ ECU, với con trượt di chuyển theo góc mở của cánh bướm ga Tín hiệu điện áp VTA từ con trượt gửi về ECU giúp xác định độ mở của cánh bướm ga Ảnh minh họa cho cảm biến được trình bày cả ở dạng rời và trên xe.
Hình 2.2: Cảm biến vị trí bướm ga
Hình 2.3: Đường đặc tuyến cảm biến vị trí bướm ga
Trên các hệ thống điều khiển động cơ và ô tô hiện đại, cảm biến đo nhiệt độ đóng vai trò quan trọng, đặc biệt là cảm biến nhiệt độ động cơ (ECT - Engine Coolant Temperature) dùng để theo dõi nhiệt độ nước làm mát.
Temperature), nhiệt độ dầu (EOT - Engine Oil Temperature), nhiệt độ nắp máy (CHT -
Cylinder Head Temperature, nhiệt độ khí nạp (IAT - Intake Air Temperature hay MAT – Manifold Air Temperature).
Trong đồ án này, chúng tôi chỉ sử dụng tín hiệu từ cảm biến nhiệt độ khí nạp và nhiệt độ động cơ Các cảm biến đo nhiệt độ này có cấu tạo và mạch điện tương tự nhau, thường là một điện trở nhiệt (thermistor) được kết nối trong mạch cầu phân áp.
Cảm biến nhiệt độ hoạt động dựa vào sự thay đổi điện trở theo nhiệt độ, dẫn đến sự biến đổi điện áp ở cầu phân áp Điện trở nhiệt, một phần tử chính trong cảm biến, cảm nhận sự thay đổi này nhờ được làm từ vật liệu bán dẫn với hệ số nhiệt điện trở âm (NCT - Negative Temperature Coefficient).
Khi nhiệt độ tăng, điện trở giảm và ngược lại, điều này là nguyên lý hoạt động chung của các loại cảm biến nhiệt độ Tuy nhiên, mức hoạt động và sự thay đổi điện trở theo nhiệt độ của từng loại cảm biến có sự khác biệt Sự thay đổi giá trị điện trở sẽ ảnh hưởng đến điện áp gửi đến ECU thông qua cầu phân áp.
Cảm biến nhiệt độ động cơ (nhiệt độ nước làm mát):
Hình 2.4: Cảm biến nhiệt độ động cơ
Cảm biến này rất quan trọng vì tín hiệu của nó giúp ECU điều khiển lượng xăng phun, góc đánh lửa sớm, tốc độ không tải và quạt làm mát Điện áp 5V được cung cấp qua điện trở chuẩn, có giá trị không đổi theo nhiệt độ, tới cảm biến và trở về ECU qua mass (-) Do đó, điện trở chuẩn và nhiệt điện trở trong cảm biến tạo thành một cầu phân áp, với điện áp giữa cầu được chuyển đến bộ chuyển đổi tương tự - số (ADC).
Khi nhiệt độ động cơ thấp, điện trở cảm biến cao dẫn đến điện áp gửi đến bộ biến đổi ADC lớn Tín hiệu điện áp này được chuyển đổi thành xung vuông và được bộ vi xử lý giải mã, thông báo cho ECU rằng động cơ đang ở trạng thái lạnh Ngược lại, khi động cơ nóng, điện trở cảm biến giảm, kéo theo sự giảm điện áp, báo hiệu cho ECU rằng động cơ đang nóng.
ECU dùng nhiệt độ chuẩn là C Khi nhiệt độ nước làm mát bé hơn C, ECU sẽ điều khiển tăng lượng phun.
Khi nhiệt độ nước làm mát thay đổi, điện áp tại cực THW thay đổi theo và ECU dùng tín hiệu này để hiệu chỉnh lượng phun nhiên liệu.
Hình 2.5: Mạch điện cảm biến nhiệt độ nước làm mát
Lượng nhiên liệu phun bị ảnh hưởng lớn bởi nhiệt độ nước làm mát Khi cảm biến gặp sự cố hở mạch, điện áp tại cực THW tăng cao, dẫn đến lượng nhiên liệu phun tăng mạnh, gây ra tình trạng ngộp xăng và động cơ không hoạt động được Ngược lại, khi cảm biến bị ngắn mạch, điện áp tại cực THW giảm thấp, khiến động cơ hoạt động không ổn định, đặc biệt là khi nhiệt độ động cơ dưới 0°C.
Bảng 2.1: Giá trị đặc tính cảm biến nhiệt độ nước làm mát
Hình 2.6: Đường đặc tính cảm biến nhiệt độ
Cảm biến nhiệt độ không khí nạp, THA hoặc TA, MAT:
Hình 2.7: Cảm biến nhiệt độ khí nạp
Cảm biến nhiệt độ không khí nạp vào động cơ đóng vai trò quan trọng trong việc xác định mật độ không khí Mật độ này thay đổi theo nhiệt độ, ảnh hưởng đến khối lượng không khí được nạp vào động cơ Do đó, việc theo dõi nhiệt độ không khí nạp là cần thiết để tối ưu hóa hiệu suất động cơ.
Cảm biến được đặt ở phía trước họng bướm ga, với phần chính là một điện trở có trị số nhiệt điện trở âm ECU sử dụng nhiệt độ cơ bản là C để điều chỉnh lượng nhiên liệu phun; khi nhiệt độ không khí nạp tăng cao, lượng nhiên liệu sẽ giảm, và ngược lại, khi nhiệt độ không khí thấp hơn C, lượng nhiên liệu sẽ được gia tăng.
Hình 2.8: Mạch điện cảm biến khí nạp
Điều khiển động cơ
Hình 2.18: Đường đặc tính cảm biến dây nhiệt
Thời điểm đánh lửa sớm tối ưu bị ảnh hưởng bởi nhiều yếu tố như hình dạng buồng cháy và nhiệt độ bên trong, bên cạnh tốc độ và độ chân không Do đó, bộ đánh lửa sớm chân không và ly tâm không thể tạo ra thời điểm lý tưởng cho động cơ Hệ thống đánh lửa sớm điện tử (Electronic Spark Advance - ESA) giúp động cơ đạt gần đến đặc tính thời điểm đánh lửa lý tưởng, và hệ thống này đã được TOYOTA áp dụng trên chiếc Toyota Yaris 2SZ-FE.
So với các hệ thống đánh lửa trước đó, hệ thống đánh lửa với cơ cấu đánh lửa sớm bằng điện tử có những ưu điểm sau:
- Góc đánh lửa sớm được điều chỉnh tối ưu cho từng chế độ hoạt động của động cơ.
Góc ngậm điện được điều chỉnh liên tục dựa trên tốc độ động cơ và điện áp của Accu, đảm bảo rằng hiệu điện thế thứ cấp luôn đạt giá trị tối ưu trong mọi thời điểm.
- Động cơ khởi động dễ dàng, cầm chừng êm dịu, tiết kiệm nhiên liệu và giảm ô nhiễm khí thải.
- Công suất và đặc tính động học của động cơ được cải thiện rõ rệt.
- Có khả năng điều khiển chống kích nổ cho động cơ.
- Ít bị hư hỏng, có tuổi thọ cao và không cần bảo dưỡng.
Hệ thống đánh lửa điện tử điều khiển góc đánh lửa sớm kết hợp với hệ thống phun xăng đã hoàn toàn thay thế hệ thống đánh lửa bán dẫn truyền thống, nhờ vào những ưu điểm vượt trội Giải pháp này đáp ứng tốt các yêu cầu ngày càng cao về giảm thiểu độ độc hại của khí thải.
Hình 2.10: Đồ thị đường đặc tính góc đánh lửa sớm
Hệ thống ESA sử dụng ECU động cơ để xác định thời điểm đánh lửa dựa vào tín hiệu từ nhiều cảm biến khác nhau, giúp tối ưu hóa góc đánh lửa sớm Sơ đồ hệ thống đánh lửa với cơ cấu điều khiển điện tử được chia thành ba thành phần chính: tín hiệu vào, ECU và tín hiệu điều khiển Igniter Số lượng tín hiệu vào càng nhiều, độ chính xác trong việc xác định góc đánh lửa sớm càng cao.
Các tín hiệu đầu vào từ cảm biến nhiệt độ khí nạp, cảm biến tốc độ xe và cảm biến oxy giúp ECU động cơ xác định thời điểm đánh lửa tối ưu Thông tin này được lưu trữ trong bộ nhớ để phù hợp với từng chế độ hoạt động của động cơ, từ đó ECU gửi tín hiệu đánh lửa chính xác đến IC đánh lửa.
Trong các tín hiệu ngõ vào, tín hiệu tốc độ động cơ, vị trí piston và tín hiệu tải là những yếu tố quan trọng nhất Để xác định tốc độ động cơ, cảm biến có thể được lắp đặt trên vành răng của cốt máy, bánh đà, đầu cốt cam hoặc delco Đối với việc xác định tải của động cơ, ECU sử dụng tín hiệu áp suất trên đường ống nạp hoặc tín hiệu lượng khí nạp Sự thay đổi áp suất trong ống nạp khi tải thay đổi dẫn đến sự biến đổi của tín hiệu điện áp gửi về ECU, giúp ECU xử lý và quy đổi mức tải tương ứng để xác định góc đánh lửa sớm.
Trong các hệ thống đánh lửa truyền thống, góc đánh lửa sớm được điều chỉnh bằng phương pháp cơ khí, dẫn đến độ chính xác thấp Đường đặc tính đánh lửa lý tưởng rất phức tạp và phụ thuộc vào nhiều yếu tố Tuy nhiên, với hệ thống đánh lửa điện tử, góc đánh lửa sớm được điều chỉnh gần với đặc tính lý tưởng hơn Việc kết hợp hai đặc tính đánh lửa theo tốc độ và tải giúp tạo ra bản đồ góc đánh lửa sớm lý tưởng, với khoảng 1000 đến 4000 điểm đánh lửa sớm được lưu trữ trong bộ nhớ.
Hình 2.11: Sơ đồ khối điều khiển đánh lửa của ECU
1 Tín hiệu tốc độ động cơ (NE).
2 Tín hiệu vị trí piston (G).
4 Tín hiệu vị trí bướm ga (VTA).
5 Tín hiệu nhiệt độ nước làm mát (THW).
6 Tín hiệu điện áp Accu.
Hệ thống đánh lửa trên động cơ Toyota Yaris 2SZ-FE không sử dụng bộ chia điện, mà thay vào đó áp dụng 4 bobine đơn cho 4 máy Cụ thể, bobine thứ nhất kết nối với bougie máy 1, bobine thứ hai với bougie máy 2, và bobine thứ ba, tư lần lượt nối với bougie máy 3 và 4 Nhờ tần số hoạt động của mỗi bobine thấp hơn, các cuộn dây sơ cấp và thứ cấp ít bị nóng, dẫn đến kích thước bobine nhỏ gọn và được gắn chắc chắn với nắp chụp bougie.
Trong sơ đồ hình 2.18, ECU xử lý tín hiệu từ các cảm biến và gửi tín hiệu đến cực B của từng transistor công suất trong igniter, đảm bảo thứ tự nổ và thời điểm đánh lửa chính xác.
Cuộn sơ cấp của bôbin loại này có điện trở rất nhỏ, dưới 1 Ω, và không sử dụng điện trở phụ trên mạch sơ cấp do xung điều khiển đã được xử lý sẵn trong ECU Do đó, việc thử nghiệm trực tiếp với điện áp 12V là không được phép.
Hình 2.19 Hệ thống đánh lửa trực tiếp sử dụng mỗi bôbin cho từng bougie
Khi xác định thời điểm đánh lửa, ECU động cơ gửi tín hiệu xung IGT đến IC đánh lửa Tín hiệu xung IGT ở mức cao 5V kích hoạt IC đánh lửa, cho phép dòng điện sơ cấp chạy vào cuộn dây đánh lửa Ngược lại, khi tín hiệu xung IGT ở mức thấp 0V, dòng điện sơ cấp và từ thông giảm đột ngột Điều này tạo ra hiệu điện thế từ 15KV đến 40KV trên cuộn thứ cấp của Bobine Đồng thời, tín hiệu IGF được gửi đến ECU động cơ để thông báo rằng quá trình đánh lửa đã diễn ra, chuẩn bị cho ECU điều khiển phun nhiên liệu.
Hình 2.12: Sơ đồ điều khiển góc đánh lửa sớm của hệ thống đánh lửa trực tiếp xe Toyota
ECU không chỉ điều khiển thời điểm đánh lửa chính xác mà còn kiểm soát góc ngậm điện của Bobine đánh lửa, giúp động cơ hoạt động tối ưu hơn Góc ngậm điện là khoảng thời gian mà tín hiệu xung IGT từ ECU được truyền xuống ở mức cao 5V, mở Transistor công suất trong Igniter, cho phép dòng điện chạy qua cuộn sơ cấp.
Góc ngậm điện phụ thuộc vào hiệu điện thế của ắc quy và tốc độ động cơ Khi khởi động, hiệu điện thế ắc quy giảm do sụt áp, buộc ECU phải tăng thời gian ngậm điện để tăng dòng điện trong cuộn sơ cấp Ở tốc độ thấp, thời gian tích lũy năng lượng quá dài dẫn đến lãng phí, do đó ECU sẽ điều chỉnh xung điện áp để giảm thời gian ngậm điện nhằm tiết kiệm năng lượng và tránh làm nóng Bobine Nếu dòng sơ cấp vượt quá giá trị cho phép, bộ phận hạn chế dòng sẽ hoạt động để giữ dòng điện ổn định cho đến khi đánh lửa.
Hình 2.13: Bản đồ góc ngậm điện
2.2.2 Điều khiển phun nhiên liệu Đi tiên phong trong lĩnh vực nghiên cứu phát triển hệ thống phun nhiên liệu điện tử cho động cơ đốt trong sử dụng trên ô tô là hãng Bosch (Đức) từ những thập niên cuối thế kỷ trước Đến năm 1984, người Nhật mua bản quyền của Bosch và ứng dụng hệ thống phun nhiên liệu điện tử cho các xe của Toyota và chiếc Toyota Yaris 2 SZ- FE cũng được trang bị bộ điều khiển này Ngày nay, hầu hết các xe ô tô du lịch trên thế giới sử dụng động cơ đốt trong đều được trang bị hệ thống phun nhiên liệu điện tử (Electronic Fuel Injection - EFI) Hệ thống này có khả năng cung cấp cho động cơ một hỗn hợp hòa khí hoàn hảo Tùy theo chế độ làm việc của ô tô, EFI thay đổi tỷ lệ khí - nhiên liệu để luôn cung cấp cho động cơ một hỗn hợp khí tối ưu
Hệ thống phun xăng điện tử bao gồm các thành phần chính như cảm biến, bộ vi xử lý trung tâm và các cơ cấu chấp hành Hệ thống này mang lại nhiều ưu điểm, bao gồm khả năng tối ưu hóa hiệu suất động cơ, tiết kiệm nhiên liệu và giảm khí thải độc hại.
- Cung cấp hỗn hợp không khí - nhiên liệu đến từng xylanh đồng đều.
- Điều khiển được tỷ lệ không khí - nhiên liệu dễ dàng, chính xác với tất cả các dãy tốc độ làm việc của động cơ.
- Đáp ứng nhanh chóng, chính xác với sự thay đổi góc mở bướm ga.
- Hiệu suất nạp hỗn hợp không khí - nhiên liệu cao.
Ứng dụng vi điều khiển trong điều khiển động cơ
2.3.1 Phương pháp điều xung PWM
Phương pháp điều xung PWM (Điều chế độ rộng xung) là kỹ thuật điều chỉnh điện áp đầu ra cho tải, thông qua việc thay đổi độ rộng của chuỗi xung vuông, từ đó tạo ra sự biến đổi trong điện áp đầu ra.
Các PWM khi biến đổi thì có cùng 1 tần số và khác nhau về độ rộng của sườn dương hay sườn âm.
Hình 2.21: Đồ thị dạng xung điều chế PWM
Ứng dụng của PWM trong điều khiển
PWM là công nghệ phổ biến trong điều khiển, đặc biệt trong việc điều khiển động cơ và các bộ xung áp, điều áp Nó cho phép điều chỉnh tốc độ của động cơ và đảm bảo sự ổn định trong quá trình hoạt động.
Ngoài lĩnh vực điều khiển hay ổn định tải thì PWM còn tham gia và điều chế các mạch nguồn như : boot, buck, nghịch lưu 1 pha và 3 pha
PWM được ứng dụng rộng rãi trong các mạch điện điều khiển, đặc biệt là để điều khiển các phần tử điện tử công suất với đường đặc tính tuyến tính khi có nguồn một chiều cố định Nhờ vào khả năng này, PWM trở thành yếu tố quan trọng trong các thiết bị điện - điện tử Ngoài ra, PWM cũng được các đội Robocon sử dụng để điều khiển và ổn định tốc độ động cơ.
Nguyên lý hoạt động của PWM (Điều chế độ rộng xung) dựa trên việc đóng ngắt nguồn cung cấp cho tải theo chu kỳ, tuân theo quy luật điều chỉnh thời gian Phần tử thực hiện nhiệm vụ này trong mạch là các van bán dẫn.
Hình 2.2: Sơ đồ xung của van điều khiển và đầu ra
Trong khoảng thời gian từ 0 đến t0, van G được mở, cho phép toàn bộ điện áp nguồn Ud được cung cấp cho tải Ngược lại, trong khoảng thời gian từ t0 đến T, van G được khóa, ngắt nguồn cung cấp cho tải Do đó, khi t0 thay đổi từ 0 đến T, chúng ta có thể điều chỉnh mức điện áp cung cấp cho tải, từ toàn bộ, một phần cho đến việc khóa hoàn toàn.
Công thức tính giá trị trung bình của điện áp ra tải :
Gọi t1 là thời gian xung ở sườn dương (khóa mở), T là thời gian tổng của cả sườn âm và dương, và Umax là điện áp nguồn cung cấp cho tải.
Ud = Umax.( t1/T) (V) hay Ud = Umax.D (Với D = t1/T là hệ số điều chỉnh và được tính bằng % tức là
Như vậy ta nhìn trên hình đồ thị dạng điều chế xung thì ta có : Điện áp trung bình trên tải sẽ là :
Để tạo ra PWM (Pulse Width Modulation) nhằm điều khiển thiết bị, hiện nay có hai phương pháp phổ biến: sử dụng phần cứng và sử dụng phần mềm.
Trong phần cứng có thể tạo bằng phương pháp so sánh hay là từ trực tiếp từ các IC dao động tạo xung vuông như : 555, LM556
Phần mềm được phát triển bằng các chip lập trình mang lại độ chính xác cao hơn so với phương pháp phần cứng, vì vậy PWM thường được tạo ra thông qua phần mềm Bài viết này sẽ đề cập đến hai phương pháp điều chế PWM phổ biến: phương pháp so sánh và tạo xung vuông bằng phần mềm.
PWM trong điều khiển động cơ và trong các bộ biến đổi xung áp
PWM là một phương pháp phổ biến trong điều khiển động cơ, cho phép điều chỉnh tốc độ hoạt động của động cơ một cách linh hoạt, bao gồm cả việc tăng tốc, giảm tốc và đảo chiều Ứng dụng này đặc biệt hiệu quả trong việc điều khiển động cơ một chiều, giúp duy trì sự ổn định trong quá trình vận hành.
Mạch điều khiển động cơ DC là một hệ thống đơn giản nhưng hiệu quả Để điều khiển động cơ quay thuận và quay ngược, việc sử dụng cầu H là cần thiết.
Trong các bộ biến đổi xung áp, PWM đóng vai trò quan trọng trong việc điều chỉnh dòng điện và điện áp ra tải Các loại bộ biến đổi xung áp bao gồm biến đổi xung áp nối tiếp và biến đổi xung áp song song.
Lấy ví dụ 1 mạch nguyên lý đơn giản trong bộ nguồn Boot đơn giản.
Mạch nguồn Boot đơn giản hoạt động dựa trên nguyên lý sử dụng xung điều khiển để tích lũy năng lượng từ trường, từ đó tạo ra điện áp đầu ra lớn hơn điện áp đầu vào.
Ngoài ra, PWM còn được sử dụng trong các bộ chuyển đổi DC -AC , hay trong biến tần, nghịch lưu.
2.3.2 IC MCP 4921 Để hỗ trợ chức năng DAC thì phải ghép nối thêm IC phụ có chức năng DAC DAC là chức năng ngược của ADC tức là biến đổi tín hiệu từ dạng số sang tương tự, nó nhận vào một chuỗi số nhị phân và xuất sang tín hiệu điện áp tương tự.
IC MCP4921 là một loại IC DAC với độ phân giải 12 bit, hoạt động trong dải điện áp từ 2,7 đến 5V và sử dụng giao tiếp SPI với vi điều khiển Nó có chân điện áp tham chiếu ngoài, một ngõ ra điện áp tương tự và bộ khuếch đại hai lần cho điện áp ngõ ra Thời gian xác lập ngõ ra của MCP4921 là 4,5us, với dòng tiêu thụ chỉ 175uA IC này có cấu trúc 2 hàng chân, mỗi bên có 4 chân, và hoạt động hiệu quả trong dải nhiệt độ từ -40°C đến 125°C.
Hình 2.2: Sơ đồ chân IC MCP4921
Chân 2: CS: Chip Select Chân 3: SCK: Clock Chân 4: SDI: Serial Data In Chân 5: LDAC: chốt ngõ vào.
Chân 6: V REFA : điện áp tham chiếu Chân 7: AV SS : nguồn 0V
Chân 8: V OUTA : ngõ ra analog
2.3.3 Giao tiếp Arduino với MCP4921
Hình 2.2: Sơ đồ kết nối Arduino với IC MCP4921
Giải thích kí hiệu các chân trong sơ đồ:
- 5V và GND là 2 chân cấp nguồn cho 2 MCP4921
- A0 là chân thu thập tín hiệu điều khiển VPA
- A1 là chân thu thập tín hiệu điều khiển VPA2
- Chân 13 tạo tín hiệu định thời dữ liệu cho MCP4921
- Chân 9,10 tạo ra tín hiệu thu phát dữ liệu tới MCP4921
- Chân SCK nhận tín hiệu định thời dữ liệu trên Arduino
- Chân SDI nhận sữ liệu truyền tới từ Arduino
- Chân CS nhận tín hiệu báo sự bắt đầu và kết thúc một lần thu phát dữ liệu qua SPI
- Chân LDAC là chân nối với GND trên Arduino
- Chân VREFA là chân nhận nguồn 5V cung cấp cho MCP4921
- Chân VOUTA đưa tín hiệu đi điều khiển VPA và VPA2 thay thế tín hiệu điều khiển của bàn đạp ga.
Chi tiết nối chân giữa Arduino và MCP4921
- Chân SCK của U1 nối với chân SCK của U2 và nối với chân 13 của Arduino
- Chân CS của U1 nối với chân 10 của Arduino
- Chân CS của U2 nối với chân 9 của Arduino
- Chân SDI của U1 nối với chân SDI của U2 và nối với chân 11 của Arduino
- Chân LDAC của U1 nối với chân LDAC của U2 và nối với chân GND của Arduino
- Chân VREFA của U1 nối với chân VREFA của U2 và nối với chân 5V trên Arduino
- Chân VOUTA của U1 nối với chân A0 trên Arduino
- Chân VOUTA của U2 nối với chân A1 trên Arduino
2.3.4 Giao tiếp SPI giữa Arduino và MCP4921
- Để DAC tạo được điện áp ngõ ra thì phải gửi lệnh cho DAC Chiều dài của lệnh là
4 bit cao là cấu hình 4 bit dùng để tùy chỉnh các chế độ hoạt động của DAC, trong khi 12 bit thấp đại diện cho các số nhị phân cần được chuyển đổi sang điện áp tương tự.
Thiết kế phần cứng
3.1.1 Sơ lược về động cơ cần thu thập tín hiệu và điều khiển Toyota Yaris 2SZ - FE
- Động cơ xăng, 4 xylanh thẳng hàng.
- Hệ thống đánh lửa sớm điện tử (Electronic Spark Advance - ESA) sử dụng Bobine đơn.
- Hệ thống phun xăng điện tử (Electronic Fuel Injection - EFI)
Thu thập tín hiệu từ các cảm biến là bước quan trọng trong việc tối ưu hóa hiệu suất động cơ Các cảm biến bao gồm nhiệt độ nước làm mát, nhiệt độ khí nạp, vị trí bướm ga và cảm biến lưu lượng khí nạp Ngoài ra, tín hiệu IGT được sử dụng để đo thời gian ngăm điện của Bobine và tốc độ động cơ Đặc biệt, tín hiệu từ chân #10 hoặc #20 trên mỗi kim phun được gửi về ECU động cơ để theo dõi thời gian hoạt động của kim phun nhiên liệu trong mỗi chu kỳ của máy.
- Thu thập tín hiệu cảm biến vị trí bàn đạp ga tín hiệu kép loại tuyến tính.
Sử dụng board Arduino để thu thập dữ liệu từ các hệ thống trên động cơ:
Tín hiệu analog từ cảm biến nhiệt độ khí nạp (THA) được thu thập qua chân tín hiệu của cảm biến tại họng gió Tín hiệu này sau đó được truyền đến ECU thông qua một điện trở 1,5 KΩ và kết nối với chân A2 trên board Arduino.
Tín hiệu analog từ cảm biến nhiệt độ nước làm mát (THW) được truyền từ chân tín hiệu của cảm biến tại khoang động cơ đến ECU qua một điện trở 1,5 KΩ, sau đó được đưa vào chân A3 trên board Arduino.
Tín hiệu analog từ cảm biến lưu lượng khí nạp (VG) được thu thập qua chân tín hiệu của cảm biến, được kết nối với chân A4 trên board Arduino thông qua một điện trở 1,5 KΩ.
Tín hiệu analog từ cảm biến vị trí bướm ga (VTA) được truyền đến ECU thông qua một điện trở 1,5 KΩ, kết nối với chân A5 trên board Arduino.
Tín hiệu góc ngậm đánh lửa và tốc độ động cơ được truyền từ chân tín hiệu IGT của ECU xuống Bobine qua một điện trở 1,5KΩ, sau đó kết nối với chân digital 2 trên board Arduino.
#40 sau một trong bốn kim phun qua một con điện trở 10KΩ về chân digital 3 trên board Arduino.
Sử dụng board Arduino và microchip MCP 4921 để giả tín hiệu cảm biến vị trí bàn đạp ga điều khiển động cơ:
Hình 3.1: Mạch in thiết kế trên Protues điều khiển và thu thập
Tín hiệu analog giả từ cảm biến vị trí bàn đạp ga (VPA) được thu thập từ chân tín hiệu số 8 trên Microchip MCP 4921 và được truyền vào chân A0 của board Arduino.
Tín hiệu analog giả từ cảm biến vị trí bàn đạp ga (VPA2) được thu thập từ chân tín hiệu số 8 của Microchip MCP 4921 thứ II và được truyền vào chân A1 của board Arduino.
- Chân số 1 và số 6 của cả hai MCP 4921 nối với nhau và nối với chân 5V board Arduino.
- Chân số 2 MCP 4921 thứ I nối với chân ra số 10 board Arduino để nhận xung điều chỉnh.
- Chân số 2 MCP 4921 thứ II nối với chân ra số 9 board Arduino để nhận xung điều chỉnh.
- Chân số 3 của cả hai MCP 4921 nối với nhau và nối về chân ra 13 board Arduino.
- Chân số 4 của cả hai MCP 4921 nối với nhau và nối với chân ra 11 board Arduino.
- Chân số 5 và 7 của cả hai MCP 4921 nối với nhau và nối về chân GND board Arduino.
- Chân số 8 MCP 4921 thứ I đưa tín hiệu đi điều khiển giả tín hiệu chân VPA của cảm biến bàn đạp ga trên ECU động cơ.
- Chân số 8 MCP 4921 thứ II đưa tín hiệu đi điều khiển giả tín hiệu chân VPA2 của cảm biến bàn đạp ga trên ECU động cơ.
- Và một điều quan trọng là chúng ta cần nối chân GND của Arduino với cực âm của Accu khởi động trên xe để đồng bộ hóa dữ liệu.
Hình 3.2: Mạch thiết kế 3D trên Protues
Thiết kế mạch OR bảo vệ bàn đạp ga và linh kiện mạch:
Mạch OR bao gồm hai điốt và một điện trở 1k, trong đó mỗi đầu Anot của điốt được kết nối với tín hiệu điều khiển Hai đầu Katot của điốt được nối với nhau, sau đó kết nối với một đầu của điện trở và xuống mass Từ đầu Katot, mạch tạo ra một ngõ ra để thực hiện chức năng điều khiển.
Hình : Các chế độ hoạt động của cổng OR
- Nguyên lí hoạt động của cổng OR:
Khi cả hai đầu A và B đều ở mức 1 (5V), hai điốt được phân cực thuận và dòng điện sẽ đi qua điốt, dẫn đến A và B vẫn giữ ở mức 1 Dòng điện không đi xuống GND do điện trở tại đây có trở kháng lớn Nếu đầu phân cực nghịch, dòng điện sẽ chạy qua D1 mà không qua D2, do đó A+B vẫn ở mức 1 Ngược lại, nếu A ở mức 0 và B ở mức 1, dòng điện sẽ chạy qua D2 mà không qua D1, giữ cho A+B ở mức 1 Cuối cùng, khi cả A và B đều ở mức 0, đầu ra A+B sẽ ở mức 0 vì hai điốt phân cực nghịch không cho dòng điện chạy qua, dẫn đến A+B không có dòng điện.
- Hình c là bảng chân lí giá trị vào ra của cổng OR.
- Hình d là giản đồ xung và giản đồ xung đầu ra của cổng OR.
- Thiết kế mạch cổng OR trên board để điều khiển:
Hình 3.1: Mạch “OR” thiết kế trên mô hình thật
Hình 3.4: Hình vẽ mô phỏng mạch điện tổng thể
Hình 3.5: Thiết kế hộp bộ thu thập và điều khiển động cơ
Thiết kế phần mềm
Arduino thu thập dữ liệu qua các chân trên board và gửi thông tin này qua giắc nối USB type B đến đầu cáp nối với USB type A trên máy tính.
Hình 3.1: Cáp kết nối Arduino và máy tính
Máy tính giao tiếp với Arduino thông qua Serial Monitor bằng cách mở cổng COM, cho phép truyền dữ liệu từ output buffer của Arduino vào input buffer của máy tính Sau đó, máy tính đọc các dòng dữ liệu này và chuyển đổi chúng thành lệnh (Serial Command), trong khi Arduino cũng sử dụng phương thức tương tự để xử lý thông tin.
Hình 3.2: Giao tiếp giữa máy tính và Arduino
- Sơ đồ khối đọc tín hiệu từ 5 chân Analog trong chương trình Arduino:
Hình 3.3: Sơ đồ khối đọc tín hiệu từ các chân tín hiệu
- Sơ đồ khối đọc tín hiệu xung IGT và tín hiệu xung #10 hoặc #20:
Hình 3.4: Sơ đồ khối đọc tín hiệu xung IGT
- Gửi tín hiệu đọc được từ Arduino lên máy tính:
Hình 3.5: Sơ đồ khối Gửi tín hiệu đọc được từ Arduino lên máy tín
1- #include "SPI.h" // necessary library 2- byte comdata[2] = {0}, receive = 0;
3- int n = 0, flag = 0, led_analog1 = 0, led_analog2 = 0, analog_read1 = 0, analog_read2 = 0, digital_read1 = 0, digital_read2 = 0;
4- int del=0; // used for various delays 5- word outputValue1 = 0, outputValue2 = 0; // a word is a 16-bit number 6- byte data = 0; // and a byte is an 8-bit number
7- int THA, THW, VG, VTA;
10- unsigned long thoigianmuccao1, biencux1, biencuy1, thoigianmucthap1; 11- unsigned long thoigianmuccao0, biencux0, biencuy0, thoigianmucthap0; 12- unsigned long chuky, tocdo;
//set pin(s) to input and output 15- pinMode(10, OUTPUT);
17- SPI.begin(); // wake up the SPI bus.
79- } 80- outputValue1 = map(led_analog1,0,100,647,2875); // VPA: 0.8V > 3.54V 81- outputValue2 = map(led_analog1,0,100,1248,3521); // VPA2: 1.2V > 4.33V 82- digitalWrite(10, LOW);
The code includes the SPI library and initializes necessary variables for data communication, including an array for incoming data and flags for controlling LED states and reading analog and digital inputs Various integer and unsigned long variables are defined for managing delays and timing, with specific pins assigned for input/output operations The structure of the code is designed to facilitate interaction with hardware components, enabling the reading of analog and digital signals while maintaining precise timing for effective data processing.
Dòng 1-12: khai báo thư viện sử dụng (SPI), khai báo biến dữ liệu để điều khiển bàn đạp ga, biến dữ liệu cho chương trình con để ngắt và xử lí xung.
Int Kiểu Int là kiểu số nguyên Kiểu int chiếm 2 byte bộ nhớ.
Có giá trị từ -32,768 đến 32,767 (từ ) (16 bit).
Byte là kiểu dữ liệu dùng để biểu diễn số nguyên trong khoảng từ 0 đến 255 Mỗi biến kiểu byte chiếm 1 byte bộ nhớ Đây là kiểu số nguyên 16 bit không âm, cho phép lưu trữ các giá trị từ 0 trở lên.
65535), và nó chiếm 2 byte bộ nhớ.
Unsigned long Là kiểu số nguyên nằm trong khoảng từ 0 đến 4,294,967,295 ( 0 đến Mỗi biến mang kiểu dữ liệu này chiếm 4 byte bộ nhớ.
Const int Giống như khai báo kiểu int nhưng giá trị của biến cố định được gán cho các chân ( như chương trình trên pin1 gán cho chân digital 3).
Chương trình setup() được khởi động để khai báo biến, thư viện và thiết lập các thông số cần thiết Hàm này cũng khởi tạo chương trình ngắt và đặt chế độ cho các chân (nhận hoặc xuất tín hiệu) Lưu ý rằng hàm setup() chỉ chạy một lần sau khi cấp nguồn hoặc reset mạch.
Thư viện Serial là công cụ quan trọng cho việc giao tiếp giữa các board mạch, máy tính và các thiết bị khác Mỗi board mạch Arduino đều có ít nhất một cổng Serial (UART hoặc USART), cho phép giao tiếp qua hai cổng digital 0 (RX) và 1 (TX) hoặc qua cổng USB Trong chương trình, giao tiếp được khởi tạo tại dòng 14 với giá trị baudrate được thiết lập là 115200 Khi sử dụng bảng Serial monitor trong Arduino IDE, cần chọn giá trị baudrate tương ứng với cài đặt lập trình.
Dòng 15-16, 21-22: pinMode(10, OUTPUT); pinMode(9, OUTPUT); pinMode(3, INPUT_PULLUP); pinMode(2, INPUT_PULLUP);
Hàm pinMode(pin, mode) là một hàm quan trọng trong lập trình Arduino, cho phép người dùng thiết đặt chế độ hoạt động cho các chân digital Hàm này nhận hai tham số, bao gồm pin (chân digital muốn thiết đặt) và mode (cấu hình hoạt động của chân digital) Tham số mode quy định chân digital hoạt động như một đầu vào (INPUT) hoặc đầu ra, giúp người dùng tùy chỉnh hoạt động của chân digital theo nhu cầu cụ thể.
Ngoài ra chế độ INPUT vô hiệu hóa một cách rõ rang điện trở nội bộ.
Dòng 17: SPI.begin(); kích hoạt giao tiếp SPI
SPI (Serial Peripheral Bus) là chuẩn truyền thông nối tiếp tốc độ cao được phát triển bởi Motorola, hoạt động theo mô hình Master-Slave Trong hệ thống này, một chip Master điều phối quá trình truyền thông, trong khi các chip Slave được điều khiển bởi Master, dẫn đến việc truyền thông chỉ diễn ra giữa Master và Slave SPI cho phép truyền dữ liệu song công (full duplex), nghĩa là quá trình truyền và nhận dữ liệu có thể diễn ra đồng thời.
Xác định cách để gửi dữ liệu, MSB hay LSB trước Thông số này liên quan tới cách
1 byte dữ liệu được truyền đi như thế nào.
Dòng 19-20: digitalWrite(10, HIGH); digitalWrite(9, HIGH);
Trong đoạn mã, chúng ta thiết lập pin 9 và pin 10 ở chế độ OUTPUT bằng cách sử dụng pinMode() Khi xuất tín hiệu HIGH, điện thế tại hai chân này sẽ là 5V (hoặc 3,3V trên mạch 3,3V), và khi xuất tín hiệu LOW, điện thế sẽ giảm xuống 0V.
Dòng 23-24: attachInterrupt(1, ngat1, FALLING); attachInterrupt(0, ngat0, FALLING);
Ngắt (interrupt) là các lời gọi hàm tự động khi hệ thống phát sinh sự kiện, được thiết lập bởi nhà sản xuất vi điều khiển qua phần cứng và cấu hình trong phần mềm với các tên gọi cố định Việc sử dụng ngắt giúp chương trình trở nên gọn nhẹ và tăng tốc độ xử lý Để khởi tạo chương trình con ngắt, ta sử dụng hàm attachInterrupt(interrupt, ISR, mode);.
- interrupt: Số thứ tự của ngắt Trên Arduino Uno, bạn có 2 ngắt với số thứ tự là 0 và 1
Để sử dụng ngắt số 0, bạn cần kết nối nó với chân digital số 2 và ngắt số 1 với chân digital số 3 Để tạo ra sự kiện ngắt, hãy gắn nút nhấn hoặc cảm biến vào các chân tương ứng Nếu bạn kết nối nút nhấn ở chân digital 4 cho ngắt số 0, hệ thống sẽ không hoạt động.
- mode: kiểu kích hoạt ngắt, bao gồm:
- LOW: kích hoạt liên tục khi trạng thái chân digital có mức thấp
- HIGH: kích hoạt liên tục khi trạng thái chân digital có mức cao.
- RISING: kích hoạt khi trạng thái của chân digital chuyển từ mức điện áp thấp sang mức điện áp cao.
- FALLING: kích hoạt khi trạng thái của chân digital chuyển từ mức điện áp cao sang mức điện áp thấp.
Chương trình con xử lí ngắt
Dòng 26 - 57 chương trình con của ngat1: void ngat1(){…}
Dòng 28: hàm detachInterrupt(interrupt) sẽ tắt các ngắt đã được kích hoạt tương ứng với thông số truyền vào Ở đây interrupt là số thứ tự ngắt.
Chương trình ngắt trong dòng 29 – 39 sử dụng hàm if … else để xử lý tín hiệu xung từ kim phun, giúp tách thời gian phun nhiên liệu vào buồng đốt cho mỗi chu trình của máy Hàm micros() được sử dụng để trả về thời gian tính bằng micro giây kể từ khi chương trình ngắt ngừng hoạt động, cho phép Arduino xác định thời gian phun nhiên liệu ở mức thấp (LOW) trong mỗi chu kỳ xung từ tín hiệu kim phun.
Và chương trình xử lý ta lấy ra được thời gian kim phun cho mỗi chu trình là thoigianmucthap1.
Từ dòng 42 – 57 chương trình con của ngat0: void ngat0(){…}
Từ phương pháp tương tự như chương trình con ngat1, chúng ta có thể tính toán thời gian ngậm (thoigianmuccao0) từ xung IGT trong chương trình con ngat0 Ngoài ra, chúng ta cũng tính được chu kỳ bằng tổng của thoigianmuccao0 và thoigianmucthap0, điều này hỗ trợ cho việc tính toán số vòng quay của động cơ trong quá trình thực hiện dưới vòng lặp.
Trong lập trình Arduino, các lệnh trong hàm setup() sẽ được thực thi khi chương trình khởi động, cho phép bạn khai báo giá trị biến, thư viện và thiết lập các thông số cần thiết Sau khi hàm setup() hoàn tất, các lệnh trong hàm loop() sẽ được thực hiện liên tục cho đến khi nguồn của board Arduino bị ngắt.
Hình : chương trình vòng lặp Arduino
Chương trình này bắt đầu từ dòng 58 – 123: void loop() { }
Dòng 60-78: dữ liệu điều khiển được truyền từ trên Labview xuống Arduino, sử dụng lập trình mảng.
Dòng 80-81: outputValue1 = map(led_analog1,0,100,647,2875); outputValue2 = map(led_analog1,0,100,1248,3521);
Chuyển đổi dữ liệu sang dạng 12 bit (có giá trị từ 0 đến 4095) của IC MCP4921 bằng cú pháp Map (val, A1, A2, B1, B2);
Val: giá trị cần chuyển đổi A1, A2 là giới hạn trên và dưới của thang đo hiện tại B1, B2 là giới hạn trên và dưới của thang đo cần chuyển tới.
THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ
Quy trình thực nghiệm
Kết nối các chân cảm biến THA, THW, PIM, VTA, FUEL và xung IGT, cùng với xung kim phun #10 hoặc #20 vào board Arduino Dữ liệu từ board Arduino được truyền lên máy tính SERVER qua giao tiếp Serial Monitor, cho phép hiển thị giá trị cảm biến và xung thông qua phần mềm LabVIEW.
Kết nối các chân của 2 MCP4921 với board Arduino để thực hiện điều khiển bàn đạp ga điện tử:
Kết nối các chân của 2 MCP4921 với nhau.
- Bước 1: Xác đính chân tín hiệu từ các cảm biến và kết nối với các chân Arduino để đọc tín hiệu.
- Bước 2: Kết nối board Arduino với máy tín và khởi động Arduino IDE nạp chương trình code cho phần cứng.
- Bước 3: Khởi động chương trình LabVIEW trên 2 máy SERVER và CLIENT Xác định cổng COM trên chương trình LabVIEW của máy SERVER.
Để hoàn tất bước 4, bạn cần xác nhận địa chỉ IP WAN tại Site trung tâm và địa chỉ IP LAN của máy SERVER, nhằm đọc được PORT sau khi thực hiện NAT PORT Sau đó, hãy nhập địa chỉ IP WAN vào máy CLIENT và đảm bảo chân PORT đồng nhất với địa chỉ IP LAN trên máy SERVER.
- Bước 5: Khởi động động cơ
- Bước 6: Khởi chạy chương trình LabVIEW máy SERVER trước rồi chạy chương trình trên máy CLIENT sau.
Kết quả được hiển thị thông qua hai máy, thực hiện việc đọc và kiểm tra tín hiệu, đồng thời ghi lại các tín hiệu từ các chế độ hoạt động của xe.
Kết quả thức nghiệm thu được khi nổ máy xe
- Xe hoạt động với chế độ không tải (máy lạnh, quạt, đèn không bật).
- Xe nằm trong xưởng động cơ với nhiệt độ môi trường tại xưởng bình thường.
Kết quả đo được thể hiện đầy đủ trên giao diện LabVIEW của 2 máy SERVER và CLIENT với các tín hiệu đo được ở thử nghiệm 1 như sau:
Hình 4.1: Giao diện chương trình SERVER lúc không tải (VTA 0 %)
Hình 4.2: Giao diện chương trình CLIENT lúc không tải (VTA 0 %)
Các biểu đồ thể hiện đặc tính của các tín hiệu thử nghiệm 1 thu được như sau:
Hình 4.3: Bảng đồ thị kết quả chương trình SERVER lúc không tải (VTA 0 %)
Hình 4.4: Bảng đồ thị kết quả chương trình CLIENT lúc không tải (VTA 0 %)
- Xe hoạt động với chế độ không tải (máy lạnh, quạt, đèn không bật).
- Xe nằm trong xưởng động cơ với nhiệt độ môi trường tại xưởng bình thường.
Kết quả đo được thể hiện đầy đủ trên giao diện LabVIEW của 2 máy SERVER và CLIENT với các tín hiệu đo được ở thử nghiệm 2 như sau:
Hình 4.5: Giao diện chương trình SERVER lúc có tải (VTA 31 %)
Hình 4.6: Giao diện chương trình CLIENT lúc không tải (VTA 31%)
Các biểu đồ thể hiện đặc tính của các tín hiệu thử nghiệm 2 thu được như sau:
Hình 4.7: Bảng đồ thị kết quả chương trình SERVER lúc không tải (VTA 31 %)
Hình 4.8: Bảng đồ thị kết quả chương trình CLIENT lúc không tải (VTA 31 %)
****** quy trình thực hiện điều khiển bàn đạp ga