Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Tulosta kaikki 3D -komponentit
- Vaihe 2: (Valinnainen) Kiinnitä puulaatikko laatikon pohjaan sen vahvistamiseksi
- Vaihe 3: Mittaa ja leikkaa puulaatta laatikkoon sopivaksi
- Vaihe 4: Merkitse moottorien sijainnit
- Vaihe 5: Merkitse kiinnikkeiden ja putken paikat
- Vaihe 6: Poraa reikä laatikoista tuleville kaapeleille (USB ja virta)
- Vaihe 7: Poraa ja sahaa kaikki merkityt reiät
- Vaihe 8: Kiinnitä moottorit ja putki lautaan
- Vaihe 9: Kiinnitä lankku laatikkoon L-kiinnikkeillä
- Vaihe 10: Ota liittimet ja juota johdot yhteen
- Vaihe 11: Katkaise sovittimen virtajohdon pää ja kuori johdot
- Vaihe 12: Tunnista ja merkitse plus- ja miinusjohdot
- Vaihe 13: Kiinnitä johdot riviliittimiin niin, että kaikki + servojohdot ja virtajohdon + johto on kytketty, sama koskee - johtoja
- Vaihe 14: Katkaise pää leipälevyn langalta
- Vaihe 15: Poraa kolme reikää laatikon pohjalle käsivarsistasi tulevia johtoja varten
- Vaihe 16: Kiinnitä tukiliitin laatikkoon
- Vaihe 17: Käytä terää tai kynsiviilaa viiraurien syventämiseen
- Vaihe 18: Rakenna varsi
- Vaihe 19: Asenna Processing ja Arduino
- Vaihe 20: Liitä koodiohjelmat
- Vaihe 21: Liitä servonohjaustapit Arduinoon
- Vaihe 22: Paina Reset -painiketta käsittelyssä, tämä asettaa kaikki aseet 90 asteeseen
- Vaihe 23: Kiinnitä servovarret moottoriin vaakasuoraan
- Vaihe 24: Pujota johdot aseiden läpi niin, että ne eivät löysty
- Vaihe 25: Testaa varsi ja kiristä tai löysää johdot tarpeen mukaan
- Vaihe 26: Liimaa johdot kuumasti servovarsiin, jotta se pysyy
- Vaihe 27: Huomautuksia
- Vaihe 28: Vianetsintä
- Vaihe 29: Linkit
- Vaihe 30: Koodi
- Vaihe 31: Lisää kuvia
Video: Lankaohjattu robottivarsi: 31 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Tämä on opetusohjelma siitä, kuinka tehdä robotti käsivarsi, jota ohjataan johtimilla. Johtimien käytön etuna on, että käsivartesi on kevyempi ja kaikki moottorit voivat olla käsivarren pohjassa, mikä helpottaa rakentamista ja huoltoa. Tässä video käsivarsista toiminnassa. Aion lisätä kynsiä tulevaisuudessa, jotta se voi poimia asioita eikä vain työntää niitä ympäri.
3D -tulostettavat:
Tässä ja Tässä
Tarvikkeet
6 servomoottoria (MG995)
Arduino Uno
Noin 6 metriä muovipinnoitettua teräslankaa (0,5 mm)
Laatikko 23x33x10 (saattaa olla kapeampi, ei saisi olla lyhyempi)
Puulauta 33x10
Mutterit ja pultit
Putki 14 cm (tätä tarvitaan merkkijonojen ohjaamiseen)
4 L-kiinnikkeet
5 voltin sovitin
2 7-suuntaista riviliitintä
Leipälevyn johdot
3D -tulostetut komponentit (en ole itse suunnitellut, linkit kuvauksen elementteihin):
3 "Pultit"
2 "Elementti 1"
1 "Elementti 2"
2 "Elementti 3"
1 Tukiaseman liitin
Vaihe 1: Tulosta kaikki 3D -komponentit
Saatat tarvita tukea pultinreikiin ja kaariin, mutta varmista, ettet lisää tukea komponenttien runkoon; tämä sulkee pienet lankareiät ja sinun on tehtävä uusia reikiä
Vaihe 2: (Valinnainen) Kiinnitä puulaatikko laatikon pohjaan sen vahvistamiseksi
Laatikkoni oli melko heikko, sinun ei ehkä ole
Vaihe 3: Mittaa ja leikkaa puulaatta laatikkoon sopivaksi
Vaihe 4: Merkitse moottorien sijainnit
varmista, että mikään käsivarsista ei kosketa toisiaan
Vaihe 5: Merkitse kiinnikkeiden ja putken paikat
Putki tulee sijoittaa noin yhden senttimetrin reiän eteen
Vaihe 6: Poraa reikä laatikoista tuleville kaapeleille (USB ja virta)
Vaihe 7: Poraa ja sahaa kaikki merkityt reiät
Vaihe 8: Kiinnitä moottorit ja putki lautaan
Vaihe 9: Kiinnitä lankku laatikkoon L-kiinnikkeillä
Vaihe 10: Ota liittimet ja juota johdot yhteen
Vaihe 11: Katkaise sovittimen virtajohdon pää ja kuori johdot
Vaihe 12: Tunnista ja merkitse plus- ja miinusjohdot
Vaihe 13: Kiinnitä johdot riviliittimiin niin, että kaikki + servojohdot ja virtajohdon + johto on kytketty, sama koskee - johtoja
Vaihe 14: Katkaise pää leipälevyn langalta
Kiinnitä leipälautajohdon kuorittu pää miinusliittimeen ja tapin pää arduino -laitteen maadoitusnastaan. Jos et tee tätä, moottorit liikkuvat epäsäännöllisesti ilman tuloa.
Vaihe 15: Poraa kolme reikää laatikon pohjalle käsivarsistasi tulevia johtoja varten
Reikien tulee vastata perusliittimen reikiä.
Vaihe 16: Kiinnitä tukiliitin laatikkoon
Vaihe 17: Käytä terää tai kynsiviilaa viiraurien syventämiseen
Elementtien 2 ja 3 lankaurat ovat liian matalat.
Vaihe 18: Rakenna varsi
Rakenna varsi tässä annettujen ohjeiden mukaisesti, saatat joutua viilaamaan osat niin, että ne sopivat
Vaihe 19: Asenna Processing ja Arduino
Käsittely ja Arduino
Vaihe 20: Liitä koodiohjelmat
Koodi on tämän sivun alareunassa
Vaihe 21: Liitä servonohjaustapit Arduinoon
Yhdistin ensimmäisen moottorin kolmanteen digitaaliseen nastaan, toisen moottorin neljänteen digitaaliseen nastaan ja niin edelleen. Varmista, että maadoitusnasta on edelleen kytketty - riviliittimeen.
Vaihe 22: Paina Reset -painiketta käsittelyssä, tämä asettaa kaikki aseet 90 asteeseen
Vaihe 23: Kiinnitä servovarret moottoriin vaakasuoraan
Vaihe 24: Pujota johdot aseiden läpi niin, että ne eivät löysty
Varmista, että pujotat langan mahdollisimman monen reiän läpi, sillä se pitää sen tilapäisesti ja on helppo poistaa.
Vaihe 25: Testaa varsi ja kiristä tai löysää johdot tarpeen mukaan
Vaihe 26: Liimaa johdot kuumasti servovarsiin, jotta se pysyy
Vaihe 27: Huomautuksia
Käytin 0,5 mm korulankaa, mutta 0,4 mm pitäisi olla hieno. Alkuperäisessä suunnittelussa käytettiin PVC -lankaa, mutta se hajosi liian helposti ja sen kanssa oli vaikea työskennellä.
Jos aiot liikuttaa käsivartta autossa tai pyörässä, kiedo käsinivelet teipillä varmistaaksesi, että ne eivät ponnahda ulos. Tämä on erityisen tärkeää elementille 1.
Kun aloitin tämän projektin, ihmettelin, miksi löysin vain yhden opetusohjelman siitä, miten tehdä käsivarsi, jota ohjataan johtimilla. Nyt ymmärrän, miksi tämä ei ole yleisin tapa tehdä harrastusrobottivarret. Johdot putoavat toisinaan uristaan ja koko asia on jotenkin heikko. En tiedä johtuuko ongelmista, koska minulla ei ole paljon kokemusta, vai onko koko idea ongelmallinen, vaikka olen varma, että se olisi vankempi, jos tietäisin mitä teen.
Vaihe 28: Vianetsintä
Langanreiät on suljettu 3D -tulostetuissa elementeissä:
Lisäsit tuen koko elementille vain pultinreikien sijasta. Tulosta elementti uudelleen tai avaa reiät todella kuumalla neulalla.
COM -portti on suljettu, et voi kommunikoida arduinon kanssa:
Arduino ei ehkä hyväksy USB 3 -portteja (minun ei), voit joko ostaa USB 2 -jatkokaapelin tai käyttää tietokonetta, jossa on USB 2 -portit
Koodi ei toimi:
Noudata tätä opetusohjelmaa ja muokkaa sitä luodaksesi oman koodisi
Osa käsivartta ei liiku:
Johdot ovat saattaneet sotkeutua, tarkistaaksesi tämän, ota servovarsi irti servosta ja yritä vetää johdot käsin. Irrota johdot ja jos johtojen vetäminen on edelleen vaikeaa, kokeile WD-40: n tai voiteluaineen käyttöä liikkeen helpottamiseksi
Vaihe 29: Linkit
Ei-robottivarsi:
Käsittele 3D-tulostettavat:
My Arm 3D-tulostettava:
Arduino ja käsittely:
Vaihe 30: Koodi
Muokattu tästä koodista
Arduino -koodi:
#include // Ilmoita moottorit Servo myservo1; Servo myservo2; Servo myservo3; Servo myservo4; Servo myservo5; Servo myservo6; // Kaikki moottorit on asetettu oletusarvoisesti 90 asteeseen int current1 = 90; int virta2 = 90; int virta3 = 90; int virta4 = 90; int nykyinen5 = 90; int nykyinen6 = 90; // Minimi- ja maksimiasteet, joita moottorit voivat saavuttaa 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; // Asteet, jotka lisätään tai vähennetään nykyisestä sijainnista int fokFoward = 5; // Viive, joten kaksi funktiota ei tapahdu väärässä järjestyksessä int delayBetweenSteps = 100; void setup () {// Aseta ohjaustapit kullekin moottorille myservo1.attach (3); myservo2.attach (4); myservo3.liitäntä (5); myservo4.attach (6); myservo5.attach (7); myservo6.attach (8); // Aseta kaikki moottorit oletusasetuksiin myservo1.write (current1); myservo2.write (current2); myservo3.write (current3); myservo4.write (current4); myservo5.write (nykyinen5); myservo6.write (current6); // aloita sarjaliikenne @9600 bps Serial.begin (9600); } void loop () {if (Serial.available ()) {// jos tietoja on luettavissa char val = Serial.read (); // laita se tähän merkkiin // Moottorin säätimet if (val == 'a' && current1 + asteFoward mini1) {myservo1.write (current1 - laipsniųFoward); nykyinen1 = virta11 astetta delay (delayBetweenSteps); } if (val == 'c' && current2 mini2) {myservo2.write (current2 - asteFoward); nykyinen2 = virta2 - astetta eteenpäin; delay (delayBetweenSteps); } if (val == 'e' && current3 mini3) {myservo3.write (current3 - laipsniųFoward); nykyinen3 = virta33 astetta delay (delayBetweenSteps); } if (val == 'g' && current4 mini4) {myservo4.write (current4 - laipsniųFoward); nykyinen4 = nykyinen4 astetta delay (delayBetweenSteps); } if (val == 'i' && current5 mini5) {myservo5.write (current5 - laipsniųFoward); nykyinen5 = virta55 astetta delay (delayBetweenSteps); } if (val == 'k' && current6 mini6) {myservo6.write (current6 - laipsniųFoward); nykyinen6 = nykyinen6 - astetta delay (delayBetweenSteps); } // Nopeus Säätää, jos (val == 'w') {// Jos nopeus 1 -painiketta painetaan asteina Edessä = 1; delay (delayBetweenSteps); } if (val == 'x') {// Jos nopeus 5 -painiketta painetaan asteita eteenpäin = 5; delay (delayBetweenSteps); } if (val == 'y') {// Jos nopeus 10 -painiketta painetaan asteita eteenpäin = 10; delay (delayBetweenSteps); } if (val == 'z') {// Jos nopeus 20 -painiketta painetaan astetta Eteenpäin = 20; delay (delayBetweenSteps); } if (val == 'r') {// Jos nopeus 20 -painiketta painettiin myservo1.write (90); virta1 = 90; myservo2.write (90); virta2 = 90; myservo3.write (90); virta3 = 90; myservo4.write (90); virta4 = 90; myservo5.write (90); virta5 = 90; myservo6.write (90); virta6 = 90; delay (delayBetweenSteps); }}}
Käsittelykoodi:
tuonti käsittely. sarja.*; tuonnin valvontaP5.*; // Tuo ControlP5 -kirjasto Sarjaportti; ControlP5 cp5; // luoda ControlP5 -objektin PFont -fontti; void setup () {// sama kuin arduino -ohjelman koko (300, 700); // ikkunan koko, (leveys, korkeus) printArray (Serial.list ()); // tulostaa kaikki käytettävissä olevat sarjaportit // Jos sinulla on ongelma, se tulee todennäköisesti täältä String portName = Serial.list () [0]; portti = uusi sarja (tämä, portin_nimi, 9600); // olen liittänyt arduinon com3: een, se olisi erilainen Linuxissa ja mac osissa // lisäämme butonin tyhjään ikkunaan cp5 = new ControlP5 (this); font = createFont ("Arial", 13); // painikkeiden ja otsikoiden mukautetut fontit // Nopeuden säätöpainikkeet cp5.addButton ("One") // "One" on painikkeen nimi.setPosition (50, 50) // painikkeen vasemman yläkulman x- ja y -koordinaatit.setSize (55, 25) // (leveys, korkeus).setFont (fontti); cp5.addButton ("Five").setPosition (110, 50).setSize (55, 25).setFont (fontti); cp5.addButton ("Ten").setPosition (170, 50).setSize (55, 25).setFont (fontti); cp5.addButton ("Kaksikymmentä").setPosition (230, 50).setSize (55, 25).setFont (fontti); cp5.addButton ("Reset").setPosition (110, 2).setSize (55, 25).setFont (fontti); cp5.addButton ("Servo_1_Foward").setPosition (50, 90).setSize (190, 40).setFont (fontti); // Moottorin ohjauspainikkeet cp5.addButton ("Servo_1_Back").setPosition (50, 140).setSize (190, 40).setFont (fontti); cp5.addButton ("Servo_2_Foward").setPosition (50, 190).setSize (190, 40).setFont (fontti); cp5.addButton ("Servo_2_Back").setPosition (50, 240).setSize (190, 40).setFont (fontti); cp5.addButton ("Servo_3_Foward").setPosition (50, 290).setSize (190, 40).setFont (fontti); cp5.addButton ("Servo_3_Back").setPosition (50, 340).setSize (190, 40) // (leveys, korkeus).setFont (fontti); cp5.addButton ("Servo_4_Foward").setPosition (50, 390).setSize (190, 40).setFont (fontti); cp5.addButton ("Servo_4_Back").setPosition (50, 440).setSize (190, 40) // (leveys, korkeus).setFont (fontti); cp5.addButton ("Servo_5_Foward").setPosition (50, 490).setSize (190, 40).setFont (fontti); cp5.addButton ("Servo_5_Back").setPosition (50, 540).setSize (190, 40).setFont (fontti); cp5.addButton ("Servo_6_Foward").setPosition (50, 590).setSize (190, 40).setFont (fontti); cp5.addButton ("Servo_6_Back").setPosition (50, 640).setSize (190, 40).setFont (fontti); } void draw () {// sama kuin silmukka arduino -taustalla (192, 215, 249); // ikkunan taustaväri (r, g, b) tai (0 - 255) // Lisää teksti sanomalla, että nopeudensäätö on nopeudensäätö (0, 10, 25); // tekstin väri (r, g, b) textFont (fontti); teksti ("Nopeuden säätö", 50, 40); // ("teksti", x koordinaatti, y -koordinaatti)} // lisäämme joitain toimintoja painikkeisiimme // joten kun painat mitä tahansa painiketta, se lähettää erityistä merkkiä sarjaportin kautta // Olen varma, että merkkijonoja voidaan lähettää merkkien sijaan, ja se olisi järkevämpää, mutta en tiedä miten se tehdään // Nopeudenhallintakomennot void One () {port.write ('w'); } void Five () {port.write ('x'); } void Ten () {port.write ('y'); } void Twenty () {port.write ('z'); } // Moottorin ohjauskomennot void Servo_1_Foward () {port.write ('a'); } void Servo_1_Back () {port.write ('b'); } void Servo_2_Foward () {port.write ('c'); } void Servo_2_Back () {port.write ('d'); } void Servo_3_Foward () {port.write ('e'); } void Servo_3_Back () {port.write ('f'); } void Servo_4_Foward () {port.write ('g'); } void Servo_4_Back () {port.write ('h'); } void Servo_5_Foward () {port.write ('i'); } void Servo_5_Back () {port.write ('j'); } void Servo_6_Foward () {port.write ('k'); } void Servo_6_Back () {port.write ('l'); } void Reset () {port.write ('r'); }
Vaihe 31: Lisää kuvia
Suositeltava:
Robottivarsi ja kahva: 9 vaihetta (kuvilla)
Robottivarsi tarttujalla: Sitruunapuiden korjuuta pidetään kovana työnä puiden suuren koon ja myös sitruunapuiden istutusalueiden kuuman ilmaston vuoksi. Siksi tarvitsemme jotain muuta auttaaksemme maataloustyöntekijöitä suorittamaan työnsä entistä paremmin
3D -robottivarsi Bluetooth -ohjatulla askelmoottorilla: 12 vaihetta
3D-robottivarsi Bluetooth-ohjattavilla askelmoottoreilla: Tässä opetusohjelmassa näemme, miten tehdään 3D-robottivarsi, jossa on 28byj-48 askelmoottorit, servomoottori ja 3D-painetut osat. Painettu piirilevy, lähdekoodi, sähkökaavio, lähdekoodi ja paljon tietoa sisältyvät verkkosivustolleni
Robottivarsi: 15 vaihetta
Robotti: Käytä automaattista järjestelmää
Servo -robottivarsi: 4 vaihetta
Servorobottivarsi: Tämä on yksinkertainen servorobotti käsivarsi, joka pystyy poimimaan esineitä ja sijoittamaan ne määrätylle alueelle. Tämä projekti vie suurimman osan ajastaan kokoonpanoon, koska on tärkeää varmistaa, että varsi on vakaa ja pystyy suorittamaan tehtäviä ilman
Kiertokooderin ohjaama robottivarsi: 6 vaihetta
Rotary Encoder Controlled Robot Arm: Kävin osoitteessa howtomechatronics.com ja näin siellä bluetooth -ohjatun robotin. käytä käsivartta kiertokooderia ja tallenna se