Aller au contenu

GO Print

[Amélioration] Autolevel HomeMade - range: 0.000


Messages recommandés

Je vous presente ceci:

 

Le postulat de départ pour moi c'est: l'autolevel, c'est pratique, çà apporte un plus, mais ce n'est pas indispensable et je vais pas me ruiner pour ca.

Du coup, pour un dizaine d'euro, j'ai acheté un 3DTouch. Au début niquel puis au bout de deux semaines, des galères au niveau de la première couche arrivent. je me rend très vite compte que le 3DTouch est déjà complètement a l'ouest avec des écarts de palpage de l'ordre de 0.2. Avant de le mettre a la poubelle, je le démonte et on voit bien que sa précision est lié a la qualité de l'ensemble.

Retour sur un fin de course standard qui fait bien le Job, mais l'autolevel c'est vraiment agréable quand on y a gouté, quels sont mes choix possibles : Capteur capacitif, mouai ou BLTouch Original trop cher pour ce que c'est.

Sachant qu'on peut contrôler des Servo, associé a un capteur optique, on peut faire quelque chose de pas trop mal. Je pensait avoir l'idee du siecle mais finalement en cherchant des infos, ca existe depuis un bail :D. Par contre pas vraiment d'info sur la réalisation et surtout aucune info sur la précision.

Quelques videos de système existant :

https://www.youtube.com/watch?v=BJbZ2XYm0p0
https://www.youtube.com/watch?time_continue=20&v=93bi-BLU6v8

https://www.youtube.com/watch?v=UmO2N2HlF7c

https://www.youtube.com/watch?v=hqBF5s-aBCQ
https://www.youtube.com/watch?v=Pyd__fvhwxA
https://www.youtube.com/watch?v=JbkAqFJ49SA

LE MATOS

Pour le servo, on ne réfléchi pas ce sera un SG90. moins d' 1€ sur Aliexpress par exemple.

sg90.jpg.52abbf11e48d8a7932a54b8531d2e86f.jpg

Pour le capteur optique, j'ai choisi un TCST2300

TCST2300.jpg.dad4a96dc6fcd06e79ff05f0175980cd.jpg

La plupart du temps c'est un endstop optique qui est utilisé avec un capteur moyen voir médiocre. Moi j'ai pas besoin d’électronique superflu, de led ...

J'ai choisi ce capteur pour son ouverture de 0.25mm contrairement au 1mm habituel. Une résistance chutrice de 63 Ohms (dans mon cas 2 resistances de 150 et 100 en //) fera l'affaire

tcst21031mm.png.9a0037bf3557a4260c6881440f3dd38c.pngtcst23000_25mm.png.ee3f78513a7424da24a5946dc9aee204.png

La pointe vient d'un lecteur DVD en panne. diametre de 2.99 pour une fourche de 3.1. Parfait

DSC08273.JPG.b277738438e72a1cd7daac0b4b0a3c97.JPG

Et c'est tout !

Ca vient de chine, ca laisse le temps de faire un peu de 3D :D

5a8fcd19adbc6_2018-02-2215_47_51-AutodeskFusion360.png.975975ef42847553c236d94cccc56552.png

EDIT : STL dispo sur Thingiverse : https://www.thingiverse.com/thing:2807107

LE CABLAGE

DSC08285.JPG.7d612c9b425bf1f4c93d4f09788fadb8.JPG

Ca se branche exactement comme un 3DTouch/BLTOUCH. Ici sur ma GT2560A+

autolevelv2_bb.png.c8484de96c618837979b4197e34bee21.png

MARLIN

Au niveau de Marlin, ICI une version 1.1.8 c'est grosso-modo comme un 3DTouch/BLTouch.

Dans pins_GT2560_REV_A_PLUS.h on ne va pas déclarer un BLTouch mais on va utiliser les memes pins. On peut faire autrement mais j'ai fais simple.

#define BOARD_NAME "GT2560 Rev.A+"

#include "pins_GT2560_REV_A.h"

#if ENABLED(BLTOUCH)
  #define SERVO0_PIN  11
#else
  //#define SERVO0_PIN  32
  #define SERVO0_PIN  11
#endif

Dans configuration.h , ca doit ressembler a ca

//Parametre pour le Servo

#define Z_ENDSTOP_SERVO_NR 0
#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles // valeur testé avec M280 

#define SERVO_DELAY { 300} // a augmenter a 1000 si servo lent
#define DEACTIVATE_SERVOS_AFTER_MOVE 


//Apres c'est classique pour de l'autolevel et a adapter
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
#define AUTO_BED_LEVELING_LINEAR

#define X_PROBE_OFFSET_FROM_EXTRUDER -25  // X offset: -left  +right  [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER -38  // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER -2.3  // Z offset: -below +above  [the nozzle]

  #define LEFT_PROBE_BED_POSITION 30
  #define RIGHT_PROBE_BED_POSITION 170
  #define FRONT_PROBE_BED_POSITION 30
  #define BACK_PROBE_BED_POSITION 170

#define LEVEL_BED_CORNERS

#define Z_SAFE_HOMING

#define EEPROM_SETTINGS // Enable for M500 and M501 commands

#define NUM_SERVOS 1 // Servo index starts with 0 for M280 command

// The size of the print bed
#define X_BED_SIZE 200
#define Y_BED_SIZE 200

// Travel limits (mm) after homing, corresponding to endstop positions.
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS 200
#define Y_MAX_POS 200
#define Z_MAX_POS 180

#define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20

//#define BED_CENTER_AT_0_0

#define MANUAL_X_HOME_POS -12
#define MANUAL_Y_HOME_POS -4
#define MANUAL_Z_HOME_POS 

#define Z_MIN_PROBE_REPEATABILITY_TEST

et quelques commandes pratique dans ce cas

M280 P0 s0 // position 0 du servo
M280 P0 S90 //position 90°


M119 // STATUS ENDSTOP
M401 // sortir le bras ou M280 P0 SXXX
M402 // rentrer le bras ou M280 P0 SXXX

Pour conclure, c'est surement moins sexy qu'un BLTouch mais pour quelques €, j'ai quelque chose qui marche tres bien et surtout que je maitrise.

Test de repetibilité : maxresdefault.jpg

18:50:59.612 : M48 Z-Probe Repeatability Test
18:50:59.612 : Positioning the probe...
18:51:08.043 : Bed X: 50.000 Y: 50.000 Z: -0.043
18:51:13.085 : 1 of 10: z: -0.043 mean: -0.0427 sigma: 0.000000 min: -0.043 max: -0.043 range: 0.000
18:51:18.122 : 2 of 10: z: -0.043 mean: -0.0427 sigma: 0.000000 min: -0.043 max: -0.043 range: 0.000
18:51:23.157 : 3 of 10: z: -0.043 mean: -0.0427 sigma: 0.000000 min: -0.043 max: -0.043 range: 0.000
18:51:28.194 : 4 of 10: z: -0.043 mean: -0.0427 sigma: 0.000000 min: -0.043 max: -0.043 range: 0.000
18:51:33.247 : 5 of 10: z: -0.043 mean: -0.0427 sigma: 0.000000 min: -0.043 max: -0.043 range: 0.000
18:51:38.285 : 6 of 10: z: -0.043 mean: -0.0427 sigma: 0.000000 min: -0.043 max: -0.043 range: 0.000
18:51:43.323 : 7 of 10: z: -0.043 mean: -0.0427 sigma: 0.000000 min: -0.043 max: -0.043 range: 0.000
18:51:48.359 : 8 of 10: z: -0.043 mean: -0.0427 sigma: 0.000000 min: -0.043 max: -0.043 range: 0.000
18:51:53.395 : 9 of 10: z: -0.043 mean: -0.0427 sigma: 0.000000 min: -0.043 max: -0.043 range: 0.000
18:51:58.433 : 10 of 10: z: -0.043 mean: -0.0427 sigma: 0.000000 min: -0.043 max: -0.043 range: 0.000
18:52:01.282 : Finished!
18:52:01.282 : Mean: -0.042714 Min: -0.043 Max: -0.043 Range: 0.000
18:52:01.282 : Standard Deviation: 0.000000
Modifié (le) par hidius
  • J'aime 2
  • Merci ! 1
Lien vers le commentaire
Partager sur d’autres sites

Merci.

C'est un premier montage pour test, surtout savoir a quoi m'attendre niveau précision  et je suis loin d'etre decu :D. Du coup, reste a améliorer le design et surtout rendre l'ensemble compact. Je mettrai a disposition les STL & sources apres.

Lien vers le commentaire
Partager sur d’autres sites

Il y a 21 heures, hidius a dit :

18:52:01.282 : Finished!

18:52:01.282 : Mean: -0.042714 Min: -0.043 Max: -0.043 Range: 0.000

18:52:01.282 : Standard Deviation: 0.000000

Bravo Marlin Doctor.

Pour un p'tit pays comme là, c'est pas TROP mal.... :bll:

PS : j'aime beaucoup l'esprit de ton approche, cette façon d'imaginer des solutions qui ne font pas forcément chauffer la carte bleue

Modifié (le) par Jean-Claude Garnier
Lien vers le commentaire
Partager sur d’autres sites

  • pascal_lb changed the title to [Amélioration] Autolevel HomeMade - range: 0.000
  • 2 weeks later...

Bonjour à tous,

@hidius

J'ai réfléchi à un schéma pour transformer le signal de sortie de ton capteur optique et supprimer les délais sur les fronts montant et descendant.

On ne va pas gagner grand chose mais le seuil de commutation sera réglable et j'y ai ajouté une petite visu par LED ;).

Le schéma est un comparateur à fenêtre basé sur un LM311. Le signal est inversé 2 fois pour se retrouver en phase avec la pointe de touche.

La courbe du haut simule le "palpage" du bed et celle du bas est un agrandissement sur le temps de montée de 10µs  du capteur optique ainsi que le signal restitué sur la sortie "Out"

 

image.thumb.jpeg.3210f5e671b567840f2861df8652ee27.jpeg

Modifié (le) par Janpolanton
  • J'aime 1
  • Merci ! 1
Lien vers le commentaire
Partager sur d’autres sites

merci @Janpolanton ;)

Justement depuis ce matin j’étais dessus, j'ai compris comment fonctionne le trigger de Schmitt. j'en étais sur le calcul des résistances en fonction de l'hysteresis :60_sweat: , j'ai pas pensé aux potars :D

Je commande ca, je te tiens au courant d'ici quelques semaines, le temps que ca arrive. Encore merci!

 

Edit : c'est quoi ton logiciel ? LTSpice ?

Modifié (le) par hidius
Lien vers le commentaire
Partager sur d’autres sites

Oui, c'est LTspice, je l'adore...

La solution que je t'ai proposée ce n'est pas un trigger de Schmitt, c'est un comparateur à fenêtre.

Si tu n'as pas de LM311, tout autre comparateur peut faire l'affaire (LM397, LM211, LM193 (dual), etc)

Tu peux aussi remplacer le comparateur par un AOP comme ci-dessous (j'ai choisi un LM324 mais un TL082 ou TL081 peuvent fonctionner)

J'ai ajouté aussi la variation du potar et son influence sur la tension de déclenchement.

Le potar de fait pas 47k mais 10k, j'ai oublié de corriger les observation sur le schéma.

image.thumb.png.4d8f7cba1aca3fde14168a22443f0460.png

Modifié (le) par Janpolanton
Lien vers le commentaire
Partager sur d’autres sites

Oh noes... Pourquoi je n'ai pas vu ce post avant... :$

Franchement merci pour ce partage ! :x

Pour avoir sous la main, le touch-mi et le BLTouch original. J'ai pu constater les points forts/faibles de chacun de ses produits, du coup, j'ai une suggestion :

  • Le form-factor ! Je sais pas, si à ce stade, tu as encore envie d'améliorer ton système mais ça serait top si celui-ci pourrait être similaire à l'EZABL (Uniquement en vente à partir des USA par contre)/BLTouch. Tous les fangs les plus utilisés proposent déjà des adaptateurs (Ou intègre directement le support). Du coup, si ton ABL peut reprendre ces systèmes de fixation, tu toucheras milles fois plus de monde (dont moi :ph34r:). C'est un défaut du touch-mi par exemple.

Et là on aura le droit au meilleur ABL au monde !!! Avec la meilleure précision/compatibilité.. Bon ok je m'emballe... xD

Form-factor du BLTouch/3Dtouch : https://www.thingiverse.com/thing:1229934

Lien vers le commentaire
Partager sur d’autres sites

C'est un ABL inductif d'une personne très impliqué coté USA. Il a fait un fork de Marlin plutôt sympa pour débuter (Il a unifié plusieurs réglages d'imprimante).

Le plus connu/utilisé reste le BLTouch et ses clones :)

Si tu veux de l'aide, n'hésite pas !

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
  • Sur cette page :   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
  • YouTube / Les Imprimantes 3D .fr

×
×
  • Créer...