TỔNG QUAN
Đặt vấn đề
Trong bối cảnh tự động hóa đang trở thành xu hướng tất yếu trong sản xuất công nghiệp và đời sống, máy móc ngày càng thay thế con người trong nhiều công đoạn sản xuất và môi trường làm việc đặc thù Sự chuyển mình này đã dẫn đến sự phát triển mạnh mẽ của ngành khoa học robot.
Robot là máy móc tự động được điều khiển bởi máy tính hoặc vi mạch điện tử, hiện đang được ứng dụng rộng rãi trong nhiều lĩnh vực như sản xuất, y học, giao thông, tìm kiếm cứu nạn và quân sự Sự xuất hiện của robot, từ cánh tay máy trong nhà máy đến những robot thay thế sức lao động con người trong môi trường khắc nghiệt, ngày càng phổ biến Robot có khả năng hoạt động trong những điều kiện mà con người không thể tiếp cận, như trong ống dẫn khí hay môi trường độc hại Với sự kết hợp giữa cơ khí và điện tử, robot có thể được cải tiến để phù hợp với yêu cầu công việc và sự phát triển công nghệ Việc sử dụng robot không chỉ tăng năng suất mà còn giảm chi phí sản xuất, tiết kiệm nhân công, đặc biệt ở những quốc gia có nguồn lao động hạn chế hoặc chi phí lao động cao như Mỹ, Nhật Bản và các nước châu Âu.
Robot công nghiệp là thiết bị tay máy đa năng, có khả năng lặp lại các chương trình để di chuyển vật liệu, chi tiết và dụng cụ chuyên môn, phục vụ cho nhiều nhiệm vụ khác nhau Trong nền công nghiệp hiện đại, robot công nghiệp đóng vai trò quan trọng trong quy trình sản xuất, giúp tạo ra sản phẩm với độ chính xác cao Tuy nhiên, nhiều cơ sở hiện nay vẫn thiếu robot phục vụ cho việc học tập và nghiên cứu Do đó, nhóm nghiên cứu quyết định tập trung vào cánh tay robot, cụ thể là cánh tay robot 4 bậc tự do.
1.2 Tình hình nghiên cứu hiện nay
1.2.1 Tình hình nghiên cứu trong nước
Trong 25 năm qua, nghiên cứu và phát triển Robot tại Việt Nam đã đạt được những tiến bộ đáng kể Nhiều cơ sở nghiên cứu trên toàn quốc, bao gồm Trung tâm Tự động hoá, Đại học Bách Khoa Hà Nội, Viện Điện tử, Tin học, Tự động hoá thuộc Bộ Công nghiệp, Đại học Bách khoa TP.HCM, Viện Khoa học và Công nghệ quân sự, cùng Học viện Kỹ thuật Quân sự, đã thực hiện các nghiên cứu cơ bản và ứng dụng về Robot.
Cơ học và Viện Công nghệ thông tin thuộc Viện KHCNVN đóng vai trò quan trọng trong nghiên cứu và phát triển công nghệ Đồng thời, Công ty Cổ phần Robot TOSY, một doanh nghiệp thiết kế và chế tạo robot tại Việt Nam, cũng nổi bật với nhiều sản phẩm ấn tượng trên thị trường quốc tế.
Nghiên cứu về động học và động lực học Robot đang thu hút sự quan tâm từ các khoa cơ khí và chế tạo máy tại các trường đại học cũng như các viện nghiên cứu về cơ học và chế tạo máy, cả trong lĩnh vực dân sự lẫn quân sự Các phương pháp giải quyết các bài toán cơ học cho các loại Robot như nối tiếp, song song và di động được phát triển, cùng với các chương trình mô phỏng 3D phục vụ cho phân tích và thiết kế Robot Các công bố về cơ học Robot chủ yếu đến từ cán bộ của Viện Cơ học - Viện KH&CN Việt Nam, Khoa Cơ khí Chế tạo máy tại Đại học Bách Khoa Hà Nội và Đại học Bách Khoa Tp.HCM, cũng như các bộ môn Robot và Cơ điện tử tại các trường đại học khác Lĩnh vực điều khiển Robot rất đa dạng, bao gồm các phương pháp điều khiển truyền thống như PID, tính mô men, điều khiển trượt, và các phương pháp điều khiển thông minh như mạng nơ ron, logic mờ, thuật gen, cùng với các phương pháp tự thích nghi và học cho Robot, cũng như các hệ thống visual servoing.
Ngành công nghiệp robot tại Việt Nam vẫn chưa phát triển một cách rõ ràng và có hệ thống Các doanh nghiệp sản xuất robot chủ yếu hoạt động một cách tự phát, thiếu sự định hướng Hơn nữa, các chính sách của nhà nước hiện tại cũng chưa đề cập đến việc phát triển ngành công nghiệp robot trong tương lai.
1.2.2 Tình hình nghiên cứu ngoài nước Đối với cách mạng công nghiê ̣p 4.0, các công ty chỉ cần tiến hành số hóa, robot hóa nền sản xuất, sẽ có cơ hội giành lại công viê ̣c từ các nước có giá nhân công thấp Đây cũng là lý do quan trọng nhất, khiến chính phủ nhiều nước quan tâm và đề ra các chiến lược cho riêng mình
Ngành công nghiệp Robot không còn chỉ gắn liền với Nhật Bản, Mỹ và một số quốc gia châu Âu, mà đã mở rộng ra toàn cầu, đặc biệt là tại Trung Quốc, nơi có những đầu tư ấn tượng vào lĩnh vực này Trung Quốc hiện là quốc gia dẫn đầu thế giới về quy mô đầu tư trong ngành công nghiệp Robot, với DJI, một trong những nhà sản xuất drone lớn nhất thế giới Đồng thời, Hàn Quốc cũng nổi bật với việc triển khai Robot tính theo đầu người, khẳng định vị thế của mình trong lĩnh vực công nghệ Robot.
Gần đây, một robot đến từ Hàn Quốc đã giành chiến thắng tại giải DARPA Robotics Challenge, vượt qua các đội đến từ Mỹ, Nhật Bản và châu Âu Các quốc gia như Hà Lan, Thụy Sĩ và Các Tiểu vương quốc Ả Rập Thống nhất (UAE) cũng đang đầu tư mạnh mẽ vào công nghệ robot.
AI, robot và drone đang tạo ra cơ hội và thách thức lớn cho các quốc gia muốn dẫn đầu trong lĩnh vực công nghệ này Sự toàn cầu hóa của robot mở ra nhiều triển vọng mới, đồng thời cũng đặt ra áp lực cạnh tranh cho những quốc gia không nắm bắt kịp xu hướng.
Tính cấp thiết của đề tài
Robot ngày càng trở thành yếu tố quan trọng trong ngành công nghiệp tự động nhờ vào tính linh hoạt và hiệu quả cao Chúng không chỉ nâng cao năng suất lao động mà còn giảm chi phí nguyên vật liệu và năng lượng tiêu thụ, từ đó cải thiện chất lượng sản phẩm và hạ giá thành, tạo ra lợi thế cạnh tranh trên thị trường quốc tế Hơn nữa, robot giúp giải phóng con người khỏi công việc nặng nhọc, góp phần xây dựng một xã hội văn minh hơn và nâng cao dân trí trong tổ chức sản xuất và xã hội Do đó, nghiên cứu về điều khiển chuyển động robot đang thu hút sự quan tâm lớn từ các nhà khoa học.
Lĩnh vực điều khiển Robot bao gồm nhiều phương pháp đa dạng, từ các kỹ thuật truyền thống như PID, tính mô men và điều khiển trượt, đến các phương pháp hiện đại như điều khiển thông minh với mạng nơ ron, logic mờ, thuật toán di truyền và các phương pháp tự thích nghi Ngoài ra, còn có các phương pháp học cho Robot và hệ thống visual servoing, tạo ra nhiều cơ hội phát triển trong ngành công nghiệp robot.
Mục đích của đề tài
Nhóm nghiên cứu tập trung vào việc điều khiển phần cứng của cánh tay robot, đảm bảo hoạt động ổn định mà không bị rung lắc trong quá trình di chuyển Cánh tay robot sẽ được điều khiển thông qua Arduino, trong khi giao diện người dùng sẽ được thiết kế bằng ngôn ngữ C#.
Giải quyết các bài toán động học thuâ ̣n, nghịch Từ đó có thể nâng gắp các vâ ̣t có trọng lượng theo thiết kế một cách dễ dàng.
Phương pháp nghiên cứu
Trong đề tài này, nhóm đã sử dụng các phương pháp nghiên cứu sau:
Phương pháp tham khảo tài liệu bao gồm việc thu thập thông tin từ sách, tạp chí chuyên ngành điện tử và viễn thông, cũng như truy cập tài nguyên trên internet và các đồ án của khóa học trước.
Nhóm đã áp dụng phương pháp thực nghiệm, kết hợp ý tưởng và kiến thức của mình với sự hướng dẫn của giáo viên để thiết kế nhiều mẫu cánh tay Robot khác nhau Qua quá trình này, nhóm đã chọn lọc và xác định cánh tay Robot tối ưu nhất.
• Bên cạnh đó viê ̣c tham khảo ý kiến của bạn bè, thầy/cô là đặc biê ̣t quan trọng không thể thiếu.
Bố cục đồ án
Giới thiê ̣u sơ lược về tình hình nghiên cứu hiê ̣n nay cũng như tính cấp thiết của đề tài
Chương 2: Kiến thức cơ bản
Nêu các lý thuyết cần thiết để sử dụng trong đề tài
Chương 3: Thiết kế và xây dựng hệ thống
Sơ đồ hệ thống được trình bày rõ ràng, kèm theo giải thích chi tiết về hoạt động của từng thành phần trong hệ thống Để lựa chọn phần cứng phù hợp, cần áp dụng các phương pháp phân tích yêu cầu cụ thể của đề tài, từ đó xác định các lựa chọn phần cứng tối ưu nhất nhằm đáp ứng hiệu quả các nhu cầu đã đề ra.
Chương 4: Kết quả thực hiện
Tính toán đưa ra giải thuâ ̣t, thuâ ̣t toán phần mềm Trình bày kết quả đã thực hiê ̣n về phần cứng và phần mềm
Chương 5: Đánh giá Đưa ra các kết quả thực nghiê ̣m và đánh giá, nhâ ̣n xét hê ̣ thống
Chương 6: Kết luận và phạm vi ứng dụng
Nêu các ưu điểm và các điểm cần cải thiê ̣n của đề tài, hướng khắc phục và phạm vi sử dụng trong tương lai gần.
CƠ SỞ LÝ THUYẾT
GIAO TIẾP I2C
2.2.1 Giới thiệu Đầu năm 1980 Phillips đã phát triển một chuẩn giao tiếp nối tiếp 2 dây được gọi là I2C I2C là tên viết tắt của cụm từ Inter-Intergrated Circuit Đây là đường Bus giao tiếp giữa các IC với nhau I2C mặc dù được phát triển bới Philips, nhưng nó đã được rất nhiều nhà sản xuất IC trên thế giới sử dụng I2C trở thành một chuẩn công nghiê ̣p cho các giao tiếp điều khiển, có thể kể ra đây một vài tên tuổi ngoài Philips như: Texas Intrument (TI), MaximDallas, analog Device, National Semiconductor Bus
I2C là bus giao tiếp ngoại vi phổ biến, được sử dụng cho nhiều loại IC khác nhau, bao gồm các vi điều khiển như 8051, PIC, AVR, ARM, cũng như chip nhớ như RAM tĩnh, EEPROM, bộ chuyển đổi ADC và DAC, cùng với các IC điều khiển LCD và LED.
Hình 2 9 Mô hình giao tiếp I2C
Giao tiếp I2C bao gồm hai dây chính: Serial Data (SDA) và Serial Clock (SCL) SDA là đường truyền dữ liệu hai hướng, trong khi SCL là đường truyền xung đồng hồ đồng bộ, chỉ hoạt động theo một hướng Khi một thiết bị ngoại vi kết nối vào bus I2C, chân SDA của thiết bị sẽ được nối với dây SDA của bus, và chân SCL sẽ được nối với dây SCL.
Mỗi dây SDA và SCL trong giao tiếp I2C cần được kết nối với nguồn điện dương thông qua điện trở kéo lên (pullup resistor) Điều này là cần thiết vì chân giao tiếp I2C của các thiết bị ngoại vi thường sử dụng cấu trúc cực máng hở (opendrain hay opencollector) Giá trị của các điện trở kéo này có thể khác nhau tùy thuộc vào từng thiết bị và chuẩn giao tiếp, thường nằm trong khoảng từ 1K đến 4.7K.
Trong hệ thống bus I2C, nhiều thiết bị (ICs) có thể được kết nối mà không xảy ra nhầm lẫn, nhờ vào việc mỗi thiết bị được xác định bằng một địa chỉ duy nhất Mối quan hệ giữa các thiết bị chủ (master) và tớ (slave) được duy trì trong suốt quá trình kết nối Mỗi thiết bị có khả năng hoạt động như thiết bị nhận hoặc truyền dữ liệu, hoặc thậm chí thực hiện cả hai chức năng, tùy thuộc vào vai trò của nó trong hệ thống.
Trong bus I2C, mỗi thiết bị hoặc IC cần có một địa chỉ duy nhất và được cấu hình là thiết bị chủ hoặc thiết bị tớ Sự phân biệt này là cần thiết vì thiết bị chủ có quyền điều khiển toàn bộ hệ thống Thiết bị chủ tạo xung đồng hồ và quản lý địa chỉ của thiết bị tớ trong quá trình giao tiếp, đảm bảo sự đồng bộ và hiệu quả Do đó, thiết bị chủ đóng vai trò chủ động, trong khi thiết bị tớ chỉ thực hiện theo sự điều khiển của thiết bị chủ.
Board Arduino Uno R3
Board Arduino UNO R3 do MME phân phối là board vi điều khiển sử dụng
ATmega328 Board có 14 chân In/Out (trong đó có
6 ngõ ra PWM), 6 chân đầu vào analog, 1 kết nối USB, cổng nguồn, đầu ICSP, nút reset và và hoạt động ở tốc độ mặc định 16 Mhz
Phiên bản Arduino UNO R3 tại MME sử dụng chip ATmega 16 U2, mang lại tốc độ nạp chương trình nhanh hơn và cải thiện khả năng truyền nhận dữ liệu Sản phẩm này hoàn toàn tương thích với tất cả mã nguồn của Arduino UNO R3.
Bảng 2.3 Thông số kỹ thuâ ̣t Arduino
Vi điều khiển ATmega328 họ 8bit Điê ̣n áp hoạt động 5V DC (chỉ được cấp qua cổng USB)
Tần số hoạt động 16 MHz
Dòng tiêu thụ 30mA Điê ̣n áp khuyên dùng 7 – 12V DC Điê ̣n áp vào giới hạn 6 – 20V DC
Số chân Digital I/O 14 (6 chân hardware PWM)
Số chân Analog 6 (độ phân giải 10bit)
Dòng tối đa trên mỗi chân I/O 30mA
Dòng ra tối đa (5V) 500mA
Dòng ra tối đa (3.3V) 50mA
Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bởi bootloader
Một số chân digital có các chức năng đặc biệt
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à một dạng kết nối Serial không dây Nếu không cần giao tiếp Serial, nên tránh sử dụng hai chân này để tiết kiệm tài nguyên.
Các chân PWM (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, giúp điều chỉnh điện áp ra từ 0V đến 5V thông qua hàm analogWrite() Điều này mang lại khả năng linh hoạt trong việc điều chỉnh điện áp, khác với các chân khác chỉ có mức điện áp cố định là 0V và 5V.
Chân giao tiếp SPI bao gồm 10(SS), 11(MOSI), 12(MISO) và 13(SCK), không chỉ thực hiện các chức năng thông thường mà còn hỗ trợ truyền dữ liệu qua giao thức SPI với các thiết bị khác.
Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit (0
Để đọc giá trị điện áp trong khoảng từ 0V đến 5V, bạn có thể sử dụng chân AREF trên board để cung cấp điện áp tham chiếu cho các chân analog Nếu cấp điện áp 2.5V vào chân AREF, các chân analog sẽ có khả năng đo điện áp trong khoảng từ 0V đến 2.5V.
→ 2.5V với độ phân giải vẫn là 10bit
Arduino UNO R3 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
Hình 2 11 Sơ đồ chân Uno R3
Arduino UNO có thể được cấp nguồn 5V qua cổng USB hoặc nguồn ngoài với điện áp khuyên dùng từ 7-12V DC và giới hạn từ 6-20V Sử dụng pin vuông 9V là lựa chọn hợp lý nếu không có nguồn từ cổng USB Lưu ý, cấp nguồn vượt quá giới hạn sẽ gây hỏng Arduino UNO.
GND (Ground) là cực âm của nguồn điện cung cấp cho Arduino UNO Khi sử dụng các thiết bị với nguồn điện riêng biệt, các chân GND cần được kết nối với nhau để đảm bảo hoạt động ổn định.
5V: cấp điê ̣n áp 5V đầu ra Dòng tối đa cho phép ở chân này là 500mA
3.3V: cấp điê ̣n áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là 50mA
Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực dương của nguồn với chân này và cực âm của nguồn với chân GND
IOREF là chân đo điện áp hoạt động của vi điều khiển trên Arduino UNO, và giá trị luôn là 5V Tuy nhiên, bạn không nên sử dụng chân này để lấy nguồn 5V, vì chức năng của nó không phải là cấp nguồn.
RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với viê ̣c chân RESET được nối với GND qua 1 điê ̣n trở 10KΩ.
Động cơ RC Servo MG996R
Động cơ RC Servo MG996 là lựa chọn phổ biến trong thiết kế robot và hệ thống dẫn hướng xe nhờ lực kéo mạnh mẽ Với các khớp và bánh răng hoàn toàn bằng kim loại, MG996 đảm bảo độ bền cao Đặc biệt, động cơ này được tích hợp sẵn driver điều khiển bên trong theo cơ chế phát xung - quay góc, mang lại sự dễ dàng trong quá trình sử dụng.
- Hỗ trợ: vòng bi đôi
- Dòng hoạt động: 500mA-900mA (6V)
- Dòng kéo tải tối đa: 2.5 A(6V)
- Điê ̣n áp hoạt động: 4.8-6.6 VDC
- Kích thước: 40mm x 19mm x 43mm
Động cơ Servo SG90
- Tốc độ hoạt động: 60 độ trong 0.1 giây
- Nhiệt độ hoạt động: 0 ºC – 55 ºC
❖ Cấu trúc: Một động cơ DC servo tiêu biểu gồm có các thành phần chính sau:
- Stator: được gắn liền với vỏ động cơ
- Rotor: là thành phần tạo chuyển động quay
- Chổi than và vành góp: giúp đưa điê ̣n vào Rotor
- Encoder: hay còn gọi là bộ mã hóa vòng quay, phản hồi xung, đơn vị tính (xung/vòng)
❖ Ngoài ra, DC servo còn có thể có thêm các thành phần sau:
- Phanh điê ̣n từ: giúp hãm động cơ trong trường hợp cần thiết
- Tachometer: là thành phần phản hổi tương tự, thực chất là một máy phát điê ̣n nhỏ, với điê ̣n áp phản hồi được tính bằng (V/vòng)
Hình 2 14 Cấu trúc động cơ Servo
Động cơ servo hoạt động dựa trên nguyên lý hồi tiếp vòng kín, trong đó tín hiệu ra của động cơ được kết nối với mạch điều khiển Khi động cơ quay, vận tốc và vị trí của nó sẽ được gửi trở lại mạch điều khiển để điều chỉnh chính xác.
Khi tốc độ động cơ không đạt yêu cầu, cơ cấu hồi tiếp sẽ phát hiện sai lệch và mạch điều khiển sẽ điều chỉnh để đưa động cơ về vị trí chính xác Để đảm bảo việc điều khiển động cơ chính xác, người ta tích hợp động cơ với bộ Encoder và bộ điều khiển.
Bộ điều khiển nhận tín hiệu từ Encoder, ngay lập tức phân tích và xử lý tín hiệu đó để điều khiển động cơ theo thuật toán đã được lập trình sẵn.
Module 16 kênh PWM 12 bit điều khiển servo PCA9685
Mạch điều khiển 16 kênh PWM PCA9685 cho phép xuất ra 16 xung PWM đồng thời từ 16 cổng khác nhau thông qua giao tiếp I2C Sử dụng IC PCA9685, mạch này giúp điều khiển đồng thời 16 RC Servo hoặc điều chỉnh độ sáng của 16 thiết bị khác nhau một cách hiệu quả.
Mạch điều khiển 16 kênh PWM PCA9685 có thiết kế phần cứng đơn giản và đi kèm với thư viện hỗ trợ trên Arduino, giúp người dùng dễ dàng sử dụng và kết nối.
Mạch điều khiển 16 kênh PWM PCA9685 nổi bật với chất lượng phần cứng và độ bền cao, lý tưởng cho các ứng dụng cần điều khiển nhiều tín hiệu PWM như robot cánh tay và robot nhện Đặc biệt, PCA9685 có khả năng lưu trữ xung điều khiển tại thời điểm ngừng cấp xung, giúp loại bỏ nhu cầu gửi lệnh liên tục từ vi điều khiển.
Hình 2 15 Module 16 kênh PWM 12 bit PCA9685
- Tương thích với điê ̣n áp 5V, Có thể điều khiển nó qua MCU 3.3V và vẫn an toàn khi cấp nguồn 6V cho Servo
- Tần số PWM có thể điều chỉnh lên khoảng 1.6 KHz
- Độ phân giải 12 bit cho mỗi ngõ ra servo, Khoảng 4us tại 60Hz
- Giao tiếp trực tiếp với Driver bằng chuẩn giao tiếp I2C
- Có 6 chân địa chỉ vì vậy có thể giao tiếp được với 62 mạch driver khác nhau trên cùng một đường bus I2C nâng tổng số ngõ ra PWM là 992 cổng
- Có thể khai báo điê ̣n trở ngõ ra dạng Push-Pull hoặc Open-Drain
- Có thể nhanh chóng ngắt tín hiê ̣u tất cả các ngõ ra
- Sử Dụng Chip SMD PCA9685
- Có Bảo Vê ̣ Ngược Cực
Hình 2.16 Sơ đồ kết nối giữa Arduino, Servo và PCA9685
Điều khiển độ rộng xung PWM
Phương pháp điều chế PWM (Pulse Width Modulation) là kỹ thuật điều chỉnh điện áp ra tải thông qua việc thay đổi độ rộng của chuỗi xung vuông, dẫn đến sự thay đổi điện áp đầu ra PWM được sử dụng để điều khiển tốc độ động cơ một cách nhanh chóng và ổn định Ngoài việc điều khiển tải, PWM còn xuất hiện phổ biến trong các mạch điện điều khiển, đặc biệt là trong việc điều khiển các phần tử điện tử công suất có đặc tính tuyến tính khi có nguồn một chiều cố định Các tín hiệu PWM có cùng tần số nhưng khác nhau về độ rộng của sườn dương hoặc âm.
Hình 2 17 Phương pháp PWM Xung PPM (Pulse Position Modulation) được sử dụng để điều khiển servo Xung PPM khác với PWM ở chỗ:
- Tần số thông thường có giá trị trong khoảng 50Hz (20 mili giây), không quan trọng
- Thời gian xung ở mức cao chỉ từ 1ms đến 2ms, rất quan trọng
- Có thể có nhiều hơn 1 sự thay đổi trạng thái điê ̣n cao/thấp
Nắm bắt được 2 ý trên ta đã có thể phân biê ̣t được xung PPM và xung PWM giống nhau và khác nhau như thế nào
Hình 2 18 Xung PPM điều khiển Servo
Servo có thời gian phản hồi 1ms cho góc quay 0 độ, 1.5ms cho góc quay 90 độ và 2ms cho góc quay 180 độ Các góc khác trong khoảng từ 0 đến 180 độ được xác định trong khoảng thời gian từ 1 đến 2ms.
Có thể ghép nhiều xung trong cùng 1 thời gian là 20ms để xác định vị trí góc của nhiều servo cùng 1 lúc Tối đa là 10 servo
Hình 2 19 Mô hình điều khiển 3 Servo cùng lúc
THIẾT KẾ & XÂY DỰNG HỆ THỐNG
Phương án thiết kế
Với yêu cầu thiết kế của hê ̣ thống về phần cứng nhóm đã đề ra các phương án:
Mô hình thiết kế sẽ sử dụng các module phổ biến như Board vi điều khiển Arduino Uno R3, module 16 kênh PWM 12 bit PCA9685 để điều khiển servo, động cơ Servo SG90 và MG996R, cùng với bộ nguồn tổ ong 5V-4A.
• Sau đó nhóm sẽ thiết kế trên Solidworks và tích hợp các module có sẵn đó để hoàn thiện hê ̣ thống
• Giúp giảm thời gian thiết kế, cũng như đảm bảo được độ chính xác và ổn định hơn cho mạch
Với yêu cầu thiết kế của hê ̣ thống về phần mềm nhóm đã đề ra các phương án:
• Dùng phần mềm Solidword để thiết kế cánh tay Robot, từ đó xuất file mica để xây dựng mô hình thực tế
• Sử dụng ngôn ngữ C# để viết giao diê ̣n điều khiển trên PC
• Dùng phần mềm Arduino để lâ ̣p trình điều khiển
KHỐI CƠ CẤU CHẤP HÀNH
KHỐI ĐIỀU KHIỂN (MÁY TÍNH)
Thiết kế sơ đồ khối
Từ viê ̣c chia nhỏ ra các module và theo yêu cầu của hê ̣ thống thì nhóm đã thiết kế mạch có sơ đồ khối như sau:
Hình 3 1 Sơ đồ khối hệ thống
3.2 Thiết kế hệ thống phần cứng
Theo sơ đồ khối, ta sẽ thiết kế sơ đồ nguyên lí gồm có 4 phần:
• Khối xử lý trung tâm: 1 board Arduino Uno R3
• Khối chấp hành: bao gồm những bộ phận tạo nên robot và cơ cấu truyền động : 1 động cơ servo SG90, 6 động cơ servo MG996R
• Khối nguồn AC-DC: Nguồn tổ ong 5V-4A
Khối giao diện người dùng kết nối với khối xử lý trung tâm và điều khiển khối chấp hành, đảm bảo robot hoạt động đúng theo thông tin đã được cài đặt trước.
3.3.1 Khối xử lý trung tâm
Khối xử lí trung tâm gồm 1 vi điều khiển được lâ ̣p trình để:
• Giao tiếp với module 16 kênh PWM 12 bit điều khiển servo PCA9685 để có thể xuất ra đồng thời 16 xung PWM từ 16 cổng khác nhau thông qua giao tiếp
I2C sử dụng IC PCA9685 để điều khiển đồng thời 7 RC Servo
Giao tiếp với máy tính qua giao diện thiết kế cho việc điều khiển cánh tay robot có thể thực hiện bằng các vi điều khiển như Arduino, PIC hoặc PLC Tuy nhiên, PLC thường được sử dụng trong các hệ thống công nghiệp lớn, trong khi các hệ thống điều khiển nhỏ như của chúng ta chủ yếu dựa vào lập trình các vi điều khiển.
Trong bài viết này, chúng ta sẽ khám phá vi điều khiển ATmega328P, được tích hợp sẵn trong board Arduino Uno R3 Việc sử dụng Arduino Uno R3 giúp đơn giản hóa quá trình lập trình và tiết kiệm thời gian thiết kế cho các dự án điện tử.
• Arduino hiện đang là vi điều khiển đang phát triển mạnh mẽ với cộng đồng hỗ trợ cực kì rộng lớn cho vô vàn các ứng dụng
Arduino được lập trình bằng ngôn ngữ Java, mang lại khả năng xử lý chuỗi mạnh mẽ, thuận lợi cho hệ thống của chúng ta Khi giao tiếp với PC và các module như SIM900A và ESP-8266, việc xử lý chuỗi chiếm hơn 90% mã lệnh, giúp tối ưu hóa hiệu suất và dễ dàng trong việc phát triển ứng dụng.
3.3.2 Khối cơ cấu chấp hành
Cơ cấu chấp hành gồm 7 động cơ servo và khung cánh tay robot:
❖ Mô hình xây dựng trong Solidword
Hình 3 3 Đế cánh tay robot
Hình 3 4 Link1 cánh tay Robot
Hình 3 5 Link 2 cánh tay robot
Hình 3 6 Link 3 cánh tay robot
Hình 3 7 Link4 cánh tay robot
❖ Cánh tay Robot hoàn chỉnh và hê ̣ tọa độ đặt lên cánh tay
❖ Hình thù vật cần gấp
Các vật có chiều ngang nhỏ hơn càng gắp (