Aller au contenu

GO Print

Changer de firmware (de Marlin à Klipper)


Messages recommandés

Ayant rencontré quelques difficultés d’impression avec des pièces cylindriques sur ma CR10V2 récemment mise à jour avec un bon et beau Marlin 2.0.5.3 dont j’avais fait part dans ce post :

La remarque de @Tircown quant au firmware Klipper m’a «provoqué». Aimant les défis, particulièrement quand ils sont liés à l’informatique, l’électronique et la bidouille en général, j’ai sauté le pas.

Je vais donc relater mon expérience, en renvoyant vers les liens qui m’ont été utiles et en fournissant évidemment les fichiers de configuration de ma CR10-V2 (pour les pressés, aller directement à la fin du post pour y trouver ceux-ci).

Étape préliminaire

Étant de la vieille école, je préfère de loin une bonne documentation format écrit fusse-t’elle en anglais plutôt que des vidéos pour me plonger dans un sujet nouveau. Le créateur du firmware Klipper, justement, a bien fait les choses, de nombreuses heures de lecture sont à prévoir (en ligne ou après récupération de l’archive compressée) : https://github.com/KevinOConnor/klipper

Un utilisateur du forum, @Nibb31 a réalisé un excellent tutoriel (en français évidemment) qui explique tout : Tout ce que vous avez toujours voulu savoir sur Klipper sans jamais oser le demander

Un autre site dont je me suis fortement servi : https://klipper.info/

Après lecture assidue des documents des liens précédents, je peux alors me lancer, d’autant plus que j’ai tout le matériel nécessaire (imprimantes, raspberry pi, cerveau et couteau).

Première étape, installation de Klipper

Octoprint étant déjà installé et fonctionnel, je m’y connecte via SSH (utilisateur : pi, mdp : cestmonsecret ou raspberry si vous ne l’avez pas modifié (c’est pas bien de ne pas le faire)).

On récupère Klipper :

git clone https://github.com/KevinOConnor/klipper
./klipper/scripts/install-octopi.sh

Ces deux lignes, télécharge Klipper (git), installe les dépendances indispensables, prépare Klipper pour qu’il démarre automatiquement à l’allumage de la framboise et démarre celui-ci sous forme d’un service (le script «install-octopi.sh»est un fichier texte contenant les lignes de commandes).

On construit puis flashe le microcontrôleur :

cd ~/klipper/
make menuconfig

Choix du microcontrôleur de la carte : Atmega2560 pour la CR10-V2, puis on lance la «compilation» :

make

On vérifie sur quel port la carte est connectée en USB :

ls /dev/serial/by-id/*

Le résultat affiche un lien symbolique /dev/serial/by-id/usb-1a86_USB-Serial-if00-port0 vers le périphérique physique (chez moi /dev/ttyUSB0).

pi@octopi:~ $ ls -l /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0

lrwxrwxrwx 1 root root 13 May 18 12:56 /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0 -> ../../ttyUSB0

Il ne reste plus qu’à flasher le firmware :

sudo service klipper stop
make flash FLASH_DEVICE=/dev/serial/by-id/usb-1a86_USB-Serial-if00-port0
sudo service klipper start

Pour que ce flashage réussisse il faut que Octoprint ne soit pas connecté à l’imprimante (bouton «Déconnecter»).

Seconde étape, configurer Octoprint

Configurer Octoprint pour qu’il utilise Klipper :

  • ajouter un port série nommé /tmp/printer dans les préférences, Connexion série, onglet Général, «ports série supplémentaires» puis sauvegarder.

  • Revenir dans les préférences, dans l’onglet «comportement» modifier à la section «Que faire en cas d’erreur de firmware» en cochant «Annuler toutes impressions en cours mais rester connecté à l’imprimante», enregistrer.

Reste à tester la connexion après avoir sélectionné le bon port série ( /tmp/printer) puis en cliquant sur le bouton «Connecter».

En utilisant le terminal avec la commande «status», une erreur est retournée puisque la configuration de l’imprimante n’est pas faite.

Pour me faciliter encore plus la vie, j’ajoute un plugin à Octoprint : Octoklipper

Troisième étape, configurer Klipper

Il reste à préparer un fichier de configuration correspondant à ma CR10V2.

Dans les fichiers du répertoire «config» de Klipper, celle-ci n’est pas présente. Il y en a pour la CR10 et la CR10S (printer-creality-cr10-2017.cfg et printer-creality-cr10s-2017.cfg)

Dans les sources du Marlin2, les attributions des pattes d’un microcontrôleur sont regroupées dans le dossier src/pins/«controleur»/pins_«carte».h.

La carte de la CR10-V2, version2.5.2 (Atmega2560), est déclarée comme une RAMPS modifiée par Creality :

#define MOTHERBOARD BOARD_RAMPS_CREALITY

les numéros des pins à déclarer seront donc dans pins_RAMPS_CREALITY.h (et en inclusion pins_RAMPS.h). Le fichier prévu pour une CR10S correspond aux attributions, il y aura donc moins de travail de tâtonnement et ça c’est cool. Il y a bien quelques différences mais elles sont minimes.

Ayant un Bltouch d’installé, le pin utilisé est celui du Z_MAX alors que le endstop est sur le Z_MIN.

Je complète ce fichier de configuration avec les options dont j’ai besoin, place ce fichier dans le home du Pi et relance Klipper soit via le terminal d’Octoprint («firmware_restart») ou via le plugin Octoklipper et le bouton «Firmware» ou «Host»

octoklipper-firmware.jpg.e5e8d0cc202cad0192357047824a5769.jpg

Quatrième étape, vérifier la configuration

La documentation relate les étapes à suivre pas-à-pas :

  • vérifier l’affichage des températures

  • vérifier l’«arrêt d’urgence» (M112)

  • vérifier la mise en chauffe du lit et de la tête

  • vérifier le fonctionnement des moteurs

  • vérifier les fins de course

  • vérifier les pilotes des moteurs

  • vérifier le moteur de l’extrudeur

  • calibrer les réglages de PID (tête / lit)

 

Dans l’ensemble peu de modifications à effectuer pour que l’ensemble fonctionne (au cas où, j’avais le doigt prêt à appuyer sur l’interrupteur de l’alimentation). Toutes les attributions de «pins» format «arduino» (déclaration pin_map dans la section [mcu] du fichier de configuration) sont correctes. Possédant un détecteur de fin de filament, j’ai juste eu à inverser sa logique de fonctionnement :

  • au départ : switch_pin: ar2

  • devient : switch_pin: !ar2

Ma CR10V2 a été modifiée par l’adjonction d’un système d’auto-nivellement (BLTouch de Antclabs ®). Creality a prévu d’origine la possibilité de cet ajout, tout est pré câblé sur la carte mère, il suffit de connecter la prise femelle du câble du Bltouch (5 broches avec détrompeur) sur l’embase électronique située sous l’extrudeur. Cela évite d’ouvrir le boîtier d’alimentation pour déconnecter le contacteur de fin de course de l’axe Z branché sur le ZMIN. La pré connexion du BLTouch le branche sur le ZMAX donc la «pin» à déclarer est la n”19 en mode «pullup» :

[bltouch]
# CR10V2, connexion sur ZMAXPIN (19)
sensor_pin: ^ar19
control_pin: ar11
pin_move_time: 0.4
x_offset: 47
y_offset: 0
# Increase Z_Offset to lower nozzle closer to bed. PLA 1.55
#z_offset: 1.55
speed: 60

Cinquième étape, améliorer la configuration

L’imprimante étant à nouveau fonctionnelle, quelques impressions sont réalisées. Auparavant, il me faut modifier les gcodes de démarrage et de fin de mon trancheur (Cura dans un premier temps).

En effet, Klipper n’utilise pas la totalité de ceux prévus pour un Marlin (ex : G29). Cette page donne tous les gcodes connus de Klipper. Il utilise de nouvelles directives (extended G-code) sous forme de mots clés équivalents aux gcodes (ex : STATUS, FIRMWARE_RESTART, BED_MESH_CALIBRATE, …). L’avantage de ce système est que l’on peut créer des macros relativement complexes afin de simuler leur équivalent en gcode Marlin.

Par exemple pour mes gcodes de démarrage / fin, je vais utiliser les macros suivantes :

[gcode_macro START_PRINT]
variable_T_BED: 60
variable_T_EXTRUDER: 200
gcode:
M117 Home sweet home
# Use absolute coordinates
G90
# Reset the G-Code Z offset (adjust Z offset if needed)
SET_GCODE_OFFSET Z=0.0
# Home the printer
G28
# Use the bed mesh
#G29
BED_MESH_PROFILE LOAD=cr10v2
# Move the nozzle near the bed
G1 X15 Y20 Z5 F6000

M117 Chauffe Marcel
# Start bed heating and continue
M140 S{T_BED}
{% if printer.heater_bed.temperature < params.T_BED|float*0.85 %}
M190 S{params.T_BED|float*0.85} # wait till 0.85 of bed temp is reached, then continue
{% endif %}

M140 S{T_BED}
M104 S170 # Prechauffe buse
M190 S{T_BED}
M109 S{T_EXTRUDER}

# Prime line
PURGE
M117 C’est parti, mon Kiki...

[gcode_macro END_PRINT]
gcode:
M117 C’est fini 🙂
# move z up
G91
G1 E-2 Z+10 F3000
# absolute xy
G90
G1 X5 Y295 F2000
#disable hotend and heated bed
M104 S0
M140 S0
# disable steppers
M84
BED_MESH_CLEAR

# prime the nozzle
[gcode_macro PURGE]
gcode:
M117 Ligne de purge
G92 E0 ;Reset Extruder
# move z axis
G1 Z2.0 F3000 ;Move Z Axis up
# move to prime position
G1 X2 Y30 Z0.28 F5000.0 ;Move to start position
G1 X2 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line
G1 X3 Y200.0 Z0.28 F5000.0 ;Move to side a little
G1 X3 Y50 Z0.28 F1500.0 E30 ;Draw the second line
G92 E0 ;Reset Extruder
G1 Z2.0 F3000 ;Move Z Axis up

# G29 => (1) home all (2) get bed mesh (3) move nozzle to corner so it doesnt ooze on the bed while heating up.
[gcode_macro G29]
gcode:
G28
BED_MESH_CALIBRATE
G0 X0 Y0 Z10 F6000
BED_MESH_PROFILE save=cr10v2
 

Dans Cura, mes gcodes de démarrage / fin deviennent ) :

; gcode macro Klipper (démarrage)

START_PRINT T_BED={material_bed_temperature_layer_0} T_EXTRUDER={material_print_temperature_layer_0}

 

; gcode macro Klipper (fin)

END_PRINT

 

 

Avant de me lancer dans les impressions, je réalise la calibration de l’extrudeur (100 mm demandés = 100 mm fourni), méthode «matérielle only» donc PTFE déconnecté en sortie d’extrudeur. Résultats, un poil trop (trois tests de 100 mm, au lieu de 300mm, j’ai 303, donc règle de trois pour affiner mes pas qui passent de 0,00714285 (1/140 pas) à 0.00719666 (1/138.95 pas) [mon extrudeur a été remplacé par celui des CR10S Pro, BMG sans réduction].

Un premier cube de calibration (25x25x25mm) est tranché puis envoyé à Octoprint afin d’être imprimé.

IMG_20200525_181158.thumb.jpg.6ecfdb8ed4392bb1e0d2709767b47d44.jpg

IMG_20200525_181210.thumb.jpg.6199e2455ac728db7187025fbe21afbe.jpg

IMG_20200525_181220.thumb.jpg.ed5fd3c354b4938e7c97ad123cdb9176.jpg

IMG_20200525_181228.thumb.jpg.61bb3a90dfd6a7a3584354c39ea4c77a.jpg

IMG_20200525_181234.thumb.jpg.fa63271be569bdb30326a6eda5148a17.jpg

 

Les résultats dimensionnels sont très corrects (25 x 25 x 25,02 (XxYxZ). Au dessus j’ai bien 10 , 20 et 6 mm, les ponts sont bons, pas de «stringing» sur la face colonnes, un beau cercle, des «overhang» quasi parfaits. Le seul défaut est un léger «pied d’éléphant». Impression faite avec du PLA 3D870 Blanc (le stock de filament commence à s’épuiser), température de 215°, vitesse d’impression de test à 100 mm/s sauf pour les parois, interne à 75 mm/s, externe à 50 mm/s.

J’en profite en continuant mes tests, j’ajoute la gestion de la rétraction dans le firmware Klipper (je reprends les valeurs utilisées par Cura) :

[firmware_retraction]

retract_length: 5.2

retract_speed: 25

unretract_extra_length: 0

unretract_speed: 20

 

et en ajoutant l’option dans Cura :


cura-retraction-firmware.jpg.0f1a29de5b3896d495270f1caca57906.jpg

Un autre cube de calibration (30x30x30) avec des cylindres internes de profondeur 20 mm sert à tester cette «nouvelle rétraction». L’examen du gcode obtenu permet de voir les nouveaux gcodes de rétraction (G10/ G11).

;Generated with Cura_SteamEngine 4.6.1

M82 ;absolute extrusion mode

; gcode macro Klipper

START_PRINT T_BED=60 T_EXTRUDER=215

G92 E0

G92 E0

G10

;LAYER_COUNT:150

;LAYER:0

M106 S255

G0 F6000 X165.065 Y129.811 Z0.2

;TYPE:SKIRT

G11

G1 F1200 X165.708 Y129.86 E0.02145

IMG_20200525_181312.thumb.jpg.c2d7ed1a49313ffcf0ae48473d786449.jpg

IMG_20200525_181319.thumb.jpg.eaf01b4bd0175c555fe8d15f777f1ea9.jpg

IMG_20200525_181337.thumb.jpg.531d145eccb0775e8276d6478a48cda2.jpg

IMG_20200525_181331.thumb.jpg.2f213b8c9b7a03138c673b4b9457f3a2.jpg

Sixième étape, Pressure Advance

Qu’est que c'est que ça que c'est ?

D’après la documentation, «Pressure advance does two useful things - it reduces ooze during non-extrude moves and it reduces blobbing during cornering. (traduction approximative : L'avance à la pression a deux effets utiles : elle réduit le suintement lors des mouvements sans extrusion et elle réduit les coups dans les virages (mon interprétation : les coins sont plus francs, moins arrondis 😉 )).

C’est plus ou moins l’équivalent du «Linear advance» pour Marlin. Malheureusement, cette option, je ne peux pas l’activer dans Marlin avec ma carte Creality «silencieuse» équipée de pilotes TMC2208 déclarés en mode standalone. Si je l’active, mon extrudeur va plus ou moins rapidement arrêter de fonctionner.

Depuis quelques mois (mi mars 2020), le développeur de Klipper a fourni une correction qui permet d’utiliser ce firmware avec cette option pour des TMC2208 en standalone.

En suivant scrupuleusement la documentation, la tour carrée est tranchée, les directives d’impression sont données, l’impression est lancée. Une fois finie et examinée, mes valeurs de PA sont ajoutées dans la section [extruder] du fichier de configuration.

IMG_20200525_181403.thumb.jpg.5a719ef0a5fab2686ed28c3dd2fb2009.jpg

IMG_20200525_181417.thumb.jpg.748ad3d36faaa7e54de5e398ca188c81.jpg

 

Conclusion (provisoire)

Klipper est un excellent firmware qui mérite d’être essayé. Une fois le flashage sur la carte mère réalisé, sa facilité de paramétrage, de tests est sans commune mesure avec Marlin :

on effectue les modifications dans le fichier de configuration, après un RESTART ou un FIRMWARE_RESTART, la nouvelle configuration est prise en compte, plus besoin de modifier son (se) fichier(s) «.h» puis de recompiler et installer en flashant.

La possibilité des «macros» est juste énorme, de nombreuses choses deviennent possibles.

Klipper peut gérer (je n’ai pas testé) plusieurs cartes (en gros principe de maître / esclave), l’absence d’une fonctionnalité sur la carte principale n’oblige pas forcément à en changer. On ajoute une autre carte (une RAMPS par exemple) et on peut utiliser ses fonctionnalités en plus de la carte «principale».

Merci @Tircown de m’avoir obligé à sortir de ma zone de confort et un grand merci @Nibb31 pour avoir créer son excellent tutoriel.

 

A suivre…

IMG_20200525_181506.thumb.jpg.f5f83d3e3df6505ab9986f6d41f46668.jpg

 

PS : pour ceux qui voudraient tenter l’aventure, comme promis en début du sujet, mes fichiers de configurations actuellement utilisés et fonctionnels sur ma CR10V2 avec sa carte d’origine V2.5.2. Fichiers à placer dans le home de Pi, là où se trouve Octoprint (/home/pi):

Ma configuration est désormais accessible sur mon dépôt Github : https://github.com/fran6p/cfg_klipper

Modifié (le) par fran6p
  • J'aime 6
  • +1 2
  • Merci ! 3
Lien vers le commentaire
Partager sur d’autres sites

J'attends toujours le test du cylindre en mode vase. 😜

Dommage de ne pas avoir des journées de 72h pour pouvoir tester tout ça... D'un autre côté, je me dis qu'au bout d'un moment, même 72h par jour ne suffiraient plus...

Lien vers le commentaire
Partager sur d’autres sites

il y a 10 minutes, Kachidoki a dit :

Dommage de ne pas avoir des journées de 72h pour pouvoir tester tout ça...

Si seulement les heures pouvaient être compressées comme les fichiers informatiques (Einstein, Bohr, Planck, Fermi,  revenez SVP) 😄 ?

Pour le test des cylindres, ça se fera (quand ça se fera 😉) avec Klipper et / ou avec le « fork s-curve» pour voir si ça apporte du mieux ou pas.

Comme le beau temps se maintient, en ce moment, je suis plutôt dans la mécanique moto (Suzuki Vstrom1000), problème de recharge batterie probablement dû au stator qui a lâché (il a tenu plus de 80.000 km, c'est déjà pas mal). Pas de garage pour effectuer ces bricolages, donc moto déplacée sur ce qui fait office de pelouse 😄 .

🙂

Lien vers le commentaire
Partager sur d’autres sites

Il y avait un truc que je ne comprenais pas avec klipper. Je savais que le principe était d'utiliser la carte mére de l'imprimante comme "pont de puissance" et que la partie intelligente était déplacé dans le raspberry. Donc je me disais qu'il fallait installer un firmware minimaliste sur l'imprimante et en survolant quelques tutos je n'avais pas trouvé ou cela se faisait,  là j'ai ma réponse, ça se fait à cet endroit.

 

Il y a 5 heures, fran6p a dit :

Il ne reste plus qu’à flasher le firmware :


sudo service klipper stop
make flash FLASH_DEVICE=/dev/serial/by-id/usb-1a86_USB-Serial-if00-port0
sudo service klipper start

Pour que ce flashage réussisse il faut que Octoprint ne soit pas connecté à l’imprimante (bouton «Déconnecter»).

👍

  • Merci ! 1
Lien vers le commentaire
Partager sur d’autres sites

  • fran6p featured this topic
  • fran6p pinned this topic
  • 2 weeks later...
Le 26/05/2020 at 13:02, fran6p a dit :

[gcode_macro START_PRINT]
variable_T_BED: 60
variable_T_EXTRUDER: 200
gcode:
M117 Home sweet home
# Use absolute coordinates
G90
# Reset the G-Code Z offset (adjust Z offset if needed)
SET_GCODE_OFFSET Z=0.0
# Home the printer
G28
# Use the bed mesh
#G29
BED_MESH_PROFILE LOAD=cr10v2
# Move the nozzle near the bed
G1 X15 Y20 Z5 F6000

M117 Chauffe Marcel
# Start bed heating and continue
M140 S{T_BED}
{% if printer.heater_bed.temperature < params.T_BED|float*0.85 %}
M190 S{params.T_BED|float*0.85} # wait till 0.85 of bed temp is reached, then continue
{% endif %}

M140 S{T_BED}
M104 S170 # Prechauffe buse
M190 S{T_BED}
M109 S{T_EXTRUDER}

# Prime line
PURGE
M117 C’est parti, mon Kiki...

[gcode_macro END_PRINT]
gcode:
M117 C’est fini 🙂
# move z up
G91
G1 E-2 Z+10 F3000
# absolute xy
G90
G1 X5 Y295 F2000
#disable hotend and heated bed
M104 S0
M140 S0
# disable steppers
M84
BED_MESH_CLEAR

# prime the nozzle
[gcode_macro PURGE]
gcode:
M117 Ligne de purge
G92 E0 ;Reset Extruder
# move z axis
G1 Z2.0 F3000 ;Move Z Axis up
# move to prime position
G1 X2 Y30 Z0.28 F5000.0 ;Move to start position
G1 X2 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line
G1 X3 Y200.0 Z0.28 F5000.0 ;Move to side a little
G1 X3 Y50 Z0.28 F1500.0 E30 ;Draw the second line
G92 E0 ;Reset Extruder
G1 Z2.0 F3000 ;Move Z Axis up

# G29 => (1) home all (2) get bed mesh (3) move nozzle to corner so it doesnt ooze on the bed while heating up.
[gcode_macro G29]
gcode:
G28
BED_MESH_CALIBRATE
G0 X0 Y0 Z10 F6000
BED_MESH_PROFILE save=cr10v2
 

 

CR10V2-LI3D.zip 4 Ko · 2 downloads

 

Je ne comprends pas très bien comment on configure ces macros. On les mets bien dans l'onglet Macros du plugin Octoklipper ?

Enfin, pour le PRESSURE_ADVANCE, cela m'intéresse. J'ai lu un peu la doc, mais je vois pas où rentrer ces lignes... Dans le gcode de démarrage ?

Ces questions paraissent peut-être idiotes, mais dans beaucoup de tutos que je vois pour le gcode, on te dit souvent de le mettre, mais très peu à quel endroit... Et pour un noob, à part penser au bout d'un moment qu'on parle de ton fondement, eh bien on est un peu perdu...

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

J'avais loupé ce sujet de notre @fran6p! Bien joué.

@Ellionas, pour faire simple: quand ça commence par [quelquechose] c'est que c'est dans la config de l'imprimante (fichier printer.cfg). Tu as vu le loup: il y a les macros du firmware et les macros du plugin octoklipper, deux choses différentes. Les macros du plugin n'ont d'utilité que pour rajouter des boutons à l'interface d'octoprint mais je dissuade quiconque de mettre quelque chose de complexe là dedans. Il vaut mieux mettre un raccourcis vers une macro de Klipper.

@fran6p j'utilise désormais un second MCU en permanence pour gérer la baie dans laquelle est placée l'imprimante. C'est un Arduino Nano sur un PCB que j'ai dessiné. Il y a 6 mosfets prévus pour 3A@12V, quelques emplacements pour des capteurs et quelques autres détails. Actuellement je gère la ventilation, l'éclairage et très prochainement la filtration. Il y a de la place pour gérer un chauffage et son ventilateur. J'y ai mis une thermistance NTC 100k pour suivre la température et l''afficher dans octoprint. J'avais aussi fais des tests avec un BME280 (température, humidité, pression atmosphérique) et ça marchait impec par contre il n'y a pas de 1-Wire donc pas de DS18B20 😞. Ça fait un bout de temps que je veux faire un sujet ici pour présenter ce projet mais je fais de la procrastination.

Pour ma cubique j'ai aussi prévu de brancher l'écran LCD sur un Nano pour n'avoir qu'un câble usb à brancher au lieu des deux grosses nappes. Au cours de mes recherches je me suis aperçu que je n'étais pas le seul à avoir eu cette idée: la communauté voron a fait exactement ce que je prévoyais: https://github.com/VoronDesign/Voron-Hardware/tree/master/Nano_Display

Depuis que les macros incluent Jinja2 il y a possibilité de faire des choses vraiment très intéressantes.

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

il y a 13 minutes, Tircown a dit :

J'avais loupé ce sujet de notre @fran6p! Bien joué.

@Ellionas, pour faire simple: quand ça commence par [quelquechose] c'est que c'est dans la config de l'imprimante (fichier printer.cfg). Tu as vu le loup: il y a les macros du firmware et les macros du plugin octoklipper, deux choses différentes. Les macros du plugin n'ont d'utilité que pour rajouter des boutons à l'interface d'octoprint mais je dissuade quiconque de mettre quelque chose de complexe là dedans. Il vaut mieux mettre un raccourcis vers une macro de Klipper.

Pourtant, toutes les macros sont bien dans un fichier séparé, (Y compris celle ne servant que comme fonction pour d'autres.) et pas dans printer.cfg, si je regarde dans le .zip de fran6p. Donc si ce n'est pas dans le plugin macro, où est-ce donc ?

Quand à la PRESSURE_ADVANCE, il n'y a pas de balise, donc je sais toujours pas où la mettre. 😕

SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=1 ACCEL=500

TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=.020

Mais, merci pour tes éclaircissements.

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

Tu peux scinder en autant de fichier que tu veux pour organiser ton code. Il suffit de faire un include et il est au début de son printer.cfg: [include macros.cfg]

Je fais pareil pour la Nano qui gère la baie. Si je veux imprimer en dehors sans la brancher j'ai juste la ligne d'include à commenter. Car tous les MCU déclarés doivent être banchés sinon ça ne démarre pas.

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

il y a 27 minutes, Ellionas a dit :

Pourtant, toutes les macros sont bien dans un fichier séparé, (Y compris celle ne servant que comme fonction pour d'autres.) et pas dans printer.cfg, si je regarde dans le .zip de fran6p. Donc si ce n'est pas dans le plugin macro, où est-ce donc ?

Tu as parfaitement raison.

Adepte du principe KISS (cool 😄 ), j'aurai dû détailler mon fichier (qui à ce jour est encore plus modulaire). Plutôt que d'avoir un «gros» fichier de configuration printer.cfg, j'ai une floppée de fichiers .cfg qui sont inclus dans le principal qui doit se nommer printer.cfg.

Mes macros sont donc dans un fichier seul et sont ajoutées au fichier principal via une ligne : include /chemin-du-fichier-a-inclure/macros.cfg

printer.cfg:

Citation

# This file contains pin mappings for the 2020 Creality CR10-V2. To use
# this config, the firmware should be compiled for the AVR atmega2560.

# See the example.cfg file for a description of available parameters.

[include cfg_klipper/generic/macros.cfg]

[stepper_x]
step_pin: ar54
dir_pin: ar55
enable_pin: !ar38
step_distance: .0125
endstop_pin: ^ar3
position_endstop: 0
position_max: 310
homing_speed: 50

[stepper_y]
step_pin: ar60
dir_pin: ar61
enable_pin: !ar56
step_distance: .0125
endstop_pin: ^ar14
position_endstop: 0
position_max: 310
homing_speed: 50

[stepper_z]
step_pin: ar46
dir_pin: !ar48
enable_pin: !ar62
step_distance: .0025
#endstop_pin: ^ar18
#position_endstop: 0
endstop_pin: probe:z_virtual_endstop
position_max: 400
position_min: -1.5

[extruder]
step_pin: ar26
dir_pin: ar28
enable_pin: !ar24
# BMG sans reduction (140 pas => 0.00714285)
# Calibration extrudeur: 138.95 pas
step_distance: 0.00719666
nozzle_diameter: 0.400
filament_diameter: 1.750
# permettre chrgt / dechrgt filament
max_extrude_only_distance: 540.0
max_extrude_only_velocity: 120
max_extrude_only_accel: 3000
pressure_advance: 0.67
#pressure_advance_lookahead_time: 0.040
pressure_advance_smooth_time: 0.040
heater_pin: ar10
sensor_type: EPCOS 100K B57560G104F
sensor_pin: analog13
#control: pid
#pid_Kp: 19.47
#pid_Ki: 1.59
#pid_Kd: 59.40
min_extrude_temp: 170
min_temp: 0
max_temp: 250

[heater_bed]
heater_pin: ar8
#sensor_type: ATC Semitec 104GT-2
sensor_type: EPCOS 100K B57560G104F
sensor_pin: analog14
#control: pid
#pid_Kp: 690.34
#pid_Ki: 111.47
#pid_Kd: 1068.83
min_temp: 0
max_temp: 110

[fan]
pin: ar9

[mcu]
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
#serial: /dev/serial/by-path/platform-3f980000.usb-usb-0:1.3:1.0-port0
#serial: /dev/ttyUSB0
pin_map: arduino

[printer]
kinematics: cartesian
max_velocity: 500
max_accel: 2500
# test scurve (accel, accel_to_decel)
#max_accel: 5000
#max_accel_to_decel: 5000
max_z_velocity: 15
max_z_accel: 100
square_corner_velocity: 5

[display]
lcd_type: st7920
cs_pin: ar16
sclk_pin: ar23
sid_pin: ar17
encoder_pins: ^ar33, ^ar31
click_pin: ^!ar35

[bltouch]
# CR10V2, connexion sur ZMAXPIN (19)
sensor_pin: ^ar19
control_pin: ar11
pin_move_time: 0.680
x_offset: 47
y_offset: 0
# Increase Z_Offset to lower nozzle closer to bed. PLA 1.55
#z_offset: 1.55
speed: 60
samples: 2
#sample_retract_dist: 2
#samples_result: average
#samples_tolerance: 0.100
#samples_tolerance_retries: 0

[safe_z_home]
home_xy_position: 150,150
speed: 60.0
z_hop: 10.0
z_hop_speed: 10.0


[bed_mesh]
speed: 100
probe_count: 5,5
mesh_min: 57,10
mesh_max: 290,290
horizontal_move_z: 5
mesh_pps: 2,2
#algorithm: lagrange
#fade_start: 1
#fade_end: 10
#fade_target: 0

[filament_switch_sensor my_sensor]
pause_on_runout: True
runout_gcode:
      M600
switch_pin: ^ar2

[pause_resume]

[virtual_sdcard]
path: ~/.octoprint/uploads/

[firmware_retraction]
retract_length: 5.2
retract_speed: 25
unretract_extra_length: 0
unretract_speed: 20

# Support for gcode arc (G2/G3) commands.
[gcode_arcs]
resolution: 1.0

# Fork Scurve-smoothing de dmbutyugin
[smooth_axis]
smooth_x: 0.0144
smooth_y: 0.0108
accel_comp_x: 0.000012
accel_comp_y: 0.000006

#[scurve]
#acceleration_order: 4
#min_jerk_limit_time: 0.016

#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [extruder]
#*# control = pid
#*# pid_kp = 25.640
#*# pid_ki = 1.554
#*# pid_kd = 105.766
#*#
#*# [heater_bed]
#*# control = pid
#*# pid_kp = 70.936
#*# pid_ki = 0.967
#*# pid_kd = 1300.785
#*#
#*# [bltouch]
#*# z_offset = 1.512
#*#
#*# [bed_mesh default]
#*# version = 1
#*# points =
#*#       0.075000, 0.042500, 0.022500, -0.035000, -0.050000
#*#       0.022500, -0.017500, 0.005000, -0.007500, 0.017500
#*#       0.005000, -0.045000, -0.017500, -0.030000, -0.010000
#*#       0.022500, -0.020000, -0.005000, -0.025000, -0.017500
#*#       0.012500, -0.042500, -0.050000, -0.070000, -0.067500
#*# x_count = 5
#*# y_count = 5
#*# mesh_x_pps = 2
#*# mesh_y_pps = 2
#*# algo = lagrange
#*# tension = 0.2
#*# min_x = 57.0000000001
#*# max_x = 290.0
#*# min_y = 10.0000000001
#*# max_y = 290.0
#*#
#*# [bed_mesh cr10v2]
#*# version = 1
#*# points =
#*#       0.075000, 0.042500, 0.022500, -0.035000, -0.050000
#*#       0.022500, -0.017500, 0.005000, -0.007500, 0.017500
#*#       0.005000, -0.045000, -0.017500, -0.030000, -0.010000
#*#       0.022500, -0.020000, -0.005000, -0.025000, -0.017500
#*#       0.012500, -0.042500, -0.050000, -0.070000, -0.067500
#*# x_count = 5
#*# y_count = 5
#*# mesh_x_pps = 2
#*# mesh_y_pps = 2
#*# algo = lagrange
#*# tension = 0.2
#*# min_x = 57.0000000001
#*# max_x = 290.0
#*# min_y = 10.0000000001
#*# max_y = 290.0

 

macros.cfg (mes fichiers à inclure sont sur mon RaspberryPi dans mon répertoire personnel (/home/pi)  dans un dossier nommé «cfg_klipper/generic/» pour les fichiers de configurations génériques

Citation

# Adds print macros such as start print and end print.
# in cura, as start gcode you can define "START_PRINT" and end gcode "END_PRINT"


######################################################################
# Start Print and End Print
######################################################################

# Replace the slicer's custom start and end g-code scripts with
# START_PRINT and END_PRINT.

[gcode_macro START_PRINT]
variable_T_BED: 60
variable_T_EXTRUDER: 200
gcode:
    M117 Homing
    # Use absolute coordinates
    G90
    # Reset the G-Code Z offset (adjust Z offset if needed)
    SET_GCODE_OFFSET Z=0.0
    # Home the printer
    G28
    # Use the bed mesh
    #G29
    BED_MESH_PROFILE LOAD=cr10v2
    # Move the nozzle near the bed
    G1 X15 Y20 Z5 F6000
    
    M117 Waiting for temperature
    # Start bed heating and continue
    M140 S{T_BED}
    {% if printer.heater_bed.temperature < params.T_BED|float*0.85 %}
        M190 S{params.T_BED|float*0.85} # wait till 0.85 of bed temp is reached, then continue  
    {% endif %}
    
    M140 S{T_BED}
    M104 S170
    M190 S{T_BED}
    M109 S{T_EXTRUDER}
    
    # Prime line
    PURGE
    M117 Printing...

[gcode_macro END_PRINT]
gcode:
    M117 Done printing 🙂
    # move z up
    G91
    G1 E-2 Z+10 F3000
    # absolute xy
    G90
    G1 X5 Y295 F2000
    #disable hotend and heated bed
    M104 S0
    M140 S0
    # disable steppers
    M84
    BED_MESH_CLEAR

# prime the nozzle
[gcode_macro PURGE]
gcode:
    M117 Prime Line
    G92 E0 ;Reset Extruder
    # move z axis
    G1 Z2.0 F3000 ;Move Z Axis up
    # move to prime position
    G1 X2 Y30 Z0.28 F5000.0 ;Move to start position
    G1 X2 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line
    G1 X3 Y200.0 Z0.28 F5000.0 ;Move to side a little
    G1 X3 Y50 Z0.28 F1500.0 E30 ;Draw the second line
    G92 E0 ;Reset Extruder
    G1 Z2.0 F3000 ;Move Z Axis up
 
# G29 => (1) home all (2) get bed mesh (3) move nozzle to corner so it doesnt ooze on the bed while heating up.
[gcode_macro G29]
gcode:
    G28
    BED_MESH_CALIBRATE
    G0 X0 Y0 Z10 F6000
    BED_MESH_PROFILE save=cr10v2

# Park toolhead
[gcode_macro M125]
gcode:
    SAVE_GCODE_STATE NAME=parking
    M117 Parking toolhead
    G91
    G1 Z10 F600 # move up 10 mm
    G90
    G1 X150 Y0 F4000 # move to park position
    RESTORE_GCODE_STATE NAME=parking

# LOW_TEMP_CHECK checks if there is a setpoint for the  extruder. Untested!
# - If this setpoint is reached, continue.
# - If not, heat to setpoint.
# - If no setpoint, heat to parameter T (default@200)
[gcode_macro LOW_TEMP_CHECK T]
default_parameter_T: 200
gcode:
    {% if printer.extruder.target != 0 %} # if there is a setpoint for extruder
        {% if printer.extruder.temperature < printer.extruder.target %} # if not reached, heat
            M118 Heating from {printer.extruder.temperature} to {printer.extruder.target}.
            M109 S{printer.extruder.target|float}
        {% endif %}
    {% else %} # if no setpoint for extruder
        {% if printer.extruder.target < T %}  # heat to T.
            M118 No setpoint, heating to {T}.
            M109 S{T}
        {% endif %}
    {% endif %}
    
# load filament
[gcode_macro M701]
gcode:
    SAVE_GCODE_STATE NAME=loading_filament
    M117 Loading Filament
    M83
    G92 E0.0
    LOW_TEMP_CHECK
    G1 E430 F6000  # length of bowden tube till cold-end (~430mm)
    G1 E40 F200  # some extra to prime the nozzle --> slower
    G92 E0.0
    RESTORE_GCODE_STATE NAME=loading_filament
    
# unload filament
[gcode_macro M702]
gcode:
    SAVE_GCODE_STATE NAME=unloading_filament
    M125 # park
    M117 Unloading Filament
    LOW_TEMP_CHECK
    G91 # set relative
    G1 E10 F100
    G92 E0.0
    G1 E-530 F6000 # the E is the length of the bowden tube (430mm) + 100 mm.
    G92 E0.0
    RESTORE_GCODE_STATE NAME=unloading_filament

# filament change
[gcode_macro M600]
gcode:
    M117 Filament Change
    M118 Filament Change
    SAVE_GCODE_STATE NAME=filament_change
    PAUSE
    LOW_TEMP_CHECK
    G91 # relative
    G1 E-1 F300 # retract 1
    M125 # park
    M702 # unload

    M117 New filament
    M118 New filament
    COUNTDOWN TIME=25 MSG="Switch"
    M701
    COUNTDOWN TIME=10 MSG="Clean"
    RESUME
    M117 Resuming
    M118 Resuming
    RESTORE_GCODE_STATE NAME=filament_change
    M117 Printing..
    M118 Printing..

[gcode_macro COUNTDOWN]
default_parameter_MSG: "Time: "
default_parameter_TIME: 10
gcode:
    # countdown
    {% for s in range(TIME|int, 0, -1) %}
        # dwell 1 second
        G4 P1000
        # echo
        M117 {params.MSG} {s}s
        M118 {params.MSG} {s}s
    {% endfor %}

# M300 : Play tone. Beeper support, as commonly found on usual LCD
# displays (i.e. RepRapDiscount 2004 Smart Controller, RepRapDiscount
# 12864 Full Graphic). This defines a custom I/O pin and a custom
# GCODE macro.  Usage:
#   M300 [P<ms>] [S<Hz>]
#   P is the tone duration, S the tone frequency.
# The frequency won't be pitch perfect.
[output_pin BEEPER_pin]
pin: ar37
#   ar37 is the default RAMPS/MKS pin.
pwm: True
#   A piezo beeper needs a PWM signal, a DC buzzer doesn't.
value: 0
#   Silent at power on, set to 1 if active low.
shutdown_value: 0
#   Disable at emergency shutdown (no PWM would be available anyway).
cycle_time: 0.001
#   PWM frequency : 0.001 = 1ms will give a base tone of 1kHz
scale: 1000
#   PWM parameter will be in the range of (0-1000 Hz).
#   Although not pitch perfect.

[gcode_macro M300]
default_parameter_S: 1000
#   Use a default 1kHz tone if S is omitted.
default_parameter_P: 100
#   Use a 10ms duration is P is omitted.
gcode:
    SET_PIN PIN=BEEPER_pin VALUE={S}
    G4 P{P}
    SET_PIN PIN=BEEPER_pin VALUE=0

 

Pendant que je réponds, je vois que @Tircown

 a répondu 😄

Tu peux copier le contenu de macros.cfg et l'ajouter dans le fichier printer.cfg pour n'avoir qu'un seul fichier (qui sera éditable avec OctoKlipper qui ne peut éditer que le fichier nommé printer.cfg 😞 ).

😞

  • J'aime 1
Lien vers le commentaire
Partager sur d’autres sites

il y a 1 minute, fran6p a dit :

qui sera éditable avec OctoKlipper qui ne peut éditer que le fichier nommé printer.cfg 😞 ).

En fait tu peux lui dire d'éditer un autre fichier mais c'est pas très bien fait car il faut reparamétrer pour changer de fichier. De toute façon je crois que tôt-ou-tard tout le monde fini par utiliser un vrai éditeur de texte.

  • +1 1
Lien vers le commentaire
Partager sur d’autres sites

il y a 15 minutes, Tircown a dit :

tout le monde fini par utiliser un vrai éditeur de texte.

Notepad++ via WinSCP quand je travaille à partir du PC sinon j'utilise Vi avec Linux 😉 (j'aime vraiment pas Emacs 😄 ).

il y a une heure, Tircown a dit :

Ça fait un bout de temps que je veux faire un sujet ici pour présenter ce projet mais je fais de la procrastination.

Je suis adepte aussi mais de temps en temps je fais des exceptions donc j'espère que ton sujet ne tardera pas trop 😉

🙂

Lien vers le commentaire
Partager sur d’autres sites

Je comprends mieux... Merci à vous deux.

Sauf pour le pressure_advance... Les deux lignes de codes que je vois sur ton lien fran6p, je sais malheureusement pas où les mettre. (Je ne vois nulle part la création d'une macro/fonction sur les tutos... Donc, pas de balise.)

Donc au final, cela donnerait ça comme fichier. (Voir ci-joint) Cela te semble correct ? (Si tu as le temps de regarder, bien sûr.) J'avoue que j'ai la flemme d'uploader ou de créer un autre fichier en ssh.

 

PS : Le change_filament, et le PURGE, (Celui-là, je l'ai aussi inclut dans le firmware, puisque START_PRINT y fait appel.) je trouve cela intéressant de les garder en tant que macro pure, pour avoir le petit bouton qui va bien. Je sais pas si c'est viable ?

printer.cfg

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

Pour le PA ça se met dans la section de l'extrudeur:

https://github.com/KevinOConnor/klipper/blob/master/config/example.cfg#L135

Perso je n'ai jamais pris le temps de le régler, il est même désactivé et ça imprime nickel à mes yeux. Après bon, je ne fais pas du 120mm/sec

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

@Ellionas

Ton printer.cfg m'a l'air correct.

Réalise les tests préconisés sur le github de Klipper : https://github.com/KevinOConnor/klipper/blob/master/docs/Config_checks.md

Voilà ma section «extruder» avec les paramètres PA. Conseil si tu réalises le fichier qui sert à la calibration: prends une couleur autre que le blanc 😉:

Citation

[extruder]
step_pin: ar26
dir_pin: ar28
enable_pin: !ar24
# BMG sans reduction (140 pas => 0.00714285)
# Calibration extrudeur: 138.95 pas
step_distance: 0.00719666
nozzle_diameter: 0.400
filament_diameter: 1.750
# permettre chrgt / dechrgt filament
max_extrude_only_distance: 540.0
max_extrude_only_velocity: 120
max_extrude_only_accel: 3000
pressure_advance: 0.67
#pressure_advance_lookahead_time: 0.040
pressure_advance_smooth_time: 0.040
heater_pin: ar10
sensor_type: EPCOS 100K B57560G104F
sensor_pin: analog13
#control: pid
#pid_Kp: 19.47
#pid_Ki: 1.59
#pid_Kd: 59.40
min_extrude_temp: 170
min_temp: 0
max_temp: 250

🙂

  • J'aime 1
Lien vers le commentaire
Partager sur d’autres sites

Bon, j'ai reçu tout mon matériel de réparation, bien galéré avec les soudures pour les connecteurs, (Surtout que je n'avais pas la pince correspondante.) mais la température, c'est ok.

Par contre, j'ai essayé de lancer un premier print, et ça s'est cancelled arrivé à température. La cause annoncée :

Citation

Your printer's firmware reported an error. Due to that the ongoing print job will be cancelled. Reported error: Must home axis first: 92.846 95.982 0.500 [-4.000]

J'ai remarqué qu'en appuyant sur le bouton home de klipper, cela ne bougeait pas ma tête, uniquement le bed. Il n'arrive pas à contrôler les moteurs X/Y ?

 

Bon, ben c'est les macro dans le printer.cfg que klipper n'aime pas. Pour le moment, je réessaye un print sans macro, ça a l'air de fonctionner. Je me replongerais dans les macros une fois tout bien calibré.

Lien vers le commentaire
Partager sur d’autres sites

Il y a 2 heures, Ellionas a dit :

c'est les macro dans le printer.cfg que klipper n'aime pas.

Leur syntaxe (priez pour nous 😄 ) répond à des exigences:

- gcode: doit être en début de ligne,

- la liste des commandes doit posséder une indentation (au moins un espace).

La lecture de tous les documents (certes en anglais) du dossier docs et du dossier configs est fortement recommandée 😉:

Citation

gcode:     <-- placé au tout début de ligne
    # Start bed heating    <-- identation ici de deux espaces (idem pour les lignes suivantes)
    M140 S{BED_TEMP}
    # Use absolute coordinates
    G90
    # Reset the G-Code Z offset (adjust Z offset if needed)
    SET_GCODE_OFFSET Z=0.0

Extrait du fichier Command_Templates.md

Citation

### Formatting of G-Code in the config

Indentation is important when defining a macro in the config file. To
specify a multi-line G-Code sequence it is important for each line to
have proper indentation. For example:

```
[gcode_macro blink_led]
gcode:
  SET_PIN PIN=my_led VALUE=1
  G4 P2000
  SET_PIN PIN=my_led VALUE=0
```

Note how the `gcode:` config option always starts at the beginning of
the line and subsequent lines in the G-Code macro never start at the
beginning.

🙂

Lien vers le commentaire
Partager sur d’autres sites

  • fran6p changed the title to Changer de firmware (de Marlin à Klipper)

L'indentation est importante ?! Oh, pitié... C'est Lucifer en personne ce truc. (En même temps, mettre saint et taxe dans le même mot...)

Bref, je te remercie, je bouquinerais ça. Pour le moment, je suis plus embêté avec ce hotend BROZZL... Il fuit tout le temps à mi-impression du cube de calibration. Et comme ce n'est pas le même système que pour le hotend d'origine de l'ender (Le PTFE reste au niveau du début du radiateur, il ne peut pas aller au contact de la visserie de la buse.), je n'arrive pas encore à trouver la solution. (P'têt appeler un plombier ?)

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

As tu vissé la buse en ayant préalablement chauffé la hotend presque au max de sa capacité? Pour des inserts téflon: ~245°C - pour du full métal ~285°C.

Lien vers le commentaire
Partager sur d’autres sites

Oui, je me suis même cramé les doigts. (J'avais chauffé à 200°, p'têt pas assez.) Cela dit, il restait tout de même 0.5 mm de marge entre le cul de la buse et le reste. Je réessayerais demain.

Lien vers le commentaire
Partager sur d’autres sites

  • 2 weeks later...
Le 11/06/2020 at 17:45, Tircown a dit :

Pour ma cubique j'ai aussi prévu de brancher l'écran LCD sur un Nano pour n'avoir qu'un câble usb à brancher au lieu des deux grosses nappes. Au cours de mes recherches je me suis aperçu que je n'étais pas le seul à avoir eu cette idée: la communauté voron a fait exactement ce que je prévoyais: https://github.com/VoronDesign/Voron-Hardware/tree/master/Nano_Display

J'ai pu tester ça hier avec une breadboard et une tonne de câbles de prototypage (20 pour être précis). Ça fonctionne impeccablement bien et c'est assez magique de brancher son écran juste en USB sur le rpi. Du coup j'ai commandé le circuit imprimé (PCBWay) d'après les sources du github. J'ai du refaire le fichier de perçage avec Kicad pour qu'ils l'acceptent. Je trouvais d'abord dommage d'avoir besoin de petites nappes IDC avec les connecteurs entre le nano et l'écran. Mais comme ça c'est adaptable à n'importe quel écran LCD et souder les petits fils de la nappe aurait été un calvaire.

Sur l'arduino nano il reste 3 broches de libres et l'UART. Arrivé jusque là c'est assez facile de rajouter quelques boutons vers des macros personnalisées.

Lien vers le commentaire
Partager sur d’autres sites

il y a 52 minutes, Tircown a dit :

Du coup j'ai commandé le circuit imprimé (PCBWay) d'après les sources du github.

Tu en as pris combien d'exemplaires?

Si tu en as un en surplus, je veux bien te l'acheter 😉

🙂

Lien vers le commentaire
Partager sur d’autres sites

  • fran6p unfeatured this topic

Juste une petite mise à jour.

J'utilise de plus en plus git et son corolaire Github, c'est franchement top pour la gestion de versions de fichiers (faut dire que c'est son rôle 😄 ).

Donc, plutôt que fournir des fichiers compressés sur le forum (où ils occupent de l'espace disque sur les serveurs du forum), je fournirai désormais un lien vers le dépôt Github (les mises à jour s'y font facilement).

J'ai donc modifié mon premier post pour y ajouter le lien vers le dépôt qui va bien.

Je le remets aussi ici pour ceux harassés par la chaleur que le fait de manipuler la souris va exténuer :

>>> il est là <<<

@Ellionas, même si c'est avec un peu de retard, je suis tombè (rassurez-vous, sans me faire mal) sur ce sujet d'un blog (c'est en anglais mais il y a plein de zolis zimages) pour le réglage du Pressure Advance.

Mes prochains tests (quand il fera bien moins chaud 😉 ) devraient porter sur la compensation de résonance (bien que j'ai peu voire pas de «ghosting», «echoing» et autre ing).

🙂

  • J'aime 1
Lien vers le commentaire
Partager sur d’autres sites

Il y a 1 heure, fran6p a dit :

Mes prochains tests (quand il fera bien moins chaud 😉 ) devraient porter sur la compensation de résonance (bien que j'ai peu voire pas de «ghosting», «echoing» et autre ing)

l'ADXL345 est parti de chine hier 😛. Ce n'est pas indispensable pour profiter de la compensation de résonance mais c'est implémenté dans une "branch" et assez bluffant. J'ai hâte de tester.

  • +1 1
Lien vers le commentaire
Partager sur d’autres sites

Il y a 14 heures, Tircown a dit :

l'ADXL345 est parti de chine hier

Il vient à pied par la … 😄 . J'ai lu effectivement que ce capteur (accéléromètre) était un plus (encore quelques câbles supplémentaires à faire passer quelque part 😞 ).

J'ai reçu hier de BTT un «EXP MOT V1.0 Driver Extension Module» (pas testé pour le moment mais pour le cas où 😉 ).

🙂

  • J'aime 1
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...