Le forum a migré vers l'adresse suivante:

Forum

Masquer ce message

Simple-Duino Index du Forum



Soucis Motor Shield Rev 3


 
Poster un nouveau sujet   Répondre au sujet    Simple-Duino Index du Forum -> Arduino & Électronique -> Questions
Sujet précédent :: Sujet suivant  
Auteur Message
Kevin.Regn
Débutant

Hors ligne

Inscrit le: 24 Mar 2014
Messages: 5
Masculin
Niveau d'éléctronique: Débutant

MessagePosté le: Lun 24 Mar - 21:21 (2014)    Sujet du message: Soucis Motor Shield Rev 3 Répondre en citant

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.
Revenir en haut
Admin
Fondateur

Hors ligne

Inscrit le: 12 Avr 2012
Messages: 860
Masculin
Niveau d'éléctronique: Pro

MessagePosté le: Mar 25 Mar - 19:33 (2014)    Sujet du message: Soucis Motor Shield Rev 3 Répondre en citant

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
Revenir en haut
Kevin.Regn
Débutant

Hors ligne

Inscrit le: 24 Mar 2014
Messages: 5
Masculin
Niveau d'éléctronique: Débutant

MessagePosté le: Mar 25 Mar - 21:13 (2014)    Sujet du message: Soucis Motor Shield Rev 3 Répondre en citant

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é.
Revenir en haut
Admin
Fondateur

Hors ligne

Inscrit le: 12 Avr 2012
Messages: 860
Masculin
Niveau d'éléctronique: Pro

MessagePosté le: Mer 26 Mar - 12:15 (2014)    Sujet du message: Soucis Motor Shield Rev 3 Répondre en citant

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

Hors ligne

Inscrit le: 24 Mar 2014
Messages: 5
Masculin
Niveau d'éléctronique: Débutant

MessagePosté le: Mer 26 Mar - 12:28 (2014)    Sujet du message: Soucis Motor Shield Rev 3 Répondre en citant

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
Revenir en haut
Kevin.Regn
Débutant

Hors ligne

Inscrit le: 24 Mar 2014
Messages: 5
Masculin
Niveau d'éléctronique: Débutant

MessagePosté le: Mer 26 Mar - 17:58 (2014)    Sujet du message: Soucis Motor Shield Rev 3 Répondre en citant

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).
Revenir en haut
Admin
Fondateur

Hors ligne

Inscrit le: 12 Avr 2012
Messages: 860
Masculin
Niveau d'éléctronique: Pro

MessagePosté le: Mer 26 Mar - 19:50 (2014)    Sujet du message: Soucis Motor Shield Rev 3 Répondre en citant

Ok donc tu n'as plus de problème ?? --> Bouton "mettre résolu" en haut à gauche
____________________________
http://simple-duino.com
Revenir en haut
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 20:06 (2017)    Sujet du message: Soucis Motor Shield Rev 3

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Simple-Duino Index du Forum -> Arduino & Électronique -> Questions Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  

Index | creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB
Propulsé par Simple-Duino