STEPMPI


STEPMPI est un service de commande de moteur pas à pas par impulsions. C'est à dire pour piloter des cartes de puissance de moteur pas à pas que l'industrie a définit depuis plusieurs années dans le domaine de la CNC (machines à commande numérique). En clair ces modules de puissances reçoivent 2 signaux : le sens de rotation et un signal de pulse qui fait tourner le moteur d'un pas ou d'un pouillème de pas. Donc la carte qui attaque les modules de puissance prends en charge les rampes d'accélération, et de freinage, les facteurs d'échelle et les calculs d'interpolation linéaire lorsque plusieurs moteurs tournent en même temps.

Les caractéristiques principales (features) de ce service sont:

  1. Le service communique par TCP/IP pour recevoir les ordres de mouvements et retourner un statut du service et du système.
  2. Il génére les deux signaux (sens de rotation et pas) pour 4 moteurs pas à pas
  3. Le service gère l'accélération et la décélération de chaque moteur.
  4. L'interpolation linéaire peut s'appliquer aux 4 moteurs simultanément.
  5. Le service commande aussi le relais disponible sur les cartes moteurs.

En résumé , on peut dire que ce service réalise les fonctions G0 et G1 du GCODE. 

Description du langage de communication (Fonctionalités de la "feature" 1).

Les 4 moteurs sont désignés par M1, M2, M3, M4.

Exemples de commandes et de cas d'erreurs :

Requete du client Réponse du serveur
SET; CMD KNOWN;
GET; CMD KNOWN;NO PARAM;
PBA; UNKNOWN COMMAND;
RESET;M2;M4; CMD KNOWN;RESET;
SET;RELAY=0; CMD KNOWN;PARAM_OK;
SET;RELAY=1; CMD KNOWN;PARAM_OK;
RESET;RELAY; CMD KNOWN;PARAM_OK;
SET;M1;NSTEPS=10000;SPEED1=10;SPEED2=10;ACCE=2;DECC=9;DIR=0; CMD KNOWN;PARAM_OK;
SET;GO=1; CMD KNOWN;PARAM_OK;
SET;TRACE=1; CMD KNOWN;PARAM_OK;
GET;VER; CMD KNOWN;NO PARAM;Service:stepmpi-V1.00-gerald.mauboussin@gmail.com;DATE RESET;

 

Performances

Globalement, on n'attends pas de grosses performances de ce service, car pour cela, il y a l'autre service "MotorStep". 

Le serveur TCP accepte au maximum 10 connexions par secondes.

L'intervalle de temps minimum entre 2 pas est de 100 microsecondes.

L'intervalle de temps maximum entre 2 pas est de 60 secondes.

 

 

Solution technique

Au niveau software, il faut encore utiliser les timers Posix.

Au niveau hardware, puisqu'un grand nombre de signaux sont exigés par secondes, il faut un bus rapide, c'est donc le bus SPI et la carte MG20160504. 

 

Interface utilisateur

Du fait que les messages de commandes passent sur protocole TCP, beaucoup de possibilités s'ouvrent : 

  • TerraTerm, 
  • Logiciel spécifique sur PC
  • Tablettes tactiles sous Android ou sous Windows 8. 

Et puisque ces IHM sont communes à tous les services du télescope, cela fait l'objet d'une page à part.

 

 

 

Contactez moi pour vos remarques ou les erreurs qui se seraient glissées dans cette page.

mailto:gerald.mauboussin@gmail.com

 

Retour au SOMMAIRE


Copyright 2015- 2016. Cet article ne peut être reproduit totalement ou partiellement sans le consentement de son auteur.

Page crée le 29.11.2015 - - - - -Dernière mise à jour 15.06.2016