Lo Furòl

... de l'ouverture (en occitan)

Vous êtes ici : Accueil / Impression 3D / Imprimante 3D Anet A8 pilotée sous Primtux6

Imprimante 3D Anet A8 pilotée sous Primtux6

Anet A8 3Pour permettre d'aborder l'impression 3D de façon "ludique" et "rapide" avec les collègues intéressé⋅e⋅s, nous avons commandé une imprimante Anet A8 au rapport qualité/prix imbattable. L'idée est aussi d'en profiter pour se familiariser avec les nano-ordinateurs comme le Raspberry Pi 3 Raspberry Pi 4 qui la pilotera.

Voici des liens utiles :

Site d'achat (lors d'une promo à 118,55 € frais de port compris avec une sonde pour autolevelling + 6 buses) :

Sur le site projetsdiy.fr (merci à son auteur pour la mise à disposition des infos et aussi ses "bons plans"...) en français :

 

Mise à jour Juin 2021 :

Pour différentes raisons, cette imprimante n'a jamais été mise en service dans l'école et il a été décidé de s'en servir pour l'année scolaire 2021-2022 dans le cadre d'un projet en sciences. Du coup, j'ai terminé son montage au mois de juin 2021 et réalisé les opérations suivantes :

Procédure utilisée pour flasher le firmware de l'imprimante Anet A8 avec un Raspberry Pi 4 sous Primtux6 avec le compte "administrateur" (qui est le compte "Prof") :

  • Si besoin, mettre à jour la distribution Primtux6 du Raspi avec la commande :
    sudo apt upgrade

I- Installer Arduino IDE et réglage du firmware Marlin

  • Récupérer et installer la version Arduino IDE pour ARM 32 bits sur le site https://www.arduino.cc/en/software (version 1.8.15 au moment où j'écris). Voir ce fil où j'explique le problème avec la version ARM 64 bits : https://forum.primtux.fr/viewtopic.php?pid=22961).
    On extrait l'archive .tar.xz et on peut déplacer le dossier obtenu "Arduino-1.8.15" dans son "/home/administrateur". Ensuite on installe le programme avec la commande :
    sudo /home/administrateur/arduino-1.8.15/install.sh

    On lance une première fois Arduino IDE, ce qui va créer un dossier "Arduino" dans son "/home".

    IMPORTANT ! Il est nécessaire de modifier le gestionnaire de cartes "Arduino AVR Boards" pour le passer de la version 1.8.3 installée à la version 1.6.23 sinon on aura des erreurs à la compilation.

  • On récupère les fichiers de configuration spécifiques à l'imprimante Anet A8 via le projet Skynet3D : https://github.com/thijsk/Skynet3d. On télécharge l'archive au format .zip (version 2.3.2 au moment où j'écris) et on la décompacte dans son "/home" (où un autre dossier, j'ai fait ce choix pour faciliter les explications). On se retrouve avec un dossier "/home/administrateur/Skynet3d-master". On copie les fichiers nécessaires à la communication avec la carte de l'A8 en tapant ces commandes (qui dépendent de la localisation des fichiers) :
    cp -r /home/administrateur/Skynet3d-master/arduino-1.8.0/hardware/anet /home/administrateur/arduino-1.8.15/hardware/
    Après cette manip, il sera maintenant possible de choisir dans Arduino IDE la carte "Anet V1.0".
    Par contre, pour éviter une erreur de compilation il faut éliminer un fichier avec la commande suivante :
    rm /home/administrateur/arduino-1.8.15/hardware/anet/avr/platform.local.txt
     
  • On récupère la dernière version du code source du firmware Marlin sur le site https://marlinfw.org/meta/download/ (alternative: https://github.com/MarlinFirmware/Marlin/releases) : il s'agit de la version 1.1.9.1.zip au moment où j'écris (ne pas utiliser la 2.0.9). On extrait l'archive pour obtenir un dossier Marlin-1.1.x et on récupère la configuration de l'Anet A8 avec les commandes :
    cp /home/administrateur/Marlin-1.1.x/Marlin/example_configurations/Anet/A8/Configuration_adv.h /home/administrateur/Marlin-1.1.x/Marlin/
    cp /home/administrateur/Marlin-1.1.x/Marlin/example_configurations/Anet/A8/Configuration.h /home/administrateur/Marlin-1.1.x/Marlin/
    Au lieu de la commande précédente, pour la sonde à induction pour l'autoleveling, on peut récupérer le fichier "configuration.h" contenu dans Skynet3D avec cette commande (je ne l'ai pas fait car le fichier est ancien et ne propose pas toutes les options de la configuration dans Marlin ci-dessus) :
    cp "/home/administrateur/Skynet3d-master/SkynetV2.3.2/Configuration Profiles/Anet A8/A8- 5buttonkeypad- autolevel- front left sensor/18mm sensor/Configuration.h" /home/administrateur/Marlin-1.1.x/Marlin/
  • On configure maintenant le firmware Marlin en l'ouvrant dans Arduino IDE et en modifiant certaines options dans le fichier "Configuration.h" :
    • la langue "fr" (ligne 1401),
    • réglage de la sonde d'auto-levelling,
    • les dimensions du plateau (X en 210 et Y en 210, décalage en X de -40 et décalage en Y de -10),
    • ...
  • On vérifie que la compilation se fait sans erreur et on va pouvoir téléverser le firmware dans l'imprimante.
    Mais avant cela, il faut donner les autorisations d'accès aux ports USB avec cette commande (sans oublier de se déconnecter et de rouvrir la session pour sa prise en compte)  :
    sudo usermod -a -G dialout administrateur

    Ensuite, il ne reste plus qu'à téléverser le programme dans l'imprimante (qui doit être branchée sinon le port ne sera pas reconnu).

II- Réglage de la sonde À induction

  • Lors de l'installation de la sonde à induction pour l'autoleveling, j'ai dû intervertir les fils bleu et marron de la sonde pour qu'elle fonctionne (que la led rouge s'allume à l'approche d'un objet métallique).
  • Pour régler l'offset qui correspond au décalage entre le point détecté par la sonde et le nez de la buse, il est nécessaire de faire un "homing" général et de régler l'offset Z à 3-4 mm via le panneau de contrôle de l'imprimante afin de pouvoir descendre en dessous du point de déclenchement de la sonde. J'ai trouvé un offset de 2 mm (que j'ai indiqué à la place de 3-4 mm réglés initialement).
  • Ensuite j'ai mis à niveau mon plateau en plaçant la buse aux 4 coins et en la faisant toucher légèrement une feuille de papier en vissant/dévissant les écrous papillons du plateau.

III- Installation des applications

  • Installation du logiciel Cura via le "store" même si c'est une vieille version apparemment (3.3.1.2 alors que nous sommes à la 4.9.1 actuellement) : -> ÉCHEC plantage au démarrage.
    Je tente une image expérimentale https://github.com/smartavionics/Cura/releases mais qui nécessite l'ajout d'un paquet particulier :
    sudo apt-get install libgles-dev
    On télécharge l'image "armhf" qui est au format .AppImage et aussi l'image "mesa-armhf" pour avoir un aperçu de meilleure qualité.
    On décompresse l'image mesa-armhf.tar.gz avec la commande "sudo tar xzf ........", ce qui l'installe dans notre système.
    On rend l'image Cura executable pour qu'en cliquant dessus, le programme se lance. On peut créer un lanceur en récupérant l'icône Cura ici : https://github.com/Ultimaker/Cura/blob/master/icons/cura-32.png
  • Installation d'Octoprint pour la prise de contrôle de l'imprimante à distance (à travers CURA aussi) : https://community.octoprint.org/t/setting-up-octoprint-on-a-raspberry-pi-running-raspbian-or-raspberry-pi-os/2337.
    Il faut taper ces commandes :

    sudo apt install python3-pip python3-dev python3-setuptools python3-venv git libyaml-dev build-essential
    mkdir OctoPrint && cd OctoPrint
    python3 -m venv venv
    source venv/bin/activate-
    pip install pip --upgrade
    pip install octoprint
    sudo usermod -a -G tty administrateur

    Ensuite on lance le serveur avec :
    ~/OctoPrint/venv/bin/octoprint serve

    Pour tester, on tape cette adresse dans son navigateur : "http://IP_RaspberryPi4:5000" et on doit obtenir des fenêtres permettant de paramétrer Octoprint.
    Maintenant on peut configurer Octoprint pour un démarrage automatique avec ces commandes en se mettant dans le dossier Octoprint :
    wget https://github.com/OctoPrint/OctoPrint/raw/master/scripts/octoprint.service && sudo mv octoprint.service /etc/systemd/system/octoprint.service

    Ensuite il faut éditer le fichier octoprint.service avec la commande :
    sudo nano /etc/systemd/system/octoprint.service
    Et on adapte la ligne d'exécution qui dans mon cas sera :
    ExecStart=/home/administrateur/Octoprint/venv/bin/octoprint
    Il ne faut pas oublier le démarrage du script automatiquement avec la commande :
    sudo systemctl enable octoprint.service
    Remarque on peut agir sur le démon avec les commandes :
    sudo service octoprint start
    sudo service octoprint stop
    sudo service octoprint restart

    Remarque : Si l'on règle le proxy dans le navigateur Firefox, Octoprint ne fonctionnera pas !!! Il faut aller creuser ici : https://community.octoprint.org/t/setting-up-octoprint-on-a-raspberry-pi-running-raspbian-or-raspberry-pi-os/2337 et regarder du côté de HAProxy.
    Autre solution : https://github.com/OctoPrint/OctoPrint/issues/3083.
    Proxy sous Primtux : https://wiki.primtux.fr/doku.php/controle_parental#primtux2_et_primtux3.

  •  Installation de FreeCAD pour créer des objets 3D à imprimer (à un niveau basique pour des élèves) : À VOIR ...

IV- Remarques - Conclusion

  • Ne pas oublier de faire une sauvegarde de la carte microSD pour ré-installer en cas de problème avec la commande (la carte est en "sdc") :
    sudo dd bs=4M if=/dev/sdc status=progress | gzip > Pi4_primtux_AnetA8.img.gz
  • Il faudrait adapter le firmware Marlin afin qu'il prenne en compte les 5 boutons de navigation à côté de l'afficheur LCD de l'imprimante 3D. Actuellement, si on se trompe de bouton, on revient au menu de départ.
  • Regarder du côté du proxy pour Octoprint (voir plus haut).
  • Il faudrait imprimer quelques "vitamines" (pièces complémentaires) qui amélioreraient l'utilisation de l'imprimante (comme un guide filament ou un support de bobine par exemple). Voir ici : https://www.thingiverse.com/search?q=anet+a8&type=things&sort=relevant
  • Ne pas oublier de s'équiper d'une spatule pour décoller les pièces ainsi que de pinces à bec long pour dégager la buse, d'amas de filament éventuels, un pied à coulisse électronique pour des mesures précises, ...
  • Franchement la qualité d'impression est plus que satisfaisante pour une machine somme toute très économique ! Idéal pour découvrir l'impression 3D quand on a un budget limité (même si personnellement, je préfère ma Creality Ender 3 Pro 😉 et si actuellement il doit exister une machine équivalente à la Anet A8 plus récente).

Anet A8 4

 

Vous êtes ici : Accueil / Impression 3D / Imprimante 3D Anet A8 pilotée sous Primtux6