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

Ровер M1

Компоненты и расходные материалы

Драйверы двигателя SparkFun Dual H-Bridge L298
× 1
Двигатель постоянного тока (общий)
× 4
Arduino UNO
× 1
LED (общий)
× 8
Резистор 221 Ом
× 8
Сервоприводы (Tower Pro MG996R)
× 1
Ультразвуковой датчик - HC-SR04 (общий)
× 1

Приложения и онлайн-сервисы

IDE Arduino
Microsoft Visual Studio 2015
Microsoft Windows 10 IoT Core

Об этом проекте

Построив несколько домашних роботов, я решил создать внешнего робота, способного путешествовать по пересеченной местности. Я называю это «M1-Robot».

Мотор M1-Robot легко управляет четырьмя двигателями постоянного тока с Arduino, поэтому он идеально подходит для любого проекта робототехники. Я подумал, что это станет фантастическим сердцем для более мощных роботов, поэтому я разработал внедорожный полноприводный M1 из царапина.

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

Шаг 1. Дизайн

Создание собственного продукта или прототипа - это очень весело, но все усложняется, когда вы решили создать его в живом масштабе. Поэтому я выбрал Google Sketch-up 2017 как мощный и простой инструмент для проектирования, который позволяет экспортировать чертежи вашей модели на станок для лазерной резки или даже на 3D-принтер.

Первые три недели я сконструировал и сконструировал корпус робота.

Что касается материалов, мне подарили лист деревянной доски толщиной 3 мм.

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

Я подумал, что подходящее название для моего робота - M1Rover. Поскольку я планирую разработать его версии с именами последовательностей, таких как M2, M3 и т. Д., Он разработан в виде комплекта, все, что вам нужно сделать, это собрать его с помощью нескольких винтов.

Шаг 2. Компоненты и функции

⦁ До трех часов работы!

⦁ Разработан для Arduino Uno, Mega и Nano.

⦁ Рабочее напряжение 5–9 В постоянного тока

⦁ Деревянное шасси толщиной 3 мм

⦁ Колеса диаметром 68 мм L298N Двойной мостовидный двигатель / шаговый двигатель

⦁ Аккумуляторы 9 В для питания двигателей постоянного тока

⦁ Батарейки 9 В для питания Arduino

⦁ Светодиодные фонари 7 сзади и спереди

⦁ Модуль Bluetooth HC-06

⦁ Экран датчика Arduino v5.0

⦁ Ультразвуковой преобразователь HC SR04

Шаг 3. Контроллер мотора

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

⦁ Убедитесь, что все ваши земли связаны вместе; Arduino, источник питания и контроллер двигателя.

⦁ Контакты PWM не нужны, если вы не хотите управлять функциями PWM.

Шаг 4:Сборка шасси

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

Дизайн также был важен, и когда дело доходит до радиоуправляемых машин, он должен содержать передние и задние фонари. В передней части M1-Robot я поместил 4 белых светодиода, каждый из которых подключен к резистору 220 Ом, а сзади я поместил 2 красных светодиода с резистором 220 Ом для каждого. Эти светодиоды могут управляться одним и тем же приложением

Шаг 5. Схемы

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

⦁ Arduino Sensor Shield 5.0

⦁ Двойной H-мостовой двигатель / шаговый двигатель Arduino Uno R3 L298N

⦁ Аккумулятор 9 В для питания двигателей постоянного тока

⦁ Светодиодные фонари 7 (2 сзади) и (4 спереди)

⦁ Модуль Bluetooth HC-06

⦁ Ультразвуковой преобразователь HC SR04

⦁ Серводвигатель 9g

⦁ Активный зуммер

⦁ 4 двигателя постоянного тока с колесами

Шаг 6. Программное обеспечение

Я учел множество вещей при написании кода M1-Robot, и с помощью программного обеспечения с графическим интерфейсом вы можете получить больше информации о статусе робота.

Базовым кодом для стартового набора можно управлять с мобильного устройства или ноутбука через Bluetooth:

  int frontled =3; // светодиод int Rearled =4; int outPin1 =5; // motor1 int outPin2 =6; // motor1 int outPin4 =11; // мотор2 int outPin3 =12; // motor2 char bt =0; // BT int buzzerPin =2; const int pingPin =9; // Триггерный вывод ультразвукового датчикаconst int echoPin =8; // Эхо-вывод ультразвукового датчика / * ----------------------------------------- ------------------------------------- * / void setup () {Serial.begin (9600); pinMode (outPin1, ВЫХОД); pinMode (outPin2, ВЫХОД); pinMode (outPin3, ВЫХОД); pinMode (outPin4, ВЫХОД); pinMode (передний, ВЫХОД); pinMode (buzzerPin, OUTPUT);} void loop () {если (Serial.available ()> 0) {bt =Serial.read (); digitalWrite (фронтальный, 1); большая продолжительность, дюймы, см; pinMode (pingPin, ВЫХОД); digitalWrite (pingPin, LOW); delayMicroseconds (2); digitalWrite (pingPin, HIGH); delayMicroseconds (10); digitalWrite (pingPin, LOW); pinMode (echoPin, ВХОД); duration =pulseIn (echoPin, HIGH); дюймы =микросекундыToInches (продолжительность); см =микросекундыToCentimeters (продолжительность); if (cm> 10) {// расстояние до остановки / * ________________________________________________________________________ * / if (bt =='F') // двигаться вперед {digitalWrite (outPin1, HIGH); digitalWrite (outPin2, LOW); digitalWrite (outPin3, HIGH); digitalWrite (outPin4, LOW); } else if (bt =='B') // двигаться назад {digitalWrite (outPin1, LOW); digitalWrite (outPin2, HIGH); digitalWrite (outPin3, LOW); digitalWrite (outPin4, HIGH); } else if (bt =='S') // стоп !! {digitalWrite (outPin1, LOW); digitalWrite (outPin2, LOW); digitalWrite (outPin3, LOW); digitalWrite (outPin4, LOW); } else if (bt =='R') // вправо {digitalWrite (outPin1, HIGH); digitalWrite (outPin2, LOW); digitalWrite (outPin3, LOW); digitalWrite (outPin4, LOW); } else if (bt =='L') // влево {digitalWrite (outPin1, LOW); digitalWrite (outPin2, LOW); digitalWrite (outPin3, HIGH); digitalWrite (outPin4, LOW); } else if (bt =='I') // вперед вправо {digitalWrite (outPin1, HIGH); digitalWrite (outPin2, LOW); digitalWrite (outPin3, LOW); digitalWrite (outPin4, HIGH); } else if (bt =='G') // вперед влево {digitalWrite (outPin1, LOW); digitalWrite (outPin2, HIGH); digitalWrite (outPin3, HIGH); digitalWrite (outPin4, LOW); }} else {digitalWrite (buzzerPin, HIGH); задержка (500); digitalWrite (buzzerPin, LOW); задержка (500); }}} long microsecondsToInches (длинные микросекунды) {return microseconds / 74/2;} long microsecondsToCentimeters (длинные микросекунды) {return microseconds / 29/2;}  

Код Arduino совместим с любыми типами контроллеров, потому что все электронные компоненты запрограммированы на работу через последовательный порт, поэтому вы можете использовать модуль Bluetooth отправителя / получателя, ПК, сотовый телефон.

⦁ Приложение C # для Windows (скриншот прилагается)

Шаг 7. Пакеты

СТАРТЕР

Этот пакет M1-Robot включает в себя основные компоненты, в то время как верхняя пластина позволяет легко монтировать любое сенсорное, манипуляционное или компьютерное оборудование. Для начала просто прикрепите датчики к бортовому блоку питания и источнику питания Rover.

ИССЛЕДОВАТЕЛЬ

Пакет Explorer обеспечивает базовые автономные функции внутри и вне помещений, а вместо IP-камеры я использовал камеру мобильного телефона, подключенную к Интернету через IP-адрес.

КАРТИРОВАНИЕ

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

МАНИПУЛЯЦИЯ

Взаимодействие с миром с помощью робота-манипулятора и 50-миллиметрового захватного устройства с двумя пальцами.

Важный совет:

Не все сервоприводы могут вращаться на 180 градусов. Многие этого не делают. Вы можете написать тест, чтобы определить, где находятся механические ограничения. Используйте servo.writeMicroseconds вместо servo.write. Мне это нравится больше, потому что он позволяет вам использовать 1000–2000 в качестве базового диапазона. И многие сервомашинки будут поддерживать диапазон от 600 до 2400.

Итак, попробуйте разные значения и посмотрите, откуда у вас появятся слухи, говорящие о том, что вы достигли предела. Тогда только оставайтесь в этих пределах, когда пишете. Вы можете установить эти ограничения при использовании servo.attach (pin, min, max)

Изменить:я должен сказать, что если вы хотите, вы можете установить минимальную и максимальную микросекунды в прикреплении, а затем просто использовать servo.write. Он использует map () для изменения передаваемого значения 0–180 градусов на значение в микросекундах.

Скоро это произойдет, если вы держите его в конце - он потребляет большой ток и быстро нагревается - слишком легко «приготовить» сервопривод, загружая его таким образом на любое время.

Найдите истинный диапазон движения и убедитесь, что код не пытается протолкнуть его мимо конечных упоров, для этого полезна функция Arduino constrain ():

  servo.write (ограничение (угол, 10, 160)); // ограничиваем угол в диапазоне 10..160  

Изготовленные на заказ детали и корпуса

m1rover_dxf_hackaday_4o7WTGHUGE.dxf

Схема


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

  1. Двигатель сопротивления
  2. Прототип Raspoulette
  3. Rover
  4. Простой робот Pi
  5. Атака НЛО!
  6. 3D RGB Arduclock
  7. Библиотека биполярных шаговых двигателей
  8. Гитарный медиатор и педаль Stomp!
  9. Что такое линейный двигатель?
  10. Что такое серводвигатель?