Table des matières:

Robot serpent imprimé en 3D : 7 étapes (avec photos)
Robot serpent imprimé en 3D : 7 étapes (avec photos)

Vidéo: Robot serpent imprimé en 3D : 7 étapes (avec photos)

Vidéo: Robot serpent imprimé en 3D : 7 étapes (avec photos)
Vidéo: La Vérité sur les Maisons Imprimées en 3D 2024, Novembre
Anonim
Image
Image
les pièces
les pièces

Quand j'ai eu mon imprimante 3D, j'ai commencé à penser à ce que je pouvais faire avec. J'ai imprimé beaucoup de choses mais je voulais faire toute une construction en utilisant l'impression 3D. Puis j'ai pensé à faire un animal robot. Ma première idée était de faire un chien ou une araignée, mais beaucoup de gens ont déjà fait des chiens et des araignées. Je pensais à quelque chose de différent, puis j'ai pensé au serpent. J'ai conçu un serpent entier dans fusion360, et il avait l'air génial, alors j'ai commandé les pièces nécessaires et en ai construit un. Je pense que le résultat est super. Sur la vidéo ci-dessus, vous pouvez voir comment je l'ai fait ou vous pouvez lire à ce sujet ci-dessous.

Étape 1: Pièces

les pièces
les pièces
les pièces
les pièces

Voici ce dont nous aurons besoin:

  • 8 micro servomoteurs
  • Quelques pièces imprimées en 3D
  • Des vis
  • 3, 7V batterie li-po
  • Quelques pièces pour faire PCB (atmega328 SMD, condensateur 100nF, condensateur 470μF, résistance 1, 2k, quelques goldpins). Il est très important de créer un PCB pour ce projet car lorsque vous connectez tout sur la maquette, votre serpent ne pourra pas se déplacer.

Étape 2: modèles 3D

Modèles 3D
Modèles 3D

Ci-dessus, vous pouvez voir la visualisation de ce serpent. Fichiers (.stl) que vous pouvez télécharger ici ou sur mon univers. Quelques informations sur les paramètres d'impression:

Pour l'impression des segments et de la tête, je recommande d'ajouter un radeau. Les supports sont inutiles pour tous les objets. Le remplissage n'est pas si important car tous les modèles sont très fins et il n'y a presque que des périmètres mais j'utilise 20%.

Vous avez besoin:

8x segment_serpent

1x tête de serpent

1x snake_back

Étape 3: PCB

PCB
PCB

Ci-dessous, vous pouvez trouver des fichiers eagle (.sch et.brd), il suffit de les télécharger ouverts dans eagle aller à la vue du tableau, de cliquer sur ctrl + p et de l'imprimer. Si vous ne savez pas comment faire des PCB, vous pouvez en apprendre plus ici:

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

Sur le schéma est écrit que le microcontrôleur est atmega8 mais c'est atmega328 il a le même brochage mais il n'y a pas d'atmega328 dans eagle.

Étape 4: Assemblage

Assemblage
Assemblage

Après avoir imprimé toutes les pièces, vous pouvez les assembler. Placez le servo dans l'un des segments, vissez-le au segment avec la vis M2, puis vissez le segment suivant sur le bras du servo. Si vous ne savez pas comment l'assembler, vous pouvez regarder la vidéo.

Étape 5: Connexion

Lien
Lien

Sur la photo ci-dessus, vous pouvez voir où et quoi connecter. J'ai également marqué où se trouvent les broches MISO, MOSI et SCK. Vous avez besoin de cette broche pour graver le chargeur de démarrage. En savoir plus sur la gravure du chargeur de démarrage, vous pouvez lire sur la page officielle arduino ici:

www.arduino.cc/en/Tutorial/ArduinoToBreadboard

Vous avez besoin d'un programmeur ou d'un autre arduino pour le graver. Après la gravure, vous pouvez le programmer à l'aide du convertisseur USB-UART ou du même programmeur que celui que vous utilisez pour graver le chargeur de démarrage.

Après avoir téléchargé le programme, vous pouvez connecter le servo à la carte. Le dernier servo (au bout du serpent) est le servo 1 et le servo 8 est le plus proche de la tête du serpent.

Il n'y a pas de stabilisateur sur la carte, donc la tension maximale que vous pouvez y connecter est de 5V.

Atmega ainsi que les servomoteurs fonctionneront avec 3, 7V Li-Po et je recommande de l'utiliser pour ce projet car il est très petit et très puissant. Vous pouvez le trouver dans un vieux jouet RC (j'ai trouvé mon dans un vieil hélicoptère RC).

J'ai ajouté à la carte les broches RX et TX pour la programmation mais aussi pour une extension future, vous pouvez vous connecter ici à des capteurs ou par ex. module bluetooth.

Étape 6: programmer

Le programme utilise une bibliothèque de servos logiciels pour contrôler 8 servos à la fois. Il s'agit simplement d'incrémenter et de décrémenter la position du servo avec un petit décalage pour imiter la vague. Grâce à ce mouvement, il ressemble à un ver mais se déplace également plus efficacement.

Si vous le souhaitez, vous pouvez modifier le délai à la fin de la boucle. Ce délai contrôle la vitesse du serpent. Donc, si vous donnez une valeur plus petite, il se déplacera plus rapidement, une valeur plus élevée = se déplacera plus lentement. J'ai donné 6 parce que c'est la vitesse la plus élevée à laquelle le serpent ne se retourne pas. Mais vous pouvez expérimenter cela.

Vous pouvez également modifier les valeurs maximale et minimale pour agrandir les mouvements.

#comprendre

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

int b_pos, c_pos, d_pos, e_pos; Commande de chaîne; différence int = 30; int angle1 = 90; int angle2 = 150;

int ser1 = 30;

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

int minimum = 40;

entier maximum = 170;

bool increment_ser1 = vrai;

bool increment_ser2 = vrai; bool increment_ser3 = vrai; bool increment_ser4 = vrai;

bool increment_ser5 = vrai;

int ser5 = 90;

bool increment_ser6 = vrai;

int ser6 = 90;

void setup() {

Serial.begin(9600); servo1.attach(3); servo2.attache(5); servo3.attache(6); servo4.attach(9); servo5.attach(10); servo6.attache(11); servo7.attache(12); servo8.attache(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);

}

boucle vide() {

effronté(); SoftwareServo::refresh(); }

annuler vers l'avant (){

if(increment_ser1){

ser1++; }autre{ ser1--; }

si(ser1 maximum){

increment_ser1 = faux; }

servo1.write(ser1);

if(increment_ser2){

ser2++; }autre{ ser2--; }

si(ser2 maximum){

increment_ser2 = faux; }

servo3.write(ser2);

if(increment_ser3){

ser3++; }autre{ ser3--; }

si(ser3 maximum){

increment_ser3 = faux; }

servo5.write(ser3);

if(increment_ser4){

ser4++; }autre{ ser4--; }

si (ser4 maximum){

increment_ser4 = faux; }

servo7.write(ser4);

délai(6);

}

Étape 7: Conclusion

Conclusion
Conclusion
Conclusion
Conclusion

Je pense que ce robot a l'air très bien. Je voulais faire un robot serpent mais finalement j'ai fait quelque chose qui ressemble à un ver. Mais fonctionne très bien. Si vous avez des questions laissez un commentaire ou écrivez-moi: [email protected]

vous pouvez également lire sur ce robot ici sur mon site Web (en polonais):

nikodembartnik.pl/post.php?id=3

Ce robot a remporté le premier prix au Robots Festival de Chorzów dans la catégorie freestyle.

Concours de Robotique 2016
Concours de Robotique 2016
Concours de Robotique 2016
Concours de Robotique 2016

Deuxième Prix du Concours de Robotique 2016

Conseillé: