STEPMOTOR est un service de commande de moteurs pas à pas spécifiquement adapté aux cartes de puissance ST EVAL6480H. Donc la carte qui commande les modules de puissance gère les facteurs d'échelle mais ne s'occupe pas de l'interpolation linéaire puisque les cartes EVAL possèdent leur propre horloge.
Les caractéristiques principales (features) de ce service sont:
Une grande partie des commandes sont des paramètres de configuration que le service transfert à chacune des cartes EVAL.
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; |
SET;M1;RUN=1; | CMD KNOWN;PARAM OK; |
SET;M1;MOVE=1; | CMD KNOWN;PARAM OK; |
SET;M1;GOTO=1; | CMD KNOWN;PARAM OK; |
SET;M1;GOTO_DIR=1; | CMD KNOWN;PARAM OK; |
SET;M1;GO_UNTIL=1; | CMD KNOWN;PARAM OK; |
SET;M1;RELEASESW=1; | CMD KNOWN;PARAM OK; |
SET;M1;GOHOME=1; | CMD KNOWN;PARAM OK; |
SET;M1;GOMARK=1; | CMD KNOWN;PARAM OK; |
SET;M1;RESET_POS=1; | CMD KNOWN;PARAM OK; |
SET;M1;RESET_DEVICE=1; | CMD KNOWN;PARAM OK; |
SET;M1;SOFTSTOP=1; | CMD KNOWN;PARAM OK; |
SET;M1;HARDSTOP=1; | CMD KNOWN;PARAM OK; |
SET;M1;SOFTHIZ=1; | CMD KNOWN;PARAM OK; |
SET;M1;HARDHIZ=1; | CMD KNOWN;PARAM OK; |
SET;M1;GET_STATUS=1; | CMD KNOWN;PARAM OK; |
SET;M1;SCALE_POS=1; | CMD KNOWN;PARAM OK; |
SET;M1;SCALE_SPEED=1; | CMD KNOWN;PARAM OK; |
SET;M1;SCALE_ACC=1; | CMD KNOWN;PARAM OK; |
Second niveau de langage | Paramètres et configuration. |
SET;M1;ABS_POS | CMD KNOWN;PARAM OK; |
GET;M1;EL_POS; | CMD KNOWN;PARAM OK; |
SET;M1;MARK | CMD KNOWN;PARAM OK; |
SET;M1;SPEED | CMD KNOWN;PARAM OK; |
SET;M1;ACC | CMD KNOWN;PARAM OK; |
SET;M1;DEC | CMD KNOWN;PARAM OK; |
SET;M1;MAX_SPEED | CMD KNOWN;PARAM OK; |
SET;M1;MIN_SPEED | CMD KNOWN;PARAM OK; |
SET;M1;KVAL_HOLD | CMD KNOWN;PARAM OK; |
SET;M1;KVAL_RUN | CMD KNOWN;PARAM OK; |
SET;M1;KVAL_ACC | CMD KNOWN;PARAM OK; |
SET;M1;KVAL_DEC | CMD KNOWN;PARAM OK; |
SET;M1;INT_SPEED | CMD KNOWN;PARAM OK; |
SET;M1;ST_SLP | CMD KNOWN;PARAM OK; |
SET;M1;FN_SLP_ACC | CMD KNOWN;PARAM OK; |
SET;M1;FN_SLP_DEC | CMD KNOWN;PARAM OK; |
SET;M1;K_THERM | CMD KNOWN;PARAM OK; |
SET;M1;ADC_OUT | CMD KNOWN;PARAM OK; |
SET;M1;OCD_TH | CMD KNOWN;PARAM OK; |
SET;M1;STALL_THSTALL | CMD KNOWN;PARAM OK; |
SET;M1;FS_SPD | CMD KNOWN;PARAM OK; |
SET;M1;STEP_MODE | CMD KNOWN;PARAM OK; |
SET;M1;ALARM_EN | CMD KNOWN;PARAM OK; |
SET;M1;GATECFG1 | CMD KNOWN;PARAM OK; |
SET;M1;GATECFG2 | CMD KNOWN;PARAM OK; |
SET;M1;CONFIG | CMD KNOWN;PARAM OK; |
SET;M1;STATUS | CMD KNOWN;PARAM OK; |
SET;TRACE=1; | CMD KNOWN;PARAM OK; |
GET;VER; | CMD KNOWN;NO PARAM;Service:stepmotor-V1.00-gerald.mauboussin@gmail.com; |
A propos de l'usage des majuscules... Deux Ecoles :
( Je ne suis ni pour, ni contre ! Bien au contraire ! ... :-)
Le serveur TCP accepte au maximum 10 connexions par secondes.
Le fait que les cartes EVAL prennent en charge vitesse, accélération, dégage completement le système de communication, de toute contrainte forte temps réel.
Par contre les entrées codeurs et fins de courses, doivent être traitées sous interruptions.
Raspberry PI 2 + carte de connecteur MG20160502
Cartes EVAL connectée sur le bus SPI + alimentation 24Vcc 15A.
Logiciel en C sous Raspbian. Reprise du squelète de programme du service GPIODA.
Du fait que les messages de commandes passent sur protocole TCP, beaucoup de possibilités s'ouvrent :
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
Copyright 2015- 2016. Cet article ne peut être reproduit totalement ou partiellement sans le consentement de son auteur.