You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ontuo fe0e12d25f Raspberry instructions 4 years ago
assembly Assembly instructions added 4 years ago
common Assembly instructions added 4 years ago
docs Assembly instructions added 4 years ago
raspb Raspberry instructions 4 years ago
README.md Raspberry instructions 4 years ago

README.md

AlphaBot2

Изучаем робота AlphaBot2-Pi

Знакомство с роботом AlphaBot2-Pi

alphabot2-pi

Робот AlphaBot2-Pi состоит из нескольких основных частей:

  • База-шасси
  • Плата-адаптер
  • Одноплатный компьютер Raspberry-Pi
  • Камера с поворотным кронштейном
  • Ультразвуковой дальномер

База-шасси

abchassis

  1. Интерфейс управления шасси для подключения платы-адаптера.
  2. Интерфейс для подключение ультразвукового дальномера.
  3. Светодиодные индикаторы объезда препятствий.
  4. Шаровая опора.
  5. ST188 - инфракрасный фотоэлектрический датчик для объезда препятствий.
  6. ITR20001/T - инфракрасный фотоэлектрический датчик для обнаружения линии.
  7. Потенциометр для настройки дистанции объезда препятствий.
  8. TB6612FNG - драйвер для моторов на Н-мосте.
  9. LM393 - компаратор напряжения.
  10. N20 - мотор-редуктор, 1:30, 6V/600RPM.
  11. Колеса диаметром 42мм, шириной 19мм.
  12. Переключатель питания.
  13. Разъем для двух батарей 14500.
  14. WS2812B - RGB светодиоды.
  15. Индикатор зарядки батареи.
  16. Порт зарядки USB 5V.
  17. Индикатор питания.

abadapterboard

  1. Интерфейс управления шасси для подключения к шасси.
  2. Интерфейс для подключения Raspberry Pi.
  3. Интерфейс подключения сервомоторов.
  4. Порт micro USB с USB-UART преобразователем для подключения к Raspberry Pi по UART.
  5. LM2596 DC-DC преобразователь.
  6. TLC1543 - 10-битный аналогово0цифровой преобразователь для подключения аналоговых датчиков к Raspberry Pi.
  7. PCA9685 - 16-канальный 12-битный ШИМ-модуль для работы с сервомоторами.
  8. CP2102 - USB-UART преобразователь.
  9. Джостик.
  10. Инфракрасный приемник.
  11. Пьезодинамик (buzzer).

Сборка робота

Оригинальная инструкция по сборке тут (https://www.waveshare.com/w/upload/1/1a/Alphabot2-pi-assembly-diagram-en.pdf), а так же в папке docs (см. Alphabot2-pi-assembly-diagram-en.pdf).

Сборка шасси робота

Установите две батареи 14500 (A) на базу-шасси AlphaBot2, восьмисантиметровый кабель FC-20P (B) вставьте в соответствующий разъем шасси. Вкрутите стойки (C&D).

chassis

Сборка стойки для камеры

camera1

Поместите сервопривод между стойками (f) и (g) и скрепите винтами (7). Обратите внимание на то,чтобы ротор сервопривода был установлен в правильном направлении.

camera2

Установите насадку (c) на сервопривод в специальную выемку в корпусе. Если она не подходит (g) под выемку в корпусе - слегка подрежте ее. Закрепите с помощью винтов (5). Далее установите крестообразную насадку (b) в основание стойки. Также при необходимости подрежте. Закрутите винты (5) с задней стороны основания стойки.

camera3

Вставьте в крестообразную насадку сервопривод и закрепите винтом (1). Второй, еще никуда не установленный, сервопривод прикрепите двумя винтами (7) к подставке для камеры (e) как показано на рисунке ниже. Установите подставку под камеру (e) и сервопривод на собранную ранее стойку (f&g) и прикрутите насадку к сервоприводу с помощью винте (1).

camera4

Вставьте двадцатипяти пиновый FFC кабель в соответствующий разъем на модуле камеры для Raspberry Pi и установите модуль в подставку (e).

camera5

Финальная сборка робота

Закрепите стойку для камеры на плате-адаптере с помощью винтов и гаек (I&J), как показано на рисунке ниже. Проведите кабели от сервприводов через отверстие в нижней части платы-адаптера и вставьте коннектор в соответствующие пины на обратной стороне платы-адаптора. Через то же отверстие проведите шлейф от камеры и вставьте его в соответствующий разъем на Raspberry Pi.

final1

Соедините Raspberry Pi и плату-адаптер с помощью стоек для печатных плат (I&J).

final2

Вставьте кабель FC-20P, установленный на шасси робота, в плату адаптер. Обратите внимание, что коннектор должен вставляться в разъем в соответствие с шелкографией на печатной плате!

final3

Установите ультразвуковой дальномер в соответствующий разъем на шасси робота (G). Соедините плату-адаптер с Raspberry Pi с помощью винтов (I). Соедините шасси робота и плату-адаптер с помощью винтов (F).

final4

ОВНИМАНИЕ! РОБОТ МОЖНО СТАВИТЬ НА ЗАРЯДКУ ТОЛЬКО КОГДА ОН ВЫКЛЮЧЕН! ВО ВРЕМЯ ЗАРЯДКИ ТАКЖЕ НЕЛЬЗЯ ПОДКЛЮЧАТЬСЯ К RASPBERRY PI!

Установка системы и минимальная настройка.

В этом разделе мы рассмотрим процесс установки операционной системы на Raspberry Pi и рассмотрим способы взаимодействия с ней в операционной системе linux и windows. Предполагается что изучающие это руководство владеют linux консолью, и язаком программирования python. Для того чтобы запустить linux на Raspberry Pi необходимо выполнить следующие действия:

  1. Скачать отсюда (https://www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit) образ Raspberry Pi OS . Я рекомендую использовать Raspberry Pi OS with desktop and recommended software, этот образ будет содержать большенство вещей необходимых нам в будующем.

  2. Распокавать архив, в Windows можно использовать программу Winrar.

  3. Записать образ на карту памяти (обратите внимание, что объем памяти должен быть больше 4Gb). Создатели Raspberry Pi советуют использовать для этого программу Etcher (https://www.balena.io/etcher/). Скачиваем ее и устанавливаем себе на компьютер. Нас встретит простой интерфейс. Сначала нужно выбрать образ, потом выбрать карту память на которую мы хотим его записать, и после согласится на запись. Все ваши данные будут удалены с данной карты. Цифрой 1 на изображении указано, где выбирать образ, 2 - где выбирать карту памяти, 3 - начало прошивки.

raspb1

Далее необходимо подождать пока не закончится загрузка на карту памяти.

raspb2

После чего необходимо дождатся завершения проверки правильности записанных данных на флеш карту.

raspb3 raspb4

  1. Для того, чтобы избавиться от необходимости работать с Raspberry Pi, подключая к ней монитор, клавиатуру и мышку, мы будем использовать подключение с удаленного компьютера по ssh. Для этого нам нужно будет прописать некоторые настройки Wi-Fi.

На карте памяти, на которую был записан образ операционной системы, теперь появилась папка boot.

raspb6

Туда нужно добавить 2 файла:

  • ssh.txt - писать в него ничего не нужно, он необходим для того чтобы мы могли подключится к малинке используя сервис ssh ( https://ru.wikipedia.org/wiki/SSH)
  • wpa_supplicant.conf - тут необходимо приписать параметры вашей Wi-Fi сети в следующем формате:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="НАЗВАНИЕ ТОЧКИ ДОСТУПА WiFi"
    psk="ПАРОЛЬ WiFi"
    key_mgmt=WPA-PSK
}

При создании данного файла система спросит вас:

raspb7

Соглашайтесь. Нажмите правой кнопкой мышки на файл wpa_supplicant.conf, выберите Открыть с помощью, и откройте с помощью блокнота. Добавьте в открывшийся документ строки, указанные выше, заменив название точки доступа и пароль на свои. Сохраните. Содержимое этого файла будет автоматически перенесено в /etc/wpa_supplicant/wpa_supplicant.conf при старте системы.

  1. Запуск робота. Далее извлекаем карту памяти из компьютера, предварительно воспользовавшись функцией безопасного извлечения, после чего вставляем карту в разъем на Rasbperry Pi, установленную в роботе. ВНИМАНИЕ! Для того, чтобы на этом этапе не возникло проблем, убедитесь в том, что аккумуляторы заряжены. Это очень важно, так как отключение питания во время загрузки системы может привести к неправильной настройке системы. Во время работы с Raspberry Pi робот не должен заряжаться! Переводим PWR SWITCH находящийся снизу робота из состояния OFF в ON для включения робота, после чего ждем около 3х минут чтобы система успела применить все настройки. Для того, чтобы на этом этапе не возникло проблем убедитесь что аккумуляторы заряжены, это очень важно потомучто робот в неактивном состоянии когда находится на зарядке.

  2. Перейдем к подключению к Raspberry Pi. Для этого воспользуемся бесплатной версией прекрасной программы которая позволит нам совершить практически любое подключение - MobaXterm (https://mobaxterm.mobatek.net/) ее тоже необходимо скачать и установить. Для подключения к малине по ssh необходимо сделать следующее:

Нажать на кнопку Session в левом верхнем углу программы.

изображение-5.png

Далее в появившимся окне забать параметры в соответствии с скриншотом.

изображение-6.png

Иными словами вы должны подклюсится к ssh к хосту с названием raspberrypi и именем пользователя pi. Через некотрое время вам предложат ввести пароль:

изображение-7.png

Необходимо ввести raspberry. После чего вы можете согранить данный пароль в системе, если вам будет так удобнее. После чего система предложет вам ввести команды на исполнение.

изображение-8.png

Если это произошло значит все хорошо и все работает если нет, это свидетельствует о проблемах с сетью. Первое что можно сделать это подключится к роутеру (обычно он находится на адресе http://192.168.0.1/или http://192.168.1.1/) и посмотреть там в списках клиентов расбери. На моем роутере это выглядит так:

изображение-9.png

Оттуда берем IP адрес и далее все как описанно в этом пункте, только вместо хоста с названием raspberrypi используем полученный IP. Если это тоже не работает остается только одно, отсоеденить распберри от робота подключить к монитору и с помощью клавиатуры и мыши через графический интерфейс поключит пишку к роутеру.

Настройка робота.

Для работы с коботом необходимо выполнить ряд настроек. Для начала их нужно будет сделать в программе для конфигурирования малины raspi-config, Для чего используем следующую команду:

sudo raspi-config

После чего вы увидене следующее меню.

изображение-10.png

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

Навигация в данном режиме очень проста, стрелками вверх и вниз мы выбираем нужный пункт меню, enter позволяект пройти в подпункты данного пункта или выбрать конкретную растройку. Стрелки вправо и влево выбрать один из пунктов находящийся внизу. Ниже я перечислю какие настройки необходимо сделать:

Interface Options -> Camera -> Yes -> Yes -> OK
Interface Options -> SPI -> Yes -> OK
Interface Options -> I2C -> Yes -> OK
Interface Options -> Serial Port -> No -> Yes -> OK

После завершения настройки необходимо выбрать finish и система предложет вам перезарузить расберри, на что соглашаемся. Подключится можно будет способом описанным выше, либо нажать кнопку R и MobaXterm автомотически постарается переподключится к роботу.

После того как система загрузится необходимо установть пакеты необходимые для работы с перефирией робота, для этого сначала обнавляем систему, потом ставим все необходимое:

sudo apt update && sudo apt dist-upgrade -y
sudo apt install ttf-wqy-zenhei python-pip python-smbus python-serial
sudo pip install RPi.GPIO spidev rpi_ws281x

Исполнение первой команды, может занять достаточно длительное время.

Упровление компонентами робота.

Для упровления роботом я создал библиотеку bsp.py, для использования ее нужно будет бобавить в папку в вашим скриптом и импортнуть. Далее рассмотрим все сосовные части робота и то как ими можно управлять и какие данные с них можно получить.

  1. управление моторами. Управление моторами осуществляется с помощью 4х GPIO которые задают напрвление вращения 2х моторов и 2 PWM которые задают скорость вращения.

изображение-1.png

В библиотеке bsp.py уже сделанна обвязка так что вам останется только аказать мотор, скорость и направление вращения для взаимодействия.