Télescope:Interfaçage USB-EQ6 Direct Interface

De WIKI.minetti.org
Aller à : navigation, rechercher

Identifiants des moteurs

motorId Signification m
0 Moteur de l'axe ascension droite (RA). 1
1 Moteur de l'axe déclinaison (DEC). 2

Etats des moteurs

motorStatus Signification ijk

(hexadécimal)

200 Bobines des moteurs non initialisées. 0010
128 Motor not rotating, Gear Teeth at front contact. 1010
144 Motor rotating, Gear Teeth at front contact. 1001
160 Motor not rotating, Gear Teeth at rear contact. 1030
176 Motor rotating, Gear Teeth at rear contact. 1021

Hémisphères et directions

hemisphere Signification direction Signification n
0 Hémisphère nord. 0 Avance (+). 0
1 Recule (-). 1
1 Hémisphère sud. 0 Avance (+). 2
1 Recule (-). 3

Vitesse de suivi

trackRate Signification eeffgg
0 Suivi sidéral. 620
1 Suivi lunaire. 643
2 Suivi solaire. 621

Fonctions de connexion à la monture

Fonction Signification Commandes Réponses
EQ_Init
  • Etablissement de la connexion à la monture EQ via le port COM.
  • Obtention des caractéristiques de la monture:
    • aabb.cc: Version du firmware.
    • ddeeff: Nombre total de pas nécessaires à chaque moteur RA/DEC pour accomplir une révolution de 360°.

Paramètres:

  • port: Nom du port COM (ex: COM4).
  • baud: Vitesse de transmission des données vers la monture EQ en baud (en principe 9 600 bauds).
  • timeout: Délais de transmission des données vers la monture EQ en millisecondes (1 à 50000).
  • retry: Nombre de tentatives de transmission des données vers la monture EQ (0 à 100).


Retour:

  • 000: Succès.
  • 001: Port COM non disponible (le nom du port COM n'est pas correct).
  • 002: Port COM déjà ouvert.
  • 003: Erreur de timeout (en général, la monture est éteinte).
  • 005: Monture initialisé en utilisation des paramètres non standard.
  • 010: Impossible d'exécuter la commande avec l'état en cours du contrôleur pas à pas (si une commande a retournée une erreur).
  • 999: Paramètre invalide.
:e1
:e1
:a1
:a2
:b1
:b2
:g1
:g2
= cc bb aa
= cc bb aa
= ff ee dd
= ff ee dd
=A7FD00
=A7FD00
=10
=10
EQ_GetMountVersion Retourne la version du firmware de la monture obtenue lors de l'appel à EQ_Init (ex: 6.1).

Retour:
  • aabb cc: Valeur hexadécimale du numéro de version (aabb) et de sous-version (cc).
  • 0x1000000: Monture non disponible (la connexion n'a pas été établie).
EQ_GetTotal360microstep Retourne le nombre total de pas nécessaires à un moteur (RA ou DEC) pour accomplir une révolution de 360°, obtenue lors de l'appel à EQ_Init. Pour une monture Orion Atlas EQ-G on obtient 9 024 000 pas, ce qui fait une résolution de 0,144 seconde d'arc par pas.

Paramètre:
  • motorId: Identifiant du moteur.


Retour:

  • ddeeff: Valeur hexadécimale du nombre de pas (3 octets).
  • 0x1000000: Monture non disponible (la connexion n'a pas été établie).
  • 0x3000000: Paramètre invalide.
EQ_End Fermeture de la connexion à la monture EQ.

Retour:
  • 000: Succès.
  • 001: Port COM non disponible.
EQ_GetMountStatus Retourne l'état de la connexion à la monture EQ.

Retour:
  • 0: Non connecté.
  • 1: Connecté.

Fonctions de contrôle des encodeurs

Fonction Signification Commandes Réponses
EQ_InitMotors
  • Vérification que les moteurs RA/DEC ne sont pas en cours de fonctionnement (ijk ≠ 1001 et 1021). Si c'est le cas, une erreur 006 ou 007 est déclenchée.
  • Affectation d'une valeur pour chaque encodeur des moteurs RA/DEC sur leur position initiale.
  • Activation des bobines des moteurs RA/DEC (blocage des moteurs).


Paramètres:

  • xxyyzz: Valeur hexadécimale de l'encodeur du moteur RA (3 octets).
  • rrsstt: Valeur hexadécimale de l'encodeur du moteur DEC (3 octets).


Retour:

  • 000: Succès.
  • 001: Port COM non disponible.
  • 003: Erreur de timeout.
  • 006: Moteur RA en cours de fonctionnement.
  • 007: Moteur DEC en cours de fonctionnement.
  • 008: Erreur lors de l'initialisation du moteur RA.
  • 009: Erreur lors de l'initialisation du moteur DEC.
  • 010: Impossible d'exécuter la commande avec l'état en cours du contrôleur pas à pas (si une commande a retournée une erreur).
:f1
:f2
:E1 zz yy xx
:E2 tt ss rr
:j1
:j2
:F1
:F2
= jk i
= jk i
=
=
= zz yy xx
= tt ss rr
=
=
EQ_GetMotorStatus Retourne l'état des moteurs.

Paramètre:
  • motorId: Identifiant du moteur.


Retour:

  • motorStatus: Etat des moteurs.
  • 001: Port COM non disponible.
  • 003: Erreur de timeout.
  • 999: Paramètre invalide.
:f m = jk i
EQ_GetMotorValues Retourne la valeur hexadécimale de l'encodeur d'un moteur (RA ou DEC).

Paramètre:
  • motorId: Identifiant du moteur.


Retour:

  • xxyyzz: Valeur hexadécimale de l'encodeur du moteur (3 octets).
  • 0x1000000: Monture non disponible.
  • 0x1000005: Erreur de timeout.
  • 0x10000FF: Réponse illégale de la monture.
  • 0x3000000: Paramètre invalide.
:j m = zz yy xx
EQ_SetMotorValues Change la valeur hexadécimale de l'encodeur d'un moteur (RA ou DEC). Cela revient à affecter une valeur à la position actuelle du moteur.

Paramètres:
  • motorId: Identifiant du moteur.
  • xxyyzz: Nouvelle valeur hexadécimale de l'encodeur du moteur (3 octets).


Retour:

  • 000: Succès.
  • 001: Port COM non disponible.
  • 003: Erreur de timeout.
  • 010: Impossible d'exécuter la commande avec l'état en cours du contrôleur pas à pas (si une commande a retournée une erreur).
  • 011: Moteur non initialisé.
  • 999: Paramètre invalide.
:E m zz yy xx =

Fonctions de positionnement

Fonction Signification Commandes Réponses
EQ_StartMoveMotor
  • Vérification que le moteur (RA ou DEC) a été initialisé (ijk ≠ 0010) et qu'il ne soit pas en cours de fonctionnement (ijk ≠ 1001 et 1021). Si c'est le cas, une erreur 011 ou 004 est déclenchée.
  • Positionne le moteur (RA ou DEC) à une nouvelle position.


Paramètres:

  • motorId: Identifiant du moteur.
  • hemisphere: Hémisphère (détermine n).
  • direction: Direction (détermine n).
  • xxyyzz: Valeur hexadécimale du déplacement en nombre de pas (3 octets).
  • rrsstt: Point de désaccélération du moteur (situé entre 50% et 90% de la valeur de déplacement).


Retour:

  • 000: Succès.
  • 001: Port COM non disponible.
  • 003: Erreur de timeout.
  • 004: Moteur occupé.
  • 010: Impossible d'exécuter la commande avec l'état en cours du contrôleur pas à pas (si une commande a retournée une erreur).
  • 011: Moteur non initialisé.
  • 999: Paramètre invalide.
:f m
:K m
:G m 0 n
:H m zz yy xx
:M m tt ss rr
:J m
= jk i
=
=
=
=
=
EQ_Slew
  • Vérification que le moteur (RA ou DEC) a été initialisé (ijk ≠ 0010) et qu'il ne soit pas en cours de fonctionnement (ijk ≠ 1001 et 1021). Si c'est le cas, une erreur 011 ou 004 est déclenchée.
  • Change la position du moteur (RA ou DEC) en jouant sur sa vitesse de déplacement.


Paramètres:

  • motorId: Identifiant du moteur.
  • hemisphere: Hémisphère (détermine n).
  • direction: Direction (détermine n).
  • xxyyzz: Vitesse de déplacement par rapport à la vitesse sidéral (1x à 800x).


Retour:

  • 000: Succès.
  • 001: Port COM non disponible.
  • 003: Erreur de timeout.
  • 004: Moteur occupé.
  • 010: Impossible d'exécuter la commande avec l'état en cours du contrôleur pas à pas (si une commande a retournée une erreur).
  • 011: Moteur non initialisé.
  • 999: Paramètre invalide.
:f m
:K m
:G m 3 n
:I m zz yy xx
:J m
= jk i
=
=
=
=
EQ_MotorStop Arrêt d'un moteur (RA ou DEC).

Paramètre:
  • motorId: Identifiant du moteur.


Retour:

  • 000: Succès.
  • 001: Port COM non disponible.
  • 003: Erreur de timeout.
  • 010: Impossible d'exécuter la commande avec l'état en cours du contrôleur pas à pas (si une commande a retournée une erreur).
  • 011: Moteur non initialisé.
  • 999: Paramètre invalide.
:K m =

Fonctions de guidage et PEC

Fonction Signification Commandes Réponses
EQ_StartRATrack Active le suivi sidéral, lunaire ou solaire du moteur RA.

Paramètres:
  • trackRate: Vitesse de suivi (détermine eeffgg).
  • hemisphere: Hémisphère (détermine n).
  • direction: Direction (détermine n).


Retour:

  • 000: Succès.
  • 001: Port COM non disponible.
  • 003: Erreur de timeout.
  • 010: Impossible d'exécuter la commande avec l'état en cours du contrôleur pas à pas (si une commande a retournée une erreur).
  • 011: Moteur non initialisé (si la dernière commande a retournée une erreur 4).
  • 999: Paramètre invalide.
:K1
:G1 1 n
:I1 gg ff ee
:J1
=
=
=
=
EQ_SendCustomTrackRate Active un suivi personnalisé sur un moteur (RA ou DEC).

Paramètres:
  • motorId: Identifiant du moteur.
  • trackRate: Vitesse de suivi (détermine eeffgg).
  • trackOffset: Décalage de la vitesse par rapport au trackRate (0 à 300).
  • trackDir: Sens du décalage.
    • 00 - Positif (EEFFGG = eeffgg - trackOffset).
    • 01 - Négatif (EEFFGG = eeffgg + trackOffset).
  • hemisphere: Hémisphère (détermine n).
  • direction: Direction (détermine n).


Retour:

  • 000: Succès.
  • 001: Port COM non disponible.
  • 003: Erreur de timeout.
  • 004: Moteur occupé.
  • 010: Impossible d'exécuter la commande avec l'état en cours du contrôleur pas à pas (si une commande a retournée une erreur).
  • 011: Moteur non initialisé (si la dernière commande a retournée une erreur 4).
  • 999: Paramètre invalide.
:K m
:G m 1 n
:I m GG FF EE
:J1
=
=
=
=
EQ_SendGuideRate Active un suivi personnalisé sur le moteur RA.

Paramètres:
  • motorId = 0.
  • trackRate: Vitesse de suivi (détermine eeffgg).
  • guideRate:
    • 0 - Pas de changement (0 %).
    • 1 - 10 %.
    • 2 - 20 %.
    • 3 - 30 %.
    • 4 - 40 %.
    • 5 - 50 %.
    • 6 - 60 %.
    • 7 - 70 %.
    • 8 - 80 %.
    • 9 - 90 %.
  • guideDir:
    • 00 - Positif (EEFFGG = eeffgg / (1 + guideRate) avec un arrondi à l'entier inférieur).
    • 01 - Négatif (EEFFGG = eeffgg / (1 - guideRate) avec un arrondi à l'entier inférieur).
  • hemisphere: Non utilisé.
  • direction: Non utilisé.


Retour:

  • 000: Succès.
  • 001: Port COM non disponible.
  • 003: Erreur de timeout.
  • 004: Moteur occupé.
  • 010: Impossible d'exécuter la commande avec l'état en cours du contrôleur pas à pas (si la commande a retournée une erreur 2).
  • 011: Moteur non initialisé (si la commande a retournée une erreur 4).
  • 999: Paramètre invalide.
:I1 GG FF EE =
Active un suivi personnalisé sur le moteur DEC.

Paramètres:
  • motorId = 1.
  • trackRate: Vitesse de suivi (détermine eeffgg).
  • guideRate:
    • 0 - Pas de changement (100 %).
    • 1 - 10 %.
    • 2 - 20 %.
    • 3 - 30 %.
    • 4 - 40 %.
    • 5 - 50 %.
    • 6 - 60 %.
    • 7 - 70 %.
    • 8 - 80 %.
    • 9 - 90 %.
  • guideDir:
    • 00 - Positif (n = 0, EEFFGG = eeffgg / guideRate avec un arrondi à l'entier inférieur).
    • 01 - Négatif (n = 1, EEFFGG = eeffgg / guideRate avec un arrondi à l'entier inférieur).
  • hemisphere: Hémisphère (détermine n).
  • direction: Direction (détermine n).


Retour:

  • 000: Succès.
  • 001: Port COM non disponible.
  • 003: Erreur de timeout.
  • 004: Moteur occupé.
  • 010: Impossible d'exécuter la commande avec l'état en cours du contrôleur pas à pas (si une commande a retournée une erreur).
  • 011: Moteur non initialisé (si la dernière commande a retournée une erreur 4).
  • 999: Paramètre invalide.
:K2
:G2 1 n
:I2 GG FF EE
:J2
=
=
=
=
EQ_SetAutoguiderPortRate Régle la vitesse de guidage du port d'autoguidage pour un moteur (RA ou DEC).

Paramètres:
  • motorId: Identifiant du moteur.
  • guidePortRate:
    • 00 - 0,25x (p = 3).
    • 01 - 0,50x (p = 2).
    • 02 - 0.75x (p = 1).
    • 03 - 1.00x (p = 0).


Retour:

  • 000: Succès.
  • 001: Port COM non disponible.
  • 003: Erreur de timeout.
  • 999: Paramètre invalide.
:P m p =

Commandes périphérique

Commande Fonction Paramètre Retour
:F m Initialise un moteur. Aucun. Aucun.
:e m Retourne la version du firmware du contrôleur d'un moteur sous la forme:
  • aabb: version (exemple: 6),
  • cc: sous-version (exemple: 1).
Aucun. = cc bb aa
:a m Retourne ddeeff, le nombre total de pas nécessaires à un moteur pour accomplir une révolution de 360° (exemple: 9 024 000 pas pour un Orion Atlas). Aucun. = ff ee dd
:b m Retourne ddeeff, la fréquence d'interruption du timer (exemple: 64 935 pour un Orion Atlas). Aucun. = ff ee dd
:g m Retourne ff, le taux de la haute vitesse (exemple: 16 pour un Orion Atlas). Aucun. = ff



:D m Retourne ddeeff, le taux de la vitesse sidérale (exemple: ?? pour un Orion Atlas). Aucun. = ff ee dd


:s m InquirePECPeriod: Inquire PEC Period. Aucun. Encoded String.
:L m AxisStop (Instant Stop): Stop the target axis instantly. Aucun. Aucun.
:K m AxisStop (Not Instant stop): Stop the target axis normally. Aucun. Aucun.
:E m zz yy xx SetAxisPosition: Set the target axis position to the specify value. xxyyzz: Valeur hexadécimale de la position du moteur. Aucun.
:j m GetAxisPosition: Get the target axis position. Aucun. Valeur hexadécimale (3 octets) de la position du moteur.
:f m GetAxisStatus: Get the target axis's status. Aucun. Etat du moteur (12 bits).
:O m x SetSwitch: Turn On/Off of the trigger. x: turn off (0) or turn on (1) Aucun.
:G m s d CmdSetDirection s: SpeedSlew (0) ou SpeedTrack (1).

d: negative (0) ou positive (1).

Aucun.
:G m x SetMotionMode: Set the different motion mode. x:

0 high speed GOTO slewing,
1 low speed slewing mode,
2 low speed GOTO mode,
3 High slewing mode

Aucun.
:H m zz yy xx SetGotoTargetIncrement: Set the goto target increment. xxyyzz: Valeur hexadécimale ? Aucun.
:M m zz yy xx SetBreakPointIncrement: Set the break point increment. xxyyzz: Valeur hexadécimale ? Aucun.
:U m zz yy xx SetBreakSteps: Set the Break Steps. xxyyzz: Valeur hexadécimale ? Aucun.
:I m zz yy xx SetStepPeriod: Set the step counts. xxyyzz: Valeur hexadécimale ? Aucun.
:J m StartMotion: Start motion based on previous settings. Aucun. Aucun.
:B m x CmdActivate x: Activer et démarrer (0) ou désactivation (1) ? Aucun.
:P m p SetAutoGuideRate p: 1,00x (0), 0,75x (1), 0,50x (2) ou 0.25x (3). Aucun.

Chaque commande doit être terminée par le caractère retour chariot (code ASCII = 0x0D).

Réponses périphérique

Réponse Signification Résultat
= Retour d'une commande sans résultat.
= aa Retour d'une commande avec résultat sous forme hexadécimale sur 1 octet (0 à 255). 0x aa
= cc bb aa Retour d'une commande avec résultat sous forme hexadécimale sur 3 octet (0 à 16 777 215). 0x aa bb cc
!2 Erreur: Moteur en cours de fonctionnement.
!4 Erreur: Moteur non initialisé.

Chaque réponse est terminée par le caractère retour chariot (code ASCII = 0x0D).

Liens externes