Съдържание:
- Стъпка 1: Какво ви трябва
- Стъпка 2: Отпечатайте шаси
- Стъпка 3: Подгответе Н-моста
- Стъпка 4: Окабеляване на модулите
- Стъпка 5: Настройка на контролера
- Стъпка 6: Код
- Стъпка 7: Закрепете всичко заедно
- Стъпка 8: Дума за бойните правила на роботите
- Стъпка 9: Допълнителна информация за двигателите
- Стъпка 10: Актуализации и подобрения
Видео: Евтин Arduino Combat Robot Control: 10 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Възраждането на Battlebots в Щатите и Robot Wars във Великобритания възроди любовта ми към бойната роботика. Затова намерих местна група строители на ботове и се потопих направо.
Ние се борим по скалата за тегло на мравките в Обединеното кралство (ограничение от 150 грама) и аз бързо осъзнах традиционния начин за изграждане на бот, включващ RC предавка: скъп RC предавател, обемист или скъп приемник и ESC (електронни контролери на скоростта), които са магически кутии който може да се справи с по -голям ток, отколкото е необходимо за бот с такъв размер.
Използвайки Arduino в миналото, исках да се опитам да направя нещата по различен начин и си поставих за цел Arduino система, която може да получава боен правен сигнал и да управлява два задвижващи двигателя за около 5 USD (половината от цената на евтин ESC)
За да помогна за постигането на тази цел, ремиксирах тази RC кола с инструкции, намалявайки теглото/цената на приемника и генерирайки 4 PWM сигнала, за да стартирам евтин чип с h-мост
Тази инструкция ще се фокусира върху системата за управление на Arduino, но ще добавя допълнителна информация, за да помогна на новите хора да създадат първия си бот
Опровержение:
Дори при малък мащаб изграждането на бойни роботи/битките могат да бъдат опасни, предприемете на свой собствен риск
Стъпка 1: Какво ви трябва
Материали:
За системата за управление:
- 1x Arduino pro mini 5v (1,70 щ.д.)
- 1x модул nRF24L01 ($ 1,14)
- 1x 3.3v регулаторен модул ($ 0.32)
- 1x модул с двоен h-мост* ($ 0.90)
За останалата част от основен клин бот:
- 2x микроредукторни двигатели ** (евтина версия, надеждна версия)
- 1x 2s литиево -полимерна батерия
- 1x зарядно устройство за баланс
- 1x торба за зареждане на липо
- 1x превключвател
- 1x конектор за батерията
- разни проводници (използвах някои кабели за джъмпери Arduino, които лежах наоколо)
- малки винтове
- (по избор) епоксидна смола
- (по избор) Алуминий (от кутия за безалкохолни напитки)
- (по избор) допълнителни светодиоди
За основен контролер:
- 1x Arduino pro mini 5v
- 1x модул nRF24L01
- 1x 3.3v регулаторен модул
- 1x Arduino-джойстик
Инструменти:
- Отвертка
- Поялник
- Клещи
- 3D принтер (по избор, но улеснява живота)
*когато разглеждате модули h-bridge, потърсете модул с всичките 4 входни сигнала един до друг, това ще улесни прикачването към Arduino по-късно
** вижте последната стъпка за някои съвети за избор на скорости на двигателя
Стъпка 2: Отпечатайте шаси
Преди да започнете с контролната система, погледнете дизайна на бота, който ще бъде изграден. Винаги е най -добре да проектирате бот от оръжието. За начинаещ предлагам да започнете с основен клин, те са проектирани да бъдат здрави и да изтласкват противниците от пътя, което означава, че е по -малко вероятно да бъдете унищожени в първата си битка, плюс това е по -лесно да усетите шофирането, когато не не трябва да се притеснявате за активно оръжие.
Аз съм проектирал клин бот: „Леко груб“, който е бил тестван в битка, както брониран, така и без брони. Това е добър първи бот, лесен за печат и може да се сглоби с 8 винта. Проверете го в Thingiverse за различен топ дизайн
Ако не притежавате 3D принтер, опитайте локална библиотека, хакерско пространство или пространство за създаване
Добавянето на допълнителна броня е лесно да се направи прясно от принтера, шлайфайте както клина, така и безалкохолната напитка, алуминий с шкурка, почистете шлифовъчния прах, нанесете епоксидна смола както върху пластмасата, така и върху алуминия, задръжте заедно със скоби или гумени ленти за 12-24 часа
Понастоящем нямам публичен дизайн на колела, тъй като използвах гумени гуми от образователен комплект за роботика върху 3D печатни главини. През следващите седмици ще проектирам хъб, който ще използва О-пръстени за захващане. След като колелата свършат, ще актуализирам тази страница и страницата Thingiverse
Стъпка 3: Подгответе Н-моста
Различните драйвери на мостове с h-мост се предлагат в различни настройки, но модулът, свързан в първоначалния списък, идва с 2 клемни блока като изход. Тези клемни блокове са тежки и обемисти, така че е най -добре да ги премахнете.
Най -лесният начин да направите това е да нагреете и двете подложки едновременно с поялник и внимателно да изтръгнете блоковете с клещи
Преди да продължите, решете дали искате да можете да смените двигателите във вашата настройка. Ако е така, джъмперните кабели на Arduino могат да бъдат запоени в изхода на модула, тогава противоположният кабел може да бъде запоен към двигателя, което ги прави сменяеми, ако е необходимо.
Стъпка 4: Окабеляване на модулите
Окабеляването на модулите може да се извърши по 3 различни начина, поради което стъпката на проектиране е от решаващо значение. Изборът на оръжие ще повлияе на формата на бота и избора на окабеляване.
трите избора са:
- Разхлабени проводници (леки, но по -крехки) (изображение 1)
- Perfboard (по -тежък от 1, но по -здрав с по -голям отпечатък) (изображение 2)
- Персонализирана платка (по -тежка от 1, но здрава с малък отпечатък) прикрепен дизайн на дъската (изображение 3)
независимо от направения избор, действителните връзки са еднакви.
Направете следните връзки два пъти (веднъж за контролера и веднъж за приемника)
nRF24L01 (изображение с номериране на щифтове 4 **):
- ПИН 1 -> GND
- ПИН 2 -> изход на 3.3V модул
- Pin 3 -> Arduino pin 9
- Pin 4 -> Arduino pin 10
- Pin 5 -> Arduino pin 13
- Pin 6 -> Arduino pin 11
- Pin 7 -> Arduino pin 12
3.3v модул:
- Vin pin -> Vcc*
- Изходен щифт -> щифт 2 nRF (както по -горе)
- GND щифт -> GND
Arduino:
- Пинове 9-13 -> свържете към nRF както по -горе
- Сурово -> Vcc*
- GND -> GND
Направете веднъж следните връзки, за да направите разлика между контролер и приемник
За контролера:
Джойстик:
- +5v -> Arduino 5v
- vrx -> Arduino щифт A2
- vry -> Arduino щифт A3
- GND -> GND
За приемника:
модул h-bridge:
- Vcc -> Vcc*
- B -IB -> Arduino щифт 2
- B -IA -> Arduino щифт 3
- A -IB -> Arduino щифт 4
- A -IA -> Arduino щифт 5
- GND -> GND
Това е най -лесно да направите, като замените щифтовете за Vcc и GND с тел, след това обърнете дъската с главата надолу и запоявайте щифтовете директно в Arduino, това опростява запояването и създава сигурен монтаж за водача на двигателя
*за да бъде боен робот легален, трябва да се добави изолираща точка (превключвател или подвижна връзка) между батерията и веригата. Това означава, че положителният момент на батерията трябва да бъде свързан към превключвател, след това превключвателят, свързан към Vcc
** изображение от https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo, което е чудесен ресурс за модула nRF24L01
Стъпка 5: Настройка на контролера
След като всичко е свързано, е време за някакъв код.
Започвайки от контролера, са необходими някои стойности на потенциометъра, за да се гарантира, че точно свързаният джойстик ще работи с предаващия код.
Заредете в кода "joystickTestVals2". Този код се използва за отчитане на стойностите на потенциометъра и тяхното извеждане чрез последователно предаване
При стартиране на кода и отворен сериен прозорец започнете, като погледнете стойността "UP", натиснете джойстика в напълно напред позиция, стойността "UP" вероятно ще скочи между няколко големи числа, изберете най -малката от стойностите, които виждате, извадете 10 от него (това ще гарантира, че натискането на пръчката докрай ще даде пълна мощност) и я запишете като „Up Max“позволява на джойстика да се върне обратно в центъра. Сега изберете най -голямата стойност, която виждате, добавете 20 към нея и я запишете като "UpRestMax". Повторете процеса, като натиснете пръчката надолу и обърнете добавянето/изваждането, записвайки стойностите като "UpMin" и "UpRestMin"
Повторете целия процес отново за ляво и дясно, като започнете с натискане на пръчката надясно, записване на "SideMax", след това "SideRestMax", докато се извива назад и натискане наляво, за да запишете "SideMin" и "SideRestMin"
Тези стойности са изключително важни, особено всички стойности, съдържащи думата „Почивка“. тези стойности създават "мъртвата зона" в центъра на пръчката, така че ботът да не се движи, когато пръчката е в центъра, уверете се, че когато пръчката е центрирана, стойностите попадат между "restMin" и "restMax" за двете оси
Стъпка 6: Код
Даденият код прави всичко за основен клин-бот с изградена структура, която позволява да се изпрати и стойност на оръжие pwm.
Необходими библиотеки:
- Библиотека nRF24L01 от тук: GitHub
- Софтуерна PWM от тук: Google Code
Настройте вашия контролер:
отворете кода на txMix и променете граничните стойности на стика до стойностите, които сте записали в последната стъпка. Това ще гарантира, че кодът реагира правилно на вашия джойстик (Изображение 1)
Персонализирайте тръбата:
За да сте сигурни, че не пречите на никой друг на вашето събитие, ще трябва да смените радиоканала. Това всъщност е идентификатор и приемникът ще действа само по сигнали от правилната тръба, така че не забравяйте да смените тръбата в двата кода на едно и също нещо.
На изображение 2 са подчертани шестнадесетични цифри на тръбата. Това са двете цифри, които трябва да бъдат променени, за да персонализирате тръбата. Променете „E1“на всяка друга двуцифрена шестнадесетична стойност и я запишете, за да можете лесно да я проверите срещу тръбите на противниците на събитие
Качване:
- txMix към контролера
- получаване към приемния модул
Изтеглете кода:
txMix:
Кодът се чете в позицията на джойстика като "UP" стойност и "side" стойност. тези стойности се ограничават въз основа на максималната стойност, предоставена, за да се осигури пълна мощност при максималната позиция на пръчката.
След това тези стойности се проверяват, за да се гарантира, че пръчката е излязла от неутралната позиция, ако няма изпратени нули.
След това стойностите се смесват поотделно в две променливи, една за скоростта на левия двигател и една за дясната скорост на двигателя. В тези променливи се използва отрицателна стойност, която показва, че двигателят се движи назад, тъй като опростява смесването.
След това стойностите на скоростта наляво и надясно се разделят на четири стойности pwm, по една за всяка: мотор надясно напред, двигател наляво напред, двигател надясно назад, двигател наляво назад.
След това четирите pwm стойности се изпращат към приемника.
получавам:
Просто приема сигнали от контролера, проверява дали сигналът не съдържа pwm стойности за напред и назад на един двигател, след което прилага pwm.
Приемникът също така отказва сейфове за изключване на двигатели, когато не се получи сигнал от контролера
Стъпка 7: Закрепете всичко заедно
Запоявайте съединителите към двигателите или запоявайте двигателите директно към h-моста. (Предпочитам съединителите, за да мога просто да сменя щепселите, ако съм свързал двигателите неправилно)
Запоявайте положителния проводник от конектора на батерията към средния щифт на превключвателя и един от външните щифтове на превключвателя към Vcc на свързаните модули.
Запоявайте отрицателния проводник от конектора на батерията към GND на свързаните модули.
(По избор) добавете допълнителни светодиоди между Vcc и GND. Всички бойни роботи изискват включена светлина, докато системата има захранване, в зависимост от компонентите, които тази система има светодиоди на Arduino, 3.3v модула и h-моста, стига поне един от тях да се вижда отвън но това правило е спазено. Могат да се използват допълнителни светодиоди, за да сте сигурни, че това правило е спазено и да персонализирате външния вид
Леко суров е лесен за закрепване заедно, първо закрепете стойките на двигателя на място, добавете електрониката, след това закрепете капака на място, малко количество велкро ще ви помогне да задържите превключвателя към капака
Контролерът е ваш, за да проектирате и отпечатате. За тестване използвах прикачения контролер, който е променен от контролера BB8 V3 на Джеймс Брутън
Стъпка 8: Дума за бойните правила на роботите
Различни държави, държави и групи провеждат бойни събития с роботи с различни правила.
Създадох тази система и написах това „възможно най -общо, като същевременно спазвам основните правила, които се отнасят до RC системите (най -вече системата трябва да бъде 2,4 GHz цифрова и да има точка на изолация на батерията). За да стартирате тази система и или да проектирате свой собствен първи бот, най -добре е да се свържете с вашата местна група и да получите копие от техните правила.
Правилата, които вашата местна група изпълнява, са абсолютни, не приемайте думата ми в тази инструкция за правилата на вашата група.
Тъй като тази система Arduino е нова за общността, най -вероятно ще бъдете помолени да я тествате, преди да я използвате на събитие. Бил съм многократно тестван тази система срещу стандартно оборудване за дистанционно управление и срещу себе си без никакви проблеми с намесата, така че тя трябва да премине всеки тест, но организаторите на вашето местно събитие имат последната дума, уважавайте тяхното решение. Ако отхвърлят използването му, попитайте дали има бот за заем, с който можете да се борите, или поискайте разяснение защо е отхвърлен и се опитайте да отстраните проблема за следващото събитие
Стъпка 9: Допълнителна информация за двигателите
Микроредукторите, използвани в класа на мравките, се предлагат в голям набор от скорости и са маркирани с обороти или предавка. По -долу е дадено грубо преобразуване.
Повечето ботове използват двигатели между 75: 1 и 30: 1 (с някои изключения, използващи 10: 1). Ботовете с големи въртящи се оръжия могат да се възползват от по -бавни двигатели 75: 1, тъй като по -бавната скорост позволява по -голям контрол. Пъргавите клинове, повдигачите и ластите са най -добри при 30: 1 в ръцете на опитен шофьор. Препоръчвам 50: 1 мотори в клин за първите няколко битки, само за да свикнете със системата и шофирането
- 12V 2000 RPM (или 6V 1000RPM) -> 30: 1
- 6V 300RPM -> 50: 1
Стъпка 10: Актуализации и подобрения
Минаха няколко години, откакто публикувах тази таблица и научих много за тази система, така че е време да ги актуализирам тук. Най -важното е изборът на компоненти, оригиналните компоненти работеха сравнително добре, но понякога биха се провалили по време на битка. 2-те големи извършители са H-Bridge и модулът nrf24l01, поради това, че избрах абсолютно най-евтините части, които можах да намеря. Те могат да бъдат коригирани чрез:
- Надграждане на 0.5A H-мост до 1.5A H-мост, като този: 1.5A H-мост
- Надстройване на модула nrf24l01 до напълно SMD дизайн: Отворете интелигентния NRF24l01
Заедно с надстройките на новите компоненти, аз проектирах някои нови печатни платки, които спомагат за уплътняване на RX и добавяне на повече функции към TX
Предстоят ми и някои промени в кода, така че следете за тях
Препоръчано:
По -евтин WiFi щит ESP8266 за Arduino и други микро: 6 стъпки (със снимки)
По -евтин WiFi щит ESP8266 за Arduino и други микропрограми: Актуализация: 29 октомври 2020 г. Тествано с ESP8266 бордова библиотека V2.7.4 - работи Актуализация: 23 септември 2016 г. Не използвайте библиотеката с дънни платки Arduino V2.3.0 за този проект. Работи V2.2.0 Актуализация: 19 май 2016 г. Ред. 14 от този проект преразглежда библиотеките и кода, за да работят с
Мръсотия евтин Dirt-O-Meter-$ 9 Arduino базиран звуков висотомер: 4 стъпки (със снимки)
Dirt-O-Meter Dirt-O-Meter-$ 9 Звуков висотомер на базата на Arduino: Dytters (A.K.A Audible Altimeters) спаси живота на парашутистите за толкова много години. Сега Audible Abby също ще им спести пари. Основните Dytters имат четири аларми, една по пътя нагоре и три по пътя надолу. При изкачването на самолета, парашутистите трябва да знаят кога
Персонализиран Arduino (по -евтин MakeyMakey): 5 стъпки (със снимки)
Персонализиран Arduino (по -евтин MakeyMakey): Здравейте - Аз съм на 14 години (поне бях, когато написах тази инструкция) и изградих този проект за професор в местен университет, както и за баба ми, която работи с деца с недостатък. Ако харесвате тази инструкция или подкрепяте каузата
Направи си сам евтин Arduino Gameboy: 5 стъпки (със снимки)
Направи си сам евтин Arduino Gameboy: Всеки се отегчава, докато пътува на дълги пътувания и иска нещо да го развесели !! Четенето на романи може да бъде избор:/Но те също се отегчават след известно време !! Така че в тази инструкция ще ви покажа как да направите ръчно игрално устройство, използващо Arduin
Евтин и прост Arduino Eggbot: 7 стъпки (със снимки)
Евтин и прост Arduino Eggbot: В този Instructables искам да покажа как да направя прост и евтин arduino плотер, който може да рисува върху яйца или други сферични предмети. Освен това, скоро Великден и това домашно приготвено ще бъде много удобно