Nghiên cứu thiết kế và điều khiển cơ cấu dao động đầu hàn sử dụng bộ vi xử lý Nghiên cứu thiết kế và điều khiển cơ cấu dao động đầu hàn sử dụng bộ vi xử lý Nghiên cứu thiết kế và điều khiển cơ cấu dao động đầu hàn sử dụng bộ vi xử lý luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp
bộ giáo dục đào tạo Trường đại học bách khoa hµ néi PHẠM HUY HOÀNG NGHIÊN CỨU THIẾT KẾ VÀ ĐIỀU KHIỂN CƠ CẤU DAO ĐỘNG ĐẦU HÀN SỬ DỤNG BỘ VI XỬ LÝ LUẬN VĂN THẠC SỸ KHOA HỌC CHUYÊN NGÀNH: KỸ THUẬT CƠ KHÍ NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS BÙI VĂN HẠNH Hà Nội - 2016 LỜI CAM ĐOAN Tác giả xin cam đoan công trình nghiên cứu cá nhân tác giả hướng dẫn PGS.TS Bùi Văn Hạnh tham khảo tài liệu liệt kê, ngoại trừ số liệu, bảng biểu, đồ thị, công thức trích dẫn tài liệu tham khảo, nội dung cơng bố cịn lại luận văn tác giả đưa chưa cơng bố tài liệu Nếu sai, tác giả xin hoàn toàn chịu trách nhiệm Hà Nội, ngày tháng năm 2016 Học viên Phạm Huy Hoàng MỤC LỤC LỜI CAM ĐOAN DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ MỞ ĐẦU 10 CHƢƠNG - TỔNG QUAN 12 1.1 Tính cấp thiết sử dụng cấu dao động đầu hàn 12 1.2 Tổng quan cấu dao động đầu hàn 13 1.2.1 Thông số cấu dao động đầu hàn 13 1.2.2 Tổng quan cấu dao động đầu hàn 13 CHƢƠNG - TÍNH TỐN THIẾT KẾ KẾT CẤU CƠ KHÍ CƠ CẤU DAO ĐỘNG ĐẦU HÀN 16 2.1 Phân tích lựa chọn giải pháp truyền động 16 2.1.1 Lựa chọn giải pháp truyền động 16 2.1.2 Phân tích lựa chọn kết cấu khí truyền chuyển động 18 2.2 Tính tốn thiết kế truyền vít me – đai ốc bi 22 2.2.1 Kết cấu truyền vít me - đai ốc bi 22 2.2.2 Tính tốn chọn đường kính trục vít me bi 24 2.3 Tính tốn chọn động bước 25 2.3.1 Thông số kỹ thuật điều kiện hoạt động cấu 25 2.3.2 Tính góc độ vi bước yêu cầu θs 25 2.3.3 Xác định mơ hình hoạt động 25 2.3.4 Tính mơ-men xoắn u cầu TM [N.m] 26 2.3.5 Lựa chọn động 27 2.4 Tính tốn thiết kế truyền đai 28 2.4.1 Cơ sở lý thuyết tính tốn truyền đai 28 2.4.2 Tính tốn thiết kế truyền đai 29 2.5 Chọn Puly 34 2.6 Thiết kế gối đỡ cho trục vít me bi 34 2.6.1 Thiết kế gối đỡ 34 2.6.2 Chọn vòng bi 36 2.7 Chọn hệ thống dẫn trượt 36 2.7.1 Giới thiệu hệ thống dẫn trượt 36 2.7.2 Chọn hệ thống dẫn trượt 37 2.8 Thiết kế bàn giữ kẹp mỏ hàn 38 2.9 Thiết kế kết cấu thân vỏ cho cấu dao động đầu hàn 39 2.9.1 Thiết kế thân cấu 39 2.9.2 Thiết kế vỏ cấu 40 CHƢƠNG - THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN 42 3.1 Phân tích lựa chọn giải pháp điều khiển 42 3.1.1 Lý thuyết điều khiển tự động 42 3.1.2 Lý thuyết điều khiển cổ điển 42 3.1.3 Lý thuyết điều khiển đại 43 3.1.4 Tính điều khiển quan sát 43 3.1.5 Những phương thức điều khiển 44 3.2 Thiết kế mạch điều khiển 44 3.2.1 Nguyên tắc điều khiển 44 3.2.2 Thiết kế hệ điều khiển 46 3.3 Các phần tử mạch điều khiển 61 3.3.1 Động bước 61 3.3.2 Chíp điều khiển trung tâm 67 3.3.3 Màn hình hiển thị 68 3.3.4 Các phím điều khiển 69 3.3.5 Bộ cấp nguồn 70 CHƢƠNG - XÂY DỰNG THUẬT TOÁN VÀ VIẾT CHƢƠNG TRÌNH ĐIỀU KHIỂN 72 4.1 Xây dựng thuật toán điều khiển 72 4.1.1 Giới thiệu khái quát thuật toán điều khiển 72 4.1.2 Thuật toán điều khiển PID 72 4.1.3 Xây dựng sơ đồ khối thuật toán điều khiển 75 4.2 Viết chương trình điều khiển 76 CHƢƠNG – CHẾ TẠO VÀ CHẠY THỬ NGHIỆM 77 5.1 Chế tạo 77 5.1.1 Chế tạo kết cấu khí 77 5.1.2 Lắp ráp mạch điều khiển 81 5.2 Chạy thử nghiệm 84 5.3 Đánh giá kết khả ứng dụng 86 KẾT LUẬN VÀ KIẾN NGHỊ 87 TÀI LIỆU THAM KHẢO 89 PHỤ LỤC 90 DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT Ký hiệu MIG MAG CNH-HĐH TĐH CVAVR PID Đơn vị Ý nghĩa Hàn điện cực nóng chảy mơi trường khí trơ (Ar, He) Hàn điện cực nóng chảy mơi trường khí hoạt tính (CO2) Cơng nghiệp hóa – đại hóa Tự động hóa Code Vision AVR Proportional Integral Derivative (Bộ điều khiển vi tích phân tỉ lệ) DANH MỤC CÁC BẢNG TT NỘI DUNG TRANG Bảng 2.1 So sánh thông số làm việc loại đai 20 Bảng 2.2 Các thơng số truyền vít me – đai ốc bi Model 1204-3 24 Bảng 2.3 Các thông số động bước Sumtor 57HS7630A4 28 Bảng 2.4 Kích thước truyền đai gờ hình thang 30 Bảng 2.5 Các thơng số hình học đai có gờ hình trịn 31 Bảng 2.6 Các thơng số truyền đai gờ hình thang 31 Bảng 2.7 Bước đai theo IS0 5296-I: 1989 (bước đai mm in) 32 Bảng 2.8 Các thông số kỹ thuật dây đai 120XL-025 34 Bảng 2.9 Các thông số truyền Pully XL 34 Bảng 2.10 Các thông số vịng bi 628-Z 36 Bảng 2.11 Các thơng số kích thước dẫn trượt TRH15VN 37 Bảng 2.12 Tải trọng lên dẫn trượt TRH15VN 38 DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ TT Hình 2.1 NỘI DUNG Sơ đồ nguyên lý truyền chuyển động từ động tới trục TRANG 18 thơng qua truyền đai Hình 2.2 Tiết diện đai dẹt đai thang 20 Hình 2.3 Sơ đồ chọn loại đai 21 Hình 2.4 Bộ truyền vít me – đai ốc bi 22 Hình 2.5 Các dạng kết cấu hồi bi 23 Hình 2.6 Kích thước truyền vít me – đai ốc bi 24 Hình 2.7 Sơ đồ hoạt động cấu 25 Hình 2.8 Đồ thị tần số xung theo thời gian 26 Hình 2.9 Động bước Sumtor 57HS7630A4 27 Hình 2.10 Các thơng số hình học truyền đai 28 Hình 2.11 Bộ truyền đai gờ hình thang 30 Hình 2.12 Bộ truyền đai gờ hình trịn 31 Hình 2.13 Dây đai 33 Hình 2.14 Bộ truyền Pully 15/10 34 Hình 2.15 Gối đỡ vít me bi 35 Hình 2.16 Gối đỡ vít me bi 35 Hình 2.17 Vịng bi cơng nghiệp 36 Hình 2.18 Kích thước dẫn trượt vng 37 Hình 2.19 Bàn kẹp giữ đầu mỏ hàn 39 Hình 2.20 Thân cấu dao động đầu hàn 40 Hình 2.21 Vỏ cấu dao động đầu hàn 41 Hình 3.1 Sơ đồ hệ thống sử dụng động bước 45 Hình 3.2 Vi điều khiển ATmega 16 48 Hình 3.3 Sơ đồ chức ATmega16 49 Hình 3.4 Mạch chip ATmega16 50 TT NỘI DUNG TRANG Hình 3.5 Sơ đồ phím chức 51 Hình 3.6 Sơ đồ Led thiết kế Orcad 52 Hình 3.7 Sơ đồ chân LCD 52 Hình 3.8 LCD thiết kế Orcad 53 Hình 3.9 Sơ đồ Jam cắm mở rộng thiết kế Orcad 54 Hình 3.10 Sơ đồ nguồn cấp cho vi điều khiển 54 Hình 3.11 IC cơng suất L298N 55 Hình 3.12 Sơ đồ khối L298 55 Hình 3.13 Dùng L298 để điều khiển động chiều 56 Hình 3.14 Dùng L298 để điều khiển động bước dây 57 Hình 3.15 Sơ đồ chân L298 57 Hình 3.16 Ảnh chụp L297 58 Hình 3.17 Mạch cơng suất điều khiển động bước 58 Hình 3.18 Chế độ HALF STEP L297 60 Hình 3.19 Chế độ Normal L297 60 Hình 3.20 Chế độ sóng L297 61 Hình 3.21 Động bước kiểu từ trở biến đổi 62 Hình 3.22 Động bước kiểu hỗn hợp 63 Hình 3.23 Động bước kiểu nam châm vĩnh cửu 63 Hình 3.24 Sơ đồ nguyên lý động bước đơn cực 64 Hình 3.25 Giản đồ phương pháp điều khiển full-step 65 Hình 3.26 Giản đồ phương pháp điều khiển half-step 66 Hình 3.27 Sơ đồ đấu dây lưỡng cực dây 67 Hình 3.28 Vi điều khiển ATmega 16 68 Hình 3.29 Bộ Led ngồi thị trường 69 Hình 3.30 Phím điều khiển thường 69 Hình 3.31 Phím điều khiển PLC có LED khơng có LED 70 TT NỘI DUNG TRANG Hình 3.32 Cơng tắc gạt tay 70 Hình 3.33 Nguồn cơng nghiệp 24V 70 Hình 4.1 Sơ đồ khuếch đại 73 Hình 4.2 Sơ đồ cấu trúc 73 Hình 4.3 Đồ thị đặc tính điều khiển PID 74 Hình 4.4 Sơ đồ khối thuật tốn điều khiển 76 Hình 5.1 Lắp ráp kết cấu khí 80 Hình 5.2 Cơ cấu dao động đầu mỏ hàn sau lắp vỏ bảo vệ 80 Hình 5.3 Lắp ráp mạch main mạch cơng suất 82 Sơ đồ vị trí lắp Led nút bấm điều khiển tủ 83 Hình 5.4 điện Hình 5.5 Vị trí lắp đặt bên tủ điện 83 Hình 5.6 Lắp đặt nút bấm mặt điều khiển 84 Hình 5.7 Vị trí mỏ hàn cấu 84 Hình 5.8 Điều chỉnh chế độ làm việc MANUAL 85 Hình 5.9 Điều chỉnh chế độ làm việc AUTO 85 Ứng dụng lắp cấu hàn nối ống (phương pháp hàn 86 Hình 5.10 MAG) PHỤ LỤC Bảng phụ lục 01 (Kích thƣớc trục vít me bi) 90 Bảng phụ lục 02 /***************************************************** This program was produced by the CodeWizardAVR V1.25.9 Standard Automatic Program Generator © Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l http://www.hpinfotech.com Project : Luan van Version : Date : 1/25/2015 Author : F4CG Company : DHBK HANOI Comments: Chip type : ATmega16 Program type : Application Clock frequency : 8.000000 MHz Memory model : Small External SRAM size : Data Stack size : 256 *****************************************************/ #include // Alphanumeric LCD Module functions #asm equ lcd_port=0x18 ;PORTB #endasm #include #define pwm1 #define dir1 #define pwm2 PORTD.7 PORTD.6 PORTD.5 91 #define dir2 PORTD.4 #define BACK PINC.0 #define NEXT PINC.1 #define OK PINC.2 #define CANCEL PINC.3 #define AUTO PIND.3 #define left #define right #define run #define stop #define up #define dn unsigned char speed,f=4; unsigned int Vx=250, Vy=100, v2, vy; unsigned long i = 0, j = 0; unsigned long step1, step2, sx, sy; unsigned int Lx =5; unsigned int Ly=200; unsigned int tx; // Timer output compare interrupt service routine interrupt [TIM0_COMP] void timer0_comp_isr(void) { TCCR0=0x00; TCNT0=0x00; pwm1 = !pwm1; i++; if(i0); } void dcX(unsigned char status, long steps, unsigned char vel) { switch(status) { case run: if(steps < 0) dir1 = right; 94 else // dir1 = left; ena = 1; OCR0 = vel; step1 = abs(steps); TCCR0 = 0x0B; break; case stop: TCCR0=0x00; // ena = 0; break; } } // void dcY(unsigned char status, long steps, unsigned char vel) // { // switch(status) // { // // case run: // if(steps < 0) // else dir2 = right; dir2 = left; // // // ena = 1; // OCR1A = vel; // step2 = abs(steps); // TCCR1B = 0x0B; // break; // // // // case stop: TCCR1B=0x00; ena = 0; 95 // break; // } // } void lcd_putnum(unsigned int x) { unsigned char a,b,c,d,e; a=x/10000;x=x%10000; b=x/1000;x=x%1000; c=x/100;x=x%100; d=x/10;x=x%10; e=x; if (a>0) { lcd_putchar(a+48); lcd_putchar(b+48); lcd_putchar(c+48); lcd_putchar(d+48); lcd_putchar(e+48); } else if (b>0) { lcd_putchar(b+48); lcd_putchar(c+48); lcd_putchar(d+48); lcd_putchar(e+48); } else if (c>0) { lcd_putchar(c+48); 96 lcd_putchar(d+48); lcd_putchar(e+48); } else if (d>0) { lcd_putchar(d+48); lcd_putchar(e+48); } else if(e>=0) lcd_putchar(e+48); } void run_manual() { lcd_gotoxy(0,0); lcd_putsf("Chay bang tay "); lcd_gotoxy(0,1);lcd_putsf("Left if((!BACK)&&(NEXT)) Right"); {dcX(run, -100, 52);} else if((BACK)&&(!NEXT)) {dcX(run, 100, 52);} // else if((BACK)&&(NEXT)&&(!OK)&&(CANCEL)) {dcY(run, -10, adc_data[0]);} // else if((BACK)&&(NEXT)&&(OK)&&(!CANCEL)) {dcY(run, 10, adc_data[0]);} // else if((!BACK)&&(NEXT)&&(!OK)&&(CANCEL)) {dcX(run, -10, adc_data[1]); dcY(run, -10, adc_data[0]);} // else if((!BACK)&&(NEXT)&&(OK)&&(!CANCEL)) {dcX(run, -10, adc_data[1]); dcY(run, 10, adc_data[0]);} // else if((BACK)&&(!NEXT)&&(!OK)&&(CANCEL)) {dcX(run, 10, adc_data[1]); dcY(run, -10, adc_data[0]);} // else if((BACK)&&(!NEXT)&&(OK)&&(!CANCEL)) {dcX(run, 10, adc_data[1]); dcY(run, 10, adc_data[0]);} 97 // else {dcX(stop, 0, adc_data[1]); dcY(stop, 0, adc_data[0]);} } void run_auto() { unsigned char k; lcd_gotoxy(0,0); lcd_putsf("Tan so lac: "); while((OK)&&(!AUTO)) { lcd_gotoxy(0,1); lcd_putsf(" f="); lcd_putnum(f); lcd_putsf(" [Hz] if(!NEXT) {if(f < 5) f++; delay_ms(100);} if(!BACK) {if(f > 1) f ; delay_ms(100);} "); tx = 60/f; } nhaOK(); // while((OK)&&(!AUTO)) // { // lcd_gotoxy(0,1); // lcd_putsf(" Vy:"); lcd_putnum(Vy);lcd_putsf(" [v/ph] "); // if(!NEXT) {if(Vy 37) Vy ; delay_ms(50);} // } // nhaOK(); // if(f==1) tx = 60; // else if(f==2) tx = 120; // else if(f==3) tx = 180; // else if(f==4) tx = 240; // else if(f==5) tx = 300; 98 // Vx = k*60; // Vx = f*60; // v2 = 9375/Vx; // vy = 9375/Vy; lcd_gotoxy(0,0); lcd_putsf("Bien lac "); while((OK)&&(!AUTO)) { lcd_gotoxy(0,1); lcd_putsf(" Lx: "); lcd_putnum(Lx); lcd_putsf(" [mm] "); if(!NEXT) {if(Lx 0) Lx ; delay_ms(200);} sx=(200*Lx)/3; } nhaOK(); // while((OK)&&(!AUTO)) // { // lcd_gotoxy(0,1); lcd_putsf(" Ly: "); lcd_putnum(Ly); lcd_putsf(" [mm] // if(!NEXT) {if(Ly10) Ly-=10; delay_ms(50);} // } // nhaOK(); // ty so truyen 15/10, buoc ren 4mm Vx = sx / tx; v2 = 1563 / Vx; while((OK)&&(!AUTO)){ lcd_gotoxy(0,0); lcd_putsf(" May han truc "); lcd_gotoxy(0,1); lcd_putsf("Chay may: an OK?"); } lcd_gotoxy(0,0); lcd_putsf(" May dang chay "); lcd_gotoxy(0,1); lcd_putsf(" An CANCEL ? "); 99 "); // nhaOK(); i=0; // i=j=0; // sx=(200*Lx)/3; // sx=115*Lx; sy=2.45*Ly; while((CANCEL)&&(!AUTO)) { // dcY(run, sy, vy); while((i