Codeurs incrémentaux : acquisition

Electronique numérique / Circuits logiques programmables EPLD, CPLD, FPGA d'Altera ou de Xilinx VHDL, Verilog ou SystemC

Modérateur : Modérateur

Avatar de l’utilisateur
Zera
REGULIER
REGULIER
Messages : 132
Inscription : 18 avr. 2006 14:03
Localisation : France - Alsace
Contact :

Codeurs incrémentaux : acquisition

Message 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 ?
Avatar de l’utilisateur
vincevg
ACCRO
ACCRO
Messages : 803
Inscription : 05 mars 2005 16:58
Localisation : SMalville
Contact :

Message 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.
Vince
http://anyedit.free.fr/
http://electropol.free.fr/

Les amis, ça va, ça vient, mais les ennemis, ça s’accumule.
Avatar de l’utilisateur
Zera
REGULIER
REGULIER
Messages : 132
Inscription : 18 avr. 2006 14:03
Localisation : France - Alsace
Contact :

Message 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.
nico*
REGULIER
REGULIER
Messages : 109
Inscription : 23 avr. 2006 22:17

Message 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.
Avatar de l’utilisateur
Zera
REGULIER
REGULIER
Messages : 132
Inscription : 18 avr. 2006 14:03
Localisation : France - Alsace
Contact :

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

Solus en composant programmable

Message par Patgue »

Pourquoi ne pas essayer une solution en composant programmable et vhdl par exemple.

P.G
Avatar de l’utilisateur
Zera
REGULIER
REGULIER
Messages : 132
Inscription : 18 avr. 2006 14:03
Localisation : France - Alsace
Contact :

Re: Solus en composant programmable

Message 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)
Répondre