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 f279f4ed44 Assembly instructions added 4 years ago
assembly Assembly instructions added 4 years ago
common Assembly instructions added 4 years ago
docs Assembly instructions added 4 years ago
README.md Assembly instructions added 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 py и рассмотрим способы взаимодействия с ней в операционной системе linux и windows. Предполагается что изучающие это руководство владеют linux консолью, и язаком программирования пайтон. Для того чтобы запустить linux на raspberry необходимо выполнить следующие действия:

  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. Создатели малинки советуют использовать для этого Etcher (https://www.balena.io/etcher/). Скачиваем эту программу и устанавливаем себе на компьютер. Нас встретит провтой интерфейс где сначало нужно выбрать образ, потом выбрать карту память на которую мы хотим все записать, и после согласится на запись. Естественно все ваши данные будут удалены с данной карты.

img

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

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

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

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

  1. Далее необходимо прописать некотрые настройки а именно настройки wifi. Это нужно для того чтобы мы могли подключится удаленно к пишке и управлять ей использую другой компьютер на не подключать монитор и клавиатуру с мышью непосредственно к пишке. Для этого необходимо добавить 2 файла в раздел boot который должен был появится у вас после записи образа системы на диск.

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

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

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

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

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

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

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

  1. Запуск робота. Далее извлекаем карту памяти из компьютера, предварительно воспользовавшись функцией безопасного извлечения, после чего вставляем в расбери, установленную в роботе. Далее переводим PWR SWITCH находящийся снизу робота из состояния OFF в ON, после чего ждем около 3х минут чтобы система успела сделать все настройки. Для того что-юы на этом этапе не возникло проблем убедитесь что аккумуляторы заряжены, это очень важно потомучто робот в неактивном состоянии когда находится на зарядке.

  2. Подключение к расбери. Для этого воспользуемся бесплатной версией прекрасной программы которая позволит нам совершить практически любое подключение - 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 уже сделанна обвязка так что вам останется только аказать мотор, скорость и направление вращения для взаимодействия.