Mot-clé - ultimaker

Fil des billets - Fil des commentaires

Vendredi, décembre 20 2013

Impressions multi-matériaux avec un seul extrudeur

Imprimer directement en plusieurs couleurs peut vraiment être intéressant, par exemple, pour intégrer des pictogrammes informatifs sur la face d'un objet ou simplement dans un but purement décoratif.

Ultimaker propose un kit permettant d'imprimer en 2 couleurs (ou 2 filaments de matériaux différents) mais les retours sur les forums ne m'ont pas convaincus de l'acheter, je pense au final que le ratio coût / intérêt n'est pas vraiment bon lorsque l'on s'en sert uniquement pour du multi couleurs, l'intérêt est bien plus grand pour de l'impression multi-matériaux (support en PVA par exemple).

Je vais vous expliquer 2 méthodes qui vous permettront de passer à l'impression multi couleur avec un seul extrudeur.

Notez que cet article tourne autour de l'Ultimaker et de son slicer Cura mais il est tout à fait possible d'adapter cette solution à toute RepRap.

Avec le plugin Cura : PauseAtZ

En utilisant le plugin fourni avec Cura PauseAtZ qui permet, comme son nom l'indique, de stopper l'impression à une certaine hauteur, de parker la tête afin de changer le filament et ensuite de relancer l'impression avec le nouveau filament.

Le principal problème de cette technique est qu'il ne permet pas à une couche d'avoir plusieurs couleurs, rien de vraiment nouveau avec cette méthode...

Feinter le slicer : PauseAtExtruderChange

Dans cette méthode, on va utiliser Cura exactement comme si nous avions le kit de double extrusion, et allons dire à Cura de slicer comme tel. C'est par la suite que nous allons lire le GCode et remplacer l'instruction de changement de tête (Tx) par des instructions permettant de parker la tête le temps d'effectuer le changement de filament.

Voici les étapes exactes :

  1. Parker le Z
  2. Déplacer la tête en X, Y à la position de parkage
  3. Stopper le ventilateur
  4. Attendre une action de l'utilisateur (nécessite un ulticontrolleur TODO)
  5. Restaurer la position X, Y
  6. Redémarrer le ventilateur
  7. Restaurer le Z

Nous pourrions également utiliser le G-Code M600 mais il s'agit d'une instruction en test qui n'est pas inclut par défaut dans tous les firmware et l'utilisation de nos propres instructions nous permet de faire exactement ce que l'on souhaite...

En pratique

1. Installez le plugin Cura PauseAtExtruderChange, (déposez simplement le fichier PauseAtExtruderChange.py dans le dossier ~/.cura/VERSION/plugins)

2. Créons un nouveau profil d'imprimante : File > Machine setting > Add new machine, dans le panel Extruder 2, on s'assure que Offset X et Offset Y soit égal à 0 comme dans l'image ci-dessous :
Cura - Machine settings

3. Importez vos fichiers stl, précisez à Cura que vous souhaitez les fusionner pour faire de la double extrusion (sélectionnez le premier objet d'un clique gauche, puis, bouton droit sur le second objet et cliquez sur Dual extrusion merge)

4. Ajoutez le plugin, modifiez les paramètres tel que vous le souhaitez et vous voilà avec votre fichier G-Code modifié

5. Lancez l'impression et l'imprimante vous signalera chaque changement de couleur, il vous restera alors à changer le filament, valider le changement auprès de l'imprimante, l'impression reprendra alors exactement oû elle avait été arrêtée mais avec un autre filament.

Note: Vous pouvez aussi utiliser le fichier python directement en ligne de commande : python PauseAtExtruderChange.py file.gcode > out.gcode (python PauseAtExtruderChange.py -h pour avoir de l'aide)

Voilà ce qu'il est possible de faire très simplement :

Vous voilà maintenant capable d'imprimer en multi couleur d'une manière un peu plus évoluée qu'avec PauseAtZ, néanmoins, l'utilisation de PauseAtExtruderChange ne sera intéressante que pour des impressions ou le nombre de changement de couleur par couche est faible sinon, vous risquez de passer votre temps à changer de filament...

Lundi, novembre 4 2013

Nouvelle mise à jour sur l'Ultimaker

Cela fait un bon bout de temps que je n'avais pas écrit d'article sur l'Ultimaker, il faut dire qu'elle fonctionne parfaitement bien et que je n'ai plus à me préoccuper des réglages et autres et je me focalise depuis quelques mois sur d'autres projets qui en dépendent complètement dont Bleuette ou LeMurmureDuSon.

Extracteur d'air

En suite direct avec l'article Extracteur de fumées fait soi-même, voici l'adaptation pour Ultimaker qui vous permettra d'absorber les mauvaises odeurs très présentes lors d'impression avec de l'ABS avec toutes les particules que vous vous apprêtiez à respirer...

scad.png 2013-11-03_19.48.03.jpg 2013-11-03_19.48.17.jpg 2013-11-03_19.48.41.jpg

Les sources OpenScad sont disponibles par ici : https://github.com/hugokernel/OpenSCAD_Things/tree/master/ActiveCarbonExtractor

Une nouvelle tête

Le remplacement du système de maintien du tube par le Bowden Clamp v2 m'a été très utile pour l'utilisation de PLA de qualité médiocre et s'est avérée assez fiable dans le temps mais ce n'était pas parfait, le bouchon fini par se déformé et quand ça force de trop, le tube fini tout de même par glisser vers le haut...

Au cours d'une discussion sur le forum d'Ultimaker, j'ai décidé de suivre le conseil de Gaël et de m'orienter vers des raccords rapides pneumatique, une petite recherche sur le net et les voilà commandés (LOT5 One Touch Hex Socket Male Connector 6mm 1/8" thread Replace SMC KQ2S06-01S).

Attention, les attaches rapides du lien Ebay ci-dessus ne permettent pas de faire traverser complètement le tube, mais pas de souci, un coup de perceuse suffisamment précis (prenez garde à ne pas abîmer la partie mobile à l'intérieur) et le tube passe sans problème, si vous connaissez une source pour des raccords pneumatiques de diamètre 6mm traversant, je suis preneur.

Agrandissement du trou en 6mm

Un petit tour par OpenSCAD et nous voilà avec la pièce qui servira de support à nos attaches rapides (oui, au pluriel, en cas de double extrusion...), et vous remarquerez les emplacements pour les écrous M3 :
Bowden Clamp v3 Le support vu du dessous

Les attaches rapides vissées sur leur support, c'est prêt à être monté...
Le support imprimé avec les 2 raccords rapides

Cela fait une dizaine de jour que je teste ce système de maintien et pas le moindre problème pour le moment...

Tous les sources OpenSCAD sont sur github : https://github.com/hugokernel/OpenSCAD_Things/tree/master/Bowden%20Clamp%20v3

Mise à jour du micrologiciel Marlin

J'utilise énormément la fonction suicide sur l'Ultimaker qui permet l'arrêt complet une fois l'impression finie (voir Carte de suicide pour RepRap).

Le principe est simple, lors de la construction du fichier G-Code, on ajoute à la fin de ce dernier le G-Code M81, il va permettre une fois lu de basculer la sortie correspondante dans un état qui coupera alors l'arrivée en énergie de l'imprimante.

Il est possible de débrayer cette fonctionnalité à l'aide d'un interrupteur qui, s'il est ouvert, empêchera toute mise en veille mais, et c'est là que le problème pointe le bout de son nez : une fois la sortie suicide basculé dans l'état de veille, il n'est plus possible d'en sortir et donc d'activer la fonction de suicide pour une nouvelle impression sans que l'imprimante ne s'éteigne immédiatement.

C'est l'objet d'un commit qui vient combler ce problème.

Support pour ventilateur

J'ai profité de la maintenance de mon Ultimaker pour changer la buse / support de ventilateur par le Tapir Shroud (Thing:107413).

La buse en PLA étant très proche du corps chauffant, pour la protéger, je l'ai recouverte de scotch aluminium.

TapirShroudv4.9_0.jpg TapirShroudv4.9_1.jpg

Très bonne buse qu'il faudra malheureusement modifier en cas de double extrusion...

Jeudi, février 14 2013

Carte de suicide pour Reprap

Jusqu'à maintenant, j'utilisais une alimentation séparée de celle d'origine pour fournir la puissance nécessaire au lit chauffant, du coup, c'étatt pas vraiment pratique car ça faisait pas mal de bordel, je voulais une solution simple et propre.

J'ai trouvé une alimentation pas chère comparée à sa puissance qui devrait faire l'affaire : 400W, oui, un lit chauffant, ça consomme énormément...

Une grosse alimentation, c'est bien mais quand elle ne sert pas, c'est bien qu'elle ne consomme pas...et justement, les firmwares des repraps disposent d'une fonction particulièrement intéressante : le suicide (G-Code M81)

Au démarrage de l'imprimante, la carte de commande de l'Ultimaker (ou n'importe quel Reprap supportant la fonctionnalité) place une entrée / sortie à l'état haut, une fois le travail d'impression terminé, l'état de la porte repasse à 0, il est alors assez simple de venir commuter un relais pour couper définitivement l'arrivée de courant dans l'alimentation, l'empêchant alors de gaspiller du courant et l'isolant du secteur...

J'ai développé une carte de commande basée sur celle de Daid avec quelques fonctions en plus :

  • La fonction de suicide est débrayable à l'aide d'un interrupteur
  • Le pilotage de ventilateur supplémentaire (ex: pour les moteurs pas à pas)
  • Le pilotage de barrette de led avec fusible de protection
  • Un fonction d'arrêt d'urgence / extinction qui coupe le courant immédiatement
  • La génération du 12V utilisé pour le ventilateur de l'Ultimaker est ... naze, un pauvre 7812 qui passe son temps à chauffer, impossible d'imaginer alimenter les barettes de led et les ventilateurs des moteurs avec ça...
  • Des fusibles de protection pour chacun des éléments

Voici le schéma de principe :
Ultimaker suicide schéma

Et le PCB avec les explications :
Ultimaker suicide pcb

Suicide board pcb

Explications du fonctionnement

Pilotage de la tension du secteur

ATTENTION: Ce montage est relié directement au secteur, c'est donc potentiellement dangereux, prenez toutes les précautions d'usage...

La tension du secteur arrive directement sur le bornier P_IN et ressort par P_OUT en passant par le relais K1 ou K3 (j'ai prévu l'utilisation d'un relais standard ou statique, à votre convenance...).
Sur le couple START_0 / START_1 est relié un interrupteur poussoir (minimum 220V / 3A) qui permet de faire passer le courant dans l'alimentation 24V, alimentant alors la carte de commande de l'Ultimaker, cette dernière force alors un état haut sur la broche A1 qui arrive via le connecteur SV1 sur notre carte de suicide, forçant le relais à coller via T1 et laisser passer le courant du secteur dans l'alimentation par le relais, en relâchant le bouton poussoir, le relais reste collé...

Vous remarquerez que même si l'interrupteur de débrayage SUICIDE est ouvert, l'état haut est forcé par R2 sur la base de T1 lui permettant d'être passant et de faire coller le relais.

  • Il faut impérativement utiliser pour D3 une diode de type schottky
  • D1 est une diode de roue libre obligatoire si vous ne voulez pas voir le transistor T1 faire des signaux de fumée.
  • Vous pouvez utiliser un relais 5 ou 12V au choix simplement en positionnant un cavalier au bon endroit sur SELECT.
  • Un fusible est prévu pour la tension du secteur, je vous conseille d'en mettre un de 3A (pour une tension secteur de 220V, pour du 110V, prévoyez le double), c'est largement suffisant pour protéger une alimentation de 400W.
  • Pour le bouton poussoir d'allumage, prenez-en un suffisamment costaud de 3A (voir point plus haut relatif à la tension secteur) pour encaisser le courant à l'allumage et n'oubliez pas qu'il est relié à la tension du secteur donc pensez à isoler sa connectique.
  • À cause de la tension du secteur, le montage doit être isolé dans un boitier en plastique, n'hésitez pas à apposer un avertissement dessus afin de rappeler le risque

Pilotage des ventilateurs / leds et protection

Via les interrupteurs branchés SWITCH_0 et SWITCH_1, vous pouvez piloter des ventilateurs pour les moteurs pas à pas et des barettes de leds branchées respectivement sur FAN_1 / FAN_2 et LIGHT_1 / LIGHT_2, j'ai aussi mis une protection sous forme de fusible pour ces éléments, dimensionnez les fusibles en fonction de votre installation.

Pour piloter les ventilateurs et les leds, j'ai besoin d'une tension de 12V, or, comme dit plus haut, la carte de l'Ultimaker génère du 12V mais ce n'est pas vraiment une bonne solution de l'utiliser car il chauffe énormément, j'ai prévu l'utilisation d'une carte fille utilisant un régulateur à découpage permettant de générer 12V@3A directement via le 24V de l'alimentation.
Pour ne pas compliquer le montage, j'ai utilisé une carte abaisseur de tension à découpage générant le 12V depuis les 24V de l'alimentation trouvé sur DealExtreme, elle possède un excellent rendement et est plutôt de bonne qualité (hormis la diode schottky qui n'a pas faite long feu).

Pour la brancher sur le PCB, voici les codes couleurs des pattes (référez-vous à la vue du PCB plus haut) :
DC 4~40V to DC 1.5~35V Voltage Step Down Transformer

Note: vous n'êtes pas obligé d'utiliser la carte fille, j'ai prévu la place pour ajouter un 7812 uniquement si l'intensité demandée n'est pas trop forte...

Toutes les valeurs des composants sont spécifiées, ils sont tous traversant donc pas vraiment de difficulté pour réaliser cette carte... Les fichiers au format Eagle sont joint avec cet article.

L'arrêt d'urgence

Le fonctionnement de l'arrêt d'urgence est simple, l'appui sur le bouton force un état bas sur la base de T1, ce dernier arrête alors d'être passant, le relais se décolle, le courant n'arrive plus et tout s'éteint, ça y est, c'est fini, on en parle plus...Et non, malheuresement, ce n'est pas si simple à cause de l'inertie de l'alimentation dû à ses condensateurs et ses selfs surgonflés, un bref appuie sur l'arrêt d'urgence ne suffit donc pas à stopper net l'ensemble et j'ai dû modifier mon circuit d'arrêt d'urgence.

En fait, mon bouton d'arrêt d'urgence n'est pas relié à la carte ci-dessus mais à la commande d'un relais monté en série avec le courant issue de la sortie de l'alimentation de 24V et une grosse résistance de puissance de 1W, il laisse passer le courant au repos, un appui sur le bouton, va faire coller le relais qui va alors s'autoalimenter. Le courant résiduel de l'alimentation est alors dérivé dans ce relais et déchargé très rapidement dans la résistance de puissance, ainsi, un bref appui suffit à couper l'arrivée de courant immédiatement.

Selon votre alimentation, il est possible que vous n'ayez pas à ajouter ce montage supplémentaire.

Une boite

Voici une boite dans laquelle vous pourrez ranger cette carte, imprimez la de préférence en PLA car en ABS, vous aurez de gros soucis de rétractation.

Suicide case

Le source au format OpenSCAD est disponible sur GitHub : OpenSCAD_Things / Ultimaker / Suicide Case

Dans un prochain article, j'expliquerai comment j'ai intégré cette boite et tout le reste dans l'Ultimaker.

Conclusion

La carte est intégrée depuis quelques temps maintenant et aucun souci, c'est vraiment pratique, surtout avec une alimentation aussi puissante, ça à un côté plutôt rassurant...

Concernant l'intégration dans l'imprimante de tout ce joli monde, ce sera l'occasion d'un prochain article...

Lundi, février 11 2013

Nouvelles avancées de Bleuette !

Bleuette marche

Pour commencer, voici une vidéo de Bleuette effectuant ses premiers mouvements :

Bleuette first step from hugo on Vimeo.

L'électronique

Le contrôle des servos de Bleuette (12 pour les pattes + 2 optionnels) se fait au travers d'une carte fille (shield) pour Arduino conçue pour ne pas être totalement dépendante de Bleuette, ainsi, vous pouvez parfaitement l'utiliser pour un tout autre projet.

Ses caractéristiques sont les suivantes :

  • Gestion parfaitement synchrones (voir en dessous) de 14 servos
  • Contrôle de la tension des servos
  • Contrôle du courant consommé par les servos
  • Port d'extension intégré (avec disponibilité de l'alimentation +5V et 4 entrées / sorties RA2 à RA5)

Parfaitement synchrone signifie que les impulsions à destination des servos commencent toutes au même moment avec un décalage très très faible, vous pouvez lire la documentation originale sur la carte.

Le pilotage des servos se fait en envoyant des trames de 17 octets contenant une entête, une commande et la position des servos + un checksum.

J'ai fait faire les PCB par Seeedstudio, qui fait de la très bonne qualité pour un prix très intéressant. La carte est simple à réaliser, la soudure du PIC18F452 nécessite tout de même un peu de doigté et un minium de matériel mais ça reste jouable avec du matériel amateur.

Voici une vue de la carte :
La carte électronique de Bleuette

Si vous souhaitez faire vous même la carte, rendez-vous sur cette page pour avoir la dernière version des fichiers Eagle : Pcb de Bleuette

Pour ceux qui souhaiteraient se procurer une carte (version 1.0.2), frais de port inclu pour la France métropolitaine :

  • La carte seul (sans composant) pour 6€, livraison en France
  • Le PIC18F452 programmé : 10€
  • Pour le kit complet, carte + composants soudé ou non, me contacter

Notez également que j'ai effectué des modifications récentes sur le schéma de principe et le PCB, elle est dorénavant en 1.2.1 (ajout d'un condensateur de découplage C9, des diodes zener D2 et D3 de protection sur les entrées analogiques, modification de l'interrupteur, ajout d'un pont SJ1 pour le reset).

Logiciel

La méca et l'électronique étant finies, j'ai pu attaquer le logiciel embarqué qui est de 2 sortes :

L'assembleur PIC

Rien de spécial à dire, il se trouve ici et comporte tout ce dont on a besoin pour piloter Bleuette et donc ne devrait plus vraiment évoluer...

Le code pour Arduino

Voici la structure :

Et nous avons 4 librairies :

  • Bleuette : C'est par ici que tout passe
  • Sequencer : C'est lui qui gère les sequences définies dans le fichiers sequences
  • ServoController : Pilote de la carte de contrôle de servos
  • SerialCommand : Librairie externe très pratique pour la gestion de commande via la liaison série.

Déplacer Bleuette

Pour faire bouger les pattes de Bleuette, c'est assez simple, commençons par un exemple :

bleuette.servo.set(0, 128);

Cela aura pour effet de positionner le servo 0 à sa position intermédiaire 128.

Si maintenant, on souhaite faire faire des pompes à Bleuette, on ne va pas répéter 24 fois la commande précédente pour positionner chaque patte, sinon, on ne va jamais s'en sortir ! Utilisons plutôt, une séquence :

Tout d'abord, déclarons une structure de type motion_t nommée motion_pushup :

// Push up
motion_t motion_pushup[] = {
    {
        DELAY_MIN, // Durée du déplacement courant
        {
            __, __, __, __, __, __, // Position des pattes horizontales
            UP, UP, UP, UP, UP, UP // Position des pattes verticales
        },
        NULL // Une callback qui sera appelée à chaque fin d'exéction de la position
    },
    {
        DELAY_MIN,
        {
            __, __, __, __, __, __,
            DOWN, DOWN, DOWN, DOWN, DOWN, DOWN
        },
        NULL
    }
};

Puis créons la séquence en elle même :

sequence_t seq_pushup = {
    "Push up",  // Le nom de la séquence
    2, // Le nombre de mouvement dans la séquence
    motion_pushup // La structure de déplacement que nous avons créé plus haut
};

Maintenant, nous n'avons plus qu'à appelé la séquence ainsi :

// Pour la jouer en avant
bleuette.sequencer.forward(sequences[seq]);

// Pour la jouer à l'envers
bleuette.sequencer.backward(sequences[seq]);

Voilà pour cette introduction rapide, je vous invite à regarder le code, il est vraiment simple...

Évolution en cours

La prochaine évolution de Bleuette lui donnera de vrais pieds qui lui permettront de moins glisser mais surtout, lui donnera le toucher au travers d'un petit interrupteur, ainsi, en posant une patte, il pourra s'assurer que le sol est bien en dessous...

Voici une vue de ses bouts de pattes :
Le bout de patte faisant office de capteur

La partie inférieure (la demi sphere et le cylindre extérieur) est mobile et glisse dans le cylindre plus petit dans lequel se trouve un interrupteur poussoir, c'est ce dernier qui fait office de rappel mécanique.

La partie en contact avec le sol (la demi-sphere sur l'image) sera en PLA Flex afin d'obtenir un maximum d'adhérence.

Ses 6 pattes devraient en être équipées, pour cela, un circuit intégré (4512) branché sur le port OPTION permettra de sélectionner la patte à lire via une adresse sur 3 bits, on occupera ainsi seulement 3 bits de sorties pour l'adressage + 1 bit de sortie pour connaitre l'état (patte posée ou non).

Évolutions futures

Bleuette devrait être équipé d'une liaison Bluetooth, d'un capteur magnétique afin de garder un cap lorsqu'il marche et enfin, d'une tourelle mobile avec un capteur ultrason pour détecter les obstacles devant lui et tout cela intégré dans une seconde carte fille.
Bleuette se sentant un peu à l'étroit avec Arduino, il n'est pas totalement exclu que je porte le code pour tourner sur un Raspberry Pi...

Et bien entendu, Bleuette attend impatiemment des frères et soeurs : toute contribution est la bienvenue !

Mardi, janvier 22 2013

Nouveau lit chauffant en aluminium pour Ultimaker

Vue du lit chauffant en aluminium

Mes déboires avec l'impression d'une pièce en ABS m'ont conduit à revoir de nouveau le lit chauffant. Ma première modification concernant le lit chauffant fût d'en faire une version avec du verre à insert, malheureusement, ce verre n'était pas parfaitement plan mais très légèrement bombé ; impossible d'imprimer correctement dessus.

Le verre à insert coutant une fortune, j'ai cherché une solution alternative et me suis tourné tout bêtement vers du verre standard mais après 2 casses proche des 115ºC, j'ai bien aperçu les limites du verre standard, je me suis alors mis à la recherche d'un petit four d'occasion afin d'en récupérer la porte généralement en verre. Un petit tour sur leboncoin plus tard, un petit peu de route et me voilà avec un four micro-onde HS et un petit four d'appoint que j'ai eu pour une bouchée de pain, démontage, collecte des divers éléments intéressants et me voilà avec 2 vitres résistantes à des températures bien au delà de ce dont j'ai besoin...

Le hic, c'est qu'il faut les découper. Je me lance dans la découpe et là, paf ! : je finis dans les 2 cas avec mille morceaux de verre, tous les verres ne se découpent pas et ceux là en font très certainement partie...

J'ai épuisé toutes les solutions avec le verre, l'utilisation d'un lit chauffant en aluminium est alors devenue une évidence : conductivité thermique parfaite (comparé au verre, c'est le jour et la nuit) et surtout, absolument aucun risque de casse... J'ai d'abord commencé en récupérant de l'aluminium de 3mm découpé aux bonnes cotes chez Weber Métaux. Perçage, taraudage, mais malheureusement, la plaque est très très légèrement gondolée (décidemment) et est donc inexploitable. La rectification n'est pas facilement envisageable avec une telle épaisseur ; il va donc falloir voir plus épais.

N'ayant pas le matériel nécessaire pour usiner de l'aluminium, j'ai trouvé une personne qui pourrait me le faire. Quelques temps plus tard, je reçois mon nouveau lit chauffant...

Celui-ci fait environ 6mm d'épaisseur, sa surface supérieure est rectifiée, et possède bien sûr les oblongs pour le tenir sur son support. La plaque à des bords arrondis et une rainure est faite en dessous afin de glisser le capteur de température au coeur de la pièce.

Un peu de perçage / taraudage de mon côté et voilà le nouveau lit chauffant prêt à être monté, le capteur de température est mis dans sa rainure :
La sonde de température dans sa rainure sous le lit chauffant

Le lit chauffant, le panneau avant avec la led montée et le câblage positionné :
L'installation sous le lit chauffant

Comparaison des courbes de montée en température

Ci-dessous, les courbes de montée en température des différents lits chauffants que j'ai testé : le verre à insert de 4mm, le verre standard de 3mm et l'aluminum d'environ 6mm d'épaisseur.
C'est la température relevée à proximité du PCB qui est prise et non celle mesurée sur la surface du lit.

Comparatif du temps de chauffe des lit chauffant
Pour les courbes représentant la chauffe du verre, j'ai volontairement arrêté de chauffer et stoppé les mesures arrivé aux alentours de 60ºC.

Le modèle sur GitHub / Hugokernel.

Vue du lit chauffant en aluminium Vue du lit chauffant en aluminium

Conclusion

En théorie, je ne devrais plus être embêté équipé avec ce lit chauffant qui fonctionne parfaitement depuis maintenant quelques semaines...
La seule chose qui devrait être mise à jour est le positionnement de la sonde de température qui est beaucoup trop proche de la source de chaleur, la régulation en est forcément biaisée...

Mercredi, juin 6 2012

Ultimaker : Nouveau lit chauffant, problèmes d'extrusion et impression de travers

Nouveau lit chauffant (aka Heated bed)

L'ancien lit n'était pas pratique pour le réglage de l'horizontalité du plateau et je me suis aperçu que le verre d'insert (qui résiste aux hautes températures) que j'utilisais avec n'était pas parfaitement plan mais très légèrement courbé donc, je pouvais toujours essayé de régler mon plateau bien droit, c'était perdu d'avance.

Le seul hic, c'est que le verre d'insert, ça coûte une vraie fortune (500 à 800€ le m2), le miens, j'ai eu de la chance, je ne l'ai pas payé et de toute façon, à ce prix, il faut une autre solution abordable / réplicable.

Et pourquoi ne pas essayer avec du verre standard, au prix que ça coûte, si ça casse, c'est pas bien grave.
Rendez-vous donc, au rayon découpe d'un magasin de bricolage, j'en prends 2 pour faire des tests, du 3 et du 4mm, le vendeur et ses collègues sont certains qu'à 70ºC, le verre va casser, je suis d'avis que si le verre chauffe uniformément, ça devrait aller, j'espère que le test sera concluant, je ne veux pas y retourner et devoir leur avouer que ce fût un échec... ;)
Dans le pire des cas, j'irai à la décheterie récupérer une porte de four...

Principales modifications par rapport à la v1

  • Pour les réglages du plan, j'ai utilisé des vis moletées, ce sera bien plus pratique
  • Je n'ai pas mis d'isolant (laine de verre, alu, etc...) entre le PCB et le support en bois, l'espace devrait suffir, le bois étant en dernier recours, un bon isolant
  • Le verre n'est plus maintenu par des pattes sur le dessus mais contraint par les profilés d'alu sur les 4 côtés, ça semble convenir parfaitement, c'est beaucoup plus simple ainsi

Il ne manque plus que le verre et la v2 est prête pour un test :
Heated bed v2

Après quelques tests, j'ai l'impression (aucune mesure à l'appui) que le support en bois est moins chaud qu'avec l'isolant qui devait faire office de pont thermique.

Test de montée en température

Tout est branché, c'est parti, le lit commence à chauffer, je prends des mesures pour avoir une évolution de la montée en température, je m'aperçois rapidement que la chauffe est plus longue sur du verre standard de 3mm que sur du verre à insert de 4mm, si quelqu'un à une théorie à avancer, je suis preneur, j'en ai tout de même deux : l'ancien verre de 4mm était plaqué par des pattes contre le heated bed, alors que là, il repose dessus, du coup, la conduction de la chaleur est peut être moins bonne, la seconde piste pourrait être liée à la composition du verre à insert qui doit mieux conduire la chaleur, raison pour laquelle il ne casse pas...

Courbes de montée en température

J'utilise maintenant le lit à 70ºC, pas la moindre trace d'une fissure / casse, depuis, j'ai utilisé le plateau pour faire 2/3 impressions et le verre standard résiste parfaitement bien.

Réglage de l'horizontalité du plateau

Nouveau plateau facilement réglable, verre parfaitement droit, comparateur sorti, c'est bon, il est temps d'utiliser les pièces imprimées récemment, un adaptateur universel pour la tête de l'imprimante et son adaptateur pour comparateur (Thing 20775 - Ultimaker Generic HeadMount, Thing 22817 - Printbed Calibration Tool).

Alignement au 1/100 eme de mm avec le comparateur :
Le comparateur

Attention au piège en déplaçant la tête via logiciel, avec la taille du comparateur, la fin de la course arrive bien plus tôt et la mécanique n'aime pas du tout quand ça force...

L'alignement est parfait, avant, j'aidais toujours un peu pour la première couche en plaquant très légèrement le plateau contre la tête afin que le PLA adhère correctement, maintenant, ce n'est plus la peine, et ce, quelque soit l'endroit oû je lance l'impression sur le plateau.

Du coup, j'utilise maintenant le planificateur de projet disponible dans la RC4 de l'excellent Cura afin de lancer des impressions multiples les unes à la suite des autres, tout roule parfaitement.

PLA de mauvaise facture

J'ai commandé du PLA chez RepRapWorld il y a quelques temps pour un prix très intéressant (voir le forum de MadeInFr), reçu rapidement, je me suis empressé de faire des tests avec, tout se passe bien sur les petites impressions mais dès que je veux en faire une plus longue, à un moment ou un autre, le PLA ne sort plus de la tête d'extrusion.

Je me suis alors battu avec la vis de contrainte de l'extrudeur (partie froide) : si on ne visse pas assez, forcément, le PLA n'est pas assez contraint et avance quand il veut, par contre, si on visse de trop, ça déforme le PLA, et ça finit par coincer l'avancée, j'ai essayé de trouver le juste milieu mais rien n'y fait, ça finit toujours par bloquer à un moment ou un autre, j'ai vérifié une énième fois l'ovalité du PLA, il n'est pas parfait mais le logiciel est réglé en tenant compte de ce paramètre, il doit y avoir autre chose...

Et là, en renfilant le PLA dans le tube, ça coince tellement que je n'arrive pas à le pousser à la main, je retire le PLA et l'examine, je tiens enfin le coupable, le PLA est gonflé en certain endroit, suffisamment peu pour ne pas être repéré facilement mais assez pour être la cause de tous les maux précédent...

En plus du frottement dû à la déformation du PLA, la liaison entre le tube en téflon et l'isolant (tube PEEK) n'était pas parfait, et il se formait des bouchons probablement à cause de l'irrégularité du PLA (je n'ai pas eu ce souci avec du PLA de Ultimaker), voici une photo d'un de ces bouchons :

Bouchon de PLA

En suivant le conseil de equinoxe, je suis passé chez Weber Métaux à Paris, qui possède des tubes en téflon de 4mm intérieur, 6mm extérieur, parfait, c'est exactement ce qu'il faut, d'ailleurs, c'est également là bas que j'ai trouvé les vis moletées pour le réglage du plateau.

Je n'ai pas encore eu le temps de monter ce nouveau tube, mais pour le moment, je stoppe mes tests avec le PLA de RepRapWorld, je ressort celui de Ultimaker qui coute bien plus chèr mais qui est de très bonne qualité.

Impression de travers

WTF ? la première chose qui m'est venu à l'esprit en voyant ça après une nuit d'impression :
Impression de travers

C'est bel et bien un problème mécanique dû au glissement des barres qui supportent la partie mobile.

Pour savoir si vous êtes sujet à ce problème, faites faire de larges cercles à la tête d'impression, si vous entendez un bruit (TAP!) au moment du changement de direction, c'est une des barres qui vient taper sur les butées en bois (celles qui sont en contact avec les roulements à billes).

Sur la vidéo, on voit clairement que des mouvements linéaires ne posent pas de souci, par contre, de larges mouvements circulaires (à ~10 secondes dans la vidéo) le font apparaitre immédiatement.

Pour régler ce problème, je me suis contenté de mettre de l'huile ou du WD40 sur les barres afin que ça coulisse mieux, la graisse ne pénètrant pas assez.

Dimanche, mars 18 2012

Les prémices d’une imprimante 3D

Depuis que j’utilise ma fraiseuse numérique, je rêve d’une imprimante 3D comme les reprap, makerbot et autres ultimaker.

Reprap

 

Makerbot

 

Ultimaker

 

Chacune de ces machines a ses avantages et ses inconvénients: Les makerbots ont une grosse communauté, une bonne qualité mais sont assez chères. L’ultimaker est très rapide, la reprap est auto réplicante et dispose d’une mécanique relativement simple.

Je trouve les machines ultimaker et makerbot un peu trop chères et puis surtout je n’ai pas forcément envie de monter un kit mais plutôt de fabriquer ma propre machine. Je vais donc m’orienter vers un autre type de machine qui sera un mix de ces différentes technologies.

Dans les grandes lignes, ma machine sera contruite autour:

 

  • d’un chassis en aluminium et PVC.
  • de moteurs pas à pas récupérés dans des imprimantes.
  • d’une électronique RAMPS 1.4 ( avec un arduino 1260 )
  • d’une mécanique de type Ultimaker avec la motorisation de l’extrudeur sur le chassis de la machine et non sur le mobile XY.

 

Pour le moment, je ne suis pas très avancé mais la construction a commencé. Je vais concevoir un chassis cubique à l’aide de profils d’aluminium rainurés et de noix 3D pour chaque sommet.

 

Profil 20x20

 

Noix 3D

 

Ces modélisations ont été faites avec FreeCAD 0.13, voici les fichiers CAD files

Les différents modules de la machine seront réalisés en PVC ( 3mm 5mm ou 15mm ) à l’aide de ma fraiseuse numérique et viendront se fixer avec des boulons M5 sur les rails du chassis en aluminium. Je devrais ainsi obtenir une machine rigide et très modulaire.

 

La motorisation sera assurée par des moteurs NEMA 23 récupérés dans des imprimantes.

NEMA 23

 

Les axes X et Y seront entraînés par des courroies au pas de 2.5mm.

 

Courroies

 

suivant ce principe mécanique ( avec par contre 1 seul guide par axe, comme sur l’ultimaker )

 

Les chariots glisseront sur des tiges lisses de 8mm à l’aide de coussinets en bronze fritté.

Coussinets

Je dispose d’un petit stock de pièces qui pourront me servir au cours de la construction.

Trésor de guerre

 

La partie la plus avancée concerne l’électronique. La carte RAMPS 1.4 est prête. J’ai pu tester le firmware Marlin sur la carte équipée de 4 moteurs et du support chauffant. La plaque chauffe correctement et les moteurs tournent avec un couple important.

RAMPS 1.4

 

 

 

HeatBed

 

Thermistor

 

Côté logiciel, j’utilise ReplicatorG 0034 qui nécessite quelques modifications des sources pour pouvoir utiliser le firmware Marlin. Dans la série à problèmes, j’ai aussi du utiliser Arduino en version GIT pour compiler correctement le code sur Archlinux qui dispose de librairies AVRLIBS trop récentes !

 

Bref, ça progresse… Il me reste ( tout ou presque ;) )le chassis à fabriquer, et j’attends la tête thermique de l’extrudeur pour pouvoir avancer un peu plus.

Bientôt la suite ;-)

 

J’ai hâte de comparer les résultats avec ce que peut obtenir @Hugokernel avec son ultimaker fraîchement installée :-)

Mercredi, mars 7 2012

Assemblage de l'Ultimaker

5 semaines après la commande, un transporteur m’amène un lourd carton (10kg) venu des Pays Bas : ça y est, j’ai reçu mon UltiMaker.

Légèrement en avance d’ailleurs car ils m’avaient annoncé 6 semaines de délai, je crois avoir été chanceux car je n’avais pas commandé de bobine de plastique supplémentaire et une semaine auparavant, un courriel de Ultimaker annonçait qu’il était en rupture de certain coloris de PLA et proposait, pour ceux en ayant commandé en plus, de remplir un formulaire, afin de choisir des couleurs de remplacement pour éviter d’attendre trop longtemps, du coup, j'ai dû être traiter légèrement en avance...

Carton ouvert, découverte du contenu :
20120303_104821.jpg

Tout est bien rangés, chaque sachet possède un autocollant avec sa référence et son nom, tout est dans du papier bulle...
Tout, hmmm, presque tout, jusqu’à ce que j’arrive au fond du carton, là, sont posés les plaques de bois (du bouleau, très solide et rigide) découpés au laser, ces dernières sont enfoncées toute au même niveau, conséquences d’un impact extérieur que je n’avais pas vu au premier abord sur le carton mais qui est bien visible... Les plaques étant emballées elles aussi dans du papier bulle mais directement en contact avec le carton trop petit, une chute, un envoi de livreur un peu brutal et paf le bouleau, comme vous le voyez sur les photos, c’est assez localisé, ça n’empêchera pas beaucoup le montage...

CIMG4864.JPG CIMG4865.JPG CIMG4867.JPG

La blessure la plus importante est celle-ci oû le choc à explosé le bois et bouché les trous permettant la fixation des planches entre elle...
CIMG4866.JPG

Je réquisitionne une grande table, étale le contenu du carton sur celle-ci et c’est parti...
CIMG4863.JPG

Aucun plan papier fourni, c’est pas plus mal, tout est disponible en ligne, en anglais, illustré de photos, ils indiquent 6 à 20h de travail...

Première étape, le caisson avec ces foutus passe cable qui m'ont fait tourné en bourrique...
CIMG4886.JPG

Tout se monte sans encombre jusqu’au drame :
CIMG4885.JPG

Il se sont trompés en me livrant une poulie avec le mauvais diamètre interne (les 2 de droites devraient être identiques avec un diamètre inférieur), arggg, la casse durant le transport, une poulie inutilisable, je me voyais mal attendre...
Par chance, j’avais une entretoise dont le diamère externe correspond au diamètre interne de la poulie, un petit usinage pour que son diamètre interne s’adapte à l’axe du moteur et voilà... ouf !!

CIMG4888.JPG CIMG4889.JPG CIMG4890.JPG

L’assemblage de la tête d’extrusion est plutôt délicat mais se fait sans trop de problème.

Le montage s’est poursuivi jusqu’à la plateforme de l’axe Z, il faut faire rentrer en force des roulements linéaires dans des planches de bois pour former un sandwich, les jeux sont plus que limite et j’ai dû m’y prendre à plusieurs fois afin d’avoir quelque chose d’à peu près correct, comprenez : quelque chose de droit.
Heureusement, ils ont prévus le coup et le jeu est rattrapable par un système de réglage à vis / ressort...

Enfin, vient le moment de relier électriquement tous les éléments, fin de course, moteur, élément de chauffe, puis l'allumage :
20120304_222945.jpg

Tout à fonctionné du premier coup sauf une erreur sur la carte qui indique la connection pour le capteur de fin de course droit alors que c’est le gauche, une inversion et tout roule...

Maintenant, le branchement à un ordinateur, est-ce plug and play ?
Oui, Ultimaker reconnu immédiatement (c’est une carte Arduino pour l’intelligence de la bête, j'avais déjà installer les pilote FTDI), j’ai pu envoyer des ordres pour piloter les moteur X, Y, Z, c’est très réactif et la vitesse impressionnante...

Au moment au j'écris ces lignes, je n'ai pas encore pu tester à fond l'animal donc, je n'aurai pas de retour à faire sur son utilisation, hormis le souci dans le transport (prévoir un carton plus grand) et l'erreur de poulie (la personne du contrôle ne devait pas être réveillée), le kit est de bonne qualité et je comprends mieux le prix, c'est vraiment bien étudié au niveau de l'assemblage, on retrouve des pièces en métal de très grande précision, la carte électronique est très bien réalisé, la partie puissance est totalement ventilé, bref, c'est du sérieux...

- page 1 de 2