Sisällysluettelo:

Arduino -robotti: 5 vaihetta
Arduino -robotti: 5 vaihetta

Video: Arduino -robotti: 5 vaihetta

Video: Arduino -robotti: 5 vaihetta
Video: How to use up to 10 push button switch with 1 Arduino input pin ANPB-V1 2024, Heinäkuu
Anonim
Image
Image
Arduino -robotti
Arduino -robotti
Arduino -robotti
Arduino -robotti

Koska tämä on ensimmäinen projektini Arduino -aloituspaketin 15 opetusohjelman jälkeen, sen todellinen tarkoitus on saada kriitikkoja, vinkkejä, ehdotuksia ja ideoita keneltä tahansa, joka tietää enemmän kuin minä.

Tämä projekti koskee robottivartta, jossa on 4 dofia ja ote. Kohtuullisen alhaisella budjetilla: kaveri on leikannut rakenteen, 4 servoa olivat 30 €, 2 ohjaussauvaa 4 €, ruuvit jne. Alle 10 € ja kaikki muu (Arduino, johdot, kahvan servo jne.)) sisältyi jo aloitussarjaani. Yhteensä 40-45 €, jotka ovat noin 45-50 Yhdysvaltain dollaria (sama hinta kuin me-arm-sarja, mutta hei, oli hauskaa rakentaa se itse (ja sotkea jotain silloin tällöin) eikä noudata koneen ohjeita).

Koska tämä oli ensimmäinen projektini ja Instructable, osallistuin `` First Time Author '' - ja muutamaan muuhun kilpailuun, joten jos pidät siitä, äänestä sitä:)

Vaihe 1: SUUNNITTELU JA KOKOAMINEN:

Ensin tarvitsin rakenteen: Tämä oli ehdottomasti pisin osa. alkoi muuttaa sitä tarpeidemme mukaan (eri servoja, joilla on eri vääntömomentti, paino ja mitat jne.). Minun piti rakentaa se muutaman kerran, joista jokainen löysin jotain vikaa, ja meidän piti toistaa joitain kappaleita ja yrittää uudelleen. Olen liittänyt.dxf -tiedoston, jos haluat käyttää sitä. Sitten minun piti ostaa elektroniikka: Suurin osa osista oli vakio, vaikea osa oli valita servot. Laskin tarvittavan vääntömomentin peukalosäännöllä, myöhemmin kokeilin tarkempaa laskentaa ja huomasin, että olin saattanut yliarvostella sitä hieman. Ilmeisesti 6 kg/cm olisi riittänyt toiseen servoon (pohjasta), ja minun tarjoaa 9-11 kg/cm. Tämä antaa minulle jonkin verran turvallisuutta ja mahdollisuuden ladata jopa 2 kg kuormaa (mikä on mahdotonta, mutta pidän siitä, että voisin teknisesti tehdä sen). Olisin voinut ostaa myös erilaisia servoja, joiden vääntömomentti pieneni siirryttäessä pois tukikohdasta, mutta saman toimittajan ostaminen samalta toimittajalta oli ylivoimaisesti halvin vaihtoehto. 350mA ja mikroservo 9g kuluttaa 100mA, yhteensä 350*4 +100 = 1500mA. Joten pelastin laturin (6V 1,5A) ja juotin siihen kaksi hyppyjohtoa. (Jos jotkut teistä saattavat tarvita todellisia ohjeita, kysy vain kommenteissa, ja teen parhaani luodakseni askel askeleelta opas) Materiaaliluettelo:- Rakenne- M5x7cm ruuvi x5, m5 pultit x15 (pohja)- M3x16mm ruuvi x18*- M3x20mm ruuvi x13*- M3 pultit x40*- M3x8cm ruuvi x3- puristin (muuten putoaa)- 3 tapia- Arduino (tai jotain muuta sen hallitsemiseksi, sen on oltava vähintään 5 PWM)- Jotain syötettävä 5-6 V ja vähintään 1,5 A- 3x ps2: n kaltaiset ohjaussauvat- 4x TowerPro mg995 servot- 1x TowerPro 9g mikroservo (pitoon)) - Paljon hyppyjohtoja - Leipälevy*(käytin ruuveja ja ruuveja, jotta pystyin kasaamaan ja purkamaan nopeasti, muuten melkein kaikki voit korvata puutyöruuveilla)

Vaihe 2: KOODI:

Ajatuksena on ohjata jokaista servoa yhdellä ps2: n kaltaisen ohjaussauvan kahdesta akselista. Jokaisella ohjaussauvalla näytti olevan erilaiset "lepoarvot" (arvo välillä 0-1023, kun se on paikallaan) sekä y- että x-akselille. oli ongelma, koska ero oli kaikkea muuta kuin pieni (yhdellä y oli nolla kohdassa 623) ja halusin käyttää karttatoimintoa muuntamiseen 0-1023 asteeseen. Mutta karttafunktio ajattelee, että loppuarvo on 1023/2. Joka toi jokaisen servon liikkuvan heti, kun kytken Arduinon päälle, ei hyvä. Olin onnistunut kiertämään tämän etsimällä manuaalisesti lukuarvon ja jokaisen eri lepoarvon (joka laskettiin erikseen jokaiselle ohjaussauvalle) välinen ero, sitten tehdä koodista lyhyempi ja älykkäämpi, sain hänet lukemaan asetusarvon loput arvot ja tallentamaan ne joihinkin muuttujiin. Minun piti jakaa se vakioksi: kokeilin monia arvoja, kunnes keksin lopullisen 200 (voin lisätä potentiometrin muuttaaksesi tämän arvon manuaalisesti haluttuun arvoon). vaikka voisi olla tyylikkäämpää laittaa lisäyksen laskenta erilliseen funktioon.

Vaihe 3: ELEKTRONIIKKA:

ELEKTRONIIKKA
ELEKTRONIIKKA

Johdotus on sama kuin kuvassa tai fritsointitiedostossa: servosignaali nastoille: 5-6-9-10-11 ja ohjaussauvan akseli analogisille nastoille: A0-A1-A2-A3-A4 Suurin ongelma, johon törmäsin oli, että ohjaussauvat piti toimittaa Arduinolta, EI laturilta, jota käytän servoissa. Muuten servo menisi hulluksi liikkuessaan satunnaisesti edestakaisin, luulen, että se saattaa johtua siitä, että jos toimitan heille laturin, Arduino ei pysty kertomaan tarkasti mahdollista eroa, kun siirrän niitä, mutta sitten uudelleen: Olen hyvin uusi elektroniikan parissa, joten se on vain arvaus.

Vaihe 4: JATKUU PARANNUKSESSA:

PARANNUKSESSA
PARANNUKSESSA

Koska jokainen ohjaussauva voi ohjata 2 servoa (1 akselia kohden), tarvitsen 3 servoa koko käsivarren hallintaan, mutta valitettavasti minulla on vain 2 peukaloa. kahva ja avaa ja sulje kahva, yhteensä 4 akselia, 2 ohjaussauvaa ja 2 peukaloa! Huomasin, että tämä ongelma tunnetaan nimellä käänteiskinematikka, ja huomasin myös, että se on kaikkea muuta kuin helppoa. epälineaariset) yhtälöt jokaisen efektorin tilan löytämiseksi (servojen kulmat) lopullisessa asennossa. Sen ei pitäisi olla liian vaikeaa, minun on pohjimmiltaan luettava ohjaussauvat, käytettävä niiden lukemia muokkaamaan otteen xyz -koordinaatteja ja annettava ne sitten yhtälöilleni, laskettava servokulmat ja kirjoitettava ne.

Vaihe 5: TULEVAISUUDEN PARANNUKSET:

Joten olen melko tyytyväinen lopputulokseen ja koska olen täysin uusi elektroniikassa, joka ei puhalla mitään tai itseäni, oli jo valtava voitto. Kuten sanoin alussa, kaikki ideat tulevista parannuksista, sekä ohjelmistot laitteisto, on enemmän kuin tervetullut! Toistaiseksi ajattelin: 1. Potentiometri ohjaussauvojen "herkkyyden" muuttamiseksi.2. Uusi koodi, joka saa hänet”tallentamaan” joitain liikkeitä ja tekemään ne uudelleen (ehkä nopeammin ja lyhyemmin kuin ihmisen panos) 3. Jonkinlainen visuaalinen/etäisyys/puhesyöttö ja mahdollisuus saada esineitä ilman, että joku käyttää ohjaussauvaa4. Geometristen kuvioiden piirtäminen Onko sinulla muita ideoita? Voit vapaasti kommentoida ehdotuksia. Kiitos

Suositeltava: