Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 24 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
24
Dung lượng
1,02 MB
Nội dung
1 Mục Lục Lời Mở Đầu Chương I: Khái niệm cánh tay robot tính ứng dụng công nghiệp đời sống Chương II: Cơ chế hoạt động hệ thống điều khiển từ xa cho cánh tay Robot Cơ chế hoạt động Robot Arm Giới thiệu tổng quan vi xử lí Adruino 2.1 Sơ đồ chân Arduino 2.2 Tổng quan phát sóng không dây RF Chương III: Tổng quan động SERVO cho cánh tay robot 12 Khái niệm Servo 12 Tín hiệu điều khiển 14 Chương IV Thiếtkế khớp nối linh hoạt cân phần mềm Corel Draw 15 Khái niệm tính ứng dụng Corel 15 Phần mềm corel Draw cho thiếtkế cánh tay robot hỉnh ảnh thực tế 15 2.2 Hình ảnh thực tế 16 Chương V Chương trình thiếtkếmôhình thực tế cánh tay robot 17 Sơ đồ thuật toán mạch điều khiển chương trình code 17 1.1 Sơ đồ thuật toán 17 1.2 Code chương trình 17 Mô mạch thực tế 22 2.1 Mô proteus 22 2.2 Mạch thực tế 23 NHÓM SINH VIÊN NGHIÊN CỨU Lời Mở Đầu Cánh tay Robot trở thành ngành khoa học đại đa nhiệm vụ sống nhân loại Cánh tay Robot đáp ứng đòi hòi không ngừng ngành, lĩnh vực khác phục vụ, giúp đỡ người sống ngày Robot có khả thay người làm việc môi trường độc hại: Việc nhọc, gây nguy hiểm cho người, nóng, độc, phóng xạ, nước sâu, lòng đất, khoảng không vũ trụ Không có Cánh tay robot làm việc với độ xác cao, có khả tự động hóa cao, có tình lặp lại, tăng suất, giảm giá thành sản phẩm Vì áp dụng Cánh tay robot vào sản xuất công nghiệp làm tăng trưởng kinh tế Chính tính thiết thực ý nghĩa quan trọng robot nên chúng em định nghiên cứu đề tài: “Thiết Kếmôhình Robot ARM” với hy vọng đóng góp phần công nghiệp hóa hiên đại hóa nước nhà NHÓM SINH VIÊN NGHIÊN CỨU Chương I: Khái niệm cánh tay robot tính ứng dụng công nghiệp đời sống Từ lâu, người không xa lạ với từ “cánh tay Robot” Bởi lẽ, cánh tay Robot xuất nhiều sống chưa tận mắt chứng kiến robot hoạt động xem qua phương tiện thông tin đại chúng Vậy cánh tay Robot gì? Có nhiều định nghĩa khác Cánh tay Robot theo quan điểm khác Dưới số định nghĩa cánh tay Robot: - Cánh tay Robot máy móc có khả thay sức lao động người (Socka, 1985) - Một cấu chấp hành đa chức dùng để vận chuyển vật liệu, chi tiết hay máy móc, thiết bị Các cấu lập trình thay đổi chuyển động cho phù hợp với công việc (Schulussel 1985) - Cánh tay Robot thiết bị lập trình để làm số công việc Theo hướng máy tính mạch điện lập trình để làm số công việc, máy tính Robot Từ định nghĩa này, thấy Cánh tay Robot vào lĩnh vực đời sống người Vậy, Cánh tay Robot ứng dụng nào? Có thể nói, Cánh tay Robot ứng dụng phong phú đời sống người, trường học công nghiệp nông nghiệp Đặc biệt công nghiệp, Cánh tay Robot sử dụng rộng rãi để làm số công việc: vận chuyển nguyên vật liệu, sản phẩm, máy móc hay làm công việc nặng nhọc, môi trường làm việc có nhiệt độ cao, độc hại… Đầu tiên, Cánh tay Robot dùng số ngành công nghiệp kỹ thuật cao công nghiệp xe hơi, công nghiệp máy bay… để làm công việc hàn thân xe , phun sơn… Những Cánh tay Robot cánh tay máy mô người, tay máy bao gồm nhiều khâu liên kết với khớp Các khâu chuyển động tương NHÓM SINH VIÊN NGHIÊN CỨU làm thay đổi tầm với Cánh tay Robot Thông thường Cánh tay robot cố định chỗ thao tác khả tầm với chúng NHÓM SINH VIÊN NGHIÊN CỨU Chương II: Cơ chế hoạt động hệ thống điều khiển từ xa cho cánh tay Robot Cơ chế hoạt động Robot Arm Robot Arm hoạt động dựa lập trình cho trước với trung tâm xử lí arduino điều khiển động servo nhận tiến hiệu từ xa với phát sóng tần số cao RM Robot Arm khối tổng thể với khớp điểu kiển với góc quay servo từ 0180 Cánh tay cử động xoay, nâng lên, hạ xuống, quay trái, quay phải gắp sản phẩm nhỏ theo người điều khiển lập trình biên dịch nạp vào vi xử lí Adruino Giới thiệu tổng quan vi xử lí Adruino Arduino thật bo mạch vi xử lý dùng để lập trình tương tác với thiết bị phần cứng cảm biến, động cơ, đèn thiết bị khác Đặc điểm bật Arduino môi trường phát triển ứng dụng dễ sử dụng, với ngôn ngữ lập trình học cách nhanh chóng với người am hiểu điện tử lập trình Và điều làm nên tượng Arduino mức giá thấp tính chất nguồn mở từ phần cứng tới phần mềm Arduino Uno sử dụng chip Atmega328 Nó có 14 chân digital I/O, chân đầu vào (input) analog, thạch anh dao động 16Mhz Một số thông số kỹ thuật sau : Chip ATmega328 Điện áp cấp nguồn 5V Điện áp đầu vào (input) (kiến nghị ) Điện áp đầu vào(giới hạn) Số chân Digital I/O 7-12V 6-20V 14 (có chân điều chế độ rộng xung PWM) NHÓM SINH VIÊN NGHIÊN CỨU Số chân Analog (Input ) DC Current per I/O Pin 40 mA DC Current for 3.3V Pin 50 mA 32KB (ATmega328) với Flash Memory 05KB sử dụng bootloader SRAM KB (ATmega328) EEPROM KB (ATmega328) Xung nhịp 16 MHz 2.1 Sơ đồ chân Arduino Hình 1: Arduino Uno a)USB (1) Arduino sử dụng cáp USB để giao tiếp với máy tính Thông qua cáp USB Upload chương trình cho Arduino hoạt động, USB nguồn cho Arduino NHÓM SINH VIÊN NGHIÊN CỨU b) Nguồn ( ) Khi không sử dụng USB làm nguồn sử dụng nguồn thông qua jack cắm 2.1mm ( cực dương giửa ) sử dụng chân Vin GND để cấp nguồn cho Arduino Bo mạch hoạt động với nguồn điện áp từ – 20 volt Chúng ta cấp áp lớn nhiên chân 5V có mực điện áp lớn volt Và sử dụng nguồn lớn 12 volt có tượng nóng làm hỏng bo mạch Khuyết cáo bạn nên dùng nguồn ổn định đến 12 volt Chân 5V chân 3.3V (Output voltage) : chân dùng để lấy nguồn từ nguồn mà cung cấp cho Arduino Lưu ý : không cấp nguồn vào chân làm hỏng Arduino GND: chân mass c) Chip Atmega328 Chip Atmega328 Có 32K nhớ flash 0.5k sử dụng cho bootloader Ngoài có 2K SRAM, 1K EEPROM d) Input Output ( 4, 6) Arduino Uno có 14 chân digital với chức input output sử dụng hàm pinMode(), digitalWrite() digitalRead() để điều khiển chân đề cập chúng phần sau Cũng 14 chân digital số chân chức là: Serial : chân (Rx ), chân ( Tx) Hai chân dùng để truyền (Tx) nhận (Rx) liêu nối tiếp TTL Chúng ta sử dụng để giao tiếp với cổng COM số thiết bị linh kiện có chuẩn giao tiếp nối tiếp PWM (pulse width modulation): chân 3, 5, 6, 9, 10, 11 bo mạch có dấu “~” chân PWM sử dụng để điều khiển tốc độ động cơ, độ sáng đèn…SPI : 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK), chân hỗ trợ giao chuẩn SPI.I2C: Arduino hỗ trợ giao chuẩn I2C Các chân A4 (SDA) A5 (SCL) cho phép chúng tao giao tiếp giửa Arduino với linh kiện có NHÓM SINH VIÊN NGHIÊN CỨU chuẩn giao tiếp I2C e) Reset (7):dùng để reset Arduino 2.2 Tổng quan phát sóng không dây RF Trong phiên truyền thông, tận chất liệu bao gồm bit 1, bên phát liệu cần có cách thức để gửi bit để gửi cho bên nhận Một tín hiệu xoay chiều hay chiều tự không thực tác vụ Tuy nhiên, tín hiệu có thay đổi dao động, dù ít, thay đổi giúp phân biệt bit bit Lúc đó, liệu cần truyền gửi nhận thành công dựa vào thay đổi tín hiệu Dạng tín hiệu điều chế gọi sóng mang (carrier signal) Có ba thành phần dạng sóng thay đổi để tạo sóng mang, biên độ, tần số pha Tất dạng truyền thông dùng sóng vô tuyến dùng vài dạng điều chế để truyền liệu Để mã hóa liệu vào tín hiệu gửi qua sóng AM/FM, điện thoại di động, truyền hình vệ tinh, ta phải thực vài kiểu điều chế sóng vô tuyến truyền 2.2.1 Biên độ bước sóng Truyền thông vô tuyến bắt đầu sóng vô tuyến tạo từ máy phát gửi đến máy nhận vị trí khác Sóng vô tuyến tương tự sóng mà bạn hay gặp biển, hồ, sông, suối Sóng có hai thành phần chính: biên độ bước sóng Biên độ chiều cao, độ mạnh công suất sóng Bước sóng khoảng cách hai điểm tương tự hai đỉnh sóng liên tiếp Biên độ tần số hai thuộc tính sóng NHÓM SINH VIÊN NGHIÊN CỨU 2.2.2 Bức xạ điện từ Đầu tiên ta xét đến sóng điện từ Bức xạ điện từ bao gồm sóng radio, vi ba, hồng ngoại, ánh sáng khả kiến, tia cực tím, tia X, tia gamma Tất chúng truyền với vận tốc ánh sáng c = 3x108 m/s tạo phổ điện từ Sự khác loại sóng điện từ phụ thuộc vào bước sóng thứ gọi bước sóng liên quan trực tiếp đến lượng sóng (bước sóng nhỏ lượng cao) 2.2.3 Pha Pha thuật ngữ mang tính tương đối Nó mối quan hệ hai sóng có tần số Để xác định pha, bước sóng chia thành 360 phần, gọi độ 2.2.4 Các phương thức điều chế Để liệu truyền, tín hiệu phải xử lý cho bên máy nhận có cách để phân biệt bit Phương pháp xử lý tín hiệu cho tượng trưng cho nhiều mẫu liệu gọi điều chế Phương thức biến tín hiệu vào sóng mang Phương thức mã hóa liệu cho truyền Có ba kiểu điều chế: điều biên, điều tần điều pha 2.2.5 Mã hóa bit Mã hóa bit trình chuyển đổi dãy bit (1- 0) sang tín hiệu thích hợp để truyền dẫn môi trường vật lý Việc chuyển đổi sử dụng tham số thông tin thích hợp để mã hóa dãy bit cần truyền tải Các tham số thông tin chứa đựng biên độ, tần số, pha sườn xung, v.v Sự thích hợp phải đánh giá dựa theo yêu cầu kỹ thuật khả chống nhiểu gây nhiểu, khả đồng hóa triệt tiêu dòng chiều a Các phương pháp mã hóa tín hiệu Việc tạo mã để có tín hiệu hệ thống số thực cách đơn giản gán giá trị điện cho trạng thái logic giá trị khác cho mức logic lại Tuy nhiên để sử dụng mã cách có hiệu quả, việc tạo mã phải dựa vào số NHÓM SINH VIÊN NGHIÊN CỨU 10 tính chất sau.(Phổ tần tín hiệu, đồng bộ, khả dò sai, tính miễn nhiễu giao thoa, mức độ phức tạp giá thành hệ thống) b Các dạng mã phổ biến Dưới giới thiệu số dạng mã thông dụng sử dụng cho mục đích khác tùy vào yêu cầu cụ thể tính chất nói hình 2.2.6 Giới thiệu mã Manchester Mã hóa Manchester phương pháp mã hóa bit liệu sử dụng việc Hình 2: số dạng mã thông dụng Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ Đại học Đà Nẵng năm 2010 90 truyền tín hiệu dạng số Đây phương pháp mã hóa bit liệu 1,0 thành chuổi tín hiệu có mức tín hiệu thay đổi liên tục dù dãy bit liệu liên tiếp Do đó, ưu điểm mã hóa Manchester dễ dàng tạo tự đồng bên phát bên nhận Trong lĩnh vực truyền thông điều khiển sử dụng vi điều khiển, mã Manchester dễ thực để lập trình với khả phát lỗi phát có vi phạm mã Đây phương pháp sử dụng rộng rãi lĩnh vực truyền thông vô tuyến, hữu tuyến, Ethernet,… 2.2.7 Mạch phát RF Thường dùng loại module phát OOK(On/Off keyring) ASK(Điều biên) để chuyển tín hiệu dạng số1-0 thành trạng thái có tín hiệu phần mạch thu 2.2.8 Mạch thu RF NHÓM SINH VIÊN NGHIÊN CỨU 11 Sử dụng để thu lại tín hiệu từ mạch phát, biến trạng thái phát hay không phát thành dạng số Nguyên tắc mạch thu rảnh không nhận liệu từ mạch phát mạch thu tín hiệu nhiễu môi trường làm cho output có tín hiệu 1, không xác định Hoặc trình phát có chuỗi dài bit liên tục NHÓM SINH VIÊN NGHIÊN CỨU 12 Chương III: Tổng quan động SERVO cho cánh tay robot Khái niệm Servo RC servo loại động điện đặc biệt có khả quay cấu chấp hành tới vị trí xác giữ cứng vị trí cấu chấp hành bị đẩy trở lại Dải góc quay chuẩn đầu trục thường là 90 180 độ Trên thị trường giới có nhiều loại servo khác nhiều nước sản xuất Có nhiều cách phân loại servo: Phân loại nguồn cấp: có servo chiều, servo xoay chiều pha, servo xoay chiều pha.Phân loại vật liệu làm hộp giảm tốc có: composit, kim loại, hợp kim Về phương pháp điều khiển, servo có hai loại bản: analog digital.Bề khác bản, phần bên không phân biệt nhiều ngoại trừ vài phần điện tử, digital servo có vi xử lý Để hoạt động servo cần dây: dây nguồn, dây nối đất dây tín hiệu.Thứ tự dây màu sắc khác Dây đỏ thường dây cấp nguồn (thường 5V), dây nối đất dây màu đen dây tín hiệu vào thường màu vàng (kiểu S) màu trắng Với loại servo khác, màu sắc thay đổi NHÓM SINH VIÊN NGHIÊN CỨU 13 Các phần servo Các thành phần chính: - Động chiều (motor) - Biến trở ( potentiometer) - Hộp giảm tốc (gear box) - Mạch điều khiển ( Electronic board) - Vỏ (cover) - Dây tín hiệu ( signal wire) Hình phần bên servo Một động DC nhỏ nối với trục đầu thông qua hộp số giảm tốc Công suất động P=kwG, k số, w số vòng phút (rpm) G moment xoắn Nếu P không đổi việc giảm vận tốc làm tăng lực xoắn trục đầu Động điều khiển mạch điện tử Vị trí yêu cầu tín hiệu vào, biến trở trục đưa phản hồi vị trí (Ưu điểm servo biến trở nối với trục nên vị trí trục kiểm soát giá trị biến trở) Cơ cấu chấp hành, thường gọi cần, có rãnh NHÓM SINH VIÊN NGHIÊN CỨU 14 then hoa ăn khớp với rãnh then hoa đầu trục Các rãnh giúp cần không bị trượt có moment xoắn Có ốc vít gắn cần chặt vào trục Cần có nhiều dạng: cánh tay, thanh, đĩa… Tín hiệu điều khiển Để điều khiển servo quay theo góc cố định chip điều khiển phải phát xung với độ rộng từ 1ms đến 2ms Trên hình bên mô tả tín hiệu điều khiển này: 1ms ứng với góc quay nhỏ -900 2ms ứng với góc quay lớn servo 900 nên góc quay 00 ứng với độ rộng xung 1,5 ms Phương pháp phát tín hiệu điều khiển phương pháp điều khiển độ rộng xung (Pulse Width Modulated-PWM), hình Đối với servo analog, xung biến đổi khoảng 20ms cho tần số 50Hz Servo digital sử dụng điều khiển độ rộng xung tần số lên tới 300Hz Tronghình độ rộng xung phổ biến, người ta sử dụng độ rộng khác bạn nên kiểm tra thông số cụ thể nhà sản xuất NHÓM SINH VIÊN NGHIÊN CỨU 15 Chương IV: Thiếtkế khớp nối linh hoạt cân phần mềm Corel Draw Khái niệm tính ứng dụng Corel CorelDraw phần mềm thiếtkế đồ họa phổ biến giúp công việc thiếtkế tác phẩm mang tính thẩm mỹ để ứng dụng sống Đó thiếtkế dùng ngành quảng cáo, tạo dáng, thời trang, ấn phẩm báo chí.v.v Là phần mềm thông dụng dễ sử dụng người bắt đầu làm quen với việc thiếtkế mỹ thuật máy vi tính, CorelDraw dễ sử dụng với giao diện thân thiện, tính công cụ đa dạng phong phú, giúp người sử dụng tìm cách thể khác phù hợp với nội dung mà mong muốn Phần mềm corel Draw cho thiếtkế cánh tay robot hỉnh ảnh thực tế 2.1 Phần mềm corel Draw cho thiếtkế cánh tay robot NHÓM SINH VIÊN NGHIÊN CỨU 16 2.2 Hình ảnh thực tế NHÓM SINH VIÊN NGHIÊN CỨU 17 Chương V: Chương trình thiếtkếmôhình thực tế cánh tay robot Sơ đồ thuật toàn mạch điều khiển chương trình code 1.1 Sơ đồ thuật toán 1.2 Code chương trình #include Servo myservo; NHÓM SINH VIÊN NGHIÊN CỨU 18 const int Tien = 2; const int Lui = 3; int buttonTien ; int buttonLui ; int pos = 0; Servo myservoi; const int Len = 0; const int Xuong = 1; int buttonLen ; int buttonXuong ; int post = 0; Servo myservoiu; const int Trai = 12; const int Phai = 13; int buttonTrai ; int buttonPhai ; int posto = 0; Servo myservoiut; const int Mo = 4; const int Khep = 5; int buttonMo ; int buttonKhep ; int postoi = 0; void setup(){ NHÓM SINH VIÊN NGHIÊN CỨU 19 myservo.attach(9); pinMode(Tien, INPUT_PULLUP); pinMode(Lui , INPUT_PULLUP); myservoi.attach(11); pinMode(Len, INPUT_PULLUP); pinMode(Xuong , INPUT_PULLUP); myservoiu.attach(10); pinMode(Trai, INPUT_PULLUP); pinMode(Phai , INPUT_PULLUP); myservoiut.attach(6); pinMode(Mo, INPUT_PULLUP); pinMode(Khep , INPUT_PULLUP); } void loop(){ buttonTien = digitalRead(Tien); buttonLui = digitalRead(Lui); if(buttonTien==0&&buttonLui==1) {pos=pos+1; if(pos==180)pos=180; delay(1); myservo.write(pos); }else{ myservo.write(pos);} if(buttonLui==0&&buttonTien==1) NHÓM SINH VIÊN NGHIÊN CỨU 20 {pos=pos-1; if(pos==0)pos=0; delay(1); myservo.write(pos); }else{ myservo.write(pos);} ///// buttonLen = digitalRead(Len); buttonXuong = digitalRead(Xuong); if(buttonLen==0&&buttonXuong==1) {post=post+1; if(post==180)post=180; delay(1); myservoi.write(post); }else{ myservoi.write(post); } if(buttonXuong==0&&buttonLen==1) {post=post-1; if(post==0)post=0; delay(1); myservoi.write(post); }else{ myservoi.write(post);} NHÓM SINH VIÊN NGHIÊN CỨU 21 ////// buttonTrai = digitalRead(Trai); buttonPhai = digitalRead(Phai); if(buttonTrai==0&&buttonPhai==1) {posto=posto+1; if(posto==180)posto=180; delay(1); myservoiu.write(posto); }else{ myservoiu.write(posto); } if(buttonXuong==0&&buttonLen==1) {posto=posto-1; if(posto==0)posto=0; delay(1); myservoiu.write(posto); }else{ myservoiu.write(posto); } buttonMo = digitalRead(Mo); buttonKhep = digitalRead(Khep); if(buttonMo==0&&buttonKhep==1) {postoi=postoi+1; if(postoi==180)postoi=180; NHÓM SINH VIÊN NGHIÊN CỨU 22 delay(1); myservoiut.write(postoi); }else{ myservoiut.write(postoi);} if(buttonKhep==0&&buttonMo==1) {postoi=postoi-1; if(postoi==0)postoi=0; delay(1); myservoiut.write(postoi); }else{ myservoiut.write(postoi); }} Mô mạch thực tế 2.1 Mô proteus NHÓM SINH VIÊN NGHIÊN CỨU 23 2.2 Mạch thực tế NHÓM SINH VIÊN NGHIÊN CỨU 24 Kết luận hướng phát triển đề tài Sản phẩm thực tế đáp ứng yêu cầu đề ra, điều khiển với độ xác cao Nhóm nghiên cứu đề xuất tiếp tục nghiên cứu tạo sản phẩm công nghệ cao phù hợp toán phức tạp Tập trung thiếtkế chế tạo nhiều loại cánh tay robot thông minh với tình thực dụng cao, giá rẻ , đơn giản chuyên dụng cho dòng công việc cụ thể sống sản xuất công nghiệp NHÓM SINH VIÊN NGHIÊN CỨU ... pinMode(Len, INPUT_PULLUP); pinMode(Xuong , INPUT_PULLUP); myservoiu.attach(10); pinMode(Trai, INPUT_PULLUP); pinMode(Phai , INPUT_PULLUP); myservoiut.attach(6); pinMode (Mo, INPUT_PULLUP); pinMode(Khep... const int Mo = 4; const int Khep = 5; int buttonMo ; int buttonKhep ; int postoi = 0; void setup(){ NHÓM SINH VIÊN NGHIÊN CỨU 19 myservo.attach(9); pinMode(Tien, INPUT_PULLUP); pinMode(Lui ,... delay(1); myservoiu.write(posto); }else{ myservoiu.write(posto); } buttonMo = digitalRead (Mo) ; buttonKhep = digitalRead(Khep); if(buttonMo==0&&buttonKhep==1) {postoi=postoi+1; if(postoi==180)postoi=180;