Motorisation banc de mesure
Il s'agit de motoriser un instrument de mesure (un spectromètre de fluorescence X - XRF) fixé à un portique mobile au dessus d'une carotte géologique.
C'est donc un mouvement 1,5 degrés de liberté : X (deux moteurs pas-à-pas à contrôler) + Y sur deux positions (haut-bas), plus un déclenchement de la mesure.
Mise en œuvre M5Stack + Driver Module
J'utilise un M5Stack BASIC v2.6. Il faut dans l'IDE Arduino de choisir un M5Stack-Station dans le...
Test des fins de course
Tout est dans le titre. Les fins de courses comprennent trois pôles: C NO (normally open) ...
Tentative de première programmation
Il m'apparaît que le module StepMotor Driver 13.2 dont je dispose est la version 1.0. Le microc...
Adaptation de l'exemple à la nouvelle API Espressif
Avec les informations fournies précédemment, je modifie le code ainsi : 16,17c16 < //#include...
Réalisation du boîtier de fixation du M5Stack+module
Pour éviter que ne se reproduise la mésaventure de griller un ensemble shield+M5, il faut fixer s...
Première mise en situation
Essai mécanique avec une carotte et le spectromètre de fluorescence X. Disposition générale : ...
Itération
Nicolas a réalisé une pièce pour fixer le switch de fin de course en haut de l'axe Z. Stéphane ...
End Stop
Voici les fichiers utilisés pour maintenir le switch sur la châssis de l'axe à vis. end stop v1...
Démonstration en mouvement
Après moult ajustements, nous avons enfin une version stable avec un mouvement fluide et sans vib...
Ecriture du firmware
Utilisation de la bibliothèque RMT pour envoyer un nombre d'impulsions PWM précis. #include "M5U...
Deuxième mise en situation
Il est décidé d'ajouter une plaque en bout du banc pour caler la carotte à zéro, et également ser...
IHM côté PC
Pour pouvoir piloter le banc à distance, il faut construire une IHM minimaliste côté PC qui fait ...
Définition d'un protocole
La complexification progressive de l'IHM côté PC, la réalisation de tâches ou de séquences de tâc...
Vitesses selon X
L'introduction des commandes permettant de régler la vitesse permet de constater : que l'on p...
Reste à faire
Au soir du 13/2, les indispensables : Interfacer les deux TOF avec le hub I2C. Tester IX, en ...
Interfaçage des télémètres
Pour mesurer la distance entre le chariot et la carotte sur Z, ou pour mesurer la position par ra...
Précision du positionnement en Z : limites du VL53L0X
Stéphane ayant implémenté des fonctions de démarrage progressif, d'arrêt progressif sur X, je rec...
Nouvelle version IHM
IHM_XRF_v3.pde Pour l'intégration des champs de texte à remplir (pour le temps de pause, et pour...
Amélioration accélération-déplacement-freinage
En s'inspirant de la fonction smoothXMove, on ré-écrit moveTo pour introduire une phase d'accélér...
Finitions et nouvelles améliorations
La version du code de la GUI a évolué progressivement. In fine, la boucle draw() comprend le raff...
Problème mécanique axe Z
Malgré un démontage-remontage de l'accouplement moteur-vis sans fin, malgré le graissage de la vi...
Version finale de l'IHM/GUI
Cette version : surligne en vert les actions possibles (disconnect, home, go next et sequence...
Retour sur la vitesse en X
Pour améliorer le déplacement en X, j'extrapole le temps de parcours pour une fréquence 10 kHz ...
Feed-back post-installation
Il est décidé de procéder aux améliorations suivantes : Rédaction d'une liste de commande "ma...
Ajout capteur ultrasonique
Nouvelle version du code côté M5 : XRF_bench_v1.2.ino.zip Modifications mineures du code : Tra...