(Luận văn thạc sĩ hcmute) nghiên cứu và phân tích phổ tần số rung của động cơ nhằm đánh giá tình trạng làm việc của động cơ

125 1 0
(Luận văn thạc sĩ hcmute) nghiên cứu và phân tích phổ tần số rung của động cơ nhằm đánh giá tình trạng làm việc của động cơ

Đ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 LUẬN VĂN THẠC SĨ ĐỒN MINH TƯỜNG NGHIÊN CỨU VÀ PHÂN TÍCH PHỔ TẦN SỐ RUNG CỦA ĐỘNG CƠ NHẰM ĐÁNH GIÁ TÌNH TRẠNG LÀM VIỆC CỦA ĐỘNG CƠ NGÀNH: KỸ THUẬT CƠ KHÍ ĐỘNG LỰC - 60520116 S K C0 4 Tp Hồ Chí Minh, tháng 11/2014 Luan van 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 LUẬN VĂN THẠC SĨ ĐOÀN MINH TƯỜNG NGHIÊN CỨU VÀ PHÂN TÍCH PHỔ TẦN SỐ RUNG CỦA ĐỘNG CƠ NHẰM ĐÁNH GIÁ TÌNH TRẠNG LÀM VIỆC CỦA ĐỘNG CƠ NGÀNH: KỸ THUẬT CƠ KHÍ ĐỘNG LỰC - 60520116 Thành Phố Hồ Chí Minh, tháng 11 năm 2014 Luan van 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 LUẬN VĂN THẠC SĨ ĐỒN MINH TƯỜNG NGHIÊN CỨU VÀ PHÂN TÍCH PHỔ TẦN SỐ RUNG CỦA ĐỘNG CƠ NHẰM ĐÁNH GIÁ TÌNH TRẠNG LÀM VIỆC CỦA ĐỘNG CƠ NGÀNH: KỸ THUẬT CƠ KHÍ ĐỘNG LỰC - 60520116 Hướng dẫn khoa học: TS NGUYỄN HUY BÍCH Thành Phố Hồ Chí Minh, tháng 11 năm 2014 Luan van LÝ LỊCH KHOA HỌC I LÝ LỊCH SƠ LƯỢC: Họ & tên: ĐOÀN MINH TƯỜNG Giới tính: Nam Ngày, tháng, năm sinh: 21/ 04 /1982 Nơi sinh: Lâm Đồng Quê quán: Lâm Đồng Dân tộc: Kinh Địa liên lạc: Tân Hà, Lâm Hà, Lâm Đồng Đơn vị công tác: Trường Cao Đẳng Nghề số (BQP), đường Bùi Xn Hịa, Kp 3, phường Long Bình Tân, thành phố Biên Hòa, tỉnh Đồng Nai Điện thoại đơn vị: 0613.930.082 Điện thoại riêng: 0976.971.128 Fax: 0613.937.379 E-mail: minhtuongspkt@gmail.com II QUÁ TRÌNH ĐÀO TẠO: Trung cấp: Đại học: Hệ đào tạo: Chính quy Thời gian đào tạo từ 09/2002 đến 09/2007 Nơi học: Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh Ngành học: Cơ khí động lực Tên đồ án tốt nghiệp: “Băng Thử Công Suất Động Cơ” Ngày & nơi bảo vệ tốt nghiệp: 4/2007 Trường Đh SPKT Tp.HCM Giảng viên hướng dẫn: Thạc sĩ Đỗ Quốc Ấm III QUÁ TRÌNH CƠNG TÁC CHUN MƠN TỪ KHI TỐT NGHIỆP ĐẠI HỌC Thời gian Nơi công tác Công việc đảm nhiệm 2007 – 2010 Cty Cổ phần tư vấn xây dựng điện Nhân Viên Phòng Sản Xuất 2010 – 2011 Trường Cao Đẳng Nghề Đà Lạt Giáo Viên Hiện Trường Cao Đẳng Nghế số Giáo viên i Luan van LỜI CAM ĐOAN Tôi cam đoan công trình nghiên cứu tơi Các số liệu, kết nêu luận văn trung thực chưa cơng bố cơng trình khác Tp Hồ Chí Minh, ngày 19 tháng năm 2014 Ký tên ii Luan van LỜI CẢM ƠN Trong q trình thực đề tài, Tơi nhận nhiều giúp đỡ, tạo điều kiện tập thể Ban Giám hiệu, Khoa Sau Đại học, Khoa Cơ Khí Động Lực, giảng viên, cán phịng, ban chức Trường Đại học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh đặc biệt Khoa khí trường Đại học Nơng Lâm Thành Phố Hồ Chí Minh Tơi xin bày tỏ lịng cảm ơn chân thành giúp đỡ Tơi xin bày tỏ lịng biết ơn sâu sắc tới Tiến Sĩ Nguyễn Huy Bích trực tiếp hướng dẫn bảo cho Tơi hồn thành luận văn Tôi xin chân thành cảm ơn bạn bè, đồng nghiệp Tơi gia đình động viên, khích lệ, tạo điều kiện giúp đỡ Tơi suốt q trình thực hồn thành luận văn Mặc dù tơi có nhiều cố gắng hồn thiện luận văn tất nhiệt tình lực mình, nhiên khơng thể tránh khỏi thiếu sót, mong nhận đóng góp q báu q thầy bạn Tp Hồ Chí Minh, tháng năm 2014 Học viên thực iii Luan van TÓM TẮT Phương pháp chẩn đốn kỹ thuật động thơng qua tín hiệu rung động động lần trình bày luận văn Tác giả xây dựng, thiết kết thi công sản phẩm TVE-T01 để thu thập tín hiệu rung động động cơ, lập trình xử lý phân tích tín hiệu rung động dạng phổ tần số thuật toán FFT môi trường phần mền LabVIEW Nghiên cứu thực nghiệm động thật Kết chẩn đoán thành cơng lỗi kỹ thuật khí động như: Bigi khơng đánh lửa, bu gi mịn điện cực, xéc măng bị mòn Việc sản phẩm TVE-T01 thu nhận tín hiệu rung động kết thực nghiệm nghiên cứu chẩn đoán kỹ thuật động bước đầu đạt số thành công nhât định, bước ngoặt kỹ thuật chẩn đoán động làm sở chế tạo thiết bị giám sát, chẩn đốn tình trạng làm việc động iv Luan van ASTRACT A methods technical engine diagnostics via vibration signals of the engine was first presented in this thesis book The author has developed, designed and constructed the TVE-T01 to collect vibration signals of the engine, programmable processing and analysis of engine vibration signal in the form of frequency spectrum by FFT algorithm in LabVIEW software environment Empirical research was on the real engines The results were successfully diagnosed the faults basic of mechanical engine as: plug without ignition, worn out spark plugs electrodes, cement rings were worn The TVE-T01 collected vibration signals of the engine and the experimental results of diagnostic studies and technical engine initially achieved some limited success, but this is a new landmark in the engine diagnostic techniques as a basis for making monitoring devices, diagnostic status of the engine work v Luan van MỤC LỤC Trang tựa TRANG Quyết định giao đề tài Xác nhận cán hướng dẫn Lý lịch khoa học i Lời cam đoan ii Tóm tắt iv Astract v Mục lục vi Danh sách chữ viết tắt ix Danh sách hình x Danh sách bảng xii Chương TỔNG QUAN 1.1 Lý chọn đề tài 1.2 Tình hình nghiên cứu nước 1.3 Mục đích của đề tài .5 1.4 Nhiệm vụ giới hạn đề tài 1.4.1 Nhiệm vụ đề tài 1.4.2 Giới hạn đề tài 1.5 Phương pháp nghiên cứu .5 Chương CƠ SỞ LÝ THUYẾT .6 2.1 Lý thuyết rung động máy 2.1.1 Định nghĩa rung động .6 2.1.2 Tính chất rung động .7 2.1.3 Miền thời gian 2.1.4 Miền tần số vi Luan van 2.2 Rung động của động 10 2.2.1 Hư hỏng bugi 11 2.2.2 Xéc măng bị mòn .11 2.2.3 Không cân quán tính 12 2.2.4 Phương pháp tính tần số rung động 12 2.2.5 Hậu rung động 12 2.3 Phương pháp xử lý ứng dụng phân tích phổ của tín hiệu rung .13 2.3.1 Lý thuyêt tín hiệu xử lý tín hiệu 13 2.3.2 Phương pháp phân tích tín hiệu rung động 14 2.3.2.1 Phương pháp phân tích hình bao 14 2.3.2.2 Phương pháp phân tích Kurtosis 15 2.3.2.3 Phép biến đổi Fourier FFT .16 2.3.2.4 Ứng dụng biến đổi Fourier để phân tích tín hiệu rung động 18 2.3.3 Cảm biến đo rung động 20 2.4 Phần mềm LabVIEW .23 2.5 Phần mền PSoC Designer 24 2.6 Phần mền Ocard 24 Chương MƠ HÌNH THỰC NGHIỆM CHẨN ĐOÁN KỸ THUẬT ĐỘNG CƠ 25 3.1 Tổng quan mơ hình thực nghiệm chẩn đoán kỹ thuật của động .25 3.1.1 Sơ đồ tổng quan mơ hình thực nghiệm 25 3.1.2 Cấu trúc ngun lý hoạt động mơ hình thực nghiệm 26 3.2 Thiết kế, chế tạo TVE –T01 chẩn đoán kỹ thuật động 27 3.2.1 Quy trình thiết kế chế tạo 27 3.2.2 Thiết kế phần cứng 27 3.2.2.1 Thiết kế khối nguồn 27 3.2.2.2 Thiết kế khối vi điều khiển PSoC 29 3.2.2.3 Thiết kế khối A/D 33 3.2.2.4 Thiết kế khối UART .34 vii Luan van ***********************************v oid ADC_1_Init(void) { ADC_1_Config = 1u; ADC_1_convDone = 0u; ADC_1_Ext_CP_Clk_SetMode(CYCLK_D UTY); /* This is only valid if there is an internal clock */ #if(ADC_1_DEFAULT_INTERNAL_CLK) ADC_1_theACLK_SetMode(CYCLK_DUT Y); #endif /* ADC_1_DEFAULT_INTERNAL_CLK */ #if(ADC_1_IRQ_REMOVE == 0u) /* Set interrupt priority */ CyIntSetPriority(ADC_1_INTC_NUMBER, ADC_1_INTC_PRIOR_NUMBER); #endif /* End ADC_1_IRQ_REMOVE /* Init static registers with common configuration */ ADC_1_DSM_DEM0_REG = ADC_1_CFG1_DSM_DEM0; ADC_1_DSM_DEM1_REG = ADC_1_CFG1_DSM_DEM1; #if(ADC_1_MI_ENABLE != 0u) /* Enable Modulator Input */ ADC_1_DSM_MODBIT_EN; #else #if(ADC_1_DEFAULT_NUM_CONFIGS > 3) ADC_1_GainCompensation(ADC_1_CFG4_ INPUT_RANGE, ADC_1_CFG4); } /*********************************** * Function Name: ADC_1_Enable *********************************** * Summary: * Enables the ADC DelSig block operation * Parameters: * None * Return: * None void ADC_1_Enable(void) { uint8 config; uint8 enableInterrupts; enableInterrupts = CyEnterCriticalSection(); /* Read volatile variable to the local variable */ config = ADC_1_Config; /* Enable active mode power for ADC */ ADC_1_PWRMGR_DEC_REG |= ADC_1_ACT_PWR_DEC_EN; /* Enable alternative active mode power for ADC */ ADC_1_STBY_PWRMGR_DSM_REG |= ADC_1_STBY_PWR_DSM_EN; /* Disable PRES, Enable power to VCMBUF0, REFBUF0 and REFBUF1, enable PRES */ ADC_1_RESET_CR4_REG |= ADC_1_DSM_EN_BUF_VCM); /* Code to disable the REFBUF0 if reference chosen is External ref */ #if (((ADC_1_CFG1_REFERENCE == ADC_1_EXT_REF_ON_P32)))) if (((config == 1u) && ((ADC_1_CFG1_REFERENCE == ADC_1_EXT_REF_ON_P03) || { /* Enable the REFBUF1 */ ADC_1_DSM_REF0_REG |= ADC_1_DSM_EN_BUF_VREF_INN; } #endif /* VSSA_TO_2VREF */ if(config != 0u) { /* Suppress compiler warning */ } /* Wait for microseconds */ CyDelayUs(ADC_1_PRES_DELAY_TIME) ; /* Enable the press circuit */ ADC_1_RESET_CR4_REG &= (uint8)~ADC_1_IGNORE_PRESA1; (uint8)~ADC_1_IGNORE_PRESA2; /* Enable negative pumps for DSM */ ADC_1_PUMP_CR1_REG |= ( ADC_1_PUMP_CR1_CLKSEL | /* Enable Modulator Chopping if required */ ADC_1_DSM_CR2_REG = /* This is only valid if there is an internal clock */ /* Clear a pending interrupt */ CyIntClearPending(ADC_1_INTC_NUMBE R); /* Enable interrupt */ 96 Luan van CyIntEnable(ADC_1_INTC_NUMBER); #endif /* End ADC_1_IRQ_REMOVE */ CyExitCriticalSection(enableInterrupts); } /*********************************** * Function Name: ADC_1_Start *********************************** * Summary: * Performs all required initialization for this component and enables * the power It configure all the register the first time it is called * Subsequent calls of the Start function only enable the ADC and turn * on the power If multiple configurations are selected, it will * configure the ADC for configuration by default, unless the * ADC_1_SelectConfiguration( ) function has been called to change * the default setting * Parameters: * None * Return: * None * Global variables: * ADC_1_initVar: Used to check the initial configuration, * modified when this function is called for the first time *********************************** void ADC_1_Start(void) { if(ADC_1_initVar == 0u) { if(ADC_1_started == 0u) { ADC_1_Init(); } ADC_1_initVar = 1u; } /* Enable the ADC */ ADC_1_Enable(); } /*********************************** * Function Name: ADC_1_Stop *********************************** * Summary: * This function stops and powers down the ADC component and the internal * clock if the external clock is not selected If an external clock is * used, it is up to the designer to power down the external clock it * required * Parameters: * None * Return: * None /*********************************** * Function Name: ADC_1_SetCoherency *********************************** * Summary: * This function allows the user to change which of the ADC's word * result will trigger a coherency unlock The ADC's result will not be * updated until the set byte is read either by the ADC or DMA * By default the LSB is the coherency byte for right alignment data format * The middle or high byte is set automatically depend on left alignment * configuration for DMA data transfer * If DMA or if a custom API requires different byte to be read the last, * this API should be used to set the last byte of the ADC result that is read * If a multibyte read is performed either by DMA or the ARM processor, the * coherency can be set to any byte in the last word read * Parameters: * coherency: Two bit value to set the coherency bit * 00-Coherency checking off * 01-low byte is key byte * 02-middle byte is the key byte * 03-high byte is the key byte * Return: * None *********************************** void ADC_1_SetCoherency(uint8 coherency) { uint8 tmpReg; tmpReg = ADC_1_DEC_COHER_REG & (uint8)~ADC_1_DEC_SAMP_KEY_MASK; tmpReg |= coherency & ADC_1_DEC_SAMP_KEY_MASK; ADC_1_DEC_COHER_REG = tmpReg; } 97 Luan van /*********************************** * Function Name: ADC_1_SetGCOR *********************************** * Summary: * Calculates a new GCOR value and writes it into the GCOR register * The GCOR value is a 16-bit value that represents a gain of to * The ADC result is multiplied by this value before it is placed in the ADC * output registers The numerical format for the GCOR value is: * 0x0000 -> 0.000 * 0x8000 -> 1.000 * 0xFFFF -> 1.99997 * When executing the function, the old GCOR value is multiplied by * gainAdjust and reloaded into the GCOR register * Parameters: * gainAdjust: floating point value to set GCOR registers * Return: * uint8: - if GCOR value is within the expected range * - the correction value is outside GCOR value range of * 0.00 to 1.9999 * Side Effects: The GVAL register is set to the amount of valid bits in the * GCOR register minus one If GVAL is 15 (0x0F), all 16 bits * of the GCOR registers will be valid If for example GVAL is * 11 (0x0B) only 12 bits will be valid The least bits will * be lost when the GCOR value is shifted places to the right *********************************** uint8 ADC_1_SetGCOR(float32 gainAdjust) { uint16 tmpReg; uint8 status; float32 tmpValue; tmpReg = ADC_1_gcor[ADC_1_Config 1u].gcor; tmpValue = ((float32)tmpReg / (float32)ADC_1_IDEAL_GAIN_CONST); tmpValue = tmpValue * gainAdjust; { status = 1u; } else { tmpValue *= (float32)ADC_1_IDEAL_GAIN_CONST; tmpReg = (uint16)tmpValue; CY_SET_REG16(ADC_1_DEC_GCOR_16 B_PTR, tmpReg); /* Update gain array to be used by SelectConfiguration() API */ ADC_1_gcor[ADC_1_Config - 1u].gcor = tmpReg; status = 0u; } return(status); } *********************************** uint16 ADC_1_ReadGCOR(void) { uint8 gValue; uint16 gcorValue; gValue = ADC_1_DEC_GVAL_REG; gcorValue = CY_GET_REG16(ADC_1_DEC_GCOR_16 B_PTR); if (gValue < ADC_1_MAX_GVAL) { gcorValue */ #if(ADC_1_DEFAULT_NUM_CONFIGS > 2) if(config == 3u) { /* Third Config */ ADC_1_DEC_CR_REG = ADC_1_CFG3_DEC_CR; 104 Luan van /* Set DSM_REF0_REG by disabling and enabling the PRESS circuit */ #if(ADC_1_DEFAULT_INPUT_MODE) #if (ADC_1_CFG3_INPUT_RANGE == ADC_1_IR_VSSA_TO_2VREF) ADC_1_AMux_Select(1u); #else ADC_1_AMux_Select(0u); #endif /* ADC_1_IR_VSSA_TO_2VREF) */ #endif /* ADC_1_DEFAULT_INPUT_MODE */ /* Set the Conversion stop if resolution is above 16 bit and conversion mode is Single sample */ #if(ADC_1_CFG3_RESOLUTION > 16 && \ ADC_1_CFG3_CONV_MODE == ADC_1_MODE_SINGLE_SAMPLE) ADC_1_stopConversion = 1u; #endif /* Single sample with resolution above 16 bits */ ADC_1_CountsPerVolt = (int32)ADC_1_CFG3_COUNTS_PER_VOL T; ADC_1_Ext_CP_Clk_SetDividerRegister(A DC_1_CFG3_CP_CLK_DIVIDER, 1u); #endif /* End ADC_1_IRQ_REMOVE */ } #endif /* ADC_1_DSM_REF2_REG = ADC_1_CFG4_DSM_REF2; ADC_1_DSM_REF3_REG = ADC_1_CFG4_DSM_BUF2; /* To select either Vssa or Vref to -ve input of DSM depending on * the input range selected #if(ADC_1_DEFAULT_INPUT_MODE) /*********************************** * Function Name: ADC_1_SelectCofiguration *********************************** * Summary: * Sets one of up to four ADC configurations Before setting the new * configuration, the ADC is stopped and powered down After setting * the new configuration, the ADC can be powered and conversion * can be restarted depending up on the value of second parameter * restart If the value of this parameter is 1, then ADC will be * restarted If this value is zero, then user must call ADC_1_Start * and ADC_1_StartConvert() to restart the conversion * Parameters: * config: configuration user wants to select * Valid range: * restart: Restart option means start the ADC and restart the conversion * means not start the ADC and conversion * Return: * None *********************************** void ADC_1_SelectConfiguration(uint8 config, uint8 restart) { /* Check whether the configuration number is valid or not */ if((config > 0u) && (config Pin_1_SHIFT; } /************************************ * Function Name: Pin_1_ReadDataReg ************************************ * Summary: * Read the current value assigned to a Digital Port's data output register * Parameters: * None * Return: * Returns the current value assigned to the Digital Port's data output register ************************************ uint8 Pin_1_ReadDataReg(void) { return (Pin_1_DR & Pin_1_MASK) >> Pin_1_SHIFT; } /* If Interrupts Are Enabled for this Pins component */ #if defined(Pin_1_INTSTAT) /************************************ * Function Name: Pin_1_ClearInterrupt ************************************ * Summary: * Clears any active interrupts attached to port and returns the value of the * interrupt status register * Parameters: * None * Return: * Returns the value of the interrupt status register ************************************ uint8 Pin_1_ClearInterrupt(void) { return (Pin_1_INTSTAT & Pin_1_MASK) >> Pin_1_SHIFT; } #endif /* If Interrupts Are Enabled for this Pins component */ /* [] END OF FILE */ 108 Luan van Chương trình Orcad thiết kế mạch 109 Luan van S K L 0 Luan van ... PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ ĐỒN MINH TƯỜNG NGHIÊN CỨU VÀ PHÂN TÍCH PHỔ TẦN SỐ RUNG CỦA ĐỘNG CƠ NHẰM ĐÁNH GIÁ TÌNH TRẠNG LÀM VIỆC CỦA ĐỘNG CƠ NGÀNH: KỸ THUẬT CƠ KHÍ ĐỘNG LỰC - 60520116 Hướng...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 LUẬN VĂN THẠC SĨ ĐỒN MINH TƯỜNG NGHIÊN CỨU VÀ PHÂN TÍCH PHỔ TẦN SỐ RUNG CỦA ĐỘNG CƠ NHẰM ĐÁNH GIÁ TÌNH TRẠNG LÀM VIỆC... tới rung động xe Nghiên cứu truyền rung động chưa xác định cố chẩn đoán hư hỏng động Luan van 1.3 Mục đích của đề tài Nghiên cứu phân tích phổ tần số rung động nhằm đánh giá tình trạng làm việc

Ngày đăng: 02/02/2023, 09:55

Tài liệu cùng người dùng

Tài liệu liên quan