Ender3v2 - débuts dans l'impression 3D et premiers bidouillages

Posted on Mon 01 February 2021 in Hardware

ender3v2 z-axis

J'ai récemement eu en cadeau une Creality Ender3v2, et je dois dire que c'est une belle surprise !

Beaucoup d'échos par le passé de difficultées à opérer des imprimantes 3D trop onéreuses, buses qui se bouchent tout le temps, qualité d'impression pas au rendez-vous, etc.

Désormais il faut dire que ces machines sont beaucoup beaucoup beaucoup plus accessibles (~200€), fiables , techniquement finies (plateau chauffant, moteurs silencieux, carte-mère extensible) et surtout avec une qualité d'impression bluffante.

Je partage dans cet article les modifications apportées à cette imprimante, j'espère que ce sera utile à certain(e)s.

Toutes les pièces mentionnées sont disponible dans une collection Thingiverse : Collection Ender3

Petites améliorations

Quelques petites améliorations de base sans grand matériel, il vous faudra acheter des roulements à bille 608ZZ (les mêmes que les roulements de Skate) - prenez en un pack il en faudra d'autres pour d'autres pièces

Guide tige filettée pour Axe-Z avec roulement à bille

Une fois reçue, montée et calibrée, la première chose qui m'a un peu deçu est l'absence de guide pour la tige filettée de l'axe Z et d'une molette pour tourner cet axe.

C'est utile quans vous voulez remonter le chariot d'extrusion, surtout quand vous foirez une impression.

Le résultat :

ender3v2 z-axis

Guide fil sortie bobine (8h d'impression)

Une autre amélioration très simple à imprimer est un guide filament, il permet de guider le fil vers le moteur d'extrusion sans qu'il aille s'entortiller sur l'axe Z ou se coincer dans le chariot.

Le résultat :

ender3v2 guide fil

En fouinant sur Thingiverse en rédigeant l'article, je viens de voir qu'il existe maintenant un modèle qui combine support pour l'axe Z + support pour guide filament :

Support bobine de fil à roulement à billes (2h d'impression)

Lors des premières impressions, vous allez remarquer que la bobine de file "râpe" sur le support fourni avec l'imprimante.

Ce support de bobine avec deux roullements à bille est une solution à ce problème si vous conservez la bobine au dessus de l'imprimante.

Le résultat :

ender3v2 support bobine

Pieds surrélevés (3h d'impression)

Afin de pouvoir effectuer des modifications électriques, j'ai dû surélever les pieds de l'imprimante avec ces extensions, elles reprennent les patins caoutchouc d'origine.

Le résultat :

ender3v2 support bobine

Support pour alarme incendie (2h d'impression)

Parce qu'on est jamais assez prudent quand ça chauffe

ender3v2 fire alarm

Raspberry Pi + Octoprint

Octoprint est un logiciel libre écrit en Python qui permet de piloter l'imprimante 3D via une interface Web. Je ne vais pas m'étaler sur cette partie il y'a plein de vidéos et tutoriels disponibles partout

C'est un indispensable.

Modifications électroniques

On passe aux choses sérieuses, les modifications éléctroniques.

ender3v2 psu

DISCLAIMER : Elles sont à faire en ayant conscience du risque éléctrique, faites vous aider si vous n'êtes pas sûr de ce que vous faites.

Pré-requis :

Les composants éléctroniques à acheter

Ca fait un peu de matériel mais pour un résultat satisfaisant il faut ça.

J'ai fait un schéma de cablage global pour tenter d'illustrer tout ça :

Ender3v2 schematics

Remplacement du ventilateur de l'alimentation (8h d'impression)

Le ventilateur de l'alimentation n'est pas silencieux, ce n'est pas le pire mais il participe au bruit ambiant.

  • Attention 1 : par défaut, la tension d'alimentation des ventilateur Creality est 24V DCC, les ventilateurs Noctua sont en 12V c'est pourquoi il faut installer entre l'alimentation du ventilateur et celui-ci un "buck converter" qui va abaisser la tension à 12V DCC.

Il faudra régler à l'aide d'un tournevis et d'un multimètre la tension de sortie, pour faire ça j'ai triché j'ai utilisé une ligne d'alimentation disponible supplémentaire qui sort 24V DCC en permanence.

  • Attention 2 : lors de vos tests, si vous allumez l'imprimante, le ventilateur de l'alimentation ne se mettra pas en marche directement, en effet il ne se déclenche qu'a partir d'une certaine puissance utilisée par l'alimentation.

Cette modification nécessite de remplacer le capot de protection de l'imprimante par un capot imprimé en 3D

Le resultat :

ender3v2 psu

Remplacement du ventilateur de la carte mère (8h d'impression)

Même topo, le ventilateur de la carte mère participe aussi au bruit ambiant de l'imprimante.

Il faudra pour ça :

  • 1x convertisseur-abaisseur en tension

Quelques remarques

  • Idem la tension en entrée doit être de 12V DCC > convertisseur abaisseur en tension à régler.
  • Idem pour calibrer le buck converter : utiliser une ligne d'alimentation supplémentaire sur l'alim
  • Idem le ventilateur de la carte mère ne se lance que lorsque vous lancez une impression.
  • Idem : il faut remplacer le capot de l'imprimante pour y insérer le ventilateur. Ce capot servira aussi de lieu d'acceuil pour les autres composants à venir

  • Lien Thingiverse du capot : Ender 3 v2 Mainboard 80x80x25 Silent Fan

Le resultat :

ender3v2 psu

Remplacement du ventilateur de la tête d'extrusion (30min)

Celui-ci c'est celui qui fait le plus de bruit, c'est celui à remplacer en priorité.

Il faudra pour ça :

  • 1x convertisseur-abaisseur en tension

Quelques remarques

  • Idem la tension en entrée doit être de 12V DCC > convertisseur abaisseur en tension à régler.
  • Celui-ci se lance directement au démarrage de l'imprimante
  • Pas de pièce supplémentaire à imprimer
  • Tips : les cables fournis par Noctua permettent de faire un câblage propre en conservant la connectique DuPont/Molex du ventilateur

Pilotage de l'alimentation à partir d'Octoprint (1h30)

La touche finale à tout ça c'est le pilotage de la partie puissance de l'imprimante 3D à partir d'OctoPrint.

Initiallement lorsque vous démarrez votre imprimante, tout se met en route, les ventilateurs tournent dans le vide pour pas grand chose. Avec cette modification l'imprimante se met en route uniquement lorsque on à décidé de lancer une impression via Octoprint et surtout elle se coupe toute seule lorsqu'elle à terminé son impression !

Il faudra pour ça :

  • 1x relais
  • 1x convertisseur-abaisseur en tension
  • Du cablage electronique et des connecteurs DuPont
  • Du cablage electrique et des cosses à sertir

Electronique / Electricité :

  • Il y'a une partie cablâge électrique à réaliser afin d'alimenter le relais lorsque l'imprimante n'est pas en marche, pour ça il faudra tirer une ligne d'alimentation supplémentaire pour alimenter un convertisseur abaisseur de tension qui alimentera le relais de commande.
  • Il y'a une partie cablâge éléctronique à réaliser afin de relier la masse + sortie GPIO de pilotage vers le relais de commande.

Ender3v2 schematics

Quelques remarques

  • Ce montage nécessite d'installer plusieurs plugins dans Octoprint pour que ce soit fonctionnel
  • Si le Raspberry Pi est alimenté par une source exterieure à l'imprimante (un convertisseur secteur-USB), il faudra relier les masses du RPi et de sortie de convertisseur de tension, afin d'avoir la même référence et la même différence de tension sur le relais pour la broche de pilotage.

TODO List

Dans la ToDo List :

  • Installation d'un BL-Touch
  • Amélioration de l'intégration du RapsberryPi et des composants
  • Ajout de connecteurs XT60 pour le pilotage d'alimentation

Mopidy le serveur de musique à la maison

Posted on Sat 19 August 2017 in Hardware

mopidy

Nouveau RPi reçu j'essaye des choses, je voulais depuis quelques temps installer une solution permettant de jouer de la musique sur les enceintes du salon et contrôlable à distance depuis smartphone/tablette/laptop.

Pour ça j'ai installé la solution Mopidy sur une base Raspbian (Debian compilé ARM pour RaspberryPi)

Comment faire ? Aller on y va

Télécharger et installer Raspbian (Lite) sur une carte microSD, utiliser Etcher pour ça, c'est intuitif.

[embed]https://www.youtube.com/watch?v=blgdBzcu80U[/embed]

Brancher le RPi sur un écran + clavier, par defaut le clavier est en qwerty donc on va faire en sorte que le machin soit correctement configuré pour avoir du réseau et que votre clavier azerty soit correctement mappé

Hint : les identifiants par défaut sont pi/raspberry  (tapez rqspberry donc)

On se cale en root parce qu'on est grand, et on règle la timezone

sudo su
dpkg-reconfigure tzdata

Modifier l'agencement du clavier en utilisant la commande

raspi-config

Fichier de configuration réseau (vide par défaut) : /etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto wlan0
iface wlan0 inet dhcp

Il manque quelques outils de base pour diagnostiquer deux trois choses

apt install vim htop screen

Un petit reboot et on passe à l'installation de Mopidy. Ajouter le dépôt de paquet Mopidy

wget -q -O - https://apt.mopidy.com/mopidy.gpg | sudo apt-key add -
wget -q -O /etc/apt/sources.list.d/mopidy.list https://apt.mopidy.com/stretch.list
apt-get update

Installer mopidy + python-pip + les paquets supplémentaires (Spotify, SoundCloud, Youtube, Interface Iris)

apt-get install mopidy mopidy-youtube mopidy-spotify mopidy-soundcloud mopidy-podcast
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
pip install Mopidy-Iris
pip install Mopidy-Spotify-Web
pip install Mopidy-MusicBox-Webclient

Voila le machin est installé. Mais il va falloir configurer la chose. Explications

  • Mopidy en standalone va chercher le fichier de configuration dans \~/.config/mopidy/.. bref c'est de la merde.
  • Mais! Mopidy est prévu pour tourner en tant que service, c'est mieux.
  • Et en tant que service, il va taper dans /etc/mopidy/mopidy.conf. AH!
  • Mopidy ne balance rien à l'affichage, il ne sort que du son sur HDMI ou sortie jack du RPi.
  • Mopidy écoute par défaut sur les ports 6680 (interface web) et 6600 (interface MPD) mais uniquement en localhost. Je garde ça par défaut, défois que je voudrais coller un service web un jour sur le RPi.

Le fichier de configuration /etc/mopidy/mopidy.conf doit ressembler à quelque chose comme ça.

[core]
cache_dir = /var/cache/mopidy
config_dir = /etc/mopidy
data_dir = /var/lib/mopidy

[logging]
config_file = /etc/mopidy/logging.conf
debug_file = /var/log/mopidy/mopidy-debug.log

[local]
media_dir = /var/www/media

[m3u]
playlists_dir = /var/lib/mopidy/playlists

[mpd]
enabled = true
hostname = 0.0.0.0
port = 6600
password =
max_connections = 20
connection_timeout = 60
zeroconf = Mopidy $hostname
command_blacklist =
  listall
  listallinfo
default_playlist_scheme = m3u

[http]
enabled = true
hostname = 0.0.0.0
port = 6680
static_dir =
zeroconf = Mopidy $hostname

[spotify]
username = identifiant_spotify
password = mot_de_passe_spotify
client_id = id_client_a_generer
client_secret = secret_a_generer
toplist_countries = FR

[spotify_web]
client_id = id_client_a_generer
client_secret = secret_a_generer

[soundcloud]
auth_token = token_a_generer

[iris]
country = fr
locale = fr_FR

Pour la plupart des paramètres c'est "classique" pour un fichier de conf, ip, port, description, truc. J'ai déplacé le dossier de media par défaut dans /var/www/media ça m'emmerdai de laisser ça dans /var/lib/mopidy

Attention : Pour pouvoir utiliser le streaming Spotify il faut un compte Spotify Premium

  • Pour la partie Spotify, les valeurs a renseigner sont vos identifiants/mot de passe + un id/secret à récupérer depuis le site https://www.mopidy.com/authenticate/#
  • Idem pour Soundcloud : https://www.mopidy.com/authenticate/#

Ok une fois que c'est bon pour la configuration on peut lancer le serveur

systemctl enable mopidy
systemctl start mopidy

Pour voir si tout se lance bien

tail -f /var/log/mopidy/mopidy.log

Si le module Spotify à bien réussi à s'authentifier :

2017-08-18 23:55:25,074 INFO [10372:SpotifyEventLoop] spotify.session: Spotify logged in
2017-08-18 23:55:25,075 INFO [10372:SpotifyEventLoop] mopidy_spotify.backend: Logged in to Spotify in offline mode
2017-08-18 23:55:25,642 INFO [10372:SpotifyEventLoop] mopidy_spotify.backend: Logged in to Spotify in online mode

Sinon

2017-08-18 21:00:04,530 WARNING [6300:MainThread] mopidy.__main__: Found spotify configuration errors, the extension has been automatically disabled:
2017-08-18 21:00:04,531 WARNING [6300:MainThread] mopidy.__main__: spotify/client_secret must be set.
2017-08-18 21:00:04,532 WARNING [6300:MainThread] mopidy.__main__: spotify/client_id must be set.

Et comment utiliser ça maintenant ? http://\<ip raspberrypi>:6680 dans un navigateur et on récupère la liste des interface web disponibles

mopidy

Oui je n'ai pas trouvé mon bonheur tout de suite. Après plusieurs essais je conseille Iris + Musicbox. Iris ressemble à ça sur laptop

mopidy

Sur téléphone dans un navigateur (à gauche) il existe aussi une application dédiée Mopidy Mobile (via protocole MPD)

mopidy

Quelques notes :

  • La fonctionnalité Spotify permet de jouer de la musique depuis votre compte Spotify Premium sur le RPi en le controllant depuis une interface web (laptop/tablette/mobile). Elle ne permet pas d'utiliser la fonctionnalitée "Spotify Connect" donc n'est pas contrôllable depuis l'application Spotify directement.
  • Pour la locale je viens de me rendre compte qu'il me crois en Nouvelle Zélande, doit y'avoir une merde quelque part
  • La fonction recherche permet de recherche dans Spotify+SoundCloud+Localement. C'est puissant
  • Sur RPi3 le son est clean en sortie HDMI, crado en sortie jack. Dunno why
  • L'interface Iris est très orienté Spotify, pour être complet je laisse l'interface Musicbox qui permet de balancer du Youtube/SoundCloud/Local/Podcast plus simplement
  • J'ai coller RasperryCast en plus sur le même RPi ça ne rentre pas en conflit, les deux sont compatibles.

Voilà amusez vous bien, c'est simple à mettre en place (avec un minimum de techskilz), ça peut être sympa comme solution de musique partagée en soirée ou au bureau (avec ses risques et périls), vraiment efficace avec un compte Spotify Premium.