Đang tải... (xem toàn văn)
Bé GI¸O DôC §µO T¹O BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÕNG ISO 9001 2008 THIẾT KẾ, CHẾ TẠO MÔ HÌNH MÁY KHẮC LASER ỨNG DỤNG CÔNG NGHỆ CNC ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY NGÀNH.
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÕNG ISO 9001:2008 THIẾT KẾ, CHẾ TẠO MÔ HÌNH MÁY KHẮC LASER ỨNG DỤNG CƠNG NGHỆ CNC ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY NGÀNH ĐIỆN TỰ ĐỘNG CƠNG NGHIỆP HẢI PHỊNG - 2016 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÕNG ISO 9001:2008 THIẾT KẾ, CHẾ TẠO MƠ HÌNH MÁY KHẮC LASER ỨNG DỤNG CÔNG NGHỆ CNC ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY NGÀNH ĐIỆN TỰ ĐỘNG CƠNG NGHIỆP Sinh viên: Hồng Minh Vũ Người hướng dẫn: GS-TSKH Thân Ngọc Hồn HẢI PHỊNG - 2016 Cộng hồ xã hội chủ nghĩa Việt Nam Độc lập – Tự Do – Hạnh Phúc o0o BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG NHIỆM VỤ ĐỀ TÀI TỐT NGHIỆP Sinh viên : Hoàng Minh Vũ – MSV : 1412102109 Lớp : ĐC1802- Ngành Điện Tự Động Công Nghiệp Tên đề tài : Thiết kế, chế tạo mơ hình máy khắc Laser ứng dụng công nghệ CNC NHIỆM VỤ ĐỀ TÀI Nội dung yêu cầu cần giải nhiệm vụ đề tài tốt nghiệp ( lý luận, thực tiễn, số liệu cần tính tốn vẽ) Các số liệu cần thiết để thiết kế, tính tốn Địa điểm thực tập tốt nghiệp : CÁC CÁN BỘ HƢỚNG DẪN ĐỀ TÀI TỐT NGHIỆP Người hướng dẫn thứ nhất: Họ tên : Học hàm, học vị : Cơ quan công tác : Nội dung hướng dẫn : Thân Ngọc Hoàn GS TSKH Trường Đại học dân lập Hải Phịng Tồn đề tài Người hướng dẫn thứ hai: Họ tên : Học hàm, học vị : Cơ quan công tác : Nội dung hướng dẫn : Đề tài tốt nghiệp giao ngày 31 tháng năm 2016 Yêu cầu phải hoàn thành xong trước ngày 31 tháng 12 năm 2016 Đã nhận nhiệm vụ Đ.T.T.N Sinh viên Đã giao nhiệm vụ Đ.T.T.N Cán hướng dẫn Đ.T.T.N Hoàng Minh Vũ GS TSKH Thân Ngọc Hồn Hải Phịng, ngày tháng năm 2016 HIỆU TRƯỞNG GS.TS.NGƯT TRẦN HỮU NGHỊ PHẦN NHẬN XÉT TÓM TẮT CỦA CÁN BỘ HƢỚNG DẪN 1.Tinh thần thái độ sinh viên trình làm đề tài tốt nghiệp Đánh giá chất lượng Đ.T.T.N ( so với nội dung yêu cầu đề nhiệm vụ Đ.T.T.N, mặt lý luận thực tiễn, tính tốn giá trị sử dụng, chất lượng vẽ ) Cho điểm cán hướng dẫn ( Điểm ghi số chữ) Ngày……tháng…….năm 2016 Cán hướng dẫn (Ký ghi rõ họ tên) NHẬN XÉT ĐÁNH GIÁ CỦA NGƢỜI CHẤM PHẢN BIỆN ĐỀ TÀI TỐT NGHIỆP Đánh giá chất lượng đề tài tốt nghiệp mặt thu thập phân tích số liệu ban đầu, sở lý luận chọn phương án tối ưu, cách tính tốn chất lượng thuyết minh vẽ, giá trị lý luận thực tiễn đề tài Cho điểm cán chấm phản biện ( Điểm ghi số chữ) Ngày……tháng…….năm 2016 Người chấm phản biện (Ký ghi rõ họ tên) MỤC LỤC LỜI NÓI ĐẦU 10 CHƢƠNG TỔNG QUÁT VỀ MÁY CNC VÀ HỆ THỐNG ĐIỀU KHIỂN 11 1.1 KHÁI QUÁT VỀ CÁC MÁY CÔNG CỤ CNC 11 1.1.1 Sơ lược máy CNC trình phát triển 11 1.1.2 Cơ sở máy CNC 12 1.1.3 Đặc điểm phân loại 13 1.2 NGUYÊN LÝ VẬN HÀNH MÁY CÔNG CỤ ĐIỀU KHIỂN SỐ 14 1.2.1 Chương trình gia cơng chi tiết 14 1.2.2 Khối điều khiển 14 1.2.3 Điều khiển Logic 14 1.2.4 Cấu trúc khối chức hệ thống CNC 15 1.3.2 Chuẩn bị chương trình điều khiển cho hệ CNC 17 CHƢƠNG CÔNG NGHỆ MÁY CNC ỨNG DỤNG TIA LASER 19 2.1 NHẬN XÉT VỀ CÁC MÁY CÔNG CỤ CNC CỔ ĐIỂN 19 2.2 GIỚI THIỆU CÔNG NGHỆ TIA LASER 20 2.2.1 Cấu tạo máy Laser 21 2.2.2 Cơ chế hoạt động 22 2.2.3 Phân loại 22 2.2.4 Tính chất tia laser 23 2.2.5 An toàn sử dụng tia Laser 23 2.2.6 Ứng dụng tia laser máy công cụ CNC 24 CHƢƠNG THIẾT KẾ VÀ XÂY DỰNG MÁY KHẮC LASER TRỤC 27 3.1 NGHIÊN CỨU HỆ THỐNG ĐIỀU KHIỂN CỦA MÁY PHAY CNC TRỤC TIÊU CHUẨN 27 3.1.1 Động AC Servo 28 3.1.1.1 Lựa chọn động 29 3.1.1.2 Cấu tạo nguyên lý hoạt động 30 3.1.1.3 Bộ điều khiển động AC Servo 30 3.1.2 Mạch điều khiển AKZ 250 32 3.1.2.1 Giới thiệu mạch AKZ 250 32 3.1.2.2 Đặc điểm mạch AKZ 250 32 3.1.3 Trục điều khiển tốc độ trục 33 3.1.4 Cơng tắc hành trình 34 3.2 THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN MÁY KHẮC LASER CNC 34 3.2.1 Sơ đồ nguyên lý phần tử hệ thống 34 3.2.2.Động bước 35 3.2.3 Driver động bước 37 3.2.4 Vi điều khiển Arduino Nano 40 3.3 THIẾT KẾ MẠCH ĐIỀU KHIỂN TRUNG TÂM 42 3.3.1 Giới thiệu chức mạch điều khiển Laser CNC 42 3.3.2 Sơ đồ nguyên lý mạch điều khiển laser CNC 45 3.3.3 Phần mềm điều khiển máy khắc Laser 46 3.4 XÂY DỰNG MƠ HÌNH MÁY KHẮC CNC TRỤC 47 KẾT LUẬN 52 TÀI LIỆU THAM KHẢO 53 LỜI NÓI ĐẦU Ngày máy CNC khơng cịn khái niệm xa lạ Việt Nam Máy CNC xuất hầu hết lĩnh vực sản xuất, đặc biệt công nghiệp Tuy nhiên hầu hết máy CNC nước nhập từ số nước Đức, Nhật Trung Quốc, giá thành máy CNC cao Những máy CNC thiết kế sản xuất việt nam cịn dừng lại mức độ “chế máy CNC chạy được” Do em định chọn đề tài “thiết kế, chế tạo máy khắc Laser ứng dụng công nghệ CNC” GS TSKH Thân Ngọc Hoàn hướng dẫn Đề tài gồm nội dung sau: Chương 1: Tổng quan máy CNC hệ thống điều khiển Chương 2: Công nghệ máy CNC ứng dụng tia Laser Chương 3: Thiết kế xây dựng máy khắc Laser trục SỔ TAY ARDUINO Góc dị lớn Để tăng độ nhậy cho đầu dị, Bạn dùng kính Fresnel, thiết kế cho loại đầu có cảm biến, góc dị lớn, có tác dụng ngăn tia tử ngoại Nguyên lý làm việc loại đầu dị PIR nhƣ hình sau: Các nguồn nhiệt (với người vật nguồn thân nhiệt) phát tia hồng ngoại, qua kính Fresnel, qua kích lọc lấy tia hồng ngoại, cho tiêu tụ cảm biến hồng ngoại gắn đầu dò, tạo điện áp khuếch đại với transistor FET Khi có vật nóng ngang qua, từ cảm biến cho xuất tín hiệu tín hiệu khuếch có biên độ đủ cao đưa vào mạch so áp để tác động vào thiết bị điều khiển hay báo động Sơ đồ chân cảm biến PIR Web: tdhshop.com.vn - Chuyên Kit TỰ HỌC ARDUINO SỔ TAY ARDUINO GND – kết nối với mặt đất OUT – kết nối đến chân digital Arduino 5V – kết nối với 5V Linh kiện thí nghiệm: 1x PIR Motion Sensor 1x Arduino UNO (hoặc bất kỳ) 1x LED loa Sơ đồ kết nối arduino cảm biến: Web: tdhshop.com.vn - Chuyên Kit TỰ HỌC ARDUINO SỔ TAY ARDUINO Lập trình điều khiển: int ledPin = 13; // chọn chân 13 báo hiệu LED int inputPin = 2; // chọn ngõ tín hiệu vào cho PIR int pirState = LOW; // Bắt đầu với khơng có báo động int val = 0; int pinSpeaker = 10; //chọn chân cho chng có đột nhập void setup() { pinMode(ledPin, OUTPUT); pinMode(inputPin, INPUT); pinMode(pinSpeaker, OUTPUT); Serial.begin(9600); } void loop() { val = digitalRead(inputPin); // đọc giá trị đầu vào Web: tdhshop.com.vn - Chuyên Kit TỰ HỌC ARDUINO SỔ TAY ARDUINO if (val == HIGH) // giá trị mức cao.(1) { digitalWrite(ledPin, HIGH); // LED On playTone(300, 160); // thời gian chuông kêu delay(150); if (pirState == LOW) { Serial.println("Motion detected!"); pirState = HIGH; } } else { digitalWrite(ledPin, LOW); playTone(0, 0); delay(300); if (pirState == HIGH) { Serial.println("Motion ended!"); pirState = LOW; } } } void playTone(long duration, int freq) { Web: tdhshop.com.vn - Chuyên Kit TỰ HỌC ARDUINO SỔ TAY ARDUINO duration *= 1000; int period = (1.0 / freq) * 1000000; long elapsed_time = 0; while (elapsed_time < duration) { digitalWrite(pinSpeaker,HIGH); delayMicroseconds(period / 2); digitalWrite(pinSpeaker, LOW); delayMicroseconds(period / 2); elapsed_time += (period); } } 13 CẢM BIẾN KHOẢNG CÁCH ( SRF05) PHẦN NÀY BỔ XUNG Đối với robot, chế độ tự động, phải lấy thông tin môi trường xung quanh như: khoảng cách, nhiệt độ, ánh sáng Và tiến hành phân tích liệu đó, cuối định phù hợp Ví dụ robot tự tìm đường phải tính xem phía trước có vật cản hay không, tiến hành tới hay rẽ sang hướng khác Bài viết hướng dẫn bạn đọc hiểu sử dụng cảm biến khoảng cách phổ biến - SRF05 Thiết bị cần chuẩn bị Các bạn cần chuẩn bị thiết bị sau: x Arduino Uno R3 x cảm biến siêu âm SRF05 x breadboard để cắm mạch test Dây cắm loại Cảm biến siêu âm SRF05 Web: tdhshop.com.vn - Chuyên Kit TỰ HỌC ARDUINO SỔ TAY ARDUINO Sóng siêu âm (sonar) loại sóng cao tầng mà người khơng thể nghe thấy Tuy nhiên, ta thấy diện sóng siêu âm khắp nơi tự nhiên Ta có lồi động vật dơi, cá heo dùng sóng siêu âm để liên lạc với nhau, để săn mồi hay định vị khơng gian Việc tính tốn khoảng cách cịn phụ thuộc nhiều vào mơi trường truyền dẫn, ví dụ sóng âm truyền mơi trường nước hay kim loại nhanh nhiều so với sóng âm truyền mơi trường khơng khí Lƣu ý sóng âm khơng thể truyền đƣợc mơi trƣờng chân không Cảm biến siêu âm SRF05 hoạt động theo nguyên tắc trên, thiết bị gồm có loa - thu phát - với chân để kết nối với Arduino, tầm hoạt động tối đa cảm biến nằm khoảng 5m Chức chân nhƣ sau: Vcc: cấp nguồn cho cảm biến Trigger: kích hoạt trình phát sóng âm Q trình kích hoạt chu kì điện cao / thấp diễn Web: tdhshop.com.vn - Chuyên Kit TỰ HỌC ARDUINO SỔ TAY ARDUINO Echo: bình thường trạng thái 0V, kích hoạt lên 5V có tín hiệu trả về, sau trở 0V Gnd: nối với cực âm mạch OUT: không sử dụng Ta tiến hành lắp đặt cảm biến khoảng cách SRF05 theo sơ đồ sau: Vcc: nối với nguồn 5V Adruino Gnd: nối với PIN GND Trigger: nối với PIN Echo: nối với PIN Lập trình điều khiển const int trig = 8; // chân trig HC-SR05 const int echo = 7; // chân echo HC-SR05 void setup() { Serial.begin(9600); // giao tiếp Serial với baudrate 9600 pinMode(trig,OUTPUT); // chân trig phát tín hiệu pinMode(echo,INPUT); // chân echo nhận tín hiệu } void loop() { unsigned long duration; // biến đo thời gian int distance; // biến lƣu khoảng cách /* Phát xung từ chân trig */ digitalWrite(trig,0); // tắt chân trig Web: tdhshop.com.vn - Chuyên Kit TỰ HỌC ARDUINO SỔ TAY ARDUINO delayMicroseconds(2); digitalWrite(trig,1); // phát xung từ chân trig delayMicroseconds(5); // xung có độ dài microSeconds digitalWrite(trig,0); // tắt chân trig /* Tính tốn thời gian */ // Đo độ rộng xung HIGH chân echo duration = pulseIn(echo,HIGH); // Tính khoảng cách đến vật distance = int(duration/2/29.1); /* In kết Serial Monitor */ Serial.print(distance); Serial.println("cm"); delay(200); } Giải tích code: Ta biết thời gian âm truyền khơng khí 20°C 344 m/s Bằng quy tắc tam suất đơn giản ta dễ dàng tính sóng âm di chuyển cm khơng khí 1000 / 344 * 100 ~= 29.1 Arduino cung cấp cho ta hàm pulseIn có tác dụng trả thời gian (tính milisec) kể từ hàm gọi có tín hiệu PIN định trước, hay trả khơng nhận tín hiệu / q thời gian timeout Web: tdhshop.com.vn - Chuyên Kit TỰ HỌC ARDUINO SỔ TAY ARDUINO 14 CẢM BIẾN MÀU ( TCS3200) Module cảm biến màu TCS3200 module cảm biến phát đầy đủ màu sắc, bao gồm cảm biến màu TCS3200 với khả nhận biết màu RGB đèn LED trắng Các TCS3200 phát đo lường gần tất màu sắc nhìn thấy Ứng dụng bao gồm kiểm tra đọc dải, phân loại theo màu sắc, cảm biến ánh sáng xung quanh hiệu chuẩn, kết hợp màu sắc, vài ứng dụng TCS3200 có tách sóng quang, có lọc màu sắc lọc màu đỏ, xanh, màu xanh, khơng có lọc ( rõ ràng) Các lọc màu phân bố khắp mảng để loại bỏ sai lệch vị trí điểm màu Bên dao động tạo đầu sóng vng có tần số tỷ lệ thuận với cường độ màu sắc lựa chọn Thông số kỹ thuật: Điện áp cung cấp: (2.7V đến 5.5V) Chuyển đổi từ cường độ ánh sáng sang tần số với độ phân giải cao Có khả lập trình để nhận biết đầy đủ màu sắc Điện tiêu thụ thấp Giao tiếp trực tiếp với vi điều khiển S0 ~ S1: Dùng để lựa chọn tỉ lệ tần số đầu S2 ~ S3: Dùng để lựa chọn kiểu photodiode OUT Pin: Đầu tần số OE Pin: Tần số đầu cho phép hoạt động (hoạt động mức thấp) Hỗ trợ đèn LED bổ sung kiểm soát ánh sáng Web: tdhshop.com.vn - Chuyên Kit TỰ HỌC ARDUINO SỔ TAY ARDUINO Kích thước: 28.4x28.4mm Nguyên tắc nhận biết màu: TCS3200 có lọc màu, lựa chọn lọc màu cho phép nhận biết màu màu khác bị chặn Ví dụ, lựa chọn lọc màu đỏ, Chỉ có ánh sáng tới màu đỏ thơng qua, màu xanh màu xanh ngăn chặn Vì nhận cường độ ánh sáng màu đỏ Tương tự vậy, lựa chọn lọc khác mà nhận ánh sáng màu xanh màu xanh Cách thiết lập màu sắc cho TCS3200: Tần số đầu TCS3200 khoảng 2HZ~500KHZ Tần số đầu có dạng xung vuông với tần số khác mà màu sắc khác cường độ sáng khác Chúng ta lựa chọn tỉ lệ cừng độ sáng màu sắc theo bảng sau Trên module có chân LED EN chân điều khiển đèn LED để tắt bật Cách thiết lập tần số cho TCS3200: Web: tdhshop.com.vn - Chuyên Kit TỰ HỌC ARDUINO SỔ TAY ARDUINO Sơ đồ nối dây: Lập trình điều khiển: #define S0 #define S1 #define S2 #define S3 #define sensorOut int frequency = 0; void setup() { 10 pinMode(S0, OUTPUT); 11 pinMode(S1, OUTPUT); 12 pinMode(S2, OUTPUT); 13 pinMode(S3, OUTPUT); 14 pinMode(sensorOut, INPUT); 15 16 // Setting frequency-scaling to 20% 17 digitalWrite(S0,HIGH); 18 digitalWrite(S1,LOW); 19 20 Serial.begin(9600); 21 } 22 23 void loop() { 24 // Setting red filtered photodiodes to be read 25 digitalWrite(S2,LOW); 26 digitalWrite(S3,LOW); Web: tdhshop.com.vn - Chuyên Kit TỰ HỌC ARDUINO SỔ TAY ARDUINO 27 frequency = pulseIn(sensorOut, LOW); 28 Serial.print("R= ");//printing name 29 Serial.print(frequency);//printing RED color frequency 30 Serial.print(" "); 31 delay(100); 32 digitalWrite(S2,HIGH); 33 digitalWrite(S3,HIGH); 34 frequency = pulseIn(sensorOut, LOW); 35 Serial.print("G= ");//printing name 36 Serial.print(frequency);//printing RED color frequency 37 Serial.print(" "); 38 delay(100); 39 digitalWrite(S2,LOW); 40 digitalWrite(S3,HIGH); 41 frequency = pulseIn(sensorOut, LOW); 42 Serial.print("B= ");//printing name 43 Serial.print(frequency);//printing RED color frequency 44 Serial.println(" "); 45 delay(100); 46 } Sau upload chương trình kết nối xong lấy mẫu giấy màu đưa sát vào led màu trắng cảm biến, sau mở serial port lên xem giá trị trả màu Web: tdhshop.com.vn - Chuyên Kit TỰ HỌC ARDUINO SỔ TAY ARDUINO 15 CẢM BIẾN GIA TỐC ( MPU 6050) Cảm biến gia tốc MPU 6050 cảm biến có trục thiết kế cho ứng dụng nguồn ni thấp, giá rẻ, có hiệu xuất cao, ứng dụng điện thoại máy tình bảng, thiết bị di động khác MPU-6000/6050 gồm có trục quay hồi chuyển (gyroscope) trục gia tốc (accelerometer ) thiết kế nhân chip Digital Motion Processor (DMP) sử dụng thuật tốn MotionFusion thuật tốn MotionFusion có khả giao tiếp với số cảm biến khác qua chân I2C phụ trợ (auxiliary master I2C bus), giúp cho thiết bị trang bị đầy đủ loại cảm biến hệ thống điều khiển Board MPU6050 thiết kế với IC nguồn 3.3V trện board trở kéo bus I2C Thông số kĩ thuật cảm biến gia tốc MPU 6050 : - Điện áp cấp: 3~5v - góc quay hồi chuyển với độ nhạy lên đến 131 LSBs/sps đầy đủ độ ±250, ±500, ±1000, and ±2000dps - góc gia tốc kế với đầy đủ khả lập trình với ±2g, ±4g, ±8g and ±16g - Kích thước: 14 x 21mm Sơ đồ nối dậy: Web: tdhshop.com.vn - Chuyên Kit TỰ HỌC ARDUINO SỔ TAY ARDUINO Lập trình điều khiển: Trƣớc hết ta phải cài thƣ viện MPU6050 I2C vào arduino IDE #include const int MPU_addr=0x68; // I2C address of the MPU-6050 int16_t AcX,AcY,AcZ,Tmp,GyX,GyY,GyZ; void setup(){ Wire.begin(); Wire.beginTransmission(MPU_addr); Wire.write(0x6B); // PWR_MGMT_1 register Wire.write(0); // set to zero (wakes up the MPU-6050) Wire.endTransmission(true); Serial.begin(9600); } void loop(){ Wire.beginTransmission(MPU_addr); Wire.write(0x3B); // starting with register 0x3B (ACCEL_XOUT_H) Wire.endTransmission(false); Wire.requestFrom(MPU_addr,14,true); // request a total of 14 registers AcX=Wire.read()