Tải bản đầy đủ (.pdf) (74 trang)

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ơ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (10.61 MB, 74 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>THÀNH PHỐ HỒ CHÍ MINH</b>

BỘ GIÁO DỤC VÀ ĐÀO TẠO

<b>TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT </b>

<b> <sub> </sub></b>

<b>SVTH: ĐẶNG QUÝ LÊ NAM ĐỊNH </b>

<b> GVHD: ThS. NGUYỄN THIỆN DINH </b>

<b>THIẾT KẾ PHẦN MỀM CHẨN ĐOÁN </b>

<b>CÁC CẢM BIẾN – CƠ CẤU CHẤP HÀNH HỆ THỐNG ĐIỀU KHIỂN ĐỘNG CƠ </b>

<b>ĐỒ ÁN TỐT NGHIỆP</b>

<b> NGÀNH CÔNG NGHỆ KỸ THUẬT Ô TÔ </b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>HỆ THỐNG ĐIỀU KHIỂN ĐỘNG CƠ </b>

<b>SVTH: ĐẶNG QUÝ</b>

<b>SVTH: LÊ NAM ĐỊNH MSSV: 19145104</b>

<b>GVHD: ThS. NGUYỄN THIỆN DINH </b>

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<b>LỜI CẢM ƠN </b>

Nhóm em xin gửi lời cảm ơn chân thành đến những đấng sinh thành, những bậc cha mẹ, người thân là những người luôn luôn ủng hộ và là chỗ dựa tinh thần cho chúng em trong xuyên suốt q trình thực hiện đồ án. Bên cạnh đó, chúng em vô cùng biết ơn nhà trường cũng như thầy cô Khoa Cơ khí Động lực đã tạo điều kiện hết mức để giúp đỡ chúng em thực hiện đồ án một cách tốt nhất.

Và tất nhiên, người đã đồng hành cùng chúng em từ những ngày đầu thực hiện đồ án cho đến lúc hồn thành sản phẩm, nhóm chúng em xin gửi lời cảm ơn chân thành đến ThS. Nguyễn Thiện Dinh, luôn dành thời gian quý báu hướng dẫn, giúp đỡ và giải đáp các thắc mắc để nhóm em có thể hồn thành tốt được đồ án tốt nghiệp này.

Trong quá trình thực hiện, đồ án của nhóm địi hỏi một lượng kiến thức đa dạng và phong phú ở nhiều lĩnh vực khác nhau, tuy nhiên do có giới hạn về thời gian và lượng kiến thức cũng như kỹ năng thực hành nên nhóm khơng thể tránh khỏi việc có những sai sót khi thực hiện đồ án. Nhóm cùng hợp tác với nhóm của bạn Nguyễn Hồ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ơ”, để cùng nhau làm ra một sản phẩm có thể áp dụng giảng dạy cho sinh viên về sau.

Rất may mắn chúng em ln nhận được sự chỉ dạy từ thầy, giúp nhóm hồn thiện đề tài nhất có thể. Qua thời gian làm việc chung dù không nhiều nhưng cũng đủ để chúng em cảm nhận được sự chân thành giúp đỡ nhóm của thầy. Chúng em xin gửi lời chúc tốt đẹp nhất đến quý thầy cô và các bạn, chúc mọi người có nhiều sức khỏe, bình an, vui vẻ, hạnh phúc và thành cơng trên con đường đời phía trước.

Xin chân thành cảm ơn và gửi lời chúc tốt đẹp nhất!

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<b>TÓM TẮT </b>

Cuộc sống xung quang chúng ta luôn vận hành theo chiều hướng đi lên, bắt buộc con người phải ln tìm kiếm, học hỏi, thay đổi và áp dụng những công nghệ, kỹ thuật tiên tiến vào đời sống. Các lĩnh vực khoa học, máy tính, trí tuệ nhân tạo được con người đưa vào thực tiễn nhiều hơn. Trong đó không thể không kể đến ngành Công nghệ ô tô. Ô tô giờ đây không những là phương tiện di chuyển mà nó cịn bao hàm sự an tồn, thoải mái, đáp ứng trải nghiệm tốt cho mọi người. Chính vì lẽ đó, trên Ơ tơ ngày nay đã được trang bị rất nhiều công nghệ tiên tiến như cảm biến, hệ thống an toàn, hệ thống tiện nghi….

Tại Trường Đại học Sư phạm Kỹ thuật thành phố Hồ Chí Minh nổi tiếng với chất lượng đào tạo rất tốt về các ngành nói chung và ngành ơ tơ nói riêng, nhưng để bắt kịp với xu hướng xe hiện đại, chúng ta cũng cần phải nâng cao hiệu quả giảng dạy bằng cách áp dụng những mơ hình đào tạo thực tiễn giúp sinh viên nắm vững lý thuyết lẫn thực tế. Với mong muốn góp sức cho trường, nhóm chúng em thực hiện đề tài “Thiết kế phần mềm chẩn đoán – cơ cấu chấp hành hệ thống điều khiển động cơ”.

Đề tài sử dụng công cụ là Visual Studio Windows Form để lập trình viết ra một phần mềm, kết hợp với phần cứng của nhóm hai bạn Đạt và bạn Hịa. Phần mềm này giúp giảng viên giảng dạy sinh viên về các cảm biến và cơ cấu chấp hành hệ thống điều khiển động cơ ô tô. Học đi đôi với hành, không chỉ cung cấp lý thuyết mà phần mềm còn kết hợp thực hành.

Sinh viên thao tác trực tiếp trên mơ hình để đo đạt, kiểm tra cảm biến. Sau đó cho ra số liệu chính xác nhất về cảm biến đó. Sinh viên có thể theo số liệu đó nghiên cứu, học tập, tìm hiểu cấu tạo nguyên lý hoạt động của cảm biến – cơ cấu chấp hành hệ thống điều khiển động cơ ô tô.

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

Đề tài này khơng chỉ đóng vai trị hỗ trợ giảng dạy mà cịn mang tính thực tiễn cao, giúp sinh viên không chỉ nắm vững kiến thức về cảm biến trên ơ tơ mà cịn có kinh nghiệm xử lý lỗi về cảm biến trên ô tô thực tế. Phần mềm được phát triển kết hợp với phần cứng nhằm tạo ra một môi trường học tập tương tác, giúp sinh viên nâng cao kỹ năng và tự tin trong việc chẩn đoán và sửa chữa các vấn đề liên quan đến cảm biến - cơ cấu chấp hành hệ thống điều khiển động cơ ô tô. Qua đó sinh viên có áp dụng cho nghề nghiệp sau này của bản thân.

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<b>ABSTRACT </b>

Life around us always moves in an upward direction, forcing people to always seek, learn, change and apply advanced technology and techniques to life. The fields of science, computing, and artificial intelligence are being put into practice more and more. Among them, it is impossible not to mention specialized technology cars. Cars are now not just convenient means of transportation, but they also mean safety, comfort, and a good experience for everyone. For that reason, today's cars are equipped with many advanced technologies such as sensors, safety systems, comfort systems, etc.

Ho Chi Minh City University of Technical Education is famous for its very good training quality in general and the automobile industry in particular, but to keep up with modern car trends, we also need to Improve teaching effectiveness by applying practical training models to help students master both theory and practice. With the desire to contribute to the school, our group carried out the project "Design of diagnostic software - executive structure of engine control system".

The project uses the tool Visual Studio Windows Form to program and write a software, combined with the hardware of a group of two friends, Dat and Hoa. This software helps lecturers teach students about sensors and actuators of car engine control systems. Learning goes hand in hand with practice, not only providing theory but the software also combines practice.

Students work directly on the model to measure and test sensors. Then give the most accurate data about that sensor. Students can follow that data to research, study, and understand the structure and operating principles of the sensor - the actuator of the car engine control system.

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

This topic not only plays a teaching support role but is also highly practical, helping students not only master knowledge about sensors on cars but also have experience in handling sensor errors on real cars. international. The software was developed in conjunction with the hardware to create an interactive learning environment, helping students improve their skills and confidence in diagnosing and repairing sensor-actuator-related problems. operate the car engine control system. Thereby, students can apply it to their future careers.

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

1.3. Mục tiêu của đề tài ... 3

1.4. Đối tượng và phạm vi nghiên cứu ... 4

1.5. Phương pháp tiếp cận và nghiên cứu ... 4

1.5.1. Phương pháp tiếp cận ... 4

1.5.2. Phương pháp nghiên cứu ... 5

1.6. Nội dung nghiên cứu ... 5

1.7. Các nội dung chính trong đề tài ... 5

<b>CHƯƠNG 2: CƠ SỞ LÝ THUYẾT ... 6 </b>

2.1. Giới thiệu về Visual Studio và Windows Forms ... 6

2.1.1. Visual Studio ... 6

2.1.2. Visual Studio Windows Forms ... 7

2.1.3. Các thành phần để người dùng làm việc của WinForms ... 8

2.2. Giới thiệu về Arduino ... 14

2.2.1. Phần mềm Arduino IDE ... 14

2.2.2. Board Arduino Mega ... 15

2.3. Cơ sở dữ liệu về SQLite ... 17

2.4. Giao tiếp UART ... 18

2.5. Virtual Serial Port ... 20

2.6. Github ... 21

<b>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 ... 23 </b>

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

3.1. Sử dụng phần mềm với quyền “Sinh viên” ... 23

3.1.1. Đăng nhập với quyền “Sinh viên”... 23

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” ... 24

3.1.3. Chức năng “Bài học” ... 26

3.1.4. Chức năng “Thực hành” ... 31

3.1.5. Chứ năng “Thực hành kiểm tra lỗi” ... 36

3.1.6. Chức năng “Kiểm tra” ... 41

3.2. Sử dụng phần mềm với quyền “Giảng viên” ... 44

3.2.1. Đăng nhập với quyền “Giảng viên” ... 44

3.2.2. Chức năng “Quản lý thông tin sinh viên” ... 46

3.2.3. Chức năng “Tạo mã lỗi” ... 47

<b>CHƯƠNG 4: KẾT QUẢ VÀ ĐÁNH GIÁ ... 49 </b>

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

<b>DANH MỤC CÁC HÌNH ẢNH </b>

Hình 2.1. Logo của phần mềm Visual Studio 2022 ... 6

Hình 2.2. Giao diện làm việc của Visual Studio Windows Form 2022 ... 8

Hình 2.3. Giao diện cửa sổ Source Code Winforms ... 8

Hình 2.4. Giao diện cửa sổ Solution Explorer ... 9

Hình 2.5. Giao diện cửa sổ Design ... 10

Hình 2.6. Giao diện cửa sổ Toolbox ... 11

Hình 2.7. Giao diện cửa sổ Properties ... 13

Hình 2.8. Giao diện phần mềm Arduino IDE ... 15

Hình 2.9. Board Arduino Mega2560 ... 16

Hình 2.10. Cấu trúc cơ sở dữ liệu SQLite ... 17

Hình 2.11. Giao diện tài khoản SQLite ... 18

Hình 2.12. Giao tiếp giữa 2 UART ... 18

Hình 2.13. Giao diện ứng dụng Virtual Serial Port ... 20

Hình 2.14. Logo Github ... 21

Hình 2.15. Trang Github của đề tài ... 21

Hình 3.1. Trang chủ đăng nhập của phần mềm Vehicle Engine Training ... 23

Hình 3.2. Cổng kết nối COM ... 24

Hình 3.3. Các chức năng học tập của sinh viên ... 25

Hình 3.4. Ý tưởng hiển thị ban đầu phần bài học ... 26

Hình 3.5. Thư viện file excel phần bài học ... 26

Hình 3.6. Nơi lưu trữ hình ảnh hiển thị trong nguồn của dự án ... 27

Hình 3.7. Các bước chọn chức năng “Bài học” ... 28

Hình 3.8. Trang chọn bài học ... 28

Hình 3.9. Bố cục giao diện bài học ... 30

Hình 3.10. Ý tưởng ban đầu phần thực hành... 31

Hình 3.11. Các cột chứa câu hỏi và đáp án trắc nghiệm ... 31

Hình 3.12. Đồ thị minh họa cho cảm biến ... 32

Hình 3.13. Các bước thực hành chức năng “Thực Hành” ... 33

Hình 3.14. Trang chọn bài thực hành ... 33

Hình 3.15. Giao diện thực hành ... 35

Hình 3.16. Ý tưởng ban đầu phần thực hành kiểm tra lỗi ... 36

Hình 3.17. Thư viện file excel thực hành kiểm tra lỗi (1) ... 36

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

Hình 3.18. Thư viện file excel thực hành kiểm tra lỗi (2) ... 37

Hình 3.19. Nút thực hành kiểm tra lỗi ... 37

Hình 3.20. Giao diện thực hành kiểm tra lỗi ... 38

Hình 3.21. Hướng dẫn sinh viên nối dây ... 39

Hình 3.22. Hướng dẫn sinh viên đo kiểm ... 39

Hình 3.23. Khung chọn lỗi ... 40

Hình 3.24. Nút kiểm tra ... 41

Hình 3.25. Giao diện cửa sổ kiểm tra ... 41

Hình 3.26. Thiết lập bài kiểm tra ... 42

Hình 3.27. Danh sách 20 lỗi (PAN) ... 42

Hình 3.28. Giao diện kiểm tra ... 43

Hình 3.29. Phần mềm trả kết quả “ĐẠT” hay “KHƠNG ĐẠT” ... 43

Hình 3.30. Đăng nhập với quyền “Giảng viên” ... 44

Hình 3.31. Các chức năng chính dành cho giảng viên ... 45

Hình 3.32. Bố cục của trang quản lý sinh viên ... 46

Hình 3.33. Tiến độ học tập của sinh viên ... 47

Hình 3.34. Bảng điều khiển nhập mã lỗi ... 47

Hình 4.1. Kết nối phần mềm và phần cứng... 50

Hình 4.2. Thao tác thực hành trên phần mềm ... 50

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

<b>CHƯƠNG 1: TỔNG QUAN 1.1. Lí do chọn đề tài </b>

Đ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 tồ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.

<b>1.2. Thực trạng hiện tại </b>

<b>1.2.1 Tình hình ngồi nước </b>

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)

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

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.

<b>1.2.2. Tình hình trong nước </b>

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 đốn PAN của hệ thống điện điều khiển

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

độ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 đố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.

<b>1.3. Mục tiêu của đề tài </b>

- 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.

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

- 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.

<b>1.4. Đối tượng và phạm vi nghiên cứu </b>

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.

<b>1.5. Phương pháp tiếp cận và nghiên cứu 1.5.1. Phương pháp tiếp cận </b>

Để đạ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.

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

<b>1.5.2. Phương pháp nghiên cứu </b>

- 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.

<b>1.6. Nội dung nghiên cứu </b>

- 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.

<b>1.7. Các nội dung chính trong đề tài </b>

Đề tài gồm 5 chương:

<i><b>Chương 1: Tổng quan Chương 2: Cơ sở lý thuyết </b></i>

<i><b>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 </b></i>

điều khiển động cơ được biên soạn bằng Visual Studio Windows Forms

<i><b>Chương 4: Kết quả và đánh giá Chương 5: Kết luận và kiến nghị </b></i>

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

<b>CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1. Giới thiệu về Visual Studio và Windows Forms </b>

<b>2.1.1 Visual Studio </b>

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.

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

<b>2.1.2. Visual Studio Windows Forms </b>

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]. Ngồ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.

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

<b>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 </b>

<b>Hình 2.3. Giao diện cửa sổ Source Code Winforms </b>

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

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 q 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.

<b>Hình 2.4. Giao diện cửa sổ Solution Explorer </b>

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

- 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.

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

Bên cạnh cửa sổ Source Code, cửa sổ Design (hay còn gọi là "Form Designer" hoặc "Visual Designer") trong WinForms là cửa sổ làm việc chính cịn lại, nơi ta thiết kế giao diện người dùng của ứng dụng. Nó cung cấp một giao diện trực quan cho phép ta kéo và thả các điều khiển (controls), tạo ra các bố cục (layouts) cho các cửa sổ và các thành phần khác trong ứng dụng.

Khi mở một Form (cửa sổ) hoặc UserControl (điều khiển người dùng) trong cửa sổ Design, ta có thể:

- Thêm và sắp xếp các điều khiển: Chọn từ danh sách các điều khiển có sẵn (như nút, hộp văn bản, danh sách, hình ảnh...) và kéo chúng vào cửa sổ Design. Ta được quyền di chuyển, thay đổi kích thước và sắp xếp các điều khiển để tạo bố cục mong muốn.

- Thiết kế bố cục: Sử dụng các công cụ như container controls (Panel, GroupBox) và layout controls (TableLayoutPanel, FlowLayoutPanel) để tạo bố cục phù hợp với yêu cầu thiết kế của ứng dụng.

- Đặt thuộc tính (Properties): Chỉnh sửa các thuộc tính của các điều khiển và cửa sổ, như kích thước, màu sắc, vị trí, chữ, hình ảnh... từ cửa sổ Properties.

- Xử lý sự kiện (Event): Gán các xử lý sự kiện cho các điều khiển thông qua giao diện người dùng, chẳng hạn như click chuột, nhập liệu, thay đổi giá trị... Điều này giúp ta quản lý hành vi và tương tác của ứng dụng với người dùng.

Cửa sổ Toolbox, là cơng cụ quan trọng trong Visual Studio. Nó cung cấp các điều khiển (Controls) có sẵn cho người dùng dễ dàng sử dụng.

<b>Hình 2.6. Giao diện cửa sổ Toolbox </b>

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

Khi mở cửa sổ Toolbox, ta sẽ thấy một danh sách các hộp công cụ chứa các điều khiển phổ biến như nút (Button), hộp văn bản (TextBox), danh sách (ListBox), hộp kiểm (CheckBox), thanh trượt (Slider), hình ảnh và nhiều hơn nữa. Người dùng chỉ cần kéo và thả các điều khiển từ cửa sổ Toolbox vào cửa sổ Design để tạo giao diện người dùng. Cửa sổ Toolbox là một công cụ quan trọng giúp truy cập và sử dụng các điều khiển để tạo

giúp ta tiết kiệm thời gian và cơng sức trong q trình phát triển ứng dụng của mình. Dưới đây là mơ tả cụ thể về tính năng của các Toolbox chính được sử dụng trong đề tài:

- Button (Nút nhấn): Button là một điều khiển quan trọng trong Windows Forms. Nó thường được sử dụng để kích hoạt một hành động cụ thể trong ứng dụng khi người dùng nhấn vào nút. Ta có thể tùy chỉnh văn bản hiển thị trên nút và thêm các xử lý sự kiện để xử lý các tương tác từ người dùng.

- TextBox (Ô văn bản): TextBox cho phép người dùng nhập liệu từ bàn phím và cung cấp các phương thức để truy cập và sửa đổi văn bản trong ô.

tĩnh cho người dùng. Nó khơng cho phép người dùng tương tác trực tiếp với nó, nhưng nó có thể cung cấpcthơngctin hữucích hoặc chỉ dẫn cho người dùng. Ta có thể định dạng văn bản, màu sắc và kích thước của Label để phù hợp với thiết kế giao diện của phần mềm.

- ListBox (Danh sách): ListBox là một điều khiển cho phép hiển thị một danh sách các mục cho người dùng. Người dùng có thể chọn một hoặc nhiều mục trong danh sách. ListBox cung cấp các sự kiện để xử lý các thao tác của người dùng như chọn mục, xóa mục và kéo thả.

- SerialPort: SerialPort là một thành phần cho phép giao tiếp với các thiết bị ngoại vi thông qua cổng nối tiếp (Serial Port). Sử dụng SerialPort để kết nối và giao tiếp với các

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

- Panel (Bảng điều khiển): Panel là một điều khiển được sử dụng để tạo ra một vùng chứa hoặ cnhóm các điều khiển khác, cung cấp khả năng tạo ra các khu vực hoặc phân đoạn trong giao diện người dùng để sắp xếp và quản lý các điều khiển con.

- PictureBox (Khung hình ảnh): PictureBox dùng để hiển thị hình ảnh trong ứng dụng, có thể gán hình ảnhctừ các nguồn như tệp tin, URL hoặc dữ liệu nhị phân. Nó cung cấp các thuộc tính để điều chỉnh kích thước, vị trí và cách hiển thị hình ảnh trong PictureBox.

- CheckedListBox (Danh sách kiểm tra): CheckedListBox là một điều khiển tương tự ListBox nhưng cho phép người dùng chọn nhiều mục trong danh sách bằng cách sử dụng các hộp kiểm. Nó cho phép người dùng chọn hoặc bỏ chọn các mục từ danh sách và cung cấp các sự kiện để xử lý các thay đổi trong danh sách kiểm tra.

Cửa sổ nằm ở bên phải là cửa sổ Properties (Thuộc tính), nơi hiển thị danh sách các thuộc tính của các điều khiển hoặc thành phần được chọn trong cửa sổ Design.

<b>Hình 2.7. Giao diện cửa sổ Properties </b>

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

Khi người dùng chọn một điều khiển trong cửa sổ Design, các thuộc tính của nó sẽ được hiển thị trong cửa sổ Properties. Ta có thể chỉnh sửa các giá trị của các thuộc tính này để tùy chỉnh hành vi và giao diện của điều khiển.

Các tính năng chính của cửa sổ Properties:

- Hiển thị các thuộc tính: Cửa sổ Properties liệt kê tất cả các thuộc tính có sẵn của điều khiển được chọn. Điều này bao gồm các thuộc tính như kích thước, vị trí, màu sắc, chữ, hình ảnh, dữ liệu liên quan và nhiều hơn nữa.

- Chỉnh sửa giá trị: Thay đổi giá trị của các thuộc tính bằng cách nhập trực tiếp vào ơ thông tin hoặc sử dụng các điều khiển như danh sách thả xuống, hộp kiểm, nút chọn màu, v.v.

- Xem thơng tin mơ tả: Khi chọn một thuộc tính, cửa sổ Properties hiển thị thông tin mô tả về thuộc tính đó, giúp hiểu rõ hơn về ý nghĩa và cách sử dụng của thuộc tính đó.

- Gom nhóm thuộc tính: Các thuộc tính có thể được nhóm lại trong các nhóm để giúp ta tìm kiếm và quản lý thuộc tính dễ dàng hơn.

<b>2.2. Giới thiệu về Arduino </b>

<b>2.2.1 Phần mềm Arduino IDE </b>

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

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

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.

<b>Hình 2.8. Giao diện phần mềm Arduino IDE </b>

<b>2.2.2 Board Arduino Mega </b>

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.

</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">

<b>Hình 2.9. Board Arduino Mega2560 </b>

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. Ngồ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.

</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">

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.

<b>2.3. Cơ sở dữ liệu SQLite </b>

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 qn của cơ sở dữ liệu.

<b>Hình 2.10. Cấu trúc cơ sở dữ liệu </b>

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.

</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37">

<b>Hình 2.11. Giao diện tài khoản SQLite 2.4. Giao tiếp UART </b>

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.

</div>

×