(Đồ án HCMUTE) nghiên cứu, thiết kế và chế tạo bộ mạch quản lý pin lithium ion trên xe máy điện

92 7 0
(Đồ án HCMUTE) nghiên cứu, thiết kế và chế tạo bộ mạch quản lý pin lithium ion trên xe máy điện

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT Ô TÔ NGHIÊN CỨU, THIẾT KẾ VÀ CHẾ TẠO BỘ MẠCH QUẢN LÝ PIN LITHIUM-ION TRÊN XE MÁY ĐIỆN GVHD: LÊ THANH PHÚC SVTH: TRẦN HẢI NAM PHAN HY VỌNG SKL009247 Tp Hồ Chí Minh, tháng 08/2022 i TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP NGHIÊN CỨU, THIẾT KẾ VÀ CHẾ TẠO BỘ MẠCH QUẢN LÝ PIN LITHIUM-ION TRÊN XE MÁY ĐIỆN SVTH: TRẦN HẢI NAM MSSV: 18145181 SVTH: PHAN HY VỌNG MSSV: 18145292 Khóa: 2018-2022 Ngành: CƠNG NGHỆ KỸ THUẬT Ô TÔ GVHD: TS LÊ THANH PHÚC Tp Hồ Chí Minh, tháng 08 năm 2022 i TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP NGHIÊN CỨU, THIẾT KẾ VÀ CHẾ TẠO BỘ MẠCH QUẢN LÝ PIN LITHIUM-ION TRÊN XE MÁY ĐIỆN SVTH: TRẦN HẢI NAM MSSV: 18145181 SVTH: PHAN HY VỌNG MSSV: 18145292 Khóa: 2018-2022 Ngành: CÔNG NGHỆ KỸ THUẬT Ô TÔ GVHD: TS LÊ THANH PHÚC Tp Hồ Chí Minh, tháng 08 năm 2022 i CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP TÊN ĐỀ TÀI: “NGHIÊN CỨU, THIẾT KẾ VÀ CHẾ TẠO BỘ MẠCH QUẢN LÝ PIN LITHIUM – ION TRÊN XE MÁY ĐIỆN.” Sinh viên thực hiện: Họ tên SV1: TRẦN HẢI NAM MSSV: 18145181 Họ tên SV2: PHAN HY VỌNG MSSV: 18145292 I NỘI DUNG: • Nghiên cứu lý thuyết pin Lithium-Ion 18650 • Nghiên cứu, tìm hiểu vi điều khiển STM32F103C8T6 linh kiện điện tử • Tính tốn, thiết kế hàn mạch • Thực nghiệm, đánh giá hiệu an toàn mạch II TÀI LIỆU THAM KHẢO: • Internet • Luận văn thạc sĩ “Tính toán, thiết kế hệ thống điều khiển xe máy điện’’ tác giả Đinh Cao Trí III TRÌNH BÀY: • thuyết minh đồ án • Upload ấn phẩm lên Google Drive (Hồ sơ NCKH, file word, PowerPoint ĐATN) IV THỜI GIAN THỰC HIỆN: a Ngày bắt đầu: 03/03/2022 b Ngày hoàn thành: 18/07/2022 Trưởng ngành Tp Hồ Chí Minh, ngày……tháng……năm 2022 Giáo viên hướng dẫn (Ký & ghi rõ họ tên) i CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc Lập – Tự Do – Hạnh Phúc PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN Họ tên SV1: Trần Hải Nam MSSV: 18145181 Họ tên SV2: Phan Hy Vọng MSSV: 18145292 Ngành: Công nghệ Kỹ thuật ô tô Tên đề tài: “Nghiên cứu, thiết kế chế tạo mạch quản lý quản lí pin Lithium – Ion xe máy điện” Họ tên Giáo viên hướng dẫn: TS Lê Thanh Phúc NHẬN XÉT Về nội dung đề tài & khối lượng thực hiện: Ưu điểm: Khuyết điểm: Đề nghị cho bảo vệ hay không? Đánh giá loại: Điểm: (Bằng chữ: ) Tp Hồ Chí Minh, ngày … tháng … năm 2022 Giáo viên hướng dẫn (Ký & ghi rõ họ tên) i CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc Lập – Tự Do – Hạnh Phúc PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN Họ tên SV1: Trần Hải Nam MSSV: 18145181 Họ tên SV2: Phan Hy Vọng MSSV: 18145292 Ngành: Công nghệ Kỹ thuật ô tô Tên đề tài: “Nghiên cứu, thiết kế chế tạo mạch quản lý quản lí pin Lithium – Ion xe máy điện” Họ tên Giáo viên phản biện: ThS Nguyễn Trung Hiếu NHẬN XÉT Về nội dung đề tài & khối lượng thực hiện: Ưu điểm: Khuyết điểm: Đề nghị cho bảo vệ hay không? Đánh giá loại: Điểm: (Bằng chữ: ) Tp Hồ Chí Minh, ngày … tháng … năm 2022 Giáo viên phản biện (Ký & ghi rõ họ tên) i LỜI CẢM ƠN Nhóm nghiên cứu xin gửi lời cảm ơn chân thành đến Khoa Đào tạo Chất lượng cao – Trường Đại học Sư phạm Kỹ thuật TP.HCM đặc biệt giảng viên hướng dẫn – Trưởng khoa Đào tạo Chất lượng cao – TS Lê Thanh Phúc giảng viên trưởng ngành – Thạc sĩ Vũ Đình Huấn đồng ý cho nhóm nghiên cứu thực Khoá luận tốt nghiệp với đề tài “Nghiên cứu, thiết kế chế tạo mạch quản lý Pin LithiumIon xe máy điện” Ngồi ra, nhóm nghiên cứu gửi lời cảm ơn đến thầy, cô tạo điều kiện tốt để nhóm nghiên cứu, học tập môn học từ đại cương đến chuyên ngành từ tạo tảng kiến thức vững để hoàn thành nhiệm vụ giao Trong trình nghiên cứu thực đồ án tốt nghiệp, nỗ lực làm việc thân nhóm, nhóm nghiên cứu cịn nhận giúp đỡ, đóng góp ý kiến bảo nhiệt tình từ phía gia đình, thầy bạn bè Bên cạnh đó, nhóm nghiên cứu xin chân thành gửi lời cảm ơn đến TS Lê Thanh Phúc hỗ trợ nhóm từ lúc nhận đề tài hồn thành đồ án Nhóm nghiên cứu nhận từ thầy nhiều kiến thức quý báu định hướng, ý tưởng rõ ràng để nhóm hồn thành tốt đề tài Đồng thời, nhóm nghiên cứu cảm ơn thầy tạo điều kiện để nhóm tiếp cận với môi trường học tập đầy đủ trang thiết bị sở vật chất hỗ trợ cho công tác nghiên cứu Sau kết thúc trình nghiên cứu, nhóm đạt kết định Tuy nhiên cịn nhiều hạn chế thiếu sót mặt phần cứng mơ hình, nội dung thuyết minh Nhóm mong nhận góp ý thẳng thắn từ phía thầy bạn bè để nhóm nghiên cứu khắc phục vấn đề cách tốt Lời nói cuối cùng, nhóm nghiên cứu xin chúc tất q thầy dồi thật sức khoẻ, đạt nhiều thành công cơng việc sống Thành phố Hồ Chí Minh, ngày…… tháng……năm 2022 Nhóm sinh viên thực Trần Hải Nam Phan Hy Vọng i i TÓM TẮT Mục tiêu đồ án tập trung việc nghiên cứu, thiết kế chế tạo mạch quản lý pin Lithium-Ion xe máy điện Sau thời gian thực đề tài, nhóm nghiên cứu nghiên cứu thiết kế mạch điện có nhiệm vụ quản lý điều khiển vấn đề điện áp xả, cường độ dòng điện nhiệt độ pin Cụ thể, nhóm nghiên cứu thiết kế mạch quản lý sử dụng thiết bị điều khiển tín hiệu vi điều khiển STM32F103C8 có nhiệm vụ xử lý trung tâm Các giá trị điện áp, cường độ dòng điện nhiệt độ đưa giá trị điện áp chuyển đổi sang tín hiệu ADC đưa vào vi điều khiển để xử lý, sau vi điều khiển xuất tín hiệu điều khiển đóng ngắt mạch điện để bảo vệ cho hệ thống xảy tượng xả, dòng, ngắn mạch nhiệt độ pin tăng cao để bảo vệ an toàn, nâng cao hiệu suất tuổi thọ pin Lithium – Ion xe máy điện Đồng thời hiển thị thông tin điện áp, nhiệt độ dịng điện lên hình LCD để người dùng dễ dàng theo dõi cảnh báo người dùng Nội dung cụ thể đề tài thể qua chương: Chương 1: Tổng quan Chương 2: Cơ sở lý thuyết Chương 3: Tính tốn thiết kế hệ thống Chương 4: Thực nghiệm đánh giá Chương 5: Kết luận kiến nghị ii i ABSTRACT The main objective of this project focuses on the research, design and manufacture of Lithium-Ion battery management circuitry on electric motorcycles After a period of implementation of the topic, the research team has researched and designed an electrical circuit that is responsible for managing and controlling the problems of discharge voltage, amperage and temperature of the battery pack Specifically, the research team designed a management circuit using the main signal control device, the STM32F103C8 microcontroller, which acts as a central processor The values of voltage, amperage and temperature are given to voltage and converted to ADC signal input to the microcontroller for processing, then the microcontroller will output control signals to switch off the circuit to protect the system when overdischarge, short-circuit, overcurrent and high temperature of the battery pack occur to protect safety, improve the performance and life of the Lithium - Ion battery pack on the electric motorcycle At the same time, the LCD screen displays voltage, temperature and current information for users to easily monitor and warn users The specific content of the topic is presented through the following chapters: Chapter 1: Overview Chapter 2: Theoretical Basis Chapter 3: Calculation and design of the system Chapter 4: Experiment and evaluation Chapter 5: Conclusion and recommendations iii i MỤC LỤC LỜI CẢM ƠN i TÓM TẮT ii ABSTRACT iii MỤC LỤC iv DANH MỤC CÁC TỪ VIẾT TẮT vii DANH MỤC CÁC BẢNG BIỂU viii DANH MỤC CÁC HÌNH ix Chương TỔNG QUAN 1.1 Lý chọn đề tài 1.2 Mục tiêu đề tài 1.3 Đối tượng phạm vi nghiên cứu 1.3.1 Đối tượng nghiên cứu 1.3.2 Phạm vi nghiên cứu 1.4 Phương pháp nghiên cứu 1.5 Một số nghiên cứu nước Chương CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu loại pin xe điện phổ biến 2.1.1 Pin ắc quy chì axit 2.1.2 Pin niken (NiMH) 2.1.3 Pin Lithium - ion 2.2 Giới thiệu chi tiết pin Lithium-ion 2.2.1 Lịch sử hình thành phát triển 2.2.2 Cấu tạo pin Lithium-ion .9 2.2.3 Nguyên lý hoạt động pin Lithium-ion .12 2.2.4 Phương pháp sạc pin Lithium - ion 14 2.2.5 Vấn đề sạc (Over-Charging) .16 iv i Đánh giá: Mạch hoạt động tương đối hiệu việc trì cường độ dịng điện khởi động động Đồng thời thực ngắt mạch kịp thời xảy tượng ngắn mạch, tải Các giá trị cường độ dòng điện xảy tượng tải, ngắn mạch thời gian trì dịng điện thay đổi code lập trình điều khiển để phù hợp với loại động điều kiện thực nghiệm khác 62 i Chương KẾT LUẬN VÀ KIẾN NGHỊ 5.1 Kết luận Sau tháng nghiên cứu với hướng dẫn giảng viên hướng dẫn anh nghiên cứu sinh phịng Lab, nhóm nghiên cứu hoàn thành mục tiêu đề tài đặt ban đầu, hiểu biết nhiều nguyên lý hoạt động ứng dụng linh kiện điện tử như: vi điều khiển STM32, Opamp, Mosfet, điện trở Shunt, qua đề tài nhóm biết sử dụng công cụ, thiết bị phục vụ cho cơng tác nghiên cứu thí nghiệm, ví dụ: máy đo xung, máy tạo nguồn sử dụng,… Nhờ vào nổ lực khơng ngừng thành viên, nhóm nghiên cứu, thiết kế chế tạo thành công mạch quản lý pin Lithium-ion với đầy đủ chức như: kiểm soát vấn đề điện áp, dòng điện nhiệt độ pin, tránh tình trạng xả, tải, ngắn mạch vấn đề nhiệt độ, đảm bảo vấn đề an tồn, giúp pin có tuổi thọ sử dụng lâu dài Mạch hoạt động ổn định xác kết hợp với mạch điều khiển công suất động không đồng ba pha Việc nghiên cứu mạch quản lí pin Lithium-ion khơng dừng lại phận quan trọng xe điện, định tuổi thọ pin đặc biệt đảm bảo an toàn cho tồn xe Nhóm nghiên cứu hy vọng khố tận dụng có chọn lọc kết tích cực đề tài mang lại, tiếp thu điểm mạnh khắc phục nhược điểm đề tài để chế tạo thành cơng mạch quản lí pin tối ưu 5.2 Hạn chế đề tài Đề tài dừng lại mức nghiên cứu thử nghiệm phịng thí nghiệm, chưa ứng dụng vào thực tế xe Bộ pin 72 cells gặp vấn đề kỹ thuật nên gây khó khăn cho nhóm nghiên cứu việc thử nghiệm đánh giá thực tế pin Bộ mạch quản lý pin chưa có khả chống nước xe trời mưa đường ngập úng làm ảnh hưởng đến tuổi thọ mạch Diện tích mạch cịn lớn, gây chiếm diện tích lắp đặt 5.3 Kiến nghị Nghiên cứu tích hợp thêm tính quản lý q trình sạc pin Cải thiện chất lượng xếp vị trí linh kiện cách tối ưu nhằm giảm bớt diện tích mạch Cải thiện khả chống nước cho mạch để nâng cao tuổi thọ linh kiện đảm bảo an toàn cho người sử dụng Tiến hành thử nghiệm xe máy điện thực tế để xem xét, đánh giá tính ổn định mạch cải thiện vấn đề phát sinh có Tiếp tục trì nghiên cứu đề tài khố sau để tạo mạch quản lý pin chất lượng cao, hoạt động ổn định bền bỉ, thương mại hố tương lai 63 i TÀI LIỆU THAM KHẢO [1] Đinh Cao Trí (2021), “Tính tốn, thiết kế hệ thống điều khiển xe máy điện”, Luận văn thạc sĩ, Trường Đại học Sư Phạm Kỹ thuật TP HCM, 82 trang [2] Nguyễn Văn Trạng, Phạm Tuấn Anh, Phạm Duy Tấn (2017), “Nghiên cứu tối ưu tính làm việc pin Lithium-ion sử dụng cho xe gắn máy tích hợp truyền động lai”, Tạp chí Phát triển Khoa học Cơng nghệ, tập 20, số K6 – 2017 [3] M Brandl, H Gall, M Wenger, V Lorentz (2012), “Batteries and Battery Management Systems for Electric Vehicles”, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE), Dresden, Germany [4] Suwarna Shete, Pranjal Jog, R K Kumawat, D.K Palwalia (2021), “Battery Management System for SOC Estimation of Lithium-Ion Battery in Electric Vehicle”, 2021 6th IEEE International Conference on Recent Advances and Innovations in Engineering (ICRAIE), Kedah, Malaysia [5] VinFastAuto (2021), “So sánh loại pin xe máy điện phổ biến nay” Internet: https://vinfastauto.com/vn_vi/so-sanh-cac-loai-pin-xe-may-dien-pho-bienhien-nay [6] PDC – Tech (2019), “Cấu tạo ắc quy axit chì (AGM-VRLA)” Internet: https://pdc-tech.vn/tin-tuc/cau-tao-ac-quy-axit-chi-agm-vrla/ [7] Cổng thơng tin điện tử Cục đăng kiểm Việt Nam (2019), “Tìm hiểu loại pin ô tô điện BEV” Internet: http://www.vr.org.vn/tin-tuc-sukien/Pages/ListNews.aspx?ItemID=6354&OriginalUrl=vn/tin-tuc-su-kien/tin-quocte/tim-hieu-ve-cac-loai-pin-cua-o-to-dien-bev-6354.html [8] Wikipedia, “Nickel – metal hydride battery” Internet: https://en.wikipedia.org/wiki/Nickel%E2%80%93metal_hydride_battery [9] RiTech, “Pin lithium – ion gì? Lịch sử, cấu tạo nguyên lý hoạt động” Internet: https://banlinhkiendientu.vn/pin-lithium-la-gi/ [10] RiTech, “Pin lithium – ion gì? Lịch sử, cấu tạo nguyên lý hoạt động” Internet: https://banlinhkiendientu.vn/pin-lithium-la-gi/ [11] Tinh tế (2014), “Khám phá lịch sử hình thành phát triển pin” Internet: https://genk.vn/kham-pha-lich-su-hinh-thanh-va-phat-trien-cua-pin20140520234829463.chn [12] Nguyễn Phúc (2020), “Pin Lithium – Ion: Định hình phát triển giới”, Tạp chí Khoa học Cơng nghệ Việt Nam, số 1+2 năm 2020 [13] Ictnews (2019), “Nhìn lại lịch sử phát triển pin Lithium-ion thấy, việc phát minh viên pin mang tính cách mạng khơng dễ chút nào” Internet: https://ictnews.vietnamnet.vn/khoi-nghiep/nhin-lai-lich-su-phat-trien-pin-lithiumion-moi-thay-viec-phat-minh-ra-vien-pin-mang-tinh-cach-mang-nay-khong-he-dechut-nao-37355.html [14] Marshall Brain (2021), “How Lithium – ion Batteries Work”, Internet: https://electronics.howstuffworks.com/everyday-tech/lithium-ion-battery.htm [15] Wikipedia “Pin Li-ion” Internet: https://vi.wikipedia.org/wiki/Pin_Li-ion [16] Wikipedia “Pin Li-ion” Internet: https://vi.wikipedia.org/wiki/Pin_Li-ion [17] Wikipedia “Pin Li-ion” Internet: https://vi.wikipedia.org/wiki/Pin_Li-ion 64 i [18] Marshall Brain (2021), “How Lithium – ion Batteries Work”, Internet: https://electronics.howstuffworks.com/everyday-tech/lithium-ion-battery.htm [19] Nguyễn Văn Trạng, Phạm Tuấn Anh, Phạm Duy Tấn (2017), “Nghiên cứu tối ưu tính làm việc pin Lithium-ion sử dụng cho xe gắn máy tích hợp truyền động lai”, Tạp chí Phát triển Khoa học Công nghệ, tập 20, số K6 – 2017 [20] Marshall Brain (2021), “How Lithium – ion Batteries Work”, Internet: https://electronics.howstuffworks.com/everyday-tech/lithium-ion-battery.htm [21] Wikipedia “Pin Li-ion” Internet: https://vi.wikipedia.org/wiki/Pin_Li-ion [22] Buchman (2017), “Charging methods to prolong lithium-ion battery life” Internet: https://www.dataweek.co.za/58443n [23] Hemavathi S (2020), “Overview of cell balancing methods for Li-ion battery technology”, Central Electrochemical Research Institute, India [24] LIR18650 Datasheet (2010), “Lithium – ion Battery Datasheet” Internet: https://www.ineltro.ch/media/downloads/SAAItem/45/45958/36e3e7f3-2049-4adba2a7-79c654d92915.pdf [25] LIR18650 Datasheet (2010), “Lithium – ion Battery Datasheet” Internet: https://www.ineltro.ch/media/downloads/SAAItem/45/45958/36e3e7f3-2049-4adba2a7-79c654d92915.pdf [26] VinFastAuto (2021), “Ưu điểm pin lithium – ion dùng cho ô tô điện” Internet: https://vinfastauto.com/vn_vi/uu-diem-pin-lithium-ion-dung-cho-o-to-dien [27] Shadow (2017), “Chú ý quan trọng sử dụng pin Lithium - ion” Internet: https://shadow.vn/chu-y-quan-trong-ve-viec-su-dung-pin-lithiumion?gclid=Cj0KCQjw6ZOIBhDdARIsAMf8YyFmBx_Cg_kT455OoZR47dCnhp_g xls9sth0jOsLJMy9XQ7BtJubNoaAsZmEALw_wcB,%20truy%20c%E1%BA%ADp %20ng%C3%A0y%2027/05/2021 [28] DEVIoT, “Giới thiệu STM32F103C8T6” Internet https://deviot.vn/tutorials/stm32f1.23165131/gioi-thieu-vestm32f103c8t6.10428544 [29] Điện tử Hello (2020), “Bài giới thiệu STM32F103C8T6” Internet: https://www.dientuhello.com/bai-1-gioi-thieu-ve-stm32f103c8t6/ [30] RiTech, “STM32F103C8T6” Internet: https://ritech.vn/board-machstm32f103c8t6/ [31] Moicapnhat, “STM32F103 gì” Internet: https://moicapnhap.com/stm32f103-la-gi [32] MECSU (2021), “Bo mạch vi điều khiển STM32F103C8T6” Internet: https://blog.mecsu.vn/bo-mach-vi-dieu-khien-stm32f103c8t6-blue-pill/ [33] Laptrinharmst, “Bài 09 ADC STMF103” Internet: http://laptrinharmst.blogspot.com/2018/03/bai-09-adc-trong-stm32f103.html [34] Tamthien, “Khái niệm điện trở” Internet: http://tamthien.byethost7.com/noi_dung/dien_tu/dtcb/dien_tro/dien_tro.htm [35] Điện tử VIETNIC, “Tụ gốm 104” Internet: https://www.vietnic.vn/tu-gom-104 65 i [36] Điện tử tương lai, “Mạch ổn áp 7805” Internet: https://dientutuonglai.com/mach-on-ap-su-dung-lm7805.html [37] Robocon.vn, “Tụ Hoá 10uF 50V” Internet: http://robocon.vn/detail/td28-tuhoa-10uf-50v.html [38] HSHOP, “Kit Phát Triển STM32F103C8T6 Blue Pill ARM Cortex-M3” https://hshop.vn/products/kit-ra-chon-stm32f103c8t6 [39] Thế giới điện (2021), “Mosfet gì? Đặc điểm, cấu tạo, nguyên lý hoạt động” Interner: https://thegioidienco.vn/mosfet-la-gi.html [40] AllDatasheet, “Datasheet IRFP 460A” Internet: https://www.alldatasheet.com/datasheetpdf/pdf/22409/STMICROELECTRONICS/IRFP460.html [41] Mualinhkien, “Mosfet IRFP460 TO-247 200V 20A (Kênh N)” Internet: https://mualinhkien.vn/irfp460-mosfet-n-ch-500v-20a-to247 [42] Điện tử tương lai, “NTC-MF52-103 Điện Trở Nhiệt 10K” Internet: https://dientutuonglai.com/ntc-mf52-103-dien-tro-nhiet-10k.html [43] Nhiệt điện trở gì? Chúng phân thành loại? Internet: https://dt16.net/nhiet-dien-tro-la-gi-chung-duoc-phan-thanh-bao-nhieu-loai.html [44] NTC Thermistors https://www.farnell.com/datasheets/33552.pdf [45] Thietbicambien, “Điện trở gì” Internet: https://thietbicambien.vn/dien-trola-gi/ [46] Robocon.vn, “Điện tử điện trở gì” Internet: http://robocon.vn/ndetail/dien-tu-co-ban-dien-tro-la-gi.html [47] Hocdu.com, “Bảng màu điện trở chuẩn 2019 cách tính giá trị điện trở theo bảng màu” Internet: http://hocdu.com/threads/bang-mau-dien-tro-chuan-moi2019-va-cach-tinh-gia-tri-dien-tro-theo-bang-mau.28/ [48] Linhkienchatluong, “Điện trở Shunt đo dòng – Điện trở Shunt 1.5x10x5mm 0.005R 5mR” Internet: https://linhkienchatluong.vn/dien-tro-shunt-do-dong/dientro-shunt-15x10x5mm-0005r-5mr_sp834_ct6137.aspx [49] Tronixstuff, “ICL7660” Internet: https://tronixstuff.com/2010/04/12/partreview-intersil-icl7660/ [50] ThegioiIC, “IR2101 MOSFET Ngõ Ra, 360 mA, 20V 8-DIP” Internet: https://www.thegioiic.com/ir2101-mosfet-2-ngo-ra-360-ma-20v-8-dip [51] Suachualaptop24h, “Tìm hiểu thơng số kỹ thuật LCD 16x02” Internet: https://suachualaptop24h.com/linh-kien-laptop/tim-hieu-thong-so-ki-thuat-cua-lcd1602-n5212.html [52] RiTech, “Tìm hiểu IC LM324” Internet https://ritech.com.vn/timhie%CC%89u-ve-ic-lm324/ [53] Mobitool, “Mạch lọc thơng thấp tích cực” Internet: https://mobitool.net/machloc-thong-thap-tich-cuc.html [54] MECSU (2022), “Mạch chỉnh lưu gì? Có loại” Internet: https://blog.mecsu.vn/mach-chinh-luu/ 66 i PHỤ LỤC Code điều khiển mạch quản lý pin phần mềm Keil C /* USER CODE BEGIN Header */ /** ******************************************************************* *********** * @file : main.c * @brief : Main program body ******************************************************************* *********** * @attention * * Copyright (c) 2022 STMicroelectronics * All rights reserved * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component * If no LICENSE file comes with this software, it is provided AS-IS * ******************************************************************* *********** */ #include "main.h" #include "CLCD.h" #include #define D4_Pin GPIO_PIN_6 #define D4_GPIO_Port GPIOB #define D5_Pin GPIO_PIN_5 #define D5_GPIO_Port GPIOB #define D6_Pin GPIO_PIN_4 #define D6_GPIO_Port GPIOB #define D7_Pin GPIO_PIN_3 #define D7_GPIO_Port GPIOB #define EN_Pin GPIO_PIN_7 #define EN_GPIO_Port GPIOB #define CS_Pin GPIO_PIN_8 #define CS_GPIO_Port GPIOB CLCD_Name LCD1; 67 i uint32_t ADCx[3]; uint8_t i = 0; uint8_t count = 0; _Bool state = 0; char LCD_send[16]; uint16_t temp[6] = {0, 15, 35, 55, 75, 100}; uint16_t adc[6] = {4539, 3691, 2544, 1621, 1002, 551}; float TempB = 0.0; uint8_t cell = 72; float VBat, Power, Iload; #define Id 1.0 #define Iov 4.0 #define Tov 50.0 ADC_HandleTypeDef hadc1; DMA_HandleTypeDef hdma_adc1; void SystemClock_Config(void); static void MX_GPIO_Init(void); static void MX_DMA_Init(void); static void MX_ADC1_Init(void); int main(void) { HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_DMA_Init(); MX_ADC1_Init(); float Vmax = 4.2*cell; float Vmin = 3.0*cell; CLCD_4BIT_Init(&LCD1, 16, 2, CS_GPIO_Port, CS_Pin, EN_GPIO_Port, EN_Pin, D4_GPIO_Port, D4_Pin, D5_GPIO_Port, D5_Pin, D6_GPIO_Port, D6_Pin, D7_GPIO_Port, D7_Pin); HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_SET); HAL_Delay(2000); while (1) { 68 i HAL_ADC_Start_DMA(&hadc1, ADCx, 3); CLCD_Clear(&LCD1); CLCD_SetCursor(&LCD1, 0, 0); CLCD_WriteString(&LCD1, "T:"); for(i = 0; i< 5; i++){ if(ADCx[0] Iov){ HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_SET); CLCD_SetCursor(&LCD1, 7, 1); CLCD_WriteString(&LCD1, "Ngan mach"); break; } if(Iload > Id && count < 4) count++; else if(count > && count < 5) 69 i count ; if(VBat < Vmin || count == 4){ HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_SET); state = 0; } if(VBat > Vmin && count == 0){ HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_RESET); state = 1; } if(TempB > Tov){ HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_SET); state = 0; CLCD_SetCursor(&LCD1, 7, 1); CLCD_WriteString(&LCD1, "Qua nhiet"); } CLCD_SetCursor(&LCD1, 13, 1); if(state == 1){ CLCD_WriteString(&LCD1, "RUN"); } CLCD_SetCursor(&LCD1, 8, 1); if(VBat < Vmin){ CLCD_WriteString(&LCD1, "Pin yeu"); } if(count == 4){ CLCD_WriteString(&LCD1, "Qua tai"); } HAL_Delay(500); } } /** * @brief System Clock Configuration * @retval None */ void SystemClock_Config(void) { RCC_OscInitTypeDef RCC_OscInitStruct = {0}; 70 i RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; RCC_PeriphCLKInitTypeDef PeriphClkInit = {0}; /** Initializes the RCC Oscillators according to the specified parameters * in the RCC_OscInitTypeDef structure */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; RCC_OscInitStruct.HSIState = RCC_HSI_ON; RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { Error_Handler(); } /** Initializes the CPU, AHB and APB buses clocks */ RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI; RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) { Error_Handler(); } PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC; PeriphClkInit.AdcClockSelection = RCC_ADCPCLK2_DIV2; if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) { Error_Handler(); } } /** * @brief ADC1 Initialization Function * @param None * @retval None 71 i */ static void MX_ADC1_Init(void) { /* USER CODE BEGIN ADC1_Init */ /* USER CODE END ADC1_Init */ ADC_ChannelConfTypeDef sConfig = {0}; /* USER CODE BEGIN ADC1_Init */ /* USER CODE END ADC1_Init */ /** Common config */ hadc1.Instance = ADC1; hadc1.Init.ScanConvMode = ADC_SCAN_ENABLE; hadc1.Init.ContinuousConvMode = DISABLE; hadc1.Init.DiscontinuousConvMode = DISABLE; hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START; hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT; hadc1.Init.NbrOfConversion = 3; if (HAL_ADC_Init(&hadc1) != HAL_OK) { Error_Handler(); } /** Configure Regular Channel */ sConfig.Channel = ADC_CHANNEL_0; sConfig.Rank = ADC_REGULAR_RANK_1; sConfig.SamplingTime = ADC_SAMPLETIME_13CYCLES_5; if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) { Error_Handler(); } /** Configure Regular Channel */ sConfig.Channel = ADC_CHANNEL_1; sConfig.Rank = ADC_REGULAR_RANK_2; if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) 72 i { Error_Handler(); } /** Configure Regular Channel */ sConfig.Channel = ADC_CHANNEL_7; sConfig.Rank = ADC_REGULAR_RANK_3; if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) { Error_Handler(); } /* USER CODE BEGIN ADC1_Init */ /* USER CODE END ADC1_Init */ } /** * Enable DMA controller clock */ static void MX_DMA_Init(void) { /* DMA controller clock enable */ HAL_RCC_DMA1_CLK_ENABLE(); /* DMA interrupt init */ /* DMA1_Channel1_IRQn interrupt configuration */ HAL_NVIC_SetPriority(DMA1_Channel1_IRQn, 0, 0); HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn); } /** * @brief GPIO Initialization Function * @param None * @retval None */ static void MX_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct = {0}; 73 i /* GPIO Ports Clock Enable */ HAL_RCC_GPIOA_CLK_ENABLE(); HAL_RCC_GPIOB_CLK_ENABLE(); /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5 |GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8, GPIO_PIN_RESET); /*Configure GPIO pins : PB1 PB3 PB4 PB5 PB6 PB7 PB8 */ GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5 |GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); } /* USER CODE BEGIN */ /* USER CODE END */ /** * @brief This function is executed in case of error occurrence * @retval None */ void Error_Handler(void) { /* USER CODE BEGIN Error_Handler_Debug */ /* User can add his own implementation to report the HAL error return state */ disable_irq(); while (1) { } /* USER CODE END Error_Handler_Debug */ } #ifdef USE_FULL_ASSERT /** * @brief Reports the name of the source file and the source line number * where the assert_param error has occurred 74 i * @param file: pointer to the source file name * @param line: assert_param error line source number * @retval None */ void assert_failed(uint8_t *file, uint32_t line) { /* USER CODE BEGIN */ /* User can add his own implementation to report the file name and line number, ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ /* USER CODE END */ } #endif /* USE_FULL_ASSERT */ 75 i S i K L 0

Ngày đăng: 08/05/2023, 17:45