Robot di động thường bao gồm các khối cơ bản sau: khối nguồn, khối cảm biến, khối điều khiển trung tâm, khối điều khiển động cơ và cơ cấu chấp hành. Các khối này được minh họa bằng sơ đồ khối như trên:
Tín hiệu từ cảm biến được đưa vào khối điều khiển trung tâm qua các cổng và phương thức giao tiếp. Dựa vào tín hiệu từ khối cảm biến, khối điều khiển trung tâm sẽ tính toán để xác định trạng thái của robot đang di chuyển. Từ đó khối điều khiển trung tâm sẽ xuất ra tín hiệu xung PWM để điều khiển
các động cơ thông qua mạch công suất điều khiển động cơ. Việc này sẽ giúp Robot di động có thể tự di chuyển theo quỹ đạo mong muốn.
Hình 3.11 Lưu đồ thuật toán điều khiển
Hình 3.13 Sơ đồ tổng quát mạch điều khiển
3.2.2 Khối cảm biến
Module cảm biến dò line
- Hiện nay có nhiêù lựa chọn cho cảm biến dò line như camera, quang trở,..
Trong trường hợp sử dụng camera, hình ảnh thu được từ đường line thực tế sẽ được gửi về, xử lý và sử dụng các giải thuật xử lý ảnh để xác định vị trí và góc lệch chính xác của xe so với đường line. Camera cho kết quả với độ chính xác cao. Hạn chế lớn ở đây là chi phí cao vì bộ camera giá thành thấp sẽ không đạt được tốc độ lấy ảnh như yêu cầu và bộ xử lý phải đủ mạnh để xử lý lượng lớn thông tin.
Vì vậy nhóm sinh viên đã chọn quang điện trở hoặc phototransistor kết hợp với LED như (hình3.1).
Hai cảm biến có nguyên tắc hoạt động giống nhau, bộ thu sẽ thu tín hiệu phản xạ từ bộ phát phát xuống mặt đất, từ đó xử lý để xác định được vị trí của đường line. Nguyênlý của cảm biến hồng ngoại được thể hiện như trong (hình 1.21). Ưu điểm của cảm biếnquang dẫn là giải thuật xử lý đơn giản, nhưng vẫn tồn tại nhiều nhược điểm: dễ bị nhiễu,bề mặt mấp mô có thể gây sai số.
Hình 3.15 Nguyên lý cảm biến quang dẫn
Phương pháp đọc tín hiệu cảm biến:
- Đọc tín hiệu Digital: Tín hiệu đầu ra của cảm biến vẫn là analog nhưng sau đó thôngqua mạch lấy ngưỡng hoặc lấy ngưỡng bằng lập trình để cho ra 2 giá trị logic 0 và 1 ứng với vị trí cảm biến trên đường line hoặc ngoài đường line.Để điều khiển robot theo quỹ đạo, người thiết kế lập trình xác định độ lệch tương đối giữa quỹ đạo của robot và quỹ đạo mong muốn, sau đó so sánh độ lệch đó thành các mức và điều khiển lái robot quay về quỹ đạo. Sai số dò line phụ thuộc vào khả năngphân biệt các trạng thái của hệ thống, hay khoảng cách giữa các sensor, do đó tốc độ xửlý rất nhanh.
Module dò line với 15 con quang trở và 20 led, led chiếu ánh sáng xuống đường line và phản xạ vào quang trở tương ứng, nếu là line trắng thì ánh sáng phản xạ lại với cường độ mạnh tương ứng mức logic 1, còn line đen ánh sáng bị hấp thụ, mức phản xạ thấp tương ứng mức logic 0.
Khả năng đáp ứng nhanh sự thay đổi màu sắc giữa trắng và đen. Có khả năng nhận biết những đoạn line gấp khúc đột ngột ít bị nhiễu. Dễ tìm kiếm, mua được trên thị trường và giá thành hợp lí.
Cảm biến dò line dựa trên sự phân tích các phương án về sensor ở phần tổng quan, sử dụng quang trở ( LDR) là hợp lý cũng như đáp ứng được các yêu cầu kĩ thuật của đề tài.
Hình 3.17 Module cảm biến dò line
Cảm biến phát hiện vật cản
Khi di chuyển mà phát hiện vật cản robot sẽ dừng lại và có còi báo hiệu, nhóm chọn cảm biến siêu âm HC- SR04 làm cảm biến phát hiện vật cản. Cảm biến siêu âm Ultrasonic HC-SR04 được sử dụng để nhận biết khoảng cách từ vật thể đến cảm biến nhờ sóng siêu âm, cảm biến có thời gian phản hồi nhanh, độ chính xác cao, phù hợp cho các ứng dụng phát hiện vật cản, đo khoảng cách bằng sóng siêu âm.
Cảm biến siêu âm Ultrasonic HC-SR04 sử dụng cặp chân Echo / Trigger để phát và nhận tín hiệu, cảm biến được sử dụng phổ biến với vô số bộ thư viện và Code mẫu với Arduino.
Hình 3.18 Cảm biến siêu âm HCSR 04
Thông số kỹ thuật:
- Điện áp hoạt động: 5VDC
- Dòng tiêu thụ: 10~40mA
- Tín hiệu giao tiếp: TTL
- Chân tín hiệu: Echo, Trigger.
- Góc quét:<15 độ
- Tần số phát sóng: 40Khz
- Khoảng cách đo được: 2~450cm
(khoảng cách xa nhất đạt được ở điều khiện lý tưởng với không gian trống và bề mặt vật thể bằng phẳng, trong điều kiện bình thường cảm biến cho kết quả chính xác nhất ở khoảng cách <100cm).
- Sai số: 0.3cm (khoảng cách càng gần, bề mặt vật thể càng phẳng sai số càng nhỏ).
Còi báo
Hình 3.19 Module còi báo
Còi báo có nhiệm vụ báo động khi có vật cản .
Cảm biến hồng ngoại
Khi di chuyển đến nơi cần đẩy hàng, trước khi đẩy hàng robot cần kiểm tra xem có vật cản hay không, khi không có vật cản robot tiến hành đẩy hàng. Nhóm chọn cảm biến hồng ngoại. Cảm biến có khả năng thích nghi với môi trường, có một cặp truyền và nhận tia hồng ngoại.
Tia hồng ngoại phát ra một tần số nhất định, khi phát hiện hướng truyền có vật cản (mặt phản xạ), phản xạ vào đèn thu hồng ngoại, sau khi so sánh, đèn màu xanh sẽ sáng lên, đồng thời đầu cho tín hiệu số đầu ra (một tín hiệu bậc thấp).
Khoảng cách làm việc hiệu quả 2 ~ 5cm, điện áp làm việc là 3.3 V đến 5V. Độ nhạy sáng của cảm biến được điều chỉnh bằng chiết áp, cảm biến dễ lắp ráp, dễ sử dụng,....
Có thể được sử dụng rộng rãi trong robot tránh chướng ngại vật, xe tránh chướng ngại vật và dò đường....
Hình 3.20 Cảm biến hồng ngoại
Thông số kỹ thuật:
- Bộ so sánh sử dụng LM393, làm việc ổn định
- Điện áp làm việc: 3.3V - 5V DC.
- Khi bật nguồn, đèn báo nguồn màu đỏ sáng.
- Lỗ vít 3 mm, dễ dàng cố định, lắp đặt.
- Kích thước: 3.2cm * 1.4cm
Các mô-đun đã được so sánh điện áp ngưỡng thông qua chiết áp, nếu sử dụng ở chế độ thông thường, xin vui lòng không tự ý điều chỉnh chiết áp.
Cổng giao tiếp:
VCC: điện áp chuyển đổi từ 3.3V đến 5V (có thể được kết nối trực tiếp đến vi điều khiển 5V và 3.3V)
GND: GND ngoài
OUT: đầu ra kỹ thuật số (0 và 1)
Công tắc hành trình
Công tắc hành trình có nhiệm vụ báo hiệu kết thúc chu trình. Nhóm sử dụng 2 công tắc hành trình, một cho cơ cấu nâng hạ, một cho cơ cấu đẩy hàng.
Hình 3.21 Công tắc hành trình
3.2.3 Khối driver điều khiển động cơ
Driver điều khiển động cơ 2 bánh sau
Mạch công suất có nhiệm vụ điều khiển động cơ bánh xe. Mạch công suất được chọn trong đề tài này là Module điều khiển động cơ BTS7960 43A
Hình 3.22 Driver động cơ BTS7960 43A
sụt áp và ngắn
Thông số kỹ thuật:
- Nguồn: 6 ~ 27V.
- Dòng điện tải mach: 43A (Tải trở) hoặc 15A (Tải cảm).
- Tín hiệu logic điều khiển: 3.3 ~ 5V.
Tự động shutdown khi điện áp thấp: để tránh điều khiển động cơ ở mức điện áp thấp thiết bị sẽ tự shutdown. Nếu điện áp < 5.5V, driver sẽ tự ngắt điện và sẽ mở lại sau khi điện áp > 5.5V.
Bảo vệ quá nhiệt: BTS7960 bảo vệ chống quá nhiệt bằng cảm biến nhiệt tích hợp bên trong. Đầu ra sẽ bị ngắt khi có hiện tượng quá nhiệt.
Kích thước: 40 x 50 x12mm. Sơ đồ chân:
VCC : Nguồn tạo mức logic điều khiển ( 5V - 3V3 )
GND : Chân đất.
R_EN = 0 Disable nửa cầu H phải. R_EN = 1 : Enable nửa cầu H phải.
L_EN = 0 Disable nửa cầu H trái. L_EN = 1 : Enable nửa cầu H trái.
RPWM và LPWM : chân điều khiển đảo chiều và tốc độ động cơ. RPWM = 1 và LPWM = 0 : Mô tơ quay thuận.
RPWM = 0 và LPWM = 1 : Mô tơ quay nghịch
RPWM = 1 và LPWM = 1 hoặc RPWM = 0 và LPWM = 0 : Dừng.
R_IS và L_IS : kết hợp với điện trở để giới hạn dòng qua cầu H
Với ứng dụng bình thường RPWM,LPWM nối với GPIO (VD : chân digital 2,3) để điều khiển chiều quay của động cơ.
Chân R_EN , L_EN nối chung lại rồi nối với PWM (VD chân digital 5) để điều khiển tốc độ động cơ.
Driver điều khiển động cơ cơ cấu nâng hạ và đẩy hàng
Mạch công suất có nhiệm vụ điều khiển động cơ bánh xe. Mạch công suất được chọn trong đề tài này là Module điều khiển động cơ TB6600 4A 9V- 42VDC
Mạch Điều Khiển Động Cơ Bước TB6600 sử dụng IC TB6600HQ/HG, dùng cho các loại động cơ bước: 42/57/86 2 pha hoặc 4 dây có dòng tải là 4A/42VDC. Ứng dụng trong làm máy như CNC, Laser hay các máy tự động khác.
Hình 3.23 Mạch công suất TB6600
Thông Số Kỹ Thuật:
- Nguồn đầu vào là 9V - 42V
- Dòng cấp tối đa là 4A
- Ngõ vào có cách ly quang, tốc độ cao
- Có tích hợp đo quá dòng quá áp
- Trọng lượng: 200G
- Kích thước : 96 * 71 * 37mm Cài đặt và ghép nối:
DC+: Nối với nguồn điện từ 9 - 40VDC
DC- : Điện áp (-) âm của nguồn
A+ và A -: Nối vào cặp cuộn dây của động cơ bước
B+ và B- : Nối với cặp cuộn dây còn lại của động cơ
PUL+: Tín hiệu cấp xung điều khiển tốc độ (+5V) từ BOB cho M6600
DIR+: Tín hiệu cấp xung đảo chiều (+5V) từ BOB cho M6600
DIR-: Tín hiệu cấp xung đảo chiều (-) từ BOB cho M6600
ENA+ và ENA -: khi cấp tín hiệu cho cặp này động cơ sẽ không có lực momen giữ và quay nữa
Có thể đấu tín hiệu dương (+) chung hoặc tín hiệu âm (-) chung cho module điều khiển động cơ
3.2.4 Khối nguồn
Pin 18650
Pin 18650 là một loại pin lithium-ion có thể sạc lại. Pin lithium-ion là cuộc cách mạng hóa các thiết bị cầm tay. Pin có trong mọi thứ, từ điện thoại thông minh và máy ảnh của chúng tôi đến màn hình siêu nhỏ, dụng cụ thể dục và đèn pin. Khi công nghệ pin đã phát triển mạnh, các sản phẩm 18650, từng được dành riêng cho các nhà sản xuất đã tìm đường đến tay người tiêu dùng. Tuy nhiên, các dòng pin lithium mới này chưa được tiêu chuẩn hóa hoàn toàn giống như các pin sạc AA bạn sẽ tìm thấy trong siêu thị.
Hình 3.24 Pin 18650 Samsung
Pin 18650 là pin có kích thước 18mm x 65mm. Mã pin 18650 dành riêng cho kích thước của pin lithium-ion với nhiều thương hiệu sản xuất như pin panasonic, sony, ansmann, akasha… đã trở thành tiêu chuẩn vàng mới cho pin có thể thay thế và có thể sạc lại. Pin 18650 cung cấp hiệu suất của một pin lithium-ion, công suất trong khoảng 1800mAh đến khoảng 3500mAh và công suất 3,7 volt. Chúng được sử dụng trong một loạt các thiết bị từ máy tính xách
tay đến con trỏ laser và các phụ kiện máy ảnh như gimbals và thanh trượt, đèn pin…
Để thu đc bộ nguồn có điện áp 12V cung cấp năng lượng cho robot hoạt động. Nhóm tác giả sử dụng biện pháp đấu nối tiếp 3 viên pin 18650 vào với nhau.
Hình 3.25 Sơ đồ đấu pin
MODULE HẠ ÁP DSN-MINI-360 LM2596
Module Hạ Áp Mini-360 LM2596 Mạch chuyển đổi điện áp DC-DC đầu ra 3A với kích thước nhỏ gọn, thay thế cho LM2596S và đảm bảo được hiệu suất tốt, dùng để thiết kế các mạch nguồn cho các thiết bị nhỏ như mô hình, thiết bị di động, camera,…
Hình 3.26 Module hạ áp
Thông Số Kĩ Thuật:
- Điện áp đầu vào: 4.5 ~ 23V
- Điện áp đầu ra: 0.8 ~ 17V (có thể điều chỉnh bằng biến trở)
- Dòng ra: 3A (max), Dòng liên tục 1.8A
- Độ gợn đầu ra: < 30mV
- Hiệu suất chuyển đổi: 96% (tối đa)
- Xuất xứ: Trung Quốc
- Kích thước: 17mm x 11mm x 3.8mm - Trọng lượng: 2g Adapter sạc pin 3s 12.6V Hình 3.27 Adapter sạc pin 3s Thông số kĩ thuật: - Điện thế ngõ vào: AC 100 - 240V. - Điện thế ngõ ra: DC 12.6V - 2A
- Đầu jack cắm sạc: 5.5*2.5mm (thông dụng)
- Sạc CC/CV
3.2.5 Khối điều khiển trung tâm Arduino Atmega2560
Hình 3.28 Arduino Atmega2560
Thông số kĩ thuật:
Bảng 3.4 Thông số kĩ thuật của Arduino Atmega2560
Thông số Giá trị
Điện áp làm việc 5 (v)
Điện áp làm việc 6 – 20 (V)
Số chân I/O digital 54 chân (14 chân PWM)
Số chân analog 16
Giao tiếp UART 6
Xung clock 16 (MHz)
Cường độ dòng điện định mức
mỗi chân 40 (mA)
Arduino Mega 2560 phiên bản hiện đang được sử dụng rộng rãi và ứng dụng nhiều hơn.
Các thông số chung:
- Chip ATmega2560
- Bộ nhớ flash memory 256 KB
- SRAM 8KB
- EEPROM 4 KB
Giúp cho nhà phát triển khả năng viết những chương trình phức tạp hơn và điều khiển các thiết bị lớn hơn như máy in 3D, điều khiển robot. Arduino Mega 2560 là một vi điều khiển hoạt động dựa trên chip ATmega2560:
- 54 chân digital (trong đó có 15 chân có thể được sủ dụng như những chân PWM là từ chân số 2 → 13 và chân 44 45 46).
- 6 ngắt ngoài: chân 2 (interrupt 0), chân 3 (interrupt 1), chân 18 (interrupt 5), chân 19 (interrupt 4), chân 20 (interrupt 3), and chân 21 (interrupt 2).
- 16 chân vào analog (từ A0 đến A15). - 4 cổng Serial giao tiếp với phần cứng:
Bảng 3.5 Các cổng Serial giao tiếp với phần cứng
Cổng Serial Chân BX Chân TX
Cổng 0 0 1
Cổng 1 19 18
Cổng 2 17 16
Cổng 3 15 14
- 1 thạch anh với tần số dao động 16 MHz
- 1 cổng kết nối USB
- 1 đầu ICSP
- 1 nút reset
Arduino Mega 2560 có thể sử dụng hầu hết các shiled dành cho các mạch Arduino Uno hay hoặc các mạch trước đây như Duemilanove hay Diecimila với cách cài đặt và nối chân tương tự như Arduino Uno.
3.2.6 Phần mềm lập trình Arduino IDE
IDE trong Arduino IDE là phần có nghĩa là mã nguồn mở, nghĩa là phần mềm này miễn phí cả về phần tải về lẫn phần bản quyền: Người dùng có quyền sửa đổi, cải tiến, phát triển, nâng cấp theo một số nguyên tắc chung được nhà phát hành cho phép mà không cần xin phép ai, điều mà họ không được phép làm đối với các phần mềm nguồn đóng.
Tuy là phần mềm mã nguồn mở nhưng khả năng bảo mật thông tin của Arduino IDE là vô cùng tuyệt vời, khi phát hiện lỗi nhà phát hành sẽ vá nó và cập nhật rất nhanh khiến thông tin của người dùng không bị mất hoặc rò rỉ ra bên ngoài.
Hình 3.29 Phần mềm lập trình Arduino IDE
Arduino IDE sử dụng ngôn ngữ lập trình C/C++ rất phổ biến trong giới lập trình. Bất kỳ đoạn code nào của C/C++ thì Arduino IDE đều có thể nhận
dạng, giúp các lập trình viên thuận tiện trong việc thiết kế chương trình lập cho các bo mạch Arduino.
Arduino có một module quản lý bo mạch, nơi người dùng có thể chọn bo mạch mà họ muốn làm việc cùng và có thể thay đổi bo mạch thông qua Menu. Quá trình sửa đổi lựa chọn cũng liên tục tự động cập nhật để các dữ liệu có sẵn trong bo mạch và dữ liệu sửa đổi đồng nhất với nhau. Bên cạnh đó, Arduino IDE cũng giúp bạn tìm ra lỗi từ code mà bạn biết giúp bạn sửa lỗi kịp thời tránh tình trạng bo mạch Arduino làm việc với code lỗi quá lâu dẫn đến hư hỏng hoặc tốc độ xử lý bị giảm sút.
Arduino IDE tích hợp với hơn 700 thư viện, được viết và chia sẻ bởi nhà