Trophées 2015

De Wiki du ThiLab
Révision datée du 3 juin 2015 à 21:59 par Pmorel (discussion | contributions) (→‎Difficultés rencontrées)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

Description

Ce projet s'inscrit dans la compétition nommée Technobot2 ou Technobot Open et Supérieur. Les membres de l'association TechTic&Co en charge de la compétition ont demandé au Thilab de concevoir des trophées à remettre aux vainqueurs. L'appel à projet n'ayant pas soulevé un enthousiasme débordant c'est l'unique projet proposé qui a été retenu ;-).

Guide de montage

Ceux qui ont reçu le trophée en Kit peuvent suivre la notice de montage

Contributeur(s)

PMorel

Licence

GPL v3

Fichiers

Inspiration

Etat

Fonctionnel

Ingrédients

  • Plastique
  • Bois

Savoirs-faire nécessaire

  • Modélisation 3D
    • Sketchup
    • OpenScad
  • Impression 3D
    • Cura / Repetier
  • Découpe Laser
  • Dessin véctoriel 2D

Logiciels requis

  • Inkscape
  • OpenSCAD
  • Sketchup
  • QCAD
  • Cura

Réalisation

Le trophées a été tout d'abord modélisé avec Sketchup pour obtenir rapidement un visuel et une idée des dimensions des différentes parties. Par la suite il a fallu résoudre une certain nombre de problèmes pour :

  • que les différentes roues soient de la bonne taille,
  • trouver un système de fixation qui tienne la roue sans l'empêcher de tourner
  • éviter qu'il y ait du jeu dans les roues ce qui provoquerait des ratés dans la rotation du train d'engrenage
  • dessiner les pièces de bois de la base et de la hampe de façon à ce que tout tienne sans colle ni vis
  • limiter la surface de contact entre la roue et le support en bois pour gêner le moins possible la rotation

Le modèle Sketchup a permis de déterminer la taille du trophée et sa forme générale. Il a également permis, une fois le train d'engrenage modélisé, de déterminer la position des roues sur la hampe. Il ne fallait pas que les roues d'une face entrent en contact avec celles des autres faces ou avec celle située en haut du trophée ou encore avec la surface de la base du trophée.

Pas à Pas

Modélisation générale

La modélisation avec Sketchup n'a pas posé de problème particulier. A l'origine la base était rectangulaire avec des bords arrondis. Image1

C'est seulement par le suite, pour plus d'originalité, que j'ai opté pour la forme finale. Dans le premier projet la rotation de l'ensemble était délenchée par une roue située sur le côté droit de la base. Image2

Suite aux problèmes rencontrés avec la mise en place des roues et la force nécessaire pour faire tourner les roues sur trois faces de la hampe et sur le dessus j'ai décidé de supprimer les deux angles de 90 degrés supplémentaires que nécessitait mon idée originale. J'ai le sentiment (non vérifié par l'expérience) que les forces exercées par ces roues supplémentaires auraient nécessité de coller la hampe et la base ensemble sans quoi la hampe aurait été poussée vers le haut et aurait donc fini par sortir de son emplacement.

Les engrenages

Le plus gros problème à résoudre était la modélisation des engrenages. Partant de zéro dans ce domaine j'ai un peu cherché les outils open source/libres/gratuits permettant de simuler un ensemble d'engrenage. Ne trouvant rien je pensais faire des engrenages avec des simples dents droites mais mes tentatives de modélisation et mes premières impressions 3D m'ont rapidement fait comprendre que la géométrie des dents avait une importance capitale pour le bon fonctionnement de l'engrenage. Par chance j'ai découvert (grâce à un lien publié par le Graoulab sur son compte Tweebook) l'existence de l'application javascript Gear Generator qui se propose de simuler un train d'engrenage avec la possibilité de spécifier le nombre et la taille des dents. Il est même possible de combiner deux roues de tailles différentes pour faire le lien entre deux engrenages de types différents. Une fois l'ensemble de roues créé cette application permet de télécharger le dessin au format SVG roue par roue. Voici le lien vers mon ensemble de roues Image3

Restait à trouver une solution pour utiliser le SVG comme base de la modélisation 3D. L'importation de SVG/DXF dans la version gratuite de Sketchup (Version 2015) n'étant pas possible nativement et les plugins laissant à désirer je me suis tourné vers OpenScad. J'avais une première expérience d'OpenScad suite à la création de pièces pour EasyShelves et il me semblait le mieux adapté à la modélisation précise que nécessitait ce projet. OpenScad permet de maîtriser facilement les dimensions et de modifier facilement l'échelle des roues en fonction des besoins. Il permet également de combiner des objets assez simplement et les fichiers STL générés sont en principe "étanches" ce qui est particulièrement important pour l'impression 3D.

Pour passer d'un fichier SVG à un format utilisable dans OpenScad il y a deux solutions :

  • Générer un DXF et l'importer dans OpenScad. Dans ce cas il faut conserver un fichier source par roue et créer un fichier OpenScad qui fait l'import et les ajouts nécessaires à la modélisation des roues (Axe central permettant la fixation etc).
  • Générer un fichier OpenScad avec le plugin Inkscape "Paths to OpenScad". Dans ce cas on obtient un fichier OpenScad qui contient la liste des points et des segments à dessiner pour créer la roue.

C'est cette dernière solution que j'ai retenue. Principalement parce qu'elle est fiable et rapide. Il suffit juste de supprimer les éléments inutiles dans le SVG généré par l'application Gear Generator puis de faire un export vers OpenScad.

Cette étape terminée il fallait trouver la meilleure solution pour fixer les roues sur la structure en bois. Comme je m'étais mis comme contrainte de n'utiliser ni vis, ni boulon, ni colle ni objet manufacturé extérieur au fablab j'ai fait des recherches sur Thingiverse de projets ressemblant ou ayant au moins le même genre de contrainte. J'ai trouvé le projet "Spider Rover" qui utilise des petites rondelles pour fixer ensemble les différentes parties du robot. Le problème avec ces rondelles était le manque de flexibilité qui faisait qu'une fois sur deux la rondelle cassait en la mettant ou en l'enlevant. J'ai donc créé un nouveau type de rondelle plus haute et avec des échancrures qui permettent d'avoir une certain flexibilité et un taux de rupture beaucoup plus faible. Image4

L'autre point était le frottement de la roue sur le bois. Au départ je pensais ajouter une sorte de demi-tore assez épais. Les premiers essais m'ont amené à revoir ma position et à rapprocher au maximum les roues de la structure car il est très important de limiter le jeu et d'éviter que les roues puissent partir en biais pendant la rotation. Les roues définitives sont donc très proches du support et le contact se fait juste sur un mince cercle le plus proche possible des dents de la roue Image5

Création de la boîte

Lorsque j'ai commencé la modlisation de la boîte mes connaissances en découpe laser étaient assez limitées. Je suis donc parti sur l'utilisation de contre-plaqué de 5mm sans même savoir si j'en trouverais facilement ou si c'était le meilleur choix. A l'origine la ceinture flexible qui permet de tenir la boîte était elle aussi en 5mm. Les premières découpes et les premières tentatives de montage ont montré que même en plongeant le bois dans l'eau chaude, plier cette épaisseur de bois n'est pas simple. La moindre erreur lors du montage fait rompre le bois. Après quelques tests je suis parti sur une ceinture en MDF de 3mm. Le MDF a l'avantage d'arriver en plaques planes (pas comme le contre plaqué) et sa structure supporte mieux la courbure.

Pour obtenir un DXF utilisable pour la découpe, je suis parti de ma modélisation Sketchup et j'ai utilisé un plugin qui permet d'exporter une face au format SVG. Ceci fait, avec Inkscape j'ai ajouté manuellement les dents nécessaires pour faire tenir la ceinture et former la boite. Grâce aux outils de Sketchup j'ai pu calculer la longueur du périmètre et dessiner la ceinture toujours dans Inkscape. A l'origine il y avait sur la ceinture un trou pour fixer la roue destinée à faire tourner l'ensemble. Lors de la simplification du mécanisme j'ai supprimé ce trou.

Au départ la hampe devait reposer sur le dessus de la base mais il m'a semblé par la suite plus judicieux de faire tenir la hampe sur le fond de la base et d'utiliser la haut de la base pour la bloquer et éviter que les manipulations du trophées provoquent une chute de l'ensemble.

Au final le dessin SVG de la base est la seule partie qui est issue de la modélisation Sketchup. Tout le reste a été refait dans OpenScad.

Il est à noter que je n'ai pas pris en considération le "kerf" pour la base. En effet j'ai constaté dès les premières découpes que si la ceinture est de la bonne taille (c'est à dire un peu plus petite que le périmètre réel) alors le simple fait de forcer légèrement et d'étirer les parties flexibles permet de maintenir le tout en place. Avoir des dents trop ajustées sur cette partie aurait compliqué le montage et provoqué des ruptures fréquentes de la ceinture en raison des forces à appliquer sur la pièce lors du montage.

Pour terminer la ceinture s'est vue agrémentée de l'année de la compétition, d'un lien vers le wiki et d'un QRCode renvoyant vers la page dédiée au montage du trophées sur ce wiki. Le QRCode n'est pas très facile à lire, il faut se placer dans des bonnes conditions d'éclairage et trouver le bon angle entre l'objectif de l'appareil photo et la ceinture. La gravure du QRCode a nécessité quelques tests pour trouver la bonne puissance de gravure et la bonne taille.

Finalisation

J'ai bataillé longuement pour placer correctement les roues tout autour de la hampe de façon à ce que la rotation se fasse avec un maximum de fluidité. Ayant fait toutes mes impressions avec ma Foldarap (min 750g de filament utilisé) j'ai du faire face au problème de calibration de mon imprimante et me rendre à l'évidence (mais un peu tard) que j'imprimais des formes plus ovales que rondes ... et les engrenages ovales ça ne fonctionne pas bien. Une fois passé sur la Witbox j'ai obtenu des roues parfaitement rondes et donc fonctionnelles. Il fut alors plus facile de placer les roues au bon endroit. Le problème c'est que certaines de mes roues ont des dents relativement fines et donc sensibles au millimètre à la distance entre les centres des roues. Or il est très chronophage de placer et déplacer les trous dans Inkscape ou dans QCAD. J'ai donc fini par refaire l'ensemble de la hampe dans OpenScad. Pourquoi ?

  1. OpenScad permet de paramétrer toutes les valeurs
  2. Je n'ai pas trouvé de logiciel de dessin 2D qui permet de définir mathématiquement un objet
  3. Il est particulièrement fatiguant de définir et régler la largeur du rayon laser dans Inkscape ou QCAD (cf Kerf)
  4. OpenScad permet d'exporter un dessin 2D (basé uniquement sur les primitives 2D : cercle, carré, polygon ...) en DXF ce qui est idéal pour la découpe laser
Dessiner les dents des boîtes dans OpenScad

Pour dessiner les pièces de la hampe dans OpenScad j'ai tout d'abord dessiné un rectangle de la taille d'une face (mesurée via QCAD). A partir de là j'ai fait une différence entre ce rectangle et une simple boucle qui dessine les dents tous les X cm. L'ensemble est paramétrable et donc réutilisable pour d'autres projets. La taille des dents du carré qui ferme la hampe est indépendante de la taille des autres dents. Pour choisir la taille des différentes dents j'ai fait des tests avec les différentes valeurs pour trouver la combinaison pour laquelle les dents du haut n'interfèrent pas avec les dents du côté.

Toujours dans OpenScad j'ai défini trois tableaux de vecteurs qui indiquent les positions des différentes roues par rapport au coin supérieur gauche de chaque face. A partir de là le positionnement se fait en modifiant juste les coordonnées des centres et le réglage très précis des roues est beaucoup plus aisé. Il faut noter que QCAD permet un positionnement par coordonnées mais il faut à chaque fois positionner le référentiel au bon endroit sur la face puis déplacer l'objet ... c'est beaucoup plus rapide avec OpenScad.

L'autre point intéressant avec OpenScad c'est qu'en ajoutant un simple petit paramètre dans le module qui dessine les dents de la boite il est possible de prendre en compte le Kerf (la quantité de bois enlevée par le rayon laser). Ceci m'a permis de tester plusieurs valeurs facilement et de retenir celle qui permet à la boite de tenir sans colle tout en permettant le montage sans limer ni forcer trop. Voir le chapitre Kerf ci-dessous.

le Kerf

Le Kerf est un terme anglais qui désigne la quantité de matière enlevée par un outil lors de la coupe (dents de la scie, fraise d'une CNC ou rayon laser dans le cas de la découpeuse). Le principe des logiciels qui pilotent les machines est de découper sur le trait défini dans le logiciel de dessin. De ce fait il faut retirer la moitié de la largeur du trait de coupe à toutes les cotes. Ceci a en général peu d'impact mais dans le cas des boites réalisées par emboitement ce petit jeu causé par le Kerf fait que les morceaux de bois ne tiennent pas naturellement ensemble. Il faut ajouter de la colle. En tenant compte de la largeur de coupe lors de la conception on peut obtenir des boites parfaitement ajustées et qui tiennent donc sans colle ni vis ni pointe.

Liste du matériel

  • Contre-plaqué de 5mm
  • MDF de 3mm
  • PLA

Machines utilisées

Imprimante 3D :

  • Foldarap (prototypage)
  • Witbox (finalisation)

Découpeuse laser

Difficultés rencontrées

Boîte en bois=

  1. Gestion du Kerf
  2. Passage de Sketchup vers Inkscape / QCAD
  3. Découpe du contreplaqué : chaque bois a ses propres caractéristiques et deux contreplaqués de 5 mm mais d'essences différentes ne se découpent pas à la même vitesse ni à la même puissance
  4. Planéité du contreplaqué ... difficile de trouver du contreplaqué bien plan
  5. Flexibilité du contreplaqué de 5mm ... a nécessité le passage au MDF de 3mm

Roues dentées

  1. Trouver un outil pour les générer : l'Outil en ligne Gear generator m'a permis de le faire ... sans lui le travail aurait été très compliqué
  2. Système de fixation sur le bois : trop lâche et les roues oscillent trop et ne font pas contact et trop serré ça ne tourne plus. Pas assez flexible et il y a rupture de l'attache. L'axe des roues a subit également plusieurs modifications. Au départ il ne devait pas y avoir de rondelle pour fixer les roues. Je pensais qu'il était possible de créer un système clipsable basé sur 4 petits parties flexibles. Ce système s'est révélé trop fragile et toute tentative d'insertion provoquait une rupture. De plus cela donnait trop de jeu à la roue qui pouvait osciller librement lors de la rotation.
  3. Epaisseur des roues : Au départ les roues devaient faire 1 mm d'épaisseur, après les premiers tests j'ai augmenté très sensiblement l'épaisseur pour permettre un contact entre les roues plus franc et moins sensibles au jeu entre les roues.
  4. Surface de contact sur le bois : trop de frottement = problème de rotation. Il a fallu trouver la bonne géométrie pour le point de contact
  5. Transfert du mouvement à 90 degré : le transfert du mouvement entre deux faces perpendiculaire est assez complexe car il faut que les roues soient suffisamment grandes pour que le contact se fasse sans que les axes qui tiennent la roue dans le bois ne rentrent en contact (ainsi que les rondelles de fixation). J'ai décidé d'utiliser un seul modèle de roue pour toutes les faces pour ne pas rajouter une complexité supplémentaire. Les axes de ces roues sont situés sur une ligne parallèle à la base.
  6. Roue qui supporte le robot : cette roue est la seule à utiliser cette géométrie. J'ai utilisé une librairie libre trouvée sur Thingiverse pour la générer. Lien vers Thingiverse. Il fallait qu'elle soit assez grande pour envelopper le dessus de la hampe et qu'elle soit à la bonne hauteur pour faire le lien avec la roue de la face de la hampe. Le lien ne pouvait se faire qu'au milieu de la face et donc au point le plus éloigné de la face (égal au rayon du cercle de la roue du dessus). C'est ce qui explique la forme particulière de la dernière roue de liaison.

Suite du projet

Photos

Sources, liens et références

  • lien vers la discussion du forum