Réaliser une interface pour 2 encodeurs optiques à 5E !

(difficulté: ** facile)


Pour pointer précisément un télescope, on peut compter les pas d'un moteur pas à pas mais la meilleure méthode est probablement de disposer un encodeur optique haute résolution directement monté sur chacun des axes à pointer: équateur et déclinaison sur une monture équatoriale.

Rappelons ici qu'un encodeur optique est un boîtier (souvent étanche) muni d'un axe sur lequel est monté un disque de verre muni de très fines graduations radiales. En tournant, les graduations passent devant des détecteurs optiques qui envoient des impulsions: 1 phase, ou 2 phases en quadrature pour déterminer le sens de rotation. Les meilleurs encodeurs optique dépassent 5000 traits/tour. En gérant les 2 phases sur les fronts montant et descendant, on atteint une résolution de 20000 impulsions/tour largement suffisante pour un télescope.

Ces encodeurs optique coûtent chers, de l'ordre de 3000 à 450F pièce. 2 solutions: On peut en fabriquer voir: Un encodeur optique haute résolution (mais la réalisation est délicate) ou en récupérer.

Souvent, on connecte ces 2 encodeurs à un PC. On trouve dans le commerce des interfaces pour cette connexion.

On peut aussi réaliser très facilement, à partir d'une souris de PC modifiée, une interface 2 axes haute résolution qui se connecte sur le port série: le coût est très faible, le matériel standard et la réalisation très simple.

Rappelons que dans une souris, une boule, en roulant, entraîne 2 axes montés à 90° sur lequel des petites roues perforées tournent devant un système optique, un peu comme l'encodeur.

On ouvre la souris, on ôte la boule et les roues perforées, en général on supprime les système optique et on les remplace par 4 optocoupleurs (4N25...) reliées aux sorties des encodeurs. Si on veut encore économiser (et qu'on n'utilise pas le dernier modèle de portable à 10 000E :-), on peut, comme sur les photos, utiliser uniquement 4 résistances pour la connexion.

Sur le prototype, nous avons rajouté 2 prises DIN à la souris pour connecter les encodeurs et un câble pour leur alimentation 12V.

Souris modifiée ouverte et les 2 encodeurs:

Souris modifiée ouverte en gros plan: on voit les 4 résistances au bout des fils reliés aux fiches DIN (à gauche) et la souris:

La souris montée reliée aux encodeurs:

Une souris de PC gère les encodeurs avec, en principe la résolution de l'écran: par exemple 640 x 480: de 0 à 639 et de 0 à 479 ce qui n'est pas suffisant.

En pratique, par des interruptions DOS, on peut pousser la résolution de souris jusqu'à 30000 x 30000: de 0 à 30000 et de 0 à 30000. Ce qui est suffisant, même avec 20000 impulsions/tour pour la déclinaison ou l'azimut: 0 à +- 120°

Voici un morceau de programme en C (de base) pour initialiser la souris:


#define MAXX 30000 /* curseur maxi*/
#define MAXY 30000
#define XDEF 15000
#define YDEF 0

void Souris(void)
{
inregs.x.ax=0; /*initialisation souris*/
int86(0x33,&inregs,&outregs);
if(outregs.h.al!=255)
{
printf("pas de souris détectée\n");
getch();
}

inregs.x.ax=7;
inregs.x.cx=0;
inregs.x.dx=MAXX;
int86(0x33,&inregs,&outregs);
inregs.x.ax=8;
inregs.x.cx=0;
inregs.x.dx=MAXY;
int86(0x33,&inregs,&outregs);

inregs.x.ax=4;
inregs.x.cx=XDEF; /* x depart */
inregs.x.dx=YDEF+(MAXY/2); /* y depart */
int86(0x33,&inregs,&outregs); /*interruption souris*/
}

Pour le site d'un télescope azimutal, on peut faire plusieurs fois le tour: il faut prévoir un offset que l'on rajoute à la position du curseur et que l'on modifie avant d'atteindre les butées du curseur.

Par exemple au départ, on choisit un offset de -15000, on positionne le curseur à 15000. Si on se rapproche des limites: par exemple on évolue autour de -10000, curseur à 5000: on remet le curseur à 15000 et l'offset à -25000. De même si on évolue autour de +10000, curseur à 25000: on remet le curseur à 15000 et l'offset à -5000. (On en profite pour retrancher ou ajouter 1 tour complet si nécessaire). Ainsi on peut faire faire une infinité de tours complets à la monture.

Une fois les encodeurs installés et opérationnels, plus besoin de compter les pas moteurs, de compenser les glissements... on peut monter n'importe quel type de moteur: moteur pas à pas, moteur à courant continu ou même pas de moteur du tout, on peut donner un coup de pied dans la monture (ce n'est pas recommandé): les encodeurs "suivent" et affichent toujours la "vraie" position...

L'encodeur équateur monté sur le T600:

La pièce en Omega en aluminium est mobile: elle est fixée sur le berceau équatorial de la monture. Elle entraîne l'axe de l'encodeur fixé sur une équerre en aluminium (fixe) vissée sur le pied Sud du télescope, du coté opposé au boîtier électrique de raccordement. L'angle de rotation est d'environ 200°.

Sur la déclinaison, c'est beaucoup plus simple: l'encodeur est monté directement en bout d'axe (percé auparavant) et fixé sur une équerre en alu.


SCIENCES POUR TOUS a écrit V14: un programme (en C sous MSDOS) qui permet d'afficher les coordonnées des encodeurs via l'interface et la prise COM1 utilisée en souris externe. Ce programme V14.EXE affiche (avec 3 niveaux de zoom) la portion de ciel correspondante avec 11000 étoiles, les planètes, les objets Messier... dont on peut, avec n'importe quel éditeur de texte modifier le nom ou la position.

NOTA1: du fait de l'utilisation de la souris, V14 ne peut pas fonctionner sous Windows

NOTA2: V14 peut fonctionner sur des machines très peu puissantes: 486...

NOTA3: sous MS-DOS, il faut supprimer les accélérations de souris (s'il y en a)

V14 contient un fichier "config" que l'on peut facilement adapter à la résolution des encodeurs utilisés avec un éditeur de texte standard.

Pour obtenir V14, écrivez-nous : pissavin@aol.com

V14 affiche (au choix): les 11000 étoiles les plus brillantes (selon le niveau de zoom), leurs noms, les constellations, les planètes, les objets Messier.. La position de la monture, l'heure...


Au 04/05, SCIENCES POUR TOUS vend (à un prix intéressant) :
2 codeurs incrémentaux Hohner neuf série rouge PA-02 2500 pas/t 1 PHASE avec la doc et les connecteurs pour les câbles:
- Codeur au standard industriel
- Connecteur 12 broches industriel (mâle et femelle)
- Axe d=12 mm l=25 mm
- LEDs de visu sur face arrière
- Étanchéité IP55
Avec la doc et les connecteurs.
Alimentation 11 à 30V, boîtier alu moulé étanche 85 x 100 x 75. (photos sur demande)

ATTENTION: ces codeurs optiques incrémentaux sont des codeurs 1 VOIE = 1 PHASE: le codeur ne permet pas la détermination du sens de rotation (à moins de les modifier).

Faire offre.


Des commentaire ? Ecrivez-nous :


http://spt06.chez.tiscali.fr/home.htm


Pour ceux qui ont une tablette ou un téléphone Android:  une application pour conseiller les bricoleurs... 

qui prodigue des conseils de santé, maison, bricolage, jardinage...
 
https://play.google.com/store/apps/details?id=b4a.onclehub_lite

https://play.google.com/store/apps/details?id=b4a.onclehub

Soutien scolaire

07/01/2016.