Base vide pour un
nouveau programme
Pour faire une nouvelle application qui emploie QuickStep, il faut mettre dans le répertoire de travail les 4 fichiers de la bibliothèque avec le fichier principal.ino
Liens
Pour utiliser cette base, il faut soit télécharger QuickStepExemples.zip
contenant tous les fichiers d'exemples et cette base, soit télécharger BaseVide.zip
contenant juste la base vide, soit créer un répertoire du nom de votre application et mettre dedans:
- le fichier BaseVide.ino que vous renommerez comme le répertoire
- le fichier de configuration QuickStepConf.h vierge
- les trois fichiers (QuickStep.h, QuickStep.cpp
et digitalWriteFast.h) pour avoir la bibliothèque (identiques pour toutes les
applications)
BaseVide.ino
# $menu = ":QS"; include "QuickStep.h" void setup() { quickStepInit(); // Obligatoire pour utiliser QuickStep } void loop() { }
QuickStepConf.h vierge
// Fichier de configuration pour la bibliothèque QuickStep V2.0.0 //########################################################################### //######## Equivalences ######## //######## Ne pas trop toucher cette partie ######## //########################################################################### #ifndef QuickStepConf_h #define QuickStepConf_h #define RPM * -1.0 // Rotations par minute #define RPS * -60.0 // Rotations par seconde // Commentaires (écrits en minuscules avec au moins un "_" uniquement à // l'intérieur). Ces commentaires n'ont pas besoin d'être encadrés par /* */ #define pas_ou_micro_pas #define micro_secondes #define micro_secondes_par_pas #define position_absolue #define acceleration_sur #define deceleration_sur //########################################################################### //######## Timer utilisé ######## //########################################################################### // //#define timer0pourQuickStep //#define timer1pourQuickStep //#define timer2pourQuickStep // Par défaut si on ne dit rien //#define timer3pourQuickStep //#define timer4pourQuickStep //#define timer5pourQuickStep //########################################################################### //######## Moteur sans nom ######## //########################################################################### //#define UN_TOUR (??L) pas_ou_micro_pas // Indispensable si on utilise RPM ou RPS //#define VITESSE_MAXI ?? ?? // Rajouter l'unité: micro_secondes_par_pas, RPM, ou RPS //#define STEP ?? // N° de la broche pour STEP //#define DIR ?? // N° de la broche pour DIR, facultatif //#define ENABLE ?? // N° de la broche pour ENABLE. Si on la veut à l'état bas //#define PREM_BOBINE ?? // N° de la broche pour la première bobine //#define DEUX_BOBINE ?? // N° de la broche pour la deuxième bobine //#define TROIS_BOBINE ?? // N° de la broche pour la troisième bobine, ou ordre inverse de la première bobine //#define QUATRE_BOBINE ?? // N° de la broche pour la quatrième bobine, ou ordre inverse de la deuxième bobine //#define DEMI_PAS // Par défaut, pas entiers. Fonctionne que si les 4 bobines sont définis! //#define INVERSION // Décommentez la ligne si le moteur tourne dans le mauvais sens //#define NOMBRE_DE_PAS_MAXIMUM_SUR_16_BITS // 32767 pas maxi; par défaut sur 32 bits 2'100'000'000 pas maxi //#define NB_ORDRES_DANS_LA_PILE ?? // Valeurs possibles 1 (défaut), 3, 7, 15, 31, 63, 127 ou 255 //#define NB_ORDRES_ACCELERATION ?? // Facultatif, valeurs possibles 1..255 //########################################################################### //######## Moteur X ######## //########################################################################### //#define UN_TOUR_X (??L) pas_ou_micro_pas // Indispensable si on utilise RPM ou RPS //#define VITESSE_MAXI_X ?? ?? // Rajouter l'unité: micro_secondes_par_pas, RPM, ou RPS //#define STEP_X ?? // N° de la broche pour STEP //#define DIR_X ?? // N° de la broche pour DIR, facultatif //#define ENABLE_X ?? // N° de la broche pour ENABLE. Si on la veut à l'état bas //#define PREM_BOBINE_X ?? // N° de la broche pour la première bobine //#define DEUX_BOBINE_X ?? // N° de la broche pour la deuxième bobine //#define TROIS_BOBINE_X ?? // N° de la broche pour la troisième bobine, ou ordre inverse de la première bobine //#define QUATRE_BOBINE_X ?? // N° de la broche pour la quatrième bobine, ou ordre inverse de la deuxième bobine //#define DEMI_PAS_X // Par défaut, pas entiers. Fonctionne que si les 4 bobines sont définis! //#define INVERSION_X // Décommentez la ligne si le moteur tourne dans le mauvais sens //#define NOMBRE_DE_PAS_MAXIMUM_X_SUR_16_BITS // 32767 pas maxi; par défaut sur 32 bits 2'100'000'000 pas maxi //#define NB_ORDRES_DANS_LA_PILE_X ?? // Valeurs possibles 1 (défaut), 3, 7, 15, 31, 63, 127 ou 255 //#define NB_ORDRES_ACCELERATION_X ?? // Facultatif, valeurs possibles 1..255 //########################################################################### //######## Moteur Y ######## //########################################################################### //#define UN_TOUR_Y (??L) pas_ou_micro_pas // Indispensable si on utilise RPM ou RPS //#define VITESSE_MAXI_Y ?? ?? // Rajouter l'unité: micro_secondes_par_pas, RPM, ou RPS //#define STEP_Y ?? // N° de la broche pour STEP //#define DIR_Y ?? // N° de la broche pour DIR, facultatif //#define ENABLE_Y ?? // N° de la broche pour ENABLE. Si on la veut à l'état bas //#define PREM_BOBINE_Y ?? // N° de la broche pour la première bobine //#define DEUX_BOBINE_Y ?? // N° de la broche pour la deuxième bobine //#define TROIS_BOBINE_Y ?? // N° de la broche pour la troisième bobine, ou ordre inverse de la première bobine //#define QUATRE_BOBINE_Y ?? // N° de la broche pour la quatrième bobine, ou ordre inverse de la deuxième bobine //#define DEMI_PAS_Y // Par défaut, pas entiers. Fonctionne que si les 4 bobines sont définis! //#define INVERSION_Y // Décommentez la ligne si le moteur tourne dans le mauvais sens //#define NOMBRE_DE_PAS_MAXIMUM_Y_SUR_16_BITS // 32767 pas maxi; par défaut sur 32 bits 2'100'000'000 pas maxi //#define NB_ORDRES_DANS_LA_PILE_Y ?? // Valeurs possibles 1 (défaut), 3, 7, 15, 31, 63, 127 ou 255 //#define NB_ORDRES_ACCELERATION_Y ?? // Facultatif, valeurs possibles 1..255 //########################################################################### //######## Moteur Z ######## //########################################################################### //#define UN_TOUR_Z (??L) pas_ou_micro_pas // Indispensable si on utilise RPM ou RPS //#define VITESSE_MAXI_Z ?? ?? // Rajouter l'unité: micro_secondes_par_pas, RPM, ou RPS //#define STEP_Z ?? // N° de la broche pour STEP //#define DIR_Z ?? // N° de la broche pour DIR, facultatif //#define ENABLE_Z ?? // N° de la broche pour ENABLE. Si on la veut à l'état bas //#define PREM_BOBINE_Z ?? // N° de la broche pour la première bobine //#define DEUX_BOBINE_Z ?? // N° de la broche pour la deuxième bobine //#define TROIS_BOBINE_Z ?? // N° de la broche pour la troisième bobine, ou ordre inverse de la première bobine //#define QUATRE_BOBINE_Z ?? // N° de la broche pour la quatrième bobine, ou ordre inverse de la deuxième bobine //#define DEMI_PAS_Z // Par défaut, pas entiers. Fonctionne que si les 4 bobines sont définis! //#define INVERSION_Z // Décommentez la ligne si le moteur tourne dans le mauvais sens //#define NOMBRE_DE_PAS_MAXIMUM_Z_SUR_16_BITS // 32767 pas maxi; par défaut sur 32 bits 2'100'000'000 pas maxi //#define NB_ORDRES_DANS_LA_PILE_Z ?? // Valeurs possibles 1 (défaut), 3, 7, 15, 31, 63, 127 ou 255 //#define NB_ORDRES_ACCELERATION_Z ?? // Facultatif, valeurs possibles 1..255 //########################################################################### //######## Moteur T ######## //########################################################################### //#define UN_TOUR_T (??L) pas_ou_micro_pas // Indispensable si on utilise RPM ou RPS //#define VITESSE_MAXI_T ?? ?? // Rajouter l'unité: micro_secondes_par_pas, RPM, ou RPS //#define STEP_T ?? // N° de la broche pour STEP //#define DIR_T ?? // N° de la broche pour DIR, facultatif //#define ENABLE_T ?? // N° de la broche pour ENABLE. Si on la veut à l'état bas //#define PREM_BOBINE_T ?? // N° de la broche pour la première bobine //#define DEUX_BOBINE_T ?? // N° de la broche pour la deuxième bobine //#define TROIS_BOBINE_T ?? // N° de la broche pour la troisième bobine, ou ordre inverse de la première bobine //#define QUATRE_BOBINE_T ?? // N° de la broche pour la quatrième bobine, ou ordre inverse de la deuxième bobine //#define DEMI_PAS_T // Par défaut, pas entiers. Fonctionne que si les 4 bobines sont définis! //#define INVERSION_T // Décommentez la ligne si le moteur tourne dans le mauvais sens //#define NOMBRE_DE_PAS_MAXIMUM_T_SUR_16_BITS // 32767 pas maxi; par défaut sur 32 bits 2'100'000'000 pas maxi //#define NB_ORDRES_DANS_LA_PILE_T ?? // Valeurs possibles 1 (défaut), 3, 7, 15, 31, 63, 127 ou 255 //#define NB_ORDRES_ACCELERATION_T ?? // Facultatif, valeurs possibles 1..255 //########################################################################### //######## Moteur U ######## //########################################################################### //#define UN_TOUR_U (??L) pas_ou_micro_pas // Indispensable si on utilise RPM ou RPS //#define VITESSE_MAXI_U ?? ?? // Rajouter l'unité: micro_secondes_par_pas, RPM, ou RPS //#define STEP_U ?? // N° de la broche pour STEP //#define DIR_U ?? // N° de la broche pour DIR, facultatif //#define ENABLE_U ?? // N° de la broche pour ENABLE. Si on la veut à l'état bas //#define PREM_BOBINE_U ?? // N° de la broche pour la première bobine //#define DEUX_BOBINE_U ?? // N° de la broche pour la deuxième bobine //#define TROIS_BOBINE_U ?? // N° de la broche pour la troisième bobine, ou ordre inverse de la première bobine //#define QUATRE_BOBINE_U ?? // N° de la broche pour la quatrième bobine, ou ordre inverse de la deuxième bobine //#define DEMI_PAS_U // Par défaut, pas entiers. Fonctionne que si les 4 bobines sont définis! //#define INVERSION_U // Décommentez la ligne si le moteur tourne dans le mauvais sens //#define NOMBRE_DE_PAS_MAXIMUM_U_SUR_16_BITS // 32767 pas maxi; par défaut sur 32 bits 2'100'000'000 pas maxi //#define NB_ORDRES_DANS_LA_PILE_U ?? // Valeurs possibles 1 (défaut), 3, 7, 15, 31, 63, 127 ou 255 //#define NB_ORDRES_ACCELERATION_U ?? // Facultatif, valeurs possibles 1..255 //########################################################################### //######## Moteur V ######## //########################################################################### //#define UN_TOUR_V (??L) pas_ou_micro_pas // Indispensable si on utilise RPM ou RPS //#define VITESSE_MAXI_V ?? ?? // Rajouter l'unité: micro_secondes_par_pas, RPM, ou RPS //#define STEP_V ?? // N° de la broche pour STEP //#define DIR_V ?? // N° de la broche pour DIR, facultatif //#define ENABLE_V ?? // N° de la broche pour ENABLE. Si on la veut à l'état bas //#define PREM_BOBINE_V ?? // N° de la broche pour la première bobine //#define DEUX_BOBINE_V ?? // N° de la broche pour la deuxième bobine //#define TROIS_BOBINE_V ?? // N° de la broche pour la troisième bobine, ou ordre inverse de la première bobine //#define QUATRE_BOBINE_V ?? // N° de la broche pour la quatrième bobine, ou ordre inverse de la deuxième bobine //#define DEMI_PAS_V // Par défaut, pas entiers. Fonctionne que si les 4 bobines sont définis! //#define INVERSION_V // Décommentez la ligne si le moteur tourne dans le mauvais sens //#define NOMBRE_DE_PAS_MAXIMUM_V_SUR_16_BITS // 32767 pas maxi; par défaut sur 32 bits 2'100'000'000 pas maxi //#define NB_ORDRES_DANS_LA_PILE_V ?? // Valeurs possibles 1 (défaut), 3, 7, 15, 31, 63, 127 ou 255 //#define NB_ORDRES_ACCELERATION_V ?? // Facultatif, valeurs possibles 1..255 //########################################################################### //######## Moteur W ######## //########################################################################### //#define UN_TOUR_W (??L) pas_ou_micro_pas // Indispensable si on utilise RPM ou RPS //#define VITESSE_MAXI_W ?? ?? // Rajouter l'unité: micro_secondes_par_pas, RPM, ou RPS //#define STEP_W ?? // N° de la broche pour STEP //#define DIR_W ?? // N° de la broche pour DIR, facultatif //#define ENABLE_W ?? // N° de la broche pour ENABLE. Si on la veut à l'état bas //#define PREM_BOBINE_W ?? // N° de la broche pour la première bobine //#define DEUX_BOBINE_W ?? // N° de la broche pour la deuxième bobine //#define TROIS_BOBINE_W ?? // N° de la broche pour la troisième bobine, ou ordre inverse de la première bobine //#define QUATRE_BOBINE_W ?? // N° de la broche pour la quatrième bobine, ou ordre inverse de la deuxième bobine //#define DEMI_PAS_W // Par défaut, pas entiers. Fonctionne que si les 4 bobines sont définis! //#define INVERSION_W // Décommentez la ligne si le moteur tourne dans le mauvais sens //#define NOMBRE_DE_PAS_MAXIMUM_W_SUR_16_BITS // 32767 pas maxi; par défaut sur 32 bits 2'100'000'000 pas maxi //#define NB_ORDRES_DANS_LA_PILE_W ?? // Valeurs possibles 1 (défaut), 3, 7, 15, 31, 63, 127 ou 255 //#define NB_ORDRES_ACCELERATION_W ?? // Facultatif, valeurs possibles 1..255 //########################################################################### //######## Mesures et débuggage ######## //########################################################################### //#define PIN_HIGH_DEPLACEMENT ?? // Passe la broche correspondante à HIGH pendant la fonction quickStepRotation //#define PIN_HIGH_DEPLACEMENT_X ?? // Passe la broche correspondante à HIGH pendant la fonction quickStepRotationX //#define PIN_HIGH_DEPLACEMENT_Y ?? // Passe la broche correspondante à HIGH pendant la fonction quickStepRotationY //#define PIN_HIGH_DEPLACEMENT_Z ?? // Passe la broche correspondante à HIGH pendant la fonction quickStepRotationZ //#define PIN_HIGH_DEPLACEMENT_T ?? // Passe la broche correspondante à HIGH pendant la fonction quickStepRotationT //#define PIN_HIGH_DEPLACEMENT_U ?? // Passe la broche correspondante à HIGH pendant la fonction quickStepRotationU //#define PIN_HIGH_DEPLACEMENT_V ?? // Passe la broche correspondante à HIGH pendant la fonction quickStepRotationV //#define PIN_HIGH_DEPLACEMENT_W ?? // Passe la broche correspondante à HIGH pendant la fonction quickStepRotationW //#define PIN_HIGH_TOUTE_INTERRUPTION ?? // Passe la broche correspondante à HIGH pendant la fonction d'interruption //#define PIN_HIGH_INTERRUPTION ?? // Passe la broche correspondante à HIGH pendant la partie correspondant au moteur sans nom pendant l'interruption //#define PIN_HIGH_INTERRUPTION_X ?? // Passe la broche correspondante à HIGH pendant la partie correspondant au moteur X pendant l'interruption //#define PIN_HIGH_INTERRUPTION_Y ?? // Passe la broche correspondante à HIGH pendant la partie correspondant au moteur Y pendant l'interruption //#define PIN_HIGH_INTERRUPTION_Z ?? // Passe la broche correspondante à HIGH pendant la partie correspondant au moteur Z pendant l'interruption //#define PIN_HIGH_INTERRUPTION_T ?? // Passe la broche correspondante à HIGH pendant la partie correspondant au moteur T pendant l'interruption //#define PIN_HIGH_INTERRUPTION_U ?? // Passe la broche correspondante à HIGH pendant la partie correspondant au moteur U pendant l'interruption //#define PIN_HIGH_INTERRUPTION_V ?? // Passe la broche correspondante à HIGH pendant la partie correspondant au moteur V pendant l'interruption //#define PIN_HIGH_INTERRUPTION_W ?? // Passe la broche correspondante à HIGH pendant la partie correspondant au moteur W pendant l'interruption #endif // QuickStepConf_h