Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Робот, избегающий стен на базе Raspberry Pi - FabLab NerveCentre

Обратите внимание:это руководство не является полным, но может быть полезно

Издано, чтобы отличные сотрудники Derry’s NerveCentre могли распространять код в школах.

Я надеюсь вернуться к этому, но моя текущая работа пока удерживает меня от этого.

Это руководство является альтернативой моему другому роботу, избегающему стен, найденному здесь:

http://www.instructables.com/id/Arduino-wall-avoid…

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

В этом проекте мы используем Raspberry Pi и знакомый чип L293D с двойным h-мостом. Ультразвуковой датчик - это широко используемый HC-SR04.

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

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

Шаг 1. Что вам нужно

Raspberry Pi - я использовал B +, но любой RPi будет работать с некоторыми изменениями в номерах контактов, используемых для управления каждым двигателем.

Драйвер двигателя - я использовал комплект печатной платы L293D отсюда:http://www.rkeducation.co.uk/L293D-Project-PCB.php… - Из-за смены работы я вряд ли смогу ответить вопросы об альтернативах, так что я надеюсь, что позже будет достаточно информации.

2 мотор-редуктора постоянного тока и колеса с прямым углом - для этого можно использовать любые двигатели постоянного тока.

Ультразвуковой датчик HC-SR04 - очень широко используется и доступен для проектов RPi и Arduino.

Аккумулятор на 9 В и защелка аккумулятора - это для запуска моторов.

Батарея на 5 В - я использовал батарею Anker для работы RPi.

Электропроводка - выбор типа «мама-мама» и «мама-папа».

Резисторы - всего 2 нужны для создания делителя напряжения. Я использовал пару 100 Ом и 220 Ом. См. Подробности ниже о создании делителя напряжения - в конечном итоге, хотя один резистор должен быть как можно ближе к двойному сопротивлению другого.

Небольшая макетная плата - вы могли бы обойтись без нее, если бы вместо нее использовали изоленту или что-то в этом роде.

Шаг 2. Давайте посмотрим, как использовать Pi для получения показаний ультразвукового датчика

Я узнал, как это сделать, из учебника на ModMyPi.com, который доступен здесь:

https://www.modmypi.com/blog/hc-sr04-ultrasonic-ra…

Прилагается схема, показывающая, как применять делитель напряжения.

Вкратце, это используется для понижения напряжения на сигнале обратно с вывода ECHO на датчике. 5 В выходит из контакта и проходит через резистор, который вызывает падение напряжения. На этом этапе происходит разделение - одна ветвь идет к GND через резистор, который забирает в два раза больше напряжения - другая ветвь прошла только через один из этих резисторов, поэтому напряжение снижается только до 3,3 В.

Pi необходимо, чтобы этот сигнал был уменьшен до 3,3 В, иначе датчик США будет работать, но вернет ложные показания. Отсюда и необходимость в делителе напряжения.

Вы можете обратиться к прикрепленной ссылке, если вам нужно это сделать. Я приложил (позже) некоторые производственные файлы для производства небольшого делителя напряжения, если у вас есть для этого возможности.

Чтобы проверить ультразвуковой датчик, вы можете использовать прилагаемый код (если не работает с моим изображением, доступным на Github). Для этого просто загрузите файл и в LXTerminal на RPi перейдите в папку, в которую вы загрузили файл. Затем введите «sudo python FILENAME.py».

Шаг 3. Теперь давайте посмотрим, как заставить приводить моторы

Теперь мы можем подключить моторы.

Все может быть подключено согласно изображению. Я считаю очень полезным избегать повторения каких-либо цветов, чтобы вы могли легко увидеть, где они соединяются.

В прилагаемом коде (который демонстрирует движение двигателя) вы заметите, что я использовал стандарт именования для 3 контактов, которые связывают RPi с драйвером двигателя. Например:

Motor1A =36 - указывает контакт для подключения IP1 или IP2.

Motor1B =38 - указывает контакт для подключения IP1 или IP2.

Motor1E =40 - указывает на контакт для подключения EN1.

То же самое и с серией «Мотор2 *»:

Motor1A =33 - указывает на контакт для подключения IP3 или IP4.

Motor1B =35 - указывает контакт для подключения IP3 или IP4.

Motor1E =37 - указывает на контакт для подключения EN2.

Как только они будут подключены, нам нужно также подключить каждую клемму двигателя. Подключите один двигатель к MA, а другой к MB - какой провод идет с каждой стороны для двигателей, довольно произвольно, так как никаких повреждений не будет.

Опять же, вы можете загрузить прикрепленный файл и запустить код Python в соответствии с предыдущими инструкциями.

Шаг 4. Совместная работа всего этого

На этом этапе у вас, вероятно, возникла путаница в подключении проводов, как на картинке!

Помимо сборки шасси, у вас есть все необходимое, чтобы все это работало вместе.

Прилагается скрипт Python (который снова запускается в соответствии с предыдущими инструкциями), который будет выполнять измерение расстояния с помощью ультразвукового датчика каждые 0,5 секунды. Если это значение опускается ниже 10 см, одно из колес меняет направление. Если все вместе установить на шасси, это будет означать, что робот будет ездить и поворачиваться, если почувствует что-то поблизости.

Подробнее:Робот, избегающий стен на базе Raspberry Pi - FabLab NerveCentre


Производственный процесс

  1. Метеостанция на основе Raspberry Pi
  2. Проект Интернета вещей на основе Raspberry PI Подключение датчика DHT11
  3. Робот, использующий Raspberry Pi и Bridge Shield
  4. Робот, избегающий стен на базе Raspberry Pi - FabLab NerveCentre
  5. Мобильный робот с функцией обхода препятствий на основе обзора
  6. Сборка робота MonkMakes Raspberry Pi
  7. XMOS startKIT:создание XMOS и Raspberry Pi Robot XMP-1
  8. Робот-бокс для компакт-дисков Raspberry Pi
  9. PiCy - крошечный робот на базе Raspberry Pi!
  10. Робот Raspberry Pi, управляемый через Bluetooth