Съдържание:
- Стъпка 1: Изисквания
- Стъпка 2: Конфигуриране на Bluetooth чип
- Стъпка 3: Прикрепване на колелата към двигателите
- Стъпка 4: Създаване на екстериор
- Стъпка 5: Монтиране на компонентите
- Стъпка 6: Качване и настройване на кода
Видео: Самобалансиращ се робот: 6 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
В тази инструкция ще ви покажем как да изградите самобалансиращия се робот, който направихме като училищен проект. Той се основава на някои други роботи, като nBot и друг Instructable. Роботът може да се управлява от смартфон с Android чрез Bluetooth връзка. Тъй като тази инструкция обхваща само процеса на изграждане, ние също сме написали документ, който да обхваща техническата основа на кода и електрониката. Той също така съдържа връзки към използваните източници, така че можете да ги разгледате, ако документът не е достатъчно изчерпателен за вас.
За да следвате всички стъпки на този проект, ще ви трябват някои умения за 3D печат или друг умен начин да прикрепите колелата към двигателите.
Стъпка 1: Изисквания
Роботът е базиран на контролна платка без четки на кардан Martinez. Има някои леки вариации на тази платка, но стига да имате такава с чип ATmega328 и моторни контролери L6234, трябва да сте добре. Ако търсите „платка Martinez“в Google Images, ще видите, че има някои платки с лесен конектор за IMU чип и/или батерия, вместо заглавки или дупки за щифтове. В последния случай ще ви бъде полезно, ако поръчате пакет щифтове за заглавки, които след това можете да запоите в дупките.
Partlist
Някои от артикулите в този списък съдържат връзки към уеб магазини.
- Контролер: Martinez BoardDX.com (също се предлага с IMU и някои щифтове за заглавки).
- IMU: MPU6050
- Батерия (450 mAh 3S LiPo батерия) Забележка: ще ви трябва и 3S LiPo зарядно устройство eBay.com
- 2x мотор: Безчетков двигател 2208, KV100DX.com
- Колела (можете да ги вземете от съществуващи играчки или LEGO)
- 6x M2 винт 5 mm
- 8x винт M3 (дължината зависи от материала за вашия екстериор, трябва да бъде изключително дълъг)
- Bluetooth чип HC-05 (не забравяйте да получите такъв с прикачена платка за сериен интерфейс, а не само гол чип) ВАЖНО: Уверете се, че чипът има щифт с етикет KEY.
- Проводници: женски към женски DuPont Купуването на пакет от 20 проводника ще бъде повече от достатъчно
- Велкро лента
- USB кабел за свързване на контролер към компютър
- По избор: header pinsDX.com (можете да ги изрежете или счупите до желаната дължина)
- Пластмасови шайби и дистанционни елементи
И накрая, имате нужда от акрил, дърво или картон, придружен от лепило или лента, за да създадете структура, която държи всички компоненти.
Стъпка 2: Конфигуриране на Bluetooth чип
След като хванете всички части, е време за конфигуриране на Bluetooth чипа. Ще ви е необходим USB кабел, за да свържете платката на контролера към вашия компютър, както и Arduino IDE, за да комуникирате с компонентите.
За целта ще трябва да изтеглите файла:
HC-05_Serial_Interface.ino
След това следвайте тези стъпки:
- Свържете контролера към компютъра с USB кабел.
- Отворете.ino файла с Arduino IDE.
- В IDE отидете на Tools, Board и се уверете, че е настроено на Arduino/Genuino Uno.
- Сега отидете на Инструменти, Порт и го настройте на COM порта, към който е свързан контролерът. Обикновено има само един порт. Ако има няколко, проверете диспечера на устройствата (в Windows), за да разберете кой от тях е контролер.
- Сега натиснете бутона за качване в IDE и изчакайте качването да приключи. След това изключете USB кабела от компютъра или контролера.
След като направите това, свържете HC-05 с помощта на кабели DuPont, както следва:
Контролер HC-05
КЛЮЧ +5V GND GND TXD RX RXD TX
Сега отново включете USB кабела, след това свържете VCC щифта на HC-05 към друг +5V на контролера. Светодиодът трябва да мига с интервал ~ 1 секунда.
В Arduino IDE изберете правилния COM порт, след това отидете на Tools, Serial Monitor.
Задайте опцията Line Ending в серийния монитор на NL & CR. Задайте скорост на предаване на 38400. Сега можете да използвате серийния монитор, за да изпращате команди за настройка към чипа Bluetooth. Това са командите:
AT Проверете връзката
AT+NAME Получаване/задаване на Bluetooth дисплейно име AT+UART Получаване/задаване на скорост на предаване AT+ORGL Нулиране на фабричните настройки AT+PSWD Получаване/задаване на парола за Bluetooth
За да промените името, паролата и скоростта на предаване на Bluetooth устройството, изпратете следните команди:
AT+NAME = "Примерно име"
AT+PSWD = "PassWord123" AT+UART = "230400, 1, 0"
Опциите за име и парола могат да бъдат зададени на каквото искате, просто не забравяйте да зададете скоростта на предаване с помощта на същата команда, както е изброено по -горе. Това го настройва на 230400 бода, с 1 стоп бит и без паритет. След като настроите всичко, свържете отново USB кабела (за да излезете от режима за настройка) и опитайте да сдвоите телефона си с чипа. Ако всичко работи, изключете USB кабела и преминете към следващата стъпка.
Стъпка 3: Прикрепване на колелата към двигателите
Колелата, използвани в този проект, са с неизвестен произход (лежаха в чекмедже с много други неща). За да прикрепим колелата към двигателите, ние 3D отпечатахме парче, което съответства на отворите за винтове на двигателите. Парчетата се завинтват с помощта на три 5-милиметрови 2M винта на мотор. И двете части имат щифт, който пасва на отворите в осите на колелата.
Включен е моделът SolidWorks. Вероятно ще трябва да го промените за колелата си или да намерите друго практично решение, за да монтирате колелата. Например, можете да използвате Dremel, за да издълбаете дупка със същия размер като двигателя (или малко по -малка, за да я прилегне плътно), след което можете да натиснете двигателя в колелото. Просто не забравяйте да получите подходящи колела за тази работа, ако планирате да направите това.
Стъпка 4: Създаване на екстериор
За екстериора бяха използвани две парчета дърво и изрязани до еднаква форма. За начало маркирахме обиколката на двигателя в долния център на парчето. След това маркирахме всеки ъгъл с линия от 45 градуса, като се уверихме, че оставяме достатъчно място за мотора да седи в долната част на центъра. След това притиснахме двете парчета дърво заедно и отрязахме ъглите. За да завършим нещата, шлайфахме ъглите, за да ги направим по -малко остри и да премахнем отломките.
Сега е време да пробиете отвори за винтовете и оста, която излиза от гърба на двигателя. Ако при пробиване стегнете дървените парчета заедно, трябва да пробиете всяка дупка само веднъж.
За да създадем оформление за отворите за винтове, използвахме лист хартия и го поставихме на гърба на двигателя и използвахме молив, за да натиснете в отворите за винтове, направо през хартията. Парчето хартия с четирите отвора за винтове беше поставено върху дървото, за да можем да маркираме местоположението на отворите, които трябва да бъдат пробити. За да пробиете отворите, използвайте 3, 5 мм бормашина. Сега използвайте молив и линийка, за да намерите центъра на тези отвори и създайте отвора за оста с помощта на 5 мм свредло. Прикрепете двигателите с винтове М3, но оставете един от по -широко разположените винтове извън един мотор.
За да поставим конектора и проводника на двигателя вътре в робота, също пробихме 8 мм отвор малко над двигателя. Уверете се, че има достатъчно място за огъване на проводниците, без да ги натоварвате твърде много.
Важно е да работите възможно най-точно, за да създадете (почти) перфектен симетричен екстериор
Стъпка 5: Монтиране на компонентите
Маркирайте вертикална централна насока върху дървото, за да можете да поставите компонентите в центъра. Можете да прикрепите всичко към дървото с помощта на велкро лента. В нашия робот използвахме малки болтове и гайки, за да закрепим платката на контролера, но можете да използвате и велкро лента (все още я нямахме по времето, когато прикрепихме контролера). Уверете се, че можете да включите USB кабел, след като приключите с изграждането.
Поставихме контролера в центъра с USB порта насочен надолу, за да можем да включим кабела между колелата. Можете също така да го насочите към една от страните.
Поставете батерията възможно най -високо, така че роботът да стане отгоре тежък. Също така поставете порта за зареждане на лесно достъпно място близо до ръба.
Bluetooth чип
Свържете VCC пина на Bluetooth чипа към +5V на контролера и Bluetooth GND към GND на контролера. TXD щифтът на контролера отива към Bluetooth RX, а щифтът RXD на контролера отива към Bluetooth TX щифта. След това просто залепете Bluetooth чипа някъде върху дървения панел с помощта на велкро лента.
Чип за движение
Чипът за движение има два отвора за винт, така че ние прикрепихме чипа с помощта на дистанционер, по такъв начин, че центърът на чипа пада над центъра на двигателя. Ориентацията няма значение, тъй като роботът се калибрира при зареждане. Не забравяйте да използвате пластмасова шайба под главата на винта, за да предотвратите късо съединение на веригата.
След това използвайте кабелите на DuPont, за да свържете щифтовете към контролера. Всеки щифт е обозначен по същия начин на контролера, както и на чипа за движение, така че свързването му е доста ясно.
Превключвател на захранването
Свързването на превключвателя на захранването е лесно. Взехме един от старо устройство и го разпаяхме от платката му. За да го използвате като превключвател за захранване на робота, свържете положителния проводник на батерията към щифта (ако приемем, че е три-пинов превключвател) от страната, от която искате да включите превключвателя. След това свържете централния щифт към положителния вход на контролера. Запоявахме кабелите DuPont към превключвателя, така че самата батерия да не е постоянно свързана към превключвателя.
Свързване на страните
Сега знаете местоположението на компонентите и имате двете страни на робота. Последната стъпка в изграждането на робота ще бъде свързването на двете страни една с друга. използвахме четири комплекта от три парчета дърво, залепени заедно и го завинтвахме отстрани, така че чипът ни за движение да е върху средната ос на робота. Трябва да се каже, че използваният материал, при условие че е достатъчно здрав, няма голямо значение. Можете дори да използвате по -тежка връзка отгоре, за да увеличите още повече височината на центъра на масата. Но за разлика от вертикалното положение на центъра на масата, хоризонталното положение на центъра на масата трябва да се поддържа възможно най-високо над оста на колелото, тъй като кодирането на кода за чипа за движение би станало доста трудно, ако хоризонталният център на изместена маса.
Сега сте готови да качите кода и да настроите контролера.
Стъпка 6: Качване и настройване на кода
За да качите кода, имате нужда от компютър с Arduino IDE. Изтеглете.ino файла по -долу и го отворете с Arduino IDE. Качването му в контролера се извършва по същия начин, както сте направили с кода от настройката на Bluetooth.
За да накарате робота да работи, трябва да изтеглите приложението „Joystick bluetooth Commander“от Play Store. Включете захранването на робота и го поставете на пода, отпред или отзад. Стартирайте приложението и се свържете с Bluetooth чипа. Полето с данни 1 ще премине от XXX в READY, след като роботът се калибрира (5 секунди, за да го постави на една страна, последвано от 10 секунди калибриране). Можете да включите робота, като превключите бутон 1 в приложението. Сега поставете робота вертикално на земята и го пуснете, след като усетите, че двигателите се включват. Това е, когато роботът започва да се балансира.
Роботът вече е готов за настройка, тъй като стабилността му вероятно не е голяма. Можете да опитате дали работи без допълнителна настройка, но трябва да направите робота доста идентичен с нашия, за да работи правилно. Така че в повечето случаи трябва да настроите контролера да работи най -добре с вашия робот. Това е доста лесно, въпреки че отнема много време. Ето как да го направите:
Настройка на контролера
Някъде в кода ще намерите 4 променливи, започвайки с k. Това са kp, kd, kc и kv. Започнете, като зададете всички стойности на нула. Първата стойност за настройка е kp. Стойността по подразбиране kp е 0,17. Опитайте да го настроите на нещо много по -ниско като 0,05. Изключете робота, качете кода и вижте как той се опитва да балансира. Ако падне напред, увеличете стойността. Най -умният начин да направите това е чрез интерполиране:
- Задайте стойността на нещо ниско и го изпробвайте
- Задайте стойността на нещо високо и го изпробвайте
- Задайте средната стойност на двете и я изпробвайте
- Сега опитайте да разберете дали балансира по -добре на ниската или високата стойност и средната стойност на текущата стойност и тази, при която работи по -добре.
- Продължете, докато намерите сладко място
Сладкото място за стойността на kp е, когато тя е около ръба на недостатъчна и свръхкомпенсирана. Така че понякога той ще падне напред, тъй като не може да се справи със скоростта си на падане, а друг път ще падне назад, защото прескочи в различна посока.
След като зададете стойността на kp, задайте kd. Това може да се направи по същия начин, както с kp. Увеличете тази стойност, докато роботът е почти балансиран, така че да се люлее напред -назад, докато падне. Ако го настроите твърде високо, вече можете да го накарате да балансира доста добре, но когато балансът е нарушен твърде много, той ще падне (например, когато го натиснете). Така че опитайте да намерите мястото, на което не е съвсем балансирано, но доста близо.
Както може би се досещате, настройването на контролера може да отнеме няколко опита, тъй като става все по -трудно с всяка нова въведена променлива. Така че, ако смятате, че няма да работи, започнете отначало.
Сега е време да настроите kv. Интерполирайте това, докато намерите стойност, при която роботът спира да се люлее, остава балансиран и може да се справи с леко натискане. Когато е прекалено високо, това влияе отрицателно върху стабилността. Опитайте да поиграете с kv и kp, за да намерите точка, в която е най -стабилна. Това е най-отнемащата време стъпка от настройката.
Последната стойност е kc. Тази стойност кара робота да се върне в последната си позиция, след като компенсира натискане или нещо друго. Можете да опитате същия метод на интерполация тук, но 0,0002 трябва да работи доста добре в повечето случаи.
Това е! Вашият робот вече е готов. Използвайте джойстика на вашия смартфон, за да управлявате робота. Внимавайте обаче, тъй като напредването с максимална скорост все още може да накара робота да падне. Поиграйте с променливите на контролера, за да компенсирате това колкото е възможно повече. Най -логичната стъпка би била да се погледне стойността на kp за това, тъй като това директно компенсира текущия ъгъл на робота.
Важна забележка за батериите LiPo
Препоръчва се редовно да проверявате напрежението на LiPo батерията. LiPo батериите не трябва да се разреждат под 3 волта на клетка с измерване 9 волта на 3S LiPo. Ако напрежението падне под 3 волта на клетка, ще има трайна загуба на капацитета на батерията. Ако напрежението падне под 2,5 волта на клетка, изхвърлете батерията и купете нова. Зареждането на LiPo клетка с по -малко от 2,5 волта е опасно, тъй като вътрешното съпротивление става много високо, което води до гореща батерия и потенциална опасност от пожар по време на зареждане.
Препоръчано:
Самобалансиращ се робот - ПИД контрол алгоритъм: 3 стъпки
Self Balancing Robot - PID Control Algorithm: Този проект е замислен, защото имах интерес да науча повече за контролните алгоритми и как ефективно да прилагам функционални PID контури. Проектът все още е във фаза на разработка, тъй като тепърва ще бъде добавен Bluetooth модул, който ще
HeadBot-самобалансиращ се робот за STEM обучение и обхващане: 7 стъпки (със снимки)
HeadBot-самобалансиращ се робот за обучение и постигане на STEM: Headbot-висок два фута, самобалансиращ се робот-е рожба на екипа на South Eugene Robotics (SERT, FRC 2521), състезателен екип по роботика в гимназията в ПЪРВОТО Състезание по роботика, от Юджийн, Орегон. Този популярен аутрич робот прави отново
Как да създадете дистанционно управляван 3D принтиран самобалансиращ се робот: 9 стъпки (със снимки)
Как да създадете дистанционно управляван 3D принтиран самобалансиращ се робот: Това е еволюция на предишната версия на B-робот. 100% ОТВОРЕН ИЗТОЧНИК / робот Arduino. КОДЪТ, 3D частите и електрониката са отворени, така че не се колебайте да ги промените или да създадете огромна версия на робота. Ако имате съмнения, идеи или имате нужда от помощ, направете
Създаване на дистанционно управляван самобалансиращ се робот Arduino: B-робот EVO: 8 стъпки
Създаване на дистанционно управляван самобалансиращ се робот Arduino: B-робот EVO: ------------------------------------ -------------- АКТУАЛИЗАЦИЯ: тук има нова и подобрена версия на този робот: B-роботът EVO, с нови функции! ------------ -------------------------------------- Как работи? B-ROBOT EVO е дистанционно контрол
Самобалансиращ се робо-рицар: 7 стъпки (със снимки)
Самобалансиращ се робо-рицар: Видеоигрите и настолните игри са чудесен начин да прекарате време с приятели и семейство. Понякога ви се струва, че прекарвате време офлайн и прибирате цялата си електроника, друг път се гмуркате във виртуалния свят на спорта, аркадата или бойната игра