Skip to main content

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...