3D natisnjen kačji robot: 7 korakov (s slikami)
3D natisnjen kačji robot: 7 korakov (s slikami)
Anonim
Image
Image
Deli
Deli

Ko sem dobil 3D tiskalnik, sem začel razmišljati, kaj lahko z njim naredim. Natisnil sem veliko stvari, vendar sem želel narediti celotno konstrukcijo s 3D tiskanjem. Potem sem razmišljal, da bi naredil robotsko žival. Moja prva zamisel je bila narediti psa ali pajka, vendar je veliko ljudi že naredilo pse in pajke. Razmišljal sem o nečem drugem, nato pa o kači. Celotno kačo sem oblikoval v fusion360 in izgledala je super, zato sem naročil potrebne dele in jih sestavil. Mislim, da je rezultat odličen. Na zgornjem videoposnetku si lahko ogledate, kako mi je to uspelo, ali pa se o tem pozanimajte spodaj.

1. korak: Deli

Deli
Deli
Deli
Deli

Tukaj bomo potrebovali:

  • 8 Mikro servo motorji
  • Nekaj 3D tiskanih delov
  • Vijaki
  • 3, 7V li-po baterija
  • Nekateri deli za izdelavo tiskanega vezja (atmega328 SMD, kondenzator 100nF, kondenzator 470μF, upor 1, 2k, nekaj goldpinov). Za ta projekt je zelo pomembno izdelati PCB, ker se vaša kača ne bi mogla premakniti, ko povežete vse na mizo.

2. korak: 3D modeli

3D modeli
3D modeli

Lahko pa vidite vizualizacijo te kače. Datoteke (.stl), ki jih lahko prenesete tukaj ali na moji stvari. Nekaj informacij o nastavitvah tiskanja:

Za tiskanje segmentov in glave priporočam, da dodate raft. Podpora ni potrebna za vse predmete. Polnjenje ni tako pomembno, ker so vsi modeli zelo tanki in so skoraj samo obodni, vendar uporabljam 20%.

Potrebujete:

8x segment kače

1x kačja glava

1x snake_back

Korak: PCB

PCB
PCB

Spodaj najdete datoteke eagle (.sch in.brd). Prenesite jih, odprite v eagle, pojdite na pogled na ploščo, kliknite ctrl + p in ga natisnite. Če ne veste, kako narediti PCB, lahko o tem preberete tukaj:

www.instructables.com/id/PCB-making-guide/

Na shemi je zapisano, da je mikrokrmilnik atmega8, vendar je atmega328, ima isti pinout, vendar v orlu ni atmega328.

4. korak: Sestavljanje

Sestavljanje
Sestavljanje

Po tiskanju vseh delov jih lahko sestavite skupaj. Servo postavite v enega od segmentov, ga privijte na segment z vijakom M2 in nato privijte naslednji segment na servo roko. Če ne veste, kako ga sestaviti, si oglejte video.

5. korak: Povezava

Povezava
Povezava

Na zgornji fotografiji lahko vidite, kje in kaj povezati. Označil sem tudi, kje je pin MISO, MOSI in SCK, ki ga potrebujete za zapisovanje zagonskega nalagalnika. Več o zapisovanju zagonskega nalagalnika lahko preberete na uradni strani arduino tukaj:

www.arduino.cc/en/Tutorial/ArduinoToBreadboard

Za zapisovanje potrebujete programer ali drug arduino. Po zapisu ga lahko programirate s pretvornikom USB-UART ali istim programerjem, ki ga uporabljate za zapisovanje zagonskega nalagalnika.

Po nalaganju programa lahko servo priključite na ploščo. Zadnji servo (na koncu kače) je servo 1, servo 8 pa je najbližje glavi kače.

Na plošči ni nobenega stabilizatorja, zato je maksimalna napetost, ki jo lahko priključite, 5V.

Atmega in servo motorji bodo delovali s 3, 7V Li-Po in priporočam, da ga uporabite za ta projekt, ker je zelo majhen in zelo zmogljiv. Najdete ga v stari RC igrači (jaz sem jo našel v starem RC helikopterju).

Na ploščo sem dodal zatiče RX in TX za programiranje, pa tudi za prihodnjo širitev, lahko se tu povežete s senzorji ali npr. modul bluetooth.

6. korak: Program

Program uporablja programsko servo knjižnico za upravljanje 8 servomotorjev hkrati. Enostavno povečuje in zmanjšuje položaj servo z majhnim premikom, da posnema val. Zahvaljujoč tej potezi je videti kot črv, vendar je tudi učinkovitejši.

Če želite, lahko spremenite zakasnitev na koncu zanke. Ta zamuda nadzoruje hitrost kače. Če torej daste manjšo vrednost, se bo premikala hitreje, višja vrednost = počasneje. Dal sem 6, ker je to največja hitrost, pri kateri se kača ne prevrne. Toda s tem lahko eksperimentirate.

Prav tako lahko spremenite največjo in najmanjšo vrednost, da povečate gibanje.

#vključi

Programska oprema Servo servo1, servo2, servo3, servo4, servo5, servo6, servo7, servo8;

int b_pos, c_pos, d_pos, e_pos; Ukaz niz; int razlika = 30; int kot1 = 90; int kot 2 = 150;

int ser1 = 30;

int ser2 = 70; int ser3 = 110; int ser4 = 150;

int minimum = 40;

int največ = 170;

bool increment_ser1 = true;

bool increment_ser2 = true; bool increment_ser3 = true; bool increment_ser4 = true;

bool increment_ser5 = true;

int ser5 = 90;

bool increment_ser6 = true;

int ser6 = 90;

void setup () {

Serial.begin (9600); servo1.priključek (3); servo2.priključek (5); servo3.priključek (6); servo4.priključek (9); servo5.priključek (10); servo6.priključek (11); servo7.priklop (12); servo8.priključek (13);

servo1.write (90);

servo2.write (130); servo3.write (90); servo4.write (100); servo5.piši (90); servo6.write (90); servo7.pisati (90); servo8.piši (90);

}

void loop () {

naprej (); SoftwareServo:: refresh (); }

void forward () {

if (increment_ser1) {

ser1 ++; } else {ser1--; }

if (največ ser1) {

increment_ser1 = false; }

servo1.write (ser1);

if (increment_ser2) {

ser2 ++; } else {ser2--; }

if (največ ser2) {

increment_ser2 = false; }

servo3.write (ser2);

if (increment_ser3) {

ser3 ++; } else {ser3--; }

if (največ ser3) {

increment_ser3 = false; }

servo5.write (ser3);

if (increment_ser4) {

ser4 ++; } else {ser4--; }

if (največ ser4) {

increment_ser4 = false; }

servo7.write (ser4);

zamuda (6);

}

7. korak: Zaključek

Zaključek
Zaključek
Zaključek
Zaključek

Mislim, da ta robot izgleda zelo dobro. Želel sem narediti kačjega robota, a končno sem naredil nekaj, kar je podobno črvu. Deluje pa zelo lepo. Če imate kakršna koli vprašanja, pustite komentar ali mi pišite na: [email protected]

o tem robotu lahko preberete tudi tukaj na moji spletni strani (v poljščini):

nikodembartnik.pl/post.php?id=3

Ta robot je osvojil prvo nagrado na festivalu robotov v Chorzówu v kategoriji prosti slog.

Natečaj robotike 2016
Natečaj robotike 2016
Natečaj robotike 2016
Natečaj robotike 2016

Druga nagrada na tekmovanju robotike 2016