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

Простой робот Pi

Simple Pi Robot стремится упростить управление роботом.

Simple Pi Robot стремится упростить управление роботом.

Список деталей

(1) Raspberry pi (любая модель), но с недавним выпуском pizero или pi 2 будет хорошим вариантом, моя текущая модель использует B +.

(2) 40-контактный кабель GPIO (при использовании Pi B + или Pi 2).

(3) Макетная плата (для быстрой сборки различных датчиков).

(4) 2-х приводное шасси.

(5) Датчик расстояния (ультразвуковой HC SR04).

(6) Внешний аккумулятор (для включения пи).

(7) Аккумуляторы AA (желательно 2100 мАч).

(8) Перемычки типа "папа" и "мама", резисторы.

(9) Адаптер Wi-Fi (EDUP / EDIMAX для беспроводной связи с Pi).

(10) Карта памяти (4 ГБ и выше для работы ОС на Pi).

(11) Драйверы двигателя (L298).

(12) серводвигатель.

(13) Разное - кабельные стяжки (для связывания перемычек) и лента из пеноматериала (для крепления сервопривода или любого другого датчика, где нельзя использовать винтовой узел).

Шаг 1. Выбор экрана моторного привода

В настоящее время для raspberry pi доступно очень мало щитов моторного привода, и это лишь некоторые из них:-

(1) Экран контроллера мотора RTK

(2) Комплект драйверов для двух двигателей Pololu DRV8835 для Raspberry Pi

(3) Шляпа постоянного тока и шагового двигателя Adafruit для Raspberry Pi

(4) Доска Raspirobot производства Adafruit

и недавняя отсталость вроде ZEROBORG

Одна из наиболее распространенных проблем при создании любого робота - это минимизировать требования к проводке, и то же самое можно решить с помощью экранов / шляпы. Я попытался собрать своего робота, сначала с одним из щитов, эквивалентных Raspirobot, от производителя ALSROBOT. Комплекты поставляются из Китая, но проблема заключалась в том, что мне не удалось увеличить входное напряжение двигателя. Максимальное значение было менее 5 вольт, с небольшим дисбалансом между напряжениями, тем не менее, можно проверить следующую ссылку - ALSROBOT - PI Motor driver shield

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

Преимущество вышеупомянутой платы, помимо дешевизны, состоит в том, что имеется регулируемый выход 5 Вольт.

Я использовал плату L298 для управления двумя двигателями постоянного тока и одним серводвигателем.

Шаг 2. Драйвер двигателя L298

У меня установлен драйвер двигателя L298 в нижней части шасси, теперь для подключения двигателя постоянного тока и серводвигателя

(i) Двигатель постоянного тока -A на выход -A (+ и -).

(ii) Двигатель постоянного тока -B на выход -B (+ и -).

(iii) Регулируемое питание серводвигателя + ve на +5 В платы L298 и отрицательное напряжение серводвигателя на GND платы L298.

Оставьте перемычку включения, если вы не хотите регулировать скорость, иначе снимите перемычку. Установленная перемычка обеспечивает питание +5 В для включения вывода, который, в свою очередь, приводит двигатель в действие с номинальной скоростью.

Теперь подключите 4 перемычки к входам управления, другой конец перемычек подключите к контакту GPIO, как указано на следующем шаге.

Для серводвигателя подключить один нет. перемычка для управления выводом GPIO, как на следующем шаге

Шаг 3. Серводвигатель

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

Управляющий сигнал имеет широтно-импульсную модуляцию (ШИМ), но здесь длительность положительного импульса определяет положение вала сервопривода. Например, импульс 1,520 миллисекунды является центральным положением сервопривода Futaba S148. Более длинный импульс заставляет сервопривод поворачиваться в положение по часовой стрелке из центра, а более короткий импульс заставляет сервопривод поворачиваться в положение против часовой стрелки из центра.

Я использовал сервопривод Futuba s3003 - подключение очень простое:«+» и «-» идут к плате L298, как описано ранее. Важно смотреть на рабочее напряжение сервопривода (в моем случае это 4,8 - 6 В, см. Изображение выше), сигнальный провод должен быть подключен к выходу GPIO, обычно белый или оранжевый.

Управление серводвигателями в Raspberry Pi может быть сложным, но есть очень мощная библиотека, размещенная на @ RPIO.PWM, чтобы установить ее на Pi, используйте следующий код.

  sudo apt-get install python-setuptoolssudo easy_install -U RPIO  

Чтобы узнать больше об RPIO.PWM и используемом DMA, перейдите по ссылке https://pythonhosted.org/RPIO/pwm_py.html

Шаг 4. Погоня за роботами

Я использовал шасси Ellipzo Robot с 2wd, 2wd просты и легки в управлении.

В комплект входят двигатели постоянного тока, набор для сервоприводов и все необходимое оборудование для сборки набора.

Подробная ссылка доступна на сайте - Шезлонг для роботов Ellipzo.

Pl. см. видео по сборке Raspberry Pi вместе с драйвером двигателя L298, коммутационной платой, модулем камеры и блоком питания.

Шаг 5. Датчик расстояния

Интегрировать датчик расстояния просто, и нам понадобится всего 1 кОм резистор вместе с перемычками. Подключите VCC и GND к Pi + 5Volts и GND соответственно.

Два других контакта TRIG и ECHO должны быть подключены к контактам GPIO, как в предыдущих шагах. Не забудьте подключить резистор, как показано на рисунке.

Код Python для измерения расстояния включен на последнем этапе.

Шаг 6. Raspberry Pi -camera - потоковое видео с использованием VLC player

Здесь я использовал модуль камеры Pi, настройка довольно проста, и вы можете обратиться по ссылке:Настройка камеры Raspberry pi

Для потоковой передачи видео с VLC начните с установки VLC на Raspberry Pi

  sudo apt-get install vlc  

Чтобы начать потоковую передачу видео с камеры с помощью RTSP, введите следующее

  raspivid -o - -t 0 -n | cvlc -vvv stream:/// dev / stdin --sout '#rtp {sdp =rtsp://:8554 /}':demux =h264  

или с правильной шириной и высотой используйте следующий код

  raspivid -o - -t 0 -n -w 600 -h 400 -fps 12 | cvlc -vvv stream:/// dev / stdin --sout '#rtp {sdp =rtsp://:8554 /}':demux =h264  

Теперь, чтобы просмотреть поток через проигрыватель VLC, откройте VLC в своей удаленной системе, чем откройте сетевой поток, используя

rtsp://###.###.###.###:8554 /

где ###. ###. ###. ### - это адрес вашего пи, предоставленный сетевым маршрутизатором.

Теперь, когда число Пи перемещается внутри вашего дома, вы увидите видеопоток в удаленной системе.

Шаг 7. Распиновка Raspberry pi и код Python

Шаг 8. Некоторые изображения сборки

Код

 из RPIO импортировать PWMimport RPi.GPIO как GPIO из RPIO импортировать PWMimport RPi.GPIO как GPIO импортировать время из времени импортировать сон из подпроцесса импорт callGPIO.setmode (GPIO.BCM) GPIO.setup (19, GPIO .OUT) GPIO.setup (26, GPIO.OUT) GPIO.setup (16, GPIO.OUT) GPIO.setup (20, GPIO.OUT) GPIO.setup (21, GPIO.IN) GPIO.setup (8, GPIO .OUT) GPIO.setup (27, GPIO.OUT) GPIO.setup (9, GPIO.OUT) TRIG =18ECHO =17print «контролирует» печать 1:двигаться вперед «печать» 2:двигаться назад «печать» 3:стоп робот «print» 4:сделать снимок с заданным пользователем именем «print» 5:двигаться вперед с контролем скорости «print» 6:повернуть робот «print» 7:повернуть робот «print» 8:для сервоуправления, пожалуйста, «print» 11:добро пожаловать в автономное управление "печать" нажмите ввод, чтобы отправить команду "def taketillpic (inp):print" введите символ фотографии "inp =raw_input () call ([" raspistill -vf -hf -o "+ str (inp) + ".jpg"], shell =True) def fwd ():GPIO.output (19, True) GPIO.output (26, False) GPIO.output (16, True) GPIO.output (20, False) def rev ():GPIO.output (19, Ложь) GPI O.output (26, True) GPIO.output (16, False) GPIO.output (20, True) def stop ():GPIO.output (19, False) GPIO.output (26, False) GPIO.output (16 , False) GPIO.output (20, False) def distmeas ():print «Выполняется измерение расстояния» GPIO.setup (TRIG, GPIO.OUT) GPIO.setup (ECHO, GPIO.IN) GPIO.output (TRIG, False ) напечатайте «ожидание, пока датчик установится» time.sleep (2) GPIO.output (TRIG, True) time.sleep (0.00001) GPIO.output (TRIG, False), а GPIO.input (ECHO) ==0:pulse_start =time.time () в то время как GPIO.input (ECHO) ==1:pulse_end =time.time () pulse_duration =pulse_end - pulse_start distance =pulse_duration * 17150 distance =round (distance, 2) print "Distance", distance, " см "если расстояние <50:GPIO.output (19, False) GPIO.output (26, False) GPIO.output (16, False) GPIO.output (20, False) time.sleep (1) print" робот остановился как расстояние меньше "print" Теперь робот движется назад "GPIO.output (19, False) GPIO.output (26, True) GPIO.output (16, False) GPIO.output (20, True) time.sleep (1) GPIO .output (19, False) GPIO.output (26, False) G PIO.output (16, False) GPIO.output (20, False) TLr () time.sleep (4) fwd () distmeas () else:distmeas () def TL ():GPIO.output (19, True) GPIO .output (26, False) GPIO.output (16, False) GPIO.output (20, False) def TLr ():GPIO.output (19, True) GPIO.output (26, False) time.sleep (0,75) GPIO.output (19, False) GPIO.output (26, False) while True:inp =raw_input () if inp =="1":fwd () print "робот движется в направлении вперед" elif inp =="2" :rev () print "робот движется в обратном направлении" elif inp =="3":stop () print "робот остановлен" elif inp =="4":taketillpic (inp) print "фото пожалуйста" elif inp ==" 5 ":GPIO.output (7, False) GPIO.output (8, False) elif inp ==" 6 ":TL () elif inp ==" 7 ":TLr () elif inp ==" 8 ":servo =PWM.Servo () servo.set_servo (27,1000) time.sleep (2) servo.stop_servo (27) elif inp =="9":servo =PWM.Servo () servo.set_servo (27,1500) время .sleep (2) servo.stop_servo (27) elif inp =="10":servo =PWM.Servo () servo.set_servo (27,2000) time.sleep (2) servo.stop_servo (27) elif inp ==«11»:fwd () distmeas () GPIO.c наклон () 

Источник:Simple Pi Robot


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

  1. Эксперты по ремонту серводвигателей Fanuc
  2. Эксперт по ремонту серводвигателей Siemens
  3. Советы по ремонту серводвигателя и устранению неисправностей
  4. Робот с сервомотором избегает препятствий
  5. Робот для супер-крутой навигации внутри помещений
  6. Servo Motion улучшает работу роботов
  7. Красота планетарной коробки передач для серводвигателя
  8. Что такое серводвигатель?
  9. Что такое редуктор серводвигателя?
  10. Сопряжение редукторов с серводвигателями