1. Trang chủ
  2. » Luận Văn - Báo Cáo

NGHIÊN CỨU NÂNG CAO KHẢ NĂNG TĂNG TỐC CỦA ĐỘNG CƠ KHÔNG ĐỒNG BỘ BA PHA ỨNG DỤNG TRÊN XE GẮN MÁY ĐIỆN

96 1 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 96
Dung lượng 4,89 MB

Nội dung

Đồ án tốt nghiệp này trình bày về cách thiết kế, chế tạo mạch điều khiển và phương pháp điều khiển động cơ xoay chiều không đồng bộ ba pha, có giá thành thấp kết hợp sử dụng cảm biến tốc độ để điều khiển xung PWM. Cải thiện tốc độ và mômen cho xe gắn máy điện giúp xe có thể vận hành trơn tru hơn. Vi điều khiển đóng vai trò là bộ xử lý trung tâm, có nhiệm vụ tạo và điều chế các xung (PWM), để đóng ngắt điện áp DC. Nhóm tập trung nghiên cứu lập trình điều khiển tín hiệu xung PWM, cho IGBT bằng vi điều khiển STM32F103C8.Độ rộng của mỗi xung được thay đổi dựa trên vi điều khiển, sao cho điện áp tổng thể ở đầu ra tương tự như sóng hình sin. Phương pháp điều khiển dựa trên nguyên tắc của biến tần (VFD). Điện áp một chiều được chuyển đổi thành điện áp sóng sin AC bằng cách đọc bảng tra cứu. Dạng sóng có thể được tinh chế cho đến khi gần giống với dạng sóng sin thuần túy. Bên cạnh đó, nhóm tiến hành thiết kế, thi công mạch hàn cũng như mạch in PCB trên phần mềm Proteus. Nghiên cứu mạch bảo vệ sử dụng vi điều khiển ATtiny85. Thiết kế và bố trí mạch trên khung xe gắn máy Honda Dream. Cuối cùng, nhóm tiến hành thực nghiệm trên mô hình mô phỏng xe máy điện bằng phần mềm MatlabSimulink, băng thử mômen và trên đường. Nhằm mục đích so sánh để rút ra kết luận và cải tiến.

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP NGHIÊN CỨU NÂNG CAO KHẢ NĂNG TĂNG TỐC CỦA ĐỘNG CƠ KHÔNG ĐỒNG BỘ BA PHA ỨNG DỤNG TRÊN XE GẮN MÁY ĐIỆN SVTH: NGUYỄN PHAN HOÀI ANH MSSV: 171451084 SVTH: LÝ THANH DUY MSSV: 17149188 Khóa: 2017 Ngành: Cơng nghệ Kỹ thuật Ơ tơ GVHD: TS LÊ THANH PHÚC Tp Hồ Chí Minh, tháng 08 năm 2021 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP NGHIÊN CỨU NÂNG CAO KHẢ NĂNG TĂNG TỐC CỦA ĐỘNG CƠ KHÔNG ĐỒNG BỘ BA PHA ỨNG DỤNG TRÊN XE GẮN MÁY ĐIỆN SVTH: NGUYỄN PHAN HOÀI ANH MSSV: 171451084 SVTH: LÝ THANH DUY MSSV: 17149188 Khóa: 2017 Ngành: Cơng nghệ Kỹ thuật Ơ tơ GVHD: TS LÊ THANH PHÚC Tp Hồ Chí Minh, tháng 08 năm 2021 ĐỒ ÁN TỐT NGHIỆP GVHD: TS LÊ THANH PHÚC CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc ***** ĐỒ ÁN TỐT NGHIỆP TÊN ĐỀ TÀI: NGHIÊN CỨU NÂNG CAO KHẢ NĂNG TĂNG TỐC CỦA ĐỘNG CƠ KHÔNG ĐỒNG BỘ BA PHA ỨNG DỤNG TRÊN XE GẮN MÁY ĐIỆN Sinh viên thực hiện: Họ tên SV1: Nguyễn Phan Hoài Anh MSSV: 17145084 Họ tên SV2: Lý Thanh Duy MSSV: 17149188 I NỘI DUNG • Tìm hiểu cách tạo dịng điện xoay chiều pha từ nguồn điện chiều • Tìm hiểu nguyên lý hoạt động động điện xoay chiều pha • Cải tiến điều khiển vịng lặp kín • Tăng thêm dải mơ-men giúp xe hoạt động trơn tru • Vận hành hệ thống ổn định, an toàn II TÀI LIỆU THAM KHẢO • Sách tham khảo • Mơ hình • Tài liệu mềm 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 • Ngày bắt đầu: 22/03/2021 • Ngày hồn thành: 07/07/2021 Tp Hồ Chí Minh, ngày tháng 08 năm 2021 Trưởng ngành Giáo viên hướng dẫn (Ký & ghi rõ họ tên) i ĐỒ ÁN TỐT NGHIỆP GVHD: TS LÊ THANH PHÚC CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc ***** PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Họ tên SV1: Nguyễn Phan Hoài Anh MSSV: 17145084 Họ tên SV2: Lý Thanh Duy MSSV: 17149188 Ngành: Công nghệ Kỹ thuật Ơ tơ Tên đề tài: Nghiên cứu nâng cao khả tăng tốc động không đồng ba pha ứng dụng xe gắn 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 08 năm 2021 Giáo viên hướng dẫn ii ĐỒ ÁN TỐT NGHIỆP GVHD: TS LÊ THANH PHÚC CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc ***** PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Họ tên SV1: Nguyễn Phan Hoài Anh MSSV: 17145084 Họ tên SV2: Lý Thanh Duy MSSV: 17149188 Ngành: Cơng nghệ Kỹ thuật Ơ tơ Tên đề tài: Nghiên cứu nâng cao khả tăng tốc động không đồng ba pha ứng dụng xe gắn máy điện Họ tên Giáo viên phản biện: ThS Nguyễn Thành Tuyên 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: 10 Điểm: (Bằng chữ: ) Tp Hồ Chí Minh, ngày tháng 08 năm 2021 Giáo viên phản biện iii ĐỒ ÁN TỐT NGHIỆP GVHD: TS LÊ THANH PHÚC LỜI CẢM ƠN Trong thời gian làm đồ án tốt nghiệp, nhóm nghiên cứu nhận nhiều giúp đỡ, đóng góp ý kiến bảo nhiệt tình thầy cơ, gia đình bạn bè Trước tiên nhóm nghiên cứu xin gửi lời cảm ơn chân thành đến Ban giám hiệu trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh trực tiếp gián tiếp giúp đỡ nhóm nghiên cứu suốt trình học tập nghiên cứu đề tài Ban giám hiệu trường tạo điều kiện sở vật chất trang thiết bị đại, hệ thống thư viện đa dạng loại sách, tài liệu thuận lợi cho việc tìm kiếm nghiên cứu thơng tin Nhóm nghiên cứu xin gửi lời cảm ơn sâu sắc đến Thầy chủ nhiệm khoa giảng viên hướng dẫn – TS Lê Thanh Phúc Nhóm nghiên cứu nhận quan tâm giúp đỡ, hướng dẫn tận tình, tâm huyết Thầy từ lúc nhận đề tài đến hoàn thành nghiên cứu Thầy giúp nhóm nghiên cứu có thêm nhiều kiến thức quý báu định hướng rõ ràng để hồn thành tốt đề tài Từ buổi trị chuyện thầy ngồi học, nhóm nghiên cứu nhận lời khuyên chân thành từ Thầy Anh Đinh Cơng Trí – Học viên nghiên cứu Phịng thí nghiệm Ơ tơ điện Nhóm nghiên cứu anh bảo tận tình giúp đỡ từ ngày bước vào nghiên cứu để hoàn thành tốt đề tài tốt nghiệp Xin chân thành cảm ơn thầy trường nói chung, Thầy môn điện ngành Công Nghệ Kỹ Thuật Ơ Tơ nói riêng Cảm ơn Thầy ThS Vũ Đình Huấn, ThS Lê Quang Vũ, ThS Nguyễn Trọng Thức, ThS Nguyễn Thành Tuyên ThS Nguyễn Quang Trãi dạy cho nhóm nghiên cứu kiến thức điện để phục vụ đồ án tốt nghiệp lần Và cuối cùng, nhóm nghiên cứu xin gửi lời cảm ơn sâu sắc đến gia đình bạn bè ln bên cạnh ủng hộ, động viên giúp đỡ suốt q trình nghiên cứu hồn thành đề tài tốt nghiệp Nhóm nghiên cứu xin chân thành cảm ơn tất người! Thành phố Hồ Chí Minh, ngày tháng 07 năm 2021 Nhóm thực Nguyễn Phan Hoài Anh Lý Thanh Duy iv ĐỒ ÁN TỐT NGHIỆP GVHD: TS LÊ THANH PHÚC TÓM TẮT Đồ án tốt nghiệp trình bày cách thiết kế, chế tạo mạch điều khiển phương pháp điều khiển động xoay chiều khơng đồng ba pha, có giá thành thấp kết hợp sử dụng cảm biến tốc độ để điều khiển xung PWM Cải thiện tốc độ mô-men cho xe gắn máy điện giúp xe vận hành trơn tru Vi điều khiển đóng vai trị xử lý trung tâm, có nhiệm vụ tạo điều chế xung (PWM), để đóng ngắt điện áp DC Nhóm tập trung nghiên cứu lập trình điều khiển tín hiệu xung PWM, cho IGBT vi điều khiển STM32F103C8.Độ rộng xung thay đổi dựa vi điều khiển, cho điện áp tổng thể đầu tương tự sóng hình sin Phương pháp điều khiển dựa nguyên tắc biến tần (VFD) Điện áp chiều chuyển đổi thành điện áp sóng sin AC cách đọc bảng tra cứu Dạng sóng tinh chế gần giống với dạng sóng sin túy Bên cạnh đó, nhóm tiến hành thiết kế, thi cơng mạch hàn mạch in PCB phần mềm Proteus Nghiên cứu mạch bảo vệ sử dụng vi điều khiển ATtiny85 Thiết kế bố trí mạch khung xe gắn máy Honda Dream Cuối cùng, nhóm tiến hành thực nghiệm mơ hình mơ xe máy điện phần mềm Matlab-Simulink, băng thử mô-men đường Nhằm mục đích so sánh để rút kết luận cải tiến v ĐỒ ÁN TỐT NGHIỆP GVHD: TS LÊ THANH PHÚC MỤC LỤC LỜI CẢM ƠN iv TÓM TẮT v MỤC LỤC vi DANH MỤC CÁC TỪ VIẾT TẮT viii DANH MỤC CÁC BẢNG BIỂU ix DANH SÁCH CÁC HÌNH ẢNH, BIỂU ĐỒ x Chương 1: TỔNG QUAN 1.1 Lý chọn đề tài 1.2 Mục tiêu đề tài .1 1.3 Đối tượng nghiên cứu 1.4 Giới hạn đề tài .2 1.5 Phương pháp nghiên cứu .2 1.6 Nội dung đồ án 1.7 Bố cục đồ án Chương 2: CƠ SỞ LÝ THUYẾT 2.1 STM32F103C8T6 2.2 IC IR2103 2.3 Công nghệ IGBT IGBT H20R1203 12 2.4 LM7805 .15 2.5 Tụ điện 16 2.6 Diode bán dẫn 17 2.7 Điện trở 17 2.8 Điện trở Shunt 18 2.9 LM358N 20 2.10 Động điện ba pha HKM1.514MDY .21 2.11 Cảm biến Hall 23 2.12 Sine PWM ba pha 24 vi ĐỒ ÁN TỐT NGHIỆP 2.13 GVHD: TS LÊ THANH PHÚC Điều khiển vịng lặp kín .35 Chương 3: XÂY DỰNG HỆ THỐNG .40 3.1 Tổng quan hệ thống 40 3.2 Tính tốn thiết kế hệ thống .41 Chương 4: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG .44 4.1 Thiết kế mô hình xe gắn máy điện 52 4.2 Thiết kế thi công mạch điều khiển 52 4.3 Thiết kế thi công mạch công suất 54 4.4 Thiết kế thi công mạch PCB 56 4.5 Lắp đặt mạch bảo vệ 62 4.6 Thiết kế bố trí cảm biến .62 Chương 5: KẾT QUẢ THỰC NGHIỆM 66 5.1 Mục đích 66 5.2 Các thiết bị hỗ trợ thực nghiệm 66 5.3 Tiến hành thực nghiệm kết .66 Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .71 6.1 Kết luận 711 6.2 Kiến nghị .71 TÀI LIỆU THAM KHẢO 72 PHỤ LỤC 73 vii ĐỒ ÁN TỐT NGHIỆP GVHD: TS LÊ THANH PHÚC DANH MỤC CÁC TỪ VIẾT TẮT ADC: Analog to Digital Converter PWM: Pulse-Width Modulation SPWM: Sine Pulse-Width Modulation IGBT: Insulated Gate Bipolar Transistor SMD: Surface-Mount Device VBR: Voltage BReakdown RMS: Root Mean Square DC: Direct Current PCB: Printed Circuit Board VOM: Volt-Ohm-Milliammeter viii ĐỒ ÁN TỐT NGHIỆP GVHD: TS LÊ THANH PHÚC Hình 5.3 Thực nghiệm băng thử mơ-men Ba dây L1, L2, L3 động kết nối tương ứng với ba cổng đầu mạch điều khiển Ngoài ra, pin gồm 72 viên mắc nối tiếp với tạo nguồn điện chiều xấp xỉ 288V, thơng qua mạch bảo vệ q dịng cấp đến mạch điều khiển Mạch điều khiển gắn với tản nhiệt nhôm loại lớn để làm mát cho mạch 5.3.2 Kết thực nghiệm mơ hình băng thử động ❖ Một số cài đặt ban đầu thực nghiệm: • • • • Đối tượng thử nghiệm: động không đồng ba pha 0,3kW Mạch bảo vệ dòng cài đặt mức cường độ dòng điện 15A Điều kiện nhiệt độ phòng thí nghiệm mức tiêu chuẩn 25oC Mức điện áp pin hoạt động cho phép pin phạm vi từ 216302V Vì điện áp hoạt động trung bình cell pin từ 3V (xả cạn) 4,2V (nạp đầy) • Dải momen đo kiểm từ 0-3,2Nm (dựa công suất thực tế động băng thử) 68 ĐỒ ÁN TỐT NGHIỆP GVHD: TS LÊ THANH PHÚC ❖ Đo kiểm tín hiệu điều khiển Trong thí nghiệm này, mạch điều khiển điều khiển cài đặt tần số chuyển mạch (còn gọi tần số sóng mang) xấp xỉ 7800Hz tần số 50Hz (danh định), mục đích để đo tín hiệu điều khiển đầu từ vi điều khiển Có tổng cộng tín hiệu điều khiển đầu từ vi điều khiển xuất mạch dẫn động khóa cơng suất IR2103, chia thành cặp Hình 5.4 thể tín hiệu đầu cặp hai tín hiệu Trong đó, kênh tín hiệu SPWM truyền đến chân HIN IR2013 kênh tín hiệu truyền đến chân LIN Hình 5.4 Dạng sóng tín hiệu điều khiển Cả hai tín hiệu kết hợp để bật tắt thiết bị nguồn phía cao thấp khóa bán dẫn IGBT Cụ thể, Nếu HIN LIN mức cao, khóa IGBT phía cao bật, khóa IGBT phía thấp ngắt Ngược lại, khí tín hiệu HIN LIN mức thấp, khóa IGBT phía cao ngắt, khóa IGBT phía thấp bật Hình 5.5 cho thấy điện áp đầu chân HO LO IR2103 sử dụng để điều khiển trực tiếp khóa 69 ĐỒ ÁN TỐT NGHIỆP GVHD: TS LÊ THANH PHÚC Hình 5.5 Dạng sóng tín hiệu HO LO Các khóa bán dẫn IGBT thực ngắt dẫn điện áp chiều liên tục để tạo thay đổi điện áp cho điện áp tổng thể đầu pha tương tự điện áp hình sin Hình 5.6 cho thấy dạng sóng điện áp đầu pha tần số Hình 5.6 Dạng sóng điện áp đầu mức tần số Điều khiển không hồi tiếp băng thử với mục đích xác định đường đặc tính động gồm đặc tính cơng momen tốc độ, qua đánh giá khả hoạt động mạch Ngoài ra, điều khiển hở gúp xác đinh xác định xác vùng hoạt động (vùng công suất, vùng momen vùng tốc độ cao) động không đồng ba pha, tiền đề để xác lập thông số đầu vào cho phương pháp điều khiển kín sau 70 ĐỒ ÁN TỐT NGHIỆP GVHD: TS LÊ THANH PHÚC Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 Kết luận Qua tháng thực đồ án tốt nghiệp, nhóm học kiến thức điều khiển động xoay chiều không đồng pha: Cấu tạo động cơ, nguyên lý hoạt động, đặc tính động cơ, tìm ưu điểm vi điều khiển STM32F103C8 để thay vi điều khiển Atmega328p tính ổn định tốc độ xử lý liệu Nhóm thiết kế mạch điều khiển, mạch công suất mạch in phần mềm Proteus Bên cạnh đó, nhóm tiến hành chạy thử nghiệm cách mô mô hình xe điện Matlab-Simulink cho kết khả quan Xe đạt tốc độ sấp xỉ 50km tải hai người Q trình mơ cho thấy đầu động điện mô-men Mô-men thắng lực cản lăn kéo xe di chuyển phía trước, xe tăng tốc từ vị trí đứng yên đạt vận tốc ổn định Khi thay đổi tải đầu vào trạng thái động thay đổi Cụ thể tăng tải, tốc độ giảm xuống, mô-men tạo tăng lên ngược lại Sau xe tăng tốc, lực cản gió tăng lên làm cân với mô-men kéo, giúp xe đạt giá trị tốc độ trạng thái bình ổn Quá trình thực nghiệm cách mô phần mềm tín hiệu tốt tạo tiền đề để thực nghiệm thực tế sau 6.2 Kiến nghị Một số hạn chế nghiên cứu cần phải làm rõ để nghiên cứu sau phát triển cách hiệu Đầu tiên, vấn đề thực nghiệm tần số thấp để tìm mơ-men tối ưu khả chạy tốc độ cao dãy tần số từ 50hz đến 65hz Thứ hai, phương pháp tản nhiệt cần phải nghiên cứu để giúp mạch điều khiển tản nhiệt tốt hơn, cụ thể tản nhiệt nước Bên cạnh đó, khả chống nước rò rỉ điện mạch điều khiển nói riêng mơ hình xe máy điện nói chung vấn đề phải đặt lên hàng đầu Các đánh giá chi tiết độ ổn định khả đáp ứng lâu dài mạch cần phải thử nghiệm nhiều nhiều loại mặt đường điều kiện môi trường khác Đứng góc nhìn mặt động lực học, đánh giá khả tăng tốc, khả leo dốc cực đại, tốc độ cực đại cần phải tính tốn thêm Ngoài ra, số hệ thống an toàn tiện nghi xe bảng tableu, đèn xi nhan, đèn chiếu sáng, đèn phanh cần bổ sung 71 ĐỒ ÁN TỐT NGHIỆP GVHD: TS LÊ THANH PHÚC TÀI LIỆU THAM KHẢO [1] "STMicro Introduces Ultra-efficient STM32F1 Series MCUs with Better Performance, Chrom-GRC Graphics Controller" Retrieved September 5, 2019 [2] Press Release; STMicroelectronics; February 20, 2014 [3] Infineon Technologies, Datasheet IR2103(S),June 11, 2020 [4] A.Nakagawa et al., 1984 High voltage bipolar-mode MOSFETs with high current capability, Ext Abst of SSDM, p 309–312 [5] Baliga B J., 1983 Fast-switching insulated gate transistors, IEEE Electron Device Letters, Vol EDL-4 [6] Muhammad Rashid, Power Electronics Handbook, 13 January 2011 [7] Glossary,“Units: Electric Capacitance: Jar" Retrieved 2013-03-17 [8] Sylvania, 40 Uses for Germanium Diodes, Sylvania Electric Products Co [9] "NZO series zero-ohm resistors" NIC Components Corp Archived from the originalon, 2009-01-04 [10] Rudolf F Graf, Modern dictionary of Electronics, Mc-Graw Hill, 1968 Library of Congress 68-13873 Shunt page 454 [11] Kuphaldt, Tony R (2000-2006) “Chapter 13 AC MOTORS”, Lessons In Electric Circuits Volume II Retrieved on 2006-04-11 [12] Donald G Fink and H Wayne Beaty, Standard Handbook for Electrical Engineers, Eleventh Edition, McGraw-Hill, New York, 1978, ISBN 007020974 [13] Gifford, Clive,Racing: The Ultimate Motorsports Encyclopedia, 2016 [14] Austin Hughes and Bill Drury, Electric Motors and Drives Fundamentals, Types and Applications, 2014-02-21 [15] Vưu Nghị Hiệp, Trần Văn Phước Huy (2020),“Nghiên cứu, cải thiện mô-men xoắn động không đồng ba pha ứng dụng xe gắn máy điện”, Đồ án tốt nghiệp Trường Đại Học Sư Phạm Kỹ Thuật TPHCM [16] TS Lê Thanh Phúc (2021), “Nghiên cứu mô mơ hình xe máy gắn điện”, Tài liệu khoa học, Trường Đại Học Sư Phạm Kỹ Thuật TPHCM [17] NCS Đ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 72 ĐỒ ÁN TỐT NGHIỆP GVHD: TS LÊ THANH PHÚC PHỤ LỤC Code điều khiển: #include "main.h" TIM_HandleTypeDef htim2; ADC_HandleTypeDef hadc1; void SystemClock_Config(void); static void MX_GPIO_Init(void); static void MX_TIM2_Init(void); static void MX_ADC1_Init(void); uint16_t bangX50Hz[] = { 0, 11, 22, 33, 44, 55, 66, 76, 87, 97, 107, 117, 127, 136, 145, 154, 163, 171, 179, 187, 194, 201, 208, 214, 220, 225, 230, 235, 239, 243, 246, 248, 251, 252, 254, 255, 255, 255, 254, 253, 252, 250, 247, 244, 241, 237, 233, 228, 223, 217, 211, 205, 198, 191, 183, 175, 167, 159, 150, 141, 131, 122, 112, 102, 92, 81, 71, 60, 49, 39, 28, 17, 6, 249, 238, 227, 216, 206, 195, 184, 174, 163, 153, 143, 133, 124, 114, 105, 96, 88, 80, 72, 64, 57, 50, 44, 38, 32, 27, 22, 18, 14, 11, 8, 5, 3, 2, 1, 0, 0, 0, 1, 3, 4, 7, 9, 12, 16, 20, 25, 30, 35, 41, 47, 54, 61, 68, 76, 84, 92, 101, 110, 119, 128, 138, 148, 158, 168, 179, 189, 200, 211, 222, 233, 244, 255, 1, 73, 146 }; uint16_t bangY50Hz[] = { 34, 29, 24, 19, 15, 12, 9, 6, 4, 2, 1, 0, 0, 0, 1, 2, 4, 6, 8, 11, 15, 19, 23, 28, 33, 39, 45, 51, 58, 65, 73, 81, 89, 98, 10 7, 116, 125, 135, 145, 155, 165, 175, 186, 197, 207, 218, 229, 240, 251, 7, 18, 29, 40, 51, 62, 73, 83, 94, 104, 114, 123, 133, 142, 151, 160, 169, 177, 184, 192, 199, 206, 212, 218, 224, 229, 233, 238, 241, 245, 248, 250, 252, 253, 254, 255, 255, 255, 254, 252, 250, 248, 245, 242, 238, 234, 229, 224, 219, 213, 207, 200, 193, 186, 178, 170, 162, 153, 144, 135, 125, 115, 105, 95, 85, 74, 64, 53, 42, 31, 20, 9, 253, 242, 231, 220, 209, 198, 188, 177, 167, 156, 146, 136, 127, 117, 108, 99, 91, 82, 74, 67, 59, 53, 46, 40, 34, 1, 49, 121, 146 }; uint16_t bangZ50Hz[] = { 221, 215, 209, 202, 196, 188, 181, 173, 164, 156, 147, 138, 128, 119, 109, 99, 88, 78, 67, 57, 46, 35, 24, 13, 2, 246, 235, 224, 213, 202, 191, 181, 170, 160, 150, 140, 130, 120, 111, 102, 93, 85, 77, 69, 62, 55, 48, 42, 36, 31, 26, 21, 17, 13, 10, 7, 5, 3, 1, 0, 0, 0, 1, 2, 3, 5, 7, 10, 14, 17, 22, 26, 31, 37, 43, 49, 56, 63, 71, 78, 86, 95, 104, 113, 122, 132, 141, 151, 161, 172, 182, 193, 204, 215, 226, 237, 248, 4, 15, 26, 37, 48, 58, 69, 80, 90, 100, 110, 120, 130, 139, 148, 157, 166, 174, 182, 190, 197, 204, 210, 216, 222, 227, 232, 236, 240, 244, 247, 249, 251, 253, 254, 255, 255, 255, 254, 253, 251, 249, 246, 243, 240, 236, 231, 226, 221, 1, 25, 97, 146 }; 73 ĐỒ ÁN TỐT NGHIỆP GVHD: TS LÊ THANH PHÚC uint16_t bangX40Hz[] = { 0, 8, 16, 24, 32, 40, 48, 56, 63, 71, 79, 86, 94, 101, 109, 116, 123, 130, 137, 143, 150, 156, 163, 169, 175, 180, 186, 191, 196, 201, 206, 211, 215, 219, 223, 227, 231, 234, 237, 240, 243, 245, 247, 249, 250, 252, 253, 254, 254, 255, 255, 255, 254, 254, 253, 252, 250, 249, 247, 245, 243, 240, 237, 234, 231, 227, 223, 219, 215, 211, 206, 201, 196, 191, 186, 180, 175, 169, 163, 156, 150, 143, 137, 130, 123, 116, 109, 101, 94, 86, 79, 71, 63, 56, 48, 40, 32, 24, 16, 8, 0, 247, 239, 231, 223, 215, 207, 199, 192, 184, 176, 169, 161, 154, 146, 139, 132, 125, 118, 112, 105, 99, 92, 86, 80, 75, 69, 64, 59, 54, 49, 44, 40, 36, 32, 28, 24, 21, 18, 15, 12, 10, 8, 6, 5, 3, 2, 1, 1, 0, 0, 0, 1, 1, 2, 3, 5, 6, 8, 10, 12, 15, 18, 21, 24, 28, 32 , 36, 40, 44, 49, 54, 59, 64, 69, 75, 80, 86, 92, 99, 105, 112, 118, 125, 132, 139, 146, 154, 161, 169, 176, 184, 192, 199, 207, 215, 223, 231, 239, 247, 255, 1, 101, 201 }; uint16_t bangY40Hz[] = { 34, 30, 27, 23, 20, 17, 14, 12, 9, 7, 6, 4, 3, 2, 1, 0, 0, 0, 0, 1, 1, 2, 4, 5, 7, 9, 11, 13, 16, 19, 22, 25, 29, 33, 37, 41, 46, 50, 55, 60, 65, 71, 77, 82, 88, 95, 101, 107, 114, 121, 128, 134, 142, 149, 156, 164, 171, 179, 186, 194, 202, 210, 218, 226, 234, 242, 250, 3, 11, 19, 27, 35, 43, 50, 58, 66, 74, 81, 89, 96, 104, 111, 118, 125, 132, 139, 146, 152, 158, 165, 171, 176, 182, 188, 193, 198, 203, 208, 212, 217, 221, 225, 228, 232, 235, 238, 241, 243, 246, 248, 249, 251, 252, 253, 254, 255, 255, 255, 255, 254, 254, 253, 251, 250, 248, 246, 244, 242, 239, 236, 233, 230, 226, 222, 218, 214, 209, 205, 200, 195, 190, 184, 178, 173, 167, 160, 154, 148, 141, 134, 127, 121, 113, 106, 99, 91, 84, 76, 69, 61, 53, 45, 37, 29, 21, 13, 5, 252, 244, 236, 228, 220, 212, 205, 197, 189, 181, 174, 166, 159, 151, 144, 137, 130, 123, 116, 109, 103, 97, 90, 84, 79, 73, 67, 62, 57, 52, 47, 43, 38, 34, 1, 67, 167, 201 }; uint16_t bangZ40Hz[] = { 221, 217, 212, 208, 203, 198, 193, 188, 182, 176, 171, 165, 158, 152, 146, 139, 132, 125, 118, 111, 104, 96, 89, 81, 74, 66, 58, 50, 43, 35, 27, 19, 11, 3, 250, 242, 234, 226, 218, 210, 202, 194, 186, 179, 171, 164, 156, 149, 142, 134, 127, 121, 114, 107, 101, 95, 88, 82, 77, 71, 65, 60, 55, 50, 46, 41, 37, 33, 29, 25, 22, 19, 16, 13, 11, 9, 7, 5, 4, 2, 1, 1, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 9, 12, 14, 17, 20, 23, 27, 30, 34, 38, 43, 47, 52, 57, 62, 67, 73, 79, 84, 90, 97, 103, 109, 116, 123, 130, 137, 144, 151, 159, 166, 174, 181, 189, 197, 205, 212, 220, 228, 236, 244, 252, 5, 13, 21, 29, 37, 45, 53, 61, 69, 76, 84, 91, 99, 106, 113, 121, 127, 134, 141, 148, 154, 160, 167, 173, 178, 184, 190, 195, 200, 205, 209, 214, 218, 222, 226, 230, 233, 236, 239, 242, 244, 246, 248, 250, 251, 253, 254, 254, 255, 255, 255, 255, 254, 253, 252, 251, 249, 248, 246, 243, 241, 238,235, 232, 228, 225, 221, 1, 34, 134, 201 }; uint16_t bangX10Hz[] = { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 84, 86, 88, 90, 92, 94, 96, 98, 99, 101, 103, 105, 107, 109, 110, 112, 114, 116, 118, 119 , 121, 123, 125, 126, 128, 130, 132, 133, 135, 137, 138, 140, 142, 143, 145, 147, 148, 150, 152, 153, 155, 156, 158, 159, 161, 163, 164, 166, 167, 169, 170, 172, 173, 175, 176, 177, 179, 180, 182, 183, 185, 186, 187, 189, 190, 191, 193, 194, 195, 196, 198, 199, 200, 201, 203, 204, 205, 206, 207, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 221, 222, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 232, 233, 234, 235, 236, 236, 237, 238, 239, 239, 240, 241, 241, 242, 243, 243, 244, 244, 245, 245, 246, 246, 247, 247, 248, 248, 249, 249, 250, 250, 250, 251, 251, 252, 252, 252, 252, 253, 253, 253, 253, 254, 254, 254, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 254, 254, 253, 253, 253, 253, 252, 252, 252, 252, 251, 251, 250, 250, 250, 249, 249, 248, 248, 247, 247, 246, 246, 245, 245, 244, 244, 243, 243, 242, 241, 241, 240, 239, 239, 238, 237, 236, 236, 235, 234, 233, 232, 232, 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, 222, 221, 219, 218, 217, 216, 215, 214, 213, 212, 211, 210, 209, 207, 206, 205, 204, 203, 201, 200, 199, 198, 196, 195, 194, 193, 191, 190, 189, 187, 186, 185, 183, 182, 180, 179, 177, 176, 175, 173, 172, 170, 169, 167, 166, 164, 163, 161, 159, 158, 156, 155, 153, 152, 74 ĐỒ ÁN TỐT NGHIỆP GVHD: TS LÊ THANH PHÚC 150, 148, 147, 145, 143, 142, 140, 138, 137, 135, 133, 132, 130, 128, 126, 125, 123, 121, 119, 118, 116, 114, 112, 110, 109, 107, 105, 103, 101, 99, 98, 96, 94, 92, 90, 88, 86, 84, 83, 81, 79, 77, 75, 73, 71, 69, 67, 65, 63, 61, 60, 58, 56, 54, 52, 50, 48, 46, 44, 42, 40, 38, 36, 34, 32, 30, 28, 26, 24, 22, 20, 18, 16, 14, 12, 10, 8, 6, 4, 2, 0, 253, 251, 249, 247, 245, 243, 241, 239, 237, 235, 233, 231, 229, 227, 225, 223, 221, 219, 217, 215, 213, 211, 209, 207, 205, 203, 201, 199, 197, 195, 194, 192, 190, 188, 186, 184, 182, 180, 178, 176, 174, 172, 171, 169, 167, 165, 163, 161, 159, 157, 156, 154, 152, 150, 148, 146, 145, 143, 141, 139, 137, 136, 134, 132, 130, 129, 127, 125, 123, 122, 120, 118, 117, 115, 113, 112, 110, 108, 107, 105, 103, 102, 100, 99, 97, 96, 94, 92, 91, 89, 88, 86, 85, 83, 82, 80, 79, 78, 76, 75, 73, 72, 70, 69, 68, 66, 65, 64, 62, 61, 60, 59, 57, 56, 55, 54, 52, 51, 50, 49, 48, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 34, 33, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 23, 22, 21, 20, 19, 19, 18, 17, 16, 16, 15, 14, 14, 13, 12, 12, 11, 11, 10, 10, 9, 9, 8, 8, 7, 7, 6, 6, 5, 5, 5, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 5, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 14, 14, 15, 16, 16, 17, 18, 19, 19, 20, 21, 22, 23, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 33, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 54, 55, 56, 57, 59, 60, 61, 62, 64, 65, 66, 68, 69, 70, 72, 73, 75, 76, 78, 79, 80, 82, 83, 85, 86, 88, 89, 91, 92, 94, 96, 97, 99, 100, 102, 103, 105, 107, 108, 110, 112, 113, 115, 117, 118, 120, 122, 123, 125, 127, 129, 130, 132, 134, 136, 137, 139, 141, 143, 145, 146, 148, 150, 152, 154, 156, 157, 159, 161, 163, 165, 167, 169, 171, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 195, 197, 199, 201, 203, 205, 207, 209, 211, 213, 215, 217, 219, 221, 223, 225, 227, 229, 231, 233, 235, 237, 239, 241, 243, 245, 247, 249, 251, 253, 255, 1, 401, 801 }; uint16_t bangY10Hz[] = { 34, 33, 32, 31, 30, 29, 28, 27, 27, 26, 25, 24, 23, 22, 22, 21, 20, 19, 18, 18, 17, 16, 16, 15, 14, 14, 13, 12, 12, 11, 11, 10, 9, 9, 8, 8, 7, 7, 6, 6, 6, 5, 5, 4, 4, 4, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 13, 13, 14, 15, 15, 16, 17, 17, 18, 19, 20, 0, 21, 22, 23, 24, 25, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 47, 48, 49, 50, 51, 53, 54, 55, 56, 58, 59, 60, 62, 63, 64, 65, 67, 68, 70, 71, 72, 74, 75, 77, 78, 79, 81, 82, 84, 85, 87, 88, 90, 91, 93, 95, 96, 98, 99, 101, 102, 104, 106, 107, 109, 111, 112, 114, 116, 117, 119, 121, 122, 124, 126, 128, 129, 131, 133, 134, 136, 138, 140, 142, 143, 145, 147, 149, 151, 153, 154, 156, 158, 160, 162, 164, 165, 167, 169, 171, 173, 175, 177, 179, 181, 183, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 3, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 79, 81, 83, 85, 87, 89, 91, 93, 94, 96, 98, 100, 102, 104, 106, 107, 109, 111, 113, 115, 116, 118, 120, 122, 123, 125, 127, 129, 130, 132, 134, 136, 137, 139, 141, 142, 144, 146, 147, 149, 150, 152, 154, 155, 157, 158, 160, 162, 163, 165, 166, 168, 169, 171, 172, 174, 175, 176, 178, 179, 181, 182, 184, 185, 186, 188, 189, 190, 192, 193, 194, 196, 197, 198, 199, 201, 202, 203, 204, 206, 207, 208, 209, 210, 211, 212, 213, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 228, 229, 230, 231, 232, 233, 233, 234, 235, 236, 237, 237, 238, 239, 239, 240, 241, 241, 242, 243, 243, 244, 244, 245, 246, 246, 247, 247, 248, 248, 249, 249,249,250,250, 251, 251, 251, 252, 252, 252, 253, 253, 253, 253, 254, 254, 254, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 254, 254, 253, 253, 253, 253, 252, 252, 252, 251, 251, 251, 250, 250, 250, 249, 249, 248, 248, 247, 247, 246, 246, 245, 245, 244, 244, 243, 242, 242, 241, 240, 240, 239, 238, 238, 237, 236, 235, 235, 234, 233, 232, 231, 230, 230, 229, 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, 218, 217, 216, 215, 214, 213, 212, 211, 209, 208, 207, 206, 205, 204, 202, 201, 200, 199, 197, 196, 195, 193, 192, 191,190, 188, 187, 185, 184, 183, 181, 180, 178, 177, 176, 174, 173, 171, 170, 168, 167, 165, 164, 162, 160, 159, 157, 156, 154, 153, 151, 149, 148, 146, 144, 143, 141, 139, 138, 136, 134, 133, 131, 129, 127, 126, 124, 122, 121, 119, 117, 115, 113, 112, 110, 108, 106, 104, 102, 101, 99, 97, 95, 93, 91, 90, 88, 86, 84, 82, 80, 78, 76, 74, 72, 71, 69, 67, 65, 63, 61, 59, 57, 55, 53, 51, 49, 47, 45, 43, 41, 39, 37, 35, 33, 31, 29, 27, 25, 23, 21, 19, 17, 15, 13, 11, 9, 7, 5, 3, 1, 254, 252, 250, 248, 246, 244, 242, 240, 238, 236, 234, 232, 230, 228, 226, 224, 222, 220, 218, 216, 214, 212, 211, 209, 207, 205, 203, 201, 199, 197, 195, 193, 191, 189, 187, 185, 183, 181, 179, 177, 176, 174, 172, 170, 168, 166, 164, 162, 161, 159, 157, 155, 153, 151, 149, 148, 146, 144, 142, 140, 139, 137, 135, 133, 132, 130, 128, 126, 125, 123, 121, 119, 118, 116, 114, 113, 111,109, 108, 106, 105, 103, 101, 100, 98, 97, 95, 93, 92, 90, 89, 87, 86, 84, 83, 81, 80, 79, 77, 76, 74, 73, 71, 70, 69, 67, 66, 65, 63, 62, 61, 59, 58, 57, 56, 54, 53, 52, 51, 49, 48, 47, 46, 45, 44, 43, 42, 40, 39, 38, 37, 36, 35, 34, 1, 267, 667, 801 }; 75 ĐỒ ÁN TỐT NGHIỆP GVHD: TS LÊ THANH PHÚC uint16_t bangZ10Hz[] = { 221, 220, 219, 218, 217, 216, 215, 213, 212, 211, 210, 209, 208, 207, 206, 204, 203, 202, 201, 199, 198, 197, 196, 194, 193, 192, 190, 189, 188, 186, 185, 184, 182, 181, 179, 178, 176, 175, 174, 172, 171, 169, 168, 166, 165, 163, 162, 160, 158, 157, 155, 154, 152, 150, 149, 147, 146, 144, 142, 141, 139, 137, 136, 134, 132, 130, 129, 127, 125, 123, 122, 120, 118, 116, 115, 113, 111, 109, 107, 106, 104, 102, 100, 98, 96, 94, 93, 91, 89, 87, 85, 83, 81, 79, 78, 76, 74, 72, 70, 68, 66, 64, 62, 60, 58, 56, 54, 52, 50, 48, 46, 44, 43, 41, 39, 37, 35, 33, 31, 29, 27, 25, 23, 21, 19, 17, 15, 13, 11, 9, 7, 5, 3, , 254, 252, 250, 248, 246, 244, 242, 240, 238, 236, 234, 232, 230, 228, 226, 224, 222, 220, 218, 216, 214, 212, 210, 208, 206, 204, 202, 200, 198, 196, 194, 192, 190, 188, 186, 184, 183, 181, 179, 177, 175, 173, 171, 169, 167, 165, 164, 162, 160, 158, 156, 154, 153, 151, 149, 147, 145, 143, 142, 140, 138, 136, 134, 133, 131, 129, 127, 126, 124, 122, 121, 119, 117, 116, 114, 112, 111, 109, 107, 106, 104, 102, 101, 99, 98, 96, 95, 93, 91, 90, 88, 87, 85, 84, 82, 81, 79, 78, 77, 75, 74, 72, 71, 70, 68, 67, 65, 64, 63, 62, 60, 59, 58, 56, 55, 54, 53, 51, 50, 49, 48, 47, 46, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 25, 24, 23, 22, 21, 20, 20, 19, 18, 17, 17, 16, 15, 15, 14, 13, 13, 12, 11, 11, 10, 10, 9, 9, 8, 8, 7, 7, 6, 6, 5, 5, 5, 4, 4, 4, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 6, 6, 6, 7, 7, 8, 8, 9, 9, 10, 11, 11, 12, 12, 13, 14, 14, 15, 16, 16, 17, 18, 18, 19, 20, 21, 22, 22 , 23, 24, 25, 26, 27, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 56, 57, 58, 59, 61, 62, 63, 65, 66, 67, 69, 70, 71, 73, 74, 76, 77, 79, 80, 81, 83, 84, 86, 87, 89, 90, 92, 93, 95, 97, 98, 100, 101, 103, 10 5, 106, 108, 109, 111, 113, 114, 116, 118, 119, 121, 123, 125, 126, 128, 130, 132, 133, 135, 137, 139, 140, 142, 144, 146, 148, 149, 151, 153, 155, 157, 159, 161, 162, 164, 166, 168, 170, 172, 174, 176, 177, 179, 181, 183, 185, 187, 189, 191, 193, 195, 197, 199, 201, 203, 205, 207, 209, 211, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 91, 93, 95, 97, 99, 101, 102, 104, 106, 108, 110, 112, 113, 115, 117, 119, 121, 122, 124, 126, 127, 129, 131, 133, 134, 136, 138, 139, 141, 143, 144, 146, 148, 149, 151, 153, 154, 156, 157, 159, 160, 162, 164, 165, 167, 168, 170, 171, 173, 174, 176, 177, 178, 180, 181, 183, 184, 185, 187, 188, 190, 191, 192, 193, 195, 196, 197, 199, 200, 201, 202, 204, 205, 206, 207, 208, 209, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 230, 231, 232, 233, 234, 235, 235, 236, 237, 238, 238, 239, 240, 240, 241, 242, 242, 243, 244, 244, 245, 245, 246, 246, 247, 247, 248, 248, 249, 249, 250, 250, 250, 251, 251, 251, 252, 252, 252, 253, 253, 253, 253, 254, 254, 254, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 254, 254, 253, 253, 253, 253, 252, 252, 252, 251, 251, 251, 250, 250, 249, 249, 249, 248, 248, 247, 247, 246, 246, 245, 244, 244, 243, 243, 242, 241, 241, 240, 239, 239, 238, 237, 237, 236, 235, 234, 233, 233, 232, 231, 230, 229, 228, 228, 227, 226, 225, 224, 223, 222, 221, 1, 134, 534, 801 }; volatile int i0 = 0; volatile int modulationC = 9000/225; volatile int numberS=0; volatile int bangX[900]; volatile int bangY[900]; volatile int bangZ[900]; volatile int ADC_Sensor = 0; int main(void) { HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_TIM2_Init(); MX_ADC1_Init(); HAL_TIM_Base_Start_IT(&htim2); HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1); HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_2); HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_3); 76 ĐỒ ÁN TỐT NGHIỆP GVHD: TS LÊ THANH PHÚC TIM2->CCR1 = 0; TIM2->CCR2 = 0; TIM2->CCR3 = 0; TIM2->ARR = 9000; HAL_GPIO_WritePin(GPIOA, GPIO_PIN_3, GPIO_PIN_SET); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET); while (1) { int count =0; if (i0==0) { HAL_ADC_Start(&hadc1); HAL_ADC_PollForConversion(&hadc1,10); ADC_Sensor = HAL_ADC_GetValue(&hadc1); HAL_ADC_Stop(&hadc1); //HAL_Delay(10); } if (ADC_SensorCCR3 = bangZ[i0]*modulationC; i0++; if (i0==1) { HAL_GPIO_WritePin(GPIOA, GPIO_PIN_3, GPIO_PIN_SET); } if (i0 ==bangX[numberS+1]) { HAL_GPIO_WritePin(GPIOA, GPIO_PIN_3, GPIO_PIN_RESET); } if (i0==bangY[numberS+1]) { HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET); } if (i0==bangY[numberS+2]) { HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET); } if (i0==bangZ[numberS+1]) { HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET); } if (i0==bangZ[numberS+2]) { HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET); } if (i0 == numberS+1) { i0=0; } } void SystemClock_Config(void) { RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; /** Initializes the RCC Oscillators according to the specified parameters * in the RCC_OscInitTypeDef structure 78 ĐỒ ÁN TỐT NGHIỆP GVHD: TS LÊ THANH PHÚC */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.HSEState = RCC_HSE_ON; RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1; RCC_OscInitStruct.HSIState = RCC_HSI_ON; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9; 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_PLLCLK; RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) { Error_Handler(); } } /** * @brief TIM2 Initialization Function * @param None * @retval None */ static void MX_TIM2_Init(void) { /* USER CODE BEGIN TIM2_Init */ /* USER CODE END TIM2_Init */ TIM_ClockConfigTypeDef sClockSourceConfig = {0}; TIM_MasterConfigTypeDef sMasterConfig = {0}; TIM_OC_InitTypeDef sConfigOC = {0}; /* USER CODE BEGIN TIM2_Init */ /* USER CODE END TIM2_Init */ htim2.Instance = TIM2; htim2.Init.Prescaler = 0; htim2.Init.CounterMode = TIM_COUNTERMODE_UP; htim2.Init.Period = 65535; htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; if (HAL_TIM_Base_Init(&htim2) != HAL_OK) { 79 ĐỒ ÁN TỐT NGHIỆP GVHD: TS LÊ THANH PHÚC Error_Handler(); } sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; if (HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig) != HAL_OK) { Error_Handler(); } if (HAL_TIM_PWM_Init(&htim2) != HAL_OK) { Error_Handler(); } sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK) { Error_Handler(); } sConfigOC.OCMode = TIM_OCMODE_PWM1; sConfigOC.Pulse = 0; sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_1) != HAL_OK) { Error_Handler(); } if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_2) != HAL_OK) { Error_Handler(); } if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_3) != HAL_OK) { Error_Handler(); } /* USER CODE BEGIN TIM2_Init */ /* USER CODE END TIM2_Init */ HAL_TIM_MspPostInit(&htim2); } /** * @brief GPIO Initialization Function * @param None * @retval None */ static void MX_ADC1_Init(void) { /* USER CODE BEGIN ADC1_Init */ /* USER CODE END ADC1_Init */ ADC_ChannelConfTypeDef sConfig = {0}; 80 ĐỒ ÁN TỐT NGHIỆP GVHD: TS LÊ THANH PHÚC /* USER CODE BEGIN ADC1_Init */ /* USER CODE END ADC1_Init */ /** Common config */ hadc1.Instance = ADC1; hadc1.Init.ScanConvMode = ADC_SCAN_DISABLE; hadc1.Init.ContinuousConvMode = DISABLE; hadc1.Init.DiscontinuousConvMode = DISABLE; hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START; hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT; hadc1.Init.NbrOfConversion = 1; if (HAL_ADC_Init(&hadc1) != HAL_OK) { Error_Handler(); } /** Configure Regular Channel */ sConfig.Channel = ADC_CHANNEL_6; sConfig.Rank = ADC_REGULAR_RANK_1; sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5; if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) { Error_Handler(); } /* USER CODE BEGIN ADC1_Init */ /* USER CODE END ADC1_Init */ } static void MX_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct = {0}; /* GPIO Ports Clock Enable */ HAL_RCC_GPIOD_CLK_ENABLE(); HAL_RCC_GPIOA_CLK_ENABLE(); HAL_RCC_GPIOC_CLK_ENABLE(); /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIOA, GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5, GPIO_PIN_RESET); HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET); /*Configure GPIO pins : PA3 PA4 PA5 */ GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); GPIO_InitStruct.Pin = GPIO_PIN_13; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; 81 ĐỒ ÁN TỐT NGHIỆP GVHD: TS LÊ THANH PHÚC GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOC, &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 * @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 */ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 82

Ngày đăng: 04/10/2023, 23:53

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w