problème avec avec un 74HC595

Bonjour,

Souhaitant me lancer dans un projet de wordclock, je me suis acheté quelques 74HC595 pour fait du “shift register”.

J’ai donc commencé par un montage simple (un 74HC595 + 3 led) pour me familiariser avec ce composant.
Cela ma paraissait assez simple et pourant je n’arrive pas à allumer mes led :frowning:

J’ai testé la tension à la sortie de mon 74HC595 sur q0,q1,q2 et je vois bien un changement d’état donc jusque la tout va bien.
J’ai testé la tension avant/après mes led et là encore j’ai bien une tension (environ 4.5v) donc encore une fois tout semble correct.
Et pourant mes led restent désespérement silencieuses :frowning:

J’ai bien sure testé mes led et resistances : r.a.s.
j’ai changé mon 74HC595 : r.a.s.

Une idée?

Ci joint mon schéma et mon code.

Toute aide, idées, commentaires… seront les bienvenues :slight_smile:

Cordialement,
Erwan

//the pins we are using
int latchPin = 2;
int clockPin = 3;
int dataPin = 4;
 
void setup() {
  //set all the pins used to talk to the chip
  //as output pins so we can write to them
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
  
  //pinMode(13, OUTPUT);
  //digitalWrite(13, HIGH);
}
 
void loop() {
  for (int i = 0; i < 8; i++) {
    //for each of the numbers 0 to 7...
 
    //take the latchPin low so the LEDs don't
    //change while we are writing data
    digitalWrite(latchPin, LOW);
 
    //shift out the bits
    shiftOut(dataPin, clockPin, MSBFIRST, i);  
 
    //take the latch pin high so the pins reflect
    //the data we have sent
    digitalWrite(latchPin, HIGH);
 
    // pause before next value:
    delay(2000);
  }
}

Il y a peut-être des erreurs dans le code mais il y a surtout une non lecture de la datasheet du 74HC595.

La datasheet indique
ABSOLUTE MAXIMUM RATING
I_par_sortie max = +/-35 mA
Icc max = 70 mA → Attention c’est le courant qui circule par les pattes d’alimentation Vcc et GND !

Mais on n’utilise jamais un composant aux valeurs des ABSOLUTE MAXIMUM RATING. Elles sont indiquées juste pour que l’utilisateur ne détruise pas le produit.

On utilise un composant aux RECOMMENDED OPERATING CONDITIONS
et là on voit :
Pour Vcc = 4,5V → I_par_sortie <= 6 mA

Donc je pense que c’est simple : dans le meilleur des cas le 74HC595 s’est mis à genoux .Dans le pire prépares toi a ouvrir le porte-monnaie.
Un registre à décalage est circuit de calcul, ce n’est un circuit de puissance.
Pour les diodes il faut les interfacer avec un transistor.

Ok merci pour cette réponse.
J'avais commencé à pressentir un pb d'intensité.
Je viens de mesurer et je sors du 12ma sur les bornes de sortie de mon 74HC595 ce qui, j'imagine, est trop juste pour alimenter une led...

En googlant, c'est assez trompeur car on trouve tout un tas de schémas ou les led sont alimentées par le 74HC595...
Exemple ici : http://www.arduino.cc/en/Tutorial/ShiftOut .

Ca m'apprendra à ne pas lire la datasheet !

Me reste plus qu'a me trouver des transistors :frowning:

Merci pour le coup de main !

/Erwan

En googlant, c'est assez trompeur car on trouve tout un tas de schémas ou les led sont alimentées par le 74HC595...

Toutes les Dels ne consomment pas 20 ou 30 mA.
Certaines plus de 100 mA et d'autres à peine 2 mA --> il faudrait lire aussi les datasheets des Dels mais que ce soit chez les revendeurs en Europe ou sur Ebay il est impossible de connaître les références exactes.

Je viens de mesurer la conso de mes led : 70 ma chacune… soit 210 ma sur mon schéma dans mon 1er post.
Autant dire que j’explose les specs de mon 74HC595 aussi bien sur une borne de sortie qu’au total…

La bonne nouvelle c’est qu’a priori je n’ai pas grillé mon composant puisqu’il se comporte toujours comme attendu.

Merci bcp 68tjs pour tes conseils !

/Erwan

Bonsoir,

Un composant du même type mais permettant de tirer plus de courant est le TPIC6B595.

Pour ceux que ca intéresse, j’ai résolu mon pb avec le schéma ci joint .
Je n’ai dessiné que 2 leds mais en fait j’en fait tourner 8.

J’ai donc une alim externe pour mes leds avec une série de transistors et j’utilise aussi mon alim externe pour alimenter l’arduino via le vin.

La prochaine évolution est un ULN2803A pour remplacer la série de transistors.

A terme, c’est une “wordclock” que je cherche à réaliser.

/Erwan

Pour compléter ce post, ci joint mon schéma revu et corriger avec un ULN2803.

On a donc un 74HC595 qui pilote un ULN2803 qui pilote 8 leds…
Le tout sur une alim externe qui alimente l’arduino et les leds séparément.
j’ai préféré laisser mes circuits intégrés sur la borne 5v (régulée) de mon arduino.

Une vidéo ici : Arduino : shift out leds – Erwan's Blog pour illustrer le tout (8 leds en mode “chenillard”).

Prochaine étape : cascader plusieurs 74HC595 .

/Erwan