TableScan
Présentation
Le Scanner 3D HP du FabLab peut être accompagné d'une table tournante. Le but de ce projet est d'en fabriquer une au FabLab, le prix de la table HP étant très élevé.
Pour Scanner un objet 3D, le scanner doit prendre plusieurs vues et les assembler ensuite. Le logiciel possède un mode spécial où l'objet à scanner tourne de manière régulière, cela facilité l'assemblage des morceaux. HP recommande 6 à 8 vues pour un objet. Ici l'utilisateur va donner le nombre de vues souhaitées (8 par défaut), et la table va ensuite tourner à chaque commande de 360/Nvues degrés.
La commande de la table se fait via une page Web embarquée dans le module Arduino (ESP8266, WEMOS D1 utilisé). L'adresse de la table est TableScan.local, le module utilise en effet le protocole mDNS pour éviter d'avoir à déclarer des adresses IP.
Sur le navigateur taper dans la barre d'adresse : tablescan.local
La page suivante est présentée
L'entrée Nombre de vues peut être modifiée suivant vos choix. La valeur par défaut est 8. Pour des objets complexes, il est possible d'aller plus haut (12 vues ou plus).
Attention, le code étant limité, il n'y a pas de protection de limite sur le nombre de vues. Il doit être supérieur ou égal à 2 et ne pas aller trop loins pour être raisonnable.
Les textes "Vue courante" et "Angle" ne sont pas modifiables, ils donnent la position actuelle du plateau.
Une fois sur la page, scanner la première vue puis appuyer sur le bouton "Tourne Table". Scanner la nouvelle vue.
Procéder de même pour toutes les vues, une fois terminé, l'angle repasse à 0.
Matériel
Le projet utilise comme composants "spécifiques"
- Un WEMOS D1 mini
- Un moteur pas à pas 28BYJ-48-5V mais d'autres modèles peuvent être utilisés. Attention toutefois au nombre de pas par tour (2048 pour ce modèle)
- Un connecteur alimentation micro-usb
- La boite est découpée en MDF 3mm à la découpeuse laser.
- Le support de plateau est réalisé via une impression 3D. J'utilise BlockSCAD pour la conception 3D, le fichier STL résultant ainsi que le fichier "Source" XML sont inclus dans le répertoire GIT.
Voici la représentation du support de plateau
Logiciels
La table tournante utilise une page html qui est embarquée dans le code du WEMOS D1.
La page html de base est donée iciFile:TableTournante.zip pour information
Le code Arduino complet est présent dans le répertoire git du projet : https://github.com/thierry7100/TableScan
Pour porter le code arduino chez vous renommez le fichier AccesWiFi.Template en AccesWifi.h et modifier le SSID et le mot de passe en cohérence avec votre réseau.
Architecture
Le code Arduino utilise les bibliothèques standard WiFi, mDNS et stepper
Un appel à la page Web TableScan.local sans paramètres initialise l'angle et l'index Vue à 0 ainsi que le nombre de vues à 8.
Ensuite chaque appui sur le bouton "Tourne Table" appelle la page avec des paramètres donnant la configuration courante. Exemple http://tablescan.local/TableTournante.html?NbPas=8&Vue=1&Angle=45
Ce mécanisme est utilisé pour communiquer entre l'ESP 8266 et la page Web.
Languages
Le code Arduino est en C++ et embarque une page Web html5 avec quelques fonctions Javascript
Évolutions possibles
Une première amélioration pourrait être de faire tourner le plateau sur des billes pour pouvoir supporter des objets plus lourds