Sisukord:

Traadiga juhitav robotkäepide: 31 sammu
Traadiga juhitav robotkäepide: 31 sammu

Video: Traadiga juhitav robotkäepide: 31 sammu

Video: Traadiga juhitav robotkäepide: 31 sammu
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, November
Anonim
Traadiga juhitav robotkäsi
Traadiga juhitav robotkäsi

See on õpetus, kuidas teha juhtmest juhitav robotkäsi. Juhtmete kasutamise eeliseks on see, et teie käsi on kergem ja teil on kõik mootorid käe all, muutes ehitamise ja hooldamise lihtsamaks. Siin on video käe toimimisest. Kavatsen tulevikus lisada küünise, et see saaks asju üles korjata ja mitte lihtsalt ringi suruda.

3D prinditavad:

Siin ja Siin

Tarvikud

6 servomootorit (MG995)

Arduino Uno

Umbes 6 meetrit plastkattega terastraati (0,5 mm)

Kast 23x33x10 (võib olla kitsam, kindlasti ei tohiks olla lühem)

Puitplaat 33x10

Mutrid ja poldid

Toru 14 cm (see on vajalik stringide juhtimiseks)

4 L-klambrit

5-voldine adapter

2 7-suunalist klemmliistut

Leivaplaadi juhtmed

3D -prinditud komponendid (pole minu disainitud, lingid kirjelduse elementidele):

3 "poldid"

2 "Element 1"

1 „Element 2”

2 „Element 3”

1 Aluspistik

Samm: printige kõik 3D -komponendid

Võimalik, et vajate poltide aukude ja kaarede toetust, kuid ärge lisage oma komponentide korpusele tuge; see sulgeb väikesed traataugud ja peate tegema uued augud

2. samm: (valikuline) Kinnitage puitplaat selle tugevdamiseks oma kasti põhja

Minu kast oli üsna nõrk, sinu oma ei pruugi seda teha

3. samm: mõõtke ja lõigake puidust plaat kasti sobitamiseks

Samm: märkige mootorite asukohad

veenduge, et ükski käsi ei puutuks üksteisega kokku

Samm: märkige sulgude ja toru asukohad

Märkige sulgude ja toru asukohad
Märkige sulgude ja toru asukohad

Toru tuleks asetada augu ette umbes sentimeetri kaugusele

Samm: puurige auk karbist tulevatele kaablitele (USB ja toide)

Puurige auk karbist tulevatele kaablitele (USB ja toide)
Puurige auk karbist tulevatele kaablitele (USB ja toide)

7. samm: puurige ja saage kõik märgitud augud

Puurige ja näete kõiki märgitud auke
Puurige ja näete kõiki märgitud auke

Samm: kinnitage mootorid ja toru plaadi külge

9. samm: kinnitage plaat L-klambritega kasti külge

Samm: võtke klemmiplokid ja jootke juhtmed kokku

Võtke oma terminaliplokid ja jootke juhtmed kokku
Võtke oma terminaliplokid ja jootke juhtmed kokku

Samm: lõigake adapteri toitejuhtme ots ja eemaldage juhtmed

12. samm: tehke kindlaks ja märkige pluss- ja miinusjuhtmed

Samm 13: kinnitage juhtmed klemmiplokkide külge nii, et kõik + servojuhtmed ja + toitekaabli juhe on ühendatud, sama kehtib ka juhtmete kohta

Kinnitage juhtmed klemmiplokkide külge, nii et kõik + servojuhtmed ja toitekaabli + traat on ühendatud, sama kehtib ka juhtmete kohta
Kinnitage juhtmed klemmiplokkide külge, nii et kõik + servojuhtmed ja toitekaabli + traat on ühendatud, sama kehtib ka juhtmete kohta

14. samm: lõigake pea leivaplaadilt maha

Lõigake pea leivatraadilt ära
Lõigake pea leivatraadilt ära

Kinnitage leivaplaadi juhtme kooritud ots miinusklemmiploki külge ja tihvti ots oma arduino maandusnõela külge. Kui te seda ei tee, liiguvad mootorid ilma sisendita ebaregulaarselt.

