Sisukord:

Arduino robotkäsi: 5 sammu
Arduino robotkäsi: 5 sammu

Video: Arduino robotkäsi: 5 sammu

Video: Arduino robotkäsi: 5 sammu
Video: Использование кнопки скорости шагового двигателя 28BYJ-48 с 8 проектами: Ultimate Video Tutorial, урок 107 2024, November
Anonim
Image
Image
Arduino robotkäsi
Arduino robotkäsi
Arduino robotkäsi
Arduino robotkäsi

Kuna see on minu esimene projekt pärast minu Arduino stardikomplekti 15 õpetust, on selle tegelik eesmärk saada kriitikuid, näpunäiteid, ettepanekuid ja ideid kõigilt, kes teavad rohkem kui mina.

See projekt käsitleb robotkätt, millel on 4 dofi ja käepide. Mõistlikult väikese eelarvega: konstruktsiooni on lõiganud sõber, 4 servot olid 30 €, 2 juhtkangi 4 €, poldid kruvi jne alla 10 € ja kõik ülejäänud (Arduino, juhtmed, käepideme servo jne)) oli juba minu stardikomplektis. Kokku 40–45 eurot, mis on umbes 45–50 USA dollarit (sama hind, kui me-arm komplekt, aga hei, lõbus oli see ise ehitada (ja aeg-ajalt midagi sassi ajada) ja ei järgi juhiseid nagu masin).

Kuna see oli minu esimene projekt ja juhendatav, osalesin esmakordse autori ja veel paaril konkursil, nii et kui teile meeldib, hääletage:)

1. samm: projekteerimine ja kokkupanek:

Esiteks vajasin struktuuri: see oli kindlasti kõige pikem osa. Kuna ma ei tahtnud projekti kelleltki teiselt kopeerida ja kleepida, võtsin ma projekti (ja veel paar osavamat klassikaaslast, kes mind tõesti päästsid) viitena hakkas seda vastavalt meie vajadustele muutma (erinevad servod erineva pöördemomendi, kaalu ja mõõtmetega jne). Ma pidin selle paar korda üles ehitama, igaüks neist leidsin midagi valesti ja pidime mõned tükid ümber lugema ja uuesti proovima. Lisasin faili.dxf juhuks, kui soovite seda kasutada. Siis pidin elektroonika ostma: Enamik osi olid standardsed, raske osa oli servode valimine. Arvutasin rusikareegliga vajaliku pöördemomendi, hiljem proovisin täpsemat arvutust ja sain teada, et võin selle pisut üle pingutada. Ilmselt oleks 2. servo jaoks piisanud 6 kg/cm (alusest) ja minu oma annab 9-11 kg/cm. See annab mulle teatud ohutuse ja võimaluse laadida kuni 2 kg koormust (mis on võimatu, kuid mulle meeldib, et ma saaksin seda tehniliselt teha). Ma oleksin võinud osta ka erinevaid servosid, vähendades pöördemomenti baasilt eemaldudes, kuid sama müüjalt identsete servode ostmine oli kaugelt kõige odavam variant. Toide: Arduino ei olnud servode jaoks kindlasti piisav, kuna iga mg995 tõmbab 350mA ja mikroservo 9g tõmbab 100mA, kokku 350*4 +100 = 1500mA. Niisiis päästsin laadija (6V 1,5A) ja jootsin selle külge kaks hüppajajuhtet. (Kui mõni teist võib vajada tõelisi juhiseid, küsige lihtsalt kommentaarides ja ma annan endast parima, et luua samm-sammult materjalide loetelu:- struktuur- M5x7cm kruvi x5, m5 poldid x15 (alus)- M3x16mm kruvi x18*- M3x20mm kruvi x13*- M3 poldid x40*- M3x8cm kruvi x3- klamber (muidu kukub maha)- 3 tüüblit- Arduino (või midagi muud selle juhtimiseks, sellel peab olema vähemalt 5 PWM)- Midagi 5-6V ja vähemalt 1,5A toiteks- 3x ps2-sarnased juhtkangid- 4x TowerPro mg995 servod- 1x TowerPro 9g mikroservo (haarde jaoks)) - Palju hüppajajuhtmeid - Leivaplaat*(kasutasin polte ja kruvisid, et saaksin kiiresti kokku panna ja lahti võtta, vastasel juhul võite peaaegu kõik need puidukruvidega asendada)

2. samm: KOOD:

Idee on juhtida iga servot ühe ps2-sarnase juhtkangi kahe teljega. Tundus, et igal juhtkangil on erinevad y-ja x-telje puhkeväärtused (väärtus vahemikus 0–1023). oli probleem, kuna erinevus oli peaaegu väike (ühel oli null y juures 623) ja ma tahtsin kasutada kaardifunktsiooni, et teisendada 0-1023 kraadi. Kuid kaardifunktsioon arvab, et ülejäänud väärtus on 1023/2. Mis tõi iga servo liikuma kohe pärast Arduino sisselülitamist, pole hea. Mul õnnestus sellest mööda pääseda, leides käsitsi erinevuse lugemisväärtuse ja iga erineva puhkeväärtuse vahel (mille ma arvutasin iga juhtkangi kohta eraldi), seejärel muuta kood lühemaks ja targemaks, sundisin teda seadistusfunktsiooni ülejäänud väärtusi lugema ja mõnedesse muutujatesse salvestama. Uus algoritm põhineb sammu teisendamisel kraadides, kuid soovisin oma juurdekasvuks väga vähe kraadi, nii Ma pidin selle konstantseks jagama: proovisin paljusid väärtusi, kuni jõudsin lõpliku 200 -ni (võin lisada potentsiomeetri, et seda väärtust käsitsi soovitud väärtusele muuta). Ülejäänud kood on vist üsna standardne, isegi kui oleks elegantsem panna juurdekasvu arvutamine eraldi funktsiooni.

3. samm: ELEKTROONIKA:

ELEKTROONIKA
ELEKTROONIKA

Juhtmestik on sama, mis pildil või fritiseerimisfailis: servosignaal tihvtidele: 5-6-9-10-11 ja juhtkangi telg analoogtihvtidele: A0-A1-A2-A3-A4 Põhiprobleem, millega ma kokku puutusin oli see, et juhtkangid pidid tarnima Arduino, mitte laadija, mida kasutan servode jaoks. Vastasel juhul läheks servo lihtsalt hulluks, liikudes juhuslikult edasi -tagasi. Ma arvan, et see võib olla sellepärast, et kui ma varustan neid laadijaga, ei suuda Arduino täpselt öelda nende liigutamisel võimalikku erinevust, kuid siis uuesti: Ma olen elektroonikaga väga uus, nii et see on vaid oletus. Arduino maa ja laadija ühendamine leivaplaadi kaudu aitas vältida juhuslikke ja ootamatuid liigutusi, sarnaselt juhtkangi pakkumise põhjusega.

4. samm: HETKES PARANDAMINE:

HETKEL PARANDAMINE
HETKEL PARANDAMINE

Kuna iga juhtkangi abil saab juhtida 2 servot (1 telje kohta), vajan ma kogu käe juhtimiseks 3 servot, kuid õnneks on mul ainult 2 pöialt. Nii et ma arvasin, et iga servo juhtimise asemel saan juhtida ainult xyz -asendit. haarake ja avage-sulgege käepide, kokku 4 telge, 2 juhtkangi ja 2 pöialt! Sain teada, et see probleem on hästi tuntud kui pöördkinemaatika, samuti avastasin, et see on kõik lihtne. Idee on kirjutada (mittelineaarsed) võrrandid, et leida iga efektori olek (servode nurgad), arvestades lõplikku positsiooni. Laadisin üles võrranditega käsitsi kirjutatud paberi ja töötan praegu nende kasutamiseks uue koodi kallal. See ei tohiks olla liiga raske, ma pean põhimõtteliselt juhtnuppe lugema, kasutama nende näitu haarde xyz -koordinaatide muutmiseks ja seejärel andma need oma võrranditele, arvutama servonurgad ja need kirjutama.

5. samm: tulevased täiustused:

Niisiis, olen selle tulemusega üsna rahul ja arvestades, et olen elektroonikaga täiesti uus, mis ei puhu midagi ega ennast üles, oli juba suur võit. Nagu ma alguses ütlesin, oli igasugune idee nii tarkvara kui ka edaspidiseks täiustamiseks riistvara, on rohkem kui teretulnud! Siiani olen mõelnud: 1. Potentsiomeeter juhtkangi tundlikkuse muutmiseks.2. Uus kood, mis paneb ta mõned liigutused "salvestama" ja neid uuesti tegema (võib -olla kiiremini ja lühemalt kui inimese sisend) 3. Mingisugune visuaalne/kaugus/häälsisend ja võimalus saada objekte ilma kellegi juhtkangideta4. Geomeetriliste kujundite joonistamise võimalus Veel mõni idee? Palun kommenteerige mis tahes ettepanekuid. Aitäh

Soovitan: