Salut Greg
Le retraité
s'est remis en route
Voilà un « premier jet » du programme.
Le but est d’enregistrer une valeur de déplacement (POSMM+ ou POSPAS+) et de répéter ce déplacement, à chaque pression d’un bouton poussoir (BP) GO ou d'une commande GO. Au début d'un déplacement GO, la sortie
mesureStartPin est désactivée, à la fin du déplacement, elle est activée.
Il y a aussi un BP RAZ qui indique au programme que la position actuelle est la position de départ (0) et un BP HOME qui repositionne le système au départ.
Ces 3 boutons sont « doublés » de commandes, définies plus loin.
Ce système peut entièrement se piloter depuis un PC, via la console de l’IDE Arduino ou par n’importe quel émulateur de terminal comme
Terminal , le tout à 115 200. Il serait même possible, avec l’adjonction d’une interface Bluetooth, de commander ce système avec un smartphone.
Tout les paramètres nécessaires au fonctionnement, sont sauvés en mémoire EEPROM et restitués à chaque redémarrage du programme, exception faite de 2 paramètres :
Les commandes envoyées doivent se terminer par un caractère
nouvelle ligne (
nl ou ascii 10 ou \n)
Si la commande nécessite des paramètres, la syntaxe est :
PosMM+=2.3
Les commandes ne sont pas sensibles majuscule/minuscule.
Voici la liste des commandes : (Commande ?)
Les commandes débutant avec un $ sont des modifications de paramètres de fonctionnement, tous sauvés en mémoire EEEPROM (Permanente).
---------------------------------------------------------
Liste des commandes vers. 0.1
---------------------------------------------------------
? Lister les commandes
RAZ ou BP RAZ, Position de départ (0)
HOME ou BP HOME, retour au départ
GO ou BP GO, déplacement défini par les commandes POSMM+ ou POSPAS+
POSMM Aller à la position nnn Millimètres
POSMM+ Valeur de déplacement en Millimètres pour la commande GO
POSPAS Aller à la position nnn pas
POSPAS+ Valeur de déplacement en pas pour la commande GO
$MPAPON Activer ou désactiver le MPAP (mode essais à vide) (1 ou 0)
$MPAPMICROSPAS Micros pas du MPAP (1, 2, 4, 8, 16, 32) nécessite un redémarrage
$MPAPRPM Vitesse du MPAP en tours/minute
$VABMMPAS Nombre de MM par pas de la VAB
$VABLONGMM Longueur de la VAB en MM
$FACTORYSET Mise aux valeurs par défaut du programme.
A chaque commande avec paramètre, si nécessaire, ce paramètre sera sauvé en EEPROM et les paramètres mis à jour et affichés.
---------------------------------------------------------
Liste des Parametres
---------------------------------------------------------
MPAP actif = NON
MPAP pas/tour = 200
$MPAPMICROSPAS = 1
$MPAPRPM = 150
MPAPmm10000pas = 100.00
MPAPpasMax = 30000
POSMM+ = 2.00
$VABMMPAS = 2.00
$VABLONGMM = 300.00
Les paramètres ci-dessus, sont ceux définis par la commande $FACTORYSET.
Les 3 BP sont connectés ainsi :
dans l’ordre RAZ, HOME et GO
const int btnPin[] = {9, 10, 11};
Tout ces BP sont définis en entrée PULL_UP, donc actifs à 0
#define btnEtatActif LOW // Etat quand bouton poussoir pressé
La connexion du driver du MPAP :
#define mpapDirPin 5 // Driver DIR
#define mpapStepPin 6 // Driver STEP
#define mpapEnaPin 7 // Driver ENA
Le signal du début de mesure:
#define mesureStartPin 8 // Sortie activée quand déplacement terminé
Après téléchargement du programme, en premier lieu, faire la commande $FACTORYSET afin d’enregistrer les paramètres par défaut et redémarrer l’Arduino. Ensuite il est possible de les ajuster.
Le programme:
Bons essais
A+
Cordialement
jpbbricole