Nibb31 Posté(e) Février 3, 2019 Posté(e) Février 3, 2019 Bonjour, Je vais vous faire part de mon expérience avec Klipper et vous expliquer comment l'installer et le configurer sur votre imprimante. I - Introduction Klipper est un firmware pour imprimante 3D comparable à Repetier ou Marlin. Son rÎle est d'interpréter le Gcode en provenance du slicer et de le convertir en commandes qui permettent de piloter individuellement le hardware de l'imprimante. Pour certaines machines, comme les CoreXY ou les Delta, la cinématique est trÚs complÚxe, ce qui demande des calculs importants. Malheureusement, avec une carte 8-bits, la puissance du microcontroleur n'est pas super adaptée à ces calculs. Du coup, la vitesse sera limitée par la puissance du processeur et les calculs seront moins précis. C'est ce qui pousse certains à vouloir passer à une carte 32 bits. Nous allons voir que Klipper permet de s'affranchir de ces limitations. 1) Les fonctionnalités de Klipper La particularité de Klipper est d'utiliser un ordinateur hÎte pour faire tous ces calculs et de réserver le microcontroleur pour ce qu'il sait bien faire: gérer les entrées-sorties en temps réel. Ceci décharge le microcontroleur qui n'a plus que ça à faire, et l'hÎte, qui est généralement un Raspberry Pi 3 avec un processeur ARM quad core, se charge des calculs, avec du multi-thread, plus de mémoire, et une interface graphique plus attrayante. Par ailleurs, Klipper s'interface avec Octoprint, ce qui permet d'utiliser sa partie graphique pour controler l'imprimante. On pourrait meme virer le LCD de l'imprimante et utiliser un écran tactile connecté au Raspberry. Le résultat, c'est un surcroit de performances important. Avec une carte 8-bits, on a des performances supérieures à celles d'une carte 32-bits. Klipper utilise cette puissance pour calculer les trajectoires de façon plus souple, ce qui permet de gagner en précision, en fluidité, en bruit, et en vitesse d'impression. Avec Klipper, j'imprime en 120mm/s sans problÚme sur une imprimante cartésienne. Il semblerait que les gains sont encore plus importants sur des CoreXY ou Delta. Et bien sûr, une carte 32-bits permettra d'aller encore plus vite, mais on se limite alors à l'énergie cinétique que la mécanique de la machine peut encaisser. Les firmware classiques ont aussi d'autres inconvénients: Ils se configurent en modifiant les fichiers de code source, ce qu'un utilisateur ne devrait jamais avoir à faire. Il faut ensuite les compiler et les flasher à chaque modification. Avec Klipper, on ne touche plus au firmware qui est sur le microcontroleur. Les modifications se font sur un fichier de configuration qui réside sur l'hÎte, ce qui est instantané et beaucoup plus pratique. Jusqu'à l'année derniÚre, Klipper était plutÎt expérimental, mais depuis la version de décembre et l'introduction du bed levelling, le support BL Touch, le "pressure advance", la calibration delta, les écrans LCD, les protections thermiques, etc... c'est devenu parfaitement utilisable tous les jours. Il y a deux étapes à l'installation de Klipper: L'installation. C'est la partie la plus facile et on ne la fait qu'une fois. La configuraton. Celle-ce se fait dans un fichier de config. Avec un plugin qui va bien dans Octoprint, on peut éditer ce fichier directement dans Octoprint. 2) Prérequis Avant d'installer Klipper, il vous faut: Une imprimante 3D. Ben oui, c'est pas pour les machines à laver. Il faut pouvoir flasher le firmware, donc on évitera les machines avec un hardware propriétaire. En principe, tout ce qui tourne avec Marlin peut tourner avec Klipper. Un firmware basé sur Marlin. C'est plus simple, parce qu'on pourra récupérer un certain nombre de paramÚtres. Il est possible de se débrouiller autrement, mais il faudra connaßtre ou calculer les mm/step etc... Un ordinateur hote sous Linux. Ici, on parlera de Raspberry, mais en théorie ça pourrait fonctionner avec n'importe quel PC sous Linux et Octoprint. Attention, il faut un Raspberry Pi 3 au minimum. Un Raspberry Zero ou un vieux Raspberry 1 vont trop ramer.  Octoprint. Je ne vais pas détailler ici l'installation d'Octoprint. Il y a plein de tutos là dessus. On y installer un plugin OctoKlipper qui facilite la configuration de Klipper. Des connaissances (basiques) en Linux. On va utiliser une ligne de commande SSH pour télécharger et installer Klipper. Note importante: Avant de procéder à l'installation de Klipper, assurez-vous bien que tout l'ensemble Imprimante 3D + Octoprint Raspberry fonctionne correctement et est parfaitement maßtrisé. Sinon, si un truc ne marche pas aprÚs, on ne pourra pas savoir si ça vient de Klipper ou de la configuration matérielle. 2Úme note: Je vous conseille d'avoir toujours une stratégie de repli, autrement dit les moyens de pouvoir reflasher Marlin avec une configuration qui marche si pour une raison ou une autre Klipper ne vous convient pas. 10 7
Nibb31 Posté(e) Février 3, 2019 Auteur Posté(e) Février 3, 2019 (modifié) II - L'installation L'installation est la partie la plus simple. Il suffit de suivre les étapes, sans trop réfléchir. 1) Récuperer les paramÚtres de Marlin On part du principe qu'on a une installation Marlin qui fonctionne. On peut donc récupérer un certain nombre de données qui nous aideront à configurer Klipper. Aller dans Octoprint et connecter l'imprimante. Aller sur l'ongler Terminal et entrer M503. Ca va lister toute une série de lignes qui commencent par echo. Copier le résultat du M503 et coller ce contenu dans un fichier texte à sauvegarder. On y reviendra plus tard. 2) Noter le port L'imprimante est généralement connectée au Raspberry par le port /dev/ttyUSB0 ou /dev/ttyACM0 (ça dépend des machines). Regarder les options de connexion d'Octoprint Noter le port sur lequel Octoprint se connecte à l'imprimante. 3) Télécharger Klipper Ceci va télécharger et installer le logiciel hÎte Klipper (la partie qui s'installe sur le Raspberry). Se connecter au Raspberry en SSH (user: pi et password: raspberry si vous ne l'avez pas changé - je vous conseille de le changer avec passwd ou raspi-config) Entrer les deux commandes suivantes: git clone https://github.com/KevinOConnor/klipper ./klipper/scripts/install-octopi.sh 4) Flasher le firmware sur le microcontroleur Taper les commandes suivantes: cd ~/klipper/ make menuconfig Ceci ouvre un menu qui permet de régler les options de compilation. Choisissez d'abord le microcontrÎleur. Si vous avez un Arduino/RAMPS ou dérivé (Anet, MKS Gen, etc...), laisser par défaut. Sinon, si vous avez une carte un peu plus exotique (32 bits ou autres...) il faudra plonger dans les options. Sélectionner Save puis Exit. Entrer la commande suivante make Et enfin, on va flasher le firmware avec les commandes suivantes: sudo service octoprint stop sudo service klipper stop make flash FLASH_DEVICE=<port> sudo service klipper start sudo service octoprint start Remplacer <port> par le port que vous avez noté, par exemple /dev/ttyUSB0 ou /dev/ttyACM0. Attention: Sur les cartes Anet, il faut utiliser la commande suivante à la place de make flash: avrdude -p atmega1284p -c arduino -b 57600 -P /dev/ttyUSB0 -U out/klipper.elf.hex 5) Installer le plugin OctoKlipper Ce plugin va nous faciliter la vie en permettant, parmi d'autres choses, d'éditer la configuration de Klipper à travers l'interface web. Dans Octoprint, aller dans Settings > Plugin Manager et cliquer sur Get More. Rechercher le plugin OctoKlipper et Installer. A partir de maintenant, Octoprint va se connecter à une imprimante virtuelle Klipper /tmp/printer au lieu de l'imprimante physique. Si ce n'est pas déjà configuré, modifier les options de connection. Modifié (le) Avril 1, 2019 par Nibb31 1 4
Nibb31 PostĂ©(e) FĂ©vrier 3, 2019 Auteur PostĂ©(e) FĂ©vrier 3, 2019 (modifiĂ©) II - Configuration de base La configuration, pour la majeur partie, va se faire par tatonnement. On va modifier une configuration, sauvegarder, et voir si ça marche... On va gĂ©nĂ©ralement partir d'une configuration standard, mais il faudra souvent affiner ou modifer des trucs. Donc, plutĂŽt que d'expliquer chaque paramĂštre, je vais vous expliquer les grands principes pour que vous vous dĂ©brouilliez vous-mĂȘmes. Chaque option est expliquĂ©e dans le fichier example.cfg dans le dossier config. Les options avancĂ©es (bed levelling, macros gcode, etc...) sont expliquĂ©es dans le fichier example_extras.cfg. 1) Choix du fichier de configuration Ici, on a plusieurs possibilitĂ©s: Si votre imprimante est "standard", vous pouvez rĂ©cupĂ©rer une configuration toute faite, et Ă©ventuellement la modifier. Si, comme moi, votre machine est faite de bric et de broc, il faudra faire un peu plus de modifs sur un fichier existant ou partir du fichier par dĂ©faut (example.cfg). Il y a aussi des exemples pour des CoreXY et Delta. Pour voir les le fichiers de configuration disponibles, entrer la commande suivante: ls -l ~/klipper/config/ On peut aussi voir les fichiers ici:https://github.com/KevinOConnor/klipper/tree/master/config Une fois que vous avez choisi le fichier de config qui se rapproche le plus de votre configuration, entrer la commande suivante: cp ~/klipper/config/example.cfg ~/printer.cfg Ceci va copier le fichier et le renommer printer.cfg. C'est sur celui-ci qu'on va travailler. Maintenant, on peut quitter la ligne de commande. Le reste de la configuration se fera dans Octoprint dans Settings > OctoKlipper > Klipper Configuration. Vous devez maintenant y voir le contenu du fichier. 2) Principes de la configuration Le fichier de configuration est composĂ© de blocs. Certains sont obligatoires d'autres optionnels. Chaque bloc commence par un titre entre crochets (par exemple [printer]) Les pins de la carte se dĂ©finissent avec la syntaxe suivante: pin: <numĂ©ro> On utilise le prĂ©fixe "!" pour inverser la logique, par exemple pour inverser le sens de rotation d'un moteur (l'Ă©quivalent des variables INVERT dans Marlin) On utilise le prĂ©fixe "^" pour utiliser la rĂ©sistance en entrĂ©e, par exemple pour les switchs end stop. Si on utilise les deux prĂ©fixes, le "^" doit prĂ©cĂ©der le "!". Par exemple, dans la dĂ©finition de l'Ă©cran on pourra trouver: encoder_pins: ^ar31, ^ar33 click_pin: ^!ar35 kill_pin: ^!ar41 Si vous avez un doute sur la numĂ©rotation des pins, regardez un schĂ©ma, par exemple ici:https://www.reprap.org/wiki/RepRap 3) DĂ©finir le microcontrĂŽleur Ce bloc dĂ©finit le type de et le port. Sur serial, mettre le port utilisĂ© Ă l'origine par Octoprint pour se connecter Ă l'imprimante. [mcu] serial: /dev/ttyUSB0 4) DĂ©finir les mm/step C'est ici qu'on va utiliser les valeurs rĂ©cupĂ©rĂ©es dans Marlin, principalement les valeurs indiquĂ©es sous Steps per unit. Important: Marlin utilise l'unitĂ© steps/mm et Klipper utilise des mm/step. Il faut donc inverser (1/x) toutes les valeurs par rapport Ă Marlin. Par consĂ©quent, lĂ oĂč on aura une valeur 200 dans Marlin, il faudra utiliser 1/200 = 0.005 dans Klipper. Donc on va changer les lignes suivantes dans Klipper [stepper_x] ... step_distance: 0.005 ... [stepper_y] ... step_distance: 0.005 ... [stepper_y] ... step_distance: 0.005 ... [extruder] ... step_distance: .001265 La valeur dans [extruder] sera la valeur Ă modifier pour calibrer l'extrudeur. On procĂ©dera de la mĂȘme maniĂšre que sous Marlin (une rĂšgle de trois en mesurant le filament qui sort de l'extrudeur), mais an appliquant l'opĂ©ration 1/x. 5) BLTouch et autres capteurs Les BLTouch ou 3D Touch ou autres capteurs nĂ©cessitent beaucoup d'essais. Je conseille d'utiliser un switch endstop classique pour commencer, et de passer au capteur Z une fois que tout le reste est configurĂ©. Pour le BLTouch, dans la section [stepper_z] il faut supprimer la ligne position_endstop et modifier la ligne endstop_pin endstop_pin: probe:z_virtual_endstop #endstop_pin: ^ar18 #position_endstop: 0 Il faut ensuite rajouter une section [bltouch] ou [probe] et renseigner le x, y, z_offset par rapport Ă la buse. Ca doit etre les mĂȘmes valeurs que dans Marlin. Par exemple: [bltouch] sensor_pin: ^ar18 control_pin: ar11 pin_move_time: 0.2 x_offset: 32 y_offset: 0 # Increase Z_Offset to lower nozzle closer to bed. PLA 2.6 z_offset: 2.7 speed: 60 La section [probe] pour les autres capteurs est un peu plus compliquĂ©e. Je vous conseille de regarder le fichier example_extras.cfg pour plus d'informations. Augmenter la valeur z_offset va descendre la buse plus prĂšs du bed. RĂ©duire la valeur mettra plus de distance. Attention: Pour un 3D Touch ou clone de BL Touch, il faut rajouter les lignes suivantes: pin_up_reports_not_triggered: False pin_up_touch_mode_reports_triggered: False 6) Ecrans LCD Le fichier examples_extras.cfg contient les configurations pour la plupart des Ă©crans LCD courants. En principe, il suffit de copier/coller la section qui vous concerne. 7) Tester la configuration. Dans Klipper, Ă chaque fois que vous sauvegardez la configuration, il faut redĂ©marrer Klipper. Si vous utilisez OctoKlipper, il le fait automatiquement, sinon vous pouvez le faire manuellement en tapant FIRMWARE_RESTART dans l'onglet terminal ou la commande suivante en SSH: sudo service klipper restart En principe, le terminal doit envoyer rĂ©guliĂšrement une ligne avec les tempĂ©ratures. Si ce n'est pas le cas, vĂ©rifier les paramĂštres des pins pour les blocs [heater_bed] et [extruder]. Si les tempĂ©tures sont bien renvoyĂ©es, la premiĂšre chose Ă faire est de taper une commande Gcode dans le terminal. Par exemple STATUS. S'il y a une erreur de syntaxe, ça enverra un message d'erreur avec un indice sur ce qu'il faut corriger. S'il n'y a pas de message d'erreur, je vous conseille de procĂ©der progressivement pour vĂ©rifier que tout est correctement branchĂ©: Dans l'onglet Control, tester les axes X, Y, Z pour vĂ©rifier qu'ils se dĂ©placent correctement dans les bons sens. Si ce n'est pas le cas, inverser les paramĂštres dir_pin en ajoutant ou supprimant le "!". Si le moteur ne rĂ©pond pas du tout, vĂ©rifier que les bons pins sont renseignĂ©s dans step_pin et dir_pin. S'ils marchent, commencer par un Home All. Si les endstops ne marchent pas, vĂ©rifier les valeurs de endstop_pin. VĂ©rifier la chauffe de la buse et du bed. Une fois que la buse est chaude, essayer l'extrudeur, et si nĂ©cessaire, le calibrer avec la mĂ©thode habituelle. L'extrudeur ne marchera pas si la buse n'est pas chaude. Si tout ceci fonctionne, vous pouvez lancer une premier impression de test. LĂ , vous avez les billes pour dĂ©marrer et avoir une imprimante fonctionnelle. Dans la section suivante, on couvrira les options de configuration supplĂ©mentaires. ModifiĂ© (le) FĂ©vrier 5, 2019 par Nibb31 4 3
Nibb31 PostĂ©(e) FĂ©vrier 3, 2019 Auteur PostĂ©(e) FĂ©vrier 3, 2019 (modifiĂ©) IV - Configuration avancĂ©e Une fois que vous avez la configuration de base, il est assez facile de rajouter des options supplĂ©mentaires. Les exemples que je mets ici sont simplifiĂ©s et ne contiennent que les infos de base. D'autres options sont disponibles et documentĂ©s dans le fichier examples_extras.cfg. 1) Homing override (pas nĂ©cessaire si vous n'avez pas de sonde) C'est l'Ă©quivalent du SAFE_HOMING dans Marlin: on veut redĂ©finir la position de l'opĂ©ration Home pour s'assurer que la sonde BL Touch ou autre est au dessus du plateau et que la buse ne percute pas le plateau. Dans Klipper, on dĂ©finit une sĂ©quence Gcode Ă dĂ©finir lorsque le Home s'applique Ă un ou plusieurs axes. Voici l'exemple qui marche chez moi, mais qui sera Ă adapter en fonction du placement de votre sonde par rapport Ă la buse: [homing_override] axes: z set_position_z: 0.0 gcode: G90 G0 Z5 F600 G28 X0 Y0 G0 X-5 Y10 F3600 G28 Z0 G0 Z5 F600 Explication: axes: dĂ©finit l'axe sur lequel cet option s'applique. Ici, ça ne va s'appliquer que si on fait Home All ou Home Z. set_position_z: Klipper refuse d'activer la sonde tant qu'on n'a pas dĂ©fini un 0 pour l'axe. On dĂ©finit donc le 0 (provisoire) Ă la position actuelle. gcode: On execute le Gcode suivant: - G90: mode absolu - G0: monter 5mm au dessus (pour s'Ă©loigner du plateau si on est en contact) - G28 X0 Y0: faire un Home sur X et Y - G0 X-5 Y10: mettez ici les coordonnĂ©es de la buse pour lesquels la sonde sera au dessus du plateau. - G28 Z0: faire le Home Z - G0 Z5: remonter Ă 5mm au dessus du plateau pour ne pas rester en contact Vous pouvez bien sĂ»r modifier le Gcode Ă votre convenance. 2) Bed leveling Klipper propose le nivellage automatique du plateau et la compensation de l'inclinaison avec un capteur (dĂ©fini dans les sections [bltouch] ou [probe]) Malheureusement, il faut choisir. Donc je choisis plutĂŽt l'option bed leveling. [bed_mesh] speed: 100 probe_count: 3,3 min_point: -5,20 max_point: 160,200 horizontal_move_z: 6 samples: 1 sample_retract_dist: 6 probe_count sera la dĂ©finition du nombre de points dans la grille de test. min_point et max_point seront les coordonnĂ©es de la buse pour que la sonde soit placĂ©e dans les coins du plateau. Il faut donc tenir compte de l'offset. samples permet de faire la moyenne entre plusieurs sondages Ă chaque point de la grille. horizontal_move_z et sample_retract_dist dĂ©finissent le mouvement en Z Ă chaque sondage. Pour lancer le bed leveling, Klipper ne connait pas la commande G29 mais utilise la commande BED_MESH_CALIBRATE Ă la place. Il faut donc taper cette commande dans l'onglet Terminal. On peut aussi trĂšs bien crĂ©er une macro pour redĂ©finir G29. 3) Deux moteurs Z Il est facile de rajouter un deuxiĂšme moteur sur l'axe Z qui utilise le mĂȘme endstop, en rajoutant le bloc suivant: [stepper_z1] step_pin: ar36 dir_pin: !ar34 enable_pin: !ar30 step_distance: .00125 Il faut bien-sĂ»r s'assurer que les pins sont corrects. La direction du dir_pin ("!" ou pas) ainsi que le step_distance doivent ĂȘtre les mĂȘmes que dans stepper_z. 4) Commandes Klipper Klipper est globalement compatible avec le Gcode Marlin, c'est Ă dire que du Gcode gĂ©nĂ©rĂ© pour Marlin sera compris par Klipper. Cependant, il y a quelques commandes Marlin qui n'ont pas de sens sous Klipper (les options M50x) ou qui utilisent des commandes diffĂ©rentes (par exemple TURN_OFF_HEATERS au lieu de M108). La liste des commandes Klipper est disponibles ici: https://github.com/KevinOConnor/klipper/blob/master/docs/G-Codes.md La liste des commandes Gcode est ici: https://reprap.org/wiki/G-code Vous pouvez aussi taper HELP dans le Terminal pour obtenir la liste des commandes de Klipper. 5) Macros Il est possible de crĂ©er ses propres commandes ou raccourcis Gcode avec Klipper. On peut ensuite inclure la nouvelle commande dans son Gcode ou le taper dans l'onglet Terminal. La syntaxe est la suivante: [gcode_macro <nom de la macro>] gcode: <Gcode> On peut, par exemple, crĂ©er des commandes Gcode Marlin qui n'existent pas dans Klipper, ou crĂ©er des macros pour insĂ©rer le Start Gcode ou End Gcode du slicer directement dans Klipper. Par exemple, avec la configuration suivante, on peut mettre simplement les commandes START_PRINT et END_PRINT dans Cura et Klipper s'occupera d'effectuer les actions en dĂ©but et en fin d'impression: [gcode_macro G29] gcode: BED_MESH_CALIBRATE [gcode_macro PURGE] gcode: M117 Purging... G1 X0 Y3 Z.10 F3600 G92 E0 G1 X40 E10 F500 G92 E0 G1 E-2 F500 G1 X80 F4000 G1 Z0.3 [gcode_macro START_PRINT] gcode: M117 Bed leveling... G90 G21 M82 M107 G28 G29 PURGE [gcode_macro END_PRINT] gcode: M104 S0 M140 S0 G91 G1 E-1 F300 G0 Z+2 E-5 F600 G90 G0 X-5 Y200 F3600 M84 6) Calibration du PID Le PID, c'est l'algorithme qui va contrĂŽler la stabilitĂ© de tempĂ©rature. Un PID mal calibrĂ© va donner une tempĂ©rature qui va osciller entre une valeur au dessus et en dessous de la consigne. Pour calibrer le PID, on va lancer une calibration avec la commande suivante dans l'ongler Terminal: PID_CALIBRATE HEATER=extruder TARGET=200 Klipper va faire lancer plusieurs cycles de tempĂ©rature Ă 200°C et Ă la fin va lister les valeurs pid_Kp, pid_Ki et pid_Kd dans le terminal. Il suffit de copier ces valeurs dans la section [extruder] du fichier de config. Vous pouvez faire la mĂȘme opĂ©ration sur heater_bed. 7) Pressure Advance Cette option est similaire au "Linear Advance" de Marlin. Elle permet de rĂ©gler de façon dynamique le dĂ©bit de la buse en fonction de la vitesse et de l'accĂ©lĂ©ration de la tĂȘte. Sans cette option, par dĂ©faut, si vous faites un carrĂ©, il va y avoir une accumulation de matiĂšre dans les coins qui former une espĂšce de bourrelet vertical dans les coins. Pour trouver la valeur optimale, on commence par rĂ©gler la valeur Ă 0 en rajoutant la ligne pressure_advance dans le fichier de config: [extruder] pressure_advance: 0.000 Taper les commandes suivantes pour ralentir la tĂȘte dans les coins, ce qui va accentuer le problĂšme pour mieux voir les effets: SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=1 ACCEL=500 SET_PRESSURE_ADVANCE ADVANCE_LOOKAHEAD_TIME=0 Imprimer l'objet test (Ă tĂ©lĂ©charger depuis https://github.com/KevinOConnor/klipper/blob/master/docs/prints/square.stl), Ă une vitesse rapide (100 mm/s) et une hauteur de couche Ă 0.2 mm. Ensuite, recommencer avec une valeur de 1.000, 0.500, etc... et affiner pour obtenir le meilleur rĂ©sultat.      ModifiĂ© (le) FĂ©vrier 5, 2019 par Nibb31 4
Sol invictus Posté(e) Février 3, 2019 Posté(e) Février 3, 2019 (modifié) Salut  je suis entrain de suivre ton tuto pour installer klipper sur mon Anet A8 et je suis bloqué à l'etape du flash ligne :  make flash FLASH_DEVICE=<port>  j'ai bien remplacé <port> par  /dev/ttyUSB0 (port de connection donné dans octoprint) mais j'ai le message :  avrdude: stk500v2_ReceiveMessage(): timeout   Modifié (le) Février 3, 2019 par Sol invictus
Nibb31 Posté(e) Février 3, 2019 Auteur Posté(e) Février 3, 2019 (modifié) Essaie d'éteindre et rallumer la carte. Que dit 'lsusb' ? et 'ls /dev/tty*' et 'ls /dev/serial/by-id/' Modifié (le) Février 3, 2019 par Nibb31
Sol invictus Posté(e) Février 3, 2019 Posté(e) Février 3, 2019 (modifié) J'ai éteint complÚtement le raspberry ainsi que l'imprimante et j'ai ca a la reconnexion de octoprint :    donc tout est normal. Modifié (le) Février 3, 2019 par Sol invictus
Nibb31 Posté(e) Février 3, 2019 Auteur Posté(e) Février 3, 2019 Dans Octoprint, fais Connection > Disconnect. Ensuite que disent: lsusb ls /dev/tty* ls /dev/serial/by-id/
Nibb31 Posté(e) Février 3, 2019 Auteur Posté(e) Février 3, 2019 (modifié) Essaie ça: make sudo service klipper stop make flash FLASH_DEVICE=/dev/serial/by-id/usb-la86_USB2.0-Serial-if00-port0 sudo service klipper start Modifié (le) Février 3, 2019 par Nibb31
Nibb31 Posté(e) Février 3, 2019 Auteur Posté(e) Février 3, 2019 Bon ben je donne ma langue au chat.
Sol invictus PostĂ©(e) FĂ©vrier 3, 2019 PostĂ©(e) FĂ©vrier 3, 2019 il y a 25 minutes, Nibb31 a dit : Bon ben je donne ma langue au chat. Merci! la solution Ă Â Ă©tĂ© trouver par Boris sur le groupe FB il faut donc remplacer la ligne : make flash FLASH_DEVICE=<portï»ż>ï»żï»żï»ż part la ligne : avrdude -p atmega1284p -c arduino -b 57600 -P /dev/ttyUSB0 -U out/klipper.elf.hex  et la c'est goodÂ
mikebzh44 Posté(e) Février 4, 2019 Posté(e) Février 4, 2019 Merci pour ce super tuto. Je crois que je vais l'essayer ce week-end 1
Motard Geek Posté(e) Février 4, 2019 Posté(e) Février 4, 2019 @Nibb31 merci pour le tuto je t'ai donné les droits pour le faire vivre  1
pascal_lb Posté(e) Février 4, 2019 Posté(e) Février 4, 2019 (modifié) @Nibb31 merci, effectivement super tuto, comme quoi c'est plus compréhensible en français ;) dans les semaine à venir je vais voir pour adapter ça à une MKS SBASE 32bits... Modifié (le) Février 4, 2019 par pascal_lb
miserovitch Posté(e) Février 5, 2019 Posté(e) Février 5, 2019 Salut,  Super tuto, pascal_lb, je suis intéressé pour la MKS Sbase. Petite question, la Sbase étant une 32 bits peut-on s'attendre à beaucoup de changements?  LC
Nibb31 PostĂ©(e) FĂ©vrier 5, 2019 Auteur PostĂ©(e) FĂ©vrier 5, 2019 (modifiĂ©) D'aprĂšs la doc de Klipper, une carte 8 bits permet "175K steps par seconde" et sur des microcontroleurs 32-bits ont doit pouvoir monter Ă "500K steps par seconde". Mais je ne sais pas comment ça se traduit en vitesse d'impression (mm/s) dans la vie rĂ©elle, mais Ă 100 steps/mm, ça voudrait dire qu'on pourrait atteindre des vitesses thĂ©oriques de 1750 mm/s avec une carte 8 bits !!! Je pense que dans la vie rĂ©elle, tu vas te heurter aux problĂšmes mĂ©caniques (rĂ©sistance, inertie, dĂ©bit de la buse, ventilation...) bien avant d'atteindre ces limites. Du coup, j'aurais tendance Ă penser qu'il n'y aura pas trop de diffĂ©rence pour Klipper entre une carte 8-bits et une 32-bits. Donc le gain de passer Ă Klipper pour une carte 32-bits ne serait pas Ă©norme en terme de performance. Ce serait intĂ©ressant d'essayer. Par contre, il y a le gain indĂ©niable en terme de facilitĂ© d'utilisation. Il y a peut-ĂȘtre aussi un gain sur la prĂ©cision des algorithmes et le bruit, mais je ne connais pas assez les firmwares Smoothieboard ou Marlin 2.0 pour le dire. ModifiĂ© (le) FĂ©vrier 5, 2019 par Nibb31 CorrigĂ© les steps/sec !
pascal_lb PostĂ©(e) FĂ©vrier 5, 2019 PostĂ©(e) FĂ©vrier 5, 2019 Il y a 7 heures, Nibb31 a dit : Il y a peut-ĂȘtre aussi un gain sur la prĂ©cision des algorithmes c'est surtout pour ça que je suis intĂ©ressĂ©, car pour la vitesse... si la qualitĂ© suit oui sinon ça n'a pas d'intĂ©rĂȘt...  Il y a 9 heures, miserovitch a dit : je suis intĂ©ressĂ© pour la MKS Sbase. ok mais c'est pas pour tout de suite, mais c'est dans les projets
trotro Posté(e) Février 5, 2019 Posté(e) Février 5, 2019 (modifié) Hello, trÚs intéressant ce tuto Il y a 8 heures, Nibb31 a dit : une carte 8 bits permet "175 steps par seconde" et sur des microcontroleurs 32-bits ont doit pouvoir monter à "500 steps par seconde" il doit manquer quelques zéros, sinon la vitesse en mm/s est ridiculement basse ! Il y a 8 heures, Nibb31 a dit : mais à 100 steps/mm, ça voudrait dire qu'on pourrait atteindre des vitesses théoriques de 17500 mm/s avec une carte 8 bits !!! je ne comprends pas ce calcul et ce résultat. Modifié (le) Février 5, 2019 par trotro
Kachidoki PostĂ©(e) FĂ©vrier 5, 2019 PostĂ©(e) FĂ©vrier 5, 2019 C'est vrai qu'on parle gĂ©nĂ©ralement de kilo steps par seconde.Â
Nibb31 Posté(e) Février 5, 2019 Auteur Posté(e) Février 5, 2019 (modifié) Tu as raison, je m'ai complÚtement gourré ! Déjà , c'est 175K steps/seconde. Du coup, si on a 100 steps/mm, ça ferait au maxi 175000/100 = 1750 mm/s. J'ai bon ? Il y a des benchmarks selon les cartes ici: https://github.com/KevinOConnor/klipper/blob/master/docs/Features.md C'est sans tenir compte de l'accélération et la distance. Dans tous les cas, déjà avec une carte 8 bits, on est bien au delà de ce que la mécanique peut encaisser et que l'extrudeur peut envoyer ! Modifié (le) Février 5, 2019 par Nibb31 1
Tircown Posté(e) Février 5, 2019 Posté(e) Février 5, 2019 (modifié) Je confirme le calcul de @Nibb31 Plus que le 8bit c'est surtout la fréquence qui va influencer la vitesse. Les RAMPS, MKS GEN, etc. sont en 16MHz. Effectivement d'aprÚs la doc Klipper ces cartes peuvent aller à 150kstep/s sur un seul stepper ou 100kstep/s avec 3 steppers. Sur une config avec 3 TMC2208 à 16ustep réels, des moteurs 1.8°, des poulies 20T pour courroies GT2, bref du classique, on obtient 1250mm/sec max théorique (=100x10^3 * 40 / (16*200)). Rien qu'à voir les tests à 450mm/sec, on sait qu'on ira pas beaucoup plus loin. Modifié (le) Février 5, 2019 par Tircown
Nibb31 Posté(e) Février 5, 2019 Auteur Posté(e) Février 5, 2019 (modifié) Notez qu'il y a aussi une histoire de bande passante USB, limité à 250000bps sur la plupart des cartes 8 bits (je ne sais pas ce qu'il en est pour les cartes 32 bits). Le plugin OctoKlipper permet d'afficher des graphs de performance avec CPU, la bande passante, le buffer, etc... Modifié (le) Février 5, 2019 par Nibb31
Kachidoki PostĂ©(e) FĂ©vrier 6, 2019 PostĂ©(e) FĂ©vrier 6, 2019 En rĂ©alitĂ© ce n'est pas l'USB qui est limitant, mais l'UART qui est derriĂšre. Si ma mĂ©moire est bonne, la valeur "standard" maximum est de 115200bps. Parfois le hardware permet de monter autour de 1Mbps, mais alors survient gĂ©nĂ©ralement deux autres soucis : La frĂ©quence du microcontrĂŽleur qui ne permet pas toujours de tomber sur les multiples commun avec le PC (ne pas oublier que c'est une liaison asynchrone, donc sans horloge commune), c'est souvent spĂ©cifiĂ© en % d'erreur dans les datasheet. Plus on va vite, plus le CPU est chargĂ©, car il doit traiter l'envoi et la rĂ©ception des messages dans des temps plus court pour ne rien rater. Les micro 32bits on gĂ©nĂ©ralement des capacitĂ©s hardware plus importante, notamment des DMA plus Ă©voluĂ©es qui permettent de soulager le CPU. D'une maniĂšre gĂ©nĂ©rale, ce protocole Ă dĂ©jĂ atteint ses limites sur nos machines quand des arcs sont slicĂ©s en segments trĂšs courts. C'est trĂšs bien pour piloter ou monitorer la machine avec un RPi, mais plus trĂšs adaptĂ© Ă l'envoi des G-Code. Les cartes SD sont plus efficaces car c'est du SPI (donc synchrone) et en gĂ©nĂ©rale sur un micro 8bits ça tourne Ă 8-10MBps. Les micro 32bits eux peuvent souvent exploiter le protocole natif des cartes SD et lĂ les dĂ©bits s'envolent. Sinon il reste aussi l'USB natif, mais personne ne s'y est penchĂ© encore.Â
Messages recommandés