Съдържание:
- Стъпка 1: ПРОЕКТИРАНЕ И МОНТАЖ:
- Стъпка 2: КОД:
- Стъпка 3: ЕЛЕКТРОНИКА:
- Стъпка 4: В МОМЕНТА ПОДОБРЯВАНЕ:
- Стъпка 5: Бъдещи подобрения:
Видео: Роботизирана ръка Arduino: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
Тъй като това е първият ми проект след 15 -те урока на моя стартов комплект Arduino, истинската цел на него е да получа някои критици, съвети, предложения, идеи от всеки, който знае повече от мен.
Този проект е за роботизирана ръка, с 4 dofs и хватка. С прилично нисък бюджет: структурата е отрязана от приятел, 4 -те сервомотора са били 30 €, 2 -те джойстика 4 €, болтове за винтове и т.н.) вече беше включен в моя стартов комплект. За общо 40-45 €, което е около 45-50 щатски долара (същата цена на комплект за ръкохватка, но хей, беше забавно да се налага да го изграждам сам (и да бъркам нещо от време на време) и да не следвате инструкциите като машина).
Тъй като това беше първият ми проект и Instructable, участвах в „First Time Author“и няколко други конкурса, така че ако ви харесва, гласувайте:)
Стъпка 1: ПРОЕКТИРАНЕ И МОНТАЖ:
Първо имах нужда от структура: Това определено беше най -дългата част. Тъй като не исках да копирам и поставям проекта от някой друг, взех един проект за референция и аз (и още няколко квалифицирани съученици, които наистина ме спасиха) започна да го модифицира според нашите нужди (различни сервомотори с различен въртящ момент, тегло и размери и т.н.). Трябваше да го изградя няколко пъти, всеки от тях открих нещо нередно и трябваше да изрежем някои парчета и да опитаме отново. Прикачих файла.dxf в случай, че искате да го използвате. След това трябваше да купя електрониката: Повечето части бяха стандартни, трудната част беше да изберете сервомоторите. Изчислих необходимия въртящ момент с основното правило, по -късно опитах по -точно изчисление и разбрах, че може би съм го преувеличил малко. Очевидно 6 кг/см биха били достатъчни за второто серво (от основата), а моето осигурява 9-11 кг/см. Е, това ми дава известна безопасност и възможност да натоваря до 2 кг товар (което е невъзможно, но ми харесва, че бих могъл да го направя технически). Можех да си купя и различни сервомотори, с намаляващ въртящ момент, докато се отдалечавам от основата, но закупуването на идентични сервомотори от същия доставчик беше далеч най -евтиният вариант. 350mA и микросерво 9g черпи 100mA, за общо 350*4 +100 = 1500mA. Така че спасих зарядно устройство (6V 1.5A) и запоях към него две джъмперни жици. (Ако някои от вас може да се нуждаят от реални инструкции, просто попитайте в коментарите и аз ще направя всичко възможно да създам стъпка по стъпка ръководство) Списък на материалите:- Структура- M5x7cm винт x5, m5 болтове x15 (основа)- M3x16mm винт x18*- M3x20mm винт x13*- M3 болтове x40*- M3x8cm винт x3- скоба (в противен случай ще падне)- 3 дюбели- Arduino (или нещо друго, за да го контролирате, трябва да има поне 5 PWM)- Нещо, което да захранва 5-6V и поне 1.5A- 3x ps2-подобни джойстици- 4x TowerPro mg995 сервомонти- 1x TowerPro 9g микросерво (за захващане) - Много джъмперни проводници - Древна дъска*(Използвах болтове и винтове, за да мога да сглобявам и разглобявам бързо, в противен случай бихте могли да ги замените почти всички с винтове за дърво)
Стъпка 2: КОД:
Идеята е да се управлява всяко серво с една от двете оси на ps2-подобен джойстик. Всеки джойстик изглежда има различни „стойности на почивка“(стойността между 0-1023, когато е неподвижна) както за оста y, така и за x. беше проблем, тъй като разликата беше почти малка (една имаше нула на y при 623) и исках да използвам функцията map за преобразуване от 0-1023 в градуси. Но функцията на картата смята, че стойността на покой е 1023/2. Което доведе до всяко серво, което се движи веднага щом включа Arduino, не е добре. Успях да заобиколя това, като открих ръчно разликата между стойността на четене и всяка различна стойност на почивка (която изчислих отделно за всеки джойстик), след това до направих кода по -кратък и по -умен, накарах го да прочете останалите стойности във функцията за настройка и да ги запише в някои променливи. Новият алгоритъм разчита на преобразуване на приращението в градуси, но аз исках много ниско количество градуси за моето увеличение Трябваше да го разделя за константа: Опитах много стойности, докато стигнах до последните 200 (мога да добавя потенциометър, за да променя ръчно тази стойност на желаната). Останалата част от кода е доста стандартна, предполагам, въпреки че може да е по -елегантно да поставите изчислението на приращението в отделна функция.
Стъпка 3: ЕЛЕКТРОНИКА:
Окабеляването е същото, както е показано на снимката или файла за пресукване: сигнал от серво към щифтове: 5-6-9-10-11 и ос на джойстика към аналогични щифтове: A0-A1-A2-A3-A4 Основният проблем, с който се сблъсках беше, че джойстиците трябваше да се доставят от Arduino, а НЕ от зарядното устройство, което използвам за сервомоторите. В противен случай сервото просто ще полудее, движейки се на случаен принцип напред -назад. Мисля, че това може да се дължи на факта, че ако им доставя зарядното устройство, Arduino няма да може да каже точно разликата в потенциала, когато ги преместя, но след това отново: Аз съм много нов в електрониката, така че това е само предположение. Свързването на земята Arduino и зарядното място през макета помогна за предотвратяване на случайни и неочаквани движения, поради подобна причина на предлагането на джойстици.
Стъпка 4: В МОМЕНТА ПОДОБРЯВАНЕ:
Тъй като всеки джойстик може да управлява 2 серво (по 1 на ос), имам нужда от 3 серво, за да контролирам цялата ръка, но за щастие имам само 2 палци. захващане и отваряне-затваряне на ръкохватката, за общо 4 оси, 2 джойстика и 2 палци! Разбрах, че този проблем е добре известен като обратна кинематика, също така разбрах, че е почти лесно. Идеята е да напишете (нелинейни) уравнения, за да намеря състоянието на всеки ефектор (ъгли за сервоустройствата), като се има предвид крайната позиция. Качих ръчно написана хартия с уравненията и в момента работя по нов код, за да ги използвам. Не би трябвало да е твърде трудно, по принцип трябва да прочета джойстиците, да използвам техните показания, за да променя xyz координатите на захвата, а след това да ги дам на моите уравнения, да изчисля ъглите на серво и да ги напиша.
Стъпка 5: Бъдещи подобрения:
Така че, аз съм доста доволен от резултата и като се има предвид, че съм напълно нов в електрониката, ако не издухвам нещо или аз самият вече беше огромна победа. Както казах в началото, всяка идея за бъдещи подобрения, както софтуерни, така и хардуер, е повече от добре дошъл! Досега мислех за: 1. Потенциометърът за промяна на „чувствителността“на джойстиците. Нов код, който да го накара да „запише“някои движения и да ги направи отново (може би по -бързо и по -кратко от човешкото въвеждане) 3. Някакъв вид визуално/дистанционно/гласово въвеждане и възможност за получаване на обекти без някой да използва джойстика4. Възможност за рисуване на геометрични фигури Някаква друга идея? Моля, не се колебайте да коментирате с всякакви предложения. Благодаря
Препоръчано:
4dof Ps2 Control Arduino акрилна роботизирана ръка: 5 стъпки
4dof Ps2 Control Arduino акрилна роботна ръка: тя се основава на mearmlist: 1set mearm акрилна ръка 1pc arduino uno2pc ps2
Роботизирана ръка Arduino: 12 стъпки
Arduino Robotic Arm: Тази инструкция е създадена в изпълнение на проектните изисквания на Makecourse в Университета на Южна Флорида. Това са основните компоненти, необходими за сглобяването на този проект
Проста роботизирана ръка Arduino: 5 стъпки
Проста роботизирана ръка Arduino: Тук ще ви покажа как да направите основна роботизирана ръка Arduino, управлявана от потенциометър. Този проект е идеален за изучаване на основите на arduino, ако сте претоварени от количеството опции за инструкции и не знаете къде да стигнете
Роботизирана ръка, контролирана от Arduino и компютър: 10 стъпки
Роботизирана ръка, контролирана от Arduino и компютър: Роботизираните оръжия се използват широко в промишлеността. Независимо дали става въпрос за монтажни операции, заваряване или дори един се използва за докинг на МКС (Международната космическа станция), те помагат на хората в работата или напълно заменят хората. Ръката, която съм построил, е по -малка
Arduino контролирана роботизирана ръка W/ 6 степени на свобода: 5 стъпки (със снимки)
Arduino Robotic Arm W/ 6 Degrees of Freedom: Аз съм член на група по роботика и всяка година нашата група участва в ежегоден панаир на Mini-Maker. В началото на 2014 г. реших да изградя нов проект за всяка година. По това време имах около месец преди събитието да сложа нещо, което да забравя