Мазмұны:

Ардуино мен ДК басқаратын роботтық қол: 10 қадам
Ардуино мен ДК басқаратын роботтық қол: 10 қадам

Бейне: Ардуино мен ДК басқаратын роботтық қол: 10 қадам

Бейне: Ардуино мен ДК басқаратын роботтық қол: 10 қадам
Бейне: How to use 2 channel relay to control AC and DC loads in Arduino 2024, Шілде
Anonim
Image
Image
Жобаның артындағы теория
Жобаның артындағы теория

Роботтық қару өнеркәсіпте кеңінен қолданылады. Бұл құрастыру операцияларына қатысты ма, дәнекерлеу немесе тіпті біреуі ХҒС -қа (Халықаралық ғарыш станциясына) қондыру үшін қолданылады, олар адамдарға жұмыста көмектеседі немесе олар адамды толығымен алмастырады. Мен жасаған қол - бұл объектілерді жылжыту үшін қолданылатын роботтық қолдың кіші көрінісі. Оны сервистерді басқаруға арналған кіріктірілген кітапханасы бар arduino pro mini басқарады. Серверлерді PWM (Pulse Width Modulation) басқарады, оны бағдарламалау қиын емес, бірақ бұл кітапхана жұмысын жеңілдетеді. Пайдаланушы кернеуді бөлуге арналған потенциометрлермен немесе сервоприводты басқару үшін 4 сырғытпаны қолданатын компьютердегі бағдарламадан сол серводы басқара алады.

Бұл жоба үшін мен жеке ПХД құрастырып, оны жасауға, қолдың 3D модельдерін жасауға және бәрін басқаратын кодты жазуға тура келді. Оның үстіне мен питонда қосымша бағдарламаны кодтадым, ол сигналды декодтауды және серверлерді сол пайдаланушы орнатқан орынға жылжытуды басқаратын arduino -ға жібереді.

1 -қадам: Жобаның артындағы теория

Жобаның артындағы теория
Жобаның артындағы теория

Arduino керемет жұмыс істейді, ол тегін кітапхананы ұсынады. Бұл жоба үшін мен Servo.h кітапханасын қолдандым, бұл серверлерді басқаруды жеңілдетеді.

Серво қозғалтқышы PWM пульсінің ені модуляциясы арқылы басқарылады, яғни серводы басқару үшін қысқа кернеулі импульстар жасау қажет. Серво бұл сигналдың ұзындығын шеше алады және берілген позицияға бұрыла алады. Міне, мен жоғарыда аталған кітапхананы қолдандым. Сигналдың ұзындығын өз бетімше есептеуге тура келмеді, бірақ мен параметрді градуспен беретін кітапхананың функцияларын қолдандым және ол сигнал береді.

Серводы басқару үшін мен кернеу бөлгіштер ретінде әрекет ететін потенциометрлерді қолдандым. Arduino тақталарында мен жобада қолданған бірнеше аналогты/цифрлық түрлендіргіштер бар. Негізінде arduino потенциометрдегі ортаңғы істіктегі кернеуді бақылайды, егер ол бір жаққа бұрылса - 0 Вольт (мән = 0), ал екінші жағында - 5 Вольт (мән = 1023). Содан кейін бұл мән 0 - 1023 - 0 - 180 диапазонында масштабталады, содан кейін ол жоғарыда айтылған функцияға беріледі.

Тағы бір тақырып - мен қысқаша қарастыратын arduino -мен сериялық байланыс. Негізінен ДК -де жазылған бағдарлама пайдаланушы таңдаған мәнді жібереді, arduino оны декодтап, серводы берілген орынға жылжыта алады

2 -қадам: ПХД жобалау

ПХД жобалау
ПХД жобалау
ПХД жобалау
ПХД жобалау
ПХД жобалау
ПХД жобалау

Мен 2 ПХД жасадым - біріншісі басқару үшін, онда ардуино мен түйреуіштер, екіншісінде потенциометрлер. 2 ПХД -нің себебі - мен роботты қауіпсіз қашықтықтан басқарғым келді. Екі тізбек те берілген ұзындықтағы кабельмен қосылады - менің жағдайда 80 см.

