Introduction Une
des caractéristiques annoncées du MCMTII est de 128 µpas par
pas pour l'entraînement des moteurs AD et DEC. La façon de procéder
n'étant pas évidente une analyse a été menée
à partir duschéma général, et de la documentation
des circuits intégrés concernés. 3
niveaux sont identifiés : 1. Définition de mots 8 bits et d'une
adresse pour définir l'amplitude du signal et sa destination, par le microcontrôleur 2.
Exploitation de ces mots par le MAX505 pour définir une valeur de référence
utilisée par les circuits de pilotage des moteurs 3. Un mot de 2 bits
transmis au circuit LMD18245 permet d'utiliser la totalité ou une fraction
de la valeur de référence pour définir le courant instantané
des moteurs.
|
Microcontrôleur PIC16F877 Ce
circuit prend en charge diverses données générées
soit manuellement par la raquette soit par l'intermédiaire de logiciels
.Il effectue également l'initialisation du MCMTII. A titre d'exemple
:à partir de la valeur du nombre de dents tous les éléments
qui ne sont pas des sources sont initialisés par le micro contrôleur
et suivant l'intervention faite sera mis en fonction, vitesse sidérale
,solaire, pointage lent ou rapide, recherche av ou ar .
|
Convertisseur
Digital-Analogique Programmable MAX505 Ce circuit permet
de mettre en mémoire des valeurs sous forme digitales dans 4 mémoires
8 bits. Ces valeurs servent à définir une tension de sortie qui
selon la valeur digitale sera de 1/256 à 255/256 d'une valeur de référence
(le 5v d'alimentation) |
Circuit
de Pilotage Moteurs LMD18245 Ces circuits 2 par moteur
fournissent un courant de valeur et sens définis par le microcontrôleur,
le convertisseur D-A, et le circuit lui même. |
Fonctionnement
des moteurs ECM268
Ce sont des moteurs pas à pas
de puissance : Les 50 dents du rotor sont en fait des aimants
permanents, suivant le sens du courant dans les bobines ils sont attirés
ou repoussés par le stator. Tous les 90°il y a des bobines identifiées
par A et A' et décalées de 45° des bobines identifiées
par B et B' en fait dans notre cas les bobines sont en // dans le sens convenable. Des
paires d'impulsions permettent de faire avancer la position du rotor d'un pas. Des
moyens électroniques permettent de calibrer ces impulsions en durée,
amplitude et fréquence de répétition On obtient dans ce
cas une rotation continue avec des vitesses allant d'une fraction de tour par
seconde à plusieurs tours par seconde : Du fait du rotor de 50 aimants
1 tour est réalisé en fournissant 200(50x4) impulsions doubles au
moteur et le pas est divisé en 128µpas, calculés sur 90° Si
l'on prend les extrêmes valeurs du tableau ci dessus on a Pour la correction
arrière 63,7 µpas/seconde soit 63,7/128 /200 =0,00248 Tour/seconde. Pour
le pointage rapide 40960 µpas/seconde soit 40960/128/200=1,6 Tour/seconde. Tout
ceci étant produit par une chaîne de 3 éléments distincts,
nous commençons par le dernier.
| |
Pilotage
Moteurs LMD18245 Les différentes fonctions sont indiquées
sur ce tracé : 1. Le pont de MOS servant à faire circuler le
courant dans les bobines des moteurs sens et valeur et une copie du courant passant
dans les moteurs. 2. Le dispositif d'ajustement de la valeur de référence 3.
Un comparateur pour déclencher le monostable de sécurité 4.
Un circuit de contrôle servant à exciter le pont de MOS, une sécurité
thermique, tension minimum et surintensité.
Si
on regarde les entrées et sorties du circuit 1. Vers bobine moteur 2.
non connecté (peut éventuellement alimenter une led indiquant un
dépassement de courant) 3. résistance et condensateur donnant
la constante de temps du monostable 4. Bit4 MSB du mot de réglage %
(Origine Microcontrôleur) 5. Masse de puissance 6. Bit3 du mot de
réglage %(Origine Microcontrôleur) 7. Bit2 du mot de réglage
% Réuni au + 5v 8. Bit1 du mot de réglage % Réuni au +5v 9.
Alimentation du circuit (12v) 10. Brake (Réuni à la masse) 11.
Direction changement du sens de passage du courant dans les bobines moteur (Origine
microcontrôleur) 12. Masse 13. Réglage du courant maximum autorisé 14.
Entrée de la valeur de référence (issue du MAX505) 15.
vers bobine moteur
Sur la sortie 3 la valeur des éléments
donne une constante de temps de 20000 x 2,2 x 10-9 x 1,1 soit 4,84x10-5 Seconde
ou 48,4µS ceci dans un but de protection du matériel. |
Sur
la sortie 13, suivant le type de moteur on doit régler la valeur de la
résistance entre la sortie et la masse aux valeurs suivantes : moteurs
1 A : 20 k moteurs 2A : 9.8 k moteurs 3A : 6 k La tension trouvée
sur cette sortie est une image du courant passant dans les moteurs. Un rapport
de 4000 existe entre le courant passant dans la bobine et celui de la sortie 13.
Si on a 1A dans la bobine le courant sera de 250µA en sortie 13. En
prenant les moteurs de 2A on aura 500µA . Qui nous donnerons 9800 x 0,0005
= 4,9V. On voit que l'on est très près de la valeur de référence
5v En supposant que la référence soit réglée à
2,5 ceci donne comme valeur 2,5 / 9800 soit 255µA soit un peu plus de 1A
dans les bobines le monostable est alors déclenché et coupe le courant
pendant 48µS du fait de l'énergie emmagasinée dans l'enroulement
; le courant décroît pendant ces 48µS. Si au bout de ce temps,
la tension aux bornes de la résistance est passée en dessous de
la référence le courant est rétabli. | |
On
a donc une régulation du courant moteur autour d'un point de consigne. Celui
ci est défini par la valeur entrant dans la broche 14 corrigé par
le pourcentage défini par les entrées M1-> Pin 8-> + 5V->
1 logique M2-> Pin 7-> +5V -> 1 logique M3-> Pin 6-> Programmable
par microcontrôleur 0 ou 1 logique M4-> Pin 4-> Programmable par
microcontrôleur 0 ou 1 logique Le niveau de référence en
sortie du convertisseur digital analogique repère 2 sont égaux a
Vref x N/16 N étant la valeur numérique correspondant aux entrées
M1 à M4. Les valeurs numériques N possibles sont : 3 ----18,5% 7
---- 43,5% 11---68,5% 15---93,5% Pour de plus amples informations consulter
la fiche technique
du circuit.
|
Convertisseur
Digital Analogique MAX 505 |
Ce
circuit permet de stocker les informations Digitales des lignes D0 à D7
dans 4 registres adressables Qui peuvent ensuite être activés
simultanément ou individuellement. Dans notre application seuls 2 registres
sont utilisés Les pins 1, 2, 24, 23 correspondent aux sortie des références
seuls 1 et 2 sont utilisés Les pins 3 (vss), 6 (AGND), 7 (DGND),18 (A1)
sont réunis à la masse. Les pins 4 (VrefB) , 5(VrefA) sont réunis
au +5V Les pin 8 (LDAC), 17 (WR),19(A0) Sont connectées au microcontrôleur Les
pins 9 à 16 Données digitales sont connectées au port D du
microcontrôleur Les pins 20 (VrefD), 21 (VrefC), 22 (vdd) sont réunis
au + 5V Le tableau ci dessus nous donne les valeurs à appliquer sur
les lignes LDAC, WR, A1, A0 pour obtenir le résultat voulu : on doit rentrer
successivement les données de A mot 1000, puis celles de B mot 1001 puis
transférer les données vers les latch DAC mot 11XX et enfin activer
simultanément les sorties A et B mot 01XX . Toutes ces commandes et la
définition des valeurs sont effectuées par le microcontrôleur
et sont fonctions des demandes extérieures Si dans la progression on
suit une loi en sinus pour les enroulements A en cosinus pour les enroulements
B, en utilisant la commande direction on peut avoir un entraînement sans
à coup visible au niveau des moteurs. C'est juste une affaire de programmation
du microcontrôleur.
Exemple pour des µpas de 22°5 :
|
Microcontrôleur
PIC16F877 Pour piloter les deux moteurs AR et DEC il y a 2 microcontrôleurs
qui ont chacun une adresse La ligne de réception RS232 est commune aux
deux microcontrôleurs, par contre, à l'aide d'un circuit de partage
chaque microcontrôleur peut prendre la ligne émission. Ce ne sont
pas les micros contrôleurs qui sont pilotes. Lors de la réception
d'un message, dans les signaux émis par le PC il y a une information pour
indiquer quel microcontrôleur est concerné et s'il y a une réponse
à donner ce circuit active la ligne émission du RS 232 . Chaque
microcontrôleur reçoit de l'extérieur des informations le
concernant : Raquette, PEC, ST4, Ligne RS232 . Toute action est immédiatement
répercutée sur le moteur concerné pour action. Seul le
source de pilotage des microcontrôleurs peut renseigner sur ce qui est réellement
fait Ce document n'a pas la prétention d'être une notice mais
simplement une explication des procédures telles que l'on peut les déduire
des schémas et caractéristiques des circuits utilisés. La
raison pour laquelle on utilise 75% pour le suivi et 100% dans le cas des positionnements
est que les durées des impulsions, si la découpe en 128µpas
est conservée, sont de : Suivi
..1/85,6=11,6
mS Positionnement lent
..1/2048=0,48mS Positionnement rapide
1/40960=0,024mS Si
l'on se réfère aux caractéristiques des moteurs dans nos
conditions d'utilisation nous avons les éléments suivants : Les
éléments résistance et inductance introduisent un retard
lors de l'établissement du courant dans les bobinages des moteurs dont
on peut calculer la valeur en fonction du temps. Il faut également tenir
compte de la résistance présentée par les deux MOS , soit
0,6 ohm. La constante de temps est définie par T=L/R soit 3,6/1,8=2mS.
Pour
une impulsion : Du fait du découpage en 128 pas sur 90° les valeurs
de courant à obtenir sur chaque pas sont compatibles avec cette courbe.
Par contre comme il y a une inertie importante à vaincre à chaque
démarrage cela se sent par quelques ratés, et c'est également
la raison de l'utilisation des 100% de puissance pour les positionnements lents
et rapides.
|
|