Nhóm cùng hợp tác với nhóm của bạn Nguyễn Hoàng Đạt và bạn Trần Gia Hòa làm phần cứng với đề tài “Thiết kế, chế tạo mô hình các cảm biển – cơ cấu chấp hành hệ thống điều khiển động cơ”,
TỔNG QUAN
Lí do chọn đề tài
Đi cùng với sự phát triển của khoa học, kỹ thuật và công nghệ, con người đã áp dụng nhiều thành tựu nghiên cứu vào đời sống Nhờ đó những thiết bị hiện đại được ra đời, tất cả chúng được tạo ra với một mục đích giúp con người có cuộc sống thoải mái dễ dàng hơn Những sản phẩm tiên tiến liên quan đến rất nhiều lĩnh vực bao gồm: giải trí, đi lại, học tập… các thiết bị di động thông minh, các thiết bị điện tử, các hệ thống thông tin, mạng lưới Internet toàn cầu, trí thông minh nhân tạo… Trong đó, không thể không kể đến ô tô Đã từng có thời điểm, người ta nhìn vào sự phát triển của ngành công nghiệp ô tô để đánh giá sự phát triển của quốc gia đó
Ngành công nghiệp ô tô càng ngày càng phát triển, nó giúp kinh tế phát triển con người có lợi ích được sử dụng công nghệ mới, nhưng vấn đề đặt ra là con người phải có thêm kiến thức để quản lý, sử dụng, thậm chí là phát triển công nghệ đó lên một tầm cao hơn Để làm được việc đó, giờ đây không chỉ thông qua việc học lý thuyết mà còn phải kết hợp với thực hành trực tiếp Nó giúp con người đối mặt với vấn đề và giải quyết vấn đề một cách cụ thể nhất
Qua những điều nêu ở trên, nhóm nhận thấy việc trang bị thật tốt cho mình kiến thức lý thuyết là chưa đủ, bản thân phải đối mặt với vấn đề thực tế nhiều hơn trước khi bước vào công việc trong tương lai Tuy nhiên, sinh viên hiện nay khá tự tin vào kiến thức mình đã học mà bỏ quên đi tính trải nghiệm thực tế Nhận thấy được việc đó, chúng em đã cùng nhau tìm hiểu và xin phép được sự hướng dẫn của giảng viên Nguyễn Thiện Dinh để thực hiện đề tài “Thiết kế phần mềm chẩn đoán các cảm biến – cơ cấu chấp hành hệ thống điều khiển động cơ” nhằm hỗ trợ giảng viên giảng dạy và đưa sinh viên ứng dụng lý thuyết đã học vào gần với thực tế hơn.
Thực trạng hiện tại
Năm 2019, một nhóm nghiên cứu sinh tại Khoa Giáo dục Kỹ thuật Ô tô, Đại học Negeri Yogyakarta, Indonesia bao gồm M.Wakid, T.Usman và B.Sulistyo đã thực hiện nghiên cứu “Project Based Learning Model to Increase the Competency of Automotive Engineering Teachers Candidates” [1] Nghiên cứu này nhằm tạo ra một mô hình học dựa trên dự án cho giáo dục nghề nghiệp (Project-Based Learning model - PjBL) trong việc học thực hành các khóa học về ô tô về điện thân xe Sản phẩm của nghiên cứu này là một mô hình PjBL cho giáo dục nghề nghiệp trong lĩnh vực ô tô đã được đánh giá và khẳng định phù hợp để sử dụng như một mô hình học trong lĩnh vực ô tô của giáo dục nghề nghiệp Sinh viên tham gia thực nghiệm cũng đã cho các phản hồi rất tích cực về kết quả của nghiên cứu và đánh giá rất cao các hiệu quả mà nghiên cứu mang lại
Vào tháng 6 năm 2023, trong một bài đăng có tựa đề “An example of an advanced sensor-based car automation system using Raspberry Pi with MACHINE LEARNING in Python source codes for real-times projects” [2], trên mạng xã hội Linkedln, tác giả Harisha Lakshan Warnakulasuriya đã đề cập đến việc kết nối giữa cảm biến và phần mềm dựa theo thời gian thực
Năm 2013, nhận thức được tầm quan trọng của việc giảng dạy kết hợp với sử dụng mô hình, ThS Châu Quang Hải tại trường Đại học Sư Phạm Kỹ Thuật TP.HCM đã tiến hành nghiên cứu và đề xuất đề tài nghiên cứu khoa học “Mô phỏng hệ thống EDC” để tạo ra một đĩa CD mô phỏng lại hệ thống EDC (Electronic Diesel Control – Hệ thống phun dầu điện tử) [3], giúp sinh viên có thể dễ dàng nghiên cứu cấu tạo và nguyên lý của hệ thống Thiết kế trên đĩa CD giúp việc trao đổi giữa các người dùng dễ dàng hơn
Việc áp dụng các nội dung Multimedia vào việc giảng dạy trong hệ thống điện ô tô ở nước ta còn hạn hẹp Tháng 11, năm 2013, ThS Đinh Tấn Ngọc của trường Đại học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh đã tiến hành đề tài nghiên cứu “Ứng dụng MULTIMEDIA mô phỏng các hệ thống nhiên liệu trong động cơ Diesel bằng phần phần mềm Flash” [4] Đề tài đã bổ sung được nguồn tài liệu giảng dạy cho bộ môn thực tập động cơ Diesel thêm sinh động, trực quan với những hình ảnh và video thực tế, giúp cho công tác dạy và học được tốt hơn
Tháng 10 năm 2015, ThS Lê Khánh Tân đã thực hiện đề tài “Nghiên cứu, thiết kế, chế tạo thử nghiệm phần mềm chẩn đoán PAN của hệ thống điện điều khiển động cơ” [5] Đề tài đã chế tạo ra được mô hình để chẩn đoán PAN của hệ thống điện điều khiển động cơ, góp phần làm nâng cao hiệu quả giảng dạy và kỹ năng thực hành chẩn đoán của sinh viên Kế thừa thành công của đề tài trước, ThS Lê Khánh Tân tiếp tục thực hiện đề tài nghiên cứu chế tạo mô hình ứng dụng IOT trong việc thu thập dữ liệu trên ô tô vào năm 2019 [6] Đề tài đã rất thành công khi sử dụng kết hợp Arduino và các nền tảng của LabVIEW cho ra kết quả là một board mạch thu thập dữ liệu không dây và có thể hiển thị lên máy tính
Gần đây, tháng 7 năm 2023, nhóm hai bạn Lâm Duy Huy và Trần Vũ Hảo thực hiền đề tài tốt nghiệp mang tên “Nghiên cứu, thiết kế và chế tạo mô hình thực tập điện tử cơ bản trên ô tô” [7] Đề tài giúp sinh viên có thể thực hành ngay sau khi được học các lý thuyết về mạch điện, điều này giúp sinh viên quan sát trực quan hơn, nắm vững và ghi nhớ tốt hơn các kiến thức đã học, còn được trang bị các kỹ năng thực hành, phán đoán
Qua những đề tài nghiên cứu ở trên, có thể thấy được rằng việc áp dụng mô hình vào việc giảng dạy là một vấn đề đáng được quan tâm và đầu tư nhiều hơn Tuy nhiên, các công trình nghiên cứu trên mặc dù đã đưa ra được những giải pháp, áp dụng được nhiều kỹ thuật nhưng vẫn còn chưa khai thác hết được tiềm năng của phương pháp giảng dạy này Nắm bắt được điều đó, nhóm đã nghiên cứu và tìm hiểu, tiến hành đề tài có thể kết nối được giữa phần mềm máy tính và thiết bị phần cứng thông qua các phương thức giao tiếp ngoại vi, đồng thời tích hợp được nội dung giảng dạy để giúp cho việc truyền tải kiến thức đi đôi với thực hành, giúp việc học về cảm biến – cơ cấu chấp hành trực quan hơn, dễ tiếp cận với sinh viên hơn, cho sinh viên cái nhìn gần với thực tế hơn về các hệ thống trên xe cũng như các vấn đề mà những hệ thống sẽ gặp phải.
Mục tiêu của đề tài
- Tìm hiểu cơ sở lý thuyết phần mềm Visual Studio Windows Forms để xây dựng phần mềm trên hệ điều hành Windows Tiến hành mô phỏng các chức năng của phần mềm và phần cứng trước khi tiến hành thực tế
- Lưu trữ dữ liệu sinh viên giúp giảng viên dễ dàng quản lý và kiểm tra học tập
- Xây dựng được phần mềm hỗ trợ việc giảng dạy của giáo viên và giao tiếp được với phần cứng để giúp cho việc giảng dạy được trực quan hơn
- Thư viện bài học với các bài giảng cơ bản về các cảm biến – cơ cấu chấp hành hệ thống điều khiển động cơ trên ô tô, hỗ trợ cho việc giảng dạy Giảng viên có thể bổ sung hoặc thay thế nội dung bài học, thực hành cho phù hợp với thực tế giảng dạy.
Đối tượng và phạm vi nghiên cứu
Trong đề tài này, nhóm tập trung nghiên cứu các đối tượng:
- Phần mềm Visual Studio Windows Form
- Arduino và cách giao tiếp giữa phần mềm và phần cứng (cảm biến và cơ cấu chấp hành)
- Giáo trình giảng dạy về điện tử cơ bản trên ô tô cho sinh viên
Phạm vi nghiên cứu của đề tài này sẽ tập trung vào việc thiết kế phần mềm Winforms có thể giao tiếp được với phần cứng, phần mềm gửi tín hiệu đến phần cứng, mạch điều khiển và mạch tạo pan, hiển thị chúng lên phần mềm.
Phương pháp tiếp cận và nghiên cứu
1.5.1 Phương pháp tiếp cận Để đạt được mục tiêu của đề tài, phương pháp tiếp cận của nhóm sẽ gồm:
- Nghiên cứu những kiến thức về ngôn ngữ lập trình C# được dùng trong WinForms để tạo ra một phần mềm có những tính năng cơ bản trong việc học hành và luyện tập
- Áp dụng các kiến thức về cảm biến, cơ cấu chấp hành hệ thống điều khiển động cơ ô tô đã học, sử dụng nguyên lý hoạt động của nhóm làm phần cứng, từ đó thiết kế phần mềm, sau đó kết hợp phần mềm với phần cứng
- Tìm hiểu về cách thiết lập lưu trữ phần mềm chẩn đoán
- Nghiên cứu các kiến thức khi chẩn đoán, xử lý lỗi của mạch điện, và xây dựng giáo án bài học
- Sử dụng tài liệu từ các nguồn trên Internet để sử dụng phần mềm WinForms
- Tham khảo các tài liệu, giáo án từ thư viện, Internet để xây dựng giao diện, tính năng phần mềm
- Kết hợp với nhóm làm phần cứng để tạo ra sản phẩm hoàn chỉnh.
Nội dung nghiên cứu
- Cơ sở lý thuyết về phần mềm Visual Studio Windows Form
- Cơ sở lý thuyết về phần mềm Arduino
- Phương pháp giao tiếp giữa phần mềm Winform và Arduino thông qua SerialPort
- Thiết lập giao diện phần mềm, cơ sở dữ liệu
- Thử nghiệm nhiều lần và đánh giá hiệu quả mà phần mềm mang lại.
Các nội dung chính trong đề tài
Chương 2: Cơ sở lý thuyết
Chương 3: Thiết kế phần mềm chẩn đoán các cảm biến – cơ cấu chấp hành hệ thống điều khiển động cơ được biên soạn bằng Visual Studio Windows Forms
Chương 4: Kết quả và đánh giá
Chương 5: Kết luận và kiến nghị
CƠ SỞ LÝ THUYẾT
Giới thiệu về Visual Studio và Windows Forms
Visual Studio được thiết lập vào năm 1997 và thuộc quyền sở hữu bởi Microsoft, tập đoàn này đã cho ra mắt hai phiên bản của Visual Studio là Professional và Enterprise Lúc ban đầu, phần mềm này có tên là Project Boston, nhưng sau đó được đổi tên lại vì được tích hợp thêm các công cụ phát triển và đóng gói sản phẩm duy nhất Trải qua quãng thời gian dài với nhiều phiên bản khác nhau, Visual Studio được chính thức phát hành vào tháng 7 năm 2015
Visual Studio là một môi trường phát triển tích hợp (Integrated Development Environment - IDE), được sản xuất bởi Microsoft Nó cung cấp cho người lập trình một bộ công cụ để phát triển các ứng dụng phần mềm cho nhiều nền tảng, bao gồm Windows, web, di động và đám mây
Visual Studio cung cấp nhiều tính năng hỗ trợ lập trình viên trong quá trình phát triển ứng dụng, bao gồm các trình biên tập mã, gỡ rối, kiểm tra lỗi, xây dựng, triển khai và quản lý mã nguồn Visual Studio hỗ trợ nhiều ngôn ngữ lập trình, bao gồm C#, Visual Basic, C++, JavaScript, TypeScript, Python, Ruby, và nhiều ngôn ngữ khác Visual Studio là một trong những môi trường phát triển phần mềm phổ biến nhất trên thế giới và được sử dụng rộng rãi trong cộng đồng lập trình viên
Visual Studio Windows Forms là một công cụ lập trình hỗ trợ phát triển ứng dụng Windows Desktop WinForms là viết tắt của Windows Forms, là một phần của Microsoft NET Framework WinForms cung cấp một thư viện các thành phần giao diện người dùng (UI – User Interface) được xây dựng sẵn, giúp người lập trình có thể dễ dàng tạo ra các ứng dụng Windows với các tính năng giao diện đồ họa phức tạp
WinForms cung cấp cho nhà phát triển một số lợi ích như tính đồng nhất của giao diện người dùng, hỗ trợ kéo và thả để dễ dàng thêm các thành phần, và khả năng tương thích với các phiên bản Windows khác nhau Nó cũng cung cấp các công cụ để tạo ra các ứng dụng tương tác với cơ sở dữ liệu, xử lý đa luồng, và tích hợp các thư viện
WinForms được phát triển bằng ngôn ngữ lập trình C# (C Sharp) và được sử dụng trong môi trường phát triển NET Framework C# là ngôn ngữ lập trình hiện đại, đa nền tảng và được thiết kế để phát triển ứng dụng cho Windows, web, di động C# có cú pháp tương tự như Java và C++, nhưng có thêm một số tính năng mới và được cải tiến để giảm thiểu lỗi lập trình và tăng tính bảo mật Với Winforms, nhà phát triển có thể sử dụng C# để xây dựng các ứng dụng đồ họa mạnh mẽ và chuyên nghiệp cho Windows
Một số thành phần chính của WinForms bao gồm các control như TextBox, Button, Label, ComboBox, ListBox, DataGridView, ListView, ProgressBar, TabControl, và MenuStrip, cùng với các event và delegate để xử lý các sự kiện như Click, DoubleClick, KeyPress, MouseMove, và FormClosing [8] Ngoài ra, Winforms còn cung cấp các tính năng cho phép thêm hình ảnh, âm thanh và video vào ứng dụng, cũng như cho phép định dạng và hiển thị dữ liệu
Tóm lại, Visual Studio Winforms là một nền tảng phát triển ứng dụng đồ họa mạnh mẽ cho Windows, cung cấp cho nhà phát triển nhiều công cụ và tính năng để tạo ra các ứng dụng tương tác người dùng đa dạng và chuyên nghiệp
Hình 2.2 Giao diện làm việc của Visual Studio Windows Form 2022 2.1.3 Các thành phần để người dùng làm việc của WinForms
Hình 2.3 Giao diện cửa sổ Source Code Winforms là nơi ta có thể viết và chỉnh sửa mã nguồn của ứng dụng, người dùng có thể thêm các đoạn mã, xử lý sự kiện, tạo lớp, khai báo biến, gọi các phương thức, và thực hiện các tác vụ lập trình khác Sử dụng các tính năng của trình soạn thảo để tăng hiệu suất và sắp xếp mã nguồn một cách dễ dàng
Cửa sổ Source Code Window cung cấp các tính năng như tô sáng cú pháp (syntax highlighting), gợi ý mã (code suggestion), kiểm tra lỗi cú pháp (syntax error checking), và điều hướng nhanh giữa các phần của mã nguồn Nó cũng cho phép người dùng thực hiện các tác vụ như tìm kiếm và thay thế, đánh dấu (bookmark) các đoạn mã quan trọng, ghi chú giải thích trong quá trình soạn thảo code và thực hiện kiểm tra đơn vị (unit testing)
Phía bên phải của ảnh minh họa trên là cửa sổ Solution Explorer, nơi hiển thị cấu trúc cây của Solution mà người dùng đang làm việc và cho phép ta tạo mới hay duyệt qua các dự án, thư mục và tệp bằng cách click chọn các dự án mà ta muốn kiểm tra trong Solution này Khi đặt chuột lên các cạnh của cửa sổ, phần mềm cho phép ta có thể mở rộng và thu gọn các nút để xem cấu trúc chi tiết của các thành phần
Hình 2.4 Giao diện cửa sổ Solution Explorer
- Tạo mới dự án và tệp tin: Tạo mới các dự án, lớp, giao diện người dùng, các tệp tin mã nguồn và tài nguyên trong solution
- Tạo và quản lý các thư mục: Tạo và quản lý các thư mục để sắp xếp và nhóm các tệp tin liên quan trong Solution
- Chỉnh sửa và xóa tệp tin: Mở và chỉnh sửa mã nguồn, tệp tin thiết kế giao diện và tài nguyên khác trực tiếp từ cửa sổ Solution Explorer Ta cũng có thể xóa các tệp tin không cần thiết trong Solution
- Quản lý thuộc tính và tài nguyên: Chỉnh sửa các thuộc tính của các thành phần, quản lý tài nguyên (như hình ảnh, biểu đồ, văn bản) và liên kết chúng với dự án của mình
- Xây dựng và biên dịch: Xây dựng và biên dịch các dự án trong Solution từ cửa sổ Solution Explorer, cho phép kiểm tra lỗi, tạo tệp thực thi và các tệp đầu ra khác
Cửa sổ Solution Explorer giúp người soạn thảo tổ chức và quản lý mã nguồn, tài nguyên và các thành phần của ứng dụng WinForms một cách thuận tiện Nó là một công cụ quan trọng để tạo và phát triển các dự án trong môi trường phát triển Visual Studio
Bên cạnh cửa sổ Source Code, cửa sổ Design (hay còn gọi là "Form Designer" hoặc
Giới thiệu về Arduino
Arduino có nguồn gốc ở Ý vào thế kỷ thứ 9 và được đặt theo tên của vị vua của đất nước đó, Vua Arduino Arduino được chính thức công bố vào năm 2005 như một công cụ học tập dành cho sinh viên Một trong những nhà phát triển Arduino tại Viện Thiết kế Tương tác Ivrea Arduino là một mã nguồn mở được sử dụng để xây dựng các ứng dụng điện tử tương tác với nhau hoặc với môi trường Nó có thể kết nối với máy tính hoặc tự kết nối với nhau
Arduino là một nền tảng phát triển thiết bị điện tử được thiết kế để dễ dàng sử dụng, giúp cho người dùng có thể tạo ra các thiết bị điện tử và các ứng dụng IoT (Internet of Things) một cách nhanh chóng và dễ dàng Arduino gồm các module phần cứng có thể được lắp ráp với nhau để tạo ra các mạch điện tử đơn giản hoặc phức tạp, và được lập
Mỗi board Arduino đều có một bộ vi xử lý, các cổng kết nối Input/Output và các module phần cứng khác như giao tiếp USB, Ethernet, Wifi, Bluetooth, cảm biến, màn hình, đèn LED, motor, và nhiều thứ khác Người dùng có thể lập trình Arduino thông qua các ngôn ngữ lập trình như C/C++ hoặc các ngôn ngữ lập trình khác dựa trên đó Arduino được sử dụng rộng rãi trong các ứng dụng IoT, các dự án điện tử tại nhà hoặc trường học và cả trong các ứng dụng thực tiễn như trong đo lường, kiểm soát, quản lý tài nguyên Arduino là một nền tảng mạnh mẽ và đa dụng, giúp người dùng thực hiện các ứng dụng điện tử của riêng mình
Hình 2.8 Giao diện phần mềm Arduino IDE
Arduino Mega 2560 là một trong những board phổ biến và mạnh mẽ nhất trong hệ thống Arduino Nó cung cấp nhiều chân kết nối và tài nguyên phong phú, thường được dùng trong các dự án phức tạp và đa dạng
Dưới đây là một số thông tin cơ bản về board Arduino Mega:
- Vi xử lý: Arduino Mega được trang bị vi xử lý ATmega2560 Đây là một vi xử lý 8-bit với tốc độ 16 MHz, cho phép xử lý nhanh chóng các tác vụ và điều khiển ngoại vi khác
- Chân kết nối: Arduino Mega có tổng cộng 54 chân kết nối digital (đầu vào và đầu ra), trong đó có 15 chân có thể sử dụng làm đầu ra PWM Ngoài ra, nó còn có 16 chân kết nối analog và 4 chân UART (Serial), 1 chân I2C và 1 chân SPI
- Bộ nhớ: Arduino Mega có bộ nhớ Flash 256 KB, trong đó khoảng 8 KB được sử dụng cho việc lưu trữ chương trình Nó cũng có bộ nhớ SRAM 8 KB và EEPROM 4 KB, cho phép lưu trữ và truy cập dữ liệu trong quá trình hoạt động
- Nguồn điện: Board hỗ trợ nguồn điện từ 7 đến 12V thông qua cổng nguồn DC hoặc từ 5V thông qua cổng USB Nguồn điện được cung cấp cho các ngoại vi thông qua các chân kết nối
- Hỗ trợ phần mềm: Arduino Mega được hỗ trợ bởi Arduino IDE, môi trường lập trình dễ sử dụng và phổ biến Người dùng có thể viết mã, tải lên và chạy chương trình trên board Arduino Mega thông qua giao diện đơn giản của IDE
Nó được sử dụng rộng rãi trong lĩnh vực điều khiển robot, hệ thống tự động hóa, đèn LED, máy in 3D và nhiều ứng dụng khác
2.3 Cơ sở dữ liệu SQLite
Cơ sở dữ liệu (database) là hệ thống bao gồm rất nhiều thông tin, dữ liệu được xây dựng theo một cấu trúc nhất định nhằm đáp ứng nhu cầu khai thác, sử dụng của nhiều người hay chạy nhiều chương trình cùng một lúc Cơ sở dữ liệu thường có những quy tắc và điều khiện tích hợp để duy trì tính nhất quán của cơ sở dữ liệu
Hình 2.10 Cấu trúc cơ sở dữ liệu
SQLite là một hệ quản trị cơ sở dữ liệu hay còn gọi là hệ thống cơ sở dữ liệu quan hệ nhỏ gọn, khác với các hệ quản trị khác như MySQL, SQL Server, Ocracle, PostgreSQL… SQLite là một thư viện phần mềm mà triển khai một SQL Database Engine truyền thống, không cần mô hình client-server nên rất nhỏ gọn SQLite được sử dụng vào rất nhiều chương trình từ desktop đến mobile hay là website Nó không phải là cấu hình nên không cần cài đặt Với SQLite database được lưu trữ trên một tập tin duy nhất Chính vì lẽ đó, nhóm đã quyết định chọn SQLite làm cơ sở liệu lưu trữ thông tin đăng nhập và tiến độ học tập của sinh viên
Hình 2.11 Giao diện tài khoản SQLite 2.4 Giao tiếp UART
UART (Universal Asynchronous Receiver – Transmitter) là một giao diện hoạt động trong việc truyền và nhận dữ liệu trong hệ thống điện tử Nó được sử dụng để giao tiếp giữa các thành phần điện tử, chẳng hạn như vi xử lý, vi điều khiển, cảm biến và thiết bị ngoại vi
UART hoạt động dựa trên nguyên tắc truyền thông không đồng bộ, tức là không cần tín hiệu đồng hồ chung giữa nguồn gửi và nguồn nhận Nó sử dụng hai chân truyền thông dữ liệu là chân TX (Transmit) để gửi dữ liệu, chân RX (Receive) để nhận dữ liệu và chân GND để đồng bộ giữa hai thiết bị Thay vì tín hiệu đồng hồ, UART truyền thêm các bit start và stop vào gói dữ liệu được chuyển Các bit này xác định điểm bắt đầu và điểm kết thúc của gói dữ liệu để UART nhận biết khi nào bắt đầu đọc các bit Khi UART nhận phát hiện một bit start, nó bắt đầu đọc các bit đến ở một tần số cụ thể được gọi là tốc độ truyền (baud rate) Tốc độ truyền là thước đo tốc độ truyền dữ liệu, được biểu thị bằng bit trên giây (bps – bit per second) Cả hai UART đều phải hoạt động ở cùng một tốc độ truyền Tốc độ truyền giữa UART truyền và nhận chỉ có thể chênh lệch khoảng 10% trước khi thời gian của các bit bị lệch quá xa
UART được sử dụng phổ biến trong các ứng dụng như giao tiếp máy tính với thiết bị ngoại vi (ví dụ: truyền dữ liệu từ máy tính tới máy in), giao tiếp giữa các vi xử lý, vi điều khiển và các module hoặc cảm biến ngoại vi, cũng như trong các ứng dụng mạng (ví dụ: RS-232, RS-485)
Giao tiếp UART cung cấp một phương pháp đơn giản và linh hoạt để truyền và nhận dữ liệu trong các hệ thống điện tử, nó vẫn được sử dụng phổ biến cho các ứng dụng trung bình và nhỏ Ưu điểm:
- Chỉ cần sử dụng hai dây để truyền dữ liệu
- Không cần tín hiệu đồng hồ
- Có một bit chẵn lẻ để cho phép kiểm tra lỗi
- Cấu trúc của gói dữ liệu có thể được thay đổi miễn là cả hai bên được thiết lập
- Phương pháp truyền đơn giản, giá thành thấp
- Kích thước của khung dữ liệu được giới hạn tối đa là 9 bit
- Tốc độ truyền của mỗi UART phải nằm trong khoảng 10%
- Không hỗ trợ nhiều hệ thống slave hoặc nhiều hệ thống master
Virtual Serial Port là phần mềm hữu hiệu để tạo ra các cổng tiếp nối ảo và kết nối chúng theo cặp thông qua dây cáp ảo
Giao tiếp UART
UART (Universal Asynchronous Receiver – Transmitter) là một giao diện hoạt động trong việc truyền và nhận dữ liệu trong hệ thống điện tử Nó được sử dụng để giao tiếp giữa các thành phần điện tử, chẳng hạn như vi xử lý, vi điều khiển, cảm biến và thiết bị ngoại vi
UART hoạt động dựa trên nguyên tắc truyền thông không đồng bộ, tức là không cần tín hiệu đồng hồ chung giữa nguồn gửi và nguồn nhận Nó sử dụng hai chân truyền thông dữ liệu là chân TX (Transmit) để gửi dữ liệu, chân RX (Receive) để nhận dữ liệu và chân GND để đồng bộ giữa hai thiết bị Thay vì tín hiệu đồng hồ, UART truyền thêm các bit start và stop vào gói dữ liệu được chuyển Các bit này xác định điểm bắt đầu và điểm kết thúc của gói dữ liệu để UART nhận biết khi nào bắt đầu đọc các bit Khi UART nhận phát hiện một bit start, nó bắt đầu đọc các bit đến ở một tần số cụ thể được gọi là tốc độ truyền (baud rate) Tốc độ truyền là thước đo tốc độ truyền dữ liệu, được biểu thị bằng bit trên giây (bps – bit per second) Cả hai UART đều phải hoạt động ở cùng một tốc độ truyền Tốc độ truyền giữa UART truyền và nhận chỉ có thể chênh lệch khoảng 10% trước khi thời gian của các bit bị lệch quá xa
UART được sử dụng phổ biến trong các ứng dụng như giao tiếp máy tính với thiết bị ngoại vi (ví dụ: truyền dữ liệu từ máy tính tới máy in), giao tiếp giữa các vi xử lý, vi điều khiển và các module hoặc cảm biến ngoại vi, cũng như trong các ứng dụng mạng (ví dụ: RS-232, RS-485)
Giao tiếp UART cung cấp một phương pháp đơn giản và linh hoạt để truyền và nhận dữ liệu trong các hệ thống điện tử, nó vẫn được sử dụng phổ biến cho các ứng dụng trung bình và nhỏ Ưu điểm:
- Chỉ cần sử dụng hai dây để truyền dữ liệu
- Không cần tín hiệu đồng hồ
- Có một bit chẵn lẻ để cho phép kiểm tra lỗi
- Cấu trúc của gói dữ liệu có thể được thay đổi miễn là cả hai bên được thiết lập
- Phương pháp truyền đơn giản, giá thành thấp
- Kích thước của khung dữ liệu được giới hạn tối đa là 9 bit
- Tốc độ truyền của mỗi UART phải nằm trong khoảng 10%
- Không hỗ trợ nhiều hệ thống slave hoặc nhiều hệ thống master.
Virtual Serial Port
Virtual Serial Port là phần mềm hữu hiệu để tạo ra các cổng tiếp nối ảo và kết nối chúng theo cặp thông qua dây cáp ảo
Trong quá trình xây dựng phần mềm, việc kiểm tra và thử nghiệm mã code là rất quan trọng Tuy nhiên, phần mềm được thiết lập luôn bắt buộc có kết nối giữa phần cứng và phần mềm để có thể hoạt động Điều này có thể gây phiền toái khi phải duy trì kết nối trong quá trình biên soạn mã Để giải quyết vấn đề này, nhóm đã tìm ra giải pháp là sử dụng phần mềm Virtual Serial Port Phần mềm này cho phép tạo các cổng COM ảo trên máy tính, giúp phần mềm được biên soạn có thể sử dụng các cổng COM này để kết nối thông qua giao tiếp UART
Với phần mềm này, nhóm sử dụng tạo hai cổng COM ảo là COM 1 và COM 2 Hai cổng COM ảo hoạt động chính xác như những cổng COM thật Trong suốt quá trình vận hành thử nghiệm phần mềm, việc sử dụng cổng COM ảo giúp công việc trở nên tiện lợi, nhanh chóng, chính xác.
Github
Hình 2.14 Logo Github Đồ án đa số xoay quanh việc xây dựng phần mềm, chứa nhiều dòng code nên nhóm dùng Github để lưu trữ giúp dễ dàng truy xuất về sau Github cho phép nhiều người dùng cùng nhau làm việc trên một phần mềm bằng cách cung cấp nền tảng lưu trữ, quản lý và chia sẻ mã nguồn Github có khả năng đồng bộ các source code của team lên một sever mới, giúp thời gian điều chỉnh nhanh, hiệu quả hơn [9]
Hình 2.15 Trang Github của đề tài
Github là một dịch vụ cung cấp kho lưu trữ mã nguồn Git cho các dự án phần mềm Nó có dầy đủ những tính năng của Git, các tính năng Git mà nhóm sử dụng để thuận tiện trong việc xây dựng phần mềm là:
- “Git clone” + link github: để tải file code từ github về máy tính
- “Git add ”: chọn tất cả các file trong thư mục để chuẩn bị đẩy lên github
- “Git push”: đẩy code từ máy tính cá nhân lên github
- “Git pull”: lấy code từ github về máy tính cá nhân.
THIẾT KẾ PHẦN MỀM CHẨN ĐOÁN CÁC CẢM BIẾN – CƠ CẤU CHẤP HÀNH HỆ THỐNG ĐIỀU KHIỂN ĐỘNG CƠ ĐƯỢC BIÊN SOẠN BẰNG
Sử dụng phần mềm với quyền “Sinh viên”
3.1.1 Đăng nhập với quyền “Sinh viên”
Bước 1: Mở phần mềm “Vehicle Engine Training” trên thiết bị
Bước 2: Nhập thông tin đăng nhập Tại hai ô này, sinh viên nhập “Tên đăng nhập” và
“Mật khẩu” sẽ được cấp sau khi giảng viên tạo tài khoản cho từng sinh viên
Bước 3: Nhấn vào nút “Đăng nhập” để truy cập vào phần mềm
Hình 3.1 Trang chủ đăng nhập của phần mềm Vehicle Engine Training
3.1.2 Giới thiệu các chức năng chính của phần mềm với quyền “Sinh viên”
Phần mềm được kết hợp với phần cứng để tạo ra các bài giảng và bài thực hành tương tác giúp giảng dạy và học tập cho sinh viên Do đó, phần mềm được thiết kế với tính năng bắt buộc yêu cầu người dùng thiết lập một kết nối vật lý giữa phần mềm và mô hình trước khi sử dụng các chức năng khác của phần mềm
Hình 3.2 Cổng kết nối COM
Các thành phần trong khung được mô tả ở ảnh trên là:
- Cổng COM: (Communications Port): Địa chỉ cổng COM mà phần cứng kết nối với máy tính của người dùng
- BAUDRATE: Quy định tốc độ truyền dữ liệu giữa phần mềm và phần cứng (được chọn theo Arduino Mega: 9600 bps)
Sau khi chọn hai thành phần trên sinh viên chọn “Kết nối” để kết nối phần mềm với phần cứng
- Chức năng “Bài học”: Đây là tính năng cho phép sinh viên học và nắm vững kiến thức cơ bản cũng như nâng cao về các cảm biến – cơ cấu chấp hành trên ô tô Nó cung cấp nền tảng cho sinh viên tiếp thu kiến thức và từ đó tự rèn luyện thông qua các bài thực hành và kiểm tra
- Chức năng “Thực hành”: Sinh viên thực hành trực tiếp trên phần cứng và chọn đáp án trắc ngiệm đúng trên phần mềm
- Chức năng “Thực hành kiểm tra lỗi”: Từ các tình huống đã được giảng dạy, phần mềm và phần cứng sẽ tạo ra các lỗi trên mạch điện để sinh viên thực hành, tìm hiểu và xác định các lỗi để rèn luyện và củng cố kiến thức
- Chức năng “Kiểm tra”: Đây là phần kiểm tra để đánh giá khả năng thực hành của sinh viên sau quá trình học tập và thực hành
Hình 3.3 Các chức năng học tập của sinh viên
Ngoài ra, hai nút “Đăng xuất” và “Thoát” giúp người dùng chuyển đổi sang một tài khoản khác hoặc thoát hoàn toàncứng dụng, kết thúc quá trình học tập
Hình 3.4 Ý tưởng hiển thị ban đầu phần bài học
Phần bài học là lý thuyết liên quan đến các cảm biến – cơ cấu chấp hành hệ thống điều khiển động cơ ô tô Để hiển thị phần chữ và phần hình như giao diện trên, đề tài dùng file excel cho việc lưu trữ
Nội dung và hình ảnh được thêm vào cột “Hình” và “Bài học”, từng trang hiển thị là theo từng hàng file excel Giảng viên có thể dễ dàng sửa đổi cho phù hợp File hình ảnh được lưu trong nguồn của dự án (project resources), nên phần mềm sẽ tương thích với nhiều máy tính khác nhau
Hình 3.6 Nơi lưu trữ hình ảnh hiển thị trong nguồn của dự án
Sau khi chọn chức năng “Bài học” từ giao diện chính, một cửa sổ phụ sẽ hiện lên, sinh viên sẽ chọn chương mà mình muốn học, lúc này sinh viên chọn học về “Cảm biến trên hệ thống điều khiển động cơ” hay “Cơ cấu chấp hành hệ thống điều khiển động cơ”, chọn chương xong cửa sổ chọn bài học sẽ hiện lên, cho phép sinh viên được chủ động chọn bài học, phần mềm cũng sẽ tự ghi nhớ tiến độ của sinh viên nên cho phép sinh viên được tiếp tục quay lại bài học cuối của lần đăng nhập trước
Nút chọn “Chọn bài học bất kỳ” sẽ tạo ra một cửa sổ, cho phép chúng ta chọn Bài và Hoạt động mong muốn được học Nút “Tiếp tục bài học cũ”, cho phép người dùng học tiếp theo bài học cũ
Hình 3.7 Các bước chọn chức năng “Bài học” Ứng với mỗi bài học sẽ có các hoạt động tương ứng
Hình 3.8 Trang chọn bài học
Nội dung bài học gồm có 2 CHƯƠNG:
- CHƯƠNG 1: CẢM BIẾN HỆ THỐNG ĐIỀU KHIỂN ĐỘNG CƠ gồm 5 bài: + Bài 1: Cảm Biến Lưu Lượng Không Khí Nạp
+ Bài 2: Cảm Biến G và Cảm Biến Ne
+ Bài 5: Cảm Biến Bàn Đạp Ga
- CHƯƠNG 2: CƠ CẤU CHẤP HÀNH HỆ THỐNG ĐIỀU KHIỂN ĐỘNG CƠ gồm có 4 bài:
+ Bài 1: Hệ Thống Điều Khiển Bơm Nhiên Liệu
+ Bài 2: Hệ Thống Điều Khiển Đánh Lửa
+ Bài 3: Hệ Thống Điều Khiển Kim Phun
+ Bài 4: Hệ Thống Điều Khiển Bướm Ga Điện Tử
Sau khi hoàn thành các bước chọn bài học, người dùng sẽ được chuyển đến giao diện để hiển thị bài học của phần mềm Các bài học trên phần mềm được xây dựng dựa trên phần biên soạn của nhóm làm phần cứng Cung cấp cơ bản đầy đủ kiến thức về cảm biến – cơ cấu chấp hành cho sinh viên
Hình 3.9 Bố cục giao diện bài học
Giao diện của “Bài học” bao gồm:
+ 1 – Khung lý thuyết: Là vị trí được dùng để hiển thị các nội dung của bài học + 2 – Khung hình ảnh: là nơi hiển thị các hình ảnh minh hoạ cho bài giảng
+ 3 – Khung tiến độ bài học: Hiển thị cho sinh viết biết bố cục của bài học, sinh viên làm đến đâu thì phần mềm sẽ lưu trữ tiến độ học tập đến đó
+ 4 – Nút “OK” và nút “Thoát”: Khi bấm “OK” bài học sẽ hiển thị đến phần tiếp theo, còn khi bấm “Thoát” phần mềm sẽ được trả về cửa sổ Chọn bài học
Hình 3.10 Ý tưởng ban đầu phần thực hành
Ngoài việc hiển thị nội dung và hình ảnh như phần bài học, ở phần thực hành còn có thêm phần trả lời câu hỏi trắc nghiệm
Hình 3.11 Các cột chứa câu hỏi và đáp án trắc nghiệm Đề tài sử dụng các cột của file excel để lưu trữ phần câu hỏi và đáp án Với phần nội dung câu hỏi sẽ được hiển thị ở cột “Câu hỏi”, đáp án trả lời sẽ lần lượt được hiển thị ở cột”Đáp án A”, “Đáp án B”, “Đáp án C” và “Đáp án D” Ở cột “Đáp án đúng” sẽ được quy định với A đúng là “0”, B đúng là “1”, C đúng là “2” và D đúng là “3” Phần đồ thị của giá trị từng cảm biến sẽ được hiển thị ở cuối mỗi bài
Hình 3.12 Đồ thị minh họa cho cảm biến
Hình 3.12 mô tả đồ thị hai tín hiệu VPA và VPA2 của cảm biến bàn đạp ga kiểu tuyến tính Giá trị VPA và VPA2 tăng khi thao tác đạp bàn đạp ga trên mô hình Ngoài ra, sinh viên có thể chọn nút “Làm Mới Đồ Thị” để đồ thị hiển thị giá trị lại từ đầu
Các bước chọn chức năng thực hành:
Hình 3.13 Các bước thực hiện chức năng “Thực Hành”
Giống như phần bài học, ứng với mỗi bài sẽ có các hoạt động tương ứng
Hình 3.14 Trang chọn bài thực hành
Nội dung phần thực hành được chia làm 2 CHƯƠNG, hiển thị và các thao tác thực hành thống nhất với nhau
- CHƯƠNG 1: THỰC HÀNH CẢM BIẾN TRÊN HỆ THỐNG ĐIỀU KHIỂN ĐỘNG
+ Bài 1: Cảm Biến Lưu Lượng Không Khí Nạp Kiểu Dây Nhiệt
+ Bài 2: Cảm Biến Lưu Lượng Không Khí Nạp Kiểu Karman Siêu Âm
+ Bài 3: Cảm Biến Áp Suất Không Khí Nạp Kiểu Van Trượt
+ Bài 4: Cảm Biến Áp Suất Đường Ống Nạp
+ Bài 5: Cảm Biến G và Cảm Biến Ne (Cảm Biến Điện Từ bố trí trong bộ chia điện) + Bài 6: Cảm Biến G và Cảm Biến Ne (Cảm Biến Hall bố trí trong bộ chia điện)
+ Bài 7: Cảm Biến G và Cảm Biến Ne (Cảm Biến Quang bố trí trong bộ chia điện) + Bải 8: Cảm Biến Nhiệt Độ
+ Bài 9: Cảm Biến Vị Trí Bướm Ga Kiểu Tiếp Điểm
+ Bài 10: Cảm Biến Vị Trí Bướm Ga Kiểu Tuyến Tính Có Tiếp Điểm IDL
+ Bài 11: Cảm Biến Vị Trí Bướm Ga Kiểu Tuyến Tính Không Có Tiếp Điểm IDL + Bài 12: Cảm Biểm Vị Trí Bướm Ga Kiểu Phần Tử Hall
+ Bài 13: Cảm Biến Bàn Đạp Ga Kiểu Tuyến Tính
+ Bài 14: Cảm Biến Bàn Đạp Ga Kiểu Phần Tử Hall
- CHƯƠNG 2: THỰC HÀNH CƠ CẤU CHẤP HÀNH HỆ THỐNG ĐIỀU KHIỂN ĐỘNG CƠ gồm 5 bài:
+ Bài 1: Mạch Điều Khiển Bơm Nhiên Liệu Dùng Contact Bơm
+ Bài 2: Mạch Điều Khiển Bơm Nhiên Liệu Điều Khiển Từ ECU
+ Bài 3: Mạch Điều Khiển Bơm Nhiên Liệu Điều Khiển Từ ECU Kiểu Cải Tiến
Sau khi thực hiện các bước trên, phần mềm sẽ hiện ra giao diện thực hành dưới đây, sinh viên thực hành trực tiếp trên phần cứng sau đó chọn đáp án đúng trên phần mềm
Hình 3.15 Giao diện thực hành
Giao diện của “Thực Hành” bao gồm:
+ 1 – Khung tên bài thực hành
+ 2 – Khung hình ảnh minh họa cho câu hỏi trắc nghiệm
+ 3 – Khung câu hỏi trắc nghiệm và đáp án ABCD
+ 4 – Khung tiến độ thực hành, sinh viên sẽ được lưu tiến độ, làm đến đâu phần mềm sẽ lưu đến đó
Sử dụng phần mềm với quyền “Giảng viên”
3.2.1 Đăng nhập với quyền “Giảng viên”
Bên cạnh các chức năng cơ bản của một phần mềm hỗ trợ học tập, phần mềm còn cung cấp khả năng quản lý sinh viên cho các giảng viên khác nhau
Tại giao diện đăng nhập, đăng nhập tài khoản giảng viên với tên đăng nhập là
Hình 3.30 Đăng nhập với quyền “Giảng viên”
Sau khi đăng nhập với quyền “Giảng viên” thành công, phần mềm sẽ hiển thị ra trang
Hình 3.31 Các chức năng chính dành cho giảng viên
Tại giao diện này, người giảng viên sẽ có thể sử dụng ba chức năng quản lý, bao gồm:
- Quản lý thông tin sinh viên: Kiểm tra tiến độ học tập, thêm, sửa, xoá lớp học và sinh viên, … Thông tin sinh viên thay đổi sẽ được lưu trữ trong database
- Tạo mã lỗi: Giảng viên có thể tạo lỗi trên mạch theo ý muốn của mình dựa vào danh sách các mã lỗi
- Đăng xuất: Thoát khỏi tài khoản giảng viên, chương trình trả lại trang đăng nhập đầu tiên
3.2.2 Chức năng “Quản lý thông tin sinh viên”
Phần mềm cho phép người quản lý có thể tạo nhiều lớp học với nhiều sinh viên khác nhau, phù hợp theo thời gian, lịch trình của giảng viên hoặc sự sắp xếp của nhà trường, khoa…
Hình 3.32 Bố cục của trang quản lý sinh viên
Với mỗi giảng viên sẽ có một danh sách sinh viên khác nhau, và giảng viên có thể thêm các lớp, tạo tài khoản sinh viên sau đó cung cấp tài khoản cho sinh viên để truy cập vào phần mềm
Bên cạnh đó, chức năng “Xem tiến độ” sẽ giúp cho giảng viên nắm bắt được tiến độ học tập của từng sinh viên đối với tổng thể bài học, để có thể nắm rõ, làm cơ sở cho việc đánh giá kết quả học tập
Hình 3.33 Tiến độ học tập của sinh viên
3.2.3 Chức năng “Tạo mã lỗi”
Chức năng này cho phép giảng viên tạo ra các mã lỗi theo ý của giảng viên để chủ động hơn trong việc giảng dạy Bảng điều khiển giúp tạo mã lỗi cho mạch phần cứng Ở phần này, giảng viên cũng cần phải kết nối vật lý giữa phần mềm và mô hình thực tập để tạo mã lỗi
Hình 3.34 Bảng điều khiển nhập mã lỗi
Trước tiên, giảng viên phải chọn “Cổng COM” và giá trị “Baud Rate”, sau đó bấm kết nối Nhập mã lỗi từ 1 đến 20 tương ứng với 20 lỗi trong danh sách lỗi, tiếp đến bấm nút
“Tạo PAN”, phần mềm sẽ gửi tín hiệu cho phần mềm tạo PAN tương ứng, khi nhấn nút
“Reset” phần mềm gửi tín hiệu chương trình trả lại trạng thái ban đầu, không có lỗi.
KẾT QUẢ VÀ ĐÁNH GIÁ
Kết quả
Sau quá trình nghiên cứu và triển khai thực hiện đồ án, nhóm đã đạt được những kết quả khả quan, đúng như những mục tiêu ban đầu của nhóm đề ra Phần mềm tạo ra có ý nghĩa quan trọng, là thành tựu mà nhóm nghiên cứu và làm ra Đặc biệt, phần mềm còn là nền tảng để người dùng sau có thể phát triển rộng và xa hơn
Phần mềm của nhóm tạo ra dựa trên Winform C#, đã thành công trong việc cung cấp kiến thức về cảm biến – cơ cấu chấp hành hệ thống điều khiển động cơ
Bên cạnh đó, đề tài đã kết hợp với đề tài phần cứng đã tạo ra được một chương trình giảng dạy cho sinh viên, chẩn đoán lỗi các cảm biến – cơ cấu chấp hành
Hơn thế nữa, nhóm còn cung cấp một quy trình hướng dẫn phân tích kiểm tra lỗi thực tế nhất, đem lại trải nghiệm thực tế cho sinh viên, giúp sinh viên dễ dàng tiếp thu bài học
Mặc dù gặp một số khó khăn nhất định trong quá trình nghiên cứu và thiết kế, nhóm vẫn đạt được mục tiêu hoàn thiện sản phẩm một cách toàn diện nhất có thể
Nhóm làm phần mềm đã kết hợp thành công với nhóm làm phần cứng để tạo ra một đề tài hoạt động ổn định Phần mềm gửi các lệnh xuống điều khiển phần cứng, đo kiểm phần cứng để chọn đáp án đúng trên phần mềm Phần mềm dễ dàng sử dụng, thân thiện, các hướng dẫn rõ ràng và sự tương tác giữa phần mềm và phần cứng được coi như là yếu tố quan trọng trong việc tạo sự hứng thú và thúc đẩy sinh viên tìm hiểu, học tập
Hình 4.1 Kết nối phần mềm và phần cứng
Phần mềm và phần cứng kết nối thông qua một sợi dây cáp, các cảm biến – cơ cấu chấp hành được nối dây vào bảng kết nối Sinh viên thao tác trên cảm biến – cơ cấu chấp hành để đo kiểm và hiện ra kết quả trên phần mềm
Các số liệu cảm biến, đồ thị khi thao tác trên mô hình được hiển thị đúng trên phần mềm.
Đánh giá
Phần mềm khi kết hợp với phần cứng hoạt động ổn định, tạo ra một đề tài khá hoàn chỉnh, đáp ứng nhu cầu học tập của sinh viên, cải thiện kỹ năng thực hành trực tiếp trên các cảm biến – cơ cấu chấp hành hệ thống điều khiển động cơ Phần mềm với giao diện đẹp mắt, dễ dàng sử dụng, dung lượng phần mềm cũng không quá lớn nên tính tiện dụng khá cao
Tuy nhiên, phần mềm cũng còn một số hạn chế cần khắc phục:
+ Nội dung học tập khá cơ bản, ngắn gọn
+ Việc giao tiếp giữa phần cứng và phần mềm có độ trễ nhất định
+ Nếu các thao tác chuyển đổi trên phần mềm quá nhanh dẫn đến tình trạng chậm, giật.