Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 91 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
91
Dung lượng
6,67 MB
Nội dung
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 CNKT Ô TÔ THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN CHO XE GẮN MÁY ĐIỆN GVHD: TS LÊ THANH PHÚC SVTH: NGUYỄN ĐĂNG KHOA LƯU MINH THƯ SKL009094 Tp.Hồ Chí Minh, tháng 8/2022 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 THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN CHO XE GẮN MÁY ĐIỆN SVTH: NGUYỄN ĐĂNG KHOA MSSV: 18145160 SVTH: LƯU MINH THƯ MSSV: 18145065 Khố : 2018 Ngành: CƠNG NGHỆ KỸ THUẬT Ơ TƠ GVHD: TS LÊ THANH PHÚC Tp Hồ Chí Minh, tháng năm 2022 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 THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN CHO XE GẮN MÁY ĐIỆN SVTH: NGUYỄN ĐĂNG KHOA MSSV: 18145160 SVTH: LƯU MINH THƯ MSSV: 18145065 Khoá : 2018 Ngành: CÔNG NGHỆ KỸ THUẬT Ô TÔ GVHD: TS LÊ THANH PHÚC Tp Hồ Chí Minh, tháng năm 2022 CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc *** Tp Hồ Chí Minh, ngày 25 tháng 02 năm 2022 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Nguyễn Đăng Khoa Lưu Minh Thư Ngành: Công nghệ kỹ thuật ô tô Giảng viên hướng dẫn: TS Lê Thanh Phúc Ngày nhận đề tài: 25/02/2022 MSSV: 18145160 MSSV: 18145065 Lớp: 18145CL2 ĐT: 0932591200 Ngày nộp đề tài: 09/08/2022 Tên đề tài: Thiết kế hệ thống điều khiển cho xe gắn máy điện Các số liệu, tài liệu ban đầu: Sách lập trình vi điều khiển, sách thiết kế xe điện vận hành Nội dung thực đề tài: - Nghiên cứu động dẫn động - Tìm hiểu lập trình điều khiển động ba pha - Thiết kế mơ hình thực nghiệm Sản phẩm: Nhóm nghiên cứu thay động đốt truyền thống động điện xoay chiều ba pha điều khiển động theo chế độ khác Trưởng ngành Giáo viên hướng dẫn Khoa ĐT CLC – ĐH SPKT TP.HCM i 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 Sinh viên: Nguyễn Đăng Khoa MSSV: 18145160 Lưu Minh Thư MSSV: 18145065 Ngành: Công nghệ kỹ thuật ô tô Tên đề tài: Thiết kế hệ thống điều khiển cho 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 17 tháng năm 2022 Giáo viên hướng dẫn Khoa ĐT CLC – ĐH SPKT TP.HCM ii 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 Sinh viên: Nguyễn Đăng Khoa MSSV: 18145160 Lưu Minh Thư MSSV: 18145065 Ngành: Công nghệ kỹ thuật ô tô Tên đề tài: Thiết kế hệ thống điều khiển cho 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 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 17 tháng năm 2022 Giáo viên hướng dẫn Khoa ĐT CLC – ĐH SPKT TP.HCM iii LỜI CẢM ƠN Lời em xin chân thành cảm ơn đến: Ban giám hiệu trường Đại học Sư Phạm Kỹ Thuật TP.HCM tạo điều kiện tốt cho em học tập nghiên cứu trường Em xin chân thành cảm ơn TS Lê Thanh Phúc tận tình giúp đỡ, hỗ trợ tác giả trình thực đề tài Đồng thời, em xin chân thành cảm ơn Khoa khí động lực, Khoa Đào tạo Chất lượng cao, thư viện trường cung cấp giáo trình nhiều tài liệu tham khảo bổ ích cho em Mặc dù cố gắng suốt trình nghiên cứu kiến thức em hạn chế nên khơng tránh khỏi sai sót Em mong góp ý, nhận xét đánh giá nội dung hình thức trình bày thầy Đồ án để sau em thực hồn thiện Một lần xin gửi lời cảm ơn đến thầy cô, bạn bè người thân bên cạnh, đồng hành suốt trình thực đề tài Khoa ĐT CLC – ĐH SPKT TP.HCM iv TÓM TẮT Mục tiêu đồ án xoay quanh việc nghiên cứu, thiết kế chế tạo mạch điều khiển động không đồng ba pha cho xe gắn máy Thiết bị điều khiển tín hiệu vi điều khiển STM32F103C8 với đặc tính mạnh Bộ vi điều khiển đóng vai trị xử lý trung tâm, có nhiệm vụ tạo điều chế xung (PWM) Độ rộng xung thay đổi dựa vi điều khiển tính tốn cho điện áp tổng thể đầu tương tự sóng hình sin Tín hiệu sau truyền đến nghịch lưu tạo điện áp khuếch đại theo tín hiệu xung SPWM điều khiển cấp nguồn 245V cho động theo pha phù hợp với tần số momen xe Phương pháp điều khiển dựa nguyên tắc máy biến tần đ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 (đã lập trình mathlab) Cuối cùng, tiến hành thiết kế mạch in thi công thực nghiệm Sau thử băng thử mơ men nhằm rút kết luận hướng phát triển Khoa ĐT CLC – ĐH SPKT TP.HCM v MỤC LỤC NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ii PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN iii LỜI CẢM ƠN iv TÓM TẮT v MỤC LỤC vi DANH TỪ VIẾT TẮT ix DANH MỤC CÁC BẢNG BIỂU x DANH MỤC CÁC HÌNH ẢNH BIỂU ĐỒ .xi CHƯƠNG 1: TỔNG QUAN 1.1 Lý chọn đề tài: 1.2 Tình hình nghiên cứu đề tài: 1.3 Mục tiêu đề tài: 1.4 Cách tiếp cận: 1.5 Đối tượng nghiên cứu: 1.6 Phạm vi nghiên cứu: 1.7 Kết dự kiến đạt được: .2 1.8 Bố cục: CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Động điện không đồng ba pha (IM – Induction Motor): 2.1.1 Khái niệm: 2.1.1.1 Stator: 2.1.1.2 Rotor: 2.1.1.3 Nguyên lý làm việc: 2.1.2 Phương pháp điều khiển tốc độ động cơ: 2.2 Bộ nghịch lưu: .8 2.2.1 Khái niệm: 2.2.2 Nghịch lưu điện áp phương pháp SPWM: 10 2.3 Các linh kiện, thiết bị sử dụng: 10 2.3.1 Board STM32F103C8: 10 Khoa ĐT CLC – ĐH SPKT TP.HCM vi 2.3.2 Linh kiện bán dẫn cưỡng bức: 13 2.3.3 IR2103: .14 2.3.4 IC 7805: 15 2.3.5 Điện trở: 16 2.3.6 Tụ điện: 17 2.3.6.1 Tụ phân cực: 17 2.3.6.2 Tụ điện không phân cực: 18 2.3.7 Diode bán dẫn: 19 2.3.8 Opto: 20 2.3.9 Pin Lithium-ion: .21 2.3.10 Cảm biến tốc độ động cơ: 23 2.3.11 Máy đo nhiệt tầm xa: 24 2.3.12 Máy đo xung: 24 2.3.13 Hệ thống băng thử: 25 2.3.14 Động mô hình xe: 27 CHƯƠNG 3: THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG 28 3.1 Thiết kế hệ thống: 28 3.1.1 Tính tốn: 28 3.1.1.1 Bộ nguồn: 28 3.1.1.2 Tần số: 28 3.1.1.3 Tốc độ xe không tải: 28 3.1.2 Mục tiêu: 29 3.1.3 Sơ đồ khối hệ thống: 30 3.1.3.1 Chức năng: 30 3.1.3.2 Nguyên lý hoạt động hệ thống: 31 3.2 Xây dựng hệ thống: .32 3.2.1 Mạch nguyên lý: 32 3.2.1.1 Chức năng: 32 3.2.1.2 Thông số kỹ thuật: 38 3.2.2 Mạch in: 39 3.2.2.1 Mục đích: 39 Khoa ĐT CLC – ĐH SPKT TP.HCM vii numberS=800; for (count=0; count1800 &&ADC_Sensor840) { HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET); numberS=800; for (count=0; countCCR3 = bangZ[i0]; TIM3->CCR4 = bangZ[i0]; i0++; if (i0==numberS) { i0 = 0; } } void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef* htim3) { OverNgat++; } Khoa ĐT CLC – ĐH SPKT TP.HCM 69 void SystemClock_Config(void) { RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; RCC_PeriphCLKInitTypeDef PeriphClkInit = {0}; 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(); } 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(); } PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC; PeriphClkInit.AdcClockSelection = RCC_ADCPCLK2_DIV6; if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) { Khoa ĐT CLC – ĐH SPKT TP.HCM 70 Error_Handler(); } } static void MX_ADC1_Init(void) { ADC_ChannelConfTypeDef sConfig = {0}; 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(); } sConfig.Channel = ADC_CHANNEL_4; sConfig.Rank = ADC_REGULAR_RANK_1; sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5; if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) { Error_Handler(); } } static void MX_TIM2_Init(void) { TIM_ClockConfigTypeDef sClockSourceConfig = {0}; TIM_MasterConfigTypeDef sMasterConfig = {0}; TIM_OC_InitTypeDef sConfigOC = {0}; htim2.Instance = TIM2; Khoa ĐT CLC – ĐH SPKT TP.HCM 71 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) { 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) Khoa ĐT CLC – ĐH SPKT TP.HCM 72 { Error_Handler(); } if (HAL_TIM_PWM_ConfigChannel( &htim2, &sConfigOC, TIM _ CHANNEL _ 2) != HAL_OK) { Error_Handler(); } HAL_TIM_MspPostInit(&htim2); } static void MX_TIM3_Init(void) { TIM_ClockConfigTypeDef sClockSourceConfig = {0}; TIM_MasterConfigTypeDef sMasterConfig = {0}; TIM_OC_InitTypeDef sConfigOC = {0}; htim3.Instance = TIM3; htim3.Init.Prescaler = 0; htim3.Init.CounterMode = TIM_COUNTERMODE_UP; htim3.Init.Period = 65535; htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; if (HAL_TIM_Base_Init(&htim3) != HAL_OK) { Error_Handler(); } sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; if (HAL_TIM_ConfigClockSource(&htim3, &sClockSourceConfig) != HAL_OK) { Error_Handler(); } if (HAL_TIM_PWM_Init(&htim3) != HAL_OK) Khoa ĐT CLC – ĐH SPKT TP.HCM 73 { Error_Handler(); } sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; if (HAL_TIMEx_MasterConfigSynchronization(&htim3,&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( &htim3, &sConfigOC, TIM _ CHANNEL _ 1) != HAL_OK) { Error_Handler(); } if (HAL_TIM_PWM_ConfigChannel( &htim3, &sConfigOC, TIM _ CHANNEL _ 2) != HAL_OK) { Error_Handler(); } if (HAL_TIM_PWM_ConfigChannel( &htim3, &sConfigOC, TIM _ CHANNEL _ 3) != HAL_OK) { Error_Handler(); } if (HAL_TIM_PWM_ConfigChannel( &htim3, &sConfigOC, TIM _ CHANNEL _ ) != HAL_OK ) { Khoa ĐT CLC – ĐH SPKT TP.HCM 74 Error_Handler(); } HAL_TIM_MspPostInit(&htim3); } static void MX_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct = {0}; HAL_RCC_GPIOC_CLK_ENABLE(); HAL_RCC_GPIOD_CLK_ENABLE(); HAL_RCC_GPIOA_CLK_ENABLE(); HAL_RCC_GPIOB_CLK_ENABLE(); HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET); GPIO_InitStruct.Pin = GPIO_PIN_13; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); } void Error_Handler(void) { disable_irq(); while (1) { } } #ifdef USE_FULL_ASSERT void assert_failed(uint8_t *file, uint32_t line) { } Khoa ĐT CLC – ĐH SPKT TP.HCM 75 S K L 0