Page 1 sur 1

Codeurs incrémentaux : acquisition

Publié : 04 août 2006 17:35
par Zera
Salut

J'aimerai réaliser prochainement un asservissement de deux moteurs à courant continu. Je ne le cache pas, c'est pour un robot à deux roues, les moteurs ne seront donc pas asservis indépendamment, mais ensembles.

Mon principal problème vient du retour de position fournit par les moteurs. Sur les axes de ceux-ci sont disposés des codeurs incrémentaux, d'une résolution de 500 impulsions par tour (500 lignes) (Codeur HEDS 5540 de MDP pour ceux qui veulent des détails).

Une solution consiste à utiliser eux bascules D pour extraire des impulsions, selon le sens de rotation, avec une résolution d'une impulsion par ligne (dit "1x"). On peut utiliser les compteurs d'un microcontrôleur pour les comptabiliser (mais cela nécessite tout de même 4 compteurs pour les deux moteurs). Voir page 2 de cette doc Microchip pour les explications.

J'aimerai bien utiliser ces codeurs avec une résolution "4x", c'est à dire utiliser tous les fronts des deux voies, pour obtenir 2000 positions par tour. Une solution serait d'utiliser un composant dédié au décodage et au comptage, comme celui-ci de Genapta, assisté d'un microcontrôleur. Connaissez-vous d'autres composants similaires ? (même s'ils ne permettent que le décodage/comptage d'une seul codeur)

Avez vous d'autres idées ?

Publié : 05 août 2006 17:23
par vincevg
Je ne con nait pas le composant dont tu parles mais je serais tenté de mettre un petit µC dédié et une com avec le µC principal par bus SPI ou twi.

Publié : 06 août 2006 12:46
par Zera
Une petite présentation du composant (merci Google) : http://www.stielec.ac-aix-marseille.fr/ ... aptvit.htm

Le micro dédié, je ne pense pas qu'il arrive à suivre le rythme des deux codeurs à grande vitesse ... il peut quand même y avoir 184000 fronts détectables par seconde et par codeur ... et le bus devrait ensuite eêtre assez rapide pour que l'asservissement puisse se faire correctement.

Publié : 07 août 2006 18:05
par nico*
avec un petit dsPIC ca dervait être bon. Ils intègrent un encodeur de quadrature (1x, 2x ou 4x)
la page des dsPIC :
http://www.microchip.com/ParamChartSear ... &pageId=75
environ 1 sur 2 possède un encodeur hard, ce qui te laisse la possibilité d'utiliser le dsPIC comme µcontrôleur central.

Publié : 07 août 2006 21:03
par Zera
merci nico*, mais j'ai déjà regardé les dsPic, ils sont très biens, mais n'intègrent qu'un seul décodeur de quadrature en hard. Cela signifit qu'il me faudra en utiliser deux, et les interfacer pour asservire ... j'ai encore espoire de trouver plus simple, au fond de moi je me dis que 2 dsPic pour ça, c'est clairement les sous-exploiter ...

Solus en composant programmable

Publié : 23 sept. 2006 1:13
par Patgue
Pourquoi ne pas essayer une solution en composant programmable et vhdl par exemple.

P.G

Re: Solus en composant programmable

Publié : 23 sept. 2006 20:41
par Zera
Patgue a écrit :Pourquoi ne pas essayer une solution en composant programmable et vhdl par exemple.
Je m'y suis lancé depuis quelques temps, le problème étant le composant. Je pensep artir sur un Altera MAX 7000S 64, car il est compatible TTL 5V et disponible en PLCC44. Par contre, la structure interne est un peu limite (je ne peut que faire 4 décodeurs 10 bits :S)