Оглавление:
- Шаг 1. Соберите корпус робота
- Шаг 2: проводная электроника
- Шаг 3: Создайте блок-схему в Vivado
- Шаг 4: Настройка среды разработки программного обеспечения
- Шаг 5: Измените демонстрационную программу
- Шаг 6: Прошивка прошивки в QSPI
- Шаг 7: Настройте точку беспроводного доступа
- Шаг 8: запустите программу Java
- Шаг 9: калибровка дальномера
- Шаг 10: доступность
Видео: WiBot: 10 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
В этой инструкции подробно описан процесс создания робота Wi-Fi на платформе ZYBO. В этом проекте используется операционная система реального времени для обнаружения объектов, измерения расстояния и оперативного управления. Это руководство будет охватывать взаимодействие ZYBO с периферийными устройствами, запуск специальной прошивки и обмен данными через приложение Java. Ниже приводится список всех ключевых компонентов, необходимых для этого проекта:
- 1 Совет по развитию ZYBO
- 1 беспроводной маршрутизатор TL-WR802N
- 1 Шасси Shadow
- 2 колеса 65 мм
- 2 мотор-редуктора 140 об / мин
- 2 колесных энкодера
- 1 ультразвуковой датчик HC-SR04
- 1 преобразователь логического уровня BSS138
- 1 L293 Драйвер двигателя H-моста
- 1 преобразователь постоянного / постоянного тока с 12 В в 5 В
- 1 литий-полимерный аккумулятор емкостью 2200 мАч
- 1 кабель Ethernet
- 1 кабель USB Micro-B
- 1 гнездовой разъем XT60
- 2 перемычки между мужчинами и женщинами
- 30 перемычек между мужчинами
- 2 резистора 10 кОм
- 1 макетная плата
Кроме того, на целевом компьютере должно быть установлено следующее программное обеспечение:
- Xilinx Vivado Design Suite 2018.2
- Digilent Adept 2.19.2
- FreeRTOS 10.1.1
- Комплект разработчика Java SE 8.191
Шаг 1. Соберите корпус робота
Соберите теневое шасси и прикрепите мотор-редукторы и энкодеры к нижней раме. ZYBO, макетная плата и ультразвуковой датчик могут быть установлены с помощью предоставленных деталей, которые можно напечатать на 3D-принтере и прикрепить к шасси с помощью стоек и двустороннего скотча. нижние рамки. Установите маршрутизатор рядом с ZYBO, а преобразователь постоянного тока в постоянный - рядом с макетной платой. Присоедините колеса к мотор-редукторам в самом конце.
Шаг 2: проводная электроника
Подключите вход и выход DC / DC преобразователя к двум шинам питания на макетной плате соответственно. Они будут служить источником питания 12 В и 5 В для системы. Подключите ZYBO к шине 5V, как показано на рисунке. Также используйте кабель питания USB Micro-B для подключения маршрутизатора к шине 5 В. Кабель XT60 должен быть прикреплен к шине 12 В. Не подключайте аккумулятор, пока остальная электроника не будет правильно подключена. Ультразвуковой датчик должен быть подключен к шине 5 В. Создайте шину 3,3 В на макетной плате, используя контакт 6 порта JC Pmod на ZYBO. Вход высокого напряжения логического преобразователя должен быть подключен к шине 5 В, а вход низкого напряжения преобразователя логики должен быть подключен к шине 3,3 В. Подключите энкодеры двигателя к шине 3,3 В. Подключите VCC1 драйвера двигателя к шине 5 В и подключите VCC2 к шине 12 В. Свяжите все контакты EN с 5 В и заземлите все контакты GND.
Подключите контакты TRIG и ECHO ультразвукового датчика к HV1 и HV2 логического преобразователя соответственно. LV1 должен быть подключен к JC4, а LV2 должен быть подключен к JC3. См. Схему распиновки Pmod. Подключите моторы к приводу мотора. Y1 должен быть подключен к положительной клемме правого двигателя, а Y2 должен быть подключен к отрицательной клемме правого двигателя. Точно так же Y3 должен быть подключен к положительной клемме левого двигателя, а Y4 должен быть подключен к отрицательной клемме левого двигателя. A1, A2, A3 и A4 должны быть сопоставлены с JB2, JB1, JB4 и JB3 соответственно. См. Схему номеров контактов. Подключите JC2 к правому энкодеру и JC1 к левому энкодеру. Убедитесь, что для подключения этих сигналов к шине 3,3 В. используются подтягивающие резисторы. Наконец, используйте кабель Ethernet для подключения ZYBO к маршрутизатору.
Шаг 3: Создайте блок-схему в Vivado
Создайте новый проект RTL в Vivado. Убедитесь, что вы не указываете никаких источников в это время. Найдите "xc7z010clg400-1" и нажмите "Готово". Загрузите encoder_driver.sv и ultrasonic_driver.sv. Поместите их в их собственные папки. Откройте IP Packager в разделе «Инструменты» и выберите пакет для указанного каталога. Вставьте путь к папке, содержащей драйвер кодировщика, и нажмите «Далее». Щелкните «пакет IP» и повторите процессы для драйвера ультразвукового датчика. После этого перейдите к диспетчеру репозитория в подразделе IP в меню настроек. Добавьте пути к папкам с драйверами и нажмите «Применить», чтобы включить их в библиотеку IP.
Создайте новую блок-схему и добавьте «Систему обработки ZYNQ7». Дважды щелкните блок и импортируйте предоставленный файл ZYBO_zynq_def.xml. В разделе «Конфигурация MIO» включите Таймер 0 и GPIO MIO. нажмите «ОК», чтобы сохранить конфигурацию. Добавьте 3 блока «AXI GPIO» и 4 блока «AXI Timer». Запустите автоматизацию блока с последующей автоматизацией подключения для S_AXI. Дважды щелкните блоки GPIO, чтобы настроить их. Один блок должен быть двухканальным с 4-битным входом и 4-битным выходом. Сделайте эти соединения внешними и пометьте их SW для входа и LED для выхода. Второй блок также должен быть двухканальным с двумя 32-битными входами. Последний блок GPIO будет одним 32-битным входом. Сделайте вывод pwm0 от каждого блока таймера внешним. Обозначьте их PWM0, PWM1, PWM2 и PWM3.
Добавьте драйвер кодировщика на блок-схему и подключите CLK к FCLK_CLK0. Подключите OD0 и OD1 к входным каналам второго блока GPIO. Сделайте ENC внешним и переименуйте ENC_0 в ENC. Добавьте блок ультразвукового датчика и подключите CLK к FCLK_CLK0. Сделайте TRIG и ECHO внешними и переименуйте TRIG_0 в TRIG и ECHO_0 в ECHO. Подключите RF к третьему блоку GPIO. Обратитесь к предоставленной блок-схеме для справки.
Щелкните правой кнопкой мыши файл блок-схемы на панели «Источники» и создайте оболочку HDL. Убедитесь, что пользователь разрешает редактирование. Добавьте предоставленный файл ZYBO_Master.xdc в качестве ограничения. Нажмите «Создать битовый поток» и сделайте перерыв на кофе.
Шаг 4: Настройка среды разработки программного обеспечения
Перейдите в раздел «Файл», чтобы экспортировать оборудование в Vivado SDK. Обязательно включите битовый поток. Импортируйте проект RTOSDemo в "CORTEX_A9_Zynq_ZC702". Он будет расположен в каталоге установки FreeRTOS. Создайте новый пакет поддержки платы и выберите библиотеку lwip202. Измените указанный BSP в проекте RTOSDemo на только что созданный BSP *.
* На момент написания этой инструкции в FreeRTOS, похоже, была ошибка с указанием правильного BSP. Чтобы исправить это, создайте новый BSP с теми же настройками, что и первый. Измените указанный BSP на новый, а затем верните его к старому после того, как он не будет построен. FreeRTOS теперь должен компилироваться без ошибок. Не стесняйтесь удалять неиспользуемый BSP.
Шаг 5: Измените демонстрационную программу
Создайте новую папку под названием «drivers» в каталоге «src» RTOSDemo. Скопируйте предоставленный файл gpio.h. Файлы gpio.c, pwm.h, pwm.c, odometer.h, odometer.c, rangefinder.c, rangefinder.h, motor.h и motor.c в каталог «drivers».
Откройте main.c и установите для mainSELECTED_APPLICATION значение 2. Замените main_lwIP.c в разделе «lwIP_Demo» на обновленную версию. BasicSocketCommandServer.c в «lwIP_Demo / apps / BasicSocketCommandServer» также должен быть обновлен до новой версии. Наконец, перейдите к «FreeRTOSv10.1.1 / FreeRTOS-Plus / Demo / Common / FreeRTOS_Plus_CLI_Demos» и замените Sample-CLI-commands.c предоставленной версией. Соберите проект и убедитесь, что все успешно компилируется.
Шаг 6: Прошивка прошивки в QSPI
Создайте новый проект приложения под названием «FSBL», используя шаблон «Zynq FSBL». После компиляции проекта FSBL создайте загрузочный образ проекта RTOSDemo. Убедитесь, что «FSBL / Debug / FSBL.elf» выбран в качестве загрузчика в разделе «Разделы загрузочного образа». Вручную добавьте путь к этому файлу, если его нет в списке.
Переместите перемычку JP5 на ZYBO в положение «JTAG». Используйте кабель USB Micro-B для подключения вашего компьютера к ZYBO. Подключаем аккумулятор и включаем ZYBO. Запустите Adept, чтобы убедиться, что ZYBO правильно идентифицируется компьютером. Щелкните «Program Flash» в Vivado SDK и укажите пути к файлу BOOT.bin в RTOSDemo и к файлу FSBL.elf в FSBL. Убедитесь, что выбрали «Проверить после прошивки», прежде чем нажимать «Программа». Следите за консолью, чтобы убедиться, что операция перепрошивки завершилась успешно. После этого выключите ZYBO и отсоедините USB-кабель. Переместите перемычку JP5 в положение «QSPI».
Шаг 7: Настройте точку беспроводного доступа
Не отключая аккумулятор, подключитесь к сети Wi-Fi роутера. SSID и пароль по умолчанию должны быть внизу маршрутизатора. После этого перейдите на https://tplinkwifi.net и войдите, используя «admin» в качестве имени пользователя и пароля. Запустите мастер быстрой настройки, чтобы настроить маршрутизатор в режиме точки доступа с включенным DHCP. Не забудьте также обновить имя пользователя и пароль по умолчанию для устройства. Маршрутизатор должен автоматически перезагрузиться в режим точки доступа после того, как вы закончите.
Включите ZYBO и подключитесь к маршрутизатору, используя назначенный вами SSID. Маршрутизатор, скорее всего, будет использовать IP-адрес 192.168.0.100 или 192.160.0.101. ZYBO будет назначен тот адрес, которого нет у маршрутизатора. Чтобы быстро определить IP-адрес маршрутизатора, вы можете запустить «ipconfig» из командной строки в Windows или «ifconfig» из терминала в Linux или MacOS. Если вы все еще подключены к маршрутизатору, вы увидите его IP-адрес, отображаемый рядом с вашим беспроводным интерфейсом. Используйте эту информацию, чтобы определить IP-адрес ZYBO. Чтобы подтвердить IP-адрес ZYBO, вы можете пропинговать его из командной строки или подключиться к нему через telnet.
Шаг 8: запустите программу Java
Загрузите RobotClient.java и скомпилируйте файл с помощью команды «javac RobotClient.java» из командной строки. Запустите команду «java RobotClient», где «ip_address» - это IP-адрес ZYBO. Графический интерфейс управления появится, если между компьютером и ZYBO будет установлено успешное соединение. После фокусировки окна роботом можно управлять с помощью клавиш со стрелками на клавиатуре. Нажмите кнопку выхода, чтобы завершить сеанс и отключиться от робота.
Графический интерфейс выделит нажатые клавиши и покажет мощность двигателя в правом верхнем углу. Измеритель расстояния слева заполняет полосу каждые 2 метра до максимум 10 метров.
Шаг 9: калибровка дальномера
Переключатели на борту ZYBO могут использоваться для настройки бортового дальномера. Минимальное расстояние обнаружения d задается как функция входа переключателя i:
d = 50i + 250
Ввод может варьироваться от 0 до 15 с шагом целого числа. Это соответствует диапазону расстояний от 0,25 метра до 1 метра. На минимальном расстоянии начнет мигать первый светодиод. Количество активных светодиодов пропорционально близости объекта.
Шаг 10: доступность
Этот робот очень легко доступен. Благодаря простоте управления им можно полностью управлять одним пальцем. Для улучшения доступности может быть добавлена поддержка дополнительных устройств ввода. Это может позволить инвалидам управлять роботом другой частью тела.
Рекомендуемые:
Как: установка Raspberry PI 4 Headless (VNC) с Rpi-imager и изображениями: 7 шагов (с изображениями)
Как: установка Raspberry PI 4 Headless (VNC) с Rpi-imager и изображениями: я планирую использовать этот Rapsberry PI в кучу забавных проектов еще в моем блоге. Не стесняйтесь проверить это. Я хотел вернуться к использованию своего Raspberry PI, но у меня не было клавиатуры или мыши в моем новом месте. Прошло много времени с тех пор, как я установил Raspberry
Счетчик шагов - Micro: Bit: 12 шагов (с изображениями)
Счетчик шагов - Микро: Бит: Этот проект будет счетчиком шагов. Мы будем использовать датчик акселерометра, встроенный в Micro: Bit, для измерения наших шагов. Каждый раз, когда Micro: Bit трясется, мы добавляем 2 к счетчику и отображаем его на экране
Bolt - Ночные часы с беспроводной зарядкой своими руками (6 шагов): 6 шагов (с изображениями)
Bolt - Ночные часы с беспроводной зарядкой своими руками (6 шагов): Индуктивная зарядка (также известная как беспроводная зарядка или беспроводная зарядка) - это тип беспроводной передачи энергии. Он использует электромагнитную индукцию для обеспечения электропитания портативных устройств. Самым распространенным применением является беспроводная зарядка Qi st
Как разобрать компьютер с помощью простых шагов и изображений: 13 шагов (с изображениями)
Как разобрать компьютер с помощью простых шагов и изображений: это инструкция о том, как разобрать компьютер. Большинство основных компонентов имеют модульную конструкцию и легко снимаются. Однако важно, чтобы вы были организованы по этому поводу. Это поможет уберечь вас от потери деталей, а также при повторной сборке
Проектирование печатной платы с помощью простых и легких шагов: 30 шагов (с изображениями)
Проектирование печатных плат с помощью простых и легких шагов: ПРИВЕТ, ДРУЗЬЯ Это очень полезное и легкое руководство для тех, кто хочет изучить дизайн печатных плат. Давайте начнем