Le forum a migré vers l'adresse suivante:

Forum

Masquer ce message

Simple-Duino Forum Index



Soucis Motor Shield Rev 3


 
Post new topic   Reply to topic    Simple-Duino Forum Index -> Arduino & Électronique -> Questions
Previous topic :: Next topic  
Author Message
Kevin.Regn
Débutant

Offline

Joined: 24 Mar 2014
Posts: 5
Masculin
Niveau d'éléctronique: Débutant

PostPosted: Mon 24 Mar - 21:21 (2014)    Post subject: Soucis Motor Shield Rev 3 Reply with quote

PublicitéSupprimer les publicités ?
Bonjour à tous, je me permets de vous déranger suite à un soucis avec mon projet Arduino. Je travaille avec un Motor Shield Rev3 installé sur une carte Arduino Uno.


Je me sers du Shield Motor Rev3 pour contrôler le sens de rotation d'un moteur à courant continu 12V pour permettre l'ouverture et la fermeture d'un volet.


Mon soucis est : Lorsque je branche l'arduino par USB et l'alimentation externe (pour le moteur) sur le bornier prévu à cet effet, la carte n'est plus reconnu sur l'ordinateur.
J'ai supprimé la liaison au dos du shield pour déconnecter la pin Vin et le +5V de l'arduino, j'ai aussi isolé le connecteur usb.


J'ai cherché sur pas mal de site et aucune solution.


Je vous met aussi une copie de mon Code :
// Commande Pour Automatisation des volets pilotés.


// Déclaration des differentes Broches.


int Pot_Temp = A0;                 // Assignation de la broche a0 au potentiomètre reglant la Température.                                                                    MARRON
int Pot_Vit = A1;                  // Assignation de la broche a1 au potentiomètre reglant la Vitesse.                                                                        JAUNE
int Pot_Pos = A2;                  // Assignation de la broche a2 au potentiomètre permettant la visualisation de l'image du Volet.                                           VIOLET
int Bout_Clim = 17;                // Assignation de la broche a3 (n°17)(Conversion en broche Numérique) au Bouton Poussoir controllant la Climatisation.                     VERT
int Bout_Text = 18;                // Assignation de la broche a4 (n°18)(Conversion en broche Numérique) au Bouton Poussoir indiquant la Température ext supérieur à 30°C.    ORANGE
int DirMoteurA = 12;                // Assignation de la broche 12 à la commande de la direction du Moteur en Channel Puissance A.
int Pos_min = 7;                   // Definition de la valeur minimun du potentiomètre de position.
int Pos_max = 41;                  // Definition de la valeur maximun du potentiomètre de position.
int Pos_var = 0;                   // Definition de la valeur variable du potentiomètre de position.
int Temp = 0;                      // Initialisation de la valeur initiale de la variable de relévée sur le potentiomètre de Température moteur.
int Vit = 0;                       // Initialisation de la valeur initiale de la variable de Vitesse du véhicule.
int Pos = 0;                       // Initialisation de la valeur initiale de la variable de position du volet.
int Pvar = 0;                      // Initialisation de la valeur initiale de la variable de position de consigne.
  
// Fin de Déclaration des Variables.
// Attribution de l'état des broches.


void setup() {
  
  pinMode(Pot_Temp, INPUT);           // Définition de la broche Pot_Temp en mode entrée.  
  pinMode(Pot_Vit, INPUT);            // Définition de la broche Pot_Vit en mode entrée.
  pinMode(Pot_Pos, INPUT);            // Définition de la broche Pot_Pos en mode entrée.
  pinMode(Bout_Clim, INPUT);          // Définition de la broche Bout_Clim en mode entrée.
  pinMode(Bout_Text, INPUT);          // Définition de la broche Bout_Tex en mode entrée. 
  pinMode(DirMoteurA, OUTPUT);        // Définition de la broche DirMoteurA en mode sortie.
  
  Serial.begin(1200);  // Initialisation du port série hardware
  Serial.println("Demarrage de la connexion au PC , OK");
}


// Fin d'attribution de l'état des Broches.
// Debut du Programme Principal


void loop () 
{
  int Temp = analogRead(Pot_Temp);        // Lecture de la valeur du potentiomètre de Temperature moteur (Valeur entre 0->1023).
  int Vit = analogRead(Pot_Vit);          // Lecture de la valeur du potentiomètre de la vitesse (Valeur entre 0->1023).
  int Pos = analogRead(Pot_Pos);          // Lecture de la valeur du potentiomètre de position du volet (Valeur entre 0->1023).
  
  Temp=map(Temp,0,1023,0,110);            // Calibrage de la Température pour afficher une valeur comprise entre (0->110°C).
  Vit=map(Vit,0,1023,0,150);              // Calibrage de la Vitesse pour afficher une valeur comprise entre (0->150 km/h).
  Pos=map(Pos,0,1023,0,90);               // Calibrage de la position pour afficher une valeur comprise entre (0->Posmax) Pos max à définir.
  Pvar=map(Temp,94,99,8,40);             // Calibrage de la consigne de position variable en fonction de la température moteur.
  
  Serial.print("Temperature Moteur :");
  Serial.println(Temp);
  Serial.print("Vitesse :");
  Serial.println(Vit);
  Serial.print("Position du volet :");
  Serial.println(Pos);
  Serial.print("Valeur Position variable :");
  Serial.println(Pvar);
  
  
  if( Temp >= 99 && Pos <= 39)                                                           
  {
    digitalWrite(DirMoteurA,HIGH);
    delay(400);
  }
  else if ( Temp < 99 && Temp >= 94 && Pos < Pvar )
  {
    digitalWrite(DirMoteurA,HIGH);
    delay(400);
  }
  else if (Temp < 99 && Temp >= 84 && Pos > Pvar )
  {
    digitalWrite(DirMoteurA,LOW);
    delay(400);
  }
  else if (Temp < 99 && Temp >= 94 && Pos == Pvar)
  {
  }
  else if (Temp < 94  && Bout_Clim==HIGH && Vit >= 115 && Bout_Text==HIGH && Pos <= 39 )
  {
    digitalWrite(DirMoteurA,HIGH);
    delay(400);
  }
  else if (Temp < 94 && Bout_Clim==HIGH && Vit >= 115 && Bout_Text==LOW && Pos >= 9 )
  {
    digitalWrite(DirMoteurA,LOW);
    delay(400);
  }
  else if (Temp < 94 && Bout_Clim==HIGH && Vit < 115 && Pos >= 9 )
  {
    digitalWrite(DirMoteurA,LOW);
    delay(400);
  }
  else if (Temp < 94 && Bout_Clim==LOW && Vit >= 130 && Bout_Text==HIGH && Pos <= 39 )
  {
    digitalWrite(DirMoteurA,HIGH);
    delay(400);
  }
  else if (Temp < 94 && Bout_Clim==LOW && Vit >= 130 && Bout_Text==LOW && Pos >= 9 )
  {
    digitalWrite(DirMoteurA,LOW);
    delay(400);
  }
  else if (Temp < 94 && Bout_Clim==LOW && Vit < 130 && Pos >= 9 )
  {
    digitalWrite(DirMoteurA,LOW);
    delay(400);
  }
}




Je suis à votre disposition si vous avez besoin de plus d'informations, je vous remercie pour votre lecture.
Kevin Regn.
Back to top
Admin
Fondateur

Offline

Joined: 12 Apr 2012
Posts: 860
Masculin
Niveau d'éléctronique: Pro

PostPosted: Tue 25 Mar - 19:33 (2014)    Post subject: Soucis Motor Shield Rev 3 Reply with quote

Salut !!
ça sent pas bon du tout...
Si ton shield Moteur déconnectes systématiquement ton Arduino de ton Pc, c'est plutôt mauvais signe.
Ton Arduino fonctionne-t-il toujours correctement avec d'autre programmes que celui dédié au motor shield (sans le shield dessus) ??
Si oui, essayes ce même programme en plaçant ton shield sur l'Arduino, puis, si cela fonctionne, essayes de rajouter l'alim, etc... Jusqu'à voir où l'Arduino commence à se déconnecter.


Si tu nous dis précisément l'étape à laquelle l'Arduino se déconnecte, c'est plus pratique ensuite pour nous de t'aider.
Lors des tests que je t'ai demandé, vérifie toujours qu'aucun pin ne sois en contact avec l'USB de l'Arduino.
____________________________
http://simple-duino.com
Back to top
Kevin.Regn
Débutant

Offline

Joined: 24 Mar 2014
Posts: 5
Masculin
Niveau d'éléctronique: Débutant

PostPosted: Tue 25 Mar - 21:13 (2014)    Post subject: Soucis Motor Shield Rev 3 Reply with quote

L'arduino se déconnecte au moment ou j'insère le fil de l'alim externe dans le bornier d'alimentation du motor shield.

Sinon pour le reste l'arduino à l'air de fonctionner correctement, je peux voir les bonnes valeurs sur le moniteur meme avec le moteur installé sur le bornier par contre, au moment ou j'insère le fil de l'alim, je perds la communication entre arduino et le pc et le l'onglet port série est grisé.
Back to top
Admin
Fondateur

Offline

Joined: 12 Apr 2012
Posts: 860
Masculin
Niveau d'éléctronique: Pro

PostPosted: Wed 26 Mar - 12:15 (2014)    Post subject: Soucis Motor Shield Rev 3 Reply with quote

Mhhh, aucun contact avec le port USB ??
Aucune liaison avec le Vin ?? Tu en es sur ?
____________________________
http://simple-duino.com
Back to top
Kevin.Regn
Débutant

Offline

Joined: 24 Mar 2014
Posts: 5
Masculin
Niveau d'éléctronique: Débutant

PostPosted: Wed 26 Mar - 12:28 (2014)    Post subject: Soucis Motor Shield Rev 3 Reply with quote

J ai desoude le jumper au dos du shield pour déconnecter le vin mais je suis pas sûr d avoir vraiment compris la manipulation
Back to top
Kevin.Regn
Débutant

Offline

Joined: 24 Mar 2014
Posts: 5
Masculin
Niveau d'éléctronique: Débutant

PostPosted: Wed 26 Mar - 17:58 (2014)    Post subject: Soucis Motor Shield Rev 3 Reply with quote

Bon je suis désolé mais a priori c'est l'alim qui posait problème, je viens de tester avec une nouvelle et cela fonctionne( enfin la carte et reconnu et peut relever les valeurs).
Back to top
Admin
Fondateur

Offline

Joined: 12 Apr 2012
Posts: 860
Masculin
Niveau d'éléctronique: Pro

PostPosted: Wed 26 Mar - 19:50 (2014)    Post subject: Soucis Motor Shield Rev 3 Reply with quote

Ok donc tu n'as plus de problème ?? --> Bouton "mettre résolu" en haut à gauche
____________________________
http://simple-duino.com
Back to top
Display posts from previous:   
Post new topic   Reply to topic    Simple-Duino Forum Index -> Arduino & Électronique -> Questions All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  

Index | Xooit.com free forum | Free support forum | Free forums directory | Report a violation | Cookies | Charte | Conditions générales d'utilisation
Powered by phpBB
Propulsé par Simple-Duino