Bonjour,
Nous avons un système avec une photodiode devant laquelle nous devons ajouter un petit shutter rotatif (élimination du bruit ambiant).
L' encombrement ainsi que l'angle d'ouverture de la photodiode nous imposent les dimensions et le nombre de fenêtres sur l'obturateur, qui est réalisé avec un film plastique rigide découpé au laser.
La difficulté de trouver des moteurs avec encodeurs nous a amené à choisir un petit moteur bas de gamme dont nous avons retiré le réducteur : https://www.robotshop.com/eu/fr/mote...codeur-6v.html
On doit tourner à une vitesse relativement basse à cause de la bande passante du préampli, mais pas trop basse quand même sinon le rapport signal/bruit se dégrade. Donc par expérimentation on a trouvé que 500 RPM était un bon compromis.
L'encodeur du moteur est un simple capteur effet Hall avec un aimant bipolaire (et non multipôle...)
L'asservissement est assuré par un microcontrôleur et une interface de puissance commandée en PWM. Dans les faits ça fonctionne presque...
Le moteur manque d'inertie, et l'encombrement réduit nous empêche d'ajouter un volant qui permettrait de corriger le problème, donc on se retrouve avec des fluctuations de fréquence assez importantes pour que ce soit visible sur le signal en sortie du préampli.
Ma question est donc : Comment pourrait-on augmenter virtuellement la résolution de l'encodeur pour que l'asservissement PID puisse agir plus rapidement sur la commande du moteur? Je pensais à une PLL ou un multiplieur de fréquence mais je ne sais pas si je pourrais implémenter ça directement dans le microcontrôleur (Microchip PIC32MX), et surtout si ça pourrait suivre une variation de fréquence...
Le mieux serait un capteur optique avec une centaine d'ouvertures, mais c'est super difficile à trouver dans le commerce, à part des trucs super gros du style : https://fr.rs-online.com/web/p/codeurs/7967806/
-----