Samm: puurige karbi põhja kolm auku, et juhtmed teie käest välja tuleksid

Avad peaksid sobima aluse pistiku aukudega.

16. samm: kinnitage baasühendus karbi külge

Kinnitage põhipistik karbi külge
Kinnitage põhipistik karbi külge

Samm: kasutage traadi soonte sügavamaks muutmiseks nuga või küüneviili

Traadi soonte sügavamaks muutmiseks kasutage nuga või küüneviili
Traadi soonte sügavamaks muutmiseks kasutage nuga või küüneviili

Elementide 2 ja 3 traatsooned on liiga madalad.

18. samm: konstrueerige käepide

Ehitage käepide
Ehitage käepide

Ehitage käepide vastavalt siin toodud juhistele, võib -olla peate osad viilima nii, et need sobiksid

Samm: installige töötlemine ja Arduino

Töötlemine ja Arduino

Samm: kleepige koodiprogrammid

Kood on selle lehe allosas

Samm: ühendage servo juhtpoldid Arduinoga

Ühendage servo juhtpoldid Arduinoga
Ühendage servo juhtpoldid Arduinoga

Ühendasin esimese mootori kolmanda digitaalse tihvtiga, teise mootori neljanda digitaalse tihvtiga ja nii edasi. Veenduge, et maandusnõel on endiselt ühendatud klemmliistuga.

Samm 22: töötlemise ajal vajutage lähtestamisnuppu, see seab kõik relvad 90 kraadi

Samm 23: Kinnitage servovarred horisontaalselt mootori külge

Samm: keerake juhtmed läbi relvade nii, et poleks lõtku

Keerake traat kindlasti läbi nii palju auke kui võimalik, see hoiab seda ajutiselt ja seda on lihtne eemaldada.

Samm: katsetage kätt ja pingutage või lõdvendage juhtmeid vastavalt vajadusele

Samm: liimige juhtmed püsivalt kuumalt liimiga servovartele

27. samm: märkmed

Märkused
Märkused

Kasutasin 0,5 mm ehetraati, kuid 0,4 mm peaks sobima. Algses disainis kasutati PVC -traati, kuid see purunes liiga kergesti ja sellega oli raske töötada.

Kui kavatsete kätt autos või jalgrattaga liigutada, mähkige õlaliigesed teibiga, et need ei paistaks välja. See on eriti oluline elemendi 1 puhul.

Seda projekti alustades mõtlesin, miks ma leidsin ainult ühe õpetuse juhtmete abil juhitava käe valmistamiseks. Nüüd saan aru, miks see ei ole kõige tavalisem viis hobiroboti käe valmistamiseks. Juhtmed kukuvad mõnikord soontest välja ja kogu asi on kuidagi õhuke. Ma ei tea, kas probleemid on tingitud sellest, et mul pole palju kogemusi või kas kogu idee on problemaatiline, kuigi olen kindel, et see oleks kindlam, kui teaksin, mida teen.

28. samm: tõrkeotsing

Traadiavad on 3D -trükitud elementides suletud:

Lisasite toe kogu elemendile, mitte ainult poltide aukudele. Printige element uuesti või avage augud tõeliselt kuuma nõelaga.

COM -port on suletud, arduinoga ei saa suhelda:

Teie arduino ei pruugi USB 3 porte vastu võtta (minu oma mitte), võite osta USB 2 pikenduskaabli või kasutada arvutit, millel on USB 2 pordid

Kood ei tööta:

Järgige seda õpetust ja muutke seda oma koodi loomiseks

Osa kätt ei liigu:

Juhtmed võivad olla sassi läinud, selle kontrollimiseks võtke servohoob servo küljest lahti ja proovige juhtmeid käsitsi tõmmata. Võtke juhtmed lahti ja kui juhtmeid on endiselt raske tõmmata, proovige liikumise hõlbustamiseks kasutada mõnda WD-40 või määrdeainet

29. samm: lingid

Mitterobotiline käsi:

3D-prinditavad käed:

Minu käe 3D printimine:

Arduino ja töötlemine:

30. samm: kood

Sellest koodist muudetud

Arduino kood:

#include // Mootorite deklareerimine Servo myservo1; Servo myservo2; Servo myservo3; Servo myservo4; Servo myservo5; Servo myservo6; // Kõik mootorid on vaikimisi seatud 90 kraadi juurde int current1 = 90; int vool2 = 90; int vool3 = 90; int vool4 = 90; intvool5 = 90; int vool6 = 90; // Minimaalsed ja maksimaalsed kraadid, mida mootorid võivad saavutada int mini1 = 0; int maxi1 = 180; int mini2 = 0; int maxi2 = 180; int mini3 = 0; int maxi3 = 180; int mini4 = 0; int maxi4 = 180; int mini5 = 0; int maxi5 = 180; int mini6 = 0; int maxi6 = 180; // Praegusele positsioonile lisatavad või lahutatavad kraadid int kraadiFoward = 5; // Viivitus, et kaks funktsiooni ei toimuks vales järjekorras int delayBetweenSteps = 100; void setup () {// Määra iga mootori juhtnööbid myservo1.attach (3); myservo2.attach (4); myservo3.attach (5); myservo4.attach (6); myservo5.attach (7); myservo6.attach (8); // Määra kõik mootorid vaikeseadetele myservo1.write (current1); myservo2.write (praegune2); myservo3.write (praegune3); myservo4.write (praegune4); myservo5.write (praegune5); myservo6.write (praegune6); // jadaühenduse käivitamine @9600 bps Serial.begin (9600); } void loop () {if (Serial.available ()) {// kui andmed on lugemiseks saadaval char val = Serial.read (); // pane see sellesse sümbolisse // Mootori juhtelemendid if (val == 'a' && current1 + kraadiFoward mini1) {myservo1.write (praegune1 - kraadiFoward); vool1 = vool1 - kraadiFoward; viivitus (delayBetweenSteps); } if (val == 'c' && current2 mini2) {myservo2.write (praegune2 - kraadiFoward); vool2 = vool2 - kraadiFoward; viivitus (delayBetweenSteps); } if (val == 'e' && current3 mini3) {myservo3.write (praegune3 - kraadiFoward); vool3 = vool3 - kraadiFoward; viivitus (delayBetweenSteps); } if (val == 'g' && current4 mini4) {myservo4.write (praegune4 - kraadiFoward); vool4 = vool4 - kraadiFoward; viivitus (delayBetweenSteps); } if (val == 'i' && current5 mini5) {myservo5.write (praegune5 - kraadiFoward); vool5 = vool5 - kraadiFoward; viivitus (delayBetweenSteps); } if (val == 'k' && current6 mini6) {myservo6.write (praegune6 - kraadiFoward); praegune6 = vool6 - kraadiFoward; viivitus (delayBetweenSteps); } // Kiirus Juhib, kui (val == 'w') {// Kui kiiruse 1 nuppu vajutatakse kraadiFoward = 1; viivitus (delayBetweenSteps); } if (val == 'x') {// Kui kiiruse 5 nuppu vajutatakse kraadiFoward = 5; viivitus (delayBetweenSteps); } if (val == 'y') {// Kui kiiruse 10 nuppu vajutatakse kraadiFoward = 10; viivitus (delayBetweenSteps); } if (val == 'z') {// Kui kiiruse 20 nuppu vajutatakse kraadiFoward = 20; viivitus (delayBetweenSteps); } if (val == 'r') {// Kui kiirus 20 nuppu vajutada myservo1.write (90); vool1 = 90; myservo2.write (90); vool2 = 90; myservo3.write (90); vool3 = 90; myservo4.write (90); vool4 = 90; myservo5.write (90); vool5 = 90; myservo6.write (90); vool6 = 90; viivitus (delayBetweenSteps); }}}

Töötluskood:

impordi töötlemine.seriaalne.*; impordi kontrollP5.*; // import ControlP5 raamatukogu jadaport; ControlP5 cp5; // luua ControlP5 objekti PFont font; void setup () {// sama mis arduino programmi suurus (300, 700); // akna suurus, (laius, kõrgus) printArray (Serial.list ()); // prindib kõik saadaolevad jadapordid // Kui teil on probleem, pärineb see tõenäoliselt siit String portName = Serial.list () [0]; port = uus jada (see, pordiNimi, 9600); // olen ühendanud arduino com3 -ga, see oleks Linuxis ja mac osis erinev // lubame lisada butooni tühja aknasse cp5 = new ControlP5 (this); font = createFont ("Arial", 13); // nuppude ja pealkirja kohandatud fondid // Kiiruse juhtnupud cp5.addButton ("Üks") // "Üks" on nupu.setPosition (50, 50) // nupu vasaku ülanurga x ja y koordinaadid.setSize (55, 25) // (laius, kõrgus).setFont (font); cp5.addButton ("Viis").setPosition (110, 50).setSize (55, 25).setFont (font); cp5.addButton ("Kümme").setPosition (170, 50).setSize (55, 25).setFont (font); cp5.addButton ("Kakskümmend").setPosition (230, 50).setSize (55, 25).setFont (font); cp5.addButton ("Lähtesta").setPosition (110, 2).setSize (55, 25).setFont (font); cp5.addButton ("Servo_1_Foward").setPosition (50, 90).setSize (190, 40).setFont (font); // Mootori juhtnupud cp5.addButton ("Servo_1_Back").setPosition (50, 140).setSize (190, 40).setFont (font); cp5.addButton ("Servo_2_Foward").setPosition (50, 190).setSize (190, 40).setFont (font); cp5.addButton ("Servo_2_Back").setPosition (50, 240).setSize (190, 40).setFont (font); cp5.addButton ("Servo_3_Foward").setPosition (50, 290).setSize (190, 40).setFont (font); cp5.addButton ("Servo_3_Back").setPosition (50, 340).setSize (190, 40) // (laius, kõrgus).setFont (font); cp5.addButton ("Servo_4_Foward").setPosition (50, 390).setSize (190, 40).setFont (font); cp5.addButton ("Servo_4_Back").setPosition (50, 440).setSize (190, 40) // (laius, kõrgus).setFont (font); cp5.addButton ("Servo_5_Foward").setPosition (50, 490).setSize (190, 40).setFont (font); cp5.addButton ("Servo_5_Back").setPosition (50, 540).setSize (190, 40).setFont (font); cp5.addButton ("Servo_6_Foward").setPosition (50, 590).setSize (190, 40).setFont (font); cp5.addButton ("Servo_6_Back").setPosition (50, 640).setSize (190, 40).setFont (font); } void draw () {// sama nagu silmus arduino taustal (192, 215, 249); // akna taustavärv (r, g, b) või (0 kuni 255) // Lisa tekst, mis ütleb, et kiiruse reguleerimine on kiiruse reguleerimise täitmine (0, 10, 25); // teksti värv (r, g, b) textFont (font); tekst ("Kiiruse reguleerimine", 50, 40); // ("tekst", x koordinaat, y koordinaat)} // võimaldab meie nuppudele lisada mõningaid funktsioone // nii et kui vajutate suvalist nuppu, saadab see teatud sümboli jadapordi kaudu // Olen kindel, et stringe on võimalik saata märkide asemel ja see oleks loogilisem, aga ma ei tea, kuidas seda teha // Kiiruse reguleerimise käsud void One () {port.write ('w'); } tühine viis () {port.write ('x'); } tühine Kümme () {port.write ('y'); } tühine Kakskümmend () {port.write ('z'); } // Mootori juhtimiskäsud tühine Servo_1_Foward () {port.write ('a'); } tühine Servo_1_Back () {port.write ('b'); } tühine Servo_2_Foward () {port.write ('c'); } tühine Servo_2_Back () {port.write ('d'); } tühine Servo_3_Foward () {port.write ('e'); } tühine Servo_3_Back () {port.write ('f'); } tühine Servo_4_Foward () {port.write ('g'); } tühine Servo_4_Back () {port.write ('h'); } tühine Servo_5_Foward () {port.write ('i'); } tühine Servo_5_Back () {port.write ('j'); } tühine Servo_6_Foward () {port.write ('k'); } tühine Servo_6_Back () {port.write ('l'); } void Lähtesta () {port.write ('r'); }

Samm: rohkem pilte

Soovitan: