Mục lục:
- Bước 1: Lắp ráp khung robot
- Bước 2: Dây điện tử
- Bước 3: Tạo sơ đồ khối trong Vivado
- Bước 4: Thiết lập Môi trường Phát triển Phần mềm
- Bước 5: Sửa đổi chương trình demo
- Bước 6: Flash Firmware sang QSPI
- Bước 7: Định cấu hình Điểm truy cập không dây
- Bước 8: Chạy chương trình Java
- Bước 9: Hiệu chỉnh máy đo khoảng cách
- Bước 10: Khả năng tiếp cận
Video: WiBot: 10 bước (có Hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:34
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 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ử
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 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
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
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:
Máy ảnh hồng ngoại hình ảnh nhiệt tự làm: 3 bước (có hình ảnh)
Máy ảnh hồng ngoại hình ảnh nhiệt tự làm: Xin chào! Tôi luôn tìm kiếm các Dự án mới cho các bài học vật lý của mình. Hai năm trước, tôi đã xem một báo cáo về cảm biến nhiệt MLX90614 từ Melexis. Loại tốt nhất chỉ với 5 ° FOV (trường nhìn) sẽ phù hợp với máy ảnh nhiệt tự chế
Tự làm cảm biến hình ảnh và máy ảnh kỹ thuật số: 14 bước (có hình ảnh)
Tự làm cảm biến hình ảnh và máy ảnh kỹ thuật số: Có rất nhiều hướng dẫn trực tuyến về cách xây dựng máy ảnh phim của riêng bạn, nhưng tôi không nghĩ rằng có bất kỳ hướng dẫn nào về việc xây dựng cảm biến hình ảnh của riêng bạn! Cảm biến hình ảnh có sẵn từ rất nhiều công ty trực tuyến và việc sử dụng chúng sẽ giúp thiết kế
Hình ảnh - Máy ảnh Raspberry Pi in 3D.: 14 bước (có Hình ảnh)
Hình ảnh - Máy ảnh Raspberry Pi 3D được in: Cách đây trở lại vào đầu năm 2014, tôi đã xuất bản một máy ảnh có thể hướng dẫn được gọi là SnapPiCam. Máy ảnh được thiết kế để đáp ứng với Adafruit PiTFT mới được phát hành. Đã hơn một năm trôi qua và với bước đột phá gần đây của tôi vào in 3D, tôi nghĩ rằng n
MÁY ẢNH UNICORN - Raspberry Pi Zero W NoIR Cấu hình máy ảnh 8MP: 7 bước (có hình ảnh)
UNICORN CAMERA - Raspberry Pi Zero W NoIR Camera 8MP Build: Pi Zero W NoIR Camera 8MP BuildThis hướng dẫn được tạo ra để giúp bất kỳ ai muốn có Camera hồng ngoại hoặc Camera di động thực sự tuyệt vời hoặc Camera Raspberry Pi di động hoặc chỉ muốn giải trí, heheh . Đây là cấu hình và giá cả phải chăng nhất
Ánh sáng video thân mật / Ánh sáng chụp ảnh cầm tay: 7 bước (với hình ảnh)
Ánh sáng video thân mật / Ánh sáng chụp ảnh cầm tay: Tôi biết bạn đang nghĩ gì. Bằng cách " thân mật, " Ý tôi là chiếu sáng cận cảnh trong các tình huống ánh sáng khó - không nhất thiết dành cho " các tình huống thân mật. &Quot; (Tuy nhiên, nó cũng có thể được sử dụng cho việc đó …) Là một nhà quay phim thành phố New York - hoặc