IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Contrôle de deux moteurs DC à l'aide d'une carte arduino et d'un driver


Sujet :

Arduino

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 84
    Points : 19
    Points
    19
    Par défaut Contrôle de deux moteurs DC à l'aide d'une carte arduino et d'un driver
    Bonjour à tous,

    Je travaille actuellement sur un projet de laboratoire en biomécanique et je suis face à un problème pour contrôler deux moteurs DC en utilisant ma carte Arduino Uno ainsi qu'une driver.

    Les composants que j'utilise sont les suivants:

    2 moteurs: http://www.electan.com/mini-motor-re...ia-p-3016.html

    1 driver: https://www.pololu.com/product/713

    1 carte Arduino Uno.

    Mon montage ressemble plus ou moins à celui-ci:
    Nom : TB6612FNG_arduino_hookup.png
Affichages : 10071
Taille : 76,2 Ko

    Bien que ce ne soit pas exactement le même driver, les pins sont exactement les même que le mien (mais pas au même endroit!). C'est simplement l'alimentation qui est différente. Donc considérer que mon branchement est équivalent.

    Le code que j'utilise pour contrôler mon moteur est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    /*
    This code conducts a few simple manoeuvres to illustrate the functions:
    - motorDrive(motorNumber, motorDirection, motorSpeed)
    - motorBrake(motorNumber)
    - motorStop(motorNumber)
    - motorsStandby
     
    Connections:
    - Pin 3 ---> PWMA
    - Pin 8 ---> AIN2
    - Pin 9 ---> AIN1
    - Pin 10 ---> STBY
    - Pin 11 ---> BIN1
    - Pin 12 ---> BIN2
    - Pin 5 ---> PWMB
     
    - Motor 1: A01 and A02
    - Motor 2: B01 and B02
     
    */
     
    //Define the Pins
     
    //Motor 1
    int pinAIN1 = 9; //Direction
    int pinAIN2 = 8; //Direction
    int pinPWMA = 3; //Speed
     
    //Motor 2
    int pinBIN1 = 11; //Direction
    int pinBIN2 = 12; //Direction
    int pinPWMB = 5; //Speed
     
    //Standby
    int pinSTBY = 10;
     
    //Constants to help remember the parameters
    static boolean turnCW = 0; //for motorDrive function
    static boolean turnCCW = 1; //for motorDrive function
    static boolean motor1 = 0; //for motorDrive, motorStop, motorBrake functions
    static boolean motor2 = 1; //for motorDrive, motorStop, motorBrake functions
     
     
    void setup()
    {
    //Set the PIN Modes
      pinMode(pinPWMA, OUTPUT);
      pinMode(pinAIN1, OUTPUT);
      pinMode(pinAIN2, OUTPUT);
     
      pinMode(pinPWMB, OUTPUT);
      pinMode(pinBIN1, OUTPUT);
      pinMode(pinBIN2, OUTPUT);
     
      pinMode(pinSTBY, OUTPUT);
    }
     
    void loop()
    {
    //Drive both motors CW, full speed
      motorDrive(motor1, turnCW, 255);
      motorDrive(motor2, turnCW, 255);
    //Keep driving for 2 secs
      delay(2000);
     
    //Turn towards motor1: Stop Motor1, slow Motor2
      motorStop(motor1);
      motorDrive(motor2, turnCW, 192);
    //Keep turning for 2 secs
      delay(2000);
     
    //Turn in opposite direction: Stop Motor2, slow Motor1
      motorDrive(motor1, turnCW, 192);
      delay(250);
      motorStop(motor2);
     
    //Keep turning for 2 secs
    delay(2000);
     
    //Straighten up
      motorDrive(motor2, turnCW, 192);
      delay(500);
     
    //Put motors into Standby
      motorsStandby();
      delay(1000);
     
    //Do a tight turn towards motor1: Motor2 forward, Motor1 reverse
      motorDrive(motor1, turnCCW, 192);
      motorDrive(motor2, turnCW, 192);
    //Keep turning for 2 secs
      delay(2000);
     
     
    //Apply Brakes, then into Standby
      motorBrake(motor1);
      motorBrake(motor2);
      motorsStandby();
     
    //Stand still for 5 secs, then we do it all over again...
      delay(5000);
    }
     
    void motorDrive(boolean motorNumber, boolean motorDirection, int motorSpeed)
    {
    /*
    This Drives a specified motor, in a specific direction, at a specified speed:
    - motorNumber: motor1 or motor2 ---> Motor 1 or Motor 2
    - motorDirection: turnCW or turnCCW ---> clockwise or counter-clockwise
    - motorSpeed: 0 to 255 ---> 0 = stop / 255 = fast
    */
     
      boolean pinIn1; //Relates to AIN1 or BIN1 (depending on the motor number specified)
    //Specify the Direction to turn the motor
    //Clockwise: AIN1/BIN1 = HIGH and AIN2/BIN2 = LOW
    //Counter-Clockwise: AIN1/BIN1 = LOW and AIN2/BIN2 = HIGH
      if (motorDirection == turnCW)
        pinIn1 = HIGH;
      else
        pinIn1 = LOW;
    //Select the motor to turn, and set the direction and the speed
      if(motorNumber == motor1)
      {
        digitalWrite(pinAIN1, pinIn1);
        digitalWrite(pinAIN2, !pinIn1); //This is the opposite of the AIN1
        analogWrite(pinPWMA, motorSpeed);
      }
      else
       {
        digitalWrite(pinBIN1, pinIn1);
        digitalWrite(pinBIN2, !pinIn1); //This is the opposite of the BIN1
        analogWrite(pinPWMB, motorSpeed);
       }
    //Finally , make sure STBY is disabled - pull it HIGH
       digitalWrite(pinSTBY, HIGH);
    }
     
    void motorBrake(boolean motorNumber)
    {
    /*
    This "Short Brake"s the specified motor, by setting speed to zero
    */
      if (motorNumber == motor1)
        analogWrite(pinPWMA, 0);
      else
        analogWrite(pinPWMB, 0);
    }
     
    void motorStop(boolean motorNumber)
    {
    /*
    This stops the specified motor by setting both IN pins to LOW
    */
      if (motorNumber == motor1) 
      {
        digitalWrite(pinAIN1, LOW);
        digitalWrite(pinAIN2, LOW);
      }
      else
      {
        digitalWrite(pinBIN1, LOW);
        digitalWrite(pinBIN2, LOW);
      }
    }
     
     
    void motorsStandby()
    {
    /*
    This puts the motors into Standby Mode
    */
      digitalWrite(pinSTBY, LOW);
    }
    Or malheureusement, cela ne fonctionne absolument pas. Je précise que tout compile et le chargement sur la carte semble se faire. Je pense à plusieurs possibilités:

    1) Je n'ai pas correctement installer les librairies ce qui fait que les fonctions utilisées ne marchent pas. Du coup, la question serait quelle(s) librairie(s) installer?

    2) Je n'utilise pas les bonnes fonctions pour contrôler les moteurs. Quelles seraient les fonctions à utiliser dans ce cas?

    3) Bien que ce soit peu probable, un mauvais branchement sur les pins de l'Arduino. Auquel cas, je n'ai absolument pas vu mon erreur.

    Je vous remercie par avance pour votre aide.

    Cordialement,

  2. #2
    Membre averti
    Avatar de ChipsAlaMenthe
    Homme Profil pro
    Ingénieur en eau chaude et ballon rond
    Inscrit en
    Mai 2015
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur en eau chaude et ballon rond
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2015
    Messages : 138
    Points : 394
    Points
    394
    Par défaut
    Salut à toi! ^^

    Juste une petite question d'abord, pourquoi utilise-tu cette carte intermédiaire de chez Pololu? Tu ne le fais pas directement avec l'Arduino? ^^

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 84
    Points : 19
    Points
    19
    Par défaut
    Lorsque mon collègue a appellé le fournisseur, celui-ci nous a informé que pour contrôler 2 moteurs DC il fallait utiliser ce driver. C'est pourquoi je l'utilise actuellement.
    Vous pensez qu'il est possible de contrôler directement les deux moteurs? J'ai cru comprendre que si je n'utilisais pas ces driver il fallait utiliser du coup un MOSFET non?

  4. #4
    Membre averti
    Avatar de ChipsAlaMenthe
    Homme Profil pro
    Ingénieur en eau chaude et ballon rond
    Inscrit en
    Mai 2015
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur en eau chaude et ballon rond
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2015
    Messages : 138
    Points : 394
    Points
    394
    Par défaut
    Ah excuse-moi, je n'avais pas lu que c'était un moteur "DC", autant pour moi! ^^
    Le vendeur à tout à fait raison tu es obligé d'avoir un composant intermédiaire car si tu branches ton moteur directement sur la carte, tu peux l'endommager gravement ^^.
    Du coup passer par une carte intermédiaire est plus pratique c'est vrai ^^.

    Regarde du côté de la carte de chez Pololu. Elle inclus des exemples pour le robot 3pi, qui fonctionne sur beaucoup de points comme une Arduino (je l'ai déjà utilisé et certaines librairies sont identiques ^^).

    https://www.pololu.com/docs/0J15


    Sinon juste une petite indication: tu peux me dire où est l'alimentation externe de ta carte sur ton schéma?


    Sinon j'ai aussi trouvé ça, c'est une librairie pour Arduino:
    http://playground.arduino.cc/Main/TB6612FNG

    Et aussi ton schéma a l'air de bien respecter ceci (donc je te donne un lien de plus même si je pense que tu dois le connaitre ^^):
    http://www.instructables.com/id/Usin...t-the-Arduino/

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 84
    Points : 19
    Points
    19
    Par défaut
    Je vais aller regarder sur pololu voir si je ne peux pas trouver quelque chose d'utile.

    Pour ce qui est des alimentations, j'ai ma carte arduino qui est branché à mon pc (par cable USB) la masse de l'arduino est relié à la masse du générateur externe qui délivre un courant continue. Les autres composants sont aussi reliés aux générateurs (symbolisé par "Moror Power" sur le schéma).

    Comme ce sont des fonctions de bases que j'utilise dans mon code, a priori le problème ne devrait pas venir de la librairie. Je vais tout de même jeter un coup d'oeil sur votre lien.

    Je vous remercie pour votre aide et vous tiens au courant si je réussi à résoudre le problème.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 84
    Points : 19
    Points
    19
    Par défaut
    Afin de pouvoir localiser plus facilement mon problème, j'ai effectué quelques mesures en utilisant ce programme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    //Motor 1
    int pinAIN1 = 9; //Direction
    int pinAIN2 = 8; //Direction
    int pinPWMA = 3; //Speed
     
    //Motor 2
    int pinBIN1 = 11; //Direction
    int pinBIN2 = 12; //Direction
    int pinPWMB = 5; //Speed
     
    //Standby
    int pinSTBY = 10;
     
    void setup()
    {
    //Set the PIN Modes
      pinMode(pinPWMA, OUTPUT);
      pinMode(pinAIN1, OUTPUT);
      pinMode(pinAIN2, OUTPUT);
     
      pinMode(pinPWMB, OUTPUT);
      pinMode(pinBIN1, OUTPUT);
      pinMode(pinBIN2, OUTPUT);
     
      pinMode(pinSTBY, OUTPUT);
    }
     
    void loop()
    {
       digitalWrite(pinAIN1,LOW);
       digitalWrite(pinAIN2,HIGH);
       digitalWrite(pinBIN1, LOW);
       digitalWrite(pinBIN2, HIGH);
       analogWrite(pinPWMA,200);
       analogWrite(pinPWMB,200);
    }
    Je remarque que lorsque j'alimente le circuit et que j'upload ce programme sur la ma carte Arduino, j'ai bien 5V sur tous les pins excepté sur les pins 9 10 et 11 de la carte Arduino. Ceci parait logique étant donné que je souhaite faire tourner les moteurs dans un unique sens et que je n'utilise pas la command STDBY.

    Donc a priori, cela viendrait du montage ou bien de l'alimentation. Je précise que j'ai configuré mon générateur avec une tension de 6V et un courant de 1A.

    Serait-ce là mon problème?

    Par avance merci pour votre aide.

  7. #7
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 185
    Points : 11 551
    Points
    11 551
    Par défaut
    Est ce que STBY est à l'état haut dans ton soft ?
    Dans la datasheet de ton driver, il est précisé qu'une resistance de pull down (200k) existe a l'intérieure du composant.

    Donc si tu ne fixes pas toi même cette broche STBY a l'état haut et bien elle sera, via la pull down interne, à l'état bas donc en standby !

    Tiens nous au courant
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  8. #8
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 646
    Points : 11 135
    Points
    11 135
    Par défaut
    Bonjour,

    es-tu vraiment sûr de ton câblage ? L'alimentation de tes moteurs me fait douter : si je prends ton schéma, tu as branché la borne + sur un des coins de la carte. Et la borne 3 de l'Arduino également sur un coin. Or d'après ce que je vois sur la doc, 3 coins correspondent à la masse, le 4ème, PWMA, est une entrée PWM pour le moteur.

    Toujours d'après la doc (que je trouve vraiment trop succincte) VMOT et VCC sont à l'opposé l'une de l'autre et toi tu les as placées à côté.


    Sinon je trouve dommage d'avoir pris ce module alors qu'il existe des shields :
    http://www.lextronic.fr/P26224-plati...r-arduino.html
    http://www.lextronic.fr/P28672-modul...r-arduino.html

  9. #9
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 185
    Points : 11 551
    Points
    11 551
    Par défaut
    Citation Envoyé par seraphon91 Voir le message
    Bien que ce ne soit pas exactement le même driver, les pins sont exactement les même que le mien (mais pas au même endroit!).
    @ Auteur,
    Je pense que le driver est le même mais pas le pinout du shield, d'où cette différence. Après il peut effectivement avoir un problème de câblage.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  10. #10
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 579
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 579
    Points : 56 599
    Points
    56 599
    Billets dans le blog
    40
    Par défaut
    Bonsoir,

    Gagné ! Le driver de la copie d'écran provient de SparkFun : https://www.sparkfun.com/products/9457
    La disposition des broches n'est pas la même que chez polulu.

  11. #11
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 579
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 579
    Points : 56 599
    Points
    56 599
    Billets dans le blog
    40
    Par défaut
    Citation Envoyé par f-leb Voir le message
    Gagné ! Le driver de la copie d'écran provient de SparkFun : https://www.sparkfun.com/products/9457
    La disposition des broches n'est pas la même que chez pololu.
    Nom : TB6612FNG.png
Affichages : 4237
Taille : 18,7 Ko
    SparkFun - Pololu

    Chez SparkFun, VMot est en haut alors que chez Pololu c'est GND qui est en haut !

  12. #12
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 84
    Points : 19
    Points
    19
    Par défaut
    Bonjour.

    Tout d'abord merci pour vos réponses. Oui effectivement il y a quelques différences entre les deux drivers. Comme l'a dis très justement f-leb, les pins ne sont pas situés au même endroit. La différence devrait être juste là.

    Pour ce qui est de la suggestion de Vincent PETIT, je n'ai effectivement pas précisé dans mon programme que STDBY devait être dans l'état HAUT.
    Je vais faire d'autres tests ce matin et vous tiens au courant des résultats.

    Encore merci pour votre aide.

  13. #13
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 84
    Points : 19
    Points
    19
    Par défaut
    Après avoir rajouter la ligne ci-dessous dans la fonction void loop(), les moteurs ne tournent toujours pas

    digitalWrite(pinSTBY, HIGH);

    Par avance merci pour votre aide.

  14. #14
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 185
    Points : 11 551
    Points
    11 551
    Par défaut
    - Fait nous un schéma complet de ton câblage (le schéma réel) même un scan à la main si il faut mais que l'on puisse s'y retrouver sans devoir extrapoler avec un module équivalent dont le PINOUT est différent. Les masses doivent être commune entre le Arduino est l'alimentation du module.

    - Ton alimentation est réglée sur 6V 1A (je pense que c'est une alim de labo) alors est ce que l'affichage de courant clignote quand tu essais de mettre le tout en marche ? (court-circuit ou courant trop faible)

    - Est ce que tu as un voltmètre a disposition ? Si oui, je voudrais que tu contrôles les sorties PWM avec. En mettant un PWM de 50% "analogWrite(pinPWMA,127);" ton mutlimètre mesurera : la tension d'alimentation de l'Arduino / 2
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  15. #15
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 84
    Points : 19
    Points
    19
    Par défaut
    Voila mon montage en photo (désolé je n'ai pas le temps de faire un beau schéma :s ):
    http://hpics.li/40c9e86
    http://hpics.li/38165ea

    Il n'y a rien qui clignote sur mon alimentation ou sur la carte Arduino.

    Oui j'ai un voltmètre à disposition. Je vais ferais les mesures probablement demain matin. Je posterai alors les résultats obtenus.

    De nouveau merci.

  16. #16
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 185
    Points : 11 551
    Points
    11 551
    Par défaut
    Je vais attendre ton schéma de câblage car les photos ne sont pas exploitables.

    Prends le temps de le faire proprement en n'oubliant aucun détail surtout car c'est très important (l'histoire des masses communes par exemple.)
    Met moi également dessus les niveaux de tension que je puisse regarder la datasheet du driver MOSFET.

    Citation Envoyé par Vincent PETIT
    Est ce que tu as un voltmètre a disposition ? Si oui, je voudrais que tu contrôles les sorties PWM avec. En mettant un PWM de 50% "analogWrite(pinPWMA,127);" ton mutlimètre mesurera : la tension d'alimentation de l'Arduino / 2
    En plus de ce test, je voudrai aussi que tu fasses "analogWrite(pinPWMA,255);" et que tu mesures la tension aux bornes du moteur. Avec ce PWM proche de 100% tu devrais retrouver environ tes +6V et ça permettra de voir si au moins les moteurs sont alimentés.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  17. #17
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 646
    Points : 11 135
    Points
    11 135
    Par défaut
    Les fils dénudés comme ça ce n'est pas l'idéal il y aura toujours un brin qui va partir de travers et toucher le fil à côté
    Dénude tes fils sur 0,5cm maximum et tresse la partie dénudée pour éviter que les brins partent dans tous les sens.

    En bas à droite, il y a un mélange de fils rouge, bleus (ceux qui font le +5V et la masse) et noir : j'ai même l'impression que tu as divisé en 2 un fil bleu pour le connecter sur 2 endroits à la fois. Ce même fil bleu fait un coude assez curieux autour du rouge

    Autre point important : les strap ne s'enfoncent pas toujours très bien dans les connecteurs de la platine d'essai.

    Tout comme Vincent PETIT, j'aimerais voir un schéma de ton câblage et pourquoi pas un montage plus propre

  18. #18
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 84
    Points : 19
    Points
    19
    Par défaut
    Bonsoir,

    Pas de soucis je vous fais ça pour demain en fin de matinée!

    Merci.

  19. #19
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 84
    Points : 19
    Points
    19
    Par défaut
    Bonjour,

    Voila mon schéma de mon câblage. Désolé si ce n'est pas très très propre mais j'ai du le faire avec paint par manque d'outil dans le labo où je suis...
    http://hpics.li/99933d7

    Je vous envoie dés que possible les mesures que vous m'avez demandé hier. Il se peut que je puisse vous les donner seulement en début d'après midi.

    Si vous avez des remarques ou des questions concernant le schéma, je passerai sur le forum tout les demi-heure/ 1h suivant mes disponibilités.

    Merci.

  20. #20
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 646
    Points : 11 135
    Points
    11 135
    Par défaut
    En regardant très rapidement ton schéma (je regarderai plus en détails dans la soirée) une question m'est venue à l'esprit (même si je pense connaître la réponse, c'est pour être sûr) :
    Comment est alimenté ton Arduino ? Avec ton alimentation 6V ? Ou par le port USB ?
    Par la suite, comment sera alimentée la platine Arduino ? Toujours par USB, ou avec une alimentation externe ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 5 12345 DernièreDernière

Discussions similaires

  1. Logiciel pour avoir la TV à l'aide d'une Carte TV
    Par rolls dans le forum Composants
    Réponses: 2
    Dernier message: 10/12/2008, 17h38
  2. Aide pour une requete, deux table, un champ commun.
    Par Space Cowboy dans le forum Requêtes
    Réponses: 1
    Dernier message: 15/03/2007, 11h59
  3. Réponses: 5
    Dernier message: 29/01/2007, 10h16
  4. Deux moteurs interbase pour une seule base ?
    Par Yurck dans le forum InterBase
    Réponses: 11
    Dernier message: 21/09/2006, 16h45
  5. Réponses: 12
    Dernier message: 03/01/2006, 21h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo