
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05



Робот Mecanum - проект, который я хотел создать с тех пор, как увидел его в ужасном блоге мехатроники Dejan: howtomechatronics.com
Деян действительно хорошо поработал, охватывая все аспекты, от оборудования, 3D-печати, электроники, кода и приложения для Android (изобретатель приложения MIT).
Это отличный проект, обновляющий все навыки мейкера.
Мне нужно было внести некоторые изменения в проекты
Я не хотел использовать сделанную на заказ печатную плату, которую он использовал, но старый экран GRBL, который у меня был дома.
Я хотел использовать BlueTooth
Так:
Запасы
Arduino Uno + GRBL Shield
Шаговые двигатели
Модуль HC-06 BlueTooth
Липо аккумулятор 12 В
Шаг 1. Аппаратное обеспечение


Распечатал колеса и собрал их, как здесь:
Подключил 4 шаговых двигателя к шасси (в моем случае неиспользуемый ящик перевернут)
Проложил кабели к верхней части робота.
Шаг 2: Электроника



Я использовал свой модуль HC-06 BT, Самым сложным было настроить экран GRBL для работы с 4 шаговыми двигателями, поскольку для этого нет хорошего руководства, Необходимо установить перемычки, как показано на прилагаемом рисунке, чтобы сделать вывод «Инструмент» щита также для управления шаговым двигателем. также нужно поставить перемычку "Включить"
проводка 4 степперов и все.
Я также подавал питание от батарей на 12 В - двух стейков - один для Arduino и один для GRBl Shield.
Шаг 3: код Arduino
/ * === Arduino Mecanum Wheels Robot === Управление смартфоном через Bluetooth от Dejan, www. HowToMechatronics.com Библиотеки: RF24, www. HowToMechatronics.com AccelStepper от Mike McCauley: www. HowToMechatronics.com
* / / * 2019-11-12 Gilad Meller (https://www.keerbot.com - модифицируйте код для работы с GRBL arduino motor Shield Шаговые двигатели в щите отображаются как (шаг / направление): 2/5 3 / 6 4/7 12/13 с использованием драйвера A4988 12 В
В коде Dejan используется SoftwareSerial, а мой будет использовать стандартные выводы RX, TX (0, 1) Arduino Uno. Примечание: не забудьте заменить выводы RX TX при загрузке скетча в Arduino, иначе загрузка не удастся.
*/ #включают
// Определяем шаговые двигатели и выводы, которые будут использовать AccelStepper LeftBackWheel (1, 2, 5); // (Тип: драйвер, STEP, DIR) - Stepper1 AccelStepper LeftFrontWheel (1, 3, 6); // Stepper2 AccelStepper RightBackWheel (1, 4, 7); // Stepper3 AccelStepper RightFrontWheel (1, 12, 13); // Stepper4
int incomingByte = 0, c; // для входящих последовательных данных int wheelSpeed = 100;
void setup () {Serial.begin (9600); // открывает последовательный порт, устанавливает скорость передачи данных 9600 бит / с // Устанавливает начальные начальные значения для шаговых двигателей LeftFrontWheel.setMaxSpeed (600); LeftBackWheel.setMaxSpeed (600); RightFrontWheel.setMaxSpeed (600); RightBackWheel.setMaxSpeed (600);
}
void loop () {if (Serial.available ()> 0) {// читаем входящий байт: incomingByte = Serial.read ();
c = incomingByte; переключатель (c) {case 71: Serial.println («Я получил поворот вправо W»); rotateRight (); перерыв; case 65: Serial.println ("Я получил" Повернуть влево Q "); повернуть налево(); перерыв; случай 1: Serial.println («Я получил BK / LFT»); moveRightBackward (); перерыв; случай 2: Serial.println («Я получил BK»); двигаться назад(); перерыв; case 3: Serial.println («Я получил BK / RT»); moveRightBackward (); перерыв; case 4: Serial.println («Я получил LEFT»); moveSidewaysLeft ();
перерыв; случай 5: Serial.println («Я получил СТОП»); прекратить движение(); перерыв; case 6: Serial.println («Я получил RT»); moveSidewaysRight (); перерыв; case 7: Serial.println («Я получил FWD / LFT»); moveLeftForward (); перерыв; case 8: Serial.println («Я получил FWD»); двигаться вперед(); перерыв; case 9: Serial.println («Я получил FWD / RT»); moveRightForward (); перерыв; по умолчанию: Serial.print («Не команда»); Serial.println (incomingByte, DEC); перерыв; } } //двигаться назад(); moveRobot ();
}
void moveRobot () {LeftBackWheel.runSpeed (); LeftFrontWheel.runSpeed (); RightFrontWheel.runSpeed (); RightBackWheel.runSpeed (); }
void moveForward () {LeftFrontWheel.setSpeed (wheelSpeed); LeftBackWheel.setSpeed (wheelSpeed); RightFrontWheel.setSpeed (wheelSpeed); RightBackWheel.setSpeed (wheelSpeed); } void moveBackward () {LeftFrontWheel.setSpeed (-wheelSpeed); LeftBackWheel.setSpeed (-wheelSpeed); RightFrontWheel.setSpeed (-wheelSpeed); RightBackWheel.setSpeed (-wheelSpeed); } void moveSidewaysRight () {LeftFrontWheel.setSpeed (wheelSpeed); LeftBackWheel.setSpeed (-wheelSpeed); RightFrontWheel.setSpeed (-wheelSpeed); RightBackWheel.setSpeed (wheelSpeed); } void moveSidewaysLeft () {LeftFrontWheel.setSpeed (-wheelSpeed); LeftBackWheel.setSpeed (wheelSpeed); RightFrontWheel.setSpeed (wheelSpeed); RightBackWheel.setSpeed (-wheelSpeed); } void rotateLeft () {LeftFrontWheel.setSpeed (-wheelSpeed); LeftBackWheel.setSpeed (-wheelSpeed); RightFrontWheel.setSpeed (wheelSpeed); RightBackWheel.setSpeed (wheelSpeed); } void rotateRight () {LeftFrontWheel.setSpeed (wheelSpeed); LeftBackWheel.setSpeed (wheelSpeed); RightFrontWheel.setSpeed (-wheelSpeed); RightBackWheel.setSpeed (-wheelSpeed); } void moveRightForward () {LeftFrontWheel.setSpeed (wheelSpeed); LeftBackWheel.setSpeed (0); RightFrontWheel.setSpeed (0); RightBackWheel.setSpeed (wheelSpeed); } void moveRightBackward () {LeftFrontWheel.setSpeed (0); LeftBackWheel.setSpeed (-wheelSpeed); RightFrontWheel.setSpeed (-wheelSpeed); RightBackWheel.setSpeed (0); } void moveLeftForward () {LeftFrontWheel.setSpeed (0); LeftBackWheel.setSpeed (wheelSpeed); RightFrontWheel.setSpeed (wheelSpeed); RightBackWheel.setSpeed (0); } void moveLeftBackward () {LeftFrontWheel.setSpeed (-wheelSpeed); LeftBackWheel.setSpeed (0); RightFrontWheel.setSpeed (0); RightBackWheel.setSpeed (-wheelSpeed); } void stopMoving () {LeftFrontWheel.setSpeed (0); LeftBackWheel.setSpeed (0); RightFrontWheel.setSpeed (0); RightBackWheel.setSpeed (0); }
Шаг 4: Appinventor
Новое приложение appinventor с другой и более простой функциональностью (без записей)
Пожалуйста, отправьте сообщение, и я отправлю его вам - загрузка не удалась.
Заботиться.
Рекомендуемые:
Роботизированная рука 3D с шаговыми двигателями, управляемыми по Bluetooth: 12 шагов

Роботизированная рука 3D с шаговыми двигателями, управляемая Bluetooth: в этом уроке мы увидим, как создать трехмерную роботизированную руку с шаговыми двигателями 28byj-48, серводвигателем и деталями, напечатанными на 3D-принтере. Печатная плата, исходный код, электрическая схема, исходный код и много информации размещены на моем веб-сайте
UChip - простой эскиз для дистанционного управления двигателями и / или сервоприводами с помощью радио Tx-Rx 2,4 ГГц !: 3 шага

UChip - Простой эскиз для дистанционного управления двигателями и / или сервоприводами через радио Tx-Rx 2,4 ГГц !: Мне очень нравится мир радиоуправления. Использование радиоуправляемой игрушки дает вам ощущение, что вы контролируете что-то экстраординарное, несмотря на то, что это маленькая лодка, автомобиль или дрон! Однако непросто настроить ваши игрушки и заставить их делать то, что вы от них хотите
6-осевой манипулятор DIY (с шаговыми двигателями): 9 шагов (с изображениями)

6-осевой манипулятор DIY (с шаговыми двигателями): после более чем года исследований, прототипов и различных сбоев мне удалось построить железно-алюминиевого робота с 6 степенями свободы, управляемыми шаговыми двигателями. Самой сложной частью была конструкция, потому что Я хотел достичь 3 фундаментальных целей
Управление двигателями постоянного тока с помощью L298N с помощью микроконтроллера CloudX: 3 шага

Управление двигателями постоянного тока с помощью L298N с помощью микроконтроллера CloudX: В этом проекте мы объясним, как использовать наш H-мост L298N для увеличения и уменьшения скорости двигателя постоянного тока. H-мостовой модуль L298N можно использовать с двигателями, которые имеют напряжение от 5 до 35 В постоянного тока. Также имеется встроенный регулятор 5 В, поэтому, если ваш
Робот-вездеход, управляемый через Wi-Fi (с Arduino, ESP8266 и шаговыми двигателями): 11 шагов (с изображениями)

Робот-ровер FPV, управляемый Wi-Fi (с Arduino, ESP8266 и шаговыми двигателями): в этом руководстве показано, как спроектировать двухколесный робот-вездеход с дистанционным управлением по сети Wi-Fi, используя Arduino Uno, подключенный к модулю Wi-Fi ESP8266. и два шаговых двигателя. Роботом можно управлять из обычного интернет-браузера