Partage

L293D grillé : comment vérifier l'état du Shield ?

6 mai 2014 à 20:36:19

Bonsoir,

Je ne sais toujours pas comment mais j'ai fait fondre l'un des deux L293D de ce Motorshield.

Je me suis simplement dit, puisque je n'utilise que le moteur 2, que je pouvais remplacer le L293D grillé par celui qui gère les moteurs 3 et 4, inutilisé donc.

Malheureusement "l'astuce" ne fonctionne pas, et je n'arrive plus à faire tourner le moteur.

D'où mes questions :

-> S'il manque un L293D sur le MotorShield, est-ce que le comportement du Shield reste tout de même le même en ce qui concerne ls moteurs 1 et 2 ?

-> Comment vérifier ce qui a put être endommagé ?

Je suis à votre entière disposition si il est nécessaire que j'apporte des renseignements supplémentaires.

Merci par avance pour votre aide patiente et pertinente. :)

6 mai 2014 à 20:45:07

Bah si tu ne sais pas comment tu as fait pour le griller ca ne sert à rien de réparer, tu risque de le re-griller...

Quelques causes :

- Trop de courant (Max 600 mA / channel sur un L293D)

- Le shield est mal designé et ne possède pas une surface de refroidissement suffisamment importante pour dissiper la chaleur au courant max, ce qui veut dire que le courant max est inférieur à 600 mA. Le composant a potentiellement trop chauffé donc.

- Utilisation du moteur sur l'alim moteur (VCC2) avant que le composant ait sa tension logique (VCC1)
7 mai 2014 à 7:09:09

Quand je dis que je ne sais pas comment ça se fait, j'ai quand même ma petite idée à présent : j'ai normalement deux moteurs connectés au Shield, l'un qui nécessite du 4,5V et l'autre du 32V. J'ai alimenté le Shield en 32V mais n'ai branché que le premier moteur... Il était trop tard quand je m'en suis rendu compte. ;)

Je ne referai pas la même bêtise, mais ce qui m'inquiète c'est que même en alimentant le shield avec 4,5V, le petit moteur branché seul ne tourne pas (alors que si je connecte directement les piles au moteur, il tourne).

D'où mes différentes questions plus haut. ;)

Je précise que j'ai enlevé le VinJumper, ce qui a probablement sauvé l'Arduino. ;)

7 mai 2014 à 8:30:17

Je ne referai pas la même bêtise, mais ce qui m'inquiète c'est que même en alimentant le shield avec 4,5V, le petit moteur branché seul ne tourne pas (alors que si je connecte directement les piles au moteur, il tourne).

Ca c'est pas reelement surprenant. L'alim "puissance" a besoin d'etre superieur a l'alim "logique" (je ne me souviens plus de combien de volt, go datasheet :D )

7 mai 2014 à 12:54:23

Entendu.

Je viens de refaire des essais avec du 9V pour la "puissance" mais je n'ai pas plus de résultats...

Merci pour ta réponse, tu es décidément partout ! Moi qui ne voulais pas te déranger davantage avec mes soucis de débutant... ^^

7 mai 2014 à 13:33:40

Ne0tuX a écrit:

Merci pour ta réponse, tu es décidément partout ! Moi qui ne voulais pas te déranger davantage avec mes soucis de débutant... ^^

Tu as juste empiété sur mes deux territoires de chasse :D : Mon blog (logique) et OC section electro (et les autres sections pour troller surtout XD )

Mais assez paradoxalement je ne suis pas vraiment présent sur arduino.cc ou developpez.com par exemple.

8 mai 2014 à 15:53:08

Aurais-tu une marche à suivre pour que je puisse avancer, je piétine sur ce problème depuis plusieurs jours maintenant, et je ne sais toujours pas si j'ai réellement endommagé quelquechose ou si je m'y prend mal pour faire tourner le moteur (pourtant avant ça fonctionnait).
8 mai 2014 à 16:08:20

Bin si tu as flambé les L293 il y a pas grand chose à faire a part les changer... (RS particuliers livre gratuitement pour les commandes faite le weekend)

8 mai 2014 à 19:24:45

Je l'ai changé (comme je le disais plus haut) et ça ne fonctionne pas plus, c'est bien ça le soucis... :/

11 mai 2014 à 9:31:18

J'ai besoin d'aide s'il vous plait, je suis bloqué à cause de ce soucis depuis plus d'une semaine, et je suis persuadé que vous pouvez m'aider. :)
11 mai 2014 à 11:52:12

Bonjour,

quand tu alimentes tes moteurs sur le bornier d'alimentation des moteurs avec ta pile 9v par exemple est ce que la led 1 qui est juste au dessus s'allume ?

la commande des moteurs se fait par le composant du milieu repéré IC3 qui est 74hc595 il est probable qu'il est aussi dégagé si tu en as un sous la main (qu'on retrouve généralement dans les kit arduino) remplace le et test avec une tension moteur qui ne dépasse pas les 10V

Bon courage

Knowledge is free !!!
11 mai 2014 à 12:24:12

Bonjour, 

Merci pour ta réponse ! :)

Oui la LED s'allume bien. ;)

Si je comprends bien, le composant du milieu IC3 est nécessaire au fonctionnement de ceux à sa droite et à sa gauche, les L293D ? Et tu supposes que ce composant a également été endommagé, ce qui pourrait expliquer bien des choses... Est-ce qu'il y a moyen de vérifier si ce composant est bel est bien HS ?

Je vais essayer de le remplacer, et voir ce que ça donne.

Merci pour ton aide ! :)

11 mai 2014 à 13:34:22

Tu peux le vérifier si tu as un voltmètre il suffit de mesurer que les signaux de commande envoyés au 2 L293D soit existant.

sinon je te met en lien au cas ou un fichier rar provenant de sainsmart qui détaille la schématique de la carte et qui fournis des programme test c'est ici ==> https://s3-ap-northeast-1.amazonaws.com/sain-amzn/20/20-011-914/L293.rar

Voila tiens nous au courant. (lol sans faire de jeux de mots bien sur :p)

Knowledge is free !!!
11 mai 2014 à 18:03:44

Tu me sauves, c'est exactement l'aide dont j'avais besoin. :)

La dernière fois que j'ai regardé ce que j'avais sur le L293D avec un voltmètre, il n'y avait rien de "changeant". J'avais bien les tensions d'alimentation aux bons endroits, les masses étaient ok mais sur les autres bornes j'avais toujours une valeur fixe aux alentours de 0,16V.

On peut en déduire qu'en définitive le composant du centre est aussi endommagé.

Je m'empresse de regarder ces programmes tests, afin de m'assurer que le L293D que j'utilise est toujours en état de fonctionnement, et valider l'hypothèse d'un IC3 grillé.


Bien sûr, je vous tiendrai au jus. ;)

11 mai 2014 à 18:08:15

Petite question subsidiaire : est-ce que le composant dont tu parles est celui que l'on voit en bas à gauche de cette photo ?

11 mai 2014 à 23:03:39

Auto-réponse : oui il s'agit bien de ledit composant qui était grillé, en plus du L293D.

Je viens de le changer et ça re-fonctionne !

Merci à vous trois pour votre aide, vraiment. :)

11 mai 2014 à 23:06:45

Pas de soucis,

heureux que çà refonctionne :)

Knowledge is free !!!
14 mai 2014 à 21:50:07

Salut,

J'aimerais rebondir sur le troisième "tiret" de zeqL :

Si je comprends bien, il faut toujours alimenter en premier l'Arduino, puis alimenter le shield ?

14 mai 2014 à 22:07:53

Si tu utilise une alimentation extérieure pour alimenter les moteurs, il vaut mieux que l'Arduino (et donc le shield) soit alimentée en premier.
20 mai 2014 à 22:24:09

Ok, j'ai suivi vvos conseils et ça fonctionne.

J'ai un nouveau soucis : j'ai un bout de code qui fonctionne bien pour un sens de rotation du moteur, mais qui ne fait rien du tout pour l'autre sens...

Le problème en question concerne la ligne 30 :

#include <AFMotor.h>                             // Inclusion de la librairie AFMotor, pour plus de commodité pour l'utilisation des moteurs

AF_DCMotor MoteurFourche(2, MOTOR12_64KHZ); // Déclaration d'un moteur pour déplacer le capteur infra sur le port 2, avec une fréquence de PWM de 64KHz

int PositionFourche = 0; //Initialisation à 0 de la position de la fourche
int Voie2Fourche = 3; // Déclaration de la voie 2 de la fourche sur le pin digital 3

void setup()
{
  Serial.begin(9600); // Etablissement de la connexion avec l'ordinateur pour suivre le déroulement à l'écran du PC
  Serial.println("--- ProtoLabel 1 ---");        // Petit message de bienvenue
  
  MoteurFourche.setSpeed(100);              // Vitesse à 100 pour le moteur de la fourche
}

void MontantVoie1Fourche ()
{
  if (analogRead(Voie2Fourche) >= 512) {PositionFourche--;} // Si la valeur lue en voie 2 est basse alors on décrémente la position
  else {PositionFourche++;}
}

void DescendantVoie1Fourche ()
{
  if (analogRead(Voie2Fourche) >= 512) {PositionFourche--;} // Si la valeur lue en voie 2 est basse alors on décrémente la position
  else {PositionFourche++;}
}

void loop()
{
  MoteurFourche.run(FORWARD); //Avance de la fourche dans le sens positif : si j'écris "BACKWARD" le programme s'execute bien mais le moteur ne bouge pas d'un yota
  
  Serial.println(PositionFourche);                        //Affichage à l'écran du PC de la position actuelle de la fourche
  
  attachInterrupt(0, MontantVoie1Fourche, RISING);        //Détection des fronts montants sur la voie 1
  attachInterrupt(0, DescendantVoie1Fourche, FALLING);    //Détection des fronts descendants sur la voie 1
  
  delay(20);
  
  Serial.println("Pause");
  
  MoteurFourche.run(RELEASE);
  
  delay(1000);
}

Est-ce que quelqu’un a une explication à cet étrange phénomène ? :)

-
Edité par Ne0tuX 20 mai 2014 à 22:25:02

L293D grillé : comment vérifier l'état du Shield ?

× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
  • Editeur
  • Markdown