Aller au contenu

GO Print

Classement

Contenu populaire

Contenu avec la plus haute réputation dans 25/10/2021 Dans tous les contenus

  1. Non non non, je ne corrige rien, il n’en est pas question. 100€ c’est 100€ et pas un rond de plus. Tu te débrouilles.
    2 points
  2. Bonjour, Ton problème est typique d'un mauvais remontage de la buse ou bouchage suite à l'usure (fonte) du bout du tube plastique PTFE. Pour changer la buse, il faut suivre la Titi procédure (j'ai rien inventé mais ça fait du bien de se faire plaisir) En premier avant d'utiliser la Titi procédure, il faut dégager la machine en Z assez haut pour pouvoir passer les outils et bien voir la buse. Sinon c'est galère ! En deuxième avant d'utiliser la Titi procédure, il faut lire la Titi procédure en entier pour être bien sure d'avoir compris la manip ! En troisième avant d'utiliser la Titi procédure, ne pas hésiter à poser des questions avant de tout démonter pour améliorer la Titi procédure Avis important : faire attention aux câbles de la tête Avis important: la Titi procédure n'engage aucunement Titi78 en cas de détériorations de votre matériel. Elle est décrite ici bien gentiment afin de vous dire qu'elle est aussi décrite dans la section tuto que vous n'avez certainement pas regardé avant de demander de l'aide mais comme le Titi est serviable il a écrit cette tartine pour aider l'imprimeur en détresse ! Voici donc la Titi procédure : 1- chauffer à 190-200° pour bien ramollir le filament et en faire sortir un peu par la buse en le poussant ou en utilisant l'extrudeur. Si votre tête est de type «tube PTFE traversant de part en part pour aller jusqu'au contact de la buse», passer directement au point 4 Si votre tête est de type «full metal», utiliser la méthode «cold pull» des points 2 et 3 2- chauffer à 100° pour avoir un plastique vitreux mais pas liquide et couper bien au ras de la buse le filament qui dépasse 3- enlever le filament en tirant dessus à la main un coup sec pour aspirer le plastoc mou et en sortir les résidus brulés 4- dévisser la buse (attention Sacha c'est chaud (et pas facile à dire vite) 5- enlever le tube plastique PTFE en libérant le pneufit (bague dessus à appuyer tout en tirant le tube) <EDIT / COMPLÉMENT> il arrive que le tube est tellement déformé qu'il ne peut pas sortir en tirant dessus. Dans ce cas il y a 2 possibilités : 5a- Enlever le tube ptfe du pneufit COTE EXTRUDEUR, libérer le pneufit du radiateur coté tète (bague dessus à appuyer pour déverrouiller) et Pousser le tube ptfe pour le faire sortir coté buse (enlevée à l’étape 4) . 5b - Enlever le tube ptfe du pneufit COTE EXTRUDEUR, Dévisser le pneufit du radiateur pour sortir le tube . 6- couper la chauffe, débrancher l'imprimante et laisser refroidir mais on ne démonte pas le heatbreak ni le bloc de chauffe du radiateur. 7- bien enlever toute trace de plastique fondu/carbonisé dans le bloc de chauffe ET à l'intérieur du tube de hotend ET sur la buse en extérieur car normalement le trou devrait être propre suite à l'étape 2 et 3. Faire attention à ne pas abimer les câbles de la cartouche de chauffe et de la thermistance qui sont dans le bloc de chauffe. pour enlever les traces de plastoc je fais passer le tube ptfe à travers le radiateur et si besoin comme tout est encore monté je remet en chauffe pour ramollir et nettoyer à chaud. On peut aussi utiliser la queue d'un foret de Ø 4 (ou 3.8 si on a) pour pousser les résidus coincé à la sortie du heatbreak. Éviter de rayer le heatbreak est préférable cependant comme le filament ne passe pas dans le heatbreak directement mais c'est le tube PTFE qui le traverse et qui guide le filament jusqu’à la buse, cela n'a pas de réelle importance 8- vérifier le bout du tube plastique et le recouper net et perpendiculaire (en cas de défaut cela provoque des fuites qui viennent se carboniser et bouchent la buse ce qui provoque ton problème). Pour cela il y a un outil de coupe sur thingiverse : https://www.thingiverse.com/thing:2436559 9- bien vérifier que tout est propre 10- bien vérifier que tout est propre sinon retour étape 7 11- remontage de l'ensemble en suivant la procédure décrite a partir de l'étape 12 (et pas autrement sinon ça ne marchera pas longtemps) 12- remettre le tube plastique sans verrouiller le pneufit (ne pas remonter la bague) pour qu'il soit a 2 mm de la sortie du bloc de chauffe. le but est de pouvoir revisser à la main la buse et quelle vienne s'appuyer sur le tube et le pousser en serrant. Comme ça le tube est bien en contact avec la buse . 13- visser la buse avec la clé mais pas à fond . if faut qu'il reste 1 mm de réserve de serrage. le but est de visser la buse pour qu'elle pousse le tube PTFE qui n'est pas bloqué 14- relever la bague de verrouillage du pneufit pour bloquer le tube. 15- serrer la buse avec la clé mais pas comme un bourrin pour ne pas casser le filetage dans le bloc de chauffe alu. Comme le tube est coincé cela le plaque contre la buse et permet l'étanchéité tube ptfe/buse. 16- penser à mettre un Merci en utilisant les icones (cœur blanc/bleu pour voir les icones Coupe blanche/violette pour dire Merci) en bas a droite de ce superbe message rédigé avec soin par un canari bénévole (et vole c'est normal pour un canari) Toute ressemblance avec d'autres tutos est normale. J'espère que ce message ne s'autodétruira pas avant plusieurs siècles et qu'il sera ajouté par @fran6p à la liste des tutos jamais lus de ce formidable forum! <Modération> C'est fait </fin> Pour compléter, un schéma indiquant précisément l'endroit (flèche rouge) où un incident se produira si le PTFE n'est pas totalement en contact avec la buse: Et pour que chacun parle le même langage, une représentation des pièces avec leur vocabulaire :
    1 point
  3. Voilà je créer un poste pour le scanner EINSCAN-SE de chez Shining 3D que je viens de m'offrir. Petit début de retour d'expérience Le montage est très facile pour le téléchargement du logiciel j'ai un peut plus galéré car étant habitué a utiliser firefox, j'ai eut un bug de téléchargement et j'ai eut du mal a comprendre que cela venait de mon navigateur et qu'il a fallut que j'utilise edge pour avoir le logiciel après installation du logiciel il suffit de tout suivre a la lettre, franchement vraiment cool une petite information qui peut aider d'autres personne ce scanner est compatible avec carte graphique RADEON et processeur RYZEN (pour la carte graphique je n'était pas sûr car sur le site du scanner il ne parle que de NVIDIA voici un premier résultat Imprimé avec Sidewinder-X1 et filament 3D Bois de chez grossiste3D. Merci d'avance pour vos commentaires Alain
    1 point
  4. Hello, Étant admiratif du travail d'Olivier Verdier, j'ai hâte de voir la fabrication de ces caisses de résonance pour téléphone portable. Une chaine à découvrir pour les amoureux du bois.
    1 point
  5. Ravi que tu t'en sois sorti ! [emoji16] Au niveau de ces lignes, il y a une section spécifique au Pi Zero W (pi0w). Pour le reste, il s'agit du mode de communication pour Mainsail (via uart. Il y a d'autres modes possibles) et de la désactivation du Bluetooth (dtoverlay=disable-bt). Envoyé de mon IN2023 en utilisant Tapatalk
    1 point
  6. Sur la vidéo on voit clairement que la hotend et ses deux vis bougent indépendamment du chariot X, c'est pas bon signe...
    1 point
  7. Faute de frappe 1000€ j'ai été trop rapide mdr, mais tu avais corrigé de toi même
    1 point
  8. @MrMagounet il faut que tu donnes les noms de tes fournisseurs, car une Voron 2.4 pour 100 € , tu vas avoir de la demande. Pour 100€ tu devrais avoir la visserie et le filament pour imprimer toutes les pièces, guère plus.
    1 point
  9. Reste la possibilité avec un bon paquet d'huile de coude, d'enlever l'ancienne feuille de PEI collée sur la fine tôle d'acier puis d'en remettre (coller) une neuve. Ce n'est pas simple à décoller mais c'est faisable. Exemple chez Prusa : https://help.prusa3d.com/fr/guide/remplacement-de-la-feuille-de-pei-sur-les-mk3s-mk3-mk2-5s-mk2-5_23920 Il est également possible de «régénérer» un PEI soit avec un peu d'acétone soit à l'aide de papier de verre très fin (ponçage). https://help.prusa3d.com/fr/article/feuille-dacier-lisse_196550
    1 point
  10. En 400 x 400 x 400 tu as pour 100€ 1000€ de budget des Voron 2.4 ou Ratrig mais les kit seront je pense moyen sur certaine pièce et cela demandera un gros travail de montage et de réglage. En 400 x 400 tu as les Creality CR10 Max et Anycubic Chiron, en cartésienne pas trop mal et prix correcte. Après les Core XY déjà assembler en 400x400 ou plu de qualité que je connais dépasserons ton budget. Après si 350x350 te suffise tu as la Sovol SV03 qui est pas mal, équipé en directe Drive Titan de base qui plus ai
    1 point
  11. si cela ne te le fait plus tant mieux mais en effet étrange, sauf si les vibrations faisait que le fin de course Z inductif en tremblant détectait le châssis
    1 point
  12. Ah carrément un volume de grande piscine : 500m³ Pour le prix, tu as raison l'année dernière la XL était annoncée dans les 1.500 €, mais avec les hausses actuelles, je serais surpris qu'ils arrivent à maintenir ce tarif.
    1 point
  13. Mais ça coutera pratiquement aussi cher qu'avec la base, donc autant le prendre avec, ça te fera un magnet géant pour le frigo Je plussoie les infos de PPAC les Energetic 3D sont de très bonne qualité et durent très longtemps.
    1 point
  14. C'est juste ça Comme ta buse a dû se boucher, les roues ont forcé et le filament s'est décalé, rien de catastrophique. 1) déboucher la buse et faire la titi procedure (il peut être nécessaire de chauffer la buse au sèche cheveux ou au décapeur thermique pour ramollir le plastique coincé) 2) retirer le flament (il est aussi possible de le chauffer pour le ramollir si il est vraiment "indécoinçable") Un fois que ce sera fait, tu ne devrais plus rencontrer le problème (enfin pas de suite )
    1 point
  15. En fait comme toujours, il vaut mieux adapter la buse à ce que tu fais que d'essayer de faire tout avec la même. Oui c'est exactement ça, pour des boitiers tu peux même monter à plus que 0,4 et gagner du temps. Car il faudra moins de passage pour une même surface. Je répète, mais ça ne change rien à l'épaisseur des couches, tu pourras toujours avoir quelque chose de fin en imprimant à 0,1 ou 0,2. Par contre si tu te fiches de voir les couches, avec une buse de 0.6 / 0.8 ou même 1.0 mm, il y a moyen d'augmenter la hauteur et donc de réduire d'autant le nombre de couches pour imprimer ton objet. La règle est de ne pas dépasser une hauteur de couche représentant 75% du diamètre de la buse. Donc pas au delà de 0.3 avec une buse de 0.4 et 0.6 avec une buse de 0.8 (je te laisse faire les autres calculs ... oui je sais j'ai triché j'ai pris ceux qui tombent juste). Par rapport à une impression habituelle à 0.2 avec un buse de 0.4, une impression à 0.6 avec une buse de 0.8 représente 3 fois moins de couches à imprimer ET pas mal de trajets en moins car à chaque passage elle dépose un trait de 0.8 et non 0.4) ... un esprit taquin dirait 2 fois moins, mais ce serait faux car il y a des circonstances ou cela ne fonctionnerait pas. Mais dans l'absolu tu gagnes sur les deux dimensions. Par contre attention, cela n'est valable que si ta hotend suit. Car elles ne peuvent faire fondre qu'une certaine quantité de matière dans un temps donné (débit max). Si tu pousses trop, elle ne pourra pas suivre et faire fondre assez de PLA (par exemple). Donc si comme moi tu imprimes tranquillement (donc loin du débit max de ta hotend), sans modifier la vitesse d'impression tu peux réduire énormément le temps d'impression. Si par contre tu imprimes déjà assez vite (donc proche du débit max), tu auras un gain nettement inférieur (voire nul si tu es déjà taquet).
    1 point
  16. 1 point
  17. Bienvenue dans l'univers impitoyable de l'impression 3D Ou il faut apprendre à tout faire soi-même et à faire passer le contrôle qualité à son imprimante, vu que le service qualité Chinois est toujours en vacances Mais il ne faut pas désespérer, ça vaut le coup de le faire.
    1 point
  18. Et ça serait possible même si l'imprimante est neuve ? Ils auraient pu me fournir un technicien dans le carton car je ne m'y connais pas du tout
    1 point
  19. Salutation ! J'ai commandé il y a peux un ensemble base + plateau flexible PEI sur https://energetic3d.fr.aliexpress.com/store/4542004 C'est surement plus chère, mais il me semble, que c'est de la bonne qualité et tu aura la possibilité de ne pas acheter la base magnétique.
    1 point
  20. Tu as raison, ce sera plus facile de les construire dans nos usines sur la Lune. Si tu n'as pas plus de 20 ans, tu auras peut-être la chance de voir ces nouvelles industries (je me pose deux petites questions: à qui payerons nous la taxe foncière et serons-nous obligés d'attendre le service archéologique avant de faire des fondations).
    1 point
  21. Oh merci beaucoup ! j'ai pourtant déjà essayer de réglé ça je n'avais pas vu la différence !! Un grand merci à toi
    1 point
  22. Salutation ! A tu joué avec l'excentrique ?
    1 point
  23. C'est vrai qu'on n'y pense pas toujours mais en SLA, le post-traitement impose pas mal de matériel et donc de place pour le stockage. Si c'est envisageable avec les volumes assez modestes des imprimantes SLA jusqu'à maintenant, cela va vite devenir un réel souci avec les imprimantes ayant un volume conséquent (la Sonic Mega 8k présentée par @divers en étant la précurseur). Tu ne peux pas jouer avec 30 litres d'IPA à chaque impression, et vu le volume nécessaire pour stocker les 3 voir 4 machines ( Je pense que de toute manière ces machines risquent fort de rester l'apanage des professionnels encore un moment. Les coûts baisseront et des particuliers ayant de l'espace en profiteront, mais cela restera marginal, sauf si d'autres progrès résolvent ces soucis de post production. Stocker une machine encombrante est une chose (les FDM 40x40 ou 50x50 existent bien), mais quand tu te rends compte de tout ce qu'il faut à côté ... Il faudrait qu'ils trouvent une résine qui se rince au lave vaisselle ! (bon ok, faudra rajouter deux trois rampes de leds dedans pour la polymérisation ... ).
    1 point
  24. La hauteur du plateau est sauvegardé mécaniquement dans les molettes de réglage.
    1 point
  25. Bon petit retour sur cette machine plus qu'intéressante, mais si quelques petits points d'améliorations dans l'interface mériterais d'être effectué. Bravo @fred52120
    1 point
  26. Bonsoir, Après nettoyage, tension des courroies, etc, j’ai branché le compteur d’énergie fraîchement reçu pour voir ma conso réel avec ma ender 3, carte Cheetah 32bit. Rien d'extraordinaire mais j'avais du mal a trouver une info fiable alors si d'autres se posent aussi la question, voila la réponse. Ender3 juste allumé Ender 3 en chauffe plateau (50°)+ buse (200°) Une fois la chauffe atteinte : Pendant l'impression Pendant l'impression la conso passe de 60W a 280W max pour pouvoir maintenir la température. Bonne soirée a tous
    1 point
  27. Cela fait longtemps que je demande à mes grands-parents, pourquoi que Renault et mes parents que Renault ou Peugeot xd ? ---> je sors
    1 point
  28. Apparemment pas d'erreur signalée, c'est donc déjà ça Tu as le fichier «config.txt» complet à fournir ? Un «datasheet» ou au moins une documentation technique de ton écran ?
    1 point
  29. ok merci à vous deux je vais tenter de mesurer ça et je reviendrai vers vous... Bon et bien après avoir tout débranché puis rebranché avec grande attention, c'est bon l'imprimante fonctionne enfin et c'est aussi grâce à vos conseils alors merci à tous les deux vraiment! (je pense qu'effectivement ça venait d'une erreur de ma part sur l'inversion des sondes ce sont les deux seuls câbles qu'on peut possiblement inverser entre eux... Merci @Pederli et @Patrick76 !
    1 point
  30. Ceci n'est pas un tutoriel, mais le compte rendu détaillé d'un bricolage qui me rend un grand service. Lorsque ma Discovery est éteinte les moteurs de l'axe Z tournent librement. Sous le poids de l'axe X (moteur, tête, barres de guidage), les deux moteurs Z tournent mais pas autant l'un que l'autre et cela dérègle légèrement le parallélisme de l'axe X avec le plateau d'impression. La répartition des masses y est pour quelque chose puisqu'au repos le moteur X et la tête se trouvent du même côté de l'axe X ; sur la gauche. Du coup la première couche, de manière aléatoire, après la mise sous tension de l'imprimante peut être ratée et imposer de re-régler l'imprimante. J'ai mis longtemps à comprendre ce qui se passait. Par hasard je suis tombé sur un "post" où l’on synchronisait mécaniquement les deux axes Z avec une courroie, c'est ce qui m'a fait comprendre d’où venait mon problème. Ci-dessous j'ai déréglé volontairement et fortement l'horizontalité de l'axe X pour que le défaut (et la correction !) soit bien visible à l’œil nu. Une solution simple et radicale est de changer la carte contrôleur de l'imprimante pour avoir un pilote et un end-stop par moteur Z et de resynchroniser les deux axes Z à l’allumage de l'imprimante, mais étant plutôt dans l'optique de faire avec ce que j'avais déjà sous la main j'ai exploré une autre voie. Voici mon idée et sa mise en œuvre. L'idée : Après un G28 sur les trois axes, mesurer avec la fonction "PROBE" de klipper et mon bl-touch la distance entre la tête et le plateau tout à gauche de l'axe X, faire de même tout à droite, calculer l'écart entre ces deux mesures, l'affiner en fonction du mesh décrivant les déformations du lit d'impression, ramener la tête au milieu de l'axe X, inverser le câblage d'un des moteurs de l'axe Z, bouger la tête le long de z de la moitié de l'écart calculé juste avant, de sorte que le milieu de l'axe X reste immobile mais que les extrémités se déplacent en sens opposés pour compenser l'inclinaison, remettre le câblage dans le bon sens, terminer par un nouveau G28 en z seulement. Tous ça automatiquement à l'aide d'une macro dans klipper et d'un module 4 relais (que j'ai sous la main) pour inverser le câblage. (C'est la séquence que montre le gif animé ci-dessus. Aux possesseurs de discovery ou discoeasy, mon home sur l'axe Y s'y fait à l'opposer des imprimantes livrées par Dagoma) Il y a sans doute des solutions plus économes en nombre de relais. Je me suis arrêté ,pour le moment, à cette solution automatique qui marche sans me graisser les doigts à chaque début d'impression. Ceux qui composent avec ce défaut savent de quoi je parle (imprimer une jupe ou une bordure, autour des pièces, suffisamment large pour avoir le temps d'intervenir au début de l'impression en tournant à la main une des tiges de l'axe Z (d'ou la graisse sur les mains) pendant l'impression de la jupe/bordure avant que l'impression des pièces ne soit véritablement commencée) Je ne suis pas électro-mécanicien ni électronicien alors je fais certaines choses au « feeling ». J'ai dans l'idée que d’intervertir les fils d'alimentations d'un moteur lorsqu'il est sous tension ce n'est pas très bon pour la longévité du pilote voire du moteur lui-même à cause des courants transitoires que les bobines du moteur ne vont pas manquer de créer. Alors la macro klipper coupera les moteurs z avant tous changements d'état des relais. J'ai mis également un délai un peu au pifomètre entre la coupure du courant et la bascule des relais. L'imprimeur attentif n'aura pas manqué de relevé l'incohérence qu'il y a à vouloir corriger un problème dû à l'arrêt de l'alimentation des moteurs quand l'imprimante est au repos, en coupant l'alimentation de ces moteurs en plein milieu de la procédure de correction ! L'expérience tranchera... Voici le câblage original des moteurs sur les drivers de ma melzi (diapo dagoma issue du manuel de montage) On y remarque que - les moteurs z sont branchés en série sur le même driver, du coup, débrancher l'un des moteurs empêche l'autre de fonctionner, il va falloir faire plus subtile... On remarque aussi que - le câblage de l'extrudeur est inversé par rapport aux autres moteurs, de fait, il ne tourne pas dans le même sens. Je remercie Dagoma d'avoir inversé le câblage de l'extrudeur plutôt que d'avoir inversé le sens de rotation du moteur dans le firmware car cela m'indique comment câbler un moteur step pour le faire tourner à l'envers ! Voici donc ce que j’ai fait module 4 relais au repos module 4 relais activés : inversion des paires de fils (vert, rouge) et (gris, jaune) En fait je pense que cela pourrait marcher tout aussi bien si les moteurs étaient branchés en parallèle plutôt qu'en série. Voici mon module à 4 relais avec les câbles de branchement. En bas à gauche on trouve branchés les trois fils qui alimentent et commandent la carte : le noir (gnd) le blanc (signal) le violet +5V (vcc). Ils sont branchés sur des pins de la carte contrôleur de l'imprimante. Côté droit les deux groupes de 4 fils qui permettent d’insérer ce module sur la nappe qui va à l'un des moteurs de l'axe Z. Voici comment sont câblées les choses. En fait (vers moteur) et (vers pilote) sont interchangeables. Le câblage est fait de sorte que lorsque les relais sont au repos il n'y ait pas d’inversion. Les quatre entrées in1..in4 sont connectées entre elles, car les relais ne sont pas pilotés individuellement, ils basculent tous en même temps, un seul fil de commande (blanc) est nécessaire. En bas vcc et jdvcc sont reliés entre eux, cela signifie que la carte relais (y compris les électroaimants) est alimentée par la carte de l'imprimante (fil noir gnd et fil violet +5vcc). Pour piloter les relais depuis klipper, il faut choisir un pin disponible sur la carte de l'imprimante et la configurer dans le fichier printer.cfg de klipper. C'est sur ce pin que je branche mon fil blanc (signal), je l'ai nommé "croiser_z" dans le fichier de conf. Les pins qui servent à alimenter la carte relais n'ont pas besoin d'y être configurées. Sur ma melzi j'avais choisi A3 (fil noir sur la photo ci-dessous) et pour alimenter la carte relais les pins marqués vcc et gnd du bloc "ISP", les pins courbés servaient à mon bl-touch. La section correspondante dans le fichier de configuration de Klipper : [output_pin croiser_z] pin: !PA3 pwm: False # Set if the output pin should be capable of pulse-width-modulation. # If this is true, the value fields should be between 0 and 1; if it # is false the value fields should be either 0 or 1. The default is # False. #static_value: # If this is set, then the pin is assigned to this value at startup # and the pin can not be changed during runtime. A static pin uses # slightly less ram in the micro-controller. The default is to use # runtime configuration of pins. value: 0 # The value to initially set the pin to during MCU configuration. # The default is 0 (for low voltage). shutdown_value: 0 # The value to set the pin to on an MCU shutdown event. The default # is 0 (for low voltage). Sur ma toute nouvelle skr1.4 turbo j'ai choisi P1.0 [output_pin croiser_z] pin: !P1.0 pwm: False #static_value: value: 0 shutdown_value: 0 Le "!" devant le nom physique du pin (PA3 ou P1.0), c'est pour inverser sa logique, car mon module relais fonctionne de la façon suivante : - signal haut : + 5V; les relais sont au repos les bobines des électro-aimants ne sont pas alimentées les bornes COM (common) et NC (normaly close je crois) sont connectées entre elles et laissent passer le courant tandis que NO (normaly open je crois) n'est reliée à aucune autre borne. - signal bas : 0V; les relais sont activés (les electro-aiments sont alimentés) les bornes NO et COM sont connectées entre elles et NC n'est plus reliée a rien. Tous les pins VCC 5v ne font pas l'affaire sur la skr1.4 turbo. A mon premier essai avec la skr j'avais choisi d'alimenter en +5V la carte relais avec le pin "NPWR" du bloc "neopixel" qui peut alimenter un bandeau led du même nom (flèche la plus basse sur l'image ci-dessous), hé bien mauvaise pioche : 2 "clacs" à la mise sous tension et idem à la mise hors tension. A mon deuxième essai j'alimente la carte relais avec le "5v" du bloc "PWRDET" (flèche la plus à droite) et là tous fonctionne correctement, à la mise sous tension et hors tension de l'imprimante les relais ne bougent pas. Ce qui m’intéresse au plus haut point c'est que les relais ne basculent pas de manière intempestive hors du contexte de ma macro de synchronisation des axes Z, en particulier à la mise sous tension de l'imprimante et lors de son arrêt. Le but étant de ne jamais risquer d'inverser le câblage alors que les moteurs Z seraient sous tension. Il faut que le signal de contrôle (+5V) soit disponible le plus tôt possible sur l'entrée de la carte relais pour qu'a la mise sous tension de cette carte les relais n'aient pas le temps de basculer. Hors visiblement au démarrage de la skr certains pins vcc 5v délivrent leur tension avant que klipper n'ait le temps d'envoyer les 5v sur le pin P1.0 (avant que l'imprimante ne soit complètement initialisée ?) du coup les relais ont le temps de se coller avant de recevoir l'ordre de ne pas le faire. On entend alors distinctement deux "clacs" qui témoignent des deux changements d'états non souhaités des relais. Un phénomène du même ordre se produit à la mise hors tension de l'imprimante. Pour remédier à ce problème le mieux serait d'utiliser des relais dont la logique de commande serait à l'inverse de ceux que j'utilise (en High-Level-Trigger plutôt que Low-Level-Trigger) et d'enlever le "!" qui inverse la logique. Partie logiciel : la macro klipper Klipper dispose d'un mécanisme de "templating" qui permet de créer ses propres macros. L'évaluation d'une macro produit typiquement une séquence de gcode, de commandes klipper ainsi que d'appels à d'autres macros qui feront elles aussi l'objet d'une évaluation. Des boucles de traitement, des tests, des évaluations d'expressions sont possibles, l’accès au fichier de configuration et à l'état interne de l'imprimante est possible. Ce mécanisme n'est pas du tous facile à utiliser pour faire des choses un peu complexe, mais a l'immense intérêt d'exister ! La difficulté principale vient du mécanisme d'évaluation. Il faut, à chaque fois qu'une opération dans une macro modifie l'état interne de l'imprimante, si l'on veut exploiter le résultat de ce changement appeler une autre macro. Il n'y a donc pas une seule macro mais plusieurs, à la fin de la première on appellera la seconde qui appellera à son tour une troisième et ainsi de suite. Il y a, en l'état, beaucoup de prérequis pour que mes macros fonctionnent, mais rien de très exotiques je pense : - cinématique de l'imprimante : cartésienne - configurer et utiliser un mesh pour le "bed leveling" section [mesh_bed] - utiliser une sonde en lieu et place d'un end-stop pour l'axe Z (bl-touch, capacitive, inductive, servo...) qui se déplace avec la tête. Section [bltouch] ou [probe] avec des valeurs pour "x_offset" et "y_offset" qui sont lues par la macro. - avoir défini une section [safe_z_home] avec des valeurs pour "z_hop", "z_hop_speed", "home_xy_position" et "speed" qui sont lues par la macro - avoir défini une section [respond] pour activer le gcode M118. Mes macros dans le fichier de configuration de klipper : # Cette macro n a pas de gcode, sont evaluation ne produit pas d instruction # mais j y regroupe des variables que je peux consulter depuis d autres macro [gcode_macro tas] variable_ecartref: 0.0 variable_mesureagauche: 0.0 variable_mesureadroite: 0.0 gcode: # pas foncierement utile me permet d ecrire # set VARIABLE=ecartref VALUE={ecartreference} # plutot que # SET_GCODE_VARIABLE MACRO=tas VARIABLE={params.VARIABLE} VALUE={params.VALUE} [gcode_macro set] gcode: SET_GCODE_VARIABLE MACRO=tas VARIABLE={params.VARIABLE} VALUE={params.VALUE} # corrige l inclinaison de l axe X # le plateau doit etre vide. A faire avant l impression # les instructions entre {% %} sont des instructions propres au systeme de templating # les expressions entre { } sont remplacees par leurs evaluations et peuvent parametrer des gcodes [gcode_macro zsync] gcode: SAVE_GCODE_STATE NAME=etat_sauve {% block b %} # recuperer dans une variable "px" accessibe dans cette macro seulement # la largeur du mesh en nombre de points (sur l axe X) {% set px=printer.bed_mesh.mesh_matrix[0]|count %} # recuperer la profondeur du mesh en nombre de point (sur l axe Y) {% set py=printer.bed_mesh.mesh_matrix|count %} # recuperer depuis le fichier de configuration de klipper la valeur de # "z_hop" dans la section "safe_z_home" {% set zhope=printer.configfile.config["safe_z_home"]["z_hop"]|int %} {% set zhopespeed=printer.configfile.config["safe_z_home"]["z_hop_speed"]|int * 60 %} # calculer l ecart en hauteur, a mi-profonduer du lit (en Y), de la tete au lit entre la gauche et a la droite du lit # a partir des valeurs du mesh actif {% set ecartreference=printer.bed_mesh.mesh_matrix[(py/2)|int][0] - printer.bed_mesh.mesh_matrix[(py/2)|int][px-1] %} # le gcoge M118 affiche dans le terminal et l onglet klipper d octoprint le message qui le suit M118 zsync M118 mesh {px}*{py} ptG({(py/2)|int},0):{printer.bed_mesh.mesh_matrix[(py/2)|int][0]}, ptD({(py/2)|int},{px-1}):{printer.bed_mesh.mesh_matrix[(py/2)|int][px-1]} # la il y a un piege "set" n est pas comme dans les lignes precedantes une instruction du langauge de "templating" # il n est pas entre {% %} c est le nom de la macro que j ai defini precedemment # j invoque cette macro pour memoriser la valeur de la variable "ecartreference" dans une autre varible : "ecartref" # dont la portee n est pas limitee a cette macro mais pourra etre utilisee partout set VARIABLE=ecartref VALUE={ecartreference} G28 # appele de macro mesureagauche # gcode parametre avec des variables G1 Z{zhope} F{zhopespeed} mesureadroite G1 Z{zhope} F{zhopespeed} suite1 {% endblock %} # fin des gcodes generes par la macro zsync # cependant elle appele d autres macros qui # produisent aussi du gcode [gcode_macro mesureagauche] gcode: {% block b1 %} {% set xmin=printer.bed_mesh.mesh_min[0] %} {% set ymin=printer.bed_mesh.mesh_min[1] %} {% set ymax=printer.bed_mesh.mesh_max[1] %} # utiliser "probe" à la place de "bltouch" si necessaire... {% set y_offset=printer.configfile.config["bltouch"]["y_offset"]|float %} {% set x_offset=printer.configfile.config["bltouch"]["x_offset"]|float %} {% set speed=printer.configfile.config["safe_z_home"]["speed"]|int * 60 %} # je deplace la tete sur la gauche a l endroit qui (je crois) correspond a la mesure extraite du mesh pour la gauche du lit G1 X{xmin + (-1* x_offset)} Y{ ((ymax-ymin)/2) + ymin + (-1 * y_offset) |round(6)} F{speed} # instruction de klipper qui utilise le sonde pour evaluer la distance au plateau PROBE mesureagauchesuite {% endblock %} [gcode_macro mesureagauchesuite] gcode: # je memorise la hauteur a laquelle la sonde c est declanchee set VARIABLE=mesureagauche VALUE={ printer.toolhead.position.z } [gcode_macro mesureadroite] gcode: {% block b1 %} {% set xmax=printer.bed_mesh.mesh_max[0] %} {% set x_offset=printer.configfile.config["bltouch"]["x_offset"]|float %} {% set speed=printer.configfile.config["safe_z_home"]["speed"]|int * 60 %} G1 X{xmax + (-1* x_offset) } F{speed} PROBE mesureadroitesuite {% endblock %} [gcode_macro mesureadroitesuite] gcode: set VARIABLE=mesureadroite VALUE={ printer.toolhead.position.z } [gcode_macro suite1] gcode: {% block b2 %} # a partir des mesures faites precedemment je calcule la correction {% set ecartmesure=printer["gcode_macro tas"].mesureagauche|float - printer["gcode_macro tas"].mesureadroite|float %} {% set ecartreel=ecartmesure - printer["gcode_macro tas"].ecartref|float %} {% set xsafehome=printer.configfile.config["safe_z_home"]["home_xy_position"].split(',')[0] %} {% set speedsafehome=printer.configfile.config["safe_z_home"]["speed"]|int * 60 %} {% set zhopespeedsafehome=printer.configfile.config["safe_z_home"]["z_hop_speed"]|int * 60 / 4 %} # message M118 ecartMesh : {printer["gcode_macro tas"].ecartref|float} M118 ecartMesure : {ecartmesure} M118 ecartReel (ecartMesure - ecartMesh) : {ecartreel} # correction G90 G1 X{xsafehome} F{speedsafehome} opposerZ G91 M118 deplacement de (ecartreel/2) >>>> G1 Z{(ecartreel / 2)|round(6)} G1 Z{ (ecartreel/2)|round(6) } F{zhopespeedsafehome} retablirZ G28 Z # c est fini RESTORE_GCODE_STATE NAME=etat_sauve {% endblock %} [gcode_macro opposerZ] gcode: M118 opposerZ # couper l alimentation des moteurs Z SET_STEPPER_ENABLE STEPPER=stepper_z ENABLE=0 # attendre 0.5s G4 P500 # changer la valeur du pin de controle sur lequel est branche la carte relai SET_PIN PIN=croiser_z VALUE=1 # attendre 0.1s que les relais aient eu le temps de bouger G4 P100 # retablir l alimentation des moteurs Z SET_STEPPER_ENABLE STEPPER=stepper_z ENABLE=1 [gcode_macro retablirZ] gcode: M118 retablirZ SET_STEPPER_ENABLE STEPPER=stepper_z ENABLE=0 G4 P500 SET_PIN PIN=croiser_z VALUE=0 G4 P100 SET_STEPPER_ENABLE STEPPER=stepper_z ENABLE=1 Il me suffit de taper "zsync" dans le terminal pour lancer la macro ou de l’insérer dans le gcode de démarrage de mon slicer. Voilà le retour de la macro : Send: zsync Recv: // zsync Recv: // mesh 15*15 ptG(7,0):-0.034375, ptD(7,14):-0.004375 Recv: // probe at 2.000,75.988 is z=5.365000 Recv: // Result is z=5.365000 Recv: // probe at 205.975,75.988 is z=3.495000 Recv: // Result is z=3.495000 Recv: // ecartMesh : -0.03 Recv: // ecartMesure : 1.87 Recv: // ecartReel (ecartMesure - ecartMesh) : 1.9 Recv: // opposerZ Recv: // deplacement de (ecartreel/2) >>>> G1 Z0.95 Recv: // retablirZ Recv: ok Cela marche plutôt bien. Pas parfaitement néanmoins, pour le moment je lance plusieurs fois de suite la macro, pour arriver à une correction qui permet une première couche impeccable. Les exécutions successives améliorent la correction, mais ne la dégradent pas. Quatre exécutions me permettent d'avoir une première couches parfaite. Au-delà les corrections oscillent sans améliorer ou dégrader significativement les choses (on est alors proche d'un écart entre la gauche et la droite du plateau de l'ordre de la précision de la sonde). Une série de mesures : [...]Recv: // deplacement de (ecartreel/2) >>>> G1 Z0.95 [...]Recv: // deplacement de (ecartreel/2) >>>> G1 Z0.222187 [...]Recv: // deplacement de (ecartreel/2) >>>> G1 Z0.05375 [...]Recv: // deplacement de (ecartreel/2) >>>> G1 Z0.004688 [...]Recv: // deplacement de (ecartreel/2) >>>> G1 Z-0.01375 [...]Recv: // deplacement de (ecartreel/2) >>>> G1 Z0.005 [...]Recv: // deplacement de (ecartreel/2) >>>> G1 Z0.004062 Pourquoi cela ne marche pas du premier coup ? Plusieurs hypothèses me viennent : - lorsque la macro coupe l'alimentation sur Z, il est bien possible que les moteurs tournent sous le poids de l'axe X, les microsteps, à coups sûrs, sont perdus. - il y a peut être un bug dans ma macro. Je ne suis pas sûr en particulier que je positionne la tête au bon endroit lorsque je fais le "probe" sur la gauche et sur le droite du plateau par rapport aux valeurs que j'extrais du mesh pour corriger ces mesures. Coté amélioration, j'ai tellement tâtonné pour câbler la sortie des relais, que j'ai maintenant la certitude que 4 relais c'est luxe ! On peut faire avec moins. Par exemple, plutôt que d'inverser l'alimentation des bobines avec 2 relais par bobine, il me paraît possible de bloquer un moteur en déroutant le courant de ces bobines vers de simples résistances avec deux relais, un seul par bobine. Il est peut être même possible de bloquer un moteur en agissant sur une seule de ses bobines avec un seul relais ! Une fois que l'on sait bloquer un moteur il suffit de changer la macro pour corriger l'inclinaison en bougeant un seul moteur et non les deux. C'est plus classe de voire les extrémités de l'axe X bouger en sens opposés (j'adore dérégler l'imprimante juste pour le plaisir de la voire se re-régler toute seule !) que de voir une seule extrémité bouger lors de la correction, mais ce n'est sans doute pas plus opérationnel. Le mieux, ennemi du bien ? J'ai commencé ce montage avec ma bonne vieille melziV2 et je l'ai fini sur un skr 1.4 turbo... Car j'ai grillé la melzi en voulant raffiner la solution. Je sais que le bl-touch est très sensible à la tension d'alimentation : 4.9V c'est le minimum et 5.1V le maximum. Aussi j'ai voulu éviter d'alimenter le module relais avec les 5V de la melzi, en l'alimentant avec une source externe (ne plus relier jdvcc et vcc). Mais voilà, un mauvais branchement en 12V pour alimenter le module a eu raison de la melzi. Une melzi ce n'est pas cher, mais il faut 3 semaines pour la faire venir de Chine, alors je l'ai remplacée par une carte bien plus onéreuse (et puissante) disponible sous 3 jours : une skr1.4 turbo. Je n'ai pas perdu au change, mais j'ai l'impression d'avoir mis un moteur fusé sur un Solex ! Et c'est un comble pour moi qui ne voulais pas changer pour une carte avec un pilote par moteur alors que précisément cette skr dispose d'un pilote en rab (pour un deuxième extrudeur). a+
    1 point
  31. Suite à ma visite au salon 3D Print sur le stand Dagoma et à leur devis et explications, voici mon avis sur cette machine. La Dagoma Pro 430 est proposée comme une machine à l’usage professionnel (c’est très clairement le discours du fabricant) a un tarif 5.040 € de base auquel vous serez obligé d’ajouter des options pour améliorer ses possibilités. Avec un grand volume imprimable de 48 litres (43 x 32 x 36 cm) la Dagoma ne pèse que 15,4 Kg, là où toutes les machines pro concurrentes se situent entre 50 et 100 Kg. Quelle est la solution miracle de Dagoma pour arriver à diviser par cinq le poids de la machine. Première économie, supprimer le châssis de la machine et le remplacer par une simple planche de MDF noir d’une vingtaine de millimètres d’épaisseur. (Coût et poids mini). Seconde économie, les côtés sont faits de trois plaques de plexi posées sur quatre plots avec une vis, pas de joint, pas d’ajustement et Hop les côtés sont posés. (Coût et poids mini). Troisième économie, La face avant atteint le summum de la simplicité, une plaque de plexi découpée avec quatre petits aimants pour la retenir, rien pour la positionner et surtout faites très attention, car si vous la laissez glisser de quelques centimètres vous explosez l’écran qui est juste en dessous. (Coût mini, mais risque maxi) Passons à la partie mécanique de cette imprimante : L’axe X est la copie des axes des petits lasers bon marché Ortus laser master, mais en plus petit et moins solide. (Là encore le coût de revient doit être ridiculement bas comme la qualité). L’axe Y c’est également surprenant, car pour un entraxe de plus de 500 mm entre les arbres, il n’y a qu’une unique bague de guidage série longue de chaque côté. (Et oui, toujours le coût mini) Les accessoires : Ne cherchez pas ni où ni comment poser votre bobine de filament, car rien n’est prévu ni fourni avec la machine. (On atteint l’économie totale) Comme l’imprimante est un couloir à courants d’air (aux quatre angles) Dagoma vous propose un caisson chauffant à 1.884 € Les plateaux PEI lisses et les texturés sont vendus chacun entre 120 et 150 €. Je vous ai réservé le meilleur pour la fin. Si vous souhaitez pouvoir imprimer en 0,2 – 0,4 – 0,6 et 0,8 les matériaux non chargés et en 0,4 et 0,6 les matériaux chargés, la solution est très simple vous achetez six têtes complètes à 420 € chacune donc 2.520 €. Pourquoi acheter six têtes et non seulement six buses et bien les ingénieux ingénieurs de Dagoma n’ont pas prévu que les idiots utilisateurs puissent changer eux même les buses (je ne plaisante pas, ils me l’ont dit et confirmé par écrit). Vous imaginez lorsque votre buse se bouche, vous démontez la tête et l’envoyez chez Dagoma, si tout va bien une semaine après vous pourrez reprendre votre impression. Un détail qui m’a choqué (et oui, encore un) le connecteur principal de la tête d’impression c’est un connecteur basique de carte électronique fait normalement pour être mis en place et ne plus bouger sauf en cas de changement de la carte. Donc le vrai prix d’une Dagoma Pro 430 complète est proche de 10.000 €. Pour résumer, il n’y a que des solutions techniques très bas de gamme, vendues plus cher que du haut de gamme, c’est totalement incompréhensible et inadmissible. Une telle bécane ne vaut pas plus de 1.500 € étant produite en Europe.
    0 points
×
×
  • Créer...