Mục lục:

WiBot: 10 bước (có Hình ảnh)
WiBot: 10 bước (có Hình ảnh)

Video: WiBot: 10 bước (có Hình ảnh)

Video: WiBot: 10 bước (có Hình ảnh)
Video: Tiếng Anh 11 - Unit 1 The Generation gap - Speaking and Listening - Thầy Vũ Việt Tiến (DỄ HIỂU NHẤT) 2024, Tháng mười một
Anonim
WiBot
WiBot

Tài liệu hướng dẫn này trình bày chi tiết quy trình xây dựng rô bốt Wi-Fi trên nền tảng ZYBO. Dự án này sử dụng hệ điều hành thời gian thực để phát hiện đối tượng, đo khoảng cách và điều khiển phản hồi. Hướng dẫn này sẽ đề cập đến việc giao tiếp ZYBO với các thiết bị ngoại vi, chạy chương trình cơ sở tùy chỉnh và giao tiếp qua ứng dụng Java. Sau đây là danh sách tất cả các thành phần chính cần thiết cho dự án này:

  • 1 Ban phát triển ZYBO
  • 1 Bộ định tuyến không dây TL-WR802N
  • 1 Khung gầm bóng
  • 2 bánh xe 65mm
  • 2 Động cơ hộp số 140 vòng / phút
  • Bộ mã hóa 2 bánh xe
  • 1 cảm biến siêu âm HC-SR04
  • 1 Bộ chuyển đổi mức logic BSS138
  • 1 Trình điều khiển động cơ cầu H L293
  • 1 Bộ chuyển đổi DC / DC 12V sang 5V
  • 1 Pin LiPo 2200mAh
  • 1 cáp Ethernet
  • 1 cáp USB Micro-B
  • 1 Đầu nối XT60 Nữ
  • 2 dây nhảy nam nữ
  • 30 dây nhảy nam - nam
  • 2 điện trở 10kΩ
  • 1 bảng mạch

Ngoài ra, phần mềm sau phải được cài đặt trên máy tính đích:

  • Xilinx Vivado Design Suite 2018.2
  • Digilent Adept 2.19.2
  • FreeRTOS 10.1.1
  • Bộ phát triển Java SE 8.191

Bước 1: Lắp ráp khung robot

Lắp ráp khung gầm robot
Lắp ráp khung gầm robot
Lắp ráp khung gầm robot
Lắp ráp khung gầm robot
Lắp ráp khung gầm robot
Lắp ráp khung gầm robot

Lắp ráp khung bóng và gắn các hộp số và bộ mã hóa vào khung dưới cùng. ZYBO, breadboard và cảm biến siêu âm có thể được gắn với các bộ phận được cung cấp có thể được in 3D và cố định vào khung máy bằng cách sử dụng đế và băng dính hai mặt. khung dưới cùng. Gắn bộ định tuyến gần ZYBO và bộ chuyển đổi DC / DC gần bảng mạch. Gắn bánh xe vào hộp số ở cuối.

Bước 2: Dây điện tử

Dây điện tử
Dây điện tử
Dây điện tử
Dây điện tử
Dây điện tử
Dây điện tử

Kết nối đầu vào và đầu ra của bộ chuyển đổi DC / DC với hai thanh nguồn trên bảng mạch tương ứng. Đây sẽ là nguồn cung cấp 12V và 5V cho hệ thống. Kết nối ZYBO với đường ray 5V như trong hình. Sử dụng cáp nguồn USB Micro-B để kết nối bộ định tuyến với đường ray 5V. Cáp XT60 nên được gắn vào đường ray 12V. Không cắm pin cho đến khi phần còn lại của thiết bị điện tử được nối dây chính xác. Cảm biến siêu âm phải được kết nối với đường ray 5V. Tạo đường ray 3.3V trên breadboard bằng cách sử dụng chân 6 của cổng Pmod JC trên ZYBO. Đầu vào điện áp cao của bộ chuyển đổi logic nên được nối với đường ray 5V trong khi đầu vào điện áp thấp của bộ chuyển đổi logic nên được nối với đường sắt 3.3V. Nối dây bộ mã hóa động cơ vào đường sắt 3.3V. Kết nối VCC1 của trình điều khiển động cơ với đường ray 5V và kết nối VCC2 với đường ray 12V. Buộc tất cả các chân EN vào 5V và nối đất tất cả các chân GND.

Kết nối các chân TRIG và ECHO của cảm biến siêu âm với HV1 và HV2 của bộ chuyển đổi logic tương ứng. LV1 nên được nối với JC4 và LV2 nên được nối với JC3. Tham khảo biểu đồ cho sơ đồ chân của Pmod. Kết nối động cơ với trình điều khiển động cơ. Y1 phải được kết nối với cực dương của động cơ bên phải và Y2 phải được kết nối với cực âm của động cơ bên phải. Tương tự, Y3 phải được kết nối với cực dương của động cơ bên trái và Y4 phải được kết nối với cực âm của động cơ bên trái. A1, A2, A3 và A4 phải được ánh xạ tới JB2, JB1, JB4 và JB3 tương ứng. Tham khảo sơ đồ để biết số pin. Nối dây JC2 vào bộ mã hóa bên phải và JC1 vào bộ mã hóa bên trái. Đảm bảo các điện trở kéo lên được sử dụng để buộc các tín hiệu này vào đường ray 3.3V. Cuối cùng, sử dụng cáp ethernet để kết nối ZYBO với bộ định tuyến.

Bước 3: Tạo sơ đồ khối trong Vivado

Tạo sơ đồ khối trong Vivado
Tạo sơ đồ khối trong Vivado

Tạo một dự án RTL mới trong Vivado. Đảm bảo không chỉ định bất kỳ nguồn nào tại thời điểm này. Tìm kiếm "xc7z010clg400-1" và nhấn kết thúc. Tải xuống encoder_driver.sv và ultrasonic_driver.sv. Đặt chúng trong các thư mục riêng của chúng. Mở IP Packager trong "Tools" và chọn gói một thư mục cụ thể. Dán đường dẫn đến thư mục chứa trình điều khiển bộ mã hóa và nhấn "Tiếp theo". Nhấp vào "gói IP" và lặp lại các quy trình cho trình điều khiển cảm biến siêu âm. Sau đó, điều hướng đến trình quản lý kho lưu trữ trong tiểu mục IP trong menu cài đặt. Thêm các đường dẫn đến các thư mục trình điều khiển và nhấn áp dụng để đưa chúng vào thư viện IP.

Tạo một sơ đồ khối mới và thêm "Hệ thống xử lý ZYNQ7". Nhấp đúp vào khối và nhập tệp ZYBO_zynq_def.xml được cung cấp. Trong "Cấu hình MIO", bật Bộ hẹn giờ 0 và GPIO MIO. nhấn "OK" để lưu cấu hình. Thêm 3 khối "AXI GPIO" và 4 khối "AXI Timer". Chạy tự động hóa khối, sau đó là tự động hóa kết nối cho S_AXI. Nhấp đúp vào các khối GPIO để định cấu hình chúng. Một khối phải là kênh đôi với đầu vào 4 bit và đầu ra 4 bit. Đặt các kết nối này bên ngoài và gắn nhãn SW cho đầu vào và LED cho đầu ra. Khối thứ hai cũng phải là kênh đôi với 2 đầu vào 32-bit. Khối GPIO cuối cùng sẽ là một đầu vào 32 bit duy nhất. Đặt đầu ra pwm0 từ mỗi khối hẹn giờ bên ngoài. Gắn nhãn cho chúng là PWM0, PWM1, PWM2 và PWM3.

Thêm trình điều khiển bộ mã hóa vào sơ đồ khối và kết nối CLK với FCLK_CLK0. Kết nối OD0 và OD1 với các kênh đầu vào của khối GPIO thứ hai. Đặt ENC bên ngoài và đổi tên ENC_0 thành ENC. Thêm khối cảm biến siêu âm và kết nối CLK với FCLK_CLK0. Đặt TRIG và ECHO bên ngoài và đổi tên TRIG_0 thành TRIG và ECHO_0 thành ECHO. Kết nối RF với khối GPIO thứ ba. Tham khảo sơ đồ khối được cung cấp để tham khảo.

Nhấp chuột phải vào tệp sơ đồ khối của bạn trong ngăn Nguồn và tạo trình bao bọc HDL. Đảm bảo cho phép người dùng chỉnh sửa. Thêm tệp ZYBO_Master.xdc đã cung cấp làm ràng buộc. Nhấn "Tạo Bitstream" và giải lao.

Bước 4: Thiết lập Môi trường Phát triển Phần mềm

Đi tới "Tệp" để xuất phần cứng sang Vivado SDK. Đảm bảo bao gồm dòng bit. Nhập dự án RTOSDemo bên trong "CORTEX_A9_Zynq_ZC702". Nó sẽ nằm trong thư mục cài đặt FreeRTOS. Tạo một Gói Hỗ trợ Bảng mới chọn thư viện lwip202. Thay đổi BSP được tham chiếu trong dự án RTOSDemo thành BSP mà bạn vừa tạo *.

* Tại thời điểm viết bài Có thể hướng dẫn này, FreeRTOS dường như có lỗi trong việc tham chiếu BSP chính xác. Để khắc phục điều này, hãy tạo một BSP mới với các cài đặt giống như cài đặt đầu tiên. Thay đổi BSP được tham chiếu thành BSP mới và sau đó thay đổi nó trở lại BSP cũ sau khi không tạo được. FreeRTOS bây giờ sẽ biên dịch mà không có lỗi. Hãy xóa BSP không sử dụng.

Bước 5: Sửa đổi chương trình demo

Tạo một thư mục mới được gọi là "trình điều khiển" trong thư mục "src" của RTOSDemo. Sao chép gpio.h. các tệp gpio.c, pwm.h, pwm.c, odometer.h, odometer.c, rangefinder.c, rangefinder.h, motor.h và motor.c vào thư mục "driver".

Mở main.c và đặt mainSELECTED_APPLICATION thành 2. Thay thế main_lwIP.c trong "lwIP_Demo" bằng phiên bản cập nhật. BasicSocketCommandServer.c trong "lwIP_Demo / apps / BasicSocketCommandServer" cũng phải được cập nhật phiên bản mới. Cuối cùng, điều hướng đến "FreeRTOSv10.1.1 / FreeRTOS-Plus / Demo / Common / FreeRTOS_Plus_CLI_Demos" và thay thế Sample-CLI-command.c bằng phiên bản được cung cấp. Xây dựng dự án và đảm bảo mọi thứ biên dịch thành công.

Bước 6: Flash Firmware sang QSPI

Flash Firmware sang QSPI
Flash Firmware sang QSPI
Flash Firmware sang QSPI
Flash Firmware sang QSPI
Flash Firmware sang QSPI
Flash Firmware sang QSPI

Tạo một Dự án ứng dụng mới có tên "FSBL" bằng cách sử dụng mẫu "Zynq FSBL". Sau khi biên dịch dự án FSBL, hãy tạo hình ảnh khởi động của dự án RTOSDemo. Đảm bảo rằng "FSBL / Debug / FSBL.elf" được chọn làm bộ nạp khởi động trong "Phân vùng hình ảnh khởi động". Thêm đường dẫn đến tệp này theo cách thủ công nếu nó không được liệt kê.

Di chuyển jumper JP5 trên ZYBO sang "JTAG". Sử dụng cáp USB Micro-B để kết nối máy tính của bạn với ZYBO. Kết nối pin và bật ZYBO. Chạy Adept để đảm bảo ZYBO được máy tính nhận dạng chính xác. Nhấp vào "Chương trình Flash" trong Vivado SDK và cung cấp đường dẫn đến tệp BOOT.bin trong RTOSDemo và tệp FSBL.elf trong FSBL. Đảm bảo chọn "Xác minh sau khi flash" trước khi nhấn "Chương trình". Xem bảng điều khiển để đảm bảo hoạt động nhấp nháy đã hoàn tất thành công. Sau đó, tắt nguồn ZYBO và ngắt kết nối cáp USB. Di chuyển jumper JP5 thành "QSPI".

Bước 7: Định cấu hình Điểm truy cập không dây

Khi pin vẫn được kết nối, hãy kết nối với mạng Wi-Fi của bộ định tuyến. SSID và mật khẩu mặc định phải ở dưới cùng của bộ định tuyến. Sau đó, điều hướng đến https://tplinkwifi.net và đăng nhập bằng "admin" cho tên người dùng và mật khẩu. Chạy trình hướng dẫn cài đặt nhanh để định cấu hình bộ định tuyến ở chế độ điểm truy cập có bật DHCP. Đảm bảo cũng cập nhật tên người dùng và mật khẩu mặc định cho thiết bị. Bộ định tuyến sẽ tự động khởi động lại vào chế độ điểm truy cập sau khi bạn kết thúc.

Bật nguồn ZYBO và kết nối với bộ định tuyến bằng SSID bạn đã chỉ định. Bộ định tuyến rất có thể sẽ xuất hiện trên địa chỉ IP 192.168.0.100 hoặc 192.160.0.101. ZYBO sẽ được gán cho bất kỳ địa chỉ nào mà bộ định tuyến không có. Để nhanh chóng xác định địa chỉ IP của bộ định tuyến, bạn có thể chạy "ipconfig" từ dấu nhắc lệnh trong windows hoặc "ifconfig" từ thiết bị đầu cuối trong Linux hoặc MacOS. Nếu bạn vẫn kết nối với bộ định tuyến, bạn sẽ thấy địa chỉ IP của bộ định tuyến được hiển thị bên cạnh giao diện không dây của bạn. Sử dụng thông tin này để xác định địa chỉ IP của ZYBO. Để xác nhận địa chỉ IP của ZYBO, bạn có thể ping nó từ dòng lệnh hoặc kết nối với nó qua telnet.

Bước 8: Chạy chương trình Java

Chạy chương trình Java
Chạy chương trình Java

Tải xuống RobotClient.java và biên dịch tệp bằng lệnh "javac RobotClient.java" từ dòng lệnh. Chạy lệnh "java RobotClient" trong đó "ip_address" là địa chỉ IP của ZYBO. GUI điều khiển sẽ bật lên nếu thiết lập kết nối thành công giữa máy tính và ZYBO. Sau khi lấy nét cửa sổ, có thể điều khiển robot bằng các phím mũi tên trên bàn phím. Nhấn nút thoát để kết thúc phiên và ngắt kết nối với rô bốt.

GUI sẽ đánh dấu các phím được nhấn và hiển thị đầu ra động cơ ở trên cùng bên phải. Đồng hồ đo khoảng cách ở bên trái lấp đầy một vạch sau mỗi 2 mét cho đến tối đa 10 mét.

Bước 9: Hiệu chỉnh máy đo khoảng cách

Các công tắc trên ZYBO có thể được sử dụng để định cấu hình máy đo khoảng cách trên bo mạch. Khoảng cách phát hiện tối thiểu d được đưa ra dưới dạng hàm của đầu vào công tắc i:

d = 50i + 250

Đầu vào có thể thay đổi từ 0 đến 15 trong các bước số nguyên. Điều này có nghĩa là phạm vi khoảng cách từ 0,25 mét đến 1 mét. Ở khoảng cách tối thiểu, đèn LED đầu tiên sẽ bắt đầu nhấp nháy. Số lượng đèn LED đang hoạt động tỷ lệ với mức độ gần của đối tượng.

Bước 10: Khả năng tiếp cận

Robot này rất dễ tiếp cận. Do sự đơn giản của việc điều khiển, nó có thể được điều khiển hoàn toàn chỉ bằng một ngón tay. Để cải thiện khả năng tiếp cận, có thể thêm hỗ trợ cho các thiết bị đầu vào bổ sung. Điều này có thể cho phép người khuyết tật sử dụng điều khiển robot bằng một bộ phận khác trên cơ thể của chúng.

Đề xuất: