Aller au contenu

Messages recommandés

Posté(e) (modifié)

Échauffement

Le contenu du colis du «koikesse» ayant été découvert, je relaterai dans ce sujet ma découverte de cette imprimante, la Q2, avant de publier le test final sur le blog du site.

En échauffement, un petit rappel : le colis pèse 24 kg, l'imprimante elle-même ne pesant qu'un peu plus de 18 kg.

La marque Qidi est moins connue que d'autres constructeurs asiatiques. Elle n'est pas pourtant pas récente dans le monde de l’impression 3D puisqu’elle a entamé ses activités en 2014 sous le nom Qidi Tech devenu Qidi fin 2024.

Evolution-Qidi.thumb.jpg.d3adea4f209bf6c0a180862b572f9306.jpgimp-recentes-qidi.jpg.fba3f6fa6b00cacdbd4b38456b420e06.jpg

Qidi développe ses propres outils matériels et logiciels, par exemple un trancheur (slicer) maison dérivé de BambuStudio pour ses modèles les plus récents. Cette société possède un support technique spécialisé via un Wiki et également via une chaine Youtube.

Sur le site de Qidi, la Q2 est présenté ici. C'est une imprimante «rapide» à l'instar des modèles d'autres constructeurs : vitesse maximale de 600 mm/s, accélérations de 20 000 mm/s².

Les caractéristiques techniques sont décrites dans le comparateur du forum. Je rerprends ici les principales :

SPÉCIFICATIONS Q2

  • Caisson fermé à chauffage actif
  • Cinématique CoreXY
  • Volume d'impression de 270x270x256 mm
  • Températures maximales : 370 °C (buse), 120 °C (lit), 65 °C (enceinte)
  • Compatibilité avec de nombreux matériaux, y compris les plus techniques
  • Autonivellement à l'aide d'une jauge de pression située dans la tête d'impression
  • Système de filtration de l'air 3-en-1 (préfiltre, HEPA, charbon actif)
  • Wifi (2,4Ghz) et Ethernet
  • Écran capacitif de 4,3"
  • Caméra interne (surveillance, timelapses, détection des problèmes d'impression)
  • Certifications (MET, IECEE CB, CE, …)

Tous ces points seront bien évidemment testés et vérifiés lors du test.

Comme la majorité des imprimantes rapides actuelles, Klipper est le firmware faisant fonctionner celle-ci. Trop souvent ce n'est pas la version pure («vanilla») de Klipper, mais une version modifiée par le fabricant, sans remise au pot commun de ces modifications, enfreignant la licence originelle GPL v3.0. Nous y reviendrons lors de l'examen du système d'exploitation et de l'écosystème Klipper utilisé.

Pour rappel, Klipper se compose de deux éléments :

  • un firmware installé sur la carte contrôleur, gérant uniquement les éléments matériels (unité de contrôle)
  • «klippy» installé sur un Small Board Computer (SBC), en français, on parle d'ordinateur monocarte, chargé lui de l'impression (unité de calcul)

image.thumb.png.2a75531fb4abfab32c7d853a28f0ae9e.png

Pour plus de détails sur Klipper je vous renvoie à ce sujet du forum.

Déballage

Le Wiki de Qiditech permet d'accéder à un document texte accompagné de photos ainsi quầ une vidéo de déballage :

 

À l'intérieur du carton, se trouvent deux manuels papier, un plus complet en anglais d'une dizaine de pages, le second plus succinct en six langues (Anglais, Chinois, Italien, Français, Espagnol et Allemand), quatre pages par langue (à noter que le titre de la première page du français est en italien «introduzione alla stampante» 😄).

Quelques photos

L'ouverture du carton donne accès au manuel, à la vitre supérieure, le support de bobine, le carton contenant l'écran et la clé USB : 

IMG_20250822_132142124.thumb.jpg.b9889a2bcfb1371830a4856798683273.jpg IMG_20250822_132209415.thumb.jpg.b96382731f68af5d894b90a8068f2129.jpg IMG_20250822_132226066.thumb.jpg.77eea52c126e0df8d210c86a6e68e932.jpg IMG_20250822_132315162.thumb.jpg.c38267f82e64b6249b1f127a69df0c32.jpg

Ce premier étage de polystyrène est bien protégé aux quatre coins, une fois celui-ci extrait, on aperçoit la Q2 dans son emballage plastique. Une étiquette nous explique comment sortir l'imprimante du carton : 

 IMG_20250822_132424324.thumb.jpg.f3257107e818a141c0015ac469be572b.jpg IMG_20250822_132529624.thumb.jpg.1a0e05e11a5aa39eb8a76fc175d9c0cc.jpg IMG_20250822_132540420.thumb.jpg.3dafbb1492403246e8f21b09997b2579.jpg

Ne reste plus qu'à sortir l'imprimante de l'emballage plastique et retirer les dernières protections (encore du plastique) :

IMG_20250822_132857553.thumb.jpg.19166fe243b334f4d7dccc498412c660.jpg IMG_20250822_133116263.thumb.jpg.88607ba69189166b02eb1804bc208567.jpg

Au fond du carton se trouvent deux petites boites (tool box 1 et 2) :

IMG_20250822_132733878.thumb.jpg.15feca48539d6ef9324f414bdd6d1225.jpg IMG_20250822_133433956.thumb.jpg.df89ac57e2dea76b59e28fd6736a11e7.jpg IMG_20250822_133510399.thumb.jpg.98aa9b9a07fa9a0285a5250e43e545c1.jpg

La boite 1 contient un câble Ethernet de 2 m, une clé plate de 7, un jeu de clé Allen (1,27/1,5/2,0/2,5/3,0) et quelques pièces de remplacement (coupe-filament, essuie buse, fusible). L'autre boite (2) contient le câble d'alimentation secteur, un tournevis plat, une spatule, l'axe support de bobine et un échantillon de filament (20 g) 😄 :

IMG_20250822_133446370.thumb.jpg.92ae979f5c8994cf182f3b49ea566a33.jpg IMG_20250822_133527700.thumb.jpg.9e51b48c69874f6a326e2f6133585c4a.jpg IMG_20250822_133542333.thumb.jpg.78c649e9c94dce8db650646b24d92ca8.jpg

Avant de poursuivre, un examen du capot arrière m'intrigue. Une étiquette indique que cette imprimante est configurée pour fonctionner sur la tension secteur 220-240 V. L'alimentation ne serait donc pas auto-configurable comme sur la plupart des concurrentes ? L'accès à l'alimentation au-dessous de l'imprimante le confirme. Il est de ce fait préférable de bien vérifier que la tension a bien été paramétrée :

alimentation-secteur.thumb.jpg.bbeaf286de16fbd44ebd7e4805ded88d.jpg IMG_20250822_134400500_HDR.thumb.jpg.f683e148f28526b3b93750b2a762928e.jpg IMG_20250822_134221475_HDR.thumb.jpg.cb21350724c5a9689816120ceb6c46d1.jpg IMG_20250822_134241969.thumb.jpg.1a66bab89f8847dc0783df11a296c671.jpg

Voilà, c'est tout pour aujourd'hui.

Il me reste à monter l'imprimante jusqu'à mon bureau à l'étage, lui trouver une place, la brancher et lancer les premières impressions… ce sera l'objet du prochain article.

 

À suivre… bientôt.

🙂 

 

Modifié (le) par fran6p
  • J'aime 6
  • Merci ! 4
Posté(e) (modifié)

Premiers ressentis

L'imprimante a trouvé sa place dans mon bureau. À côté de «grosse Bertha» (ma XMax3 libérée), elle paraît toute petite :

xm3-q2.thumb.png.367c9e06d3cc839d1e9dc40ed5ed7d3d.png

Esthétiquement, je la trouve jolie avec sa combinaison de coques plastique «aluminium anodisé», verre (porte/capot) / plexiglas (façades des côtés) teinté en bleu/violet. La façade arrière, elle aussi en plastique, est de couleur noire.

L'écran, une fois installé, peut s'incliner légèrement de 45° vers l'arrière.

Les deux tiges filetées trapézoïdales sont couvertes de graisse (aucun risque qu'elles ne s'oxydent même après un long séjour en milieu humide 🤭) :

Q2_Left_Lead_Screw.thumb.jpg.c19a3584041f3308765b132e81e6c4fb.jpg Q2_Right_Lead_Screw.thumb.jpg.d7407d4538aa351347ce08bc82524c46.jpg

Après plusieurs montées / descentes du plateau, il va falloir penser à retirer ces surplus :

graisse-1.thumb.jpg.edd41c0696bd3a08809a950596b31c4f.jpg graisse-2.thumb.jpg.65e69e9b59cc76a4dbc52e637ca0db53.jpg

Le bas du caisson est muni d'une échancrure, ce qui facilitera le nettoyage des résidus de filaments tombés au fond (la Xmax3 n'en était pas munie, pire, il y avait un creux à l'avant qui accumulait les scories 🙄).

echancrure.thumb.jpg.48ec2c3c20de3266c00f2a12193a6838.jpg

Une sérigraphie sur le capot indique qu'il peut coulisser vers l'arrière pour faciliter l'impression de filaments comme le PLA et le PETG, sans devoir le retirer complètement. Des verrous permettent d'éviter que ce capot ne bascule. Étant en verre, sa rencontre avec le sol lui serait sans doute préjudiciable.

Sous le capot, sur le pourtour de la coque plastique est collée une bande d'étanchéité, de même pour la porte (exceptée au niveau de l'échancrure). Ces bandes d'étanchéité devraient réduire les déperditions caloriques.

capot-aeration.thumb.jpg.cc6b514c9ba7b51527caf296456d5f6d.jpg capot-verrou-2.thumb.jpg.43f975e3f8157f669e03c5afb12a2e5d.jpg capot-verrou-1.thumb.jpg.e9236cfab0032989880e7b83fa9e1064.jpg attention-verre.thumb.jpg.327ceba19af88a2b144db73ade05a37f.jpg

Un article ultérieur reviendra sur les éléments utilisés sur cette Q2.

Mise en route

L'imprimante est installée. Les films plastiques protégeant les plexiglas des côtés, de la porte et du capot (il est protégé sur chaque face) retirés, il reste à brancher la fiche secteur (j'ai vérifié, malgré la présence du sticker sur l'arrière indiquant que cette imprimante est paramétrée pour du 230V, que le sélecteur de tension sur l'alimentation est bien positionné) et le câble Ethernet relié à un de mes switchs réseau.

Qidi via son Wiki montre le déballage (vidéo + texte avec photos).

C'est parti, l'interrupteur d'alimentation passe de O à I, l'écran s'allume sur le logo Qidi.

logo-demarrage.jpg.65fd55e71d3df9dd99279e238ee37b8c.jpg

Après une grosse minute, celui-ci est remplacé par l'écran de choix de la langue d'affichage. Je reste dans un premier temps en anglais (les traductions en français laissant parfois à désirer).

choix-langue.jpg.08ac362ab1019b211c2eecb80867b2c5.jpg

Une fois la langue sélectionnée, un didacticiel prend en main l'utilisateur en lui montrant les manipulations à faire.

  1. retirer les quatre vis immobilisant le plateau au fond du caisson
    1-liberer-plateau.jpg.b0276853aa27be529969472124f5cfc1.jpg 1_retrait-vis-immobilisant-plateau.gif.a7d4a60f1fab09f2137a4c594a5cef95.gif 2-confirmer-liberer-plateau.jpg.0e3f93235257ff73bd1da191c7ce6a27.jpg
  2. valider via l'écran le retrait des vis, le plateau s'élève permettant d'ôter les cales de mousse au-dessous
    3-enlever-polystyrene.jpg.67e82e76ce0fd218aed01a429574bb04.jpg 2_retrait-mousse-sous-plateau.gif.19c7a166e7b1bd1354c62f7c432a40f7.gif
  3. débloquer la tête  et l'axe X en coupant les colliers Rilsan
    4-debloquer-tete-axe.jpg.cdb16e27b564a9d8e6b8b6574447acad.jpg 3_retirer-colliers.gif.295b62e30d40217946b4c1fd14b2f50c.gif
  4. enlever le carton de protection de la tête, libérer l'axe X en retirant la cale de mousse, finir en introduisant le tube PTFE sur la tête
    4_retrait-carton-tete-bloc-axe-insert-ptfe.gif.b798e790629495264f1a686a8239cbf3.gif
  5. Une fois validées ces manipulations sur l'écran, un ensemble de tests et vérifications sont effectués
    5-tests-qc.jpg.9bd4757a97fd3830b0782f15ca7e9a08.jpg
    1. test de chauffe de l'extrudeur
      6-test-extrudeur.jpg.c3a224d491c6a78ea9257cce4094adda.jpg
    2. test de chauffe du lit
      7-test-lit.jpg.5339c8a56983a3c35fb13b7038e73589.jpg
    3. test de chauffe et ventilateur de l'enceinte
      8-test-enceinte.jpg.9aca2177a7fc71e340d0097471f73a8d.jpg
    4. test du ventilateur de refroidissement
      9-test-cool-fan.jpg.c2d345cde274e488fa6ca1d595eedd0d.jpg
    5. test du ventilateur de refroidissement auxiliaire
      10-test-aux-fan.jpg.71574b16dc8ac59d799e204c19f4fd61.jpg
    6. test du ventilateur d'extraction d'air
      11-test-circulating-fan.jpg.f5a37fd0cc9684d58deadd9d2e2058a2.jpg
    7. auto-nivellement
      12-test-autoleveling.jpg.57f205c3337a259439a5138fa0dde5fe.jpg
    8. compensation de résonances (input shaping)
      13-test-input-shaping.jpg.d4b0772512153f958e6d9584fe4cf510.jpg
      Pour un débutant, le bruit engendré par ce test peut faire «peur». Rien d'anormal, le laisser aller à sa fin 😉.
    9. Une fois ce dernier test réalisé, valider pour avoir le dernier message de félicitations
      14-tests-finis.jpg.c9829500df02323bd11b372cebe88d5a.jpg 15-tests-congrats.jpg.b956d7998ce970e437a566288e9a6d98.jpg

L'ensemble de ces vérifications, tests prend une bonne quinzaine de minutes. Seuls l'auto-nivellement et la compensation de résonances seront à refaire de temps en temps.

En résumé, à partir d'un extrait de la vidéo de déballage de Qidi, j'ai fait une image animée rappelant ces étapes (on peut apercevoir au tout début du didacticiel les étapes montrant comment retirer la QidiBox de l'intérieur de la Q2 quand le modèle est la Q2Combo) :

mise-en-route-600-optimize-100.gif.efe548f209c80a8a1a2745ff7c6fdf9a.gif

L'imprimante est prête à imprimer. Dans un premier temps, j'utilise les gcodes pré-tranchés enregistrés dans la mémoire de l'imprimante.

J'utilise un reste de filament d'une vieille bobine de PLA Eryone Galaxy silver (gris) juste stockée dans un sac hermétique avec un sachet de dessicant.

Révélation

Les ayatollahs du séchage à tout va vont sans doute voir leurs poils se hérisser 😄 

meme-the-solution-for-most-misprints-v0.thumb.jpg.548f581e7c2c0cfd9681ca564f8d4a3f.jpg

Test du Benchy (annoncé pour dix-sept (17) minutes d'impressions, il a fallu plus de ving-cinq minutes en ajoutant la phase (longue) de mise à l'origine, nettoyage de la buse, auto Z, nivellement, …). Le résultat ne présente pas de défaut majeur (je referai des photos rapprochées plus tard) :

benchy-gcode-ecran.thumb.jpg.7e28fc541d0e336d365e99808e3574a5.jpg benchy-plateau.thumb.jpg.b9870517fede0ed03280caa024390c71.jpg benchy-1.thumb.jpg.be8471315be39a034f6ff9b750418e56.jpg

benchy-2.thumb.jpg.f9721fdd06d05b6bdfee558676016ca9.jpg benchy-gcode-termine.thumb.jpg.7354291a169f8fc536fcb8163e52d38f.jpg

La vidéo timelapse :

On continue par le torture-test KickStarter :

ks-test-plateau.thumb.jpg.c57687e596182794405fd84765e764a9.jpg ks-test-plateau-pions.thumb.jpg.d18003b4a60193d547103c46a525f527.jpg ks-test-1.thumb.jpg.662d8faa57136b3e87a3a38b09cf52b7.jpg

ks-test-2.thumb.jpg.4234059c643f88476017bb7697670492.jpg ks-test-3.thumb.jpg.e451483708f7d749bfd7fa9754189ce0.jpg ks-test-4.thumb.jpg.309f44f82a93a2b3df0551aad1ae29c2.jpg

Je n'ai pas encore calculé le score total des différents tests, mais hormis pour certains pontages qui se sont affaissés, les autres parties sont très bonnes.

Et on termine aujourd'hui par le cube Voron. Là encore qualitatif.

voron-cube-plateau.thumb.jpg.baab1d4885bd3ad0f012cf2ae4fd5898.jpg voron-cube-1.thumb.jpg.0810e1a4d5ee2c729851e2abdc70d90d.jpg voron-cube-2.thumb.jpg.459758c16a82011e9c68bc6989db7791.jpg

voron-cube-3.thumb.jpg.6611cf4b6684093b9ac50d51026b700f.jpg voron-cube-4.thumb.jpg.e81f048fbd39a5a99b2fffd331f601ce.jpg

En résumé de ces premières impressions, aucun problème de nivellement, la buse est parfaitement nettoyée de toute scorie (mais ça prend du temps). Les pièces se sont imprimées sans se décrocher et une fois le plateau redescendu sous les trente (30) degrés, elles se sont décollées facilement.

premières impressions.jpg

À bientôt pour la suite (qui arrivera bientôt 😄)

Révélation

soon-tm-soon.gif.297ba12136466005fad27d59a579ed0f.gif

🙂 

Modifié (le) par fran6p
  • J'aime 2
  • Merci ! 4
Posté(e) (modifié)

Composants matériels

La structure est constituée d'un solide cadre acier associé à des parois en matière plastique. Une porte et un capot en verre fumé bleu/violet complètent l'habillage. Ces parois plastiques incorporent un retardateur de feu, d'après le fabricant.

parois-retardant-feu.jpg.e362a116d29f3a6ac0c8313491fbfbf7.jpg

Cinématique CoreXY

La tête d'impression se déplace dans le plan à la fois en X et en Y, les deux moteurs agissent de conserve. Plus d'explications techniques à propos de la cinématique CoreXY ici.

structure-corexy.jpg.f4ed10e38e53fd902971c7d02acb1fb4.jpg

Les avantages théoriques de cette cinématique CoreXY :

  • espace réduit (le lit chauffant ne se déplace que de haut en bas),
  • structure cubique permettant de fermer celle-ci afin d'obtenir une enceinte étanche,
  • les deux moteurs pas à pas se complètent pour réaliser les mouvements X/Y,
  • rapide et précis lorsque utilisé avec une tête d'impression légère

Mais peut aussi présenter quelques inconvénients :

  • la tension des courroies est critique,
  • nécessite un cadre parfaitement rigide et d'équerre,
  • le système de poulies et la longueur du cheminement des courroies

La tête d'impression est située sur l'axe X, un rail de guidage (MGN12) permet les déplacements (gauche - droite) :

rail-mgn12.jpg.d938c716b6653c24b585dafb979208e7.jpg

Cet axe X est guidé sur l'axe Y via une tige linéaire de diamètre 8 mm associée à une douille à billes LMU8UU (une tige et douille de chaque côté).

axe-y-gauche.thumb.jpg.db248fc43955a29b245718096c780bb2.jpg axe-y-droit.thumb.jpg.700219f09524ab2bb9ec0a383372b82b.jpg

Le déplacement de la tête utilise des courroies de 7 mm de pas 1,5 mm assurant d'après Qidi plus de précision et moins de phénomène de VFA (Ellis ' Guide).

courroie-1-5gt.jpg.3000eab61aa24e6099fc8da4e97df7c1.jpg gt1-5.jpg.2dd2e9a11e9049bc30f0bc3a91384b8d.jpg

Ces courroies peuvent être retendues si nécessaire (voir le Wiki de Qidi pour les explications), après avoir dévissé un peu (pas complètement 😉) les quatre vis pour chaque moteur, on déplace la tête suivant le parcours préconisé puis on resserre toutes les vis. Chacun des tendeurs est muni d'un ressort assurant la bonne tension.

acces-tendeurs-courroies.png.7a9f238dc64a4a0af37e963b409f720e.png parcours-tete-tension-courroies.png.3d60f822cf3e421f06bd5aff16294d48.png

Les vis (4) qui maintiennent les moteurs en position sont vissées directement dans le plastique. Éviter de procéder fréquemment à la re-tension des courroies.

Plateau d'impression

Le plateau chauffant (24 V) est constitué d'une plaque d'aluminium de 3 mm recouverte d'une base magnétique. Il peut atteindre la température maximale de 120 "C.

De chaque côté, celui-ci est guidé par deux tiges linéaires de 10 mm associées à des douilles à billes LMU10UU. La montée / descente est réalisée par une vis trapézoïdale également de diamètre 10 mm. Un tour complet monte / descend le plateau de 4 mm. La vis mère est de type T10/4 (pas de 2 mm, 2 filets). Le paramètre rotation_distance de la section [extruder] du fichier printer.cfg, a pour valeur 4 (pas_vis * nombre_de_filets), elle permet d'atténuer la descente du plateau par gravité lorsque les moteurs Z ne sont plus alimentés.

axezgauche.thumb.jpg.cbb1ac15fec9739bc032003f1c571845.jpg axezdroit.thumb.jpg.c53dbd6ab0ec241572e69246ebfbef5a.jpg

Un moteur pour chaque tige trapézoïdale permet d'ajuster de manière indépendante l'inclinaison du plateau. Cet ajustement est réalisé au départ de chaque nouvelle impression (Z_TILT_ADJUST), contribuant à une meilleure adhérence.

Le maintien de la plaque de tôle flexible et amovible sur le plateau chauffant se fait en la positionnant sur la plaque magnétique collée sur le lit chauffant. Le support du plateau est muni à chaque coin arrière de rebords assurant le centrage de la tôle. Au cas où l'utilisateur oublierait de repositionner la tôle recouverte de PEI, un rappel est inscrit sur la base magnétique. Rappel qu'il vaut mieux respecter afin d'éviter toute déconvenue 😉.

avertissement-plateau.thumb.jpg.65da2dc21b1a15284b3d86c41475f128.jpg

Sous le plateau chauffant, il n'y a aucun isolant thermique. Cela permettrait d'assurer une répartition plus homogène de la température. Les déperditions caloriques contribuent toutefois au chauffage interne du caisson.

plateau-chauffant-dessous.thumb.jpg.60aef144e1e2e5d3684dc4ad9ac7000a.jpg

Ventilation

De nombreux ventilateurs permettent le refroidissement ou l'évacuation de l'air interne.

À l'intérieur de l'enceinte, trois ventilateurs :

  1. Un axial 8025 à l'arrière, permet d'évacuer l'air «vicié» à l'extérieur du caisson. Un filtre HEPA+charbon actif filtre les émanations( Wiki, comment le remplacer). Il est possible de monter un conduit d'évacuation vers l'extérieur, les trous de fixation d'un adaptateur préexistent :
     
    fan_extraction-air.thumb.jpg.610bbb1cbeb6105b80b34ad49eb37ce9.jpg fan_extract-paroi-externe_200pc.jpg.355f3a422873afb2a10a68732c08cec8.jpg filtre-hepa-charbon.jpg.0d7a03426e9d2efee4443a51eea39b06.jpgfiltration-air.gif.e2c04752394d5fcb13368092ce020852.gif
  2. Sur le côté droit, le ventilateur de refroidissement du filament auxiliaire, probablement un radial de 120 mm (pas eu le courage de le démonter 😞)
    ventilateur-refroidissement-auxiliaire.thumb.jpg.ccee76816e13886ef826e38527ff5b16.jpg
  3. Sur le côté gauche, le ventilateur de chauffage de l'enceinte (un radial de 92 mm). Il aspire l'air en haut et le rejette en bas, créant un flux de circulation. Le chauffage PTC est alimenté par la tension secteur via un SSR / Mosfet), capable de chauffer l'enceinte jusqu'à 65 °C, il est muni d'une sécurité anti-emballement thermique.
    chauffage-enceinte.thumb.jpg.7543482d1ec2c090dd75919863bad75a.jpg

À l'arrière de l'imprimante, la carte contrôleur est refroidie par un petit ventilateur axial 4010, fixé sur la paroi. Celui-ci est régulé par la mise en marche des pilotes de l'axe Z. Qidi, les active dès le démarrage de la machine, il souffle donc tout le temps. Il n'y a qu'à la fin d'une impression, qu'ils sont désactivés, ce qui stoppe le refroidissement de la carte contrôleur.
fan_cm.thumb.jpg.0e2f477333e56be1c509443400f1ab12.jpg

Au-dessous de l'imprimante se trouve l'alimentation secteur munie d'un ventilateur. Non régulé, il souffle constamment.

Les derniers ventilateurs de cette Q2 sont situés dans la tête d'impression. Un 5015 radial refroidit le filament et un 2510 axial refroidit le radiateur quand la température de la buse passe au-dessus de 50 °C.

fan_filament.thumb.jpg.4f976b24832f6b8e8559344b979ad6b9.jpg fan_radiateur.thumb.jpg.26fb5705c43a06a6e8479245427da0dc.jpg

Tête d'impression (extrudeur / tête de chauffe)

La tête d'impression de cette Q2 est plutôt compacte 54 x 88 x 120mm (largeur x profondeur x hauteur).

Son capot avant est facile à enlever (faire levier en bas du capot pour déboiter les magnets, puis lever pour le sortir des deux ergots de maintien). Comme aucun ventilateur n'y est attaché, on peut le poser où on veut 🙂. À l'arrière, une trappe coulissante permet d'accéder au PCB de la carte électronique. Pour des dépannages, il n'y aura donc aucune vis à retirer 👍.

tete-capot-en-cours-retrait.thumb.jpg.edc0412a26d361000dd22bc318c88d3a.jpg tete-impression-capot-ot.thumb.jpg.4ccf5459ac0d73803c0afa64779348b6.jpg tete-capot-arriere-amovible.thumb.jpg.6ebf80a58b5448df6a40a40f296788ac.jpg tete-arriere-caopt-ot.thumb.jpg.091c070db18ed66681728125287620f0.jpg

En plus des ventilateurs déjà vus, la tête d'impression est composée de deux principaux éléments :

  1. l'extrudeur,
  2. la tête de chauffe.

Entre les deux se trouve le coupe-filament, actionné par un levier quand la tête vient en butée sur l'avant gauche de la Q2.

tete-Q2.thumb.jpg.50880325473afa8b79236a5bc108d3e3.jpg

Avec cette tête, c'est la buse à l'aide d'une jauge de pression qui fait office de détecteur de fin de course.

senseurnivellement.jpg.9253ea114001af4ea1d5274d2314790d.jpg

Ce système oblige à avoir une buse parfaitement propre. La présence d'un résidu de filament fausserait la mesure. Raison pour laquelle, même si le processus de nettoyage semble long, qu'il soit réalisé régulièrement et méthodiquement.

Extrudeur

L'engrenage d'entrainement du filament consiste en deux roues dentées en acier durci (ce qui devrait être plus durable avec des filaments chargés (fibre de carbone ou verre, …)). Le double entrainement est effectué via un moteur Nema14 circulaire.

double-entrainement-durci.jpg.ebed902c2fa388d89613aeb44a66a1fb.jpg

Au-dessus de ces roues d'entrainement, on trouve un interrupteur détectant la présence (ou l'absence) de filament, mais pas de détection d'un filament bloqué 😞

Tête de chauffe

La tête de chauffe autorise une température jusqu'à 370 ”C. Températures permettant l'impression de filaments techniques (PET, PA, PPS, PC, …).

Elle se compose :

  • d'un radiateur (zone froide) refroidi par le ventilateur précédemment vu,
  • d'un corps de chauffe en céramique,
  • d'une buse «tout-en-un» de longueur ≃ 53 mm
  • et d'une chaussette en silicone pour protéger cette partie chauffante.

buse-q2.thumb.jpg.9903891c04ce6f032df9e416c3a08a8e.jpg

La buse est légèrement plus longue que celle de la Qidi Plus4 (51,5 mm). Qidi l'indique d'ailleurs sur son site de vente des accessoires :

avertissement-buse-q2-vs-plus4.jpg.9ccdc86473931990fe23cd6fe91db952.jpg

En haut une buse pour la Plus4, en bas celle de la Q2 :

buses-plus4-vs-q2.thumb.jpg.c394a4ed30cb5d946162c73753c498ad.jpg

Elle est constituée de quatre parties :

  1. buse proprement dite incorporant une pointe en acier durci (longueur ≃ 30 mm)
    buse-q2-buse.thumb.jpg.19526a4d8bcf5994e255c78923471f56.jpg
  2. transition en céramique ( 3 mm)
  3. heatbreak (≃  10 mm)
    buse-q2-heatbreak.thumb.jpg.01f01fe20a7578610da92dad2af6c0df.jpg
  4. tube d'entrée du filament (≃ 10 mm), c'est lui qui est un peu plus long sur la Q2
    buse-q2-arrivee-filament.thumb.jpg.cfa7790ed61f415181a0daeb97742c7a.jpg

Sur le haut du radiateur se trouve la jauge de pression, le mécanisme détectant par contact quand la buse est au niveau de la surface d'impression. On y reviendra lors de l'examen de la plaque PCB de la tête d'impression (sans trop divulgâcher, la puce électronique (convertisseur ADC) est une CS1237 (déjà vue sur les Anycubic Kobra S1) 🙄.

Nettoyage / purge filament

Le nettoyage de la buse s'effectue sur la partie arrière de l'imprimante.

Ce nettoyage doit être le plus parfait possible. Tout résidu de filament restant sur la buse fausserait les mesures de la jauge de pression utilisée pour détecter le point 0 du plateau. 

Trois zones sont utilisées pour le nettoyage du filament :

  1. parking de la tête sur l'éjecteur de purge
    1. une lamelle métallique
    2. un racloir
    3. des lamelles en silicone
  2. la tôle flexible (PEI) possède un débordement. C'est là que se positionne la buse lors des montées / descente de températures utilisées pour le nettoyage
  3. un tapis silicone permettant de nettoyer la buse (mouvement de va-et-vient)

zone-nettoyage-purge-parties.thumb.jpg.3295f2b1e4a376f7112ecd807f286557.jpg

De gauche à droite, la tête positionnée aux différents endroits utilisés lors de la procédure de nettoyage et purge du filament (parking, PEI, brosse silicone) :

tete-parking.thumb.jpg.029284d296a57b1667b04a90bb782f25.jpg tete-parking-pei.thumb.jpg.f1a6f508b3eeef21f3dcf018007523eb.jpg tete-nettoyage-silicone.thumb.jpg.ac7385ae544427c49bad69eb1dd3b11e.jpg

Vidéo du processus de nettoyage de la buse ;

Voilà, c'est fini… pour aujourd'hui

Cette partie matérielle sera poursuivie par l'examen de l'électronique.

À bientôt

🙂 

Modifié (le) par fran6p
  • J'aime 4
  • Merci ! 1
Posté(e) (modifié)

On continue l'exploration des entrailles de la Q2.

Alimentation électrique

L'alimentation électrique est située sous l'imprimante. Sa puissance de 350 W (24 V / ≃ 15 A) est suffisante pour alimenter les cartes électroniques, les ventilateurs, les moteurs et le lit chauffant. Son ventilateur tourne constamment et est audible machine à l'arrêt (idle). Une plaque de protection permet, une fois retirée d'accéder au câblage.

Contrairement à bon nombre de ses concurrents, Qidi utilise encore des alimentations où la tension secteur est commutable via un sélecteur à deux positions (230 V / 120 V). Une étiquette sur la façade arrière de la Q2 indique la tension de l'imprimante réglée en usine, mais rien n'empêche d'aller la vérifier (on n'est jamais trop prudent, brancher l'imprimante sur du 230 V alors que l'alimentation est en 120 V conduira l'utilisateur à des déboires (l'inverse sera moins destructeur 😉)).

alimentation-1.jpg.1a554c7b0f5f956487a0d2de0bfe7a41.jpg alimentation-2.thumb.jpg.46689a863815e3cd053ac964ae3f828d.jpg alimentation.jpg.2da1be96483393d6fb590c6b83155419.jpg

Le chauffage de l'enceinte est lui directement connecté au secteur (230 V en France) piloté par un SSR.

mosfet-ssr.jpg.e76056f033799d0cf0e18d804ca1a3e7.jpg

Qidi a obtenu une certification MET. Le label MET indique que la sécurité du produit a été évaluée par un laboratoire indépendant agréé conformément aux normes nationales nord américaines. Les équipements électriques et électroniques testés et certifiés peuvent être utilisés en toute sécurité sur le lieu de travail (USA / Canada). Si j'ai bien compris, pour nous, Français, ce serait le label CB qui assure la conformité (toutefois, je ne suis pas un spécialiste, donc à prendre sous toutes réserves).

met-certification.thumb.jpg.0c36a7a01575d63481574d7631f54e7f.jpg

Électronique

La gestion de Klipper est assurée par plusieurs cartes électroniques propriétaires. Pour plus d'informations sur Klipper, je vous renvoie vers ce tutoriel.

Carte OS (unité de calcul)

L'accès à cette carte se fait à l'intérieur de l'enceinte, côté gauche, sous une protection plastique au-dessus du chauffage de l'enceinte (deux vis à retirer). 

x91-vue-gen.thumb.jpg.cd19e7d59e325b2347d16744ed49fe3a.jpg

Cette carte contient le système d'exploitation (Debian Bullseye (v11)) installé sur une eMMC de 32 Go. C'est par l'intermédiaire de liaisons série que la communication s'établit avec :

  • la carte contrôleur gérant les matériels de l'imprimante,
  • la tête d'impression,
  • la Qidi Box branchée sur une platine fixée sur la façade arrière.

platine-qboxfan-cm.thumb.jpg.3667eccd7b521dc95aa14d715582a1a6.jpg platine-qbox-2.thumb.jpg.c5c806b5e67147020b251280a8873948.jpg platine-qbox-3.thumb.jpg.a7d83a1a2b0a6748408c4b9556fc1087.jpg

La sérigraphie indique le modèle : X-9-1 (v1.5). Qidi n'a pour le moment fourni aucune documentation quant à celle-ci.

x-9-1_v1.5.thumb.jpg.ea7e492484cca31d1ee8204804c21318.jpg

On y trouve plusieurs composants électroniques :

  • un processeur Rockchip, modèle RK3305B-S refroidit par un gros radiateur (vert) (datasheet: C2928030.pdf),
  • une puce de mémoire vive (RAM) Winbond de 512 Mo (1 Go aurait été mieux),
  • une puce eMMC soudée de 32 Go, taille suffisante pour accueillir l'OS et les fichiers gcodes / timelapses,
  • une puce Wifi Realtek RTL8821cs (datasheet: RTL8821CS-Realtek.pdf). Cette puce fournit une connectivité Wifi sur les bandes 2,4 et 5 Ghz ainsi que le Bluetooth,
  • une prise pigtail sur laquelle est connectée l'antenne Wifi (collée à l'intérieur sur la paroi gauche),
    antenne-wifi-2.thumb.jpg.c9439e61beffa8ebc8ddc2b01a5836e6.jpg
  • un connecteur pour l'Ethernet (prise RJ45 déportée),
  • un connecteur pour la nappe allant vers l'écran tactile,
  • un connecteur pour la caméra (USB),
  • un connecteur pour la liaison vers la carte contrôleur, 

Sous réserve, en attendant que Qidi fournisse des schémas de câblage et d'attribution des broches, comme cela s'est fait pour les autres modèles, mon analyse :

x-9-1-details-li3d.jpg.3391c1e96f82e6281086574737fe0a98.jpg

Carte contrôleur (unité de contrôle)

L'accès à cette carte se fait après avoir retiré la façade arrière. Pour enlever complètement cette façade, il est nécessaire de déclipser le connecteur de tube PTFE (retirer le clip bleu, presser la collerette du pneufit noir, sortir le PTFE) :

connecteur-ptfe-1.thumb.jpg.cf94a4fb2f834a05257b9d07c8bae840.jpg  connecteur-ptfe-2.thumb.jpg.b309fb40fc8434faffae332cd8c9fe61.jpg

Une fois la façade retirée, les composants électroniques se trouvent dans la partie basse. Cette partie ne possède pas d'ouverture sur l'intérieur de l'imprimante, ce qui est une bonne chose pour éviter des transferts de chaleur.

À noter que les moteurs (X et Y) sont, eux aussi, placés hors de l'enceinte, ce qui devrait leur assurer une meilleure longévité.

capot-arriere-retire.thumb.jpg.6b2e116e62de75faca2a5af6adeeb885.jpg 

On peut noter, en tout cas par rapport aux modèles de la Serie 3, qu'un effort a été réalisé pour le cheminement des câbles.

La sérigraphie sur le PCB de la carte indique X-9-3 (v1.3.0).

cm-stm.thumb.jpg.98127959e61b27806d2ec8073f1fe50f.jpg

C'est elle qui gère les éléments matériels via le firmware Klipper installé dans la mémoire du microcontrôleur STM32.

Les composants électroniques principaux :

  • microcontrôleur STM32F407 @ 168 MHz,
  • quatre pilotes moteurs (drivers) TMC équipés de gros radiateurs :
    • 2 TMC2240 (axes X et Y),
    • 2 TMC2209 (axes Z1 et Z2 indépendants)
  • quelques MOSFETs

De nombreuses prises (certaines non utilisées) pour connecter :

  • ventilateurs
  • moteurs
  • thermistances :
    • lit chauffant
    • chauffage enceinte

La connexion de cette carte X-9-3 (unité de contrôle) avec la carte X-9-1 (unité de calcul) se fait en mode série (le serial:/dev/serial/by-id/usb-Klipper_QIDI_MAIN_V2_1.0.0_52A832373534350534343539-if00 de la section [mcu] du printer.cfg).

carte-controleur.thumb.jpg.12f369e9591283f23f9188ff29ffe4fc.jpg x-9-3_v1.3.0.jpg.7b5b3e770dc89c73d27ad84d051c702e.jpg

Qidi n'a pas encore fourni le schéma électronique de cette carte avec les attributions de broches (pins). Sous réserve, en attendant que Qidi fournisse des schémas de câblage et d'attribution des broches, comme cela s'est fait pour les autres modèles, mon analyse :

x-9-3-details-li3d.jpg.354296766b6fc9cce8d48dc8761ea457.jpg

Carte fille (tête d'impression)

L'accès à cette carte (A-10) s'effectue en retirant la trappe à l'arrière de la tête :

tete-capot-arriere-amovible.thumb.jpg.4da147f365f1a37c1f94d957bbd4f181.jpg tete-arriere-caopt-ot.thumb.jpg.6856619d19384ff029f77a70057fae4c.jpg

Elle communique avec la carte X-9-1 en mode série. Ce n'est pas à proprement parler de l'USB, car la tension qui passe dans les câbles d'alimentation est de 24 V.

Une fois la machine éteinte, les prises déconnectées, je peux accéder aux trois vis qui maintiennent le PCB sur l'arrière de la tête. De nombreuses puces sont recouvertes d'une grosse goute de vernis qui ne facilitent pas la lecture des inscriptions à l'aide de mon microscope électronique (amateur).

pcb-enlev.thumb.jpg.9dfcb40646bb296055e7a83d1032fcb6.jpg a-10-verso.thumb.jpg.eca6d2f4802c92351fb2636c4c5b5a90.jpg a-10-recto.thumb.jpg.1cd678f718ca6afb70eb0b95faa2b8ef.jpg

Sous réserve, en attendant que Qidi fournisse des schémas de câblage et d'attribution des broches, comme cela s'est fait pour les autres modèles, mon analyse (face composant, face pistes) :

a-10-details-li3d.jpg.6a2576cc1d5233807e6d96be4326faba.jpg a-10-recto-details-li3d.jpg.6df70a1b7522e3190121296683ecfd0a.jpg

Pour l'accéléromètre (LIS2DW), je ne suis pas certain de son emplacement 🙄.

 

Écran tactile 4,3"

Là, honnêtement, je n'ai pas eu le courage de désassembler la carte de son boitier. Les seules infos proviennent des sorties de dmesg :

  • le tactile :
    input: Goodix Capacitive TouchScreen as /devices/platform/ff070000.i2c/i2c-3/3-005d/input/input0
  • communication apparemment via un framebuffer (fb) :
    rockchip-drm display-subsystem: [drm] fb0: rockchipdrmfb frame buffer device
    [drm] Initialized rockchip 3.0.0 20140818 for display-subsystem on minor 0

Dans le dossier utilisateur (mks), le dossier QD_Q2 contient le binaire (client) gérant l'affichage. Les images de l'écran (format .bin) ne sont pas directement lisibles. Elles se trouvent dans ~/QD_Q2/access. On peut y trouver quelques GIFs.

mks@linaro-alip:~$ ls -al QD_Q2/
total 16
drwxr-xr-x  4 mks netdev 4096 Jan 15  2025 .
drwxr-xr-x 19 mks netdev 4096 Aug 24 10:50 ..
drwxr-xr-x 24 mks netdev 4096 Aug 23 18:14 access
drwxr-xr-x  2 mks netdev 4096 Aug 23 18:14 bin
mks@linaro-alip:~$ ls -al QD_Q2/bin
total 13072
drwxr-xr-x 2 mks netdev     4096 Aug 23 18:14 .
drwxr-xr-x 4 mks netdev     4096 Jan 15  2025 ..
-rwxr-xr-x 1 mks netdev 13372952 Aug 20 10:50 client
-rwxr-xr-x 1 mks netdev      181 Aug 20 10:50 start.sh
mks@linaro-alip:~$ ls QD_Q2/access
add_icon.bin        box_two_icon.bin      extruder_icon.bin      layer_icon.bin              popup             start_logo.bin       type_icon.bin
adjust              chamber_icon.bin      extruder_red_icon.bin  leveling                    preview           startup              weight_icon.bin
back_pre.bin        chamber_red_icon.bin  file                   main                        printing          stop_icon.bin        z_offset_icon.bin
back_rel.bin        common                flow_icon.bin          multi_color                 printing_setting  sub_icon.bin
boot_logo.bin       confirm_icon.bin      home                   multi_colored_icon.bin      setting           switch_default.bin
box_dry             consumables           hotbed_icon.bin        multi_colored_icon_hot.bin  setting_icon.bin  switch_off.bin
box_four_icon.bin   control               hotbed_red_icon.bin    navi                        speed_icon.bin    switch_on.bin
box_one_icon.bin    dry                   keyboard               others                      start_error.bin   switch_selected.bin
box_three_icon.bin  exclude_object        language               pause_icon.bin              start_icon.bin    time_icon.bin

La prise USB sur le côté droit de l'écran permet le transfert de fichiers tranchés (gcode) et également la mise à jour du système (les fichiers de mise à jour sont alors placés dans un répertoire nommé QD_Update à la racine de la clé).

ecran-prise-usb.thumb.png.1d7e3aa7bcbeca4980231e9c79f84670.png

Caméra

Située à l'intérieur du caisson à droite, elle permet d'avoir une vue d'ensemble du plateau. Il faut juste ne pas oublier de retirer le film de protection de la lentille 😉. Sa résolution fixée en usine à 640x480, peut être augmentée en modifiant le fichier crowsnest.conf. Pour ma part je l'ai passée à 1280x720 et 10 fps.

Pas eu le courage de la démonter pour accéder à ses entrailles. lsusb et la lecture du périphérique indiqué dans le fichier de configuration indique une puce de la société chinoise icSpring (modèle CH9221) :

camera-icspring.thumb.jpg.4050a4b782a2e690cfe38dd7ba72a2fd.jpg

Citation

mks@linaro-alip:~$ lsusb
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 004: ID 1d50:614e OpenMoko, Inc. QIDI_MAIN_V2_1.0.4
Bus 002 Device 003: ID 32e6:9221 icSpring icspring camera
Bus 002 Device 002: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

 

 

Je compléterai ce sujet au fur et à mesure de mes découvertes (ou pas).

D'ici là, un peu de patience pour la suite

🙂  

Modifié (le) par fran6p
  • J'aime 5
  • Merci ! 1
Posté(e) (modifié)

OS, écosystème Klipper

Nous aborderons dans ce sujet la partie logicielle, à savoir :

  • le système d'exploitation (Debian),
  • l'écosystème Klipper (Klipper, Moonraker, Fluidd)

Debian

Les imprimantes précédentes de Qidi utilisaient une seule carte pour faire fonctionner Klipper, carte regroupant l'unité de calcul et l'unité de contrôle. La Q2 utilise deux cartes séparées.

image.thumb.jpeg.9738a2a4995bbbfca4050a135e8c7635.jpeg

L'unité de contrôle (Klipper) se trouve à l'arrière de la Q2.  Elle pilote les matériels et utilise un micro-contrôleur STM32 (STM32F407).

L'unité de calcul se trouve dans l'enceinte sous un cache plastique, à gauche au-dessus du système de chauffage interne. C'est un ordinateur monocarte (Small Board Computer en anglais (SBC)) utilisant un contrôleur Rockchip RK3308B-S. Celui-ci fonctionne avec un système d'exploitation Debian.

La section «Information système» de l'interface Web Fluidd, nous donne la version Debian : une Bullseye (version 11).

fluidd-infos-sys.jpg.c12e217277add1f0c7bbee1de078c3d5.jpg

Dommage que depuis la sortie récente de la version Trixie (v13), cette v11 soit désormais passée au statut «oldoldstable».

L'accès en ssh au système est possible en utilisant comme identifiant mks et comme mot de passe makerbase 😄. L'accès ssh directement en root (mot de passe inconnu) n'est pas possible, mais une fois connecté en tant que mks, il est possible via "sudo su" de monter en privilèges (attention tout de même à éviter un "rm -rf /" qui serait fatal 😱).

Un extrait de "dmesg" confirme le processeur utilisé (Rockchip RK3308B-S) :

Citation

r[    0.000000] Linux version 5.10.160 (root@menson-virtual-machine) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29)) 10.3.1 20210621, GNU ld (GNU Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29)) 2.36.1.20210621) #1 SMP PREEMPT Thu Feb 27 14:22:34 CST 2025
[    0.000000] Machine model: Rockchip RK3308B-S evb analog mic v11 board

Citation

mks@linaro-alip:~$ cat /proc/device-tree/model
Rockchip RK3308B-S evb analog mic v11 board

lscpu permet de lister les caractéristiques de ce processeur (ARM Cortex-A35, quatre cœurs, fréquence 1,1 Ghz) qui n'est pas un foudre de guerre avec ses 48 BOGOMIPS :

Citation

mks@linaro-alip:~$ lscpu
Architecture:                    aarch64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
CPU(s):                          4
On-line CPU(s) list:             0-3
Thread(s) per core:              1
Core(s) per socket:              4
Socket(s):                       1
Vendor ID:                       ARM
Model:                           2
Model name:                      Cortex-A35
Stepping:                        r0p2
CPU max MHz:                     1104.0000
CPU min MHz:                     408.0000
BogoMIPS:                        48.00
Vulnerability Itlb multihit:     Not affected
Vulnerability L1tf:              Not affected
Vulnerability Mds:               Not affected
Vulnerability Meltdown:          Not affected
Vulnerability Mmio stale data:   Not affected
Vulnerability Retbleed:          Not affected
Vulnerability Spec store bypass: Not affected
Vulnerability Spectre v1:        Mitigation; __user pointer sanitization
Vulnerability Spectre v2:        Not affected
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected
Flags:                           fp asimd aes pmull sha1 sha2 crc32 cpuid

Plus d'infos avec "cat /proc/cpuinfo"

Citation

mks@linaro-alip:~$ cat /proc/cpuinfo
processor       : 0
BogoMIPS        : 48.00
Features        : fp asimd aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x0
CPU part        : 0xd04
CPU revision    : 2

processor       : 1
BogoMIPS        : 48.00
Features        : fp asimd aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x0
CPU part        : 0xd04
CPU revision    : 2

processor       : 2
BogoMIPS        : 48.00
Features        : fp asimd aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x0
CPU part        : 0xd04
CPU revision    : 2

processor       : 3
BogoMIPS        : 48.00
Features        : fp asimd aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x0
CPU part        : 0xd04
CPU revision    : 2

Serial          : ffafcc58365658be

Combien de RAM ? 512 Mo (les modèles précédents (Serie3, Q1 Pro, Plus4) avaient 1 Go).

Citation

mks@linaro-alip:~$ cat /proc/meminfo
MemTotal:         498752 kB
MemFree:           16640 kB
MemAvailable:     211932 kB
Buffers:           70552 kB
Cached:           121208 kB
SwapCached:            0 kB
Active:           115516 kB
Inactive:         306332 kB
Active(anon):        564 kB
Inactive(anon):   232064 kB
Active(file):     114952 kB
Inactive(file):    74268 kB
Unevictable:        2184 kB
Mlocked:            2184 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:               496 kB
Writeback:             0 kB
AnonPages:        232280 kB
Mapped:            83036 kB
Shmem:               796 kB
KReclaimable:      17308 kB
Slab:              38536 kB
SReclaimable:      17308 kB
SUnreclaim:        21228 kB
KernelStack:        2960 kB
PageTables:         4288 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:      249376 kB
Committed_AS:    1174888 kB
VmallocTotal:   263061440 kB
VmallocUsed:        7756 kB
VmallocChunk:          0 kB
Percpu:              448 kB
CmaTotal:          32768 kB
CmaAllocated:       1172 kB
CmaReleased:       31596 kB
CmaFree:               0 kB

L'eMMC (capacité de 32 Go) est soudée (avec les modèles précédents, elle était amovible😞).

La partition contenant l'OS (/dev/mmcblk0p6) est montée à la racine au format ext4.

Citation

mks@linaro-alip:~$ sudo fdisk -l
Disk /dev/mmcblk0: 29.14 GiB, 31289507840 bytes, 61112320 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 0D5E0000-0000-4371-8000-0BCA000015A0

Device         Start      End  Sectors  Size Type
/dev/mmcblk0p1  8192    12287     4096    2M unknown
/dev/mmcblk0p2 12288    16383     4096    2M unknown
/dev/mmcblk0p3 16384    18431     2048    1M unknown
/dev/mmcblk0p4 18432    59391    40960   20M unknown
/dev/mmcblk0p5 59392    77823    18432    9M unknown
/dev/mmcblk0p6 77824 61112286 61034463 29.1G unknown
mks@linaro-alip:~$ mount
/dev/mmcblk0p6 on / type ext4 (rw,relatime,sync)
devtmpfs on /dev type devtmpfs (rw,relatime,size=231392k,nr_inodes=57848,mode=755)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,size=248608k,nr_inodes=62152)
devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,size=99444k,nr_inodes=819200,mode=755)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k,nr_inodes=62152)
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
configfs on /sys/kernel/config type configfs (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)
adb on /dev/usb-ffs/adb type functionfs (rw,relatime)
tmpfs on /run/user/1001 type tmpfs (rw,nosuid,nodev,relatime,size=49720k,nr_inodes=12430,mode=700,uid=1001,gid=111)

Un seul module du noyau est chargé : le Wifi

Citation

mks@linaro-alip:~$ lsmod
Module                  Size  Used by
8189fs               1400832  0

La version Debian est ancienne (v11. , Bullseye).

Citation

mks@linaro-alip:~$ cat /etc/debian_version
11.8
mks@linaro-alip:~$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
OS="debian"
BUILD_INFO="root@menson-virtual-machine Sun Jan  7 21:27:16 CST 2024"
KERNEL="5.10 - rk3308_linux_defconfig"

Une tentative de mise à jour des dépôts se solde par un échec. En plus, les dépôts pointent sur des miroirs Debian chinois (a minima, moins rapides que des serveurs locaux) :

Citation

mks@linaro-alip:~$ sudo apt update
[sudo] password for mks:
Get:1 http://mirrors.ustc.edu.cn/debian bullseye InRelease [75.1 kB]
Get:2 http://mirrors.ustc.edu.cn/debian-security bullseye-security InRelease [27.2 kB]
Get:3 http://mirrors.ustc.edu.cn/debian bullseye-updates InRelease [44.0 kB]
Ign:4 http://mirrors.ustc.edu.cn/debian bullseye-backports InRelease
Err:5 http://mirrors.ustc.edu.cn/debian bullseye-backports Release
  404  Not Found [IP: 202.38.95.110 80]
Get:6 http://mirrors.ustc.edu.cn/debian-security bullseye-security/contrib Sources [1128 B]
Get:7 http://mirrors.ustc.edu.cn/debian-security bullseye-security/main Sources [251 kB]
Get:8 http://mirrors.ustc.edu.cn/debian-security bullseye-security/main arm64 Packages [386 kB]
Get:9 http://mirrors.ustc.edu.cn/debian-security bullseye-security/main Translation-en [260 kB]
Get:10 http://mirrors.ustc.edu.cn/debian-security bullseye-security/contrib arm64 Packages [2868 B]
Get:11 http://mirrors.ustc.edu.cn/debian-security bullseye-security/contrib Translation-en [2512 B]
Get:12 http://mirrors.ustc.edu.cn/debian bullseye-updates/main Translation-en.diff/Index [12.8 kB]
Get:13 http://mirrors.ustc.edu.cn/debian bullseye-updates/main Translation-en T-2025-07-21-2004.39-F-2025-07-21-2004.39.pdiff [47 B]
Get:13 http://mirrors.ustc.edu.cn/debian bullseye-updates/main Translation-en T-2025-07-21-2004.39-F-2025-07-21-2004.39.pdiff [47 B]
Reading package lists... Done
E: The repository 'http://mirrors.ustc.edu.cn/debian bullseye-backports Release' no longer has a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
N: Repository 'http://mirrors.ustc.edu.cn/debian bullseye InRelease' changed its 'Suite' value from 'oldstable' to 'oldoldstable'
N: Repository 'http://mirrors.ustc.edu.cn/debian-security bullseye-security InRelease' changed its 'Suite' value from 'oldstable-security' to 'oldoldstable-security'
N: Repository 'http://mirrors.ustc.edu.cn/debian bullseye-updates InRelease' changed its 'Suite' value from 'oldstable-updates' to 'oldoldstable-updates'

C'est normal, car Bullseye étant dorénavant en statut «oldoldstable», les dépôts Backports ne sont plus joignables à l'ancienne adresse. Le contenu du fichier /etc/apt/sources.list doit être modifié pour que la mise à jour des dépôts se fasse, permettant maintenant la mise à jour des paquets du système ou l'installation de logiciel (git par exemple qui a dû être installé, utilisé puis supprimé 🙄).

Pour le fichier sources.list, voilà le contenu du mien :

Citation

mks@linaro-alip:~$ cat /etc/apt/sources.list
#deb http://mirrors.ustc.edu.cn/debian bullseye main contrib
#deb-src http://mirrors.ustc.edu.cn/debian bullseye main contrib
#deb http://mirrors.ustc.edu.cn/debian-security bullseye-security main contrib
#deb-src http://mirrors.ustc.edu.cn/debian-security bullseye-security main contrib
#deb http://mirrors.ustc.edu.cn/debian bullseye-updates main contrib
#deb-src http://mirrors.ustc.edu.cn/debian bullseye-updates main contrib
#deb http://mirrors.ustc.edu.cn/debian/ bullseye-backports main contrib
#deb-src http://mirrors.ustc.edu.cn/debian/ bullseye-backports main contrib

# Dépôt principal, sections libre et non libres
deb http://deb.debian.org/debian/ bullseye main contrib non-free
#deb-src http://deb.debian.org/debian/ bullseye main contrib non-free

# Dépôt de correctifs de sécurité
deb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free
#deb-src http://deb.debian.org/debian-security/ bullseye-security main contrib non-free

# Dépôt de mises à jour intermédiaires
deb http://deb.debian.org/debian/ bullseye-updates main contrib non-free
#deb-src http://deb.debian.org/debian/ bullseye-updates main contrib non-free

# Dépôt de "rétroportages" (backports)
deb http://archive.debian.org/debian/ bullseye-backports main contrib non-free
#deb-src http://archive.debian.org/debian/ bullseye-backports main contrib non-free

Avec ces liens «corrects», la mise à jour des dépôts va jusqu'au bout :

Citation

mks@linaro-alip:~$ sudo apt update
Hit:1 http://archive.debian.org/debian bullseye-backports InRelease
Hit:2 http://deb.debian.org/debian bullseye InRelease
Hit:3 http://deb.debian.org/debian-security bullseye-security InRelease
Hit:4 http://deb.debian.org/debian bullseye-updates InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
175 packages can be upgraded. Run 'apt list --upgradable' to see them.
mks@linaro-alip:~$ sudo apt list --upgradable
Listing... Done
base-files/oldoldstable 11.1+deb11u11 arm64 [upgradable from: 11.1+deb11u8]
bluez-obexd/oldoldstable-security 5.55-3.1+deb11u2 arm64 [upgradable from: 5.55-3.1+deb11u1]
bluez/oldoldstable-security 5.55-3.1+deb11u2 arm64 [upgradable from: 5.55-3.1+deb11u1]
bsdextrautils/oldoldstable,oldoldstable-security 2.36.1-8+deb11u2 arm64 [upgradable from: 2.36.1-8+deb11u1]
bsdutils/oldoldstable,oldoldstable-security 1:2.36.1-8+deb11u2 arm64 [upgradable from: 1:2.36.1-8+deb11u1]
bubblewrap/oldoldstable-security 0.4.1-3+deb11u1 arm64 [upgradable from: 0.4.1-3]
busybox/oldoldstable-security 1:1.30.1-6+deb11u1 arm64 [upgradable from: 1:1.30.1-6+b3]
curl/oldoldstable-security 7.74.0-1.3+deb11u15 arm64 [upgradable from: 7.74.0-1.3+deb11u11]
distro-info-data/oldoldstable-security 0.51+deb11u9 all [upgradable from: 0.51+deb11u4]
dnsmasq-base/oldoldstable-security 2.85-1+deb11u1 arm64 [upgradable from: 2.85-1]
e2fsprogs/oldoldstable-security 1.46.2-2+deb11u1 arm64 [upgradable from: 1.46.2-2]
fdisk/oldoldstable,oldoldstable-security 2.36.1-8+deb11u2 arm64 [upgradable from: 2.36.1-8+deb11u1]
ffmpeg/oldoldstable-security 7:4.3.9-0+deb11u1 arm64 [upgradable from: 7:4.3.7-0+deb11u1]
gir1.2-gdkpixbuf-2.0/oldoldstable-security 2.42.2+dfsg-1+deb11u3 arm64 [upgradable from: 2.42.2+dfsg-1+deb11u1]
gir1.2-gtk-3.0/oldoldstable 3.24.24-4+deb11u4 arm64 [upgradable from: 3.24.24-4+deb11u3]
git-man/oldoldstable-security 1:2.30.2-1+deb11u4 all [upgradable from: 1:2.30.2-1+deb11u2]
gstreamer1.0-plugins-base/oldoldstable-security 1.18.4-2+deb11u3 arm64 [upgradable from: 1.18.4-2+deb11u1]
gstreamer1.0-plugins-good/oldoldstable-security 1.18.4-2+deb11u3 arm64 [upgradable from: 1.18.4-2+deb11u2]
gstreamer1.0-x/oldoldstable-security 1.18.4-2+deb11u3 arm64 [upgradable from: 1.18.4-2+deb11u1]
gtk-update-icon-cache/oldoldstable 3.24.24-4+deb11u4 arm64 [upgradable from: 3.24.24-4+deb11u3]
less/oldoldstable,oldoldstable-security 551-2+deb11u2 arm64 [upgradable from: 551-2]
libaom0/oldoldstable-security 1.0.0.errata1-3+deb11u2 arm64 [upgradable from: 1.0.0.errata1-3+deb11u1]
libarchive13/oldoldstable-security 3.4.3-2+deb11u2 arm64 [upgradable from: 3.4.3-2+deb11u1]
libavahi-client3/oldoldstable-security 0.8-5+deb11u3 arm64 [upgradable from: 0.8-5+deb11u2]
libavahi-common-data/oldoldstable-security 0.8-5+deb11u3 arm64 [upgradable from: 0.8-5+deb11u2]
libavahi-common3/oldoldstable-security 0.8-5+deb11u3 arm64 [upgradable from: 0.8-5+deb11u2]
libavcodec58/oldoldstable-security 7:4.3.9-0+deb11u1 arm64 [upgradable from: 7:4.3.7-0+deb11u1]
libavdevice58/oldoldstable-security 7:4.3.9-0+deb11u1 arm64 [upgradable from: 7:4.3.7-0+deb11u1]
libavfilter7/oldoldstable-security 7:4.3.9-0+deb11u1 arm64 [upgradable from: 7:4.3.7-0+deb11u1]
libavformat58/oldoldstable-security 7:4.3.9-0+deb11u1 arm64 [upgradable from: 7:4.3.7-0+deb11u1]
libavresample4/oldoldstable-security 7:4.3.9-0+deb11u1 arm64 [upgradable from: 7:4.3.7-0+deb11u1]
libavutil56/oldoldstable-security 7:4.3.9-0+deb11u1 arm64 [upgradable from: 7:4.3.7-0+deb11u1]
libblkid1/oldoldstable,oldoldstable-security 2.36.1-8+deb11u2 arm64 [upgradable from: 2.36.1-8+deb11u1]
libblockdev-fs2/oldoldstable-security 2.25-2+deb11u1 arm64 [upgradable from: 2.25-2]
libblockdev-loop2/oldoldstable-security 2.25-2+deb11u1 arm64 [upgradable from: 2.25-2]
libblockdev-part-err2/oldoldstable-security 2.25-2+deb11u1 arm64 [upgradable from: 2.25-2]
libblockdev-part2/oldoldstable-security 2.25-2+deb11u1 arm64 [upgradable from: 2.25-2]
libblockdev-swap2/oldoldstable-security 2.25-2+deb11u1 arm64 [upgradable from: 2.25-2]
libblockdev-utils2/oldoldstable-security 2.25-2+deb11u1 arm64 [upgradable from: 2.25-2]
libblockdev2/oldoldstable-security 2.25-2+deb11u1 arm64 [upgradable from: 2.25-2]
libbluetooth3/oldoldstable-security 5.55-3.1+deb11u2 arm64 [upgradable from: 5.55-3.1+deb11u1]
libbpf0/oldoldstable-security 1:0.3-2+deb11u1 arm64 [upgradable from: 1:0.3-2]
libc-bin/oldoldstable-security 2.31-13+deb11u13 arm64 [upgradable from: 2.31-13+deb11u7]
libc-dev-bin/oldoldstable-security 2.31-13+deb11u13 arm64 [upgradable from: 2.31-13+deb11u7]
libc-l10n/oldoldstable-security 2.31-13+deb11u13 all [upgradable from: 2.31-13+deb11u7]
libc6-dev/oldoldstable-security 2.31-13+deb11u13 arm64 [upgradable from: 2.31-13+deb11u7]
libc6/oldoldstable-security 2.31-13+deb11u13 arm64 [upgradable from: 2.31-13+deb11u7]
libcaca0/oldoldstable-security 0.99.beta19-2.2+deb11u1 arm64 [upgradable from: 0.99.beta19-2.2]
libcap2-bin/oldoldstable-security 1:2.44-1+deb11u1 arm64 [upgradable from: 1:2.44-1]
libcap2/oldoldstable-security 1:2.44-1+deb11u1 arm64 [upgradable from: 1:2.44-1]
libcom-err2/oldoldstable-security 1.46.2-2+deb11u1 arm64 [upgradable from: 1.46.2-2]
libcups2/oldoldstable-security 2.3.3op2-3+deb11u9 arm64 [upgradable from: 2.3.3op2-3+deb11u6]
libcurl3-gnutls/oldoldstable-security 7.74.0-1.3+deb11u15 arm64 [upgradable from: 7.74.0-1.3+deb11u11]
libcurl4/oldoldstable-security 7.74.0-1.3+deb11u15 arm64 [upgradable from: 7.74.0-1.3+deb11u11]
libdav1d4/oldoldstable,oldoldstable-security 0.7.1-3+deb11u1 arm64 [upgradable from: 0.7.1-3]
libexempi8/oldoldstable-security 2.5.2-1+deb11u1 arm64 [upgradable from: 2.5.2-1]
libexpat1-dev/oldoldstable-security 2.2.10-2+deb11u7 arm64 [upgradable from: 2.2.10-2+deb11u5]
libexpat1/oldoldstable-security 2.2.10-2+deb11u7 arm64 [upgradable from: 2.2.10-2+deb11u5]
libext2fs2/oldoldstable-security 1.46.2-2+deb11u1 arm64 [upgradable from: 1.46.2-2]
libfastjson4/oldoldstable-security 0.99.9-1+deb11u1 arm64 [upgradable from: 0.99.9-1]
libfdisk1/oldoldstable,oldoldstable-security 2.36.1-8+deb11u2 arm64 [upgradable from: 2.36.1-8+deb11u1]
libfreetype6/oldoldstable-security 2.10.4+dfsg-1+deb11u2 arm64 [upgradable from: 2.10.4+dfsg-1+deb11u1]
libgdk-pixbuf-2.0-0/oldoldstable-security 2.42.2+dfsg-1+deb11u3 arm64 [upgradable from: 2.42.2+dfsg-1+deb11u1]
libgdk-pixbuf2.0-bin/oldoldstable-security 2.42.2+dfsg-1+deb11u3 arm64 [upgradable from: 2.42.2+dfsg-1+deb11u1]
libgdk-pixbuf2.0-common/oldoldstable-security 2.42.2+dfsg-1+deb11u3 all [upgradable from: 2.42.2+dfsg-1+deb11u1]
libglib2.0-0/oldoldstable-security 2.66.8-1+deb11u6 arm64 [upgradable from: 2.66.8-1]
libglib2.0-bin/oldoldstable-security 2.66.8-1+deb11u6 arm64 [upgradable from: 2.66.8-1]
libglib2.0-data/oldoldstable-security 2.66.8-1+deb11u6 all [upgradable from: 2.66.8-1]
libgnutls30/oldoldstable-security 3.7.1-5+deb11u8 arm64 [upgradable from: 3.7.1-5+deb11u3]
libgsf-1-114/oldoldstable-security 1.14.47-1+deb11u1 arm64 [upgradable from: 1.14.47-1]
libgsf-1-common/oldoldstable-security 1.14.47-1+deb11u1 all [upgradable from: 1.14.47-1]
libgssapi-krb5-2/oldoldstable-security 1.18.3-6+deb11u7 arm64 [upgradable from: 1.18.3-6+deb11u4]
libgstreamer-plugins-base1.0-0/oldoldstable-security 1.18.4-2+deb11u3 arm64 [upgradable from: 1.18.4-2+deb11u1]
libgstreamer1.0-0/oldoldstable-security 1.18.4-2.1+deb11u1 arm64 [upgradable from: 1.18.4-2.1]
libgtk-3-0/oldoldstable 3.24.24-4+deb11u4 arm64 [upgradable from: 3.24.24-4+deb11u3]
libgtk-3-common/oldoldstable 3.24.24-4+deb11u4 all [upgradable from: 3.24.24-4+deb11u3]
libgtk2.0-0/oldoldstable 2.24.33-2+deb11u1 arm64 [upgradable from: 2.24.33-2]
libgtk2.0-common/oldoldstable 2.24.33-2+deb11u1 all [upgradable from: 2.24.33-2]
libicu67/oldoldstable-security 67.1-7+deb11u1 arm64 [upgradable from: 67.1-7]
libimlib2/oldoldstable 1.7.1-2+deb11u1 arm64 [upgradable from: 1.7.1-2]
libk5crypto3/oldoldstable-security 1.18.3-6+deb11u7 arm64 [upgradable from: 1.18.3-6+deb11u4]
libkrb5-3/oldoldstable-security 1.18.3-6+deb11u7 arm64 [upgradable from: 1.18.3-6+deb11u4]
libkrb5support0/oldoldstable-security 1.18.3-6+deb11u7 arm64 [upgradable from: 1.18.3-6+deb11u4]
libmount1/oldoldstable,oldoldstable-security 2.36.1-8+deb11u2 arm64 [upgradable from: 2.36.1-8+deb11u1]
libmpg123-0/oldoldstable-security 1.26.4-1+deb11u1 arm64 [upgradable from: 1.26.4-1]
libndp0/oldoldstable,oldoldstable-security 1.6-1+deb11u1 arm64 [upgradable from: 1.6-1+b1]
libnghttp2-14/oldoldstable-security 1.43.0-1+deb11u2 arm64 [upgradable from: 1.43.0-1+deb11u1]
libnginx-mod-http-geoip/oldoldstable-security 1.18.0-6.1+deb11u5 arm64 [upgradable from: 1.18.0-6.1+deb11u3]
libnginx-mod-http-image-filter/oldoldstable-security 1.18.0-6.1+deb11u5 arm64 [upgradable from: 1.18.0-6.1+deb11u3]
libnginx-mod-http-xslt-filter/oldoldstable-security 1.18.0-6.1+deb11u5 arm64 [upgradable from: 1.18.0-6.1+deb11u3]
libnginx-mod-mail/oldoldstable-security 1.18.0-6.1+deb11u5 arm64 [upgradable from: 1.18.0-6.1+deb11u3]
libnginx-mod-stream-geoip/oldoldstable-security 1.18.0-6.1+deb11u5 arm64 [upgradable from: 1.18.0-6.1+deb11u3]
libnginx-mod-stream/oldoldstable-security 1.18.0-6.1+deb11u5 arm64 [upgradable from: 1.18.0-6.1+deb11u3]
libnss3/oldoldstable-security 2:3.61-1+deb11u4 arm64 [upgradable from: 2:3.61-1+deb11u3]
libntfs-3g883/oldoldstable 1:2017.3.23AR.3-4+deb11u4 arm64 [upgradable from: 1:2017.3.23AR.3-4+deb11u3]
libopenjp2-7/oldoldstable-security 2.4.0-3+deb11u1 arm64 [upgradable from: 2.4.0-3]
libpam-systemd/oldoldstable-security 247.3-7+deb11u7 arm64 [upgradable from: 247.3-7+deb11u4]
libpoppler-glib8/oldoldstable-security 20.09.0-3.1+deb11u2 arm64 [upgradable from: 20.09.0-3.1+deb11u1]
libpoppler102/oldoldstable-security 20.09.0-3.1+deb11u2 arm64 [upgradable from: 20.09.0-3.1+deb11u1]
libpostproc55/oldoldstable-security 7:4.3.9-0+deb11u1 arm64 [upgradable from: 7:4.3.7-0+deb11u1]
libpython3.9-dev/oldoldstable-security 3.9.2-1+deb11u3 arm64 [upgradable from: 3.9.2-1]
libpython3.9-minimal/oldoldstable-security 3.9.2-1+deb11u3 arm64 [upgradable from: 3.9.2-1]
libpython3.9-stdlib/oldoldstable-security 3.9.2-1+deb11u3 arm64 [upgradable from: 3.9.2-1]
libpython3.9/oldoldstable-security 3.9.2-1+deb11u3 arm64 [upgradable from: 3.9.2-1]
librabbitmq4/oldoldstable-security 0.10.0-1+deb11u1 arm64 [upgradable from: 0.10.0-1]
libsepol1/oldoldstable-security 3.1-1+deb11u1 arm64 [upgradable from: 3.1-1]
libsmartcols1/oldoldstable,oldoldstable-security 2.36.1-8+deb11u2 arm64 [upgradable from: 2.36.1-8+deb11u1]
libsoup-gnome2.4-1/oldoldstable-security 2.72.0-2+deb11u2 arm64 [upgradable from: 2.72.0-2]
libsoup2.4-1/oldoldstable-security 2.72.0-2+deb11u2 arm64 [upgradable from: 2.72.0-2]
libsqlite3-0/oldoldstable-security 3.34.1-3+deb11u1 arm64 [upgradable from: 3.34.1-3]
libsqlite3-dev/oldoldstable-security 3.34.1-3+deb11u1 arm64 [upgradable from: 3.34.1-3]
libss2/oldoldstable-security 1.46.2-2+deb11u1 arm64 [upgradable from: 1.46.2-2]
libssh2-1/oldoldstable 1.9.0-2+deb11u1 arm64 [upgradable from: 1.9.0-2]
libssl1.1/oldoldstable-security 1.1.1w-0+deb11u3 arm64 [upgradable from: 1.1.1w-0+deb11u1]
libswresample3/oldoldstable-security 7:4.3.9-0+deb11u1 arm64 [upgradable from: 7:4.3.7-0+deb11u1]
libswscale5/oldoldstable-security 7:4.3.9-0+deb11u1 arm64 [upgradable from: 7:4.3.7-0+deb11u1]
libsynctex2/oldoldstable-security 2020.20200327.54578-7+deb11u2 arm64 [upgradable from: 2020.20200327.54578-7+deb11u1]
libsystemd0/oldoldstable-security 247.3-7+deb11u7 arm64 [upgradable from: 247.3-7+deb11u4]
libtasn1-6/oldoldstable-security 4.16.0-2+deb11u2 arm64 [upgradable from: 4.16.0-2+deb11u1]
libtiff5/oldoldstable-security 4.2.0-1+deb11u6 arm64 [upgradable from: 4.2.0-1+deb11u5]
libudev1/oldoldstable-security 247.3-7+deb11u7 arm64 [upgradable from: 247.3-7+deb11u4]
libudisks2-0/oldoldstable-security 2.9.2-2+deb11u2 arm64 [upgradable from: 2.9.2-2+deb11u1]
libuuid1/oldoldstable,oldoldstable-security 2.36.1-8+deb11u2 arm64 [upgradable from: 2.36.1-8+deb11u1]
libuv1/oldoldstable,oldoldstable-security 1.40.0-2+deb11u1 arm64 [upgradable from: 1.40.0-2]
libvpx6/oldoldstable-security 1.9.0-1+deb11u4 arm64 [upgradable from: 1.9.0-1+deb11u2]
libwpa-client-dev/oldoldstable-security 2:2.9.0-21+deb11u3 arm64 [upgradable from: 2:2.9.0-21]
libxml2/oldoldstable-security 2.9.10+dfsg-6.7+deb11u8 arm64 [upgradable from: 2.9.10+dfsg-6.7+deb11u4]
libxslt1.1/oldoldstable-security 1.1.34-4+deb11u2 arm64 [upgradable from: 1.1.34-4+deb11u1]
linux-libc-dev/oldoldstable-security 5.10.237-1 arm64 [upgradable from: 5.10.205-2]
locales/oldoldstable-security 2.31-13+deb11u13 all [upgradable from: 2.31-13+deb11u7]
login/oldoldstable-security 1:4.8.1-1+deb11u1 arm64 [upgradable from: 1:4.8.1-1]
logsave/oldoldstable-security 1.46.2-2+deb11u1 arm64 [upgradable from: 1.46.2-2]
mount/oldoldstable,oldoldstable-security 2.36.1-8+deb11u2 arm64 [upgradable from: 2.36.1-8+deb11u1]
nano/oldoldstable 5.4-2+deb11u3 arm64 [upgradable from: 5.4-2+deb11u2]
net-tools/oldoldstable-security 1.60+git20181103.0eebece-1+deb11u2 arm64 [upgradable from: 1.60+git20181103.0eebece-1]
nginx-common/oldoldstable-security 1.18.0-6.1+deb11u5 all [upgradable from: 1.18.0-6.1+deb11u3]
nginx-core/oldoldstable-security 1.18.0-6.1+deb11u5 arm64 [upgradable from: 1.18.0-6.1+deb11u3]
nginx/oldoldstable-security 1.18.0-6.1+deb11u5 all [upgradable from: 1.18.0-6.1+deb11u3]
ntfs-3g/oldoldstable 1:2017.3.23AR.3-4+deb11u4 arm64 [upgradable from: 1:2017.3.23AR.3-4+deb11u3]
openssh-client/oldoldstable-security 1:8.4p1-5+deb11u5 arm64 [upgradable from: 1:8.4p1-5+deb11u3]
openssh-server/oldoldstable-security 1:8.4p1-5+deb11u5 arm64 [upgradable from: 1:8.4p1-5+deb11u3]
openssh-sftp-server/oldoldstable-security 1:8.4p1-5+deb11u5 arm64 [upgradable from: 1:8.4p1-5+deb11u3]
openssl/oldoldstable-security 1.1.1w-0+deb11u3 arm64 [upgradable from: 1.1.1w-0+deb11u1]
openvpn/oldoldstable-security 2.5.1-3+deb11u1 arm64 [upgradable from: 2.5.1-3]
passwd/oldoldstable-security 1:4.8.1-1+deb11u1 arm64 [upgradable from: 1:4.8.1-1]
python3-idna/oldoldstable 2.10-1+deb11u1 all [upgradable from: 2.10-1]
python3-pkg-resources/oldoldstable-security 52.0.0-4+deb11u2 all [upgradable from: 52.0.0-4]
python3-setuptools/oldoldstable-security 52.0.0-4+deb11u2 all [upgradable from: 52.0.0-4]
python3-urllib3/oldoldstable-security 1.26.5-1~exp1+deb11u1 all [upgradable from: 1.26.5-1~exp1]
python3.9-dev/oldoldstable-security 3.9.2-1+deb11u3 arm64 [upgradable from: 3.9.2-1]
python3.9-minimal/oldoldstable-security 3.9.2-1+deb11u3 arm64 [upgradable from: 3.9.2-1]
python3.9/oldoldstable-security 3.9.2-1+deb11u3 arm64 [upgradable from: 3.9.2-1]
rfkill/oldoldstable,oldoldstable-security 2.36.1-8+deb11u2 arm64 [upgradable from: 2.36.1-8+deb11u1]
rsync/oldoldstable-security 3.2.3-4+deb11u3 arm64 [upgradable from: 3.2.3-4+deb11u1]
ssh/oldoldstable-security 1:8.4p1-5+deb11u5 all [upgradable from: 1:8.4p1-5+deb11u3]
sudo/oldoldstable-security 1.9.5p2-3+deb11u2 arm64 [upgradable from: 1.9.5p2-3+deb11u1]
systemd-sysv/oldoldstable-security 247.3-7+deb11u7 arm64 [upgradable from: 247.3-7+deb11u4]
systemd-timesyncd/oldoldstable-security 247.3-7+deb11u7 arm64 [upgradable from: 247.3-7+deb11u4]
systemd/oldoldstable-security 247.3-7+deb11u7 arm64 [upgradable from: 247.3-7+deb11u4]
tar/oldoldstable 1.34+dfsg-1+deb11u1 arm64 [upgradable from: 1.34+dfsg-1]
tzdata/oldoldstable-security 2025b-0+deb11u1 all [upgradable from: 2021a-1+deb11u11]
ucf/oldoldstable-security 3.0043+deb11u2 all [upgradable from: 3.0043]
udev/oldoldstable-security 247.3-7+deb11u7 arm64 [upgradable from: 247.3-7+deb11u4]
udisks2/oldoldstable-security 2.9.2-2+deb11u2 arm64 [upgradable from: 2.9.2-2+deb11u1]
usb.ids/oldoldstable 2024.07.04-0+deb11u1 all [upgradable from: 2023.01.16-0+deb11u1]
util-linux/oldoldstable,oldoldstable-security 2.36.1-8+deb11u2 arm64 [upgradable from: 2.36.1-8+deb11u1]
vim-common/oldoldstable-security 2:8.2.2434-3+deb11u3 all [upgradable from: 2:8.2.2434-3+deb11u1]
vim-runtime/oldoldstable-security 2:8.2.2434-3+deb11u3 all [upgradable from: 2:8.2.2434-3+deb11u1]
vim-tiny/oldoldstable-security 2:8.2.2434-3+deb11u3 arm64 [upgradable from: 2:8.2.2434-3+deb11u1]
wget/oldoldstable-security 1.21-1+deb11u2 arm64 [upgradable from: 1.21-1+deb11u1]
wireless-regdb/oldoldstable-security 2025.02.20-1~deb11u1 all [upgradable from: 2022.04.08-2~deb11u1]
wpasupplicant/oldoldstable-security 2:2.9.0-21+deb11u3 arm64 [upgradable from: 2:2.9.0-21]
xserver-common/oldoldstable-security 2:1.20.11-1+deb11u16 all [upgradable from: 2:1.20.11-1+deb11u10]
xserver-xorg-core/oldoldstable-security 2:1.20.11-1+deb11u16 arm64 [upgradable from: 2:1.20.11-1+deb11u10]
xxd/oldoldstable-security 2:8.2.2434-3+deb11u3 arm64 [upgradable from: 2:8.2.2434-3+deb11u1]

Un «sudo apt upgrade -Y» met à jour les paquets système (175 paquets au moment de ce test).

Vérification de la zone horaire :

Citation

mks@linaro-alip:~$ timedatectl
               Local time: Sun 2025-08-24 18:24:18 IDT
           Universal time: Sun 2025-08-24 15:24:18 UTC
                 RTC time: n/a
                Time zone: Asia/Jerusalem (IDT, +0300)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

Pourquoi mon matériel utilise cette zone (Jerusalem) ?

Correction :

Citation

mks@linaro-alip:~$ sudo timedatectl set-timezone Europe/Paris
[sudo] password for mks:
mks@linaro-alip:~$ timedatectl
               Local time: Sun 2025-08-24 17:27:38 CEST
           Universal time: Sun 2025-08-24 15:27:38 UTC
                 RTC time: n/a
                Time zone: Europe/Paris (CEST, +0200)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

Date et heures sont à présent correctes 😄.

KIAUH

KIAUH (Klipper Installation And Update Helper) est installé dans le dossier de l'utilisateur mks.

Un premeir test d'utilisation (./kiauh/kiauh.sh) affiche des erreurs 🙄 (j'ai oublié des faire des copies écrans 😞). Plutôt que chercher à savoir ce qui dysfonctionne, je sauvegarde le dossier kiauh en kiauh-qidi (mv kiauh kiauh-qidi), puis je clône le dépôt comme l'indique la documentation :

cd ~ && git clone https://github.com/dw-0/kiauh.git

Après lancement, sa fenêtre principale (main menu) liste les composants de l'écosystème Klipper installés par Qidi :

kiauh-main-menu-originel.jpg.7cbda54bd40d8183a04a27c38043a4d4.jpg

Klipper, Moonraker, Fluidd et Crowsnest sont installés.

L'option [2] de ce menu permet normalement de faire des mises à jour, mais Klipper et Moonraker ne peuvent pas l'être et de toute façon, il n'est pas conseillé de le faire 😉. KIAUH ne peut ni détecter les versions installées par Qidi de Klipper et Moonraker (installed) (les dossiers .git ont été supprimés par Qidi), ni détecter les versions actuelles (latest) :

kiauh-update-originel.jpg.f58737dceece8e35af5bb4f0e2f07bb8.jpg

Via KIAUH, on peut tout de même mettre à jour Crowsnest et Fluidd :

kiauh-update-fluidd-crowsnest.jpg.42c2875cae686f7cfe8049be0f530da4.jpg

et aussi installer d'autres composants si besoin (Mainsail, Mobileraker, Klipperscreen, …).

Mise à jour Qidi

On peut vérifier via l'écran de l'imprimante si une mise à jour existe :

9-Paramtres-Systme1-fr.thumb.png.658378886447c9bab31ba7ced00da6ad.png maj-firmware-fr.thumb.png.ba13d4aa64622be34eb26e63b39a36b3.png

Depuis la réception de la Q2, j'ai eu plusieurs mises à jour proposées. Certaines effectuées en OTA (Other The Air = via le réseau donc), d'autres en mode manuel à l'aide de la clé USB avec des versions fournies par Qidi. La procédure de mise à jour manuelle utilise la clé USB contenant à la racine un dossier QD_Update. Ce dossier possède les fichiers de mise à jour (QD_Q2_SOC (un fichier installé via apt install… on peut l'ouvrir avec 7Zip pour prendre connaissance de son contenu) et éventuellement des mises à jour des firmwares des cartes (QD_Q2_MCU, QD_Q2_THR, …)). Une fois la mise à jour réalisée en mode hors ligne, le contenu du dossier QD_Update est renommé (QD_Q2_SOC.bak, QD_Q2_MCU.bak, QD_Q2_THR.bak et un journal est ajouté offline_update_log-20250917_120601.txt). Exemple du journal :

Citation

Remove ./cache*
停止moonraker和klipper
Install QD_Q2_SOC
Update THR
Update MCU

Les écrans lors d'une MAJ :

1_1.0.5.thumb.jpg.14e5c1e6ab448cf02a5ccf8747451778.jpg 1_1_en-cours-install.thumb.jpg.ddbf071e444fba3f1c43789def765a95.jpg 2_1.0.5.restart.thumb.jpg.bde864f9c3a07a6ad6d887db75488cfc.jpg 

Une fois l'imprimante redémarrée, un rappel de refaire a minima la compensation de résonances :

3_1.0.5.is-todo.thumb.jpg.845d8dcb6440effb22b25823c50b485b.jpg

À noter : les mises à jour En-ligne indiquent que la Qidi Box n'est pas supportée temporairement, le firmware adapté est retardé (problèmes, soucis de hardware / firmware 🤔… va savoir Charles, Qidi n'est pas très communicatif à ce sujet).

ecran-alerte-qbox.thumb.jpg.9b526f5340a96ab5c9993abc2888e337.jpg

Écosystème Klipper

La version installée par Qidi n'est plus un dépôt Git (idem pour Moonraker), le dossier «.git» a été supprimé. Il est impossible de savoir précisément quelle version a servi de base au développement de la Q2. Toutefois, la consultation du fichier ~/klipper/docs/Config_changes.md permet tout de même de deviner que c'est basé sur une version 0.12.x, les dernières modifications datant du 20240415 (la v0.12.0 est sortie en octobre 2023, la v0.13.0 en novembre 2024).

Klipper (klippy) utilise majoritairement Python. La version du système Qidi est un Python3 3.9.2 (c'est une bonne chose 😉).

Citation

mks@linaro-alip:~/klipper$ python3 -V
Python 3.9.2

Qidi pour gérer ses propres composants (le capteur de pression entre autres (ADC CS1237)) a compilé les fichiers Python en une bibliothèque (extension .so). Ce qui rend difficile la compréhension de leur fonctionnement. La licence GPL v3.0 de Klipper est loin d'être respectée 😞, même si je peux comprendre que la rigidité du développeur principal de Klipper (Kevin O'connor) puisse refroidir l'ardeur des développeurs quand on souhaite ajouter de nouveaux modules à Klipper.

mks@linaro-alip:~$ ls -al klipper/klippy/extras/*.so
-rw-r--r-- 1 mks netdev  968080 Aug 21 03:48 klipper/klippy/extras/aht20_f.so
-rw-r--r-- 1 mks netdev 1638064 Jul 29 05:20 klipper/klippy/extras/air.cpython-39-aarch64-linux-gnu.so
-rw-r--r-- 1 mks netdev 1777896 Aug 21 03:48 klipper/klippy/extras/box_detect.so
-rw-r--r-- 1 mks netdev 4203848 Sep  6 09:30 klipper/klippy/extras/box_extras.so
-rw-r--r-- 1 mks netdev  558808 Aug 21 03:48 klipper/klippy/extras/box_rfid.so
-rw-r--r-- 1 mks netdev 2902080 Sep  5 09:26 klipper/klippy/extras/box_stepper.so
-rw-r--r-- 1 mks netdev  596112 Jul 28 13:47 klipper/klippy/extras/buttons_irq.so
-rw-r--r-- 1 mks netdev  995328 May  5 07:34 klipper/klippy/extras/cs1237.cpython-39-aarch64-linux-gnu.so
-rw-r--r-- 1 mks netdev 1494216 May  5 07:34 klipper/klippy/extras/heater_air_core.cpython-39-aarch64-linux-gnu.so
-rw-r--r-- 1 mks netdev  737352 May  5 07:35 klipper/klippy/extras/hx711.cpython-39-aarch64-linux-gnu.so

 Pour le moment, il est fortement déconseillé de tenter de mettre à jour Klipper (manuellement ou via KIAUH), de nombreux éléments matériels seraient rendus non fonctionnels. De toute façon, une mise à jour vers la version actuelle (0.13.x) nécessiterait de flasher les firmwares des cartes :

  • X-9-3,
  • A-10 (tête d'impression),
  • et celle de la Qidi Box (pour ceux en ayant une).

Klipper: printer.cfg

Ce fichier est celui qui permet de configurer les éléments matériels pour que le firmware puisse les utiliser via les firmwares flashés sur les deux cartes contrôleurs.

Je ne vais pas le détailler précisément, la documentation de Klipper le fait déjà (en français). Je ne reprends que l'essentiel.

Les macros sont dans un fichier séparé (gcode_macro.cfg) inclus au début du printer.cfg, de même pour la gestion des timelapses (timelapse.cfg) et celle pour la reprise après coupure de courant (plr.cfg) :

# q2

[include KAMP_Settings.cfg]
[include gcode_macro.cfg]
[include MCU_ID.cfg]
[include timelapse.cfg]
[include plr.cfg]

Analyse de la configuration matérielle

MCU

La Q2 gère trois «mcu» (micro controler unit) :

  • le principal est celui correspondant au microcontrôleur STM32F407 de la carte X-9-3 via une liaison série USB avec la carte X-9-1 (ajouté via un include MCU_ID.cfg) :
    [mcu]
    serial:/dev/serial/by-id/usb-Klipper_QIDI_MAIN_V2_1.0.4_52A832373534350534343539-if00
    restart_method: command
  • le second est celui de la carte fille située sur la tête (A-10], microcontrôleur STM32F103 (en fait un GD32F303) là encore en liaison série USB avec la carte X-9-1
    [mcu THR]
    serial: /dev/ttyS4
    restart_method: command
    baud: 500000
  • le troisième correspond au contrôleur de la carte utilisé par la Qidi Box, microcontrôleur STM32F401, quand elle est installée (ajouté via un include box.cfg). La connexion avec la carte X-9-1 est là aussi en mode série (USB) :
    [mcu mcu_box1]
    serial : /dev/serial/by-id/usb-Klipper_QIDI_BOX_V2_1.1.2_5C004B000851333235373730-if00
    restart_method : command

L'onglet Systeme de Fluidd donne des informations sur les mcus en cours de fonctionnement :

fluidd-systeme-infos-mcus-qbox.jpg.c60d5ac3213af6d1afc69f58980004ff.jpg

[printer]

La section de configuration (printer) correspondant à la cinématique de l'imprimante, ses accélérations et vitesses maximales    

[printer]
kinematics:corexy
max_velocity: 600
max_accel: 20000
max_z_velocity: 20
max_z_accel: 500
square_corner_velocity: 8
Pilotes moteurs

On trouve évidemment les déclarations de paramètres des moteurs pilotant les axes (stepper …). Les axes X et Y utilisent la mise à l'origine sans capteur permise grâce aux pilotes TMC 2240. Exemple pour le pilote de l'axe X :

[stepper_x]
…
endstop_pin:tmc2240_stepper_x:virtual_endstop
…
[tmc2240 stepper_x]
…
driver_SGT: 1
…

L'utilisation de ce mode nécessite la modification du processus de mise à l'origine via la directive [homing_override] (réduction du courant envoyé aux pilotes le temps de cette mise à l'origine) :

[homing_override]
axes:xy
gcode: 
    M204 S10000
    M220 S100
    SET_STEPPER_ENABLE STEPPER=extruder enable=0
	{% if 'X' in params and 'Y' not in params %}
        _HOME_X
    {% endif %}
	{% if 'Y' in params and 'X' not in params %}
        _HOME_Y
    {% endif %}
    {% if 'X' in params and 'Y' in params %}
        _HOME_XY
    {% endif %}
    {% if 'X' not in params and  'Y' not in params  %}
        SET_KINEMATIC_POSITION X=100
        SET_KINEMATIC_POSITION Y=100
        SET_KINEMATIC_POSITION Z={printer.toolhead.axis_maximum.z/2}
        G91
        G1 Z5 F600
        G4 P2000
        _HOME_XY
        G90
        G1 X{printer['gcode_macro PRINTER_PARAM'].max_x_position/2} Y{printer['gcode_macro PRINTER_PARAM'].max_y_position/2} F7800
        G91
        M400       
        G28 Z
        G1 Z20 F600
    {% endif %}
    M204 S10000   
    G90

La Q2 utilise deux moteurs indépendants pour l'axe Z associés aux pilotes TMC2209, ce qui permet de régler l'inclinaison du lit automatiquement via un Gcode étendu Z_TILT_ADJUST à l'aide des paramètres de la section [z_tilt] :

[stepper_z]
…
endstop_pin:probe:z_virtual_endstop 
endstop_pin_reverse:tmc2209_stepper_z:virtual_endstop
position_endstop_reverse:260
position_max:265
position_min: -2
…
homing_positive_dir:false
homing_positive_dir_reverse:true

[stepper_z1]
…
endstop_pin_reverse:tmc2209_stepper_z1:virtual_endstop

[z_tilt]
z_positions:
    -15,137
    285,137

points:
    10,137
    260,137

speed: 150
horizontal_move_z: 5
retries: 2
retry_tolerance: 0.05
Jauge de pression (load cell)

La Q2 utilise une jauge de pression intégrée à la tête en tant qu'interrupteur de fin de course. Ce qui permet :

  • de réaliser la détection du point 0 (surface du PEI),
  • d'effectuer le maillage du lit (les lits sont rarement totalement plats),
  • de corriger automatiquement l'inclinaison du plateau (z_tilt) grâce aux deux moteurs Z indépendants

Qidi a développé sa propre sonde (en Python, mais ensuite compilé sous forme d'une bibliothèque) autour d'un ADC CS1237. Une nouvelle section [probe_air] est utilisée par le fichier printer.cfg :

[probe_air]
sensor_type: c_sensor
sclk_pin: THR:PB3
dout_pin:THR: PB4
voltage: 4.95
delta_v: 0.08
z_offset:-0.07
speed: 5
lift_speed:5
samples: 2
sample_retract_dist:3
samples_result: average
samples_tolerance: 0.02
samples_tolerance_retries: 10

Le maillage du lit utilise une matrice de 6x6 :

[bed_mesh]
speed: 100 #100
horizontal_move_z:5
mesh_min:10,10
mesh_max:260,260  
probe_count:6,6
algorithm:lagrange#bicubic
#bicubic_tension:0.2
mesh_pps: 2, 2
#fade_target:0

Le maillage par défaut sans ajustement (le côté droit est légèrement plus bas et c'est surtout le point avant droit qui contribue à une portée de 0,3733 mm (différence entre point le plus haut et celui le plus bas)) :

fluidd-maillage-no-ajustement.jpg.41351fb8567f5228b157cce987aa48be.jpg

Compensation de résonances

Pour la compensation de résonances, l'accéléromètre utilisé par Qidi est une puce LIS2DW soudée sur la carte fille A-10 qui permet de réaliser automatiquement les mesures :

[lis2dw]
cs_pin:THR:PA10
spi_software_sclk_pin:THR:PA5
spi_software_mosi_pin:THR:PA7
spi_software_miso_pin:THR:PA6
axes_map: y, z, -x

[resonance_tester]
accel_per_hz: 150
max_smoothing:0.25
accel_chip:lis2dw
probe_points:
   135, 135, 10

L'extension «G-code Shell Command» (un script Python de KIAUH) étant installé d'origine, on peut créer des scripts shell et les macros idoines pour produire des graphiques. Le tout regroupé dans un fichier «graphiques-shaper.cfg» (ajouter au début du printer.cfg une ligne [include graphiques-shaper.cfg] :

# Process csv files issued from "input_shaping" to obtain png files
# 
[gcode_macro PROCESS_SHAPER_DATA]
description: process csv file to png
gcode:
    RUN_SHELL_COMMAND CMD=axe_x
    RUN_SHELL_COMMAND CMD=axe_y
  
[gcode_shell_command axe_x]
command: sh /home/mks/printer_data/config/scripts/axe_x.sh 
timeout: 300.
verbose: True

[gcode_shell_command axe_y]
command: sh /home/mks/printer_data/config/scripts/axe_y.sh 
timeout: 300.
verbose: True

Un répertoire «scripts» est créé dans ~/printer_data/config pour stocker les scripts shell, exemple du script pour l'axe X  (remplacer x par y pour obtenir le script de l'axe Y) :

#!/bin/sh
#
# Create PNG from csv file issued after INPUT_SHAPING, X axis
#

# Paths
#
DATE=$(date +"%Y%m%d")
SCRIPTS="/home/mks/klipper/scripts/calibrate_shaper.py"
CSV_FILE="/tmp/calibration_data_x_*.csv"
PNG_FILE="/home/mks/printer_data/config/shaper_calibrate_x_$DATE.png"

$SCRIPTS $CSV_FILE -o $PNG_FILE

On peut également installer Klippain Shake and Tune pour obtenir plus de graphiques (objet d'un post ultérieur 😉).

Voilà pour les points qui me semblaient importants du fichier printer.cfg.

La configuration matérielle permet de piloter les différents composants éléctroniques via le firmware installé sur les cartes. Ensuite pour piloter les déplacements, les ventilations, les chauffage, c'est par l'intermédiaire de macros que cela se fait.

Je ne détaillerai pas ici le contenu de toutes les macros. Je vous mets ici le fichier gcode_macros.cfg de Qidi pour la Q2 (supprimer la double extension .txt) : gcode_macro.cfg.txt

 

Voilà pour cette fois, la suite est à venir.

🙂 

Modifié (le) par fran6p
  • J'aime 3
  • Julien changed the title to [Au long cours] Test du nouveau modèle : la Qidi Q2
Posté(e)

Mon panier est prêt, le clic va déprendre de cette chronique, c'est pour dire l'importance de la chose. 🙂

  • J'aime 1
Posté(e)
il y a 14 minutes, tranbert a dit :

Mon panier est prêt

N'oublie pas que tu peux avoir 50 € de réduction grâce au code promo "QIDI-Lesimprimantes3D" pour l'achat d'une Q2 chez Qidi Tech 🙂 

➡️ la Q2 seule pour 449 €

➡️ le combo avec Box pour 599 €

  • J'aime 1
Posté(e)
il y a 4 minutes, Julien a dit :

N'oublie pas que tu peux avoir 50 € de réduction grâce au code promo "QIDI-Lesimprimantes3D" pour l'achat d'une Q2 chez Qidi Tech 🙂 

➡️ la Q2 seule pour 449 €

➡️ le combo avec Box pour 599 €

Oui, je n'oublie pas que l'on peut avoir 50€ de réduction via ce lien pour l'imprimante seule ou celui-ci pour le combo 😎

Posté(e)

Certaines discussions ont été déplacées dans un autre fil. J'aimerais que mon fil reste axé sur ma découverte de ce modèle.

Merci d'avance d'en prendre compte.

🙂 

  • J'aime 3
Posté(e) (modifié)
il y a 13 minutes, JérémyJeanson a dit :

Penses tu avoir un peu de temps pour nous partager quelques impressions (dans tous les sens du terme) d'ici ce week-end ?

Houlaaaaaaa ! Tu as affaire à un retraité, il ne faut pas être si pressé 🤣

Modifié (le) par pascal_lb
  • Haha 1
  • +1 1
  • Merci ! 1
Posté(e) (modifié)
Il y a 5 heures, pascal_lb a dit :

Tu as affaire à un retraité, il ne faut pas être si pressé

Toutafé 😄. En plus, ce qui prend le plus de temps, ce n'est pas de réaliser des tests d'impression. Le plus chronophage est de prendre des photos, les recadrer, les nommer, écrire le texte, le relire, le corriger, l'amender, le peaufiner, le recorriger, le rectifier, le compléter … 

Il y a tout de même une suite, à voir ici.

🙂 

Modifié (le) par fran6p
  • +1 1
Posté(e) (modifié)
Le 24/08/2025 at 12:31, fran6p a dit :

l a fallu plus de ving-cinq minutes en ajoutant la phase (longue) de mise à l'origine

image.thumb.jpeg.afce2dc2ad873ef01a2eed95dc24b612.jpeg

Un problème sur l'affichage entre heures et minutes 🤣

Autrement tes tests vont être très longs !!

🤣

Modifié (le) par hyoti
correction
  • Haha 1
  • Merci ! 1
Posté(e)
il y a 8 minutes, hyoti a dit :

Un problème sur l'affichage entre heures et minutes

Mince 🤔. Un bug d'affichage à remonter à Qidi. Sinon, c'était bien 25 min au total. Il faudra que je vérifie pour de prochaines impressions de moins d'une heure si ça se reproduit.

Au moins, ça fait plaisir de voir que certains lisent scrupuleusement 😉.

  • +1 1
  • Merci ! 1
Posté(e)

@fran6p

si tu changes de langue, c'est pareil ? il y a de grandes chances.

Dans le temps total d’impression de la machine c'est correct ou bug ?

🙂

Posté(e)
Il y a 18 heures, hyoti a dit :

Dans le temps total d’impression de la machine c'est correct ou bug ?

Là, pas de bug. Le temps total d'impression est correct 😉.

Il y a 19 heures, hyoti a dit :

si tu changes de langue, c'est pareil ? il y a de grandes chances.

Pas testé. Hormis Fluidd que je passe en français, désormais, je préfére rester sur l'anglais pour les interfaces écrans que j'utilise peu.

  • Merci ! 2
Posté(e)

Bonjour,

J'ai craqué est commandé la qidi2 combo et j'ai pensé à utiliser le code promo du forum. Normalement elle arrive la semaine prochaine ça tombe bien je suis en vacance. En espérant que le boitier multi filament ne tarde pas trop. L'imprimante étant sous Klipper peut on rajouter des macros comme le bed mesh adaptatif.

Bonne Journée

  • Merci ! 1
Posté(e)
Il y a 3 heures, Grayshif a dit :

L'imprimante étant sous Klipper peut on rajouter des macros comme le bed mesh adaptatif.

On peut en ajouter. Le KAMP est déjà présent, mais pas activé.

Comme le Klipper et le Moonraker ne sont ni up-to-date, ni officiels, l'ajout d'autres dépôt Git n'est pas forcément facile.

  1. Déjà, le logiciel git n'est pas installé
  2. Mais comme l'OS est basé sur une distribution Debian ancienne (bullseye), la mise à jour des dépôts logiciels provoque une erreur pour les dépôts «backports»
    Ça se résout en éditant le fichier sources.list avec l'adresse archive.debian.org au lieu de deb.debian.org. J'ai également modifié les adresses des dépôts Qidi qui pointent vers un miroir en Chine
    Révélation

    mks@linaro-alip:~$ cat /etc/apt/sources.list
    #deb http://mirrors.ustc.edu.cn/debian bullseye main contrib
    #deb-src http://mirrors.ustc.edu.cn/debian bullseye main contrib
    #deb http://mirrors.ustc.edu.cn/debian-security bullseye-security main contrib
    #deb-src http://mirrors.ustc.edu.cn/debian-security bullseye-security main contrib
    #deb http://mirrors.ustc.edu.cn/debian bullseye-updates main contrib
    #deb-src http://mirrors.ustc.edu.cn/debian bullseye-updates main contrib
    #deb http://mirrors.ustc.edu.cn/debian/ bullseye-backports main contrib
    #deb-src http://mirrors.ustc.edu.cn/debian/ bullseye-backports main contrib

    # Dépôt principal, sections libre et non libres
    deb http://deb.debian.org/debian/ bullseye main contrib non-free
    #deb-src http://deb.debian.org/debian/ bullseye main contrib non-free

    # Dépôt de correctifs de sécurité
    deb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free
    #deb-src http://deb.debian.org/debian-security/ bullseye-security main contrib non-free

    # Dépôt de mises à jour intermédiaires
    deb http://deb.debian.org/debian/ bullseye-updates main contrib non-free
    #deb-src http://deb.debian.org/debian/ bullseye-updates main contrib non-free

    # Dépôt de "rétroportages" (backports)
    deb http://archive.debian.org/debian/ bullseye-backports main contrib non-free
    #deb-src http://archive.debian.org/debian/ bullseye-backports main contrib non-free

    Un sudo apt update met à jour la liste (accès ssh => mks / makerbase), puis un sudo apt install git pour installer git

  3. Actuellement, j'ai complété l'écosystème Klipper avec Shake&Tune, KlipperBackup sans rencontrer de problèmes.

  4. KIAUH est installé, mais dans une version très ancienne (4.x) et également modifié par Qidi (je l'ai d'abord sauvegardé puis supprimé et réinstallé via la procédure officielle). Ne surtout pas faire de mise à jour de Klipper / Moonraker via son intermédiaire (impossible de toute façon, car ils ne sont pas considérés comme des dépôt git (l'historique a été supprimé (plus de dossier caché .git 🙄).
    Via le KIAUH «officiel», j'ai mis à jour Fluidd. Mettre à jour via KIAUH Croswnest provoque une erreur et nécessite une intervention manuelle hors KIAUH (git stash, git pull, git stash pop)

Ces derniers points seront l'objet d'un article plus fouillé dans cette revue.

🙂 

  • J'aime 4
Posté(e)

Bonjour Fran6p,

Merci pour ton explication, lorsque j'avais activé Kamp sur ma sidewinder x2 la procédure était plus simple. Après je ne dis pas que je ne vais pas le tenter mais je ne suis pas encore assez alèse avec se type de manipulation pour le faire des réceptions de la machine. J'imagine qu'il bride les fonctions pour limiter l'utilisation du sav.

Bonne Soirée

Posté(e)

Un premier examen des matériels est en ligne : >>> ici <<<

🙂 

  • J'aime 3
  • 2 weeks later...
Posté(e)

On continue l'exploration du matériel >>> ici <<<

🙂 

  • J'aime 1
Posté(e)

Pour les plus férus, un survol de l'écosystème Klipper et de l'OS : >>><<<

🙂 

  • J'aime 1

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...