Modifications

Sauter à la navigation Sauter à la recherche
3 430 octets ajoutés ,  29 septembre 2014 à 11:28
Ligne 1 : Ligne 1 :  
{{DRV8833-NAV}}
 
{{DRV8833-NAV}}
   −
{{traduction}}
+
== Comment utiliser ==
 
[[Fichier:DRV8833-Utiliser-00.png|640px]]
 
[[Fichier:DRV8833-Utiliser-00.png|640px]]
    
Dans une application type, les connexions de puissances sont faites d'un côté de la carte et les connexions de contrôle de l'autre côté de la carte. La broche nSLEEP est maintenue au niveau haut par la carte (à l'aide d'une résistance pull-upp), il n'est donc pas nécessaire de la connecter (sauf si vous voulez mettre le DRV8833 en mode veille).  
 
Dans une application type, les connexions de puissances sont faites d'un côté de la carte et les connexions de contrôle de l'autre côté de la carte. La broche nSLEEP est maintenue au niveau haut par la carte (à l'aide d'une résistance pull-upp), il n'est donc pas nécessaire de la connecter (sauf si vous voulez mettre le DRV8833 en mode veille).  
   −
Chacun canal moteur dispose d'une paire d'entrées de contrôle , xIN1 et xIN2, qui active l'état de la sortie correspondante , xOUT1 et xOUT2; il est possible d'appliquer un signal PWM (pulse width modulated/modulation de largeur d'impulsion) sur ces entrées. Ces entrées sont équipées de pull-down en interne (qui ramène le signal de la broche au niveau bas/low), ce qui désactive les sorties par défaut (méthode efficace qui évite à vos moteurs de tressauter à la mise sous tension).  
+
Chacun canal moteur dispose d'une paire d'entrées de contrôle , xIN1 et xIN2, qui active l'état de la sortie correspondante , xOUT1 et xOUT2; Ces entrées sont équipées de pull-down en interne (qui ramène le signal de la broche au niveau bas/low), ce qui désactive les sorties par défaut (méthode efficace qui évite à vos moteurs de tressauter à la mise sous tension).  
    
Voyez la table de contrôle des entrées (dans [http://df.mchobby.be/datasheet/drv8833.pdf la fiche technique]) pour voir comment celles-ci influence l'état des sorties.
 
Voyez la table de contrôle des entrées (dans [http://df.mchobby.be/datasheet/drv8833.pdf la fiche technique]) pour voir comment celles-ci influence l'état des sorties.
   −
[[Fichier:DRV8833-Utiliser-01.jpg|640px]]<small><br />H: signifie HIGH/niveau haut. L: LOW/niveau bas</small>
+
[[Fichier:DRV8833-Utiliser-01.jpg|480px]]<small><br />H: signifie HIGH/niveau haut. L: LOW/niveau bas</small>
    +
Il est possible d'appliquer un signal PWM (pulse width modulated/modulation de largeur d'impulsion) sur ces entrées, ce qui permet de contrôler la vitesse du moteur. Quand vous contrôlez la rotation en PWM, le courant tend à continuer à circuler lorsque le pilote interrompt celui-ci. Cela se s'appelle le "courant de recirculation" (cfr doc de Texas Instruments). Le pont-H peut gérer cette recirculation de deux façons différentes: en mode roue libre (''Coat/Fast decay'') ou en mode de freinage (''Brake/Slow Decay''). En mode roue libre (''Coat/Fast Decay'') le pont H est désactivé et le courant de recirculation circule à travers les diodes. En mode freinage, les bobines du moteur sont court-circuités, ce provoque le freinage du moteur.
 +
 +
{{Underline|Note:}} Il est également possible de contrôler le moteur en PWM en mode roue libre et freinage, voyez [http://df.mchobby.be/datasheet/drv8833.pdf la fiche technique de Texas Instruments pour plus d'information] à ce sujet.
 +
 
La broche nFAULT est une sortie à drain ouvert qui est ramené au niveau bas par le circuit intégré lorsqu'il est surchargé (sur-courant), en surchauffe ou s'il fonctionne en sous-tension. Dans le cas contraire l'état de cette broche est flottant et vous devrez y connecter une résistance pull-up externe (ou utiliser une entrée de votre microcontroleur en y activant son pull-up interne). Si vous ne voulez pas surveiller cet état d'erreur, vous pouvez simplement ignorer cette broche.
 
La broche nFAULT est une sortie à drain ouvert qui est ramené au niveau bas par le circuit intégré lorsqu'il est surchargé (sur-courant), en surchauffe ou s'il fonctionne en sous-tension. Dans le cas contraire l'état de cette broche est flottant et vous devrez y connecter une résistance pull-up externe (ou utiliser une entrée de votre microcontroleur en y activant son pull-up interne). Si vous ne voulez pas surveiller cet état d'erreur, vous pouvez simplement ignorer cette broche.
 +
 +
== Montage Arduino ==
 +
[[Fichier:DRV8833-Montage-Arduino.jpg|800px]]
 +
 +
<nowiki>// --- Commande de controleur moteur DC ----------------------
 +
// DRV8833_Test.ino
 +
//
 +
// Commande du DRV8833, prenant le controle de deux moteurs
 +
// continu.
 +
//
 +
// Un projet www.mchobby.be (vente de kit et composant)
 +
// Meurisse D. - Licence CC-SA-BY
 +
//
 +
// Un tutoriel http://mchobby.be/wiki/index.php?title=DRV8833
 +
// Ou Acheter un StepStick DRV8833
 +
//    http://shop.mchobby.be/product.php?id_product=499
 +
//
 +
 +
#define pinINA1 5 // Moteur A, entrée 1 - Commande en PWM possible
 +
#define pinINA2 6 // Moteur A, entrée 2 - Commande en PWM possible
 +
 +
#define pinINB1 10 // Moteur B, entrée 1 - Commande en PWM possible
 +
#define pinINB2 11 // Moteur B, entrée 2 - Commande en PWM possible
 +
 +
void setup(){
 +
  Serial.begin(9600);
 +
  Serial.println("Test DRV8833");
 +
 
 +
  // Initialize les broches de commandes
 +
  // du moteur A
 +
  pinMode( pinINA1, OUTPUT );
 +
  pinMode( pinINA2, OUTPUT );
 +
  digitalWrite( pinINA1, LOW );
 +
  digitalWrite( pinINA2, LOW );
 +
}
 +
 +
void loop(){
 +
  // --- Moteur A: Controle pleine puissance -------------------
 +
  // Marche avant
 +
  digitalWrite( pinINA1, HIGH );
 +
  digitalWrite( pinINA2, LOW  );
 +
 
 +
  delay( 3000 );
 +
 
 +
  // Arret par frein (voir documentation)
 +
  digitalWrite( pinINA1, LOW );
 +
  digitalWrite( pinINA2, LOW );
 +
 
 +
  delay( 2000 );
 +
 
 +
  // Marche arriere
 +
  digitalWrite( pinINA1, LOW );
 +
  digitalWrite( pinINA2, HIGH );
 +
 
 +
  delay( 3000 );
 +
 
 +
  // Arret en roue libre
 +
  digitalWrite( pinINA1, HIGH );
 +
  digitalWrite( pinINA2, HIGH );
 +
 
 +
  delay( 2000 );
 +
 
 +
  // Arret par frein (voir documentation)
 +
  digitalWrite( pinINA1, LOW );
 +
  digitalWrite( pinINA2, LOW );
 +
 
 +
  // ---- Moteur A: Controle de vitesse en PWM ------------
 +
  // Marche avant progressive
 +
  digitalWrite( pinINA2, LOW ); // réactive la commande en digital sur la broche
 +
  for( int i = 20; i<=240; i=i+20 ){
 +
    analogWrite( pinINA1, i );
 +
    Serial.println( i );
 +
    delay( 500 ); // attentre 0.5 sec
 +
  }
 +
  // Arret
 +
  digitalWrite( pinINA1, LOW );
 +
  digitalWrite( pinINA2, LOW );
 +
  delay( 2000 );
 +
 
 +
  // arret
 +
  digitalWrite( pinINA1, LOW );
 +
  digitalWrite( pinINA2, LOW ); 
 +
 +
  // Marche arriere progressive
 +
  digitalWrite( pinINA1, LOW ); // réactive la commande en digital sur la broche
 +
  for( int j = 20; j<=240; j=j+20 ){
 +
    analogWrite( pinINA2, j );
 +
    delay( 500 ); // attentre 0.5 sec
 +
  }
 +
 +
  // Arret par frein (voir documentation)
 +
  digitalWrite( pinINA1, LOW );
 +
  digitalWrite( pinINA2, LOW );
 +
 +
  // Arreter le programme
 +
  while(true);
 +
}</nowiki>
    
{{DRV8833-TRAILER}}
 
{{DRV8833-TRAILER}}
29 918

modifications

Menu de navigation