TỔNG QUAN
Đặt vấn đề
Theo một nghiên cứu, trong 20 năm tới, việc sử dụng robot cá nhân sẽ tương tự như nhu cầu sử dụng máy tính PC hiện nay Robot sẽ trở thành trung tâm của một cuộc cách mạng công nghệ lớn sau Internet Các ứng dụng truyền thống của robot trong các lĩnh vực như công nghiệp, y tế, giáo dục, giải trí và an ninh quốc phòng ngày càng được chú trọng, tạo ra một thị trường dịch vụ đi kèm với robot vô cùng lớn.
Robot là sự kết hợp giữa khoa học và công nghệ, đòi hỏi kiến thức về toán học, cơ học, vật lý, điện tử, lý thuyết điều khiển và khoa học tính toán Để ứng dụng robot hiệu quả, cần hiểu rõ đối tượng mà robot phục vụ, bởi vì đây là sản phẩm có độ phức tạp cao Trong hơn 50 năm qua, robot đã có những tiến bộ vượt bậc, bắt đầu từ những năm 60 khi robot đầu tiên được sử dụng trong công nghiệp để thay thế con người trong các công việc nặng nhọc và nguy hiểm Với nhu cầu ngày càng tăng trong sản xuất phức tạp, robot công nghiệp cần có khả năng thích ứng linh hoạt và thông minh hơn Ngoài ra, sự gia tăng ứng dụng robot trong y tế, chăm sóc sức khỏe, nông nghiệp, đóng tàu, xây dựng, an ninh quốc phòng và gia đình đang thúc đẩy sự phát triển của robot địa hình và robot dịch vụ.
Trong thời gian qua, có nhiều loại Robot được quan tâm, bao gồm tay máy Robot (Robot Manipulators), Robot di động (Mobile Robots), Robot sinh học (Bio-Inspired Robots) và Robot cá nhân (Personal Robots) Tay máy Robot gồm Robot công nghiệp, Robot y tế và Robot trợ giúp người tàn tật Robot di động được nghiên cứu nhiều với các loại như xe tự hành trên mặt đất (AGV), Robot tự hành dưới nước (AUV), Robot tự hành trên không (UAV) và Robot vũ trụ Đối với Robot sinh học, nghiên cứu chủ yếu tập trung vào Robot đi và Robot dáng người.
Bộ môn điện tử công nghiệp y sinh 1 đang nghiên cứu và phát triển các ứng dụng sinh học dưới nước, như robot cá và các cấu trúc chuyển động mô phỏng sinh vật biển.
Trong 25 năm qua, nghiên cứu và phát triển robot tại Việt Nam đã đạt được nhiều tiến bộ đáng kể Nhiều tổ chức trên toàn quốc, như Trung tâm Tự động hóa và Đại học Bách Khoa, đang tiến hành các nghiên cứu cơ bản và ứng dụng liên quan đến robot.
Hà Nội là nơi tập trung nhiều viện nghiên cứu và trường đại học hàng đầu trong lĩnh vực điện tử, tin học và tự động hóa, như Viện Điện tử, Tin học, Tự động hoá thuộc Bộ Công nghệp, Đại học Bách khoa TP.HCM, Viện Khoa học và Công nghệ quân sự, Học viện Kỹ thuật Quân sự, Viện Cơ học, và Viện Công nghệ thông tin thuộc Viện KHCNVN Ngoài ra, Công ty Cổ phần Robot TOSY cũng nổi bật với vai trò là doanh nghiệp thiết kế và chế tạo robot tại Việt Nam, mang đến nhiều sản phẩm ấn tượng trên thị trường quốc tế.
Mặc dù các loại Robot có cấu trúc khác nhau, nhưng nghiên cứu hiện nay chủ yếu tập trung vào ứng dụng dịch vụ và hoạt động trong sản xuất công nghiệp Trong số đó, cánh tay robot sử dụng động cơ bước được ưa chuộng nhất nhờ vào độ chính xác và khả năng chịu tải tốt, có thể thay thế con người trong các công việc như phân loại, lắp ráp, vận chuyển và sắp xếp hàng hóa Mô hình cánh tay robot 3 bậc tự do, điều khiển qua tập lệnh Gcode, đảm bảo độ chính xác cao và tương thích với chuẩn điều khiển máy CNC, cũng như hầu hết các phần mềm điều khiển máy CNC hiện nay Các ứng dụng mở rộng cho cánh tay robot bao gồm máy vẽ, máy khắc laser, máy in 3D và máy phay CNC.
Chính vì những lý do trên, nhóm nghiên cứu đã mạnh dạn nghiên cứu đề tài:
Thiết kế và chế tạo cánh tay robot bằng công nghệ in 3D tập trung vào việc phát triển mô hình cánh tay robot có khả năng điều khiển thông qua tập lệnh gcode chuẩn CNC Quá trình giao tiếp và điều khiển cánh tay robot được thực hiện thông qua phần mềm xuất gcode trên máy tính, giúp nâng cao tính chính xác và hiệu quả trong việc thực hiện các nhiệm vụ tự động hóa.
Mục tiêu nghiên cứu
- Hiểu và thực hiện được qui trình in 3D và lắp ráp cánh tay robot 3 bậc.
- Hiểu và tính toán được tỉ số truyền từ động cơ sang 3 trục cánh tay.
- Khảo sát và tính toán được các phương trình động học nghịch của cánh tay robot
- Hiểu và thực hiện được phương thức giao tiếp, điều khiển cánh tay robot thông qua tập gcode căn bản.
- Thiết kế và lắp ráp mạch điều khiển cánh tay robot sử dụng Arduino và CNC shield:
Lắp ráp CNC shiled với Arduino Uno R3
Lắp ráp driver A4988 điều khiển động cơ bước trên CNC shiled
Kết nối động cơ bước với CNC shiled
Kết nối jump chốt trên CNC shiled cho điều khiển vi bước động cơ
Thiết kế 3 công tắc hành trình cảm biến vị trí gốc tọa độ làm việc cánh tay
Thiêt kế và lắp ráp công cụ vẽ trên đầu cánh tay robot
- Khảo sát và thực hiện được điều khiển cánh tay robot sử dụng phần mềm Gcode sender chuyên dụng trong điều khiển máy CNC mini.
Gcode sender trên google chrome
- Khảo sát các ứng dụng thực tế của cánh tay robot điều khiển bằng chuẩn gcode.
Phương pháp tổng hợp được áp dụng để khảo sát lý thuyết từ các tài liệu và đề tài liên quan đã được nghiên cứu trước đây, giúp rút ra ưu nhược điểm nhằm tối ưu hóa quá trình thực hiện đề tài Thêm vào đó, việc thực nghiệm sản phẩm mẫu và tiến hành kiểm tra, chỉnh sửa thường xuyên sẽ góp phần hoàn thiện mô hình đề tài một cách hiệu quả.
Nội dung nghiên cứu
- In 3D và lắp ráp cánh tay robot 3 trục sử dụng động cơ bước.
- Thiết kế và thi công mạch điều khiển robot qua driver động cơ bước.
- Tìm hiểu tập lệnh Gcode trong CNC công nghiệp.
- Viết chương trình cho vi điều khiển, điều khiển cánh tay robot qua tâp lệnh gcode cơ bản.
- Giao tiếp phần mềm máy tính, điều khiển cánh tay robot thông qua tập lệnh Gcode cơ bản.
- Khảo sát phần mềm xuất Gcode điều khiển cánh tay robot.
- Khảo sát ứng dụng cánh tay robot điều khiển bằng tập lệnh Gcode: vẽ 2D, in 3D, khắc laser, khoan CNC,…
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Y SINH
- Lắp ráp và chạy thử nghiệm hệ thống.
- Cải tiến mô hình sản phẩm.
- Phản biện và bổ sung, chỉnh sửa luận văn.
- Báo cáo đề tài tốt nghiệp.
Giới hạn
- Cánh tay robot loại 3 bậc sử dụng động cơ bước.
- Sử dụng các lệnh Gcode cơ bản.
- Mạch điều khiển sử dụng arduino Uno R3 và CNC shield V3
- Động cơ bước sử dụng động cơ bước size 42
- Kính thước cánh tay robot: 25x25x25cm (chiều dài x chiều rộng x chiều cao)
- Phần mềm mã nguồn mở trên máy tính cho điều khiển cánh tay robot
- Demo ứng dụng vẽ trong tọa độ 3 chiều
Bố cục
Chương này giới thiệu lý do chọn đề tài "Thiết kế và chế tạo cánh tay Robot bằng công nghệ in 3D", nêu rõ mục tiêu nghiên cứu, nội dung chính của dự án, các giới hạn về thông số kỹ thuật và cấu trúc của đồ án.
Chương 2: Cơ Sở Lý Thuyết.
Chương này giới thiệu phần cứng và lựa chọn linh kiện thiết bị cho hệ thống cánh tay robot Nó cung cấp cái nhìn tổng quan về chức năng, thông số kỹ thuật của các linh kiện, cũng như chuẩn giao tiếp được sử dụng, tạo nền tảng cho việc thi công hệ thống thực tế.
Chương 3: Thiết Kế và Tính Toán.
Chương này mô tả sơ đồ khối của hệ thống, giải thích các khối và quy trình hoạt động, đồng thời tính toán các thông số cần thiết cho cánh tay robot Nội dung cũng bao gồm việc trình bày và giải thích sơ đồ nguyên lý, tiếp theo là hướng dẫn thi công hệ thống.
Chương này hướng dẫn các bước triển khai hệ thống, bao gồm thi công phần cứng cho cánh tay robot và mạch điều khiển Nó cũng trình bày cách xây dựng lưu đồ thuật toán cho chương trình điều khiển, đồng thời giới thiệu phương pháp sử dụng phần mềm điều khiển cánh tay robot một cách hiệu quả.
Chương 5: Kết quả, Nhận Xét và Đánh Giá.
Chương này trình bày kết quả đã đạt được, nhận xét đánh giá về hệ thống, hình ảnh thực tế và hoạt động của cánh tay robot.
Chương 6: Kết Luận và Hướng Phát Triển
Trong chương cuối này, chúng tôi tóm tắt những kết luận quan trọng từ quá trình nghiên cứu và thực hiện đề tài, đánh giá khả năng hoạt động thực tế của thiết bị Đồng thời, chúng tôi cũng đưa ra các kiến nghị và đề xuất nhằm phát triển hơn nữa nội dung của đề tài.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Y SINH 5
CƠ SỞ LÝ THUYẾT
Tổng quan về robot
Thuật ngữ "robot" ra đời từ vở kịch "Rossum’s Universal Robot" của nhà soạn kịch người Tiệp Karen Kapek vào năm 1921, với từ "robot" bắt nguồn từ "robota" nghĩa là công việc lao dịch Những robot thực sự có ích trong công nghiệp là các tay máy, bắt đầu từ năm 1948 khi nhà nghiên cứu Goertz chế tạo tay máy điều khiển từ xa đầu tiên Năm 1954, Goertz tiếp tục phát triển tay máy sử dụng động cơ servo, dẫn đến việc General Mills ra mắt tay máy khảo sát đáy biển vào năm 1956 Đến năm 1968, R.S Mosher của General Electric chế tạo thiết bị đi bộ bốn chân nặng 1.400kg Năm 1970, thành tựu đáng kể là xe tự hành Lunokohod 1 được điều khiển từ trái đất, đánh dấu bước tiến lớn trong công nghệ robot.
Năm 1952, máy điều khiển chương trình số đầu tiên ra đời tại Học Viện Công nghệ Massachusetts, Hoa Kỳ Đến năm 1954, George Devol thiết kế robot lập trình đầu tiên với thiết bị chuyển khớp được lập trình của ông Joseph Engelberger, được biết đến là cha đẻ của robot công nghiệp, thành lập Unimation sau khi mua bản quyền thiết bị của Devol và phát triển các thế hệ robot điều khiển theo chương trình Năm 1962, robot Unimation đầu tiên được sử dụng tại General Motors, và năm 1976, cánh tay robot đầu tiên trong không gian được sử dụng trên tàu thám hiểm Viking của NASA để lấy mẫu đất trên sao Hỏa.
Trong hoạt động sản xuất, đa số những Robot công nghiệpcó hình dạng của
Cánh tay cơ khí, thường được gọi là người máy hoặc tay máy, là thuật ngữ phổ biến trong các tài liệu và giáo trình liên quan đến robot.
Công nghệ robot đang ngày càng được áp dụng rộng rãi trong nhiều lĩnh vực, mang lại những thay đổi mạnh mẽ cho nền kinh tế Trong y tế, robot như O-arm giúp thực hiện các ca phẫu thuật cột sống với độ chính xác cao, giảm thiểu rủi ro cho bệnh nhân Trong giáo dục, robot với trí thông minh nhân tạo hỗ trợ việc dạy và học, góp phần vào cuộc cách mạng công nghệ 4.0 Trong sản xuất công nghiệp, nông nghiệp và xây dựng, các robot công nghiệp như cánh tay robot và robot hỗ trợ cấy lúa đang tối ưu hóa quy trình làm việc Trong khoa học vũ trụ, robot thám hiểm không gian giúp con người khám phá các hành tinh và tìm kiếm sự sống ngoài trái đất Việc ứng dụng tự động hóa và trí tuệ nhân tạo trong sản xuất và kinh doanh là xu hướng tất yếu, nâng cao năng suất lao động và chất lượng sản phẩm.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Y SINH 7
Hiện nay, vẫn còn nhiều tranh cãi về tiêu chí xác định một thiết bị có đủ tiêu chuẩn để được gọi là robot Một cách tổng quát, robot cần có một số đặc điểm nhất định, mặc dù không nhất thiết phải đầy đủ tất cả các yếu tố đó.
- Không phải là tự nhiên, tức là do con người sáng tạo ra.
- Có khả năng nhận biết môi trường xung quanh.
- Có thể tương tác với những vật thể trong môi trường.
Công nghệ hiện đại sở hữu trí thông minh nhân tạo, cho phép đưa ra quyết định dựa trên môi trường xung quanh Hệ thống này hoạt động tự động theo các quy trình đã được lập trình sẵn, mang lại hiệu quả và tính chính xác cao trong các ứng dụng khác nhau.
- Có khả năng điều khiển được bằng các lệnh để có thể thay đổi tùy theo yêu cầu của người sử dụng.
- Có thể di chuyển quay hoặc tịnh tiến theo một hay nhiều chiều.
- Có sự khéo léo trong vận động.
Thế giới robot hiện nay rất phong phú và đa dạng, khiến việc phân loại chúng trở nên phức tạp Có nhiều quan điểm phân loại khác nhau, mỗi quan điểm phục vụ mục đích riêng Tuy nhiên, có thể phân loại robot theo ba cách cơ bản: theo kết cấu, theo phương thức điều khiển và theo phạm vi ứng dụng.
Robot được phân loại theo kết cấu hoặc hình học thành các loại như: robot descart, robot trụ, robot cầu, robot SCARA, robot kiểu tay người và nhiều dạng khác.
Hình 2.1: Sơ đồ động học của robot descart
Phân loại theo điều khiển:
Điều khiển hở sử dụng truyền động bước, bao gồm động cơ điện hoặc động cơ thủy lực, khí nén, với quãng đường hoặc góc dịch chuyển tỷ lệ thuận với số xung điều khiển Mặc dù kiểu điều khiển này đơn giản, nhưng độ chính xác của nó thường không cao.
Điều khiển kín, hay còn gọi là điều khiển servo, sử dụng tín hiệu phản hồi vị trí nhằm tăng độ chính xác trong quá trình điều khiển Có hai loại điều khiển servo phổ biến: điều khiển điểm – điểm và điều khiển theo đường (contour).
Kiểu điều khiển điểm – điểm cho phép các robot thực hiện chuyển động nhanh chóng từ điểm này đến điểm khác theo đường thẳng mà không hoạt động liên tục Chúng chỉ hoạt động tại các điểm dừng, điều này rất phù hợp cho các ứng dụng như robot hàn điểm, vận chuyển, tán đinh và bắn đinh.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Y SINH
Điều khiển contour cho phép phần công tác di chuyển theo quỹ đạo tùy ý với tốc độ có thể điều chỉnh Kiểu điều khiển này thường xuất hiện trên các loại robot hàn hồ quang và phun sơn.
Phân loại robot theo ứng dụng bao gồm nhiều loại khác nhau, chẳng hạn như robot công nghiệp, robot phục vụ trong nghiên cứu khoa học, robot được sử dụng trong kỹ thuật vũ trụ và robot trong lĩnh vực quân sự.
Hình 2.4: Robot thám hiểm vũ trụ
Hình 2.5: Robot trong dây chuyền lắp ráp
Hình 2.6: Robot phẫu thuật trong y khoa
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Y SINH 11
Tổng quan về robot công nghiệp
Robot công nghiệp hiện nay chiếm ưu thế trong nhiều lĩnh vực, với thiết kế và chức năng được chuẩn hóa và thương mại hóa rộng rãi Những robot này có những đặc điểm riêng biệt, phù hợp với nhu cầu sản xuất và tự động hóa trong ngành công nghiệp.
Kỹ thuật tự động hoá trong công nghiệp hiện nay đã phát triển vượt bậc, không chỉ tự động hoá các quá trình vật lý mà còn cả các quy trình xử lý thông tin Sự tích hợp này bao gồm công nghệ sản xuất, kỹ thuật điện, điện tử và kỹ thuật điều khiển tự động, trong đó máy tính đóng vai trò quan trọng trong việc nâng cao hiệu quả tự động hoá.
Hiện nay, trong công nghiệp tồn tại 3 dạng tự động hoá:
Tự động hoá cứng là hệ thống được thiết kế dưới dạng thiết bị hoặc dây chuyền chuyên môn hoá cho từng đối tượng cụ thể Nó mang lại hiệu quả cao trong sản xuất hàng loạt, đặc biệt là khi cần sản xuất một khối lượng lớn sản phẩm đồng loại.
Tự động hóa khả trình chủ yếu được ứng dụng trong sản xuất loạt nhỏ và loạt vừa, đáp ứng nhu cầu sản phẩm công nghiệp Hệ thống thiết bị này bao gồm các thiết bị vạn năng điều khiển số, cho phép lập trình lại một cách dễ dàng để thay đổi chủng loại và quy trình công nghệ sản xuất sản phẩm.
Tự động hoá linh hoạt là một hình thức phát triển của tự động hóa khả trình, kết hợp công nghệ sản xuất với kỹ thuật điều khiển máy tính Nó cho phép thay đổi đối tượng sản xuất với sự can thiệp tối thiểu của con người Tự động hoá linh hoạt được thể hiện qua hai dạng chính: tế bào sản xuất linh hoạt và hệ thống sản xuất linh hoạt.
Robot công nghiệpcó 2 đặc trưng cơ bản:
Thiết bị này là một giải pháp vạn năng, được tự động hóa theo chương trình và có khả năng lập trình lại, cho phép linh hoạt và khéo léo thực hiện nhiều nhiệm vụ khác nhau.
- Được ứng dụng trong những trường hợp mang tính công nghiệp đặc trưng, như vận chuyển và xếp dỡ nguyên vật liệu, lắp ráp, đo lường,…
Robot công nghiệp được định nghĩa bởi Viện nghiên cứu robot của Mỹ, phản ánh hai đặc trưng cơ bản của loại máy móc này, và hiện nay định nghĩa này đang được sử dụng phổ biến trong ngành công nghiệp.
Robot công nghiệp là một loại tay máy đa năng, hoạt động theo chương trình đã được lập trình và có khả năng lập trình lại Chúng giúp nâng cao hiệu quả trong việc thực hiện các nhiệm vụ khác nhau trong ngành công nghiệp, bao gồm vận chuyển nguyên vật liệu, chi tiết, dụng cụ và các thiết bị chuyên dụng khác.
Robot công nghiệp là thiết bị tự động, có thể cố định hoặc di động, được trang bị tay máy với nhiều bậc tự do hoạt động Chúng được điều khiển theo chương trình và có khả năng tái lập trình để thực hiện các chức năng vận động và điều khiển trong quy trình sản xuất.
Chức năng vận động của robot bao gồm các hoạt động cơ bắp như vận chuyển, định hướng, xếp đặt, gá kẹp và lắp ráp đối tượng Trong khi đó, chức năng điều khiển của robot thể hiện vai trò của nó như một phương tiện điều hành sản xuất, bao gồm việc cung cấp dụng cụ và vật liệu, phân loại và phân phối sản phẩm, duy trì nhịp sản xuất và điều khiển các thiết bị liên quan.
Robot công nghiệp với khả năng lập trình lại đang trở thành phần quan trọng trong các hệ thống sản xuất linh hoạt, đóng vai trò thiết yếu trong việc tự động hóa quy trình sản xuất.
2.2.2 Cấu trúc cơ bản của Robot công nghiệp
Một robot công nghiệp được cấu thành bởi các hệ thống sau:
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Y SINH 13
Hình 2.7: Sơ đồ khối robot công nghiệp
Tay máy là một cơ cấu cơ khí bao gồm các khâu và khớp, tạo thành cánh tay để thực hiện các chuyển động cơ bản Cổ tay mang lại sự khéo léo và linh hoạt, trong khi bàn tay thực hiện các thao tác trực tiếp trên đối tượng.
Cơ cấu chấp hành đóng vai trò quan trọng trong việc tạo chuyển động cho các khâu của tay máy Nguồn động lực cho các cơ cấu này có thể đến từ nhiều loại động cơ khác nhau, bao gồm động cơ điện, thủy lực, khí nén, hoặc sự kết hợp giữa các loại động cơ này.
Hệ thống cảm biến bao gồm các cảm biến và thiết bị chuyển đổi tín hiệu cần thiết Robot sử dụng hệ thống cảm biến nội bộ để nhận biết trạng thái của các cơ cấu bên trong, đồng thời sử dụng cảm biến bên ngoài để theo dõi tình hình môi trường xung quanh.
- Hệ thống điều khiển hiện nay thường là máy tính để giám sát và điều khiển hoạt động của robot.
Tay máy là thành phần cơ bản, quyết định khả năng hoạt động của robot công nghiệp, cho phép chúng thực hiện các nhiệm vụ như nâng hạ và lắp ráp Ban đầu, tay máy được thiết kế dựa trên cấu trúc và chức năng của tay người, nhưng hiện nay có nhiều kiểu dáng đa dạng, không còn giống tay người nữa Dù vậy, trong lĩnh vực kỹ thuật robot, các thuật ngữ như vai, cánh tay, cổ tay, bàn tay và các khớp vẫn được sử dụng phổ biến.
Trong thiết kế và sử dụng tay máy, người ta quan tâm đến các thông số có ảnh hướng lớn đến khả năng làm việc của chúng, như:
- Sức nâng, độ cứng vững, lực kẹp của tay,…
- Tầm với hay vùng làm việc: kích thước và hình dáng vùng mà phần công tác có thể với tới.
Ngôn ngữ gcode trong ứng dụng cnc
GCode là ngôn ngữ lập trình máy tính quan trọng trong điều khiển số, thường được sử dụng trong máy CNC để tự động hóa quy trình sản xuất Nó giúp điều khiển sự di chuyển của phôi và trục chính, đồng thời cho phép máy CNC nhận thông tin về hướng di chuyển và tốc độ, từ đó tối ưu hóa hiệu suất làm việc.
Ngôn ngữ GCode là công cụ quan trọng trong việc điều khiển máy CNC, giúp cắt bỏ các phần dư thừa trên bề mặt vật thể để tạo ra sản phẩm theo yêu cầu Được biết đến với tên gọi ngôn ngữ lập trình G, GCode cho phép hệ điều hành của máy tự động chuyển đổi các bản vẽ và ngôn ngữ con người thành mã GCode, giúp máy hiểu và thực hiện công việc một cách chính xác.
2.3.2 Các lệnh Gcode lập trình CNC căn bản
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Y SINH 17
Các lệnh Gcode CNC, mặc dù có nguồn gốc từ tiếng Anh, được sử dụng rộng rãi và cài đặt trong các máy CNC tại Việt Nam Một số lệnh G cơ bản trong lập trình CNC mà người dùng cần nắm vững bao gồm:
Bảng 2.1: Tập lệnh G cơ bản
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Y SINH 19
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Y SINH 21
Bảng 2.2: Tập lệnh M cơ bản
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Y SINH 23
Công nghệ in 3d
Công nghệ in 3D là quy trình tự động chuyển đổi các mô hình số hóa thành các mô hình vật lý thông qua máy in 3D, cho phép tạo ra các mẫu thực từ file thiết kế 3D trên máy tính.
Hình 2.9: Máy in 3D Quy trình in 3D:
Mô hình 3D, hay còn gọi là CAD Model Creation, là quá trình mô hình hóa đối tượng thông qua thiết kế hỗ trợ máy tính Các nhà thiết kế sử dụng phần mềm như Solidworks, ProE, Zbrush, và Sketchup để tạo ra mô hình khối 3D Họ có thể chọn sử dụng tập tin CAD có sẵn hoặc tạo mới tùy theo mục đích tạo mẫu Quy trình này tương tự nhau cho tất cả các phương pháp kỹ thuật tạo mẫu nhanh khác nhau.
Chuyển đổi sang định dạng STL (stereolithography) là tiêu chuẩn trong ngành công nghiệp tạo mẫu nhanh, giúp thể hiện vật thể 3D qua các mặt tam giác liên kết với nhau Mặc dù định dạng này cho phép mô phỏng bề mặt trong không gian ba chiều, nhưng nó không thể hiện chính xác bề mặt cong do sử dụng các yếu tố mặt phẳng Việc tăng số lượng mặt tam giác có thể cải thiện độ mịn của bề mặt nhưng cũng làm tăng dung lượng file Đối với các chi tiết lớn và phức tạp, thời gian tiền xử lý sẽ cần được xem xét kỹ lưỡng.
Bộ môn Điện tử Công nghiệp Y sinh yêu cầu thiết kế định dạng STL, trong đó người thiết kế cần cân nhắc giữa thời gian, dung lượng file và độ chính xác để tạo ra một file STL tối ưu nhất.
Cắt file STL là bước quan trọng trong quá trình in 3D, nơi một chương trình tiền xử lý sẽ được sử dụng để chuyển đổi file STL thành định dạng phù hợp Nhiều phần mềm hiện có cho phép người dùng điều chỉnh kích thước, vị trí và hướng của mô hình trước khi in.
- Xác định hướng đặt rất quan trọng với nhiều lý do:
Tính chất của mẫu tạo thành sẽ thay đổi tương đồng với phương hướng giá đặt.
Ví dụ: mẫu sẽ yếu hơn và chính xác không cao theo phương Z so với phương XY.
Để tối ưu hóa thời gian in trong mô hình, cần đặt phương ngắn nhất của vật thể theo hướng Z của thiết bị Việc này giúp giảm số lượng các lớp, từ đó rút ngắn thời gian in hiệu quả.
Mỗi lát cắt (layer) có bề dày dao động từ 0.016mm đến 0.7mm, tùy theo công nghệ.
Chương trình in 3D tạo ra vật liệu hỗ trợ giúp đỡ các mô hình trong quá trình in, đặc biệt cho các tính năng như phần nhô ra không chân, lỗ rỗng bên trong và phần vách mỏng Mỗi nhà sản xuất máy in 3D đều cung cấp phần mềm lập trình riêng để tối ưu hóa quá trình in.
Xây dựng mô hình theo từng lớp là bước quan trọng trong quy trình tạo mẫu nhanh, sử dụng các kỹ thuật khác nhau trong công nghệ chế tạo nhanh (RP techniques).
Hệ thống xây dựng sử dụng các lớp vật liệu như polyme, dung dịch nhựa lỏng, giấy và bột kim loại Quá trình này chủ yếu được tự động hóa, giảm thiểu sự can thiệp của con người.
Làm sạch và kết thúc là bước cuối cùng trong quy trình sản xuất, liên quan đến việc loại bỏ các phần từ phụ trợ Để nâng cao thẩm mỹ của mẫu in 3D, nguyên mẫu cần được làm sạch và xử lý bề mặt thông qua các phương pháp như đánh nhám và sơn phủ.
Hình 2.10: Một số sản phẩm của in 3D
2.5 ĐỘNG HỌC NGHỊCH CÁNH TAY ROBOT 3 BẬC
Trong đề tài này, nhiệm vụ của cánh tay robot là di chuyển trong hệ không gian
Đề tài này nghiên cứu động học nghịch của robot 3 bậc trong không gian 3 chiều với tọa độ x, y, z xác định Để tính toán động học nghịch, thường áp dụng hai phương pháp chính.
- Phương pháp đại số: lập bảng vector
- Phương pháp hình học: dựa vào hình học không gian để tính toán
Mục tiêu của cả hai phương pháp là xác định góc quay của từng trục dựa trên một tọa độ cho trước Đề tài này tập trung vào cánh tay robot 3 bậc với số trục tương đối ít, giúp cho việc hình học hóa mô hình trở nên dễ dàng Do đó, phương pháp hình học được lựa chọn để khảo sát và tính toán động học nghịch của cánh tay robot 3 bậc.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Y SINH 27
Hình 2.11: Mô hình hình học của cánh tay robot 3 bậc
Dưới đây là các bước tính toán các góc chuyển động Ɵ 1 , Ɵ 2 , Ɵ 3 của hệ robot
Trong không gian ba chiều, các tọa độ Px, Py, Pz được sử dụng để xác định ba bậc tự do Để đảm bảo rằng các giá trị góc quay được tính toán chính xác và duy nhất, cần phải chuyển đổi chúng từ hàm arctan2.
Hình 2.12: Phân tích hình học không gian cánh tay robot 3 bậc
Xét ΔOAP x vuông tại Px: Ɵ 1 = arctan2(P y , P x )
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Y SINH 29
Chuẩn truyền dữ liệu nối tiếp – uart
Universal Asynchronous Receive/Transmit (UART) là chuẩn giao tiếp dữ liệu không đồng bộ, nổi bật với tính phổ biến và dễ sử dụng Chuẩn UART thường được áp dụng trong việc giao tiếp giữa các vi điều khiển và các thiết bị khác, giúp tối ưu hóa quá trình truyền nhận dữ liệu.
Tốc độ Baud (baud rate) là một yếu tố quan trọng trong truyền nhận dữ liệu không đồng bộ, giúp hai mô-đun giao tiếp hiệu quả Để đảm bảo sự hiểu biết lẫn nhau, cần thiết lập thời gian cho mỗi bit truyền nhận trước khi bắt đầu quá trình truyền Theo định nghĩa, tốc độ baud được xác định là số bit được truyền trong một giây.
Khung truyền (frame) trong truyền thông nối tiếp rất dễ bị mất dữ liệu, do đó ngoài việc đảm bảo tốc độ, nó còn được thiết lập để giảm thiểu sự mất mát dữ liệu Khung truyền quy định số bit trong mỗi lần truyền, bao gồm các bit báo hiệu như start, stop, các bit kiểm tra như parity, và số bit trong dữ liệu.
Bit Start là bit đầu tiên trong khung truyền, có nhiệm vụ thông báo cho thiết bị nhận biết rằng quá trình truyền dữ liệu đã bắt đầu Trên AVR, bit Start có trạng thái là 0.
Data: Dữ liệu cần truyền Data không nhất thiết phải 8 bit có thể là 5, 6, 7, 8,
9 Trong UART bit LSB được truyền đi trước, Bit MSB được truyền đi sau
Bit parity là một bit được sử dụng để xác định số lượng bit có giá trị 1 trong một nhóm bit, cho biết liệu số lượng này là chẵn hay lẻ Đây là một phương pháp đơn giản để phát hiện lỗi, với parity lẻ được thêm vào để đảm bảo tổng số bit 1 trong dữ liệu cộng với bit parity là số lẻ Việc sử dụng bit parity là tùy chọn và không bắt buộc.
Stop bit: là bit báo cáo kết thúc khung truyền, thường là mức 5v Và có thể có 1 hoặc 2 stop bit.
Giới thiệu phần cứng
Cách phổ biến nhất để điều khiển động cơ bước là sử dụng các IC chuyên dụng như TB6560, TB6600, L297, A4988, DRV8825 và MA860H Việc lựa chọn driver phụ thuộc vào loại và công suất của động cơ cần điều khiển Chẳng hạn, A4988 và DRV8825 thích hợp cho các động cơ nhỏ như trong máy photo hoặc máy in 3D, trong khi TB6560 và TB6600 được sử dụng cho các động cơ lớn hơn, như trong máy CNC mini Đối với động cơ lớn, MA860H thường được sử dụng Trong nghiên cứu này, do mô hình có kích thước trung bình nhỏ, chúng tôi chọn động cơ bước size 42 với 1.8 step và 1.3A, do đó driver A4988 được lựa chọn để điều khiển động cơ này.
A4988 là một bộ điều khiển DMOS nhỏ gọn, tích hợp bộ chuyển đổi và chức năng bảo vệ quá dòng Nó có khả năng điều khiển động cơ bước lưỡng cực với dòng điện tối đa lên đến 2A cho mỗi cuộn dây.
Hình 2.13: Driver A4988 điều khiển động cơ bước
- Dễ dàng điều khiển hướng quay và số bước quay.
- Chế độ điều khiển: full step, haft step, 1/4, 1/8, 1/16.
- Có thể điều chỉnh dòng tối đa thông qua một biến trở cho phép động cơ bước hoạt động với công suất tối đa.
- Ngắt bảo vệ khi quá nhiệt, quá áp và quá dòng.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Y SINH 31
- Dòng liên tục trên mỗi pha: 1A~2A
Với kích thước thiết bị trung bình nhỏ, động cơ bước size 42 1.8 step được lựa chọn để tạo chuyển động hiệu quả Động cơ bước này thường được ứng dụng trong máy in 3D và các loại máy CNC mini như máy phay CNC, máy cắt khắc laser mini, máy laser mini, cùng nhiều ứng dụng khác.
Hình 2.14: Động cơ bước Thông số kỹ thuật:
- Dòng điện tiêu thụ cực đại: 1.3A.
- Loại động cơ bước: 2 pha.
- Điện áp định mức: 4.5-5 VDC.
Trên thị trường hiện nay, có nhiều loại board mạch hỗ trợ ứng dụng CNC trên Arduino với giá thành phải chăng Các module tích hợp sẵn trên Shield có độ bền cao, dễ lắp ráp và thay thế Đề tài này nghiên cứu và phát triển ứng dụng gcode trong việc điều khiển cánh tay robot theo hệ tọa độ không gian.
Thuật toán phức tạp với ba chiều sử dụng nhiều hàm toán học để phân tích chuyển động Lập trình trên Arduino giúp việc lập trình và gỡ lỗi trở nên dễ dàng hơn Do đó, lựa chọn Arduino Uno R3 là sự lựa chọn tối ưu nhất.
Hình 2.15: Board arduino Uno R3 Bảng 2.3: Thông số kĩ thuật arduino Uno R3
Vi điều khiển Điện áp hoạt động
Dòng tiêu thụ Điện áp vào khuyên dùng Điện áp vào giới hạn
Dòng tối đa trên mỗi chân I/O
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Y SINH 33
Arduino CNC Shield V3 là một shield mở rộng cho Arduino Uno, cho phép điều khiển các thiết bị như máy khắc laser, máy phay CNC và máy in 3D mini Shield này hỗ trợ tối đa 4 động cơ bước thông qua driver A4988 hoặc DRV8825, với các jumper cho phép điều chỉnh chế độ điều khiển động cơ bước ở các mức full step, half step, 1/4, 1/8 hoặc 1/16 step Ngoài ra, người dùng có thể gắn thêm các công tắc hành trình cho các trục X, Y, Z, E, cũng như điều khiển đầu khắc CNC, đầu khắc laser và quạt tản nhiệt Việc sử dụng Board CNC Shield V3 là cần thiết cho đồ án này, vì nó tương thích với Arduino Uno R3 và Driver A4988.
Hình 2.16: Board CNC shield v3 Đặc điểm nổi bật:
- Hỗ trợ lên tới 4 trục (trục X, Y, Z và một trục thứ tư tùy chọn)
- Hỗ trợ tới 2 Endstop (cảm biến đầu cuối) cho mỗi trục
- Thiết lập độ phân giải bước động cơ bằng jump đơn giản
- Thiết kế nhỏ gọn, các đầu nối tiêu chuẩn thông dụng
- Điện áp nguồn cấp đa dạng từ 12V tới 36V.
Công tắc hành trình là thiết bị dùng để giới hạn hành trình của các bộ phận chuyển động.
Công tắc hành trình khác với công tắc thông thường ở chỗ không giữ trạng thái cố định; nếu không có tác động nào, công tắc sẽ tự động trở về trạng thái ban đầu.
Công tắc hành trình là một loại công tắc điện thông thường nhưng được trang bị thêm cần tác động Trên thị trường, có nhiều loại công tắc hành trình như dạng gạt, dạng nhấn, dạng kéo và treo, với các chế độ thường đóng hoặc thường mở, cũng như công tắc quang Trong đồ án này, người dùng có thể lựa chọn sử dụng dạng cần gạt hoặc dạng nhấn tùy theo nhu cầu.
Công tắc hành trình là thiết bị quan trọng được sử dụng phổ biến trong nhiều lĩnh vực sản xuất, bao gồm xây dựng, khai thác khoáng sản, khai thác than đá, và các ngành công nghiệp nặng Nó giúp kiểm soát tốc độ và hành trình của thiết bị, đồng thời đảm bảo an toàn trong quá trình vận hành.
Công tắc hành trình được sử dụng để giới hạn hành trình của cơ cấu, ngắt nguồn cung cấp khi cơ cấu chạm vào vị trí công tắc Điều này giúp dừng cơ cấu tại điểm đến chính là ngưỡng giới hạn, ngăn không cho cơ cấu vượt qua vị trí này.
Hình 2.17: Công tắc hành trình
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Y SINH 35
TÍNH TOÁN VÀ THIẾT KẾ
Giới thiệu
Đề tài “Thiết kế và chế tạo cánh tay Robot bằng công nghệ in 3D” tập trung vào việc thiết kế và khảo sát động học nghịch của cánh tay robot 3 bậc Mục tiêu chính là giao tiếp và điều khiển cánh tay robot thông qua tập lệnh gcode theo chuẩn CNC, sử dụng phần mềm trên máy tính Dự án này cho phép điều khiển cánh tay robot di chuyển trong không gian 3 chiều theo các đường thẳng và đường cong, đồng thời tích hợp các chức năng như thay đổi tốc độ di chuyển, trở về vị trí gốc, tạm dừng và hiển thị thông tin hoạt động.
Tính toán và thiết kế hệ thống
3.2.1 Sơ đồ khối hệ thống
Từ các yêu cầu của đề tài thì ta có sơ đồ khối của hệ thống như hình sau:
Hình 3.1: Sơ đồ khối hệ thống
Chức năng các khối trong sơ đồ:
Khối nguồn đóng vai trò quan trọng trong việc cung cấp năng lượng cho toàn bộ hệ thống hoạt động Nguồn nuôi khối điều khiển là 5V, được lấy từ máy tính, trong khi nguồn cung cấp cho động cơ là 12V thông qua CNC shield, với nguồn xung 12V được sử dụng để đảm bảo hiệu suất hoạt động tối ưu.
Khối truyền/nhận Gcode có nhiệm vụ truyền lệnh Gcode và nhận phản hồi từ khối điều khiển Nó có khả năng nhận lệnh Gcode qua tệp tin có đuôi gcode hoặc trực tiếp từ bàn phím người dùng.
- Khối điều khiển: có chức năng tiếp nhận tập lệnh điều khiển gcode, xử lí và tính toán động học nghịch cho cánh tay robot.
- Khối chuyển đổi tín hiệu điều khiển động cơ: có chức năng chuyển đổi tín hiệu điều khiển thành tín hiệu điều khiển động cơ bước.
Khối truyền động có vai trò quan trọng trong việc truyền động từ động cơ đến cánh tay robot, đồng thời cải thiện độ chính xác trong quá trình di chuyển và giảm mô men cho cánh tay.
- Khối cơ cấu chấp hành: là cánh tay robot dạng 3 bậc, có chức năng di chuyển và hoạt động trong hệ tọa độ 3 chiều.
- Khối cảm biến vị trí: có chức năng ảm biến xác định vị trí tọa độ ban đầu của cánh tay (endstop).
3.2.2 Tính toán và thiết kế mạch a Khảo sát khối điều khiển Đây là khối có chức năng tiếp nhận tập lệnh điều khiển gcode, xử lí và tính toán động học nghịch cho cánh tay robot.
Linh kiện của khối: Arduino UNO R3.
Arduino UNO R3 là bo mạch chính và quan trọng nhất trong hệ thống điều khiển, đóng vai trò thiết yếu để các thiết bị hoạt động theo yêu cầu của lập trình viên Nếu thiếu Arduino UNO R3, toàn bộ hệ thống sẽ không thể thực hiện các chức năng mong muốn.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Y SINH 36
Hình 3.3: Sơ đồ chân arduino Uno R3
Hình 3.2: Sơ đồ nguyên lí arduino Uno R3
Arduino UNO R3 có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V.
Vi điều khiển Atmega328 với đặc điểm bộ nhớ:
- 32KB bộ nhớ flash: chứa tập tin lập trình.
- 2KB cho SRAM: chứa các biến được khai báo trong chương trình Khi mất điện, dữ liệu trên SRAM sẽ bị mất.
- 1KB cho EEPROM: thường dùng lưu trữ các dữ liệu cài đặt ban đầu cho hệ hoặc lưu trữ các giá trị muốn giữ lại khi mất nguồn.
Arduino UNO có 14 chân digital để đọc và xuất tín hiệu, hoạt động với 2 mức điện áp là 0V và 5V Mỗi chân có dòng vào/ra tối đa là 40mA và được trang bị các điện trở pull-up từ bên trong vi điều khiển ATmega328.
Một số chân digital có các chức năng đặc biệt như sau:
Chân Serial 0 (RX) và 1 (TX) trên Arduino UNO được sử dụng để truyền (TX) và nhận (RX) dữ liệu TTL Serial, cho phép giao tiếp với các thiết bị khác Kết nối Bluetooth thường được coi là kết nối Serial không dây Nếu không cần giao tiếp Serial, bạn nên tránh sử dụng các chân này.
2 chân này nếu không cần thiết.
Chân PWM trên Arduino, cụ thể là các chân 3, 5, 6, 9, 10 và 11, cho phép xuất xung PWM với độ phân giải 8 bit, tương ứng với giá trị từ 0 đến 255, tạo ra điện áp từ 0V đến 5V Điều này có nghĩa là bạn có thể điều chỉnh điện áp đầu ra ở những chân này một cách linh hoạt, thay vì chỉ có các mức cố định như 0V và 5V như các chân khác.
Chân giao tiếp SPI bao gồm 10 (SS), 11 (MOSI), 12 (MISO) và 13 (SCK) Ngoài việc thực hiện các chức năng thông thường, bốn chân này còn hỗ trợ truyền dữ liệu qua giao thức SPI với các thiết bị khác.
Trên Arduino UNO, có một đèn LED màu cam ký hiệu L, nối với chân số 13 Khi nhấn nút Reset, đèn LED này sẽ nhấp nháy như một tín hiệu thông báo Nếu người dùng sử dụng chân số 13, đèn LED sẽ phát sáng.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Y SINH 38
Arduino UNO có 6 chân analog (A0 → A5) với độ phân giải tín hiệu 10bit, cho phép đọc giá trị điện áp từ 0V đến 5V Bằng cách sử dụng chân AREF trên board, bạn có thể cung cấp điện áp tham chiếu, ví dụ như 2.5V, để đo điện áp trong khoảng từ 0V đến 2.5V mà vẫn giữ độ phân giải 10bit.
- Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác. b Khối truyền nhận Gcode
Phần mềm GcodeSender, cụ thể là Universal Gcode Sender, được phát triển bằng ngôn ngữ Java, cho phép người dùng điều khiển máy phay CNC thông qua việc gửi lệnh G-code và hướng dẫn Universal Gcode Sender tương thích với nhiều hệ điều hành, bao gồm Windows, OS X, Linux và Raspbian.
Universal Gcode Sender sở hữu giao diện người dùng thân thiện, với cửa sổ chính cung cấp thông tin cơ bản về kết nối và trạng thái tổng thể của máy tính trong mô hình gia công ba chiều Giao diện còn bao gồm bảng điều khiển, bảng lệnh và một phần chuyên dụng để điều chỉnh các thông số chính xác.
Universal Gcode Sender là một công cụ mạnh mẽ giúp người dùng loại bỏ các thành phần và cắt vật thể với độ chính xác cao Phần mềm này hỗ trợ chuyển đổi các hồ quang G2 và G3 thành các phân đoạn, đồng thời xóa các khoảng trắng trong dự án Đặc biệt, Universal Gcode Sender còn tích hợp công cụ G-code Visualizer, cho phép kết nối với smartphone và máy tính bảng, gửi thông tin điều khiển và nhận phản hồi từ máy CNC một cách hiệu quả.
Hình 3.4: Phần mềm gcode sender
Các tính năng chính của Universal Gcode Sender:
- Gửi lệnh Gcode tới máy CNC.
- Hỗ trợ hệ điều hành Mac OS, Linux, Window.
- Giao diện người dùng đơn giản.
- Hỗ trợ xuất gcode qua tập tin trên máy tính.
- Tích hợp công cụ G-code Visualizer. c Khối chuyển đổi tín hiệu điều khiển động cơ
Có chức năng chuyển đổi tín hiệu điều khiển thành tín hiệu điều khiển động cơ bước Linh kiện của khối: CNC shield v3 và driver A4988 stepper motor.
Hình 3.5: Sơ đồ chân CNC shield v3
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Y SINH 40
Hình 3.6: Sơ đồ chân driver A4988 điều khiển động cơ bước
Kết nối với vi điều khiển
Để hoạt động hiệu quả, cần cấp điện áp điều khiển từ 3-5.5V vào chân VDD và GND, trong khi nguồn điện cho động cơ từ 8-35V cần được kết nối vào chân VMOT và GND Ngoài ra, các nguồn cung cấp nên có tụ điện đặt gần module và phải đảm bảo cung cấp đủ dòng điện tối đa 4A cho động cơ.
Bảng 3.1: Kết nối jump chốt điều khiển vi bước điều khiển động cơ bước
Hình 3.7: Sơ đồ nguyên lí driver A4988 d Khối truyền động Đây là khối có chức năng truyền động từ động cơ sang cánh tay.
Linh kiện của khối: Step motor size 42 1.8 step và hệ thống bánh răng.
Với step motor 6 dây, ta có sơ đồ như sau:
Hình 3.8: Sơ đồ dây pha động cơ bước
THI CÔNG HỆ THỐNG
Giới thiệu
Trong chương này, nhóm thực hiện thi công mạch theo thiết kế đã lập, bao gồm quá trình in 3D, lắp ráp và kết nối dây giữa các thiết bị trong hệ thống Sau khi hoàn tất, nhóm tiến hành kiểm tra mạch và viết chương trình điều khiển Cuối cùng, nhóm kiểm tra lại mạch để đánh giá hoạt động, tính ổn định và độ chính xác của hệ thống, đồng thời thực hiện các tinh chỉnh cần thiết.
Thi công phần cứng
4.2.1 Thi công cánh tay robot
- In 3D các chi tiết phần cứng
Tiến hành in 3D các chi tiết theo bản thiết kế, với các thông số in như sau:
Độ phân giải 0.2mm (độ dày lớp in)
Nhiệt độ in cho phép: dưới 200 o C
Sau khi hoàn tất việc in 3D, ta được các chi tiết như hình sau:
Hình 4.1: Các chi tiết in 3D của cánh tay robot
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Y SINH
Lắp ghép phần đế cánh tay robot bắt đầu bằng việc kết nối bánh răng lớn nhất, đóng vai trò là phần đế tiếp xúc với mặt đất Các chi tiết được liên kết với nhau bằng ốc vít, và cần chú ý đến độ khít của ốc xiêng qua để đảm bảo rằng phần đế phía trên có thể xoay linh hoạt so với bánh răng bên dưới.
Hình 4.2: Phần đế cánh tay robot
Lắp ghép phần cẳng tay cho cánh tay robot là bước quan trọng, liên quan đến hai trục còn lại của cánh tay Các chi tiết được kết nối bằng ốc vít, vì vậy cần chú ý đến độ khít của ốc để đảm bảo hai trục có thể xoay một cách linh hoạt Để tăng cường khả năng di chuyển, nên sử dụng sáp bôi trơn cho phần trục của cánh tay, giúp cánh tay hoạt động mượt mà hơn.
Hình 4.3: Phần cánh tay của robot
Lắp ghép cánh tay robot với phần đế là quá trình quan trọng, trong đó hai phần được nối với nhau qua một trục kim loại đường kính 3mm Để đảm bảo sự chắc chắn, hai đầu trục được cố định bằng khớp nối trục cùng kích thước Đồng thời, các bánh răng trên cánh tay cũng được lắp vào trục kim loại này Cần chú ý đến độ khít khi cố định hai đầu trục để các thanh nối với trục chuyển động hoạt động một cách trơn tru.
Hình 4.4: Cánh tay robot hoàn chỉnh
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Y SINH
Lắp động cơ bước cho robot là bước quan trọng, bao gồm việc gắn bánh răng cho ba động cơ tương ứng với ba trục của cánh tay robot Cần chú ý đảm bảo trục động cơ khít với bánh răng để tránh tình trạng lỏng lẻo trong quá trình hoạt động Cuối cùng, hãy cố định động cơ vào khung nhựa ở đế để đảm bảo tính ổn định.
Hình 4.5: Động cơ có lắp bánh răng hoàn chỉnh
Sau khi lắp ghép các chi tiết in 3D và 3 động cơ bước, ta được sản phẩm hoàn thiện như hình sau:
Hình 4.6: Cánh tay robot lắp hoàn chỉnh động cơ
4.2.2 Thi công mạch điều khiển
Để kết nối CNC shield với Arduino, bạn chỉ cần cắm các jumper trên CNC shield v3 vào board Arduino Uno R3, vì nó được thiết kế riêng cho dòng board này Ngoài ra, hãy kết nối các jumper vào driver điều khiển để điều khiển vi bước cho động cơ một cách hiệu quả.
Hình 4.7: Lắp CNC shield v3 vào arduino và kết nối jump vi bước
- Kết nối Driver A4988 điều khiển động cơ bước vào CNC shield: Cắm driver A4988 vào CNC shiled Lưu ý chiều driver như hình sau:
Hình 4.8: Lắp driver A4988 vào CNC shield
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Y SINH
Lập trình hệ thống
Hình 4.9: Kết nối động cơ bước, cảm biến vị trí vào CNC shield 4.3 LẬP TRÌNH HỆ THỐNG
Các yêu cầu hệ thống bao gồm:
- Nhận chuổi lệnh gcode qua cổng COM trên máy tính.
- Phân tích chức năng lệnh gcode nhận được.
- Tính toán động học nghịch robot.
- Tính toán tọa độ các điểm theo đường thẳng/đường cong theo lệnh gcode
- Tính toán góc quay động cơ
- Điều khiển động cơ bước quay theo góc mong muốn
- Ghi nhớ tọa độ hiện tại cánh tay robot
- Phản hồi trạng thái đến máy tính
Xây dựng lưu đồ chương trình hệ thống:
Hình 4.10: Lưu đồ chương trình điều khiển
Xây dựng lưu đồ các chương trình con:
- Lưu đồ chương trình con di chuyển cánh tay đến vị trí làm việc gốc
- Lưu đồ chương trình con thực thi các lệnh gcode
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Y SINH 55
Hình 4.11: Lưu đồ chương trình con di chuyển đến vị trí làm việc gốc
Hình 4.12: Lưu đồ chương trình con thực thi lệnh gcode
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Y SINH 57
Giải thích hoạt động chương trình:
Khi khởi động chương trình, hệ thống sẽ thiết lập các thông số ban đầu, bao gồm việc khai báo cổng kết nối serial port và tốc độ truyền dữ liệu qua serial.
Trước khi robot hoạt động, cánh tay của nó cần được định vị chính xác Để xác định tọa độ làm việc ban đầu, hệ thống endstop sử dụng 3 limit switch tương ứng với 3 trục của robot.
- Nhận chuỗi lệnh UART từ cổng COM trên máy tính và tách ra thành các dòng lệnh để xử lí.
- Phân tích tập lệnh gcode trong chuỗi UART và nhận biết chức năng của các lệnh đó.
Quá trình di chuyển và thực hiện các chức năng theo lệnh G-code bao gồm việc tính toán động học nghịch của cánh tay robot, cũng như xác định các tọa độ cần thiết theo đường thẳng hoặc đường cong.
Sau khi hoàn tất các thao tác, khối điều khiển sẽ gửi phản hồi về máy tính Phần mềm chỉ cho phép thực hiện dòng lệnh tiếp theo khi nhận được tín hiệu "ok" qua cổng serial.
- Lặp lại các phần việc trên.
Arduino IDE là phần mềm lập trình mã nguồn mở, dễ dàng sử dụng cho Arduino và các board mạch khác, hỗ trợ đa hệ điều hành như Windows, Mac OS, Linux và Linux cho ARM Phiên bản mới nhất tính đến tháng 01/2019 là Arduino IDE 1.8.8 Phần mềm này tích hợp nhiều công cụ mạnh mẽ như Serial Monitor và Serial Plotter, cho phép giao tiếp với các module WiFi như ESP Hệ thống thư viện phong phú và đa dạng giúp hỗ trợ lập trình và tính toán trên Arduino IDE.
Hình 4.13: Giao diện phần mềm arduino IDE
Trên arduino IDE gồm các vùng chính:
- Vùng hiển thị thông báo
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Y SINH 59
4.3.3 Phần mềm Inkscape tạo file gcode
Inkscape là phần mềm chỉnh sửa ảnh miễn phí, cho phép tạo và chỉnh sửa vector mà không làm giảm chất lượng ảnh khi thay đổi kích thước Phần mềm này rất hữu ích trong các ứng dụng CNC, giúp xuất file gcode cho máy cắt laser và vẽ 2D Inkscape hỗ trợ đa hệ điều hành như Windows, Linux và macOS Phiên bản mới nhất tính đến tháng 01/2019 là 0.92.3, có thể tải về tại link: https://inkscape.org/release/inkscape-0.92.3/.
Hình 4.14: Giao diện phần mềm Inscape trên window
To use Inkscape effectively, you need to add the Gcode library Download the library from the following link: [Download Gcode Library](https://drive.google.com/file/d/1R71k1hO4sV166v6vwJmMRbGXtqQYQJNy/view) After downloading, extract the library folder into the appropriate directory.
\inkscape\share\extensions\. Để tạo file gcode trên Inkscape thực hiện như sau: Vẽ hình ảnh trên tọa độ mong muốn -> Extensions -> Generate Laser Gcode -> J Tech gcode
Tập tin gcode sẽ được tạo ra theo thư mục chỉ định.
4.3.4 Phần mềm gcode sender điều khiển cánh tay robot
Gcode sender là phần mềm mã nguồn mở dành cho điều khiển máy CNC, hỗ trợ nhiều hệ điều hành như Windows, Mac OS, Linux và Raspbian Phiên bản mới nhất là Gcode sender 2.0 Beta (tháng 01/2019), có thể tải tại [đây](https://winder.github.io/ugs_website/download/) Phần mềm tương thích với các firmware CNC phổ biến như GRBL, TinyG, và Smoothie Để sử dụng, máy tính cần cài đặt Java 6, 7 hoặc 8 tùy theo phiên bản Gcode sender Ngoài ra, Gcode sender cũng có sẵn trên ứng dụng Google Chrome, có thể tìm thấy tại [đây](https://chrome.google.com/webstore/detail/gcode-sender/ngncibnakmabjlfpadjagnbdjbhoelom).
Hình 4.15: Giao diện phần mềm gcode sender trên window
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Y SINH 61
Hình 4.16: Giao diện gcode sender trên google chrome app
Sử dụng gcode sender trên google chrome điều khiển cánh tay robot
- Cài đặt các thông số làm việc cho hệ thống
Hình 4.17: Cài đặt thông số làm viêc cho hệ thống
Các thông số làm việc như:
Giới hạn chiều rộng (đơn vị milimet)
Giới hạn chiều dài (đơn vị milimet)
Giới hạn chiều cao (đơn vị milimet)
Tốc độ truyền của cổng COM
Tốc độ làm việc của máy
Hiển thị/không hiển thị các chức năng phụ khác
- Kết nối cổng truyền tín hiệu nối tiếp (Serial COM port) giữa phần mềm và bộ điều khiển
Hình 4.18: Kết nối cổng COM đến gcode sender
Sử dụng các nút nhấn để điều khiển cánh tay robot theo ý muốn, đồng thời nhận thông tin phản hồi từ bộ điều khiển hiển thị trên phần mềm.
Hình 4.19: Các nút nhấn điều khiển tọa trên gcode sender
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Y SINH 63
Tải tệp G-code và thực hiện các lệnh trong tệp trên phần mềm Phần di chuyển của cánh tay trong tọa độ Oxy cũng được hiển thị trực quan trên phần mềm.
Hình 4.20: Đọc file và thực thi lệnh gcode trên gcode sender