Съдържание:

ESP8266 WIFI AP контролиран четириъгълен робот: 15 стъпки (със снимки)
ESP8266 WIFI AP контролиран четириъгълен робот: 15 стъпки (със снимки)

Видео: ESP8266 WIFI AP контролиран четириъгълен робот: 15 стъпки (със снимки)

Видео: ESP8266 WIFI AP контролиран четириъгълен робот: 15 стъпки (със снимки)
Видео: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Юли
Anonim
Image
Image

Това е урок за създаване на 12 DOF или четирикрак (четириног) робот, използващ SG90 серво със серво драйвер и може да се управлява с помощта на WIFI уеб сървър чрез браузър на смартфон

Общата стойност на този проект е около 55 щ.д. (за електронна част и рамка от пластмасови роботи)

Стъпка 1: Подгответе рамката

Електронни части (Wemos D1 Mini)
Електронни части (Wemos D1 Mini)

Целият 3D обект е безплатен за изтегляне @ www.myminifactory.com или www.thingiverse.com

Отпечатайте го, като използвате материална поддръжка за част, като крака, ханша и бедрата

Списък на отпечатаната част:

1x основно тяло

1x корица

1x държач за батерия

4x бедрата (тип A & B)

4x Thight (тип A & B)

4x крак (тип A & B)

4x щит

12x втулка + 12x 2 мм винт

Стъпка 2: Сглобете рамката на робота

следвайте стъпка по стъпка видеото по -горе, за да сглобите рамката, винтът е за отвор с размер 2 мм

Стъпка 3: Електронни части (Wemos D1 Mini)

Image
Image

На пазара има много варианти на NodeMCU и основно имат същата функционалност, за този проект избирам Wemos D1 Mini.

Тази част ще служи като уеб сървъри за нашата четворка като точка за достъп.

Това, от което се нуждаете, е просто да се свържете с четворната AP и да контролирате цялото движение на вашия робот, а може би за бъдещия проект той ще покаже всички сензорни табла, от които се нуждаете …

Този D1 mini е мини WIFI платка, базирана на ESP-8266EX. и той има 11 цифрови входни/изходни пина, всички пинове имат прекъсване/pwm/I2C/поддържат едножични (с изключение на D0) 1 аналогов вход (макс. 3.3V вход) a Micro USB връзка

Как да започнете в:

  1. Инсталирайте за Arduino 1.6.7 от уебсайта за for Arduino.
  2. Стартирайте за Arduino и отворете прозореца Предпочитания.
  3. в полето Допълнителни URL адреси на Boards Manager. Можете да добавите няколко URL адреса, като ги разделите със запетаи.
  4. Отворете Инструменти → Борд: xxx → Мениджър на платки и инсталирайте esp8266 от общността ESP8266 (и не забравяйте да изберете вашата платка ESP8266 от Инструменти> меню на таблото след инсталирането).

За повече подробности можете да проверите видеото по -горе

Щракнете тук, за да търсите в Aliexpress

За този проект всичко, от което се нуждаете, е да свържете този ПИН:

  1. NodeMCU RX щифт се свързва с Arduino Nano TX щифт
  2. NodeMCU TX щифт се свързва с Arduino Nano RX щифт
  3. NodeMCU G щифт се свързва към DC-DC mini 5v Stepdown (-) Изходен изход
  4. NodeMCU5V щифт се свързва към DC-DC mini 5v Stepdown (+) Изходен изход

PS: За да програмирате тази платка, трябва да изключите всички щифтове, свързани към arduino и DC-DC стъпка надолу, в противен случай ще получите грешка …

Стъпка 4: Електронни части (Arduino Nano)

Електронни части (Arduino Nano)
Електронни части (Arduino Nano)

Същото и с NodeMCU, за дъската arduino можете да използвате всяка дъска, подходяща за вас като Arduino Pro Mini, Arduino Nano или друго.

Но за този проект избирам Arduino Nano, тъй като не се нуждая от много пинове, които използвах, той е малък и не се нуждае от FTDI, за да го програмира.

щракнете тук, за да търсите в Aliexpress

За този проект просто използвам:

  1. Arduino nano RX щифт се свързва с NodeMCU TX щифт
  2. Arduino nano TX щифт се свързва с NodeMCU RX щифт
  3. Ardiono nano A4 щифт се свързва с PCA9685 SDA щифт
  4. Arduino nano A5 щифт се свързва към PCA9685 SCL щифт
  5. Arduino nano GND щифт се свързва към DC-DC mini 5v Stepdown (-) Изходен изход
  6. Arduino nano 5V щифт се свързва към DC-DC mini 5v Stepdown (+) изход

вижте схемата по -горе за повече подробности

PS: За програмиране на тази платка трябва да изключите всички щифтове, прикрепени към NodeMCU и DC-DC стъпка надолу, в противен случай ще получите грешка …

Стъпка 5: Електронни части (Tower Pro 9g Micro Servo)

Електронни части (Tower Pro 9g Micro Servo)
Електронни части (Tower Pro 9g Micro Servo)

Това е най -популярното мини серво. Тежи само 9 грама и ви дава 1,5 кг/см въртящ момент. Доста силен по отношение на размера си. Подходящ за роботи с тип греда.

PS: Това серво може да се завърти само под ъгъл 180 градуса

Основни функции:

• Прозрачно тяло

• Леки

• Спецификации за по -малко шум:

• Размери: 22,6 x 21,8 x 11,4 мм

• Дължина на съединителния проводник: 150 мм

• Работна скорост (4,8 V без товар): 0,12 сек / 60 градуса

• Въртящ момент на застой (4.8 V): 1.98 кг/см

• Температурен диапазон: 30 до 60 ° C (-22 до 140 ℉)

• Ширина на мъртвата лента: 4 usec

• Работно напрежение: 3,5 - 8,4 волта

Щракнете тук, за да търсите сервомотор SG90 в Aliexpress

Стъпка 6: Електронни части (16 -канален 12 -битов PWM/Servo драйвер - I2C интерфейс - PCA9685 за Arduino)

Електронни части (16 -канален 12 -битов PWM/Servo драйвер - I2C интерфейс - PCA9685 за Arduino)
Електронни части (16 -канален 12 -битов PWM/Servo драйвер - I2C интерфейс - PCA9685 за Arduino)

Искате ли да направите робот проходилка? но използването само на микроконтролер има ограничен брой ШИМ изходи и се озовавате на изчерпване! Не с 16-каналния 12-битов PWM/Servo драйвер Adafruit-I2C интерфейс. С този пробив на PWM и серво драйвер можете да контролирате 16 свободно работещи ШИМ изхода само с два пина! Нуждаете се от повече от 16 ШИМ изхода? Няма проблем. Свържете заедно до 62 от тези красоти за до изключителни 992 ШИМ изхода.

Тази платка/чип използва I2C 7-битов адрес между 0x60-0x80, избираем с джъмпери Клемен блок за входно захранване (или можете да използвате 0,1 "пробиви отстрани) Защита срещу обратен полярност на входа на клемния блок Зелен светодиод с добра мощност 3 щифтови съединители в групи от 4, така че можете да включите 16 сервосистеми наведнъж (серво щепселите са малко по-широки от 0,1 ", така че можете да подреждате само 4 един до друг на 0,1" заглавна "верижна" конструкция) Място за поставяне на голямо кондензатор на линията V+ (в случай, че имате нужда) 220 ома резистори на всички изходни линии, за да ги защитите и да направите светодиодите за шофиране тривиални. За разлика от семейството на TLC5940, не е нужно непрекъснато да му изпращате сигнал, свързващ вашия микроконтролер, неговият напълно свободен ход! Той е съвместим с 5V, което означава, че можете да го управлявате от 3.3V микроконтролер и все още безопасно да управлявате до 6V изходи (това е подходящ, когато искате да контролирате бял или син L ED с 3.4+ напрежения напред 6 извода за избор на адрес, така че можете да свържете до 62 от тях на една i2c шина, общо 992 изхода - това е много серво или светодиоди Регулируема честота PWM до около 1,6 KHz 12 -битов разделителна способност за всеки изход-за серво, това означава около 4us резолюция при честота на актуализиране 60Hz Конфигурируем издърпващ или отворен изход Изход за разрешаване на изхода за бързо деактивиране на всички изходи.

щракнете тук, за да търсите в Aliexpress

В този проект имаме нужда само от 12 CH за всички крака (3CH за крак), свържете този PCA9685 щифт към Arduino Nano:

  1. PCA9685 VCC към DC-DC mini 5v Stepdown (+) Изход за изход
  2. PCA9685 GND към DC-DC mini 5v Stepdown (-) Изходен извод
  3. PCA9685 Servo (PWM) мощност V+ към UBEC (+) Изходен изход
  4. PCA9685 Servo (PWM) захранване GND към UBEC (-) Изходен извод
  5. PCA9685 SDA пин към щифта arduino nano A4
  6. PCA9685 SCL щифт към щифта arduino nano A5
  7. PCA9685 CH0 към предната дясна част, моля, съобразете цвета на кабела с цвета на гнездото PCA9685 (жълто, червено, кафяво/черно)
  8. PCA9685 CH1 към предния десен крак, моля, съобразете цвета на кабела с цвета на гнездото PCA9685 (жълто, червено, кафяво/черно)
  9. PCA9685 CH2 към предната дясна ханша, моля, съобразете цвета на кабела с цвета на гнездото PCA9685 (жълто, червено, кафяво/черно)
  10. PCA9685 CH4 към задната дясна част, моля, съобразете цвета на кабела с цвета на гнездото PCA9685 (жълто, червено, кафяво/черно)
  11. PCA9685 CH5 към задната дясна крака, моля, съобразете цвета на кабела с цвета на гнездото PCA9685 (жълто, червено, кафяво/черно)
  12. PCA9685 CH6 към задната дясна ханша, моля, съобразете цвета на кабела с цвета на гнездото PCA9685 (жълто, червено, кафяво/черно)
  13. PCA9685 CH8 към предната лява част, моля, съобразете цвета на кабела с цвета на гнездото PCA9685 (жълто, червено, кафяво/черно)
  14. PCA9685 CH9 към предния ляв крак, моля, съобразете цвета на кабела с цвета на гнездото PCA9685 (жълто, червено, кафяво/черно)
  15. PCA9685 CH10 към предния ляв хълбок, моля, съобразете цвета на кабела с цвета на гнездото PCA9685 (жълто, червено, кафяво/черно)
  16. PCA9685 CH12 към задната лява част, моля, съобразете цвета на кабела с цвета на гнездото PCA9685 (жълто, червено, кафяво/черно)
  17. PCA9685 CH13 към задния ляв крак, моля, съобразете цвета на кабела с цвета на гнездото PCA9685 (жълто, червено, кафяво/черно)
  18. PCA9685 CH14 към задния ляв хълбок, моля, съобразете цвета на кабела с цвета на гнездото PCA9685 (жълто, червено, кафяво/черно)

PS: Някои PCA9685 нямат гнездо за цветен код, затова се уверете, че Жълтият кабел от сервомотора SG90 отива към PWM пина за данни, Червеният кабел отива към V+ пина, а Черният/Кафявия към GND пина

Стъпка 7: ШИМ връзка към Servo Pin връзка

PWM към свързване на серво щифт
PWM към свързване на серво щифт
ШИМ връзка към Servo Pin връзка
ШИМ връзка към Servo Pin връзка

Щракнете и увеличете снимката по -горе, за да видите пин картата между PCA9685 и сервомоторите

PS: Използвате само 12CH от 16 CH за този проект, така че все още имате 4CH за разширяване, като например поставяне на радарно серво или поставяне на някакво нервно бластерно оръжие върху него … Просто поставете допълнителен код в arduino и NodeMCU

Стъпка 8: Електронни части (UBEC)

Електронни части (UBEC)
Електронни части (UBEC)

3A-UBEC е DC-DC регулатор с превключващ режим, снабден с 2-6 клетъчна литиева батерия (или 5-18 клетки NiMh /NiCd батерия) и извежда постоянно безопасно напрежение за вашия приемник, жироскоп и серво. Той е много подходящ за RC хеликоптер. В сравнение с UBEC с линеен режим, общата ефективност на UBEC с превключващ режим е по-висока.

В този проект ние го използваме за захранване на всички сервомотори, той има филтриране, така че ще намали шума, който може да повлияе на грешката на двигателя и има висок усилвател, който е достатъчен, за да вдигне натоварването на робота.

щракнете тук, за да търсите в Aliexpress

Пин връзка:

  1. UBEC (+) ЧЕРВЕН изход изход към PCA9685 Servo (PWM) мощност V+
  2. UBEC (-) ЧЕРЕН Изходен изход към PCA9685 Servo (PWM) захранване GND
  3. UBEC (+) ЧЕРВЕН Вход към щифта на батерията (+)
  4. UBEC (-) ЧЕРЕН вход към щифта за превключване

Стъпка 9: Електронни части (DC-DC Mini Stepdown)

Електронни части (DC-DC Mini Stepdown)
Електронни части (DC-DC Mini Stepdown)
Електронни части (DC-DC Mini Stepdown)
Електронни части (DC-DC Mini Stepdown)

Той почти има същата функция с UBEC, но този е само прост DC-DC модул за понижаване. Той има потенциометър, който можем да регулираме V (+) изхода от 1V до 17V и няма филтриране.

щракнете тук, за да го търсите в Aliexpress

PS: така че не забравяйте, преди да го използвате, моля, регулирайте V (+) изхода до 5V изход с помощта на DC Volt метър

Пин връзка:

  1. Мини стъпка надолу (+) IN към (+) батерия
  2. Мини стъпало надолу (-) IN към щифта за превключване
  3. Мини понижаващ (+) OUT паралелно на NodeMCU (5V), Arduino nano (5V) и PCA9685 (VCC) щифт
  4. Мини стъпка надолу (-) OUT паралелно на NodeMCU (G), Arduino nano (GND) и PCA9685 (GND) щифт

Стъпка 10: Друга електронна част

Друга електронна част
Друга електронна част
Друга електронна част
Друга електронна част
Друга електронна част
Друга електронна част

Това, от което се нуждаете, е около (20 кабела или по -малко) проводник от женски към женски (търсене на джъмпер Aliexpress)

Самозаключващ се натискащ превключвател или можете да използвате друг тип превключвател (Aliexpress Самозаключващ се ключ за търсене)

и чифт JST конектор от батерия към превключвател и UBEC/DC-DC понижаване (търсене на Aliexpress JST конектор)

Стъпка 11: Източник на захранване

Източник на захранване
Източник на захранване
Източник на захранване
Източник на захранване

Има много източник на захранване, който можете да използвате, за мен предпочитам да използвам акумулаторна lipo 3S батерия. Той има 11, 1 волтов ток и 500mAh или повече капацитет (не прекалено много, за да може да бъде по -лек).

Но използването на 3S lipo се нуждае от зарядно устройство и не е евтино, така че … можете да използвате друг източник на захранване като батерия AAA, можете да използвате серийна батерия 6 AAA, така че да може да произвежда около 9V източник на захранване и мисля, че това е достатъчно енергия за този робот.

Щракнете тук, за да търсите Lipo 3S батерия в Aliexpress

Щракнете тук, за да търсите Lipo зарядно устройство

Щракнете тук, за да търсите 6xAAA държач за батерия в Aliexpress

Стъпка 12: Диаграма на проводника

Схема на проводника
Схема на проводника

Щракнете и увеличете снимката по -горе, за да видите цялата телена диаграма за този проект

PS: u се нуждаете от малко запояване в някаква част и поставете гумена глава за свиване, за да я запечатате за връзката между превключвателя на захранването, UBEC и DC-DC стъпка надолу.

Стъпка 13: Кодиране и начална поза

Кодиране и начална поза
Кодиране и начална поза

Свържете arduino nano с помощта на mini USB към USB порта (но не забравяйте да изключите всички щифтове към wemos D1 mini и DC-DC стъпка надолу) и отворете „spider_driver_open_v3_ESP8266_Rev280918.ino“и го прехвърлете към Arduino nano, но не Не забравяйте да изберете платката arduino към Arduino nano и да изберете правилния порт.

След това свържете Wemos D1 mini към компютъра, като използвате micro USB към USB (също не забравяйте да изключите всички щифтове към DC-DC стъпка надолу и Arduino nano). След това отворете „QuadrupetV2_310319_fix_connection_issue.ino“и го прехвърлете към дъската, но преди това изберете правилната платка по избор и изберете правилния порт (повече подробности, моля, върнете се към стъпка 3)

След като приключите, можете да поставите отново всички щифтове между arduino nano, wemos D1 mini и DC-DC стъпка надолу и захранване на робота, за да регулира правилната първоначална поза.

ИЗХОДНА ПОЗА (Вижте снимката по -горе) пренастройте целия крак възможно най -близо до снимката по -горе.

След като включите робота, ако позицията на крака не е същата с горната снимка, всичко, от което се нуждаете, е:

  1. развийте серво клаксона и отделете серво клаксона от серво.
  2. завъртете крака, докато се приближите достатъчно с първоначалната поза
  3. поставете отново серво клаксона и го включете отново
  4. направи го за всички пропуски мач крак

PS:

  1. QuadrupetV2_310419_fix_connection_issue.ino вече е отстранен някои проблеми като трудно свързване (wifi) и неуспешно изобразяване на уеб страница, за тези, които флашнат по-старата програма преди 31-3-2019, моля, изтеглете я отново по-горе
  2. има нужда от допълнителна библиотека за инсталиране (копирайте я в папката на библиотеката)

    • github.com/wimleers/flexitimer2
    • github.com/adafruit/Adafruit-PWM-Servo-Dri…
    • github.com/kroimon/Arduino-SerialCommand

Стъпка 14: Управление на робота

Управление на робота
Управление на робота

Тъй като този робот е станал WIFI точка за достъп, така че всичко, от което се нуждаете, е:

  1. Захранване на робота
  2. Отворете настройката за wifi на вашия смартфон
  3. Свържете се с точката за достъп на SpiderRobo с парола е "12345678"
  4. Отворете уеб браузъра на вашия смартфон и въведете

Сега вашият робот е готов да поеме вашата команда …

Стъпка 15: За тези, които имат проблем с отварянето на уеб страница или свързването към точката за достъп

ИЗПРАВИХ ТОЗИ ВЪПРОС, МОЛЯ ИЗТЕГЛЕТЕ ОТНОВО ОТ СТЪПКА 13 ГОРЕ (поправете @ 31-4-2019)

някои от мини клонове на Wemos D1 имат лош или дефектен ESP и причиняват:- Трудно се свързвате с AP

- Неуспешно отваряне на страницата

- Зареждането не завършва

За повече подробности вижте видеото ми по -горе …

Препоръчано: