CHƯƠNG 1 : CƠ SỞ LÝ THUYẾT
3.5.3. Khối cảm biến
2.2.1.7. Sơ đồ nguyên lý
Hình 2.10 Sơ đồ ngun lý mơ-đun dị line (1)
27
Hình 2.10 Sơ đồ ngun lý mơ-đun dị line (2)
28
Hình 2.10 Sơ đồ ngun lý mơ-đun dị line (3)
2.2.1.8. Hệ thống dò đường
Module dò line được dùng nhiều trong các cuộc thi robot như robocon, đua xe dò line, robo sumo. Sử dụng cho robot tự động hoặc bán tự động. Ngay cả trong cơng nghiệp cũng dùng tính năng dị line cho các robot tự hành....
Hình 2.13 Cảm biến dị line 8 LED
Bộ sản phẩm dị line gồm có:
Module dị line 8 kênh sử dụng quang trở với công nghệ led đôi 2 hàng đảm bảo cho các bạn dị line trắng cực tốt.
29
Hình 2.14 Module dị line
Lưu ý: Khi sử dụng module cần setup khoảng cách từ mặt quang trở đến mặt sàn là
5mm-10mm để tối ưu độ chính xác của quang trở.
Module đọc ADC chuyển đổi 8 kênh ADC thành tín hiệu số với tốc độ chuyển đổi nhanh giúp người dùng dễ dàng đọc và xử lí tín hiệu. Trên module có 8 led hiển thị kết quả chuyển đổi adc tương ứng với 8 kênh và nút nhấn điều chỉnh độ nhạy của cảm biến.
Hình 2.15 Module đọc ADC
Hướng dẫn sử dụng:
Set up module:
Đấu Bus bo quang trở và led vào bo main có kí hiệu ADC sensor.
30
Đấu bus bo main có ki hiệu là OUT vđk về bo master.
Cấp nguồn vào thì thấy 8 led đơn chớp 4 lần (dấu hiệu bo tốt).
Sau khi gắn vào robot thì tiến hành canh chỉnh lấy thơng số trên sân như sau: b) Đưa phần bo quang trở tới vùng sáng nhất trên sân thường là mầu đỏ hoặc xanh lá (không phải các vạch trắng) vùng nền trên sân.
c) Nhấn nút mode thì thấy 8 led đơn chạy từ ngồi vào trong.
d) Bạn có thể nhấn nút 0 cho tới nút 6 , các nút này cho ta các độ nhạy khác nhau, nút 0 là nhạy nhất và nút 6 là ít nhạy nhất.
e) Sau khi nhấn nút xong thì đưa vào vạch trắng trên sân để quan sát, nếu chưa tốt thì đưa ra nền sân (khơng phải vạch trắng) để chụp lại nút khác, rồi lại thử đưa vào vạch trắng để xem kết quả có ok khơng, nếu ok rồi thì nhấn nút mode để thốt khỏi chương trình setup và lưu kết quả lại vào eeprom thì thấy 8 led đơn sẽ chạy từ trong ra ngoài.
Ngoài ra nếu các chế độ trên vẫn cịn nhạy các bạn có thể tổ hợp nút mode + nút 0 hoặc nút mode + nút 1 để vào chế độ setup thì độ nhạy của modul được giảm bớt đi, sau đó các bước thao tác cũng như trên, dấu hiệu phân biệt giữa 3 chế độ là:
mode là khi nhấn xong khơng có led sáng.
mode + nút 0 khi nhấn tổ hợp thì có led 0 sáng.
mode + nút 1 khi nhấn tổ hợp thì có led 1 sáng.
Tín hiệu trả về MCU:
Các chân tín hiệu từ 0 -> 7 trên module chuyển đổi tương ứng với các kênh từ 0 -> 7 trên module dò line. Khi các kênh không phát hiện line trắng chân tương ứng sẽ ở mức 1 (5V). Ngược lại khi bất kỳ kênh nào phát hiện line trắng thì chân tương ứng với kênh đó sẽ kéo xuống mức 0 (0V).
2.2.1.9. Hệ thống phát hiện vật cản
Cảm biến siêu âm HC-SR04
Là một dạng cảm biến module. Cảm biến này thường chỉ là một bản mạch, hoạt động theo nguyên lý thu phát sóng siêu âm bởi 2 chiếc loa cao tần.
Cảm biến siêu âm HC-SR04 thường được kết hợp với các bộ arduino, PIC, AVR,… để chạy một số ứng dụng như : phát hiện vật cản trên xe robot, đo khoảng cách vật,…
Hình 2.16 Module cảm biến siêu âm HC-SR04
Chính vì là một cảm biến siêu âm dạng module, cho nên hầu như ứng dụng hay độ chính xác của cảm biến đều phụ thuộc vào phần code mà người sử dụng lập trình và nạp vào bản mạch điều khiển.
Cấu tạo cảm biến siêu âm HC-SR04 :
Cấu tạo của cảm biến siêu âm HC-SR04 gồm 3 phần:
Bộ phận phát sóng siêu âm:
Cấu tạo của các đầu phát và đầu thu siêu âm là các loa gốm đặc biệt, phát siêu âm có cường độ cao ở tần số thường là 40kHz cho nhu cầu đo khoảng cách.
Hình 2.17 Phát sóng trên cảm biến siêu âm HC-SR04
Về nguyên lý, các loa này cần có nguồn điện áp cao mới phát tốt được ( nhà sản xuất công bố = 30V). Trên mạch công suất sử dụng IC MAX232 làm nhiệm vụ đệm. IC này sẽ lấy tín hiệu từ bộ điều khiển, khuếch đại biên độ lên mức +/-30V cấp nguồn cho bộ loa trên. IC này sẽ được đóng ngắt qua một transistor để hạn chế việc tiêu thụ dòng.
32
Bộ phận thu sóng siêu âm phản xạ:
Thiết bị thu là dạng loa gốm có cấu tạo chỉ nhạy với một tần số chẳng hạn như 40KHz. Qua một loạt các linh kiện như OPAM TL072, transistor NPN…Tín hiệu này liên tục được khuếch đại biên độ và cuối cùng là đưa qua một bộ so sánh, kết hợp với tín hiệu từ bộ điều khiển để đưa về bộ điều khiển.
Bộ phận xử lý, điều khiển tín hiệu:
Vi điều khiển (PIC16F688, STC11,…) được sử dụng làm nhiệm vụ phát xung, xử lý tính tốn thời gian từ khi phát đến khi thu được sóng siêu âm nếu nhận được tín hiệu TRIG.
Nguyên lý hoạt động cảm biến siêu âm HC-SR04
Để đo khoảng cách bằng cảm biến siêu âm HC-SR04, ta sẽ phát 1 xung rất ngắn (5 microSeconds) từ chân Trig. Tiếp theo, 1 xung HIGH ở chân Echo sẽ được cảm biến tạo ra và phát đi cho đến khi nhận lại được sóng phản xạ ở chân này. Lúc này, độ rộng của xung sẽ bằng với thời gian sóng siêu âm được phát từ cảm biến và phản xạ lại.
Trong khơng khí, tốc độ âm thanh đạt mức 340 m/s (hằng số), tương đương với 29,412 microSeconds/cm (106 / (340*100)).
Khi đã tính được thời gian, ta sẽ chia cho 29,412 để ra giá trị khoảng cách.
Hình 2.18 Kích thước và sóng cảm biến siêu âm HC-SR04
33
Ví dụ đo mức chất lỏng có trong bồn chứa bằng cảm biến siêu âm HC-SR04: Ta sẽ có các bước như sau:
Đặt chân TRIG lên mức Cao (5V) trong 10 μs (microseconds)
Sau đó module siêu âm ghi lại thời gian và gửi ra sóng âm tần số 40Khz
Sóng siêu âm truyền xuống bề mặt chất lỏng trong bồn chứa và phản xạ lại
Sóng phản xạ truyền ngược về đầu dị
Module siêu âm nhận được sóng phản xạ và đánh dấu thời gian nhận được tín hiệu này
Cuối cùng, module siêu âm đưa chân ECHO lên mức cao trong khoảng thời gian (microseconds ) phản hồi sóng âm (Gửi đi – nhận về) và tính tốn ra khoảng cách.
Kết quả trên chân ECHO: 58 μs/cm
Vì vậy, nếu chân ECHO lên mức cao trong thời gian 5800 μs (5.8 ms) , thì chúng ta tính được khoảng cách giữa cảm biến và mức chất lỏng trong bể là:
5800μs / 58μs/cm = 100cm = 1m 3.5.4. Khối giao tiếp
Hệ thống giao tiếp sử dụng mạng wifi kết nối giữa kit ESP8266 và ứng dụng Blynk.
2.2.1.10. Sơ đồ nguyên lý
Hình 2.19 Sơ đồ nguyên lý khối giao tiếp
34
2.2.1.11. Giới thiệu về ESP8266 NodeMCU
ESP8266 NodeMCU (Node MicroController Unit) là một môi trường phát triển phần mềm và phần cứng mã nguồn mở được xây dựng trên một hệ thống trên chip (SoC) được gọi là ESP8266. ESP8266, được thiết kế và sản xuất bởi Espressif Systems, chứa các thành phần quan trọng của một máy tính: CPU, RAM, mạng (WiFi), thậm chí cả hệ điều hành và SDK hiện đại.
Board mạch thu phát wifi ESP8266 NodeMCU với kích thước nhỏ gọn, giá rẻ được dùng nhiều cho các thiết bị IoT, các ứng dụng cần kết nối mạng wifi.
Sơ đồ chân
Các module ESP8266 được sử dụng rộng rãi nhất là ESP-01, ESP8266 NodeMCU (ESP8266-12E) và Wemos D1 Mini. Hình bên dưới cho thấy sơ đồ chân của Kit NodeMCU ESP8266-12E. Nếu bạn đang sử dụng những module khác, các bạn có thể dễ dàng lên google để tìm sơ đồ chân.
Hình 2.20 Sơ đồ chân ESP8266 NodeMCU
Thông số kỹ thuật
WiFi: 2.4 GHz hỗ trợ chuẩn 802.11 b/g/n
Điện áp hoạt động: 5VDC thông qua cổng micro USB
35
Số chân I/O: 11 (tất cả các chân I/O đều có Interrupt/PWM/I2C/One-wire, trừ chân D0)
Số chân Analog Input: 1 (điện áp vào tối đa 3.3V)
Bộ nhớ Flash: 4MB
Giao tiếp: Cable Micro USB ( tương đương cáp sạc điện thoại )
Hỗ trợ bảo mật: WPA/WPA2
Tích hợp giao thức TCP/IP
Lập trình trên các ngơn ngữ: C/C++, MicroPython, Lua
2.2.1.12. Ứng dụng Blynk
Blynk thực ra là một cái app trên điện thoại, cho phép người dùng có thể tạo ra giao diện và điều khiển thiết bị theo ý thích của cá nhân. Mình lựa chọn Blynk vì một số lý do sau:
Dễ sử dụng: Quá đơn giản, chỉ việc vào store, cài đặt, sau đó đăng ký tài
khoản và mất không quá 5 phút để làm quen.
Đẹp và đầy đủ: Giao diện của Blynk quá tuyệt vời, sử dụng bằng cách kéo
thả, bạn cần nút bấm, kéo thả nút bấm, bạn cần đồ thị, kéo thả đồ thị, bạn cần LCD, kéo thả LCD, tóm lại là bạn cần gì thì kéo thả cái đó.
Khơng phải lập trình android hay ios: Nếu như khơng có kiên thức về làm app trên
điện thoại thì việc điều khiển thiết bị từ chính smartphone của mình quả là điều vơ cùng khó khăn và phức tạp. Nhờ blynk thì chúng ta có thể bỏ qua bước lập trình tạo app. Có thể thử nhanh chóng và ứng dụng được dự án của mình vào thực tế.
Nhanh chóng và tiện lợi: Thử nghiệm nhanh chóng, có thể điều khiển giám
sát ở bất kỳ nơi nào có internet.
Tất nhiên ngồi những điểm lợi từ blynk thì cịn có những cái hạn chế như phải mua energy để tạo được nhiều giao diện và chia sẻ giao diện cho người khác. Những cái này cũng không phải là vấn đề lớn lắm.
Để sử dụng được blynk thì cần phải tải thư viện của nó thơng qua Arduino IDE
Chọn Sketch -> Include Library -> Manage Libraries, tìm kiếm blynk và install.
Hình 2.21 Thêm thư viên Blynk trên Arduino IDE
37
3.5.5. Khối xử lý trung tâm
2.2.1.13. Sơ đồ nguyên lý
Hình 2.22 Sơ đồ nguyên lý khối xử lý trung tâm
2.2.1.14. Bộ điều khiển trung tâm arduino mega 2560
Arduino mega 2560 là sản phẩm tiêu biểu cho dòng mạch mega, là dịng mạch có nhiều cải tiến hơn so với Arduino Uno. Đặc biệt bộ nhớ Flash của Mega được tăng lên một cách đáng kể, gấp 4 lần so với những phiên bản cũ của Uno R3. Cùng với việc được trang bị 3 timer và 6 cổng interput khiến cho bo mạch Mega hồn tồn có thể giải quyết được nhiều bài tốn khó, sử dụng nhiều động cơ và có thể xử lý song song nhiều luồng dữ liệu số cũng như tương tự.
38
Hình 2.23 Arduino Mega 2560
Các tính năng nổi bật của Arduino Mega 2560:
Arduino Mega 2560 là một vi điều khiển hoạt động dựa trên chip ATmega2560. Bao gồm:
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 2.1 Các cổng Serial của Arduino Mega 2560
39
1 thạch anh với tần số dao động 16 MHz
1 cổng kết nối USB
1 jack cắm điện
1 đầu ICSP
1 nút reset
Thông số kỹ thuật của Arduino Mega 2560
Chip xử lý
Điện áp hoạt động Điện áp vào ( đề nghị) Điện áp ra (giới hạn)
Cường độ dòng điện trên mỗi 3.3V pin Cường độ dòng điện trên mỗi I/O pin Flash Memory
SRAM EEPROM Clock Speed
Bảng 2.2 Thông số kỹ thuật của Arduino Mega 2560
Một số lưu ý khi sử dụng Arduino Mega 2560
Khi bắt đầu sử dụng Arduino Mega 2560, bạn nên chú ý lựa chọn lại board. Bằng cách vào Tool → Board → Arduino Mega 2560. Nhằm tránh trước đó bạn đã sử dụng loại Arduino khác cổng vẫn còn nhận là board cũ nên khi build bạn sẽ gặp lỗi.
Khi sử dụng chân RX, TX cuả Arduino, các bạn nên nhớ rút dây cắm tại 2 chân này ra rồi hãy bắt đầu upload. Sau đó hãy cắm lại bình thường và sử dụng để tránh gặp phải lỗi
Không được phép cắm trực tiếp chân GND vào chân nguồn 5V, có thể dẫn tới hỏng mạch.
40
3.5.6. Khối hiển thị và cảnh báo
2.2.1.15. Màn hình led LCD 16x2
Hình 2.24 Màn hình LCD 16×2
Thơng số kỹ thuật LCD 16×2:
LCD 16×2 được sử dụng để hiển thị trạng thái hoặc các thơng số.
LCD 16×2 có 16 chân trong đó 8 chân dữ liệu (D0 – D7) và 3 chân điều khiển (RS, RW, EN).
5 chân còn lại dùng để cấp nguồn và đèn nền cho LCD 16×2.
Các chân điều khiển giúp ta dễ dàng cấu hình LCD ở chế độ lệnh hoặc chế độ dữ liệu.
Chúng cịn giúp ta cấu hình ở chế độ đọc hoặc ghi.
LCD 16×2 có thể sử dụng ở chế độ 4 bit hoặc 8 bit tùy theo ứng dụng ta đang làm.
41
2.2.1.16. Module I2C Arduino
Hình 2.25 Module I2C LCD 16×2
LCD có q nhiều nhiều chân gây khó khăn trong quá trình đấu nối và chiếm dụng nhiều chân trên vi điều khiển.
Module I2C LCD ra đời và giải quyết vấn để này cho bạn.
Thay vì phải mất 6 chân vi điều khiển để kết nối với LCD 16×2 (RS, EN, D7, D6, D5 và D4) thì module IC2 bạn chỉ cần tốn 2 chân (SCL, SDA) để kết nối.
Module I2C hỗ trợ các loại LCD sử dụng driver HD44780(LCD 16×2, LCD 20×4, …) và tương thích với hầu hết các vi điều khiển hiện nay.
Ưu điểm:
Tiết kiệm chân cho vi điều khiển.
Dễ dàng kết nối với LCD.
Thông số kĩ thuật:
Điện áp hoạt động: 2.5-6V DC.
Hỗ trợ màn hình: LCD1602,1604,2004 (driver HD44780).
Giao tiếp: I2C.
Địa chỉ mặc định: 0X27 (có thể điều chỉnh bằng ngắn mạch chân A0/A1/A2).
Tích hợp Jump chốt để cung cấp đèn cho LCD hoặc ngắt.
Tích hợp biến trở xoay điều chỉnh độ tương phản cho LCD.
42
2.2.1.17. Giao tiếp I2C Module I2C LCD 16×2 GND VCC SDA SCL
Bảng 2.3 Đấu nối chân
Hình 2.26 Sơ đồ đấu nối giao tiếp IC2 với LCD 16×2.
2.2.1.18. Hệ thống cảnh báo bằng cịi
Trong thực tế trong nhà xưởng khi Robot tự hành AGV hoạt động thường gặp công nhân đi lại qua các đường đi của Robot khi Robot phát hiện nhờ hệ thống cảm biến và Camera thì cần phải có cảnh báo.
Hình 2.27 Sơ đồ nguyên lý hệ thống cảnh báo
43
Hình 2.28 Cịi piezo buzzer Chức năng: Chức năng: Cịi hú báo động đỏ Thơng số kỹ thuật: Điện áp hoạt động: 2-6V DC Tích hợp để gắn lên PCB Đường kính: 1.2cm 2.3. Nguyên lý hoạt động
Robot được điều khiển theo 2 chế độ là bằng tay và tự động. Ở chế độ điều khiển bằng tay, người dùng có thể dùng điện thoại để điều khiển robot trên màn hình. Việc này địi hỏi robot phải được kết nối với điện thoại thông qua internet. Trong chế độ này, hệ thống cảm biến phát hiện vật cản có thể được bật hay tắt là tùy ý người dùng.
Ở chế độ điều khiển thứ 2, chế độ vận hành tự động, người dùng sẽ gửi một mã lệnh yêu cầu robot đến các vị trí đã đánh dấu sẵn trước đó. Dựa trên vị trí hiện tại và vị trí cần