2. 3 Phương pháp điều khiển tránh vật cản
3.1.1 Tính toán lựa chọn cơ cấu truyền động
Bánh xe dẫn động:
Bánh chủ động được thiết kế với lớp cao su bọc bên ngoài, có tạo gân bề mặt bánh đảm bảo ma sát giữa bánh xe và mặt sàn, đường kính bánh xe 100mm.
Hình 3.1 Bánh xe dẫn động
Bánh xe tự lựa
Hai bánh bị động sử dụng loại bánh tự lựa bọc lớp cao su đảm bảo ma sát với mặt sàn làm việc. Bánh xe có đường kính 50mm.
Tính toán lựa chọn công suất động cơ
Một số thông số quan trọng để lựa chọn động cơ là mô-men xoắn và RPM(số vòng quay mỗi phút). Giả thiết bỏ qua sự biến dạng của bánh xe và lực cản của không khí trong quá trình di chuyển.
Các thông số của robot là:
Khối lượng robot ước tính: 10 kg
Khối lượng hàng tối đa: 10 kg
Đường kính bánh xe: 100 mm
Tốc độ tối đa của xe: 0.7 m/s. Sử dụng phương trình sau, chúng ta có thể tính toán RPM của động cơ:
RPM = (60 * Tốc độ) / (3,14 * Đường kính bánh xe) => RPM = (60 * 0,7) / (3,14 * 0,1) = 134 RPM (v/p)
RPM được tính toán với bánh xe đường kính 10 cm và tốc độ 0,7 m/s là 134 RPM. Động cơ DC là một cơ cấu chấp hành, biến năng lượng điện thành các chuyển động cơ học vì thế nhóm chọn:
Động cơ DC Servo 14000 (rpm) 13 Pulse Gearbox Ratio 71.2
Hình 3.3 Động cơ dẫn động cho robot
Động cơ SERVO DC 24V, 90W Tốc độ 14.000 rpm
Encoder Hall 13 xung 2 pha A B.
Bộ giảm tốc Planet bánh răng thép, hệ số giảm tốc 71.2, chiều dài L = 56 mm Tốc độ sau bộ giảm tốc 195 vòng/phút
Mô men xoắn 360 kgf.cm Trọng lượng 900 g.
Vi điều khiển
Arduino là một bo mạch vi điều khiển được sử dụng để cảm nhận và điều khiển nhiều đối tượng khác nhau. Nó có thể thực hiện nhiều nhiệm vụ lấy tín hiệu từ cảm biến đến điều khiển đèn, động cơ, và nhiều đối tượng khác. Ngoài ra mạch còn có khả năng liên kết với nhiều module khác nhau như module đọc thẻ từ, ethernet shield, sim900A,.. để tăng khả ứng dụng của mạch. Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM, Atmel 32-bit,…
Nhóm quyết định sử dụng Arduino Mega2560 R3 để lập trình cho robot vì đây là một bo mạch được tích hợp nhiều tính năng nổi bật. Arduino Mega2560 khác với tất cả các vi xử lý trước giờ vì không sử dụng FTDI chip điều khiển chuyển tín hiệu từ USB để xử lý. Thay vào đó, nó sử dụng ATmega16U2 lập trình như là một công cụ chuyển đổi tín hiệu từ USB. Ngoài ra, Arduino Mega2560 cơ bản vẫn giống Arduino Uno R3, chỉ khác số lượng chân và nhiều tính năng mạnh mẽ hơn.
Hình 3.4 Vi điều khiển Arduino Mega 2560 R3
IC nạp và giao tiếp UART: ATmega16U2.
Nguồn nuôi mạch: 5VDC từ cổng USB hoặc nguồn ngoài cắm từ giắc tròn DC (nếu sử dụng nguồn ngoài từ giắc tròn DC Hshop.vn khuyên bạn nên cấp nguồn từ 6~9VDC để đảm bảo mạch hoạt động tốt, nếu bạn cắm 12VDC thì IC ổn áp rất nóng, dễ cháy và gây hư hỏng mạch).
Số chân Digital I/O: 54 (trong đó 15 chân có khả năng xuất xung PWM) Số chân Analog Input: 16
Driver điều khiển động cơ
Nhóm đồ án chọn mạch Driver Smart PID công suất 500W có thông số như sau: - Điện áp hoạt động: 22-26 (VDC);
- Dòng điện liên tục: 3,75 (A);
- Điện áp tín hiệu điều khiển: 3,3 (VDC); - Tần số PWM tối đa: 100 (KHz);
- Có bảo vệ quá nhiệt.
Trên mạch công suất có tích hợp sẵn vi xử lý với thuật toán PID thông minh. Bằng cách nhập thông số động cơ vào phần mềm đi kèm theo, driver sẽ tự động tính toán các hệ số PID để điều khiển tốc độ động cơ theo tín hiệu từ khối điều khiển trung tâm gửi xuống. Việc sử dụng bộ driver này sẽ giúp khối điều khiển trung tâm tăng tốc độ xử lý các tác vụ khác.
Driver được trang bị bộ vi xử lý ARM hiện địa nhất nên cung chấp nhiều chức năng cao cấp như sau: Chạy PID vị trí theo chuẩn 1 xung và 1 hướng hỗ trợ tần số lên tới 10MHz, ứng dụng làm máy CNC, với các thông số Kp, Kd, Ki điều chỉnh được bằng giao diện máy tính; chạy PID vị trí theo chuẩn xung encoder A B hỗ trợ tần số lên tới 1039 MHz, ứng dụng làm cánh tay máy, với các thông số Kp, Kd, Ki điều chỉnh được bằng giao diện máy tính; Có chức năng thông minh là chỉ cần nhập thông số tốc độ lớn nhất của động cơ tính theo vòng/phút và xung encoder quay được 1 vòng thì bộ điều khiển sẽ sự tính toán ra hết các hệ số Kp, Kd, Ki; Hỗ trợ chạy động cơ lên tới 20000 vòng/phút và encoder 20000 xung/vòng.
Hình 3.5 Bộ điều khiển động cơ DC thông minh DRIVER PID SMART MOTOR DC
Driver được trang bị bộ vi xử lý ARM hiện đại nhất nên cung cấp nhiều chức năng cao cấp như sau:
Chạy động cơ công suất lớn tới 700W, điện áp điều khiển 24vDC Giao tiếp máy tính qua cổng com uart.
Đèn led báo trạng thái hoạt động.
Chạy PID vị trí theo chuẩn xung encoder AB hỗ trợ tần số lên tới 10mhz, ứng dụng làm cánh tay máy , với các thông sô Kp Kd Ki điều chỉnh được bằng giao diện máy tính.
Cảm biến RPLIDAR A1 360° Laser Range Scanner
Cảm biến khoảng cách Lidar RPLIDAR A1 360° Laser Range Scanner được sản xuất bởi hãng SLAMTEC được sử dụng cho các ứng dụng phát hiện vật cản, lập bản đồ bằng tia Laser trong xe, robot tự hành, hệ thống chống trộm, ..., cảm biến có độ ổn định và độ chính xác cao.
Cảm biến khoảng cách Lidar RPLIDAR A1 360° Laser Range Scanner sử dụng giao tiếp UART nên có thể dễ dàng giao tiếp với Vi điều khiển, Máy tính nhúng hoặc kết nối máy tính qua mạch chuyển USB-UART và phần mềm đi kèm, cảm biến có khả năng quét xa với khoảng cách lên đến 12m, tần số tối đa 10Hz với 8000 samples per time, phù hợp cho vô số các ứng dụng khác nhau.
Hình 3.6 Cảm biến RPLIDAR A1 360° Laser Range Scanner
Thông số kỹ thuật: Điện áp sử dụng: 5 VDC Chuẩn giao tiếp: UART
Phương pháp phát hiện vật cản: Laser Khoảng cách phát hiện vật cản tối đa: 12m Góc quay: 360°
Tốc độ lấy mẫu tối đa: 8000 Samples per time. Tần số quét tối đa: 10Hz
Kích thước: 71 x 97mm
La bàn số
Xác định góc xoay quanh trục X, Y, Z, chuẩn hóa dữ liệu dưới dạng độ Đáp ứng góc ổn định
Độ chính xác lên tới 0,1 độ Chống trôi góc
Xử lý drift khi quay
Lấy mẫu môi trường xung quanh
Thông số kĩ thuật: Nguồn nuôi: 5V – 7V CPU: STM32F103C8T6 Module tích hợp: MPU6050
Chuẩn giao tiếp: UART – Baudrate 115200