FabScan / StepStick Shield Arduino UNO - Tutoriel inclus

Description
FabScan Shield - StepStick Shield disponible chez MCHobby
A l'origine, ce shield est conçu pour le projet FabScan utilisant un module complémentaire pour réaliser un scanner 3D avec un Arduino UNO.

Chez MCHobby, ce shield nous intéresse parce qu'il permet de mettre facilement en oeuvre plusieurs moteurs pas-à-pas en utilisant des StepStick A4988 sans avoir à réaliser vos propres branchements sur un breadboard. Voyez notre section tutoriel pour une mise en oeuvre rapide.

Tous les stepstick peuvent être activés en mode "full step" (MS1=MS2=MS3  à 0V via A5), soit en 1/16 pas (MS1=MS2=MS3 à +5V via A5). En mode "Full Step",  une impulsion sur la broche STEP du stepstick fait avancer le moteur d'un pas complet. En mode 1/16 pas, il faut 16 impulsions sur la broche STEP pour que le moteur avance d'un pas complet.

Outre la commande des PAS du stepstick, votre Arduino peut également commander le sens du moteur (broche DIR) et l'activation/désactivation du StepStick. Lorsque le StepStick est activé (broche ENABLE=LOW), l'axe du moteur est "maintenu en place" par un couple de maintient. Dans le cas contraire, l'axe moteur est totalement libre. Cerise sur la gateau, il y a une LED pour chaque StickStick qui indique si le stepstick est actif (Le LED s'allume si la broche ENABLE du stepstick est à LOW).

Pour finir, le bouton reset est reporté sur le shield.

Un Tutoriel
Même si l'utilisation d'un StepStick et de ce shield est relativement simple, nous ne vendons pas ce produit en vous laissant vous débrouiller tout seul.
Nous avons développé un tuto pour vous aider à faire la prise en main aussi vite que possible. Il contient des informations utiles et même des routines utilitaires (en cadeau) pour aller un peu plus vite.
  • Tutoriel sur le FabScan/StepStick shield (Wiki de MCHobby)
    Contient diagramme, information utiles, code d'exemple, etc
    Nous y avons également ajouté quelques informations de hacking pour tirer parti du matériel dans les meilleures conditions ;-)
  • Tutoriel sur le Stepstick A4988 (Wiki de MCHobby)
    Contient également des information très utiles sur les stepsticks.
Si vous voulez en savoir plus sur le projet FabScan, je vous invite à consulter le lien suivant:
Code d'exemple
Pour le besoin de nos test, nous avons écrit quelques routines utilitaires pour le FabScan / StepStick shield.
Ce n'est pas du coding dans le grand art... mais cela à le mérite de proposer une fondation.
// Programme et code d'exemple fourni en l'état et sans garantie.
//
// Auteur: Meurisse D. - MCHobby.be - Vente de kit et composant
// Licence CC-BY-SA 

// Initialisation du programme
// Broche permettant d'activer le full_step ou microstepping 1/16 de pas
const int PIN_MS = 19; // broche A5 en digital

void setup()
{
  // Initialise la communication série:
  Serial.begin(9600);
  
  // Initialise le mode de stepping (Full Step)
  fabscan_initstepmode( PIN_MS, true );
  
  // Initialise LES 4 stepsticks 
  for( int iStepStick = 1; iStepStick <= 4; iStepStick++ ){
    fabscan_initstepstick( iStepStick );  
  }
}

// Programme principal
void loop() {
  
  for( int iStepStick = 1; iStepStick <= 4; iStepStick++ ){
    Serial.print( F("Test StepStick "));
    Serial.println( iStepStick );
    // Active le StepStick
    fabscan_activate( iStepStick, true );
    // Déplacement dans un sens
    fabscan_move( iStepStick, true, 100 );
    // Déplacement dans l'autre sens
    fabscan_move( iStepStick, false, 100 );
    // désactiver le step stick
    fabscan_activate( iStepStick, false );
  }
  
  // bloquer le programme
  while(true);
}


Les différentes routines s'appuient sur une structure définissant les différentes broches (et raccordement) des stepstick sur le shield
// Definition de la structure maintenant la définition 
// des broches de controles d'un StepStick
typedef struct {
  boolean inUse; // indique si le StepStick est utilisé --> Initialisation des broches
  int enablePin;
  int dirPin;
  int stepPin; 
} stepstick_t;
 
// Déclaration de tous les stepsticks de la carte fabScan
//   changé le premier paramètre à false si le stepstick n'est pas 
//   utilisé.
const stepstick_t stepsticks[4] = {
  {true, 2, 4, 3 }, // StepStick 1 - inUse, Enable, DIR, Step
  {true, 5, 7, 6 }, // StepStick 2
  {true,11,13,12 }, // StepStick 3
  {true,14,16,15 }  // StepStick 4 
}; 

Plus d'information dans notre tutoriel.

Où acheter