- Компоненте потребне
- Конструкција роботске руке
- Шема и радно објашњење:
- Како руковати роботском руком:
У овом упутству ћемо дизајнирати роботску руку засновану на Ардуино Уно-у од неких картона и серво мотора. Читав поступак изградње детаљно је објашњен у наставку. Овде је у овом пројекту Ардуино Уно програмиран за управљање серво моторима који служе као спојеви роботске руке. Ова поставка такође изгледа као роботска дизалица или је можемо претворити у дизалицу једноставним подешавањем. Овај пројекат ће бити користан за почетнике који желе да науче да развијају једноставног робота по ниској цени или само желе да науче да раде са Ардуином и серво моторима.
Овим Ардуино роботским краком може се управљати помоћу четири потенциометра која су причвршћена на њега, а сваки потенциометар се користи за управљање сваким серво мотором. Ове серво моторе можете померати ротирањем лонаца како бисте одабрали неки предмет, уз неку праксу можете лако одабрати и преместити објекат са једног места на друго. Овде смо користили серво моторе са малим обртним моментом, али ви можете користити снажније серво системе за бирање тешких предмета. Читав процес је на крају добро приказан у видеу. Овде погледајте и наше друге пројекте роботике.
Компоненте потребне
- Ардуино Уно
- Кондензатор 1000уФ (4 комада)
- Кондензатор 100нФ (4 комада)
- Серво мотор (СГ 90 - четири комада)
- 10К лонац - променљиви отпорник (4 комада)
- Напајање (5в - по могућности два)
Серво мотор
Прво разговарамо мало о Серво Моторс. Серво мотори се углавном користе када постоји потреба за тачним кретањем или положајем осовине. Они нису предложени за велике брзине. Серво мотори су предложени за малу брзину, средњи обртни моменат и тачну примену положаја. Дакле, ови мотори су најбољи за пројектовање роботске руке.
Серво мотори су доступни у различитим облицима и величинама. Користићемо мале серво моторе, овде користимо четири серво мотора СГ90. Серво мотор ће углавном имати жице, једна је за позитивни напон, друга је за масу, а последња за подешавање положаја. ЦРВЕНА жица је прикључена на напајање, црна жица је повезана са масом, а ЖУТА жица је повезана са сигналом. Прођите кроз овај водич за управљање серво мотором помоћу Ардуина да бисте сазнали више о њему. У Ардуину имамо унапред дефинисане библиотеке за контролу серво-а, тако да је врло лако управљати серво-ом, што ћете научити заједно са овим упутством.
Конструкција роботске руке
Узмите равну и стабилну површину, попут стола или тврде плоче. Следеће поставите серво мотор у средину и залепите га на место. Уверите се да је степен ротације у подручју приказаном на слици. Овај серво делује као основа руке.
Поставите мали комад картона на први серво, а затим поставите други серво на овај комад даске и залепите га на место. Серво ротација мора одговарати дијаграму.
Узмите неколико картона и исеците их на комаде 3цм к 11цм. Уверите се да комад није омекшан. На једном крају исеците правоугаону рупу (оставите 0,8 цм од дна) тек толико да стане други серво, а на другом крају серво-зупчаник чврсто поставите вијцима или лепком. Затим ставите трећи серво у прву рупу.
Сада исеците још један картонски комад дужине приказан на слици испод и залепите још један зупчаник на дну овог дела.
Сада залепите четврти и последњи серво на ивици другог дела, као што је приказано на слици.
Овим изгледају два дела заједно.
Када ову поставку прикачимо на базу, то би требало да изгледа,
Скоро је готово. Само треба да направимо куку да зграбимо и одаберемо предмет попут роботске руке. За куку исеците још два комада картонске плоче дужине 1цмк7цм & 4цмк5цм. Залепите их као што је приказано на слици и залепите крајњи зупчаник на саму ивицу.
Монтирајте овај комад на врх и тиме смо завршили изградњу наше роботске руке.
Овим је завршен наш основни дизајн роботске руке и тако смо изградили нашу јефтину роботску руку. Сада спојите струјни круг у плочу према дијаграму кола.
Шема и радно објашњење:
Коло веза за Ардуино Уно Роботиц Арм је приказана испод.
Напон на променљивим отпорницима није потпуно линеаран; биће то бучно. Тако да би се филтрирао овај шум, кондензатори се постављају преко сваког отпорника као што је приказано на слици.
Сада ћемо напој који даје овај променљиви отпорник (напон који представља контролу положаја) напајати у АДЦ канале Ардуина. За ово ћемо користити четири АДЦ канала УНО од А0 до А3. Након иницијализације АДЦ, добићемо дигиталну вредност лонаца који представљају позицију потребну кориснику. Узећемо ову вредност и упоредити је са серво положајем.
Ардуино има шест АДЦ канала. Користили смо четири за нашу роботску руку. УНО АДЦ има 10-битну резолуцију, па су целобројне вредности у распону од 0-1023 (2 ^ 10 = 1024 вредности). То значи да ће мапирати улазни напон између 0 и 5 волти у целобројне вредности између 0 и 1023. Дакле, за сваки (5/1024 = 4,9 мВ) по јединици. Овде сазнајте више о мапирању нивоа напона помоћу АДЦ канала у Ардуину.
Сада, да би УНО претворио аналогни сигнал у дигитални сигнал, морамо да користимо АДЦ канал Ардуино Уно, уз помоћ доле наведених функција:
1. аналогРеад (пин); 2. аналогРеференце (); 3. аналогРеадРесолутион (битови);
Ардуино АДЦ канали имају подразумевану референтну вредност од 5В. То значи да можемо дати максимални улазни напон од 5В за АДЦ конверзију на било ком улазном каналу. Будући да неки сензори пружају напоне од 0-2,5В, тако да код референце од 5В добијамо мању тачност, па имамо упутство које нам омогућава да променимо ову референтну вредност. Дакле, за промену референтне вредности имамо „аналогРеференце ();“
Подразумевано добијамо максималну АДЦ резолуцију плоче од 10 бита, ова резолуција се може променити помоћу упутстава („аналогРеадРесолутион (битови);“).
У нашем роботском кругу, овај референтни напон смо оставили на подразумевани, тако да можемо читати вредност са АДЦ канала директним позивом функције „аналогРеад (пин);“, овде „пин“ представља пин на који смо повезали аналогни сигнал, рецимо желимо да читамо „А0“. Вредност из АДЦ-а може се сачувати у цео број као инт СЕНСОРВАЛУЕ0 = аналогРеад (А0); .
Сада да разговарамо о СЕРВО-у, Ардуино Уно има функцију која нам омогућава да контролишемо положај серво-а само давањем вредности степена. Рецимо да ако желимо да серво буде на 30, можемо директно представити вредност у програму. Датотека СЕРВО заглавља ( Серво.х ) интерно води рачуна о свим прорачунима омјера.
#инцлуде
Овде прва изјава представља датотеку заглавља за контролу СЕРВО МОТОРА. Друга изјава је именовање серва; остављамо га као серво0 јер ћемо користити четири. Трећа изјава наводи где је повезан серво сигнални пин; ово мора бити ПВМ пин. Овде користимо ПИН3 за први серво. Четврта изјава даје наредбе за позиционирање серво мотора у степенима. Ако му је дато 30, серво мотор се окреће за 30 степени.
Сада имамо серво положај СГ90 од 0 до 180, а вредности АДЦ су од 0-1023. Користићемо посебну функцију која аутоматски подудара обе вредности.
сенсорвалуе0 = мап (сенсорвалуе0, 0, 1023, 0, 180);
Ова изјава аутоматски пресликава обе вредности и чува резултат у целом броју 'сервовалуе0' .
На овај начин смо контролисали серво уређаје у нашем пројекту Роботиц Арм користећи Ардуино. Проверите комплетан код испод.
Како руковати роботском руком:
Кориснику се пружају четири лонца. А ротирањем ове четири посуде, обезбеђујемо променљиви напон на АДЦ каналима УНО. Дакле, дигиталне вредности Ардуина су под контролом корисника. Ове дигиталне вредности се мапирају за подешавање положаја серво мотора, стога положај серво-а контролира корисника и ротирањем ових лонаца корисник може померати зглобове роботске руке и може одабрати или ухватити било који предмет.