fran6p Posté(e) Aout 1, 2024 Posté(e) Aout 1, 2024 (modifié) Test de la caméra de buse de Mintion La Mintion Nozzle Camera (NZC) est spécialement conçue avec un objectif autofocus et deux LED pour observer l'impression de la première couche pour l'impression 3D. Grâce à cette caméra, on peut observer comment le filament s'écoule, surveiller l'adhérence des couches et obtenir un diagnostic d'extrusion. De plus, en collaboration avec Obico, un fournisseur de détection intelligente (IA) connu dans le domaine de l'impression 3D, cette caméra de buse facilite l'accès à l'observation de la première couche, Obico se chargeant de détecter les problèmes éventuels. Solution évitant le recours à un système LIDAR. Prérequis une imprimante fonctionnant avec Klipper ou utilisant Octoprint avec un ordinateur monocarte (Small Board Computer / SBC). une pièce support pour maintenir la caméra au plus près de la buse Installation La caméra est livrée avec un câble USB (USB-A Mâle côté SBC, prise quatre broches Picoblade MX) La caméra est reliée à une mini carte via une nappe plutôt longue (≃20cm), ce qui permet de déporter le PCB de la buse. Cette caméra est munie de deux LEDs blanches três lumineuses permettant d'éclairer la zone à observer. Mon imprimante Qidi X-Max 3 utilise un système d'exploitation récent (Armbian Bookworm) avec les versions «officielles» de l'écosystème Klipper (Moonraker, Crowsnest, Fluidd / Mainsail, …). Les caméras sont gérées via Crowsnest (version 4). Leur configuration utilise le fichier crowsnest.conf La première étape consiste à connecter la caméra sur un port USB libre et vérifier qu'elle est bien détectée: En plus de ma première caméra (celle de Qidi) d'ID 1bcf:0b09, celle de Mintion est détectée (ID 0c45:6360) Quel périphérique vidéo a été détecté ? Un ls -l /dev/video apporte quelques infos mais insuffisantes mks@mkspi:~$ ls -l /dev/video* crw-rw---- 1 root video 81, 0 28 juil. 13:17 /dev/video0 crw-rw---- 1 root video 81, 1 28 juil. 13:17 /dev/video1 crw-rw---- 1 root video 81, 2 28 juil. 13:17 /dev/video2 crw-rw---- 1 root video 81, 3 28 juil. 13:17 /dev/video3 crw-rw---- 1 root video 81, 4 28 juil. 13:17 /dev/video4 crw-rw---- 1 root video 81, 5 28 juil. 13:17 /dev/video5 crw-rw---- 1 root video 81, 6 28 juil. 13:17 /dev/video6 En utilisant la commande «lsusb -v», chaque périphérique rattaché en USB livre plus d'informations. Chacune de mes deux caméras est compatible V4L. Un «ls -l /dev/v4l/by-id/» m'apporte plus d'informations, Les liens symboliques /dev/video{0-2} sont probablement réservés pour être utilisés par la carte contrôleur (à condition que cela ait été implémenté électroniquement… ce qui n'est pas le cas de la carte Qidi X-4). Les liens video{3-6} sont utilisés par mes Webcams. Seuls ceux d'index0 seront à utiliser : mks@mkspi:~$ ls -l /dev/v4l/by-id/ total 0 lrwxrwxrwx 1 root root 12 28 juil. 13:17 usb-Mintion_NZC_Mintion_NZC_SN0001-video-index0 -> ../../video3 lrwxrwxrwx 1 root root 12 28 juil. 13:17 usb-Mintion_NZC_Mintion_NZC_SN0001-video-index1 -> ../../video4 lrwxrwxrwx 1 root root 12 28 juil. 13:17 usb-SYX-231020-J_HD_Camera-video-index0 -> ../../video5 lrwxrwxrwx 1 root root 12 28 juil. 13:17 usb-SYX-231020-J_HD_Camera-video-index1 -> ../../video6 La caméra Qidi utilise le lien symbolique «video5», la Mintion NZC «video3». Muni de ces informations, on peut : compléter le fichier crowsnest.conf Citation [crowsnest] log_path: /home/mks/printer_data/logs/crowsnest.log log_level: verbose # Valid Options are quiet/verbose/debug delete_log: false # Deletes log on every restart, if set to true no_proxy: false [cam Qidi] mode: ustreamer # ustreamer - Provides mjpg and snapshots. (All devices) # camera-streamer - Provides webrtc, mjpg and snapshots. (rpi + Raspi OS based only) enable_rtsp: false # If camera-streamer is used, this enables also usage of an rtsp server rtsp_port: 8554 # Set different ports for each device! port: 8080 # HTTP/MJPG Stream/Snapshot Port #device: /dev/video3 device: /dev/v4l/by-id/usb-SYX-231020-J_HD_Camera-video-index0 resolution: 1920x1080 # widthxheight format max_fps: 10 # If Hardware Supports this it will be forced, otherwise ignored/coerced. #custom_flags: # You can run the Stream Services with custom flags. custom_flags: --brightness auto --hue auto --white-balance auto --gain auto #v4l2ctl: # Add v4l2-ctl parameters to setup your camera, see Log what your cam is capable of. [cam Nozzle] mode: ustreamer # ustreamer - Provides mjpg and snapshots. (All devices) # camera-streamer - Provides webrtc, mjpg and snapshots. (rpi + Raspi OS based only) enable_rtsp: false # If camera-streamer is used, this enables also usage of an rtsp server rtsp_port: 8554 # Set different ports for each device! port: 8081 # HTTP/MJPG Stream/Snapshot Port #device: /dev/video5 # See Log for available ... device: /dev/v4l/by-id/usb-Mintion_NZC_Mintion_NZC_SN0001-video-index0 resolution: 1920x1080 # widthxheight format max_fps: 10 # If Hardware Supports this it will be forced, otherwise ignored/coerced. #custom_flags: # You can run the Stream Services with custom flags. #v4l2ctl: # Add v4l2-ctl parameters to setup your camera, see Log what your cam is capable of. enregistrer ces modifications, redémarrer le service crowsnest 1 2 Toujours dans l'interface Web (ici Fluidd), ajouter cette caméra pour qu'elle apparaisse : 1- 2- 3- 4- Les flux vidéo des deux caméras sont affichés, on peut choisir d'afficher les deux ou l'un ou l'autre : => => Le site de Mintion ne propose que deux supports pour cette NZC. A l'aide d'OpenSCAD, je crée un mix de deux fichiers STL pour obtenir une première version. Puis une seconde afin d'atténuer l'éclairage des deux LEDs en ajoutant une patte de chaque côté: Le STL ( mix d'une partie de ce lien pour le support de la camera et de celui-ci modifié pour la fixation sur la tête Qidi): qidi-xmax3-mintion-nozzle-camera-v2.stl Pour ceux qui n'ont pas le mal de mer : Révélation Logiciels Actuellement, la caméra Qidi me permet d'obtenir des timelapses et de surveiller l'impression en cours. En complément, j'avais installé OctoEverywhere qui permet de détecter quelques problèmes d'impression: le fameux plat de spaghettis . Cette page décrit le fonctionnement de ces systèmes à base de reconnaissance d'artefacts (en gros ce qu'on appelle IA ou AI). Actuellement, ce programme complémentaire ne permet pas d'analyser la première couche déposée mais son «concurrent», Obico, lui le permet (plus d'informations >>> ici <<<). Donc avant d'installer Obico (via KAIUH), en ssh je désactive le service OctoEverywhere (sudo systemctl stop octoeverywhere; sudo systemctl disable octoeverywhere) puis j'installe Obico et complète l'installation en liant ma XM3 à mon compte (j'utilisais déjà Obico avec ma Ender3S1 et SonicPad). IMPORTANT: L'installation d'Obico, en tout cas sur mon système n'a pas installé un paquet indispensable: JANUS Donc il faut l'ajouter manuellement => sudo apt install janus Reste une dernière étape à faire pour que Obico utilise la caméra de buse pour analyser la première couche. Modifier le fichier moonraker-obico.cfg en ajoutant pour la caméra de buse le paramètre : Is_nozzle_camera = True Mon fichier: [server] url = https://app.obico.io auth_token = *********************** [moonraker] host = 127.0.0.1 port = 7125 [webcam Qidi] disable_video_streaming = False [webcam Nozzle] disable_video_streaming = False Is_nozzle_camera = True [logging] path = /home/mks/printer_data/logs/moonraker-obico.log [tunnel] Il faut juste bien renseigner le nom des caméras qui doit être identique à celui utilisé lors de leur ajout via l'interface Web (Fluidd / Mainsail). Le nom des caméras est au format Unix donc la casse des caractères doit être respectée (Majusucle / minuscule). Sauver et fermer puis, redémarrer le service moonraker-obico pour qu'Obico prenne en considérations ces modifications. L'accès au site app.obico.io (ou à l'adresse de votre propre serveur si vous en avez monté un (ce sera une prochaine étape quand j'aurai fini de remonter un nouveau NAS)). permet de commuter l'affichage : Pour que l'analyse se fasse à l'issue de la première couche, il faut ajouter dans le trancheur utilisé le Gcode (documentation) : _OBICO_LAYER_CHANGE CURRENT_LAYER={layer_num + 1} MINX=[first_layer_print_min_0] MINY=[first_layer_print_min_1] MAXX=[first_layer_print_max_0] MAXY=[first_layer_print_max_1] Dans la section Avant changement de couche (Before layer Change) des Gcodes personnalisés de l'imprimante. Un Gcode tranché ainsi puis imprimè, met en pause l'impression à l'issue de la première couche (une légère rétraction du filament a lieu avant de baisser la température à 170°C, ventilateur de refroidissement du filament activé à 100%). une fois la température descendue, la buse / caméra balaye la surface de la première couche pour l'analyser et détecter d'envetuels problèmes. Suivant le type de notifications choisies (Mèle, SMS, …), un message est ensuite envoyé avec un score (A-F) et une vidéo «accélérée» montre l'analyse effectuée). Exemple (j'utilise le courrier électronique) : La vidéo (transformée en GIF) du balayage : A noter: En fonction du score attribué, un certain nombre de suggestions est donné. Le choix de toute façon reste à l'utilisateur de continuer ou arrêter l'impression. Ce que je constate après quelques impressions : la buse et la chaussette de protection doivent être parfaitment propres pour éviter des faux-positifs (ce qui était le cas de mes vidéos) la vitesse de rétraction du filament par défaut est trop faible (15mm/s) avec ma XM3, le fichier moonraker_obico_macros.cfg est en lecture seule (lien symbolique) et ne peut être édité via Fluidd (Mainsail), on ne peut le modifier qu'en passant par une connexion ssh En espérant que ce soit utile à d'autres makers. Modifié (le) Aout 3, 2024 par fran6p 1 2 1
pjtlivjy Posté(e) Aout 22, 2024 Posté(e) Aout 22, 2024 bonsoir @fran6p merci pour le partage sur cette caméra, le principe est intéressant mais par contre la redevance annuelle qui généralement ne va pas en diminuant est un modèle économique qui n'est pas rassurant
fran6p Posté(e) Aout 23, 2024 Auteur Posté(e) Aout 23, 2024 @pjtlivjy Il est possible d'installer la partie serveur (Obico-server) sur son propre matériel informatique et ainsi se dispenser de la «redevance». Pour le moment, j'utilise toujours Obico gratuitement. Les limitations de la licence gratuite peuvent suffire si on n'utilise qu'une seule imprimante. Sinon, avec l'achat de la caméra Mintion, est inclus un abonnement «gratuit» de trois mois (j'ai également trois autres mois gratuits avec l'achat d'un autre matériel de Bigtreetech (une carte CB2)). L'installation d'un serveur Obico sera l'objet d'un futur sujet, une fois mon nouveau NAS monté 1
pjtlivjy Posté(e) Aout 23, 2024 Posté(e) Aout 23, 2024 @fran6p excellente nouvelle merci pour ces explications ça change effectivement la donne
Rgnd Posté(e) Octobre 21, 2024 Posté(e) Octobre 21, 2024 Salut @fran6p, J'ai investi dans la même cam pour ma Plus3. Tu as fait un boitier pour la petite carte au bout de la nappe ? Je pensais concevoir un nouveau dos pour tous y intégrer. La caméra chauffe ?
fran6p Posté(e) Octobre 21, 2024 Auteur Posté(e) Octobre 21, 2024 Il y a 1 heure, Rgnd a dit : Tu as fait un boitier pour la petite carte au bout de la nappe ? J'utilise ce modèle de printables. Collé avec l'adhésif livré (il me semble) au-dessus de la plaque arrière de la tête. Le PCB est maintenu fermement à l'intérieur à l'aide de vis M2 ou M2.5 sinon les vibrations provoquent des déconnexions de la caméra qui disparait alors de Fluidd. La nappe (trop longue à mon goût) entre la caméra et le boitier au-dessus est attachée «à l'arrache» via serre-câble passant dans une ouïe du boitier. Il y a 1 heure, Rgnd a dit : La caméra chauffe ? Probablement. Le PCB déporté chauffe lui aussi. Il y a 1 heure, Rgnd a dit : Je pensais concevoir un nouveau dos pour tous y intégrer. Pas eu le courage de m'y atteler
Rgnd Posté(e) Octobre 21, 2024 Posté(e) Octobre 21, 2024 il y a 56 minutes, fran6p a dit : Pas eu le courage de m'y atteler Je vais voir ce que je peux faire de mon côté !
Rgnd Posté(e) Octobre 27, 2024 Posté(e) Octobre 27, 2024 Salut @fran6p, installation terminée ! Ça fonctionne super bien, j'ai modélisé le dos de la tête pour tout caler dedans. J'ai du modifier ton support car la cam était un peu haute sur ma X-Plus3. Je ne voyais pas la buse et pas assez de plateau. Je trouve que la mise au point ne se fait pas au bon endroit, tu l'as réglée ? Dos_tete.stl qidi-xplus3-mintion-nozzle-camera-rgn.stl 2
pjtlivjy Posté(e) Novembre 3, 2024 Posté(e) Novembre 3, 2024 salut @Rgnd et pour le côté IA que peux tu nous en dire ?
fran6p Posté(e) Novembre 3, 2024 Auteur Posté(e) Novembre 3, 2024 (modifié) D'abord, en fonction de la taille de la pièce (des pièces) imprimée(s) ça rajoute pas mal de temps à la durée totale d'impression. En gros : À l'issue de la première couche, la tête se parque, le ventilateur de refroidissement du filament se met en marche à 100 %, la température descend à 160 °C. Une fois la température descendue à 160 °C, la tête se déplace lentement de gauche à droite (X) puis incrémente dans le sens de l'axe Y et repart cette fois-ci de droite à gauche… Etc. jusqu'à atteindre l'extrémité de la surface d'impression de la pièce (sens Y). La buse est alors remise en chauffe, et redémarre l'impression. Pendant que l'impression continue, la vidéo est analysée sur le serveur Obico. Au bout d'un certain temps, le résultat est retourné soit directement dans l'onglet pointant sur Obico, soit, en fonction des paramètres saisis par l'utilisateur via un email (dans mon cas). Un accéléré vidéo est disponible, ainsi que l'analyse du résultat de la première couche (de A à F). Le système est perfectible, car il dépend de la couleur du filament, de l'éclairage, de la position de la caméra. En aucun cas, l'impression n'est arrêtée par Obico, c'est à l'utilisateur de décider l'arrêt ou la continuation de l'impression. De toute façon, en tout cas chez moi, le résultat de l'analyse n'est pas immédiat. Peut-être est-ce dû à mon choix de rester sur l'application gratuite Même avec un résultat d'analyse de D, mes impressions sont toujours allées jusqu'au bout. Au mieux, je n'ai pu obtenir qu'un B. J'imprime principalement du PETG et c'est très brillant, peut-être qu'avec un filament mat, il y aurait moins d'artefacts. Mon avis : Tel quel, ça reste un gadget, mais c'est amusant de voir le filament se déposer pour former les couches d'impression. C'est encore plus hypnotique que l'observation visuelle de la pièce en train de s'imprimer. Exemple de mails reçus : - note C Citation Hi fran6p, It looks like you are just done printing the first layer for PETG_Desiccant_Hardware_x1.gcode. As a robot with an AI brain, I have thoroughly inspected the first layer via the nozzle camera you have on your printer. Now I'm hoping in to make some comments based on what I have seen. I think your first layer can be graded as: C You have got a decent first layer. The risk for the first layer to cause your print to failure later LOW. However, if you want a perfect bottom surface finish and structural strength, you can stop the print, perfect your first layer, and restart the print. Grade C usually means one of the following: Under-extrusion. Over-extrusion. Suboptimal z-offset setting that causes the material to not bond perfectly. Contaminated print bed that causes the material in some areas to slightly bubble or wrap Uneven print bed coupled with suboptimal auto-bed-leveling. Other problems that cause the first layer to have defects. I have also recorded a video of what I saw with my robot eyes. You can watch it below: Give us feedback to let us know if the snapshots above do have issues! Give me feedback about my AI brain Print Smart, - The Obico team - note B Citation Hi fran6p, It looks like you are just done printing the first layer for PETG_corner_led_x4.gcode. As a robot with an AI brain, I have thoroughly inspected the first layer via the nozzle camera you have on your printer. Now I'm hoping in to make some comments based on what I have seen. I think your first layer can be graded as: B You have got a decent first layer with some minor issues. Consider fine-tuning some settings like extrusion or z-offset to make it perfect on your next print. Grade B usually means one of the following: Slight under-extrusion or over-extrusion. Suboptimal z-offset setting that causes the material to not bond perfectly. Uneven print bed coupled with suboptimal auto-bed-leveling. Other problems that cause the first layer to have minor defects. I have also recorded a video of what I saw with my robot eyes. You can watch it below: - note F Citation Hi fran6p, It looks like you are just done printing the first layer for PETG_[a]_idler_roller_x8.gcode. As a robot with an AI brain, I have thoroughly inspected the first layer via the nozzle camera you have on your printer. Now I'm hoping in to make some comments based on what I have seen. I think your first layer can be graded as: F It looks like your printer has run into some trouble on the first layer. The risk for the first layer to cause your print to failure later is HIGH. I recommend you stop the print now and fix the problem. Grade F usually means one of the following: Serious bed-leveling problems that causes material to detach from the print bed. Wrong/suboptimal z-offset setting. Serious bubbling or wrapping. Other problems that will probably cause the print to fail later in the process. I have also recorded a video of what I saw with my robot eyes. You can watch it below: Pour ce dernier résultat (F), j'aurais dû suivre les recommandations et arrêter l'impression. Ce que j'ai dû finalement faire quand quelques pièces se sont décollées du plateau et que le filament a commencé à s'écouler pour former le fameux plat de spaghettis . La vidéo de l'analyse accélérée du premier mail (note D), Mp4 transformé en gif pour que la taille reste sous les 9,9 Mo : Les zones détectées comme problématiques sont en rouge et jaune. Modifié (le) Novembre 3, 2024 par fran6p 2
pjtlivjy Posté(e) Novembre 3, 2024 Posté(e) Novembre 3, 2024 merci pour cet exposé complet de ce système @fran6p
Rgnd Posté(e) Novembre 3, 2024 Posté(e) Novembre 3, 2024 Salut, pour l'instant je n'ai pas installé obico, j'ai encore accès à son concurrent. Comme @fran6p les vidéos sont dingues ! Par contre en live ça va à une vitesse de dingue et pas le temps de suivre. J'ai imprimé cette après-midi du tpu et la on voit super bien la première couche ! @fran6p tu as réussi à installé Obico sur ton NAS ?
fran6p Posté(e) Novembre 3, 2024 Auteur Posté(e) Novembre 3, 2024 il y a 13 minutes, Rgnd a dit : tu as réussi à installé Obico sur ton NAS ? Mon NAS est toujours en cours de création L'OS (Debian Bookworm + OpenMediaVault) est installé sur la carte mère (FriendlyElec CM3588 NAS (16 Go RAM, eMMC de 64 Go+ 4 x SSD Nvme PCI Gen3 de 2 To chacun), le système est prêt, je l'ai testé avec des stress tests durant quelques jours. Pas rencontré de soucis hardware ou software. Docker et la gestion des VMs sont prêts à accueillir les différentes «machines». Je prends mon temps et des notes également pour un dépôt Github. …yapluka… 1
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant