1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

NGHIÊN cứu, THIẾT kế và CHẾ tạo ROBOT ĐÁNH cầu LÔNG

90 1K 11

Đ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

Thông tin cơ bản

Định dạng
Số trang 90
Dung lượng 11,19 MB

Nội dung

MỤC LỤC DANH MỤC HÌNH ẢNH Hình 1.1: Robot Beagle[8] Hình 2.1: Robot đánh cầu lông nhà khoa học Bỉ chế tạo [8] Hình 2.2: Robot phát cầu lông bạn Thành chế tạo[8] Hình 3.1: Sơ đồ khối hệ thống Hình 3.2: Vị trí bánh omni Hình 3.3: Di chuyển quay vòng bên trái Hình 3.4: Di chuyển thẳng phía trước Hình 3.5: Di chuyển thẳng phía sau Hình 3.6: Di chuyển thẳng sang bên phải Hình 3.7: Di chuyển thẳng sang bên trái Hình 3.8: Di chuyển chéo xuống góc bên phải Hình 3.9: Di chuyển chéo xuống góc bên trái Hình 3.10: Di chuyển chéo lên góc bên phải Hình 3.11: Di chuyển chéo lên góc bên trái Hình 3.12: Di chuyển quay vòng bên phải Hình 3.13: Thứ tự chân tay PS2 Hình 3.14: Kết nối Tay PS với VĐK Hình 3.15: Mạch Driver cách ghép nối Hình 4.1: Bản vẽ khung robot Hình 4.2: Đế chuyển động bánh Hình 4.3: Bánh buli Hình 4.4: Cụm phát Hình 4.5: Cụm phát Hình 4.1: Bản vẽ khung robot Hình 4.2: Đế chuyển động bánh Hình 4.3: Bánh buli Hình 4.4: Cụm phát Hình 4.5: Cụm phát Hình 4.6: Khối mạch ĐK động Hình 4.7: Khối Encoder Hình 4.8: Khối giao tiếp ngoại vi Hình 4.9: Khối LCD Hình 4.10: Pin MCU với Mother Board Hình 4.12: Mạch nguyên lý mạch điều khiển van khí Hình 4.13: Mạch in mạch điều khiển van khí Hình 4.14: Mô mạch 3D Hình 4.15: Mạch nguyên lý toàn hệ thống điều khiển Hình 4.16: Mạch in Mother board Hình 4.17: Hình ảnh 3d Mother Board (a: mặt trước, b: mặt sau) Hình 4.18: Bánh Omni Hình 4.19 a: Toàn thể Robot (mặt trước) Hình 4.19 b: Toàn thể Robot (mặt sau) Hình 4.20: Cơ cấu đỡ cầu Hình 4.21: Cơ cấu phát cầu thấp Hình 4.22: Cơ cấu phát cầu cao Hình 4.23: Kit stm32F4 discover (mặt trước) Hình 4.24: Kit stm32F4 discover (mặt sau) Hình 4.25: Mạch Mother Board (mặt trước) Hình 4.26: Mạch Mother Board (mặt sau) Hình 4.27: Mạch Driver (mặt trước) Hình 4.28: Mạch Driver (mặt sau) Hình 4.29: Mạch van khí (mặt trước) Hình 4.30: Mạch van khí (mặt sau) Hình 4.31: Toàn hệ thống điều khiển LỜI NÓI ĐẦU Từ xa xưa khát vọng chinh phục tự nhiên thúc người tìm tòi, nghiên cứu khoa học Đến người đạt thành tựu khoa học to lớn nhiều lĩnh vực, kể chinh phục khoảng không gian mà giới hạn người không cho phép, việc chế tạo robot thông minh hoạt động cách độc lập linh hoạt môi trường khắc nghiệt, nguy hiểm Là sinh viên học khối kỹ thuật nói chung ngành điện tử nói riêng, học thừa hưởng kiến thức khoa học mà hệ trước để lại, việc phải nắm vững kiến thức lý thuyết có sẵn, sinh viên kỹ thuật phải đưa kiến thức vào thực tiễn thông qua việc tự tạo mô hình khoa học có khả ứng dụng vào thực tiễn Vì đồ án tốt nghiệp hội tốt cho chúng em sử dụng kiến thức học trường biết khai thác mạnh thân Có thể nói robot thành tựu Cơ Điện Tử xuất từ sớm có thay đổi mạnh mẽ, thông minh hơn, linh hoạt hơn, xác Bên cạnh việc ứng dụng công nghệ không dây vào việc truyền nhận thông tin người điều khiển robot giúp cho Robot hoạt động có hiệu nhờ điều khiển trực tiếp từ người tình bất ngờ mà thân xử lý được, mang đến an toàn cho người điều khiển môi trường công việc nguy hiểm.Từ chúng em chọn đề tài: “NGHIÊN CỨU, THIẾT KẾ CHẾ TẠO ROBOT ĐÁNH CẦU LÔNG” cho đồ án tốt nghiệp Tuy cố gắng tìm tòi, nghiên cứu sử dụng kiến thức thân hạn chế mặt kiến thức khoa học robot lại rộng lớn nên chúng em tránh thiếu sót hay mặt công nghệ lạc hậu Vì chúng em mong bảo tận tình thầy khoa giúp chúng em bổ sung nắm vững vốn kiến thức Chúng em xin cảm ơn hướng dẫn tận tình giảng vên hướng dẫn Ths Nguyễn Văn Trường thầy khoa khí giúp chúng em hoàn thành đồ án Hà Nội, ngày tháng năm 2015 Sinh viên thực hiện: Đỗ Hồng Quân Dương Thái Sơn Phan Văn Nghiêm CHƯƠNG 1: GIỚI THIỆU CHUNG 1.1 Giới thiệu chung Một bước di chuyển ngắn Robot đồng nghĩa với bước phát triển lớn tri thức nhân loại, sáng tạo robot niềm vinh hạnh người [1] Chủng loại robot phong phú, chúng thực nhiều chức năng: từ thăm dò chinh phục vũ trụ, hỗ trợ thầy thuốc chuẩn đoán bệnh, giúp đỡ người khuyết tật, vận chuyển đồ tham gia vui chơi với trẻ em phục vụ môn thể thao tenis cầu long [2] Các nhà nghiên cứu châu Âu Mỹ phóng nhiều robot lên hỏa, nhắm khám phá thăm dò chinh phục hành tinh Theo kế hoạch định tàu vũ trụ Mars Express châu Âu sau vượt chặng đường 485 triệu km thực tác động cho Robot Beagle tiếp đất hỏa vào đêm noel năm 2003 [3] Về phần mình, NASA cho robot động hạ cánh xuống bề mặt hành tinh đỏ tháng riêng năm 2004 Mục tiêu robot không nhỏ: tìm kiếm dấu vết nước dấu vết sống, tồn hành tinh láng giềng trái đất Nếu vượt qua thử thách này, robot thật thực thám hiểm vũ trụ kỳ diệu [4] Hình 1.1: Robot Beagle[8] Lĩnh vực thứ hai mà robot phát huy tác dụng tích cực hỗ trợ thầy thuốc khám, chuẩn đoán phát bệnh.Robot hỗ trợ người khuyết tật thực thao tác hàng ngày mà họ không làm được.nhóm robot khác có hệ thống máy móc tao khả tự hành cao hơn, giống người hơn: ví dụ oto tự điều khiển, robot thích ứng thăm dò biển hệ thứ 3- loại robot gần giống người Nhóm robot hoạt động địa điểm nguy hiểm mà người không thâm nhập nhà máy điện hạt nhân núi lửa Hiện nay, việc nghiên cứu kỹ thuật robot giai đoạn đầu, có ứng dụng ban đầu thành công.Có thể khẳng định, lĩnh vực công nghệ có triển vọng.trong nhóm robot hỗ trợ, người ta tạo số robot có khả di chuyển tối ưu, gần giống di chuyển người Phòng thí nghiệm tin học, kỹ thuật Robot vi điện tử Montpellier(LIRMM) Pháp chế tạo thành công cung cấp cho nhà phẫu thuật dụng cụ hỗ trợ, thiện thao tác phẫu thuật Ví dụ điển hình dụng cụ robot tách bóc da phẫu thuật ghép da bị bỏng Trên thực tế, thao tác đòi hỏi phải thực xác, phẫu thuật viên thực hoàn hảo, dụng cụ robot LIRMM cung cấp thực tốt Giám đốc trung tâm Nghiên cứu khoa học Quốc gia Pháp đánh giá: “Dụng cụ robot có khả xác định xác vị trí làm việc xác định chuẩn khoảng cách tay mắt phẫu thuật viên Dụng cụ robot giúp phẫu thuật viên không bị run tay tăng tốc thao tác, vi phẫu thuật” Đối với phẫu thuật tim, dụng cụ robot hỗ trợ nhiều: mở lồng ngực xác cho bệnh nhân, tự động thực số nhiệm vụ lặp lặp lại Tại LIRMM, chuyên gia nghiên cứu điều khiển robot thực thao tác khâu tim thao tác thiếu đóng lồng ngực, mà không làm tim ngừng đập Đây thao tác phức tạp đòi hỏi xác cao LIRMM thành công việc chế tạo dụng cụ này, nói kết mỹ mãn Trước đó, LIRMM phối hợp với phòng thí nghiệm kỹ thuật robot Paris (LRP) phòng thí nghiệm kỹ thuật ảnh, mô hình hóa khả nhận biết (TIMC) Uỷ ban Năng Lượng Nguyên Tử Quốc Gia (CEA) Pháp khuôn khổ dự án Robea Gabie Mục tiêu nhiệm vụ yếu Dự án thiết kế “Hệ thống dẫn ảnh toàn ký”, phục vụ phẫu thuật tim Trong lĩnh vực hoàn toàn khác, chuyên gia LIRMM thiết kế robot biết chỉnh sửa đồ mỹ nghệ.Nhờ có hệ robot nghệ nhân có khả nhân đôi giá trị tác phẩm mình.Trong thực tế, có robot dạng sử dụng công nghiệp sản xuất vật phẩm đồng Song, thiết kế sản xuất loại thiết bị không tính đến đường gân sản phẩm, độ sù vật liệu đường nét riêng người sáng tạo sản phẩm Tại đó, nghệ nhân khắc chạm theo cảm giác riêng Các thao tác hiệu chỉnh Robot với mức kích cỡ thực sở mẫu điêu khắc người sáng tạo Viện bảo tang Louvre Paris quan tâm đến loại robot Như vậy, lĩnh vực tinh tế y học mỹ thuật kỹ thuật robot xen vào được.trong tương lai , có loại robot khác có khả thực số hoạt động thay thê hoàn toàn cho người phải đảm nhiệm Để thiết kế loại robot này, nhà nghiên cứu phải có cảm hứng tuyệt vời: sống Một số động vật có khả thích ứng với thay đổi môi trường Do người ta sinh ý tưởng thiết kế robot mô theo số loài vật trung tâm nghiên cứu nhận biết động vật(CRCA) Toulouse nghiên cứu “trí tuệ” loài kiến thông qua robot kiến Kiến robot đưa vào tổ kiến kết giao với loài côn trùng khác.Kiến robot hội nhập xã hội côn trùng có khả gây ảnh hưởng đến định cộng đồng côn trùng Trong khuôn khổ dự án Châu Âu Leurre, mà CRCA tham gia, nhà nghiên cứu Pháp thực nghiên cứu mô rán robot Nhánh kỹ thuật robot tạo hệ robot chắn, linh hoạt, hiệu suất cao giá rẻ Trong tương lai gần, robot động vật tạo khả lĩnh vực thám hiểm vùng lãnh thổ biết đến 1.2 Mục đích nghiên cứu đề tài Mục đích nghiên cứu đề tài: • Vận dung kiến thức học vào thực tế + Bài toán di chuyển robot + Lập trình cho robot + Thiết kế mạch điện tử + Thiết kế khí, tính toán cấu robot + Chế tạo hoàn chỉnh robot • • Robot có khả tham gia thi đấu sân thi đấu cầu lông Robot phát đỡ cầu hiệu giúp nâng cao kĩ cho người • tập đánh cầu lông Tạo hướng dẫn sử dụng ứng dụng chip ARM 1.3 Phương pháp nghiên cứu Robot đánh cầu lông sản phẩm điện tử phát triển lĩnh vực thể thao, nên trình làm đồ án, nhóm thực phương pháp nghiên cứu sau: - Nghiên cứu mô hình sản phẩm có sẵn áp dụng vào thực tế, kết cấu, chức robot Từ áp dụng để thiết kế giới - hạn đề tài Áp dụng phương pháp luận thiết kế điện tử vào thiết kế robot, cụ thể là: + Thiết kế đồng thời + Mô hình hóa mô phần khí, phần điện, giả định phương án điều khiển, tối ưu hóa trước hoàn thiện thiết kế trước chế tạo 1.4 Phạm vi giới hạn nghiên cứu Robot đánh cầu lông đa dạng nhiều ý tưởng khác Tuy nhiên phạm vi đề tài tốt nghiệp, với giới hạn thời gian, tài tầm hiểu biết, nhóm chế tạo mô hình robot đánh cầu lông với khả sau: - Thiết kế robot đánh cầu di chuyển linh hoạt sân thi đấu Robot có khả phát phát cầu bổng cầu thấp với tốc độ cầu nhanh - Robot có khả bắt cầu đối phương với tầm bao quát rộng trả cầu - nhanh, xác Động di chuyển cấu có băm xung, động dùng encoder có độ - xác cao Trên robot có hệ thống cảm biến giúp tăng khả đỡ cầu xác Nghiên cứu ứng dụng kit ARM, tạo thư viện hướng dẫn sử dụng lập trình chíp ARM CHƯƠNG 2: TỔNG QUAN VỀ ROBOT ĐÁNH CẦU LÔNG 2.1 Giới thiệu chung robot đánh cầu lông Robot đánh cầu lông loại robot dùng thể thao để giúp người tập rèn luyện kỹ đánh nhanh nâng cao trình độ đánh cầu với thiết kế vượt trội robot khung khí vững làm vật liệu Inox có chất lượng cao, di chuyển bánh đa hướng linh hoạt, dễ điều khiển đáp ứng tốt tín hiệu điều khiển người điển khiển Hệ thống mạch điện đáp ứng tốt ổn định, động di chuyển có encoder có độ xác cao Vì robot thay người chơi cầu lông Chỉ cần người chơi robot đánh cầu chơi thoải mái với robot Robot thiết kế nhằm cho lĩnh vực thể thao nên cần phải có độ bền tốt có độ xác cao nhưu tính linh hoạt robot Do robot hoạt động liên tục hàng liền nên cần phải có kết cấu khí bền vững nguồn nuôi cho hệ thông mạch điện phải đủ bền có khả đáp ứng hoạt động liên tục.Và đáp ứng tốt yêu cầu điều khiển đưa Robot đánh cầu lông sử dụng bánh đa hướng di chuyển có độ linh hoạt cao, sử dụng động servo có encoder đảm bào độ xác tốc độ cao.Các cấu phát cầu đỡ cầu truyền động động servo.Vì vậy, toán tính toán động quan trọng thiết kế robot Bên cạnh hệ thống phát cầu đỡ cầu truyền chuyển động từ động qua truyền đai nên tính toán thông số truyền đai quan trọng 2.2 Lịch sử phương hướng phát triển robot đánh cầu lông 2.2.1 Tình hình nghiên cứu nước Cùng với phát triển nhiều loại robot phục vụ cho nhu cầu khác người, robot đánh cầu lông loại robot nhiều nước quan tâm nghiên cứu sản xuất ứng dụng vào thực tế Cùng với phát triển kinh tế, sức khỏe tính trạng người ngày coi trọng Chính thế, điều kiện làm việc độc hại nguy hiểm, robot điều khiển từ xa vượt địa hình sử dụng đến để thay cho người 10 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_25MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_PinAFConfig(GPIOA, GPIO_PinSource5, GPIO_AF_SPI1); //sclk GPIO_PinAFConfig(GPIOA, GPIO_PinSource6, GPIO_AF_SPI1); //MISO GPIO_PinAFConfig(GPIOA, GPIO_PinSource7, GPIO_AF_SPI1); //MOSI GPIO_SetBits(GPIOA, GPIO_Pin_3); //set CS high to deselect PS2 } void SPI_config(void) { SPI_InitTypeDef SPI_InitStructure; SPI_I2S_DeInit(SPI1); // if you want to incease lengh of wire you must incease Prescaler in SPI SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_128; //8MHz/64 = 125000kHz SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge; //sample on second edge (falling) of clock SPI_InitStructure.SPI_CPOL = SPI_CPOL_High; //clock high when idle SPI_InitStructure.SPI_CRCPolynomial = 0; SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; //send bits at a time SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; //full duplex communication SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_LSB; //least significant bit first SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; SPI_InitStructure.SPI_Mode = SPI_Mode_Master; SPI_Init(SPI1, &SPI_InitStructure); SPI_Cmd(SPI1, ENABLE); } void Test_PS2(void) { PS2_send(PS2_InitialPoll, Data,5); 76 Data[3] = ~Data[3]; // if(Select==0) // {} // else if(L==0) // // {} else if(R==0) // // {} else if(Start==0) // // {} else if(Up==0) { run_DC0(0,lui); run_DC1(0,lui); run_DC2(0,tien); run_DC3(0,tien); } else if(Right==0) { run_DC0(0,lui); run_DC1(0,tien); run_DC2(0,tien); run_DC3(0,lui); } else if(Down==0) { run_DC0(0,tien); run_DC1(0,tien); run_DC2(0,lui); run_DC3(0,lui); } else if(Left==0) 77 { run_DC0(0,tien);// run_DC1(0,lui);// run_DC2(0,lui); run_DC3(0,tien); } else if((Up==0)&&(Right==0)) { run_DC0(0,lui); run_DC1(8128,lui); run_DC2(0,tien); run_DC3(8128,lui); } else if((Up==0)&&(Left==0)) { run_DC0(8128,lui); run_DC1(0,lui); run_DC2(8128,lui); run_DC3(0,tien); } else if((Down==0)&&(Right==0)) { run_DC0(8128,lui); run_DC1(0,tien); run_DC2(8128,lui); run_DC3(0,lui); } else if((Down==0)&&(Left==0)) { run_DC0(0,tien); run_DC1(8128,lui); run_DC2(0,lui); 78 run_DC3(8128,lui); } else if((Left!=0)&&(Down!=0)&&(Up!=0)&&(Right! =0)&&(L1!=0)&&(R1!=0)) { run_DC0(8128,lui); run_DC1(8128,lui); run_DC2(8128,lui); run_DC3(8128,lui); } Data[4] = ~Data[4]; if(L2==0) { } else if(R2==0) { delay_ms(300); if(R2==0) { dem++; if(dem==1) GPIO_ResetBits(GPIOD,GPIO_Pin_8); else if(dem==2) {GPIO_SetBits(GPIOD,GPIO_Pin_8);dem=0;} } } else if(L1==0) { run_DC0(7700,tien); run_DC1(7700,tien); 79 run_DC2(7700,tien); run_DC3(7700,tien); } else if(R1==0) { run_DC0(7700,lui); run_DC1(7700,lui); run_DC2(7700,lui); run_DC3(7700,lui); } else if(Tamgiac==0) { GPIO_ResetBits(GPIOD,GPIO_Pin_8); delay_ms(267); GPIO_ResetBits(GPIOB,GPIO_Pin_15); delay_ms(630); GPIO_SetBits(GPIOB,GPIO_Pin_15); GPIO_SetBits(GPIOD,GPIO_Pin_8); } else if(Tron==0) { delay_ms(300); if(Tron==0) { dem++; if(dem==1) GPIO_ResetBits(GPIOB,GPIO_Pin_13); else if(dem==2) {GPIO_SetBits(GPIOB,GPIO_Pin_13);dem=0;} } } else if(X==0) 80 { GPIO_ResetBits(GPIOB,GPIO_Pin_13);//Tha cau bong delay_ms(410); GPIO_ResetBits(GPIOB,GPIO_Pin_14);//Dap cau bong delay_ms(930); GPIO_SetBits(GPIOB,GPIO_Pin_14); GPIO_SetBits(GPIOB,GPIO_Pin_13); } else if(Vuong==0) { run_DC0(8128,lui); run_DC1(8128,lui); run_DC2(8128,lui); run_DC3(8128,lui); GPIO_ResetBits(GPIOB,GPIO_Pin_12); delay_ms(630); GPIO_SetBits(GPIOB,GPIO_Pin_12); } else if((Left!=0)&&(Down!=0)&&(Up!=0)&&(Right!=0)&&(L1!=0)&&(R1!=0)) { run_DC0(8128,lui); run_DC1(8128,lui); run_DC2(8128,lui); run_DC3(8128,lui); } delay_us(300); //0.3ms delay } /*void test_analog(unsigned char commands[], unsigned char data[], int length) { 81 int i = 0; GPIO_ResetBits(GPIOA, GPIO_Pin_3); //set CS pin low to select PS2 delay_us(15); //15us delay before sending commands Data[5]=Data[6]=Data[7]=Data[8]=128; for(i = 0; i < length; i = i + 1) { while(SPI_I2S_GetFlagStatus(SPI1, SPI_FLAG_TXE) == RESET){} SPI_I2S_SendData(SPI1, commands[i]); while (SPI_I2S_GetFlagStatus(SPI1, SPI_FLAG_RXNE) == RESET){} data[i] = SPI_I2S_ReceiveData(SPI1); if(data[i]==0x73) { Data[5]=0x00; Data[6]=0x00; Data[7]=0x00; Data[0]=0x00; } delay_us(15); //15us delay before sending next command } GPIO_SetBits(GPIOA, GPIO_Pin_3); //set CS pin high to deselect PS2 Select = Data[3]&0x01; L = (Data[3]&0x02)/2; R = (Data[3]&0x04)/4; Start = (Data[3]&0x08)/8; Up = (Data[3]&0x10)/16; 82 Right = (Data[3]&0x20)/32; Down = (Data[3]&0x40)/64; Left = (Data[3]&0x80)/128; L2 = (Data[4]&0x01); R2 = (Data[4]&0x02)/2; L1 = (Data[4]&0x04)/4; R1 = (Data[4]&0x08)/8; Tamgiac = (Data[4]&0x10)/16; Tron = (Data[4]&0x20)/32; X = (Data[4]&0x40)/64; Vuong = (Data[4]&0x80)/128; // // // lcd_Goto(0,0); printf("[5]=%d",Data[5]); // lcd_Goto(0,8); printf("[6]=%d",Data[6]); // lcd_Goto(1,0); printf("[7]=%d",Data[7]); // lcd_Goto(1,8); printf("[8]= %d",Data[8]); delay_us(300); } */ void EXT_Timer6(void) { RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6, ENABLE); /* Time base configuration */ TIM_TimeBaseStructure.TIM_Prescaler =84-1; TIM_TimeBaseStructure.TIM_Period = 1000-1;//1ms TIM_TimeBaseStructure.TIM_ClockDivision = 0; 83 TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM6, &TIM_TimeBaseStructure); TIM_ITConfig(TIM6,TIM_IT_Update,ENABLE); TIM_Cmd(TIM6, ENABLE); } void delay_ms(u32 nTime) { u32 i; TIM_Cmd(TIM6, ENABLE); for(i =0;i

Ngày đăng: 20/04/2017, 23:12

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w