SmartfriendzForum

community / communauté => Tuto, Tips and References => Discussion dmarre par: spyd le 08 novembre, 2014, 07:12:30 am

Titre: Référence Marlin firmware
Post par: spyd le 08 novembre, 2014, 07:12:30 am
Les code implémenté par Marlin firmware : https://github.com/MarlinFirmware/Marlin/wiki/DNE-G-Code-in-Marlin (https://github.com/MarlinFirmware/Marlin/wiki/DNE-G-Code-in-Marlin)


Le firmware Marlin est programme téléversé dans la carte arduino de la Smart pour interpréter le Gcode envoyé par l'host (Cura ou Repetier ou autre).
Titre: Re: Référence Marlin
Post par: Fred_replicant le 08 novembre, 2014, 11:59:43 am
Merci.
Hôtes moi d'un doute. MArlin c'est ce qu'il y a dans notre smart. Exact ?
Titre: Re: Référence Marlin
Post par: Aze le 08 novembre, 2014, 12:48:14 pm
Oui c'est le firmware, le programme téléversé dans la carte arduino de la Smart pour interpréter le Gcode envoyé par l'host (Cura ou Repetier ou autre).
Actuellement les 2 firmwares les plus utilisés sont Marlin et Repetier Firmware (qui a l'air d'être de plus en plus apprécié).
Titre: Re: Référence Marlin
Post par: spyd le 09 novembre, 2014, 05:16:17 am
Merci pour le résumer Aze je l'intègre en quote au 1er post.
C'est vrai que nous somme devenu des vétérans maintenant  8)  (pourtant je découvre des nouveau truc à chaque impression ou presque), on ne n'a plus tout les questionnements que ce pose les nouveaux arrivants, et on fait vite de l'ellipse.


Repetier semble moins bordélique que le marlin si j'en crois le topic sur le sujet (http://smartraptalk.smartfriendz.com/index.php?topic=162.0), ce qui explique qu'il soit de plus en plus apprécié.


Titre: Re: Référence Marlin firmware [firmware Smartrap 0.4.9 et antérieur]
Post par: serge le 09 novembre, 2014, 02:09:33 pm
je vais enfin pouvoir tester repetier bientot :)

je te rassure spyd, j'apprend des trucs aussi tres souvent encore.. pourtant ! c'est pas ma premiere impression.
Titre: Re : Référence Marlin firmware [firmware Smartrap 0.4.9 et antérieur]
Post par: ENavarro le 10 mai, 2016, 10:23:23 pm
A priori la ref à jour est plutot ici, non ?
https://github.com/MarlinFirmware/Marlin/wiki/DNE-G-Code-in-Marlin
Titre: Re : Référence Marlin firmware [firmware Smartrap 0.4.9 et antérieur]
Post par: spyd le 11 mai, 2016, 08:08:15 am
je met à jour avec ton lien, en plus il sont reparti par fonction et ça c'est top.


merci
Titre: Re : Référence Marlin firmware
Post par: MacDony le 14 septembre, 2016, 07:40:07 pm
Salut,
Vous auriez les fichiers Marlin pour la XL300 ?
Merci.
Titre: Re : Référence Marlin firmware
Post par: alex65 le 05 mars, 2017, 06:34:18 pm
Bonjour,
réponse très tardive mais je pense que ça aidera les gens qui tombent sur le sujet !
Je vais tenter de prendre la dernière version de Marlin, de l'adapter pour la XL300 et je le mettrai ici également.
Titre: Re : Référence Marlin firmware
Post par: BrunoBellamy le 21 avril, 2017, 11:09:53 am
Yohooo !

Je viens aux nouvelles pour le firmware Marlin pour XL300, je serais vraiment preneur !!! :)
Titre: Re : Référence Marlin firmware
Post par: BrunoBellamy le 22 avril, 2017, 12:51:34 pm
Je viens de réaliser que si on va dans la section "documentation" sur le site de SmartFriendz, et dans la section "intégration" concernant la SmartAlu, il y a une rubrique consacrée à l'upload du firmware :

http://smartfriendz.dozuki.com/Guide/Firmware/28 (http://smartfriendz.dozuki.com/Guide/Firmware/28)

et, du coup, un lien vers ce qui semble bien être le firmware officiel de la SmartAlu :

http://smartfriendz.com/smartalu_Marlin_1.0.zip (http://smartfriendz.com/smartalu_Marlin_1.0.zip)

J'ignore si c'est différent de celui pour la SmartrapCore XL ou je ne sais quoi, mais bon, on peut supposer que c'est celui-là qui a les meilleures chances d'être la bonne source. :)
Titre: Re : Référence Marlin firmware
Post par: spyd le 23 avril, 2017, 11:10:54 am
bien jouer Bruno


en fait des fois il suffit de lire la doc ;D
Titre: Re : Référence Marlin firmware
Post par: BrunoBellamy le 23 avril, 2017, 11:22:27 am
…le bon vieux "RTFM" a, en effet, encore frappé… ;)

Je n'ai pas encore eu le temps d'étudier ce firmware, et encore moins de l'uploader sur la machine, le vieux mais fidèle eeePC que j'utilisais à cette fin ayant inopportunément décidé de rendre l'âme. :(

Je vais installer un autre ordi à proximité de la SmartAlu, et étudier ça de plus près, quand j'aurai un peu de temps. :)
Titre: Re : Référence Marlin firmware
Post par: BrunoBellamy le 23 avril, 2017, 12:49:57 pm
Reste que je ne sais pas très bien ce que vaut cette version là… J'ai eu un soupçon assez prononcé quand j'ai réalisé qu'une pièce qui devait faire 13,5mm de haut en faisait au final (et avec une sale tronche, surtout avec des couches de moins en moins bien collées les unes aux autres au fur et à mesure que ça montait) 17,5.

Du coup j'ai fait un petit test :
G28 X0 Y0
G1 X15
G28 Z0

là j'ai mesuré la hauteur du plateau par rapport à la plaque du bas de la machine : 298mm

puis :

G1 Z200

Mesurée à nouveau, la hauteur du plateau par rapport au fond est de 120mm.

Ça fait donc un déplacement de 178mm là où il en aurait du y en avoir 200.

Problème de maths : si le mouvement en Z est assez mal réglé pour donner des dimensions trop importantes aux objets imprimés (d'où, sans doute, le souci d'adhésion des couches), comment la commande d'un simple mouvement en Z depuis le terminal de Cura peut-il donner une distance trop courte ?

Accessoirement, le débit d'extrusion n'était pas le bon non plus, j'ai dû le régler à 86% dans Cura pour obtenir la bonne valeur, après avoir testé un débit de 10cm sur un bout de filament.

Je vais donc bel et bien changer pas mal de valeurs dans le firmware quand je vais le mettre à jour, mais cette incohérence du mouvement en Z me laisse pour le moins perplexe… ;)
Titre: Re : Référence Marlin firmware
Post par: spyd le 23 avril, 2017, 05:59:27 pm
de toute façon je part du principe qu'il faut toujours calibrer.


pour l'histoire du déplacement là...


encore des chose que l'on pourra jouter au dokuwiki
Titre: Re : Référence Marlin firmware
Post par: alex65 le 08 octobre, 2017, 12:12:19 am
Bonsoir,
j'essaie d'adapter la toute dernière version de Marlin 1.1.x pour la XL300 et je butte sur plusieurs points dans Configuration.h :
- dans la section Z Probe Options, faut-il choisir #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN ou #define Z_MIN_PROBE_ENDSTOP ? Je crois qu'il ne faut pas se tromper car il y a un risque de destruction d'un composant.
- si on prend #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN, il faut nécessairement passer Z_MIN_PROBE_ENDSTOP_INVERTING à "true". J'ai également un doute sur les autres, mais c'était comme ça dans la version précédente. (J'ai une sonde inductive, modifiée par Serge je pense sur le connecteur sur la Ramps avec une résistance je pense)
#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.
- toujours dans la section Z Probe, est-ce que ces paramètres vous paraissent raisonnables ? (10 mm de marge)
// @section machine

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

// 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 X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
#define Z_MAX_POS 270

// If enabled, axes won't move below MIN_POS in response to movement commands.
#define MIN_SOFTWARE_ENDSTOPS
// If enabled, axes won't move above MAX_POS in response to movement commands.
#define MAX_SOFTWARE_ENDSTOPS
- dans la section Bed Leveling, est-ce que mes paramètres sont conformes pour faire un nivellement (leveling) avec 9 points sur le plateau ?
//#define AUTO_BED_LEVELING_3POINT
//#define AUTO_BED_LEVELING_LINEAR
#define AUTO_BED_LEVELING_BILINEAR
//#define AUTO_BED_LEVELING_UBL
//#define MESH_BED_LEVELING

/**
 * 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
#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 30
  #define RIGHT_PROBE_BED_POSITION 220
  #define FRONT_PROBE_BED_POSITION 5
  #define BACK_PROBE_BED_POSITION 220

  // The Z probe minimum outer margin (to validate G29 parameters).
  #define MIN_PROBE_EDGE 10

  // 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_3POINT)

  // 3 arbitrary points to probe.
  // A simple cross-product is used to estimate the plane of the bed.
  #define ABL_PROBE_PT_1_X 50
  #define ABL_PROBE_PT_1_Y 50
  #define ABL_PROBE_PT_2_X 190
  #define ABL_PROBE_PT_2_Y 50
  #define ABL_PROBE_PT_3_X 50
  #define ABL_PROBE_PT_3_Y 180

#elif ENABLED(AUTO_BED_LEVELING_UBL)

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

  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
  #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_PROBE_PT_1_X 50       // Probing points for 3-Point leveling of the mesh
  #define UBL_PROBE_PT_1_Y 50
  #define UBL_PROBE_PT_2_X 190
  #define UBL_PROBE_PT_2_Y 50
  #define UBL_PROBE_PT_3_X 50
  #define UBL_PROBE_PT_3_Y 180

  //#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
  #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle

#elif ENABLED(MESH_BED_LEVELING)

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

  #define MESH_INSET 10          // Mesh inset margin on print area
  #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

/**
 * Use the LCD controller for bed leveling
 * Requires MESH_BED_LEVELING or PROBE_MANUALLY
 */
//#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
  #define LEVEL_BED_CORNERS   // Add an option to move between corners
#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"


// @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

// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area.
//
// With this feature enabled:
//
// - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
// - If stepper drivers time out, it will need X and Y homing again before Z homing.
// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).
// - Prevent Z homing when the Z probe is outside bed area.
//
#define Z_SAFE_HOMING

#if ENABLED(Z_SAFE_HOMING)
  #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2)    // X point for Z homing when homing all axis (G28).
  #define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2)    // Y point for Z homing when homing all axis (G28).
#endif

// Homing speeds (mm/m)
#define HOMING_FEEDRATE_XY (50*60)
#define HOMING_FEEDRATE_Z  (4*60)

Merci de votre aide, je teste et je poste le code ici ensuite pour aider tout le monde à moderniser les softs ! :)
Titre: Re : Référence Marlin firmware
Post par: alex65 le 08 octobre, 2017, 10:52:10 pm
Solutions trouvées, les fichiers ci-joint.
Attention tout de même, c'est sur la base de mon XL300 mais j'ai suivi le montage préconisé par Serge.
Titre: Re : Référence Marlin firmware
Post par: spyd le 09 octobre, 2017, 09:02:41 am
salut merci pour le partage


tu saurais nous mettre un zip de l’intégral de ton répertoire marlin en précisant sa version?


Ça sera beaucoup plus pérenne pour le diffuser.
Titre: Re : Référence Marlin firmware
Post par: alex65 le 09 octobre, 2017, 10:47:43 pm
Oui avec plaisir mais il reste des problèmes à régler :
- mes impressions ne sont pas centrées (elles le sont dans cura)
- en phase d'initialisation, les moteurs forcent sur quelques pas (axes X, Y puis Z) ce qui va finir par manger les courroies (mais c'est bien pour être bien en butée)
- problèmes d'affichage sur LCD des caractères accentués quand je passe en français

Si quelqu'un a des solution, je modifie le code et je poste le tout ici (Marlin 1.1.5)
Titre: Re : Référence Marlin firmware
Post par: ThierryLao le 03 novembre, 2017, 05:15:57 am
salut
Quels type des drivers as tu ?