Problème Capteur capacitif et Marlin

Améliorations spécifiques à L'Hephestos 1 BQ et rien d'autre
Rudy2A
Contributeur
Messages : 70
Inscription : dim. avr. 30, 2017 7:51 pm
Imprimante 3D : Bunch3D
Prusa I3 Hephestos 2017
Localisation : Ajaccio

Bonjour à tous,

Je sais que mon sujet pourrait paraitre redondant... Je cherche à installer un capteur capacitif sur mon Hephestos 2017 et au vu des tutos qu’il y a ici je me suis dit que ce devrait être assez simple d’autant plus que ma machine dispose d’une carte ZUM, ce qui facilite le branchement du capteur... Mais voilà, je suis sur Mac et après de nombreux essais, je n’arrive pas à compiler !

J’ai pourtant téléchargé et installé Arduino 1.8.4 (pour Mac). la version Marlin pour BQ (2.5.1) ici https://github.com/bq/Marlin et là déjà un premier problème. Dans le dossier Marlin fraichement téléchargé, il n’y a pas le fichier Marlin.ino (ou alors, je dois contacter d'urgence Optique2000).

Après avoir bidouillé pour comprendre comment ça marchait, j’ai créé un fichier .ino (puis qu’apparemment ça reste du fichier TXT). De ce fait, j’arrive à ouvrir l’ensemble sous Arduino à changer les données dans le fichier Configuration h, mais seulement une fois que je vérifie les "croquis", j’ai des erreurs et de plus la carte ZUM n’est pas référencé dans les outils (bien sûr, je ne comptais pas importer cela sur ma machine, mais juste comprendre le cheminement en m'arrêtant juste avant le téléversement)...

J’ai vu également qu’on pouvait utiliser (ou devais utiliser) «Make», mais une fois de plus sous Mac j’ai dû ouvrir ce dernier en téléchargeant Xcode... Un fichier s’ouvre, mais je n’avance pas plus !

Donc, si je suis là... vous vous en doutez, c'est que je patauge dans un vrai sac de noeuds...

Avez-vous un retour d’expérience ou des pistes à me fournir ? Le but serait pour moi de remplacer ce dérivé de Marlin BQ (fichier hex) par Marlin officiel pour pouvoir avoir accès au fichier .h.

Merci à vous
Avatar de l’utilisateur
Jacques
Site Admin
Messages : 5616
Inscription : jeu. oct. 23, 2014 3:02 pm
Imprimante 3D : Witbox, Witbox 2 et Hephestos
Localisation : Aix en Provence
Contact :

Dans la nouvelle version du compilateur Arduino il n'y a plus de fichier .ino, c'est donc normal de ne pas le trouver.
L'utilitaire Make permet de compiler et de downloader le firmware dans l'imprimante.
Avant il faudra éditer les fichiers dans le répertoire config de sa propre imprimante.
Il n'y a donc pas grand chose à faire si ce n'est de respecter à la lettre le mode d'emploi qui se trouve ici https://github.com/bq/Marlin/blob/maste ... ilation.md

Malheureusement il n'y a pas de version Mac. Peut être la virtualisation serait la solution https://www.opensourcemacsoftware.org/v ... atuit.html. Le risque c'est de ne pas pouvoir utiliser le port com.
Des idées d'améliorations https://www.thingiverse.com/Premium/designs
Une question, une précision, un manque de pièces détachées, posez vos questions ici même.
fafa20
Contributeur actif
Messages : 201
Inscription : sam. mars 26, 2016 10:45 am
Imprimante 3D : prusia i3 hephestos
Localisation : rambouillet

la procédure avec la commande make fonctionne avec toute les releases ou que avec les dernier 2.5 car je préfère rester sur ma version 1.4.2
Avatar de l’utilisateur
Jacques
Site Admin
Messages : 5616
Inscription : jeu. oct. 23, 2014 3:02 pm
Imprimante 3D : Witbox, Witbox 2 et Hephestos
Localisation : Aix en Provence
Contact :

Il faut regarder si le fichier ino est présent mais je crois que c'est compatible avec toutes les versions
Des idées d'améliorations https://www.thingiverse.com/Premium/designs
Une question, une précision, un manque de pièces détachées, posez vos questions ici même.
Rudy2A
Contributeur
Messages : 70
Inscription : dim. avr. 30, 2017 7:51 pm
Imprimante 3D : Bunch3D
Prusa I3 Hephestos 2017
Localisation : Ajaccio

Oui effectivement, je ne l’ai pas précisé. L’émulation de Windows en utilisant Parallels Desktop est une chose que j’ai essayée avant de poster mon premier message. or j’émule Windows 10 et il semblerait que Make-3.81 (GnuWin32 - Make) utilisant l’extension . hlp n’est plus compatible sous Windows 10... Sauf s’il y a une version compatible sous W10, mais les recherches n’ont rien donné !
Avatar de l’utilisateur
Jacques
Site Admin
Messages : 5616
Inscription : jeu. oct. 23, 2014 3:02 pm
Imprimante 3D : Witbox, Witbox 2 et Hephestos
Localisation : Aix en Provence
Contact :

Surprenant, les extensions de fichiers sont liés à la base de registres pas à Windows, on peut nommer un fichier comme on veut du moment que l'on ne demande pas à Windows avec quoi il s'ouvre.
Des idées d'améliorations https://www.thingiverse.com/Premium/designs
Une question, une précision, un manque de pièces détachées, posez vos questions ici même.
Rudy2A
Contributeur
Messages : 70
Inscription : dim. avr. 30, 2017 7:51 pm
Imprimante 3D : Bunch3D
Prusa I3 Hephestos 2017
Localisation : Ajaccio

Bonjour,

Je viens de trouver une solution toute simple pour modifier et remplacer le firmware BQ par Marlin avec la fonction Make avec un Mac et de ce faite activer les fonctions que l’on veut dans le fichier H ... Jacques parlait à juste titre d’effectuer une émulation de Windows par l’intermédiaire d’un logiciel tierce (Parrallels par exemple) et soulignait un éventuel problème sous cette émulation du port Com (ce qui est avéré).

Ayant abandonné l’idée après plusieurs tests (sans aucun résultat), je me suis servi tout bêtement du gestionnaire Bootacamp d’Apple (installé d’origine sous Mac OS X). Ce gestionnaire permet d’installer nativement (pas d’émulation) toute version de Windows en 64 bits ! J’ai donc maintenant deux systèmes différents et indépendants sur mon Mac BookPro et je peux me servir de Make et ça fonctionne parfaitement...

Petite question, si j’ai bien compris (sans parler de comment compiler avec Make, car j’ai trouvé assez d’info ici)... J’ai juste à connecter mon capteur capacitif à la place de mon fin de course qui règle mon zéro et à téléverser Marlin avec les bonnes options ?

Autre point, lorsque je téléverse mon nouveau Marlin via Make sur mon imprimante, je ne vois aucun signe ou info (sur le LCD de l'imprimante) qui laisse apparaitre que l’opération est en cours et que l’opération est terminée (pourtant c’est réussi) ... Est-ce normal ?

Merci
Avatar de l’utilisateur
Jacques
Site Admin
Messages : 5616
Inscription : jeu. oct. 23, 2014 3:02 pm
Imprimante 3D : Witbox, Witbox 2 et Hephestos
Localisation : Aix en Provence
Contact :

Si l'on regarde bien la carte Arduino, il y a deux led received et transmit qui clignotent lors du chargement du firmware. Après le chargement, l'imprimante reboote et revient au menu.
Si l'on est pas attentif en effet on ne voit pas grand chose se passer.

Pour le capteur il faut effectivement remplacer le switch par le capteur.
Remarquez que vous pouvez aussi utiliser les broches pour capteur 12V. Sur la zum il y a 3 broches marqués ind-s-12V (J11). L'avantage c'est que le pont diviseur 12/5v est déjà intégré à la carte.
Dans ce cas ce n'est pas le Z switch qui sert mais le ind-sens, la config doit en tenir compte.
Inductive sensor zum.JPG
Inductive sensor zum.JPG (28.49 Kio) Consulté 12592 fois
Attention ce n'est pas le même connecteur que la H2 et les broches Mâles sont à souder pour y connecter le capteur. Sur la H2 le capteur inductif est branché sur le Z max (ind-5v) selon les schémas, la configuration n'est donc pas identique à la H1

:idea: Lors des tests, montez votre tête en haut et simulez à la main la détection du 0 afin d'être certain que ca fonctionne avant de laisser la tête s'écraser lamentablement sur le verre du plateau :-ss
Des idées d'améliorations https://www.thingiverse.com/Premium/designs
Une question, une précision, un manque de pièces détachées, posez vos questions ici même.
Rudy2A
Contributeur
Messages : 70
Inscription : dim. avr. 30, 2017 7:51 pm
Imprimante 3D : Bunch3D
Prusa I3 Hephestos 2017
Localisation : Ajaccio

Merci pour vos conseils, cependant j’aimerais avoir un petit complément. Le pont diviseur 12/5v est-il actif également en se connectant sur le brochage du Z-min ou uniquement sur le Ind-s-12v (désolé, j’ai pas bien compris si ce pont était actif d’une manière générale sur la carte ou seulement sur une seule option de circuit :nononono: ) ? Si oui (actif pour les 2 branchements) quel est l’avantage de se connecter sur le Ind-s-12v... Converser le fin de course Z ?

Merci.
Avatar de l’utilisateur
Jacques
Site Admin
Messages : 5616
Inscription : jeu. oct. 23, 2014 3:02 pm
Imprimante 3D : Witbox, Witbox 2 et Hephestos
Localisation : Aix en Provence
Contact :

Non le pont diviseur n'est présent que sur IND-S-12V, sur Z min ou IND-S-5V il n'y a rien car ca fonctionne en 5V il n'y a donc pas besoin de diviser la tension
Des idées d'améliorations https://www.thingiverse.com/Premium/designs
Une question, une précision, un manque de pièces détachées, posez vos questions ici même.
Rudy2A
Contributeur
Messages : 70
Inscription : dim. avr. 30, 2017 7:51 pm
Imprimante 3D : Bunch3D
Prusa I3 Hephestos 2017
Localisation : Ajaccio

Bonjour,

Malgré le vouloir de m’en sortir seul... Je n’y arrive pas !

En effet comme dit plus haut, je voulais mettre en option sur ma H1 (carte ZUM) un capteur inductif. Or impossible de trouver les bons paramètres pour la gestion de ce dernier. J’ai beau fouiner, chercher sur internet et les forums. Peu de personnes parlent des options et configurations que l’on peut mettre sur cette machine en mettant les mains dans Marlin (je commence même à regretter d’avoir acheté la H1 disposant d’une carte Zum... Bref c’est un autre débat)

Pour en revenir à mon capteur, j’aimerai l’installer sur le IND-S 5v ou 12v (ou si il n’y pas le choix sur le Z) et activer les bons paramètres dans le fichier H ... Mais où sont ces paramètres (toutes les infos que j’ai trouvé correspondent à la H1 sans la carte Zum), pour moi c’est un grand mystère !

Après plusieurs tentatives et en bossant dessus depuis 4 jours (capteur installé et allumé) j’arrive toujours au même résultat (configuration h) . Lors d’une impression, ma machine, place l’extrudeur au centre du plateau d’impression, après que le plateau et l’extrudeur soient à la bonne température, mes X et Y se placent dans la position de démarrage (à gauche du plateau et plateau reculé au maxi) l’extrudeur se repositionne au centre du plateau pour démarrer l’impression... Mais là, quels que soient les réglages dans Marlin , ma buse vient forcer sur la vitre, elle ne s’arrête pas ! (je stoppe en urgence l’impression pour ne pas faire de dégâts)... Je n’ai peut être pas tout compris, on est bien d’accord pas besoin de pont diviseur... Mais faut-il tout de même des résistances sur le fil noir de mon capteur ?

J’aurais donc besoin de votre aide pour configurer mon Marlin comme il se doit, pour que mon capteur fonctionne correctement (début d’impression avec palpations d’angles et autoréglage de la planéité de mon plateau tout au long de mon impression)... J’aimerai également comprendre les avantages de se connecter en IND-S 5/IND-S 12v ou Z ?

Difficile je sais, mais je me dis que l’H1 de BQ n’est plus que vendue qu’en version 2017 (Zum) donc un moment donné je ne vais plus être le seul dans le cas ! Et puis je pense qu’ici il y a assez de grosses pointures pour m’apporter une solution :goodguy: !

Merci de votre retour .
Avatar de l’utilisateur
Jacques
Site Admin
Messages : 5616
Inscription : jeu. oct. 23, 2014 3:02 pm
Imprimante 3D : Witbox, Witbox 2 et Hephestos
Localisation : Aix en Provence
Contact :

La Zum n'est ni plus ni moins qu'une Arduino Mega2560 couplée avec une RAMPS et des pololou dont le courant est réglé par le firmware.
On a donc un produit plus performant et surtout plus fiable que l'ancienne version.
Donc un plus avec en revers, une moins bonne connaissance du produit.
Il faut quand même partir du principe de base et s'inspirer un peu de ce qui est fait sur l'Hephestos 2
La première des choses c'est de remplacer le switch Z avec le capteur tout seul et que ca fonctionne.
Ensuite on passe à la configuration proprement dite.
Suivant le type de capteur il fournit un plus ou un moins à l'approche du plateau, il faut déjà vérifier ce point. De base il doit fournir 0V à la détection du plateau
Ensuite on a besoin d'un convertisseur de tension (résistances) pour le signal car il fait 12V et notre logique fonctionne en 5V.
Lors de la configuration du détecteur, il nous faut indiquer au firmware la distance entre la détection et le bout de la buse, ce qui donnera l'offset à indiquer au firmware (je détecte le plateau mais il faudra ajouter X mm pour que la buse soit au niveau du plateau)
C'est là que ca se complique un peu avec un détecteur capacitif, la distance détection dépend de l'hygrométrie, on risque d'avoir dans le temps un 0 pas très stable. C'est du reste pour cette raison que BQ utilise un capteur inductif, plus précis mais demande une surface en métal sous le verre.
Si l'offset est dans le firmware, impossible de le régler à la volée... Un mauvais offset et on ne pourra tout simplement pas imprimer. Il sera donc important de pouvoir régler la hauteur du détecteur afin de compenser l'offset s'il dérive.

Donc première chose, s'assurer que le capteur fonctionne bien lorsqu'il est à la place du switch (ne pas oublier le diviseur de tension avec les résistances et brancher le fil signal à la place du switch Z)
Des idées d'améliorations https://www.thingiverse.com/Premium/designs
Une question, une précision, un manque de pièces détachées, posez vos questions ici même.
Rudy2A
Contributeur
Messages : 70
Inscription : dim. avr. 30, 2017 7:51 pm
Imprimante 3D : Bunch3D
Prusa I3 Hephestos 2017
Localisation : Ajaccio

Merci Jacques,

Donc, si j’ai bien compris mon problème viendrait uniquement du "pont réducteur" car mon capteur (connecté à la place du Z) fonctionne parfaitement à l’approche du plateau (la led s’allume en rouge à l’approche du plateau et s’éteint dans le cas contraire) tout en ayant calculé et paramétré mon offset (pointe de la buse au touché du plateau moins l’épaisseur d’une feuille de 80g).

C’est là que je perds pied, en effet... si mon switch Z à une tension de sortie de 5 v pourquoi utiliser une résistance pour obtenir du 12 v sachant que notre logique à besoin de 5v et que mon capteur accepte 6/36v ? (Je pense que pour moi, les lacunes sont ici... je n’ai pas compris et oui je comprends vite, mais il faut m’expliquer et réexpliquer longtemps... très longtemps même !)

Donc si, j’ai besoin de placer 2 résistances, pour que le fil de signal fonctionne correctement (noir), je dois bien en placer une (R25 15+/-1%0.1W) comme sur votre schéma plus haut en sortie 3 du connecteur J11 et une autre (R26 10+/-1%0.1w) sur une masse (peut importe laquelle) ? Ou bien je suis bidon dans le domaine et je n’ai rien capté ? Si c’est confirmé pour les résistances, ce qui m’a induit en erreur est les précédents commentaires ou j’ai cru comprendre que la carte Zum gérait tout toute seule...

Autre point, si je change mon capteur capacitif contre un capteur inductif, disposant d’un plateau chauffant (origine BQ) ce dernier sera-t-il détecté par le capteur inductif ou devrais-je mettre absolument une feuille d’aluminium (par exemple) entre mon plateau et mon verre ?

Ce que j’aimerais savoir également. Avec la carte Zum les paramètres de Marlin sont-ils commentés ou dé commenté (la configuration du firmware)de la même façon que l’ancienne H1 (je ne parle pas bien évidement de valeurs liées au volume d'impression ou autre) . Mais uniquement de façon de commenter ou dé commenté son Marlin !

Autre chose, que l’on ne dit pas assez souvent à mon goût. Ayant tourné sur pas mal de sites et forums avant de me lancer dans l’impression 3d. Il faut saluer votre compétence et la rapidité de vos réponses (y compris le WE), la qualité du support, vos tarifs, vos produits en "boutique" ou il n’y a pas d’artifice ou fioriture, mais que du nécessaire pour nous contenter ^:)^ ! Alors certains y verront peut-être ça comme un passage de pommade, mais moi quand je suis content d’un service je l’exprime !

Merci !
Avatar de l’utilisateur
Jacques
Site Admin
Messages : 5616
Inscription : jeu. oct. 23, 2014 3:02 pm
Imprimante 3D : Witbox, Witbox 2 et Hephestos
Localisation : Aix en Provence
Contact :

Le capteur a besoin de 12V pour fonctionner (alimentation) contrairement au switch qui fonctionne en 5V.
On peut soit utiliser le pont diviseur du circuit ou le reproduire si l'on veut utiliser le connecteur Z du circuit sur la Zum.
Image
Pourquoi : le détecteur fonctionnant sous 12V donnera une tension de 12V lorsqu'il ne détecte pas le plateau et 0 à sa détection. Le problème c'est que la logique Arduino fonctionne en 5V et mettre 12V pourrait détruire le processeur Arduino. Le jeu de résistance sert à abaisser la tension par une division 2/5 (rapport des résistances).
Ensuite ce n'est pas parce que le détecteur s'allume qu'il fonctionne comme il faut au niveau du signal. On mesure entre la masse et le signal afin de s'en assurer. Notez que suivant le type de capteur, il peut aussi fonctionner de manière inverse (5V en détectant le plateau)

Le plateau chauffant peut être détecté mais de par sa constitution en tracé, la détection ne sera pas précise (cuivre, rien, cuivre). Il faut donc ajouter une feuille de métal pour utiliser un capteur inductif. Ca devient alors compliqué.
L'idéal est d'utiliser un palpeur mécanique qui va mesurer la surface et non en dessous de la surface. Cette méthode permet une mesure bien plus précise qui ajuste le 0 même si l'on met un scotch ou un buildtak.
Il y a aussi le problème du Z qui doit pouvoir monter ou descendre sans le moindre jeu de fonctionnement. Ca demande une mécanique très précise que nous n'avons pas.
A mon sens seul une méthode parfaite donnera un résultat satisfaisant. Sur les imprimantes BQ le verre est collé à une plaque de métal afin d'avoir une certaine précision. Sur la Witbox Go c'est la buse qui touche une bande de métal et fait un contact électrique pour mesurer le 0
Le capteur 3D touch semble aussi être une solution efficace mais un peu chère à l'achat.
Un dernier problème c'est que ce système est relativement fragile, en cas de problème l'imprimante devient inutilisable.

Voila pourquoi je ne me suis pas penché sur cette réalisation avec l'Hephestos qui fonctionne très bien avec un plateau bien réglé. J'ajuste simplement la vis du Z en fonction de la température de la pièce. Fiable et simple, je ne suis jamais en panne.

Marlin avec la Zum se configure exactement comme avec une carte Arduino, c'est même une carte Arduino.
Des idées d'améliorations https://www.thingiverse.com/Premium/designs
Une question, une précision, un manque de pièces détachées, posez vos questions ici même.
Rudy2A
Contributeur
Messages : 70
Inscription : dim. avr. 30, 2017 7:51 pm
Imprimante 3D : Bunch3D
Prusa I3 Hephestos 2017
Localisation : Ajaccio

Bonjour,

En mesurant entre la masse de mon capteur et son signal (sans pont réducteur), j’obtiens sur une sortie 12v (ind-s-12v):

Le type de capteur utilisé est un «normalement ouvert».

LED allumé, détection du plateau = 12 v
LED éteint, non-détection du plateau = 6 v

Sur la sortie Z 5v:

LED allumé, détection du plateau = 0,05 v
LED éteint, non-détection du plateau = 4,9 v

Les valeurs ne me semblent pas logiques. Qu’en pensez-vous ?

Si j’utilise des résistances pour le pont. Je prends quelle puissance, 1/4W,1/2W,1W ou 2W (qui peut le plus, peut le moins) ?

Selon vous, il vaut mieux un capteur normalement ouvert ou normalement fermé ?

Merci.
Répondre