Қуат көзі үшін мен сыртқы адаптерді таңдадым, себебі мен қолданған сервистер arduino бере алатыннан әлдеқайда көп энергияны тұтынады. Көріп отырғаныңыздай, мен әлі айтпаған конденсаторлар бар. Олар сүзу үшін қолданылатын конденсаторлар. Өздеріңіз білетіндей, серво қозғалтқышы қысқа импульстармен басқарылады. Бұл импульстар кернеудің төмендеуін жасай алады және бұрын 0-5 вольт диапазонында болған потенциометрлер енді кіші диапазонда болады. Бұл орташа түйреуіштің кернеуі өзгереді және arduino бұл мәнді алады және серво қозғалтқышының орнын өзгертеді. Бұл мәңгілікке жалғасуы мүмкін және ол қажет емес тербелісті тудырады, оны жеткізуге параллель кейбір конденсаторлар жоюға болады.

3 -қадам: ПХД жасау

ПХД жасау
ПХД жасау
ПХД жасау
ПХД жасау
ПХД жасау
ПХД жасау

ПХД жасау үшін сізге мынаны оқуды ұсынамын.

Мен «Жылтыр қағазға темір» әдісін қолдандым және ол керемет нәтиже берді.

Содан кейін мен бөлшектерді ПХД -ға дәнекерледім. Сіз көре аласыз, егер мен болашақта маған қажет болса, мен arduino розеткасын қолдандым.

4 -қадам: қолдың дизайны

Қолдың дизайны
Қолдың дизайны
Қолдың дизайны
Қолдың дизайны
Қолдың дизайны
Қолдың дизайны

Бұл жобаны жасаудың ең қиын бөлігі емес.

Бүкіл орнату 8 бөліктен тұрады, олардың 4 -і қозғалмайтын бөліктерден тұрады - потенциометрлер үшін қорап және ардуино орналасқан негіз - қалған төртеуі - қолдың өзі. Мен егжей -тегжейлі айтпаймын, тек дизайн өте интуитивті және қарапайым. Ол мен реттелетін ПХД мен сервистерге сәйкес келеді, мен оны бөлшектер тізіміне қосамын.

5 -қадам: Бөлшектерді басып шығару

Бөлшектерді басып шығару
Бөлшектерді басып шығару
Бөлшектерді басып шығару
Бөлшектерді басып шығару
Бөлшектерді басып шығару
Бөлшектерді басып шығару

Бөлшектер Prusa принтерінде басылды. Кейбір беттерді сәл тегістеп, тесіктерді бұрғылау қажет болды. Сонымен қатар тірек тіректерді алып тастау қажет.

6 -қадам: Барлығын біріктіру

Барлығын біріктіру
Барлығын біріктіру
Барлығын біріктіру
Барлығын біріктіру
Барлығын біріктіру
Барлығын біріктіру
Барлығын біріктіру
Барлығын біріктіру

Бұл қадамда мен айтқандай бәрін біріктірдім.

Мен алдымен сымдарды потенциометрлерге, содан кейін сол сымдарды ПХД -ге дәнекерледім. Потенциометрлер тесіктерге жақсы сәйкес келеді, мен қораптың төменгі жағында басылған бағандарға ПХД -ны ыстық желіммен жапсырдым. Сіз тақтада және қорапта тесіктер бұрғылай аласыз, бірақ мен оны желімдеу жеткілікті екенін білдім. Содан кейін мен қораптың екі бөлігін жауып, оларды мен ойған тесіктерге сәйкес келетін 4 бұрандамен бекітіп қойдым.

Келесі қадам ретінде мен екі тақтаны қосу үшін жалпақ таспалы кабель жасадым.

Негізгі қорапта мен коннектордың VCC түйреуішінен сымдарды, содан кейін VCh карточкасына және GND тақтасынан коннектордың GND -ге дейін дәнекерледім. Содан кейін мен коннекторды ыстыққа желіммен бекітіп, тіректерге тақтайша салдым. Коннектор шұңқырға сәйкес келеді, сондықтан ыстық желім қажет емес.

Содан кейін, бұрандаларды қолданып, төменгі серводы қораптың төменгі жағына бекіттім.

Содан кейін мен қораптың жоғарғы бөлігін астыңғы жағына қойдым және потенциометрлік қорапша сияқты мен оны 4 бұрандамен бекіттім.

Келесі бөлік біршама қиын болды, бірақ мен қолдың қалған бөлігін жаңғақтар мен жастықшалармен біріктіре алдым және бұл мен күткендей тығыз болмады, өйткені мен бөлшектер арасындағы төзімділікті ойлап таптым, сондықтан олармен жұмыс істеу оңайырақ.

Мен соңғы қадам ретінде қораптардың түбіне таспа жапсырдым, әйтпесе олар сырғып кетеді.

7 -қадам: Arduino бағдарламалау

