Aller au contenu

Filament ABS

xanax38

8 bits un autolevel qui fonctionne presque à base de servo

Messages recommandés

Bonjour 🙂

 

Je m'ennuyais un peu ces derniers temps, du coup j'ai décider de pimper mon Anet A8, donc je me suis lancé le défi d'un autolevel diy.

Je suis parti d'un projet sur thingiverse

 https://www.thingiverse.com/thing:2754230

Le tout fonctionne presque bien, j'ai réglé le Z offset, qui se comporte bien, mais je suis confronté à un soucis...Le bras du switch ne remonte pas après le G29, du coup il vient s'éclater sur le plateau...

Il y a-t-il une commande à rajouter dans Marlin pour que le bras palpeur remonte?

Parce qu'il ne me manque plus que ça finalement 😕

 

Merci d'avance 🙂

Modifié (le) par xanax38

Partager ce message


Lien à poster
Partager sur d’autres sites

Ouaip, tout bien copié comme il faut. D'ailleurs, malgré le réglage du Z offset, quand je lance une impression, elle imprime à 10km au dessus du plateau 😕

Partager ce message


Lien à poster
Partager sur d’autres sites

Regarde si ton paramètre du Z n'est pas trop haut en valeur après avoir fait un home

sur ma machine je peux régler mon home qui lui donne un point zéro et une fois fait elle se lève de 5 mm en attendant la température du plateau et de la buse une fois les t° atteint l'extrudeur se déplace aux centre et descend de 5 mm et commence a imprimé regarde bien si cette valeur n'est pas trop haut 

Partager ce message


Lien à poster
Partager sur d’autres sites

Alors je te refais l'histoire complète.

Au démarrage, le servo est en position palpage, il ne bouge pas du tout.

Je fais une origine auto, X et Y tranquille, Z, la sonde descend une fois, palpe, remonte de 5mm, redescend, repalpe, remonte de 5mm, puis redescend en s'éclatant joyeusement contre ma vitre :/.

Si déjà je pouvais régler ce problème ça serait cool.

Par ailleurs, le servomoteur ne bouge pas du tout, même avec un M280 P0 S90 (ou S n'importe quoi)

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 8 minutes, xanax38 a dit :

Par ailleurs, le servomoteur ne bouge pas du tout, même avec un M280 P0 S90 (ou S n'importe quoi)

Bonsoir,

C'est probablement parce qu'il est mal connecté au connecteur LCD...

Ou raccordé à la mauvaise Pin, de mémoire, à la pin 3 pour le LCD stock.

Modifié (le) par Janpolanton

Partager ce message


Lien à poster
Partager sur d’autres sites

Alors, les expérimentations avancent.

Si je fais un G28 X Y suivi d'un G29, il lance bien l'autolvl, sans problème

J'ai complété mon config.h avec ça

#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10\nM280 P0 S0"

Et effectivement, il se met bien à bouger, à revenir en hauteur, comme je voudrais, mais lorsqu'il retourne à l'origine XY 0, le servo redescend oO... J'en perds mon latin, déjà que j'en ai jamais fait xD

Donc vu les réactions, jsuis sur le bon pin (et j'avais vérifié plusieurs fois au multimètre histoire de pas faire de bêtises)

Partager ce message


Lien à poster
Partager sur d’autres sites

Aller je m'auto réponds.

 

J'ai reussi à faire fonctionner le bouzin, je ne sais pas par quel miracle, m'enfin

Du coup il me reste plus qu'à reprendre le réglage de l'offset, quelqu'un a un lien trop dla bombe? (même si google est mon ami et que ça va surement être comme ça xD )

 

EDIT : Alors le truc est fonctionnel, l'impression se lance comme il faut après un autolvl, nickel, mais le servo donne des petits accoups d'1 degré tout au plus, mais ceux ci s'arrêtent dès que j'approche ma main du servo Oo...D'ou ça peut venir?

Modifié (le) par xanax38
Presque fini

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai reussi finalement à faire fonctionner à peu prêt le truc, mais je pense que j'ai un prob dans ma config marlin.

Je précise, le servo fait sa vie bien,  mais si je mets le test en 3 points, il va palper 3coins, au lieu de faire un triangle oO

Si je mets le bilineaire, avec 3 points de tests, il en fait un seul point et lance l'impression dans les deux cas...

 

#define AUTO_BED_LEVELING_3POINT
//#define AUTO_BED_LEVELING_LINEAR
//#define AUTO_BED_LEVELING_BILINEAR
//#define AUTO_BED_LEVELING_UBL
//#define MESH_BED_LEVELING

/**
 * Normally G28 leaves leveling disabled on completion. Enable
 * this option to have G28 restore the prior leveling state.
 */
#define RESTORE_LEVELING_AFTER_G28

/**
 * Enable detailed logging of G28, G29, M48, etc.
 * Turn on with the command 'M111 S32'.
 * NOTE: Requires a lot of PROGMEM!
 */
//#define DEBUG_LEVELING_FEATURE

#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_BILINEAR) || ENABLED(AUTO_BED_LEVELING_UBL)
  // Gradually reduce leveling correction until a set height is reached,
  // at which point movement will be level to the machine's XY plane.
  // The height can be set with M420 Z<height>
  #define ENABLE_LEVELING_FADE_HEIGHT

  // For Cartesian machines, instead of dividing moves on mesh boundaries,
  // split up moves into short segments like a Delta. This follows the
  // contours of the bed more closely than edge-to-edge straight moves.
  #define SEGMENT_LEVELED_MOVES
  #define LEVELED_SEGMENT_LENGTH 5.0 // (mm) Length of all segments (except the last one)

  /**
   * Enable the G26 Mesh Validation Pattern tool.
   */
// #define G26_MESH_VALIDATION
 // #if ENABLED(G26_MESH_VALIDATION)
  //  #define MESH_TEST_NOZZLE_SIZE    0.4  // (mm) Diameter of primary nozzle.
   // #define MESH_TEST_LAYER_HEIGHT   0.2  // (mm) Default layer height for the G26 Mesh Validation Tool.
   // #define MESH_TEST_HOTEND_TEMP  205.0  // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
  //  #define MESH_TEST_BED_TEMP      60.0  // (°C) Default bed temperature for the G26 Mesh Validation Tool.
 // #endif

#endif 

#if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)

  // Set the number of grid points per dimension.
  #define GRID_MAX_POINTS_X 3
  #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X

  // Set the boundaries for probing (where the probe can reach).
  #define LEFT_PROBE_BED_POSITION 15
  #define RIGHT_PROBE_BED_POSITION 180
  #define FRONT_PROBE_BED_POSITION 15
  #define BACK_PROBE_BED_POSITION 180

  // Probe along the Y axis, advancing X after each column
  //#define PROBE_Y_FIRST

  #if ENABLED(AUTO_BED_LEVELING_BILINEAR)

    // Beyond the probed grid, continue the implied tilt?
    // Default is to maintain the height of the nearest edge.
    //#define EXTRAPOLATE_BEYOND_GRID

    //
    // Experimental Subdivision of the grid by Catmull-Rom method.
    // Synthesizes intermediate points to produce a more detailed mesh.
    //
    //#define ABL_BILINEAR_SUBDIVISION
    #if ENABLED(ABL_BILINEAR_SUBDIVISION)
      // Number of subdivisions between probe points
      #define BILINEAR_SUBDIVISIONS 3
    #endif

  #endif

#elif ENABLED(AUTO_BED_LEVELING_UBL)

  //===========================================================================
  //========================= Unified Bed Leveling ============================
  //===========================================================================

  //#define MESH_EDIT_GFX_OVERLAY   // Display a graphics overlay while editing the mesh

  #define MESH_INSET 1              // Set Mesh bounds as an inset region of the bed
  #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
  #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X

  #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500

  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
                                          // as the Z-Height correction value.

#elif ENABLED(MESH_BED_LEVELING)

  //===========================================================================
  //=================================== Mesh ==================================
  //===========================================================================

 #define MESH_INSET 10          // Set Mesh bounds as an inset region of the bed
  #define GRID_MAX_POINTS_X 3    // Don't use more than 7 points per axis, implementation limited.
 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X

 #define MESH_G28_REST_ORIGIN // After homing all axes ('G28' or 'G28 XYZ') rest Z at Z_MIN_POS

#endif // BED_LEVELING

/**
 * Points to probe for all 3-point Leveling procedures.
 * Override if the automatically selected points are inadequate.
 */
#if ENABLED(AUTO_BED_LEVELING_3POINT) || ENABLED(AUTO_BED_LEVELING_UBL)
  #define PROBE_PT_1_X 20
  #define PROBE_PT_1_Y 160
  #define PROBE_PT_2_X 20
  #define PROBE_PT_2_Y 10
  #define PROBE_PT_3_X 180
  #define PROBE_PT_3_Y 10
#endif

/**
 * Add a bed leveling sub-menu for ABL or MBL.
 * Include a guided procedure if manual probing is enabled.
 */
//#define LCD_BED_LEVELING

#if ENABLED(LCD_BED_LEVELING)
  #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
  #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
#endif

// Add a menu item to move between bed corners for manual bed adjustment
//#define LEVEL_BED_CORNERS

#if ENABLED(LEVEL_BED_CORNERS)
  #define LEVEL_CORNERS_INSET 30    // (mm) An inset for corner leveling
  //#define LEVEL_CENTER_TOO        // Move to the center after the last corner
#endif

/**
 * Commands to execute at the end of G29 probing.
 * Useful to retract or move the Z probe out of the way.
 */
#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10\nM280 P0 S0"


// @section homing

// The center of the bed is at (X=0, Y=0)
//#define BED_CENTER_AT_0_0

// Manually set the home position. Leave these undefined for automatic settings.
// For DELTA this is the top-center of the Cartesian print volume.
//#define MANUAL_X_HOME_POS 0
//#define MANUAL_Y_HOME_POS 0
//#define MANUAL_Z_HOME_POS 0

Quand je change de mode, je ne modifie rien, je précise au cas où, et je ne vois pas d'ou ça peut venir 😕

Partager ce message


Lien à poster
Partager sur d’autres sites

Bon, du nouveau,

J'ai reussi à lui faire faire une grille, mais il me sort un echec sonde par moment, parce que Z descend pas assez, genre il manque 0.2mm pouur que le switch clic, mais l'imprimante remonte et m'indique l'erreur (et imprime quand même oO)

Partager ce message


Lien à poster
Partager sur d’autres sites

Alors, le problème était cette ligne que j'avais mise à 0

#define Z_PROBE_LOW_POINT        -2 // Farthest distance below the trigger-point to go before stopping

Maintenant, je termine un peu tout, je fais le PID extrudeur, nickel, je veux faire le PID du plateau, donc j'active la section dans marlin, et pronterface me donne ça, et mon axe Z bouge super mal 😕 , une idée?

Connecting...
start
Printer is now online.
echo: External Reset
Marlin 1.1.9
echo: Free Memory: 12095  PlannerBufferBytes: 1232
Error:EEPROM datasize error.
[ERROR] Error:EEPROM datasize error.

Partager ce message


Lien à poster
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.

×