Оглавление:

WiBot: 10 шагов (с изображениями)
WiBot: 10 шагов (с изображениями)

Видео: WiBot: 10 шагов (с изображениями)

Видео: WiBot: 10 шагов (с изображениями)
Видео: Wibit Aqua Track 2022 2024, Сентябрь
Anonim
WiBot
WiBot

В этой инструкции подробно описан процесс создания робота 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

Создать блок-схему в Vivado
Создать блок-схему в 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

Прошивка прошивки в QSPI
Прошивка прошивки в QSPI
Прошивка прошивки в QSPI
Прошивка прошивки в QSPI
Прошивка прошивки в QSPI
Прошивка прошивки в 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

Запустить программу Java
Запустить программу 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: доступность

Этот робот очень легко доступен. Благодаря простоте управления им можно полностью управлять одним пальцем. Для улучшения доступности может быть добавлена поддержка дополнительных устройств ввода. Это может позволить инвалидам управлять роботом другой частью тела.

Рекомендуемые: