Encodeur ROTATIF magnétique

  • Auteur de la discussion MaX-MoD
  • Date de début
M

MaX-MoD

Compagnon
Pour résumer la réflexion entamé sur ce sujet:

HoloLab propose l'utilisation d'un capteur de direction de champ magnétique, les hmc1501/1512 qu'il a déjà utilisés pour réaliser ses galvos pour show laser > voir sur son site.

le hmc1512 est particulièrement intéressant (cf sujet mentionné au début) car il pourrait mesurer la rotation d'un axe avec une précision de 0.05° (1/7200 tours).
le problème est maintenant de réaliser une interface pour les exploiter, car il délivre une tension et non des impulsions.

Deux solution:
  • Convertiseur HMC-> quadrature, pour utiliser avec les cartes servos perso ou du commerce
  • Driver de servos qui intègre une entrée HMC
 
M

MaX-MoD

Compagnon
alors... un CAN 10bits (30F2010) a une réso de 1024, avec le hall (ou opto) de 1/2 tour ca fair 2048 ppt. honête main peut mieux faire:
en 12bits (30F2011) on passe à 16384. tiendra compte du LSB pour les calculs pour une amélioration de la précision, mais 16kipp n'a pas de sens par rapport à la précision du capteur (8k c'est limite d'ailleurs).
on se retrouve avec un capteur à 8192ipp (au mini 4096) qui a une précision de 0.05°.

par contre pas de CAN 12bits et de PWM dans le même Uc microchip (cfleur site).
on peut évidemment le faire en soft, mais je crains que les perfs ne soient pas très bonnes. cela fera certainement l'objet d'une simulation si on retient cette solu.

pour résumer, on a donc deux solution:
-moins précise (2048ipp) mais avec driver DC/BLCD/PaP intégré, moins chère (cout surtt lié au PCB, le PIC étant gratuit :p )
-plus précise (4096 voir 8192ipp) mais avec contrôleur non intégré, plus chère.

la féquence de rafraichissement: 1ms c'est suffisant pour la détection des mouvements du moteur j'usqu'à 30Ktpm, mais pour délivrer une impulsion par pas, il ne faut alors pas dépasser (1000/8192)/2=0.06 tps soit 3.6tpm. vitesse "tortue".
on peut monter à 500Ksps donc environ 30tps sans saturer. vitesse "lièvre" :D
là ca devient bien!


la question qui reste, c'est combien d'instruction faut-il pour traduire le sin en quadra, le tout en 30M/500K = 60 instructions max (80 pour un 33F)?
je pencherais pour une table à adressage "modulo" contenant une ébauche du sin-1 plus une interpolation linéaire.

des idées?

EDIT:
Le dsPIC33FJ64MC706 possède 8PWM et 16 ADC 12bits, sans compter les 64Ko de mémoire Flash dans laquelle peut résider l'entièreté de la table sin-1. donc pas de pb de vitesse de traduction sin-1 ni même de contrôleur de moteur intégré.

bon allez, dodo sinon je vais mourir :smt030
 
Haut