Robot hoạt động cần phải trang bị bộ điều khiển và nguồn năng lượng, do vậy thân robot cần phải lắp đặt pin cũng như mạch điều khiển. Để đảm bảo độ cứng và chịu được tải trọng củapin và mạch điều khiển, ta cần tiến hành mô phỏng và phân tích lực cho khung robot. Ở đây nhóm sử dụng phần mềm solidwork để tiến hành mô phỏng phân tích lực.
Mô hình khung robot được thiết kế trong phần mềm vẽ 3D (Solidworks)
Hình 6.2.1 Khung Robot
37 | P a g e
Hình 6.2.2 Thông số của nhựa ABS
Ở đây nhóm đã ước lượng được trọng lượng của nguồn năng lượng (pin) và mạch điều khiển robot khoảng 1kg, tương đương với 10N, vì vậy nhóm đặt một trọng lực phân bố đều trên khung dưới tác dụng lên khung với giá trị là 10N.
Hình 6.2.3 Khung robot chịu trọng lực 10N
Kết quả của quá trình phân tích và mô phỏng lực cho khung robot: • Ứng suất khung robot
38 | P a g e
Hình 6.2.4 Kết quả phân tích ứng suất trên khung robot
Qua kết quả phân tích, có thể thấy chi tiết khung hầu như không chịu ứng tập trung nào.
• Chuyển vị khung robot
39 | P a g e Kết quả trên cho thấy khung robot có độ chuyển vị tương đối nhỏ, đạt được yêu cầu cho phép với độ chuyển vị lớn nhất khoảng 0.1335mm tập trung ở giữa khung robot.
❖ Thông qua 2 kết quả trên, nhóm đánh giá khung có thể chịu được trọng lượng 10N(1kg), đảm bảo được độ bền, tính chắc chắn của vật liệu khi robot mang tải trọng.
6.3. Lựa chọn thiết bị
❖ Arduino mega 2560:
Arduino mega 2560 là một vi điều khiển sử dụng Atmega 2560. Có 54 chân digital (15 chân sử dụng làm đầu ra PWM), 16 đầu vào analog, 4 UART (cổng nối tiếp phần cứng), bộ dao động tinh thể 16 MHz, kết nối USB, giắc cắm nguồn, đầu cắm ICSP, nút Reset. Chứa tất cả mọi thứ cần thiết để hỗ trợ vi điều khiển. Bo mách Arduino mega 2560 tương thích với hầu hết các tấm chắn được thiết kế cho Uno và các bo mạch trước đây là Duemilanove hoặc Diecimila.
Vi điều khiển Atmega 2560
Điện áp hoạt động 5V
Điện áp đầu vào 7-12V
Điện áp đầu vào (giới hạn) 6-12V
Chân I/O digital 54 (15 chân PWM)
Chân đầu vào analog 16
Dòng điện DC trên mỗi chân 20 mA Dòng điện DC cho chân 3,3V 50 mA
Bộ nhớ flash 256KB(8 KB used by bootloader)
SRAM 8 KB EFFROM 4 KB Clock speed 16 MHz Chiều dài 101,52 mm Chiều rộng 53,3 mm Khối lượng 37 g
40 | P a g e ❖ HC-06 Bluetooth module:
HC-06 là một module Bluetooth được thiết kế để thiết lập giao tiếp dữ liệu không dây
phạm vi ngắn giữa hai bộ vi điều khiển hoặc hệ thống. Module hoạt động trên giao thức
truyền thông Bluetooth 2.0 và nó chỉ có thể hoạt động như một thiết bị phụ. Đây là phương pháp truyền dữ liệu không dây rẻ nhất và linh hoạt hơn so với các phương pháp khác và thậm chí nó có thể truyền tệp với tốc độ lên đến 2.1Mb / s.
Module HC-06 có 6 chân. Trong đó, chỉ cần sử dụng 4 chân để giao tiếp thành công module.
Hình 6.3.1 Modul HC-06
KEY Xác định module hoạt động ở chế độ lệnh AT hay bình thường
Vcc +5V, cấp nguồn cho module GDN Kết nối với mặt đất.
TXD Dữ liệu nối tiếp được truyền theo module (9600 bps), logic 3,3V
RXD Dữ liệu nối tiếp được nhận bởi module (9600 bps), logic 3,3V STATE Chân kết nối với đèn Led để thể hiện trạng thái của module.
41 | P a g e ❖ Động cơ RC servo:
Động cơ RC servo là loại động cơ được điều khiển bằng sự điều biến độ rộng xung (PWM) tức là kiểm soát hành trình mà chân robot đã di chuyển được. Với loại này thì khối lượng nhẹ hơn và có thể dễ dàng chọn loại động cơ mong muốn.
Động cơ RC servo được cấu tạo làm 3 phần: Một động cơ DC nhỏ, một hộp số giảm tốc và bộ điều khiển góc quay. Động cơ và vôn kế nối với mạch điều khiển tạo thành một mạch hồi tiếp vòng kín. Cả mạch điều khiển và động cơ điều được cấp nguồn DC (thường 4.8 – 7.2V). Động cơ RC Servo MG996R được sử dụng trong đề tài gồm có 3 dây và có màu như sau:
- Chân GND (màu nâu): Chân cấp mass.
- Chân VCC (màu đỏ): Chân cấp nguồn (3.5 V - 8.4 V).
- Chân tín hiệu (màu vàng – màu trắng): Chân điều khiển góc của động cơ.
Để quay động cơ, tín hiệu số được gửi tới mạch điều khiển. Tín hiệu này khởi động động cơ, thông qua chuỗi bánh răng, nối với vôn kế. Vị trí của trục vôn kế cho biết vị trí trục ra của servo. Khi vôn kế đạt được vị trí như mong muốn, mạch điều khiển sẽ tắt động cơ.
Hoạt động của RC Servo dựa trên nguyên lý nhận xung PWM và cho ra góc quay. Trục của động cơ servo R/C được định vị nhờ vào kỹ thuật gọi là điều biến độ rộng xung PWM (Pulse Width Modulation). Phương pháp điều xung PWM (Pulse Width Modulation): Là phương pháp điều chỉnh điện áp ra tải hay nói cách khác là phương pháp điều chế dựa trên sự thay đổi độ rộng của chuỗi xung vuông, dẫn đến sự thay đổi điện áp ra. Trong hệ thống này, servo là đáp ứng của một dãy các xung số ổn định. Cụ thể hơn, mạch điều khiển là đáp ứng của một tín hiệu số có các xung biến đổi từ 1 – 2ms. Các xung này được gửi đi 50 lần/giây. Chú ý rằng không phải số xung trong một giây điều khiển servo mà là độ rộng của các xung điều khiển động cơ. Servo đòi hỏi khoảng 30 – 60 xung/giây. Nếu số này quá thấp thì độ chính xác và công suất để duy trì servo sẽ giảm. Với độ dài xung 1ms, servo
42 | P a g e được điều khiển quay một chiều: Góc quay của động cơ được xác định bằng độ rộng của xung PWM cấp đến động cơ: Độ rộng xung dao động từ 1ms đến 2ms, với độ rộng 1ms động cơ sẽ quay tới vị trí cực tiểu, với độ rộng 2ms động cơ sẽ quay tới vị trí cực đại. Khoảng dao động từ 1ms đến 2ms sẽ khiến động cơ quay các góc trong khoảng cực tiểu tới cực đại. Với thời gian 1ms mức cao, góc quay của servo là 0, 1.5ms góc quay 90 và 2ms góc quay là 180. Các góc khác từ 0 - 180 được xác định trong khoảng thời gian 1-2ms.
Thông số kỹ thuật của động cơ RC servo MG996R:
Weight 55g Dimesion 40.7 x 19.7 x 42.9 mm Stall torque 9.4 kgf.cm (4.8V), 11 kgf.cm (6V) Operating speed 0.17s/60° (4.8V), 0.14s/60° (6V) Operating voltage 4.8V, 7.2V Running current 500 mA – 900 mA Stall current 2.5A (6V)
Dead band width 5𝜇𝑠 Temperature range 0°𝐶 − 55°𝐶 Bảng 6.3.3 Thông số Servo MG996R ❖ Pin18650:
Pin 16650 là pin Lithium có dung lượng 2000mAh, có thể sạc xả nhiều lần. Nhỏ gọn, nhẹ thích hợp để lắp đặt trên thân Robot. Robot sử dụng 3 viên pin 18650 với điện áp mỗi viên là 3.7V, có thể cung cấp đủ năng lượng cho mạch điện tử và tất cả các động cơ để Robot có thể hoạt động tốt. Đi kèm với đó mạch sạc HX-3S-03, có khả năng sạc pin khiến việc sử dụng Robot trở nên thuận lợi hơn. Các đặt tính của pin như sau.
43 | P a g e
Loại pin Li-on
Điện áp 3.7V
Dung lượng 2000mAh Điện áp sạc đầy 4.2V
Kích thước 64.7x18.4 (chiều dài và đường kính) Khối lượng 34g Nhiệt độ làm việc < 80°𝐶 Tuổi thọ > 1000 lần sạc Bảng 6.3.4 Thông số pin 18650 ❖ DC-DC Buck Converter LM2596:
LM2596 là mạch giảm áp có kích thước nhỏ gọn có khả năng giảm áp từ 30VDC xuống 1.5VDC mà vẫn đạt hiệu suất cao (92%), giúp cho việc giảm áp và cung cấp điện áp cho mạch điện tử Arduino và điện áp cấp vào mỗi động cơ RC Servo.
Điện áp đầu vào 3V – 30V Điện áp đầu ra 1.5V – 30V Dòng đáp ứng tối đa 3A Hiệu suất 92% Công suất 15W Kích thước 45x20x14 (mm) Bảng 6.3.5 Thông số DC-DC Buck
44 | P a g e
CHƯƠNG 7. THIẾT KẾ CÁC CHI TIẾT
7.1. Thiết kế các chi tiết robot
7.1.1.Thiết kế chân Robot
Thiết kế và chế tạo mô hình thực tế là một bước quan trọng trong việc nguyên cứu Robot. Vì nhóm lựa chọn mô hình giống với con chó do đó mỗi chân sẽ có ba bậc tự do. Mô hình sử dụng vật liệu là nhựa ABS với độ dày là 5mm, các chi tiết thiết kế với tiêu chí gia công đơn giản nhất, chi phí rẻ. Vì vậy các chi tiết sẽ có dạng mảnh ghép.
❖ Các chi tiết của chân Robot:
Hình 7.1.1 Gá servo khớp 1 Hình 7.1.2 Gá servo khớp 2
45 | P a g e
Hình 7.1.5 Bàn chân Robot
7.1.2.Thiết kế thân Robot
Phần thân Robot cần thiết kế đảm bảo độ cứng để chịu được tải trọng của Robot và mạch điều khiển
Hình 7.1.6 Khung trên và dưới của Robot
46 | P a g e
Hình 7.1.8 Mặt sau và mặt trước của Robot
Mô hình Robot hoàn chỉnh:
Hình 7.1.9 Mô hình Robot
7.2. Thiết kế mạch điều khiển Robot
Sau khi chọn được vi điều khiển cũng như các thiết bị điện tử, nhóm tiến hành xây dựng sơ đồ điện cơ bản như sau:
47 | P a g e
Hình 7.2.1 Sơ đồ điện tử
Hệ thống được điều khiển bởi board Arduino Mega 2650, có thể điểu khiển 12 chân PWM, bộ thu phát tín hiệu Bluetooth HC-06 sẽ thực hiện lệnh điều khiển robot từ thiết bị Smartphone (Android). Để đảm bảo nguồn năng lượng cho 12 servo và arduino mega 2650, nhóm đã sử dụng 3 pin 18650 với dung lượng 2000mAh. Để điện áp ổn định và đảm bảo, cũng như cấp đúng điện áp hoạt động cho servo và Arduino, nhóm dùng 2 con DC-DC Buck Converter cấp nguồn 5v cho servo và 9v cho arduino.
48 | P a g e
Hình 7.2.2 Sơ đồ mạch điện điều khiển robot
Để kết nối servo với Arduino cũng như cấp nguồn một cách dễ dàng và gọn gàn. Nhóm đã quyết định thiết kế một mạch PCB giúp cho việc lắp mạch điện trở nên đơn giản và tránh được sự lộn xộn. Mạch PCB được thiết kế trên phần mềm Altium Designer.
49 | P a g e
7.3. Xây dựng chương trình điều khiển
❖ Xây dựng app điều khiển thông qua appinventor
MIT App Inventor dành cho Android là một ứng dụng web nguồn mở ban đầu được cung cấp bởi Google và hiện tại được duy trì bởi Viện Công nghệ Massachusetts (MIT). Cho phép xây dựng nhanh chóng những thành phần cơ bản (components) của một ứng dụng Android: Nút bấm, nút lựa chọn, chọn ngày giờ, ảnh, văn bản, thông báo, kéo trượt.
❖ Tạo giao diện
Ban đầu lên ý tưởng về các chức năng cần thiết ở robot và nút chức trong giao tiếp Bluetooth. Gồm có 2 nhóm: Nhóm tín hiệu Bluetooth và nhóm gửi tín hiệu điều khiển Robot.
Ngoài ra còn khung Media chứa các file media bạn tải lên để sử dụng trong chương trình như: Ảnh icon, ảnh nền, …
50 | P a g e
Hình 7.3.1 Giao diện điều khiển robot
❖ Lập trình chức năng
Dựa trên nhu cầu, đầu tiên phát triển sơ đồ giải thuật nhằm xây dựng chương trình hoàn chỉnh, đáp ứng các mục tiêu đề ra. Sau đây là sơ đồ giải thuật của phần mềm điều khiển robot thông qua Bluetooth.
51 | P a g e
Hình 7.3.2 Sơ đồ giải thuật
Trong MIT, code chính là các Blocks, việc của chúng ta là kéo thả các blocks này sang khung Viewer và kết nối chúng theo chức năng mong muốn.
52 | P a g e
Hình 7.3.3 Không gian lập trình Block
Biên dịch ra file apk và cài đặt, bao gồm tùy chọn tải file apk về máy tính sau đó sao chép sang điện thoại để cách đặt hoặc biên dịch và tải online thông qua mã QR code.
53 | P a g e
Hình 7.3.5 File APK và mã QR code tải app
❖ Lập trình điều khiển các kiểu đi sử dụng arduino mega 2560
Mục tiêu đã đặt ra điều khiển robot với các chức năng đi sang trái, sang phải, đi tiến, đi lùi. Từ đó nhóm xây dựng sơ đồ giải thuật cơ bản nhất để phát triển ý tưởng lập trình.
54 | P a g e
Hình 7.3.6 Sơ đồ giải thuật điều khiển
Khi arduino nhận được kí tự “n” truyền qua sẽ chuyển kí tự đó sang dạng số để arduino so sánh với các điều kiện được lập trình. Với mỗi kí tự được truyền qua sẽ tương ứng với 1 hành động cụ thể của Robot.
Công việc xây dựng lập trình song song với quá trình phát triển cơ khí và điện tử vì nó cần đạt 2 mục tiêu: đáp ứng hệ thống cơ khí, phù hợp hệ thống điện.
Việc triển khai và phát triển code trên phần mềm Arduino dựa trên sơ đồ giải thuật đã phát triển trước đó.
55 | P a g e
CHƯƠNG 8. LẮP RÁP, THỬ NGHIỆM VÀ KIỂM TRA
8.1. Lắp ráp mô hình
Tiến hành lắp các chân robot
Hình 8.1.1 Chân của Robot
Lắp khung robot
56 | P a g e
Hình 8.1.3 Khung robot
Hoàn thành khung Robot
57 | P a g e Thiết kế và làm mạch PCB
Hình 8.1.5 In mạch PCB Hình 8.1.6 Mạch PCB sau khi hàn
58 | P a g e
59 | P a g e
8.2. Thử nghiệm và kiểm tra
Thử nghiệm mạch điều khiển
Hình 8.2.1 Test Mạch PCB
60 | P a g e
Hình 8.2.2 Robot đang đứng
61 | P a g e
KẾT LUẬN
Sau thời gian nghiên cứu và tìm hiểu, nhóm chúng em đã rút ra được nguyên cứu lý thuyết và tính toán bài toán cho robot 4 chân. Đây là cơ sở quan trọng nhất cho việc điều khiển chuyển động cho robot. Thấy được những khó khăn mà con người lấy cảm hứng từ thiên nhiên để xây dựng một con robot có khả năng hoạt động như một loài động vật. Nghiên cứu các loại dáng đi của robot và đưa ra mô hình hình học cho các loại dáng đi. Dựa vào động học thuận và động học nghịch, tính toán được vị trí đặt chân cho robot để có bước đi mượt và tránh bước nhảy. Nhóm đã thiết kế thành công phần cơ khí robot 4 chân. Robot đã hoạt động đúng với lệnh điều khiển từ thiết bị điều khiển từ xa (Bluetooth). Bên cạnh đó mô hình robot vẫn chưa phải là mô hình tối ưu nhất.
Thông qua đề tài này, chúng em đã trang bị nhiều kiến thức hơn nữa, viết chương trình giao tiếp giữa vi điều khiển với modul bluetooth. Điều khiển động cơ servo bằng arudino mega2560 và thực hiện các lệnh bằng phần mềm chạy bằng smartphone được tạo trên MIT.
Bên cạnh đó, nhóm cũng đã gặp không ít khó khăn cho đề tài này, nhóm chưa tính toán được động lực học cho robot, xây dựng quỹ đạo chưa hoàn chỉnh và tối ưu. Robot chỉ đi được trên bề mặt phẳng có độ nhám cao. Các sai số về quỹ đạo chưa được kiểm soát và độ ổn định của mô hình chưa cao.
Trong tương lai, nhóm muốn phát triển mô hình robot này lên một cấp độ mới với nhiều tính năng hơn. Trang bị thêm cảm biến siêu âm để có thể tránh vật cản, tích hợp camera để robot thu thập dữ liệu thông tin hình ảnh truyền về máy tính. Bước phát triển hơn nữa là sử dụng ngôn ngữ python để lập trình robot, tạo ra một robot thông minh.
62 | P a g e
TÀI LIỆU THAM KHẢO
[1] Lê Hoài Quốc, Chung Tấn Lâm, Robot công nghiệp, NXB Khoa Học Kỹ Thuật, 2006. [2] Nguyễn Thị Phương Hà, Huỳnh Thái Hoàng, Lý thuyết điều khiển tự động, NXB Đại Học Quốc Gia TPHCM, 2011.
[3] Mark W. Spong, Seth Hutchinson, and M. Vidyasagar, Robot Dynamics and Control, 2004.
[4] Nguyễn Phùng Quang, Nguyễn Phùng Quang, Matlab & Simulink dành cho kỹ sư điều khiển tự động, NXB Khoa học kỹ thuật 2003.
[5] Devdas Shetty, Richard A.Kolk, Mechatronics System Design.
[6] Giorgio Figliolini and Pierluigi Rea, Mechanics and Simulation of Six-Legged Walking