Sadržaj:

DFRobot kornjača Robot: 12 koraka (sa slikama)
DFRobot kornjača Robot: 12 koraka (sa slikama)
Anonim
DFRobot Robot kornjača
DFRobot Robot kornjača
DFRobot Robot kornjača
DFRobot Robot kornjača
DFRobot Robot kornjača
DFRobot Robot kornjača

Do danas su moji projekti robotskih radionica vođeni jeftinom i jednostavnom montažom. Što ako su performanse i točnost bili ciljevi, a ne troškovi? Šta ako je kompanija za komplete robota spremna donirati dijelove? A šta ako smo crtali nečim drugim osim markera?

Dakle, cilj ovog projekta je napraviti preciznog robota kornjaču koristeći dijelove s police koji će nacrtati nešto zanimljivo za sljedeći sajam proizvođača.

Turtles Away!

Korak 1: Dijelovi

Delovi
Delovi
Delovi
Delovi
Delovi
Delovi
Delovi
Delovi

DFRobot je obezbedio glavne komponente. Evo šta koristimo:

  • 1 ea., Bluno M0 matična ploča, SKU: DFR0416 ili obični Arduino Uno
  • 1 ea., Štitnik s dvostrukim bipolarnim koračnim motorom za Arduino (DRV8825), SKU: DRI0023
  • 2 ea., Hibridni koračni motor, SKU: FIT0278
  • 1 komad., 5 mm Komplet spojnica za gumene kotače (par), SKU: FIT0387
  • 1 ea., 9G servo SKU: SER0006

Za napajanje ću koristiti 18650 litijeve ćelije, pa sam kupio:

  • 3 ea., EBL 18650 Baterija 3.7V
  • 1 ea., KINDEN 18650 pametni punjač baterija
  • 3 ea., 18650 Držač baterije

Koristio sam i nekoliko različitih hardvera:

  • 2 ea., Buna-N guma #343 O-prsten (3/16 "x 3-3/4" ID)
  • 1 ea., 1 "kuglični ležaj od nisko-ugljičnog čelika
  • 10 ea., M3x6MM Vijak sa pan glavom
  • 2 ea., M3x8MM Vijak sa pan glavom
  • 4 ea., M3x6MM Vijak s ravnom glavom
  • 14 ea., M3 orah
  • 4 ea., #2 x 1/4 vijak za oblikovanje navoja

Trebat će nam i kreativan način za dijeljenje energije baterije između Motor Shielda i Arduina jer izgleda da nema mogućnosti za to. Koristio sam 2,1 mm x 5 mm priključak s mrtvim napajanjem ili nešto slično ovome.

Alati:

  • Odvijač sa Phillips vrhom
  • Strojevi za skidanje žice
  • Pištolj za vruće ljepilo (opcionalno)
  • Lemilica i lemljenje

I ne najmanje važno:

  • Strpljenje
  • Upornost
  • Pozitivan stav

Korak 2: 3D dijelovi

3D dijelovi
3D dijelovi
3D dijelovi
3D dijelovi
3D dijelovi
3D dijelovi

Odlučio sam pokušati isprojektirati sav 3D u FreeCadu za ovog robota koji će mi pomoći u učenju. Sve što sam trebao učiniti je prenijeti dimenzije za raspored servo i olovke, a zatim prilagoditi ostatak prema većim stepenicama.

  • Veći točkovi pružaju zazor za baterije.
  • Deblje kućište koje pruža snagu za povećanu težinu.
  • Veći kotač koji odgovara podignutoj visini palube.
  • Modularno za jednostavno testiranje i prilagođavanje.

Evo komada koji će vam trebati. Sve datoteke se nalaze na

  • 1 ea., Šasija
  • 1 ea., Gornji podupirač
  • 2 ea., Točak
  • 1 ea., Bačva
  • 1 kom., Servo držač

Korak 3: Montaža šasije 1. dio

Sklop šasije 1. dio
Sklop šasije 1. dio
Sklop šasije 1. dio
Sklop šasije 1. dio
Sklop šasije 1. dio
Sklop šasije 1. dio
  • Počnite tako što ćete umetnuti matice M3 u podnožja šasije. Mogu se pritisnuti ili uvući pomoću vijka M3.
  • Stepere montirajte vijcima M3 s električnim konektorima prema stražnjem (kraćem) kraju.
  • Držače baterija postavite pomoću vijaka s ravnom glavom.

Korak 4: Montaža šasije, drugi dio

Sklop šasije 2. dio
Sklop šasije 2. dio
Sklop šasije 2. dio
Sklop šasije 2. dio
Sklop šasije, drugi dio
Sklop šasije, drugi dio
  • Montirajte cijev, gornji dio i servo zajedno s M3 vijcima i navrtkama.
  • Kombinirani gornji dio montirajte na stepenice vijcima M3.
  • Umetnite čelični ležaj u držač kotačića, zagrijavajući ga sušilom za kosu ako je potrebno da omekša.
  • Montirajte kotač na tijelo pomoću vijaka M3.

Korak 5: Sastavljanje kotača

Sklop točkova
Sklop točkova
Sklop točkova
Sklop točkova
Sklop točkova
Sklop točkova
Sklop točkova
Sklop točkova
  • Pristupiti glavčini da uhvati vratilo je problem jer su osovine 5 mm, a glavčina (za koju se tvrdi da je 5 mm) je zapravo 6 mm. Korištenje dovoljnog zakretnog momenta na steznim vijcima vjerojatno će ih otkinuti, pa sam prvo upotrijebio par stega kako bih zatvorio toleranciju.
  • Nakon podešavanja tolerancije, pomaknite glavčinu na osovinu koraka i pritegnite stezne vijke.
  • Postavite 3D kotačić na glavčinu, umetnite veliki vijak i pritegnite.
  • Postavite O-prsten preko glavčine.
  • Uverite se da se točak rotira bez kolebanja. Podesite ako je potrebno.

Korak 6: Ožičenje

Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje

Sklonimo snagu s puta kako bismo mogli testirati stepere. Trebamo:

  • Steperski štit zahtijeva između 8 i 35V za pokretanje stepera.
  • Steperi su ocijenjeni za 3,4 V, ali ih tipično pokreće 12 V.
  • Bluno (Arduino) ima preporučeni ulazni napon od 7 - 12V ili se može napajati direktno putem 5V USB -a.

Ćelije litijumske baterije imaju nominalni napon od 3,7V. Ako stavimo tri u nizu, dobivamo 3 x 3,7 V = 11,1 V i otprilike 3 x 3000 mAh = 9000 mAh. Bluno vjerovatno troši samo 20 mA, pa će većina odvoda doći iz stepera, koji bi mogli ovisno o opterećenju potegnuti do pojačala ili više. To bi nam trebalo dati sate vremena rada.

Za testiranje možete napajati 12V regulirano na štitu i 5V USB na Arduino. Možda će biti lakše samo spojiti baterije kako biste oboje napajali istovremeno.

  • Paralelno lemite držače baterija prema crtežu.
  • Montirajte Arduino pomoću vijaka za oblikovanje navoja #2.
  • Postavite štitnik motora na Arduino
  • Skinite spašene žice utičnice 2,1 mm x 5 mm i uvijte ih zajedno s vodovima baterije:

    Bijela pruga je pozitivna, uvijte je sa crvenim provodnikom baterije

  • Umetnite crveni kabel u VCC, a crni u GND na štitnik motora.

Korak 7: Koračenje stepenicama

Stepping Stepper
Stepping Stepper
Stepping Stepper
Stepping Stepper
Stepping Stepper
Stepping Stepper
Stepping Stepper
Stepping Stepper

Imao sam malo problema prikupiti dovoljno informacija da ovo pokrenem, pa se nadam da će ovo pomoći drugima. Ključni dokument koji vam je potreban nalazi se na

Spojite koračne žice i napajanje na štit:

  • 2B Plava
  • 2A Crvena
  • 1A Crna
  • 1B Grenn

Navedena skica primjera mi je uspjela, ali nije previše poučna. Morat ćemo kontrolirati brzinu i rotaciju te otpustiti koračne motore kada se ne koriste radi uštede energije.

Pronašao sam izmijenjeni primjer s https://bildr.org/2011/06/easydriver/ koji ima pomoćne funkcije. Vozi samo jedan steper, ali će vam dati samopouzdanje da smo na pravom putu. Kasnije ćemo napisati neki sofisticiraniji kod.

Korak 8: Servo

Servo
Servo
Servo
Servo
Servo
Servo

Servo se koristi za podizanje i spuštanje olovke za crtanje.

  • Stavite ruku na glavčinu i nježno okrenite steper u smjeru suprotnom od kazaljke na satu gledajući prema dolje dok ne dosegne graničnik.
  • Uklonite ruku i postavite je okrenutu ulijevo (to će biti donji položaj).
  • Umetnite mali vijak za oblikovanje navoja i zategnite.
  • Umetnite servo u držač s krajem glavčine prema gore i pričvrstite pomoću dva veća vijka za oblikovanje navoja.

Korak 9: Kalibracija

Kalibracija
Kalibracija
Kalibracija
Kalibracija

Zbog varijacija u sastavljanju i poravnanju, robot mora biti kalibriran tako da može pomicati precizne udaljenosti i kutove.

  • Izmjerite promjer kotača od vanjskih rubova gumenog o-prstena.
  • Izmjerite međuosovinsko rastojanje od središta o-prstenova na dnu robota (gdje će doći u dodir s podom).
  • Preuzmite priloženu skicu kalibracije
  • Unesite izmjerene parametre.
  • Otpremite skicu..

Pripremite olovku:

  • Uklonite poklopac i gurnite ogrlicu olovke sa vrha.
  • Umetnite olovku u držač sa servo ručicom ravno prema gore.
  • Pazite da olovka ne dodiruje papir u ovom položaju.
  • Ako se olovka veže u vratilu, upotrijebite turpiju za uklanjanje hrapavosti i povećanje promjera otvora.

Nacrtaj kvadrat:

  • Pomaknite prekidač za napajanje na "Uključeno".
  • Pričekajte nekoliko sekundi da se pokretački program pokrene.
  • Nakon što robot završi svoj prvi kvadrat, uklonite olovku i isključite robota.
Image
Image
Image
Image

Prvo podesite parametar wheel_dia. Izmjerite dužinu stranice kvadrata. Trebalo bi da bude 100 mm:

  • Ako je izmjerena udaljenost predugačka, povećajte dijagram kotača.
  • Ako je izmjerena udaljenost prekratka, smanjite dijagram kotača.
Image
Image
Image
Image

Nakon što izvršite kalibraciju udaljenosti, podesite parametar međuosovinskog razmaka koji utječe na kut zavoja. Stavite robota na svježi list papira, uključite ga i pustite da nacrta sva četiri kvadrata:

  • Ako se robot okreće previše oštro (kutija se okreće u smjeru kazaljke na satu), smanjite vrijednost međuosovinskog razmaka.
  • Ako se robot ne okreće dovoljno oštro (kutija se rotira u smjeru suprotnom od kazaljke na satu), povećajte vrijednost međuosovinskog razmaka.
  • Zbog grešaka u zaokruživanju koda koraka i zastoja u zupčanicima jeftinih stepera, nikada nećete biti savršeni, stoga nemojte trošiti previše truda na to.

Korak 10: Crtanje

Crtanje
Crtanje
Crtanje
Crtanje
Crtanje
Crtanje

Vrijeme je za crtanje! Preuzmite priložene skice kako biste započeli.

Korak 11: Šta sad? Curriculum

Šta sad? Curriculum!
Šta sad? Curriculum!
Šta sad? Curriculum!
Šta sad? Curriculum!
Šta sad? Curriculum!
Šta sad? Curriculum!

Radi i iscrtava lijepe kvadrate. Sada zabava počinje.

Evo nekoliko resursa za učenje grafike kornjača.

  • https://blockly-games.appspot.com/ (blokiranje programiranja)
  • TinyTurtle Tutorial (JavaScript)
  • Kodiraj s Anom i Elsom iz Hour of Code

Takođe sam objavio uputstvo o korišćenju robota kornjače sa ovim mrežnim resursima sa Turbo Robotom. Općenito, bilo koji JavaScript kod Turtle može se zalijepiti i pokrenuti u skici za kalibraciju. Možete prvo testirati izlaz na računaru na mreži, a zatim ga prenijeti na kornjaču kako biste je izvukli u stvarnom životu!

Za studente, evo nekoliko projektnih ideja:

  • Programirajte svog robota da napiše vaše ime!
  • Dizajnirajte i 3D ispišite natpisnu pločicu u TinkerCadu iz predloška. Može se pričvrstiti ispod vašeg servo motora.
  • Dajte svom robotu malo ličnosti s malo vrućeg ljepila i blinga. (Samo držite kotače i oči dalje od prepreka).
  • Na osnovu skice OSTR_eyes dizajnirajte i testirajte algoritam za kretanje po prostoriji. Šta radite kada jedno oko nešto otkrije. Oba oka? Možete li uključiti Arduino random () funkciju.
  • Napravite labirint na velikom listu papira na podu i programirajte svog robota da se kreće kroz njega.
  • Konstruirajte labirint sa zidovima i dizajnirajte algoritam za automatsko kretanje po njemu.
  • Gumb između LED dioda još nije stavljen u upotrebu, a spojen je na Arduino pin "A3". Za šta bi se moglo koristiti? Pomoću njega uključite i isključite LED za početak.
  • Ako niste učinili odjeljak Istraga u koraku "Firmware (FW): Testiranje i treptanje", vratite se i pokušajte.

Korak 12: Ali čekajte, ima još toga

Ali čekaj, ima još!
Ali čekaj, ima još!

Ako ste obraćali pažnju, primijetili ste da je cijev kvadratna. Nekom čudnom kosmičkom slučajnošću kreda pastelnih umjetnika iste je širine kao promjer Crayola markera. Sve što nam treba je način da stavimo dovoljno pritiska na kredu, a mi smo umjetnici na pločniku.

Trebat će vam:

  • 3D štampana cijev i ovan (https://www.thingiverse.com/thing:2976527)
  • Kreda, ili kreda umjetnika u pastelnim kvadratima ili mala okrugla kreda (ne masne pločice).

    https://a.co/6B3SzS5

Podloške od 3/4 "za težinu

Koraci:

  • Odštampajte dve priložene datoteke.
  • Uklonite servo i servo držač.
  • Pričvrstite četvrtastu cijev za napajanje.
  • Oštrite kredu do bliske tačke.
  • Stavite kredu u bure.
  • Ovan stavite u cijev.
  • Postavite težinu mašine za pranje na ovan.

Preporučuje se: