rotary_encoder_controller
Ceci est une ancienne révision du document !
Table des matières
Réalisation d'un controller pour capteur de position angulaire optique
Objectif
Pour le pendule de Furuta, mesurer les positions angulaire des 2 axes est très important. Pour obtenir des mesures efficace des capteurs optiques, nous faisons le choix de réaliser un contrôleur avec un microcontrôleur esp32.
Dépôt
Url github du dépôt Le projet est compatible avec les 2 IDE :
- Arduino IDE
- PlatformIO
Features
- Contrôle actuellement 2 capteurs
- Enregistre les périodes entre chaque événement en µs.
- Conserve une liste des périodes dont la taille est paramétrable.
- Communique les positions et vitesse via SPI avec un master.
Tests
Construction d'un simulateur pour faire des tests :
- 1 Version tout intégré contrôler + simulateur sur le même ESP32.
- 1 Version installé sur 2 ESP32 pour intégrer les tests de communication SPI.
Limitations:
- la génération des signaux de simulation sont interrompu lorsque l'on réalise les assertions : le test n'est pas complètement dynamique.
Documentation de la communication SPI
TODO
Qu'est-ce qui fonctionne
- Le comptage des événements
- Le calcul de la position
- Le paramétrage du nombre de points
- L'activation/désactivation du mode quadrature
Qu'est-ce qui reste à faire
- Tester le mode quadrature désactivé
- Améliorer la performance des interruptions en rendant static le mode utilisé (quadrature ou non).
- Fournir une api (avec un begin(...), ...) pour manipuler un sensor.
- Simplifier si possible la commande SPI de timing du controller, en utilisant la pin d'activation (SS) du SPI si possible.
Ancienne version adapté par Serge pour Arduino IDE
rotary_encoder_controller.1655876254.txt.gz · Dernière modification : 2022/06/22 07:37 de bigMax