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 ?
Codeurs incrémentaux : acquisition
Modérateur : Modérateur
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.
http://anyedit.free.fr/
http://electropol.free.fr/
Les amis, ça va, ça vient, mais les ennemis, ça s’accumule.
- Zera
- REGULIER
- Messages : 132
- Inscription : 18 avr. 2006 14:03
- Localisation : France - Alsace
- Contact :
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.
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.
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.
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.
- Zera
- REGULIER
- Messages : 132
- Inscription : 18 avr. 2006 14:03
- Localisation : France - Alsace
- Contact :
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
Pourquoi ne pas essayer une solution en composant programmable et vhdl par exemple.
P.G
P.G
- Zera
- REGULIER
- Messages : 132
- Inscription : 18 avr. 2006 14:03
- Localisation : France - Alsace
- Contact :
Re: Solus en composant programmable
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)Patgue a écrit :Pourquoi ne pas essayer une solution en composant programmable et vhdl par exemple.