Arduino бағдарламалау
Arduino бағдарламалау
Arduino бағдарламалау
Arduino бағдарламалау
Arduino бағдарламалау
Arduino бағдарламалау

Мен жобаның артында бағдарламаның теориялық түрде қалай жұмыс істейтінін айттым, бірақ мен оны одан да бұзамын.

Сондықтан басында біз кейбір айнымалыларды анықтауымыз керек. Көбінесе ол 4 рет көшіріледі, өйткені бізде 4 серво бар және менің ойымша, бағдарламаны сәл қысқарту үшін күрделі логиканы жасау қажет емес.

Әрі қарай, серверлердің түйреуіштері анықталған бос орын бар.

Содан кейін void циклы бар - бұл бағдарламаның шексіз айналатын бөлігі. Бұл бөлімде бағдарлама потенциометрден оның мәнін алады және оны шығарады. Бірақ потенциометрдің мәні біршама секіретін бір мәселе бар, сондықтан соңғы 5 мәннің орташа мәнін құрайтын сүзгіні қосу керек болды, содан кейін ол шығуды енгізеді. Бұл қажетсіз тербелістердің алдын алады.

Бағдарламаның соңғы бөлігі сериялық порттағы деректерді оқиды және жіберілген деректерге сүйене отырып не істеу керектігін шешеді.

Кодты толық түсіну үшін сізге arduino ресми веб -сайттарына кіруді ұсынамын.

8 -қадам: Python бағдарламалау

Python бағдарламалау
Python бағдарламалау
Python бағдарламалау
Python бағдарламалау
Python бағдарламалау
Python бағдарламалау

Бұл жобаның бұл бөлігі қажет емес, бірақ менің ойымша, бұл жобаға көбірек мән береді.

Python ақысыз пайдалануға болатын көптеген кітапханаларды ұсынады, бірақ мен бұл жобада тек tkinter мен серияларды қолданамын. Tkinter GUI (графикалық пайдаланушы интерфейсі) үшін қолданылады және сериялы, оның аты айтып тұрғандай, сериялық байланыс үшін қолданылады.

Бұл код GUI құрады, оның ішінде ең төменгі мәні 0 және максимум 180 болатын 4 сырғытпасы бар. Бұл сізге градусқа сәйкес келетінін және әр жүгірткі бір серводы басқаруға бағдарламаланғанын білдіруі мүмкін. Бұл бағдарлама өте қарапайым - ол мәнді алады және оны arduino -ға жібереді. Бірақ оны жіберу әдісі қызықты. Егер сіз бірінші серво мәнін 123 градусқа өзгерткіңіз келсе, ол arduino 1123 мәніне жіберіледі. Әр жіберілген нөмірдің бірінші нөмірі қай сервопроектордың басқарылатынын көрсетеді. Arduino -да бұл кодты шешетін және дұрыс сервоприводты жылжытатын код бар.

9 -қадам: бөліктер тізімі

Бөлшектер тізімі
Бөлшектер тізімі
  • Arduino Pro Mini 1 дана
  • Серво FS5106B 1 дана
  • Servo Futaba S3003 2 дана
  • 2x5 штепсельдік тақырып 1 дана
  • 1x3 штепсельдік тақырып 6 дана
  • Конденсатор 220 уФ 3 дана
  • Micro Servo FS90 1 дана
  • AWP-10 қосқышы 2 дана
  • FC681492 қосқышы 1 дана
  • P-B100G1 қосқышы 1 дана
  • Розетка 2х14 1 дана
  • TTL-232R-5v-түрлендіргіш 1 дана
  • B200K потенциометрі 4 дана
  • және басқа да көптеген бұрандалар, жастықтар мен жаңғақтар

10 -қадам: Қорытынды ойлар

Мұны оқығаныңыз үшін рахмет және мен сізге кем дегенде мотивация бердім деп үміттенемін. Бұл менің интернеттен материалдарды көшірместен және бірінші нұсқаулық постсыз өз қолыммен жасаған алғашқы үлкен жоба. Мен қолды жаңартуға болатынын білемін, бірақ мен оған әзірге қанағаттанамын. Барлық бөліктер мен бастапқы кодтар ақысыз, сіз оны қолдана аласыз және оны қалағаныңызша өзгерте аласыз. Егер сізде сұрақтар туындаса, оларды түсініктеме бөлімінде қоюға болады. Сіз сондай -ақ бейнелерді қарай аласыз, олар өте жақсы емес, бірақ олар жобаның функционалдылығын көрсетеді.

Ұсынылған: