
Съдържание:
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 14:36



Mecanum Robot - Проект, който исках да изградя, откакто го видях в блога за мехатроника на Деяна: howtomechatronics.com
Деян наистина свърши добра работа, обхващайки всички аспекти от хардуера, 3D принтирането, електрониката, кода и приложението за Android (изобретателят на приложения на MIT)
Това е страхотен проект, който освежава всички умения на производител.
Имах няколко промени по проектите
Не исках да използвам персонализираната печатна платка, която той използва, но стар щит от GRBL, който имах у дома.
Исках да използвам BlueTooth
Така:
Консумативи
Arduino Uno + GRBL щит
Стъпкови двигатели
HC-06 BlueTooth модул
12V Lipo батерия
Стъпка 1: Хардуер


Отпечата колелата и ги сглоби както тук:
Свързани 4 стъпкови двигателя към шасито (в моя случай неизползвано чекмедже нагоре надолу)
Прокарайте кабелите към върха на робота.
Стъпка 2: Електроника



Използвах моя HC-06 BT модул, Най -трудното беше да настроите щита GRBL да работи с 4 стъпкови двигателя, тъй като няма добро ръководство за това, Необходимо е да се поставят джъмпери, както може да се види на приложената снимка, за да може изходът "Инструмент" на щита да управлява и стъпков двигател. също трябва да поставите джъмпера "Enable"
окабеляване на 4 -те степера и това е всичко.
Захранвах и от 12V батерии - два стена - един за 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 мотор щит Стъпковите двигатели в щита са картографирани като (стъпка/посока): 2/5 3 /6 4/7 12/13 с помощта на A4988 драйвер 12V
Кодът на Деян използва 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); // Стъпка4
int incomingByte = 0, c; // за входящи серийни данни int wheelSpeed = 100;
void setup () {Serial.begin (9600); // отваря сериен порт, задава скорост на предаване на данни на 9600 bps // Задава първоначални стойности за началните стойности LeftFrontWheel.setMaxSpeed (600); LeftBackWheel.setMaxSpeed (600); RightFrontWheel.setMaxSpeed (600); RightBackWheel.setMaxSpeed (600);
}
void loop () {if (Serial.available ()> 0) {// чете входящия байт: incomingByte = Serial.read ();
c = incomingByte; ключ (c) {случай 71: Serial.println ("Получих Завъртане надясно W"); rotateRight (); прекъсване; случай 65: Serial.println ("Получих Завъртане наляво Q"); завърти наляво(); прекъсване; случай 1: Serial.println ("Получих BK/LFT"); moveRightBackward (); прекъсване; случай 2: Serial.println ("Получих BK"); moveBackward (); прекъсване; случай 3: Serial.println ("Получих BK/RT"); moveRightBackward (); прекъсване; случай 4: Serial.println ("Получих ЛЯВО"); moveSidewaysLeft ();
прекъсване; случай 5: Serial.println ("Получих STOP"); stopMoving (); прекъсване; случай 6: Serial.println ("Получих RT"); moveSidewaysRight (); прекъсване; случай 7: Serial.println ("Получих FWD/LFT"); moveLeftForward (); прекъсване; случай 8: Serial.println ("Получих FWD"); продължавай напред(); прекъсване; случай 9: Serial.println ("Получих FWD/RT"); moveRightForward (); прекъсване; по подразбиране: Serial.print ("Не е команда"); Serial.println (incomingByte, DEC); прекъсване; }} // moveBackward (); 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 с различна и по -опростена функционалност (без записи)
Моля, изпратете съобщение и аз ще ви изпратя - качванията са неуспешни.
Пази се.
Препоръчано:
Ограничител на оборотите на Arduino за газови двигатели: 5 стъпки

Ограничител на оборотите на Arduino за газови двигатели: Демонстрация в Youtube Това е за смяна на регулатор за ограничаване на скоростта на бензинов двигател. Този ограничител на оборотите може да бъде превключен на 3 различни настройки в движение. Инсталирах това на един цилиндър, двигатели на Briggs и Stratton и използвах Ardu
3D роботизирана ръка с Bluetooth стъпкови двигатели: 12 стъпки

3D роботизирана ръка с Bluetooth стъпкови двигатели: В този урок ще видим как да направим 3D роботизирана ръка, с 28byj-48 стъпкови двигатели, серво мотор и 3D отпечатани части. Печатната платка, изходният код, електрическата диаграма, изходният код и много информация са включени в моя уебсайт
Управление на DC двигатели с Arduino и L293: 5 стъпки (със снимки)

Управление на DC двигатели с Arduino и L293: Лесен начин за управление на DC двигатели. Всичко, от което се нуждаете, са познания по електроника и програмиране Ако имате въпроси или проблеми, можете да се свържете с мен на моята поща: [email protected] Посетете канала ми в YouTube: https : //www.youtube.com/channel/UCuS39O01OyP
DIY Робот Arm 6 ос (със стъпкови двигатели): 9 стъпки (със снимки)

DIY Robot Arm 6 Axis (със стъпкови двигатели): След повече от година проучвания, прототипи и различни неуспехи успях да построя железен / алуминиев робот с 6 степени на свобода, контролиран от стъпкови двигатели. Най -трудната част беше дизайнът, защото Исках да постигна 3 основни постижения
Робот FPV Rover с Wi-Fi контрол (с Arduino, ESP8266 и стъпкови двигатели): 11 стъпки (със снимки)

Wi-fi контролиран робот FPV Rover (с Arduino, ESP8266 и стъпкови двигатели): Тази инструкция показва как да проектирате дистанционно управляван двуколесен роботизиран роувър през wi-fi мрежа, използвайки Arduino Uno, свързан към Wi-fi модул ESP8266 и два стъпкови двигателя. Роботът може да се управлява от обикновени интернет вежди