Sommario:

Robot serpente stampato in 3D: 7 passaggi (con immagini)
Robot serpente stampato in 3D: 7 passaggi (con immagini)

Video: Robot serpente stampato in 3D: 7 passaggi (con immagini)

Video: Robot serpente stampato in 3D: 7 passaggi (con immagini)
Video: Valuto i vostri disegni, singolo Pt: 6 2024, Dicembre
Anonim
Image
Image
Parti
Parti

Quando ho ricevuto la mia stampante 3D ho iniziato a pensare a cosa posso fare con essa. Ho stampato molte cose, ma volevo realizzare un'intera costruzione utilizzando la stampa 3D. Poi ho pensato di realizzare un animale robot. La mia prima idea è stata quella di creare un cane o un ragno, ma molte persone hanno già realizzato cani e ragni. Stavo pensando a qualcosa di diverso e poi ho pensato al serpente. Ho progettato l'intero serpente in fusion360 e sembrava fantastico, quindi ho ordinato le parti necessarie e ne ho costruito uno. Penso che il risultato sia ottimo. Nel video qui sopra puoi vedere come l'ho realizzato o puoi leggerlo qui sotto.

Passaggio 1: parti

Parti
Parti
Parti
Parti

Ecco di cosa avremo bisogno:

  • 8 Micro servomotori
  • Alcune parti stampate in 3D
  • viti
  • Batteria Li-Po da 3, 7V
  • Alcune parti per realizzare PCB (atmega328 SMD, condensatore 100nF, condensatore 470μF, resistore 1, 2k, alcuni pin d'oro). È molto importante realizzare PCB per questo progetto perché quando colleghi tutto sulla breadboard, il tuo serpente non sarebbe in grado di muoversi.

Passaggio 2: modelli 3D

Modelli 3D
Modelli 3D

Sopra puoi vedere la visualizzazione di questo serpente. File (.stl) che puoi scaricare qui o sul mio whativerse. Alcune informazioni sulle impostazioni per la stampa:

Per la stampa di segmenti e testa consiglio di aggiungere raft. I supporti non sono necessari per tutti gli oggetti. Il riempimento non è così importante perché tutti i modelli sono molto sottili e ci sono quasi solo perimetri ma io uso il 20%.

Hai bisogno:

8x segmento_serpente

1x testa di serpente

1x snake_back

Passaggio 3: PCB

PCB
PCB

Di seguito puoi trovare i file eagle (.sch e.brd) basta scaricarli aprirli in eagle vai alla visualizzazione della bacheca fai clic su ctrl + p e stampalo. Se non sai come realizzare PCB, puoi leggerlo qui:

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

Sullo schema è scritto che il microcontrollore è atmega8 ma è atmega328 ha lo stesso pinout ma non c'è atmega328 in eagle.

Passaggio 4: assemblaggio

Assemblaggio
Assemblaggio

Dopo aver stampato tutte le parti è possibile assemblarle insieme. Posizionare il servo in uno dei segmenti, avvitarlo al segmento con la vite M2 e quindi avvitare il segmento successivo al braccio del servo. Se non sai come assemblarlo puoi guardare il video.

Passaggio 5: connessione

Connessione
Connessione

Nella foto sopra puoi vedere dove e cosa collegare. Ho anche segnato dove si trova il pin MISO, MOSI e SCK in cui hai bisogno di questo pin per masterizzare il bootloader. Maggiori informazioni sulla masterizzazione del bootloader che puoi leggere sulla pagina ufficiale di Arduino qui:

www.arduino.cc/en/Tutorial/ArduinoToBreadboard

Hai bisogno di un programmatore o di un altro arduino per masterizzarlo. Dopo la masterizzazione puoi programmarlo utilizzando il convertitore USB-UART o lo stesso programmatore che usi per masterizzare il bootloader.

Dopo aver caricato il programma è possibile collegare il servo alla scheda. L'ultimo servo (alla fine del serpente) è il servo 1 e il servo 8 è il più vicino alla testa del serpente.

Non c'è alcuno stabilizzatore sulla scheda, quindi la tensione massima che puoi collegare è 5V.

Atmega così come i servomotori funzioneranno con 3,7V Li-Po e consiglio di usarlo per questo progetto perché è molto piccolo e molto potente. Puoi trovarlo nel vecchio giocattolo RC (ho trovato il mio nel vecchio elicottero RC).

Ho aggiunto alla scheda i pin RX e TX per la programmazione ma anche per future espansioni, qui puoi collegare sensori o ad es. modulo bluetooth.

Passaggio 6: programma

Il programma utilizza la libreria servo software per controllare 8 servi contemporaneamente. È semplicemente aumentare e diminuire la posizione del servo con un piccolo spostamento per imitare l'onda. Grazie a questa mossa sembra un verme ma si muove anche in modo più efficiente.

Se lo desideri, puoi modificare il ritardo alla fine del ciclo. Questo ritardo controlla la velocità del serpente. Quindi, se dai un valore più piccolo, si sposterà più velocemente, valore più alto = si sposterà più lentamente. Ho dato 6 perché questa è la velocità più alta alla quale il serpente non si ribalta. Ma puoi sperimentare con questo.

Puoi anche modificare il valore massimo e minimo per aumentare i movimenti.

#includere

SoftwareServo servo1, servo2, servo3, servo4, servo5, servo6, servo7, servo8;

int b_pos, c_pos, d_pos, e_pos; comando stringa; int differenza = 30; int angolo1 = 90; int angolo2 = 150;

int ser1 = 30;

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

int minimo = 40;

int massimo = 170;

bool incremento_ser1 = vero;

bool incremento_ser2 = vero; bool increment_ser3 = vero; bool increment_ser4 = vero;

bool increment_ser5 = vero;

int ser5 = 90;

bool increment_ser6 = vero;

int ser6 = 90;

void setup() {

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

servo1.write(90);

servo2.write(130); servo3.write(90); servo4.write(100); servo5.write(90); servo6.write(90); servo7.write(90); servo8.write(90);

}

ciclo vuoto() {

inoltrare(); SoftwareServo::refresh(); }

void forward(){

if(increment_ser1){

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

if(ser1 massimo){

incremento_ser1 = falso; }

servo1.write(ser1);

if(increment_ser2){

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

if(ser2 massimo){

incremento_ser2 = falso; }

servo3.write(ser2);

if(increment_ser3){

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

if(ser3 massimo){

incremento_ser3 = falso; }

servo5.write(ser3);

if(increment_ser4){

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

if(ser4 massimo){

incremento_ser4 = falso; }

servo7.write(ser4);

ritardo(6);

}

Passaggio 7: conclusione

Conclusione
Conclusione
Conclusione
Conclusione

Penso che questo robot abbia un bell'aspetto. Volevo creare un robot serpente, ma alla fine ho realizzato qualcosa che assomiglia a un verme. Ma funziona molto bene. Se hai domande lascia un commento o scrivimi: [email protected]

puoi anche leggere di questo robot qui sul mio sito web (in polacco):

nikodembartnik.pl/post.php?id=3

Questo robot ha vinto il primo premio al Robots Festival di Chorzów nella categoria freestyle.

Concorso Robotica 2016
Concorso Robotica 2016
Concorso Robotica 2016
Concorso Robotica 2016

Secondo Premio al Concorso Robotica 2016

Consigliato: