Partage
  • Partager sur Facebook
  • Partager sur Twitter

Commander un interrupteur 5V à partir de 3.3V

16 décembre 2013 à 1:33:56

Bonjour,

Je suis en train de faire un projet qui doit être fini d'ici la fin de semaine : je suis en train de fabriquer une guirlande électrique où l'on peut commander chaque diode une à une à partir d'un script Ocaml sur un ordinateur RaspberryPi. Ainsi pour le faire j'utilise des shift-registers qui doivent être alimentés, et qui reçoivent des commandes. Cependant si la tension des commandes est trop faible par rapport à l'alimentation, le shift ne prend pas en compte la commande. Il m'est donc impossible d'alimenter le shift-register en 5V et d'envoyer des commandes en 3.3V (sur Raspberry c'est la seule tension que l'on peut commander) car le rapport est trop important (< 0.7). Il y a donc deux solutions : alimenter en 3.3V ou commander en 5V.

  • J'ai essayé la première solution (en mettant un système de diodes/résistance à la sortie de l'alimentation), ça fonctionne plutôt bien, mais j'aurais aimer avoir un moyen pour envoyer du 5V aux LEDs afin d'avoir une luminosité plus importante (et aussi parce que je suis curieux).
  • Pour la deuxième solution, j'ai ainsi entendu parler des transistor NPN 2N2222A, et j'ai essayé de faire ce montage :

avec R = 2MΩ, pi envoyant du 3.3V, et shift devant recevoir du 5V (à noter que ce schéma inverse High et Low mais ce n'est pas un problème). Il semblait fonctionner plus ou moins (on arrivait même à monter à 7V au lieu de 5V, comme si les tensions s'étaient ajoutées), sauf que lorsqu'on le branche à la guirlande il y a des comportements étranges : certaines diodes ne s'allument pas toujours quand elles devraient, et parfois quand une diode s'allume, sa voisine s'allume également sans raisons, comme si l'information était mal interprétée.

D'où ma question (enfin !) : quelles sont les méthodes traditionnelles pour commander une sortie 5V avec une sortie 3.3V ? Savez-vous ce que je pourrais faire pour arranger mon problème, est-ce à cause de la valeur de R, ou de totalement autre chose ?

Merci d'avance.

-
Edité par little_programmeur 16 décembre 2013 à 1:34:55

  • Partager sur Facebook
  • Partager sur Twitter
16 décembre 2013 à 7:57:45

Tu peux mettre une porte logique avec des niveaux compatibles des 2 côtés (par exemple du HCT) ou bien simplement remplacer la résistance de 2MΩ par une plus petite genre entre 1 et 5kΩ.
  • Partager sur Facebook
  • Partager sur Twitter
20 décembre 2013 à 23:35:24

La solution des portes logiques HCT est une solution bonne et robuste.

Pour quand même corriger ton schéma, sache que celui ci  est très risqué pour tes sorties de Raspberry car le courant de base du NPN n'est pas limité.

Il faut mettre une résistance entre base et Raspberry, de plus le transistor n'est pas adapté.

La résistance de 2M est un peu forte car tu as une capa parasite entre collecteur et base de l'ordre de 5pF, ca te fait tout de même une constante de temps de 10µs lorsque ton signal passe de 0 à 5V. Je ne sais pas à quelle vitesse tu communique avec le shift mais vers les 10kHz ca te cassera déja bien les fronts montants, et si tu monte encore en fréquence ça ne marchera plus du tout.

Enfin c'était pour info, prend de la logique tu t’embêteras moins et c'est pas cher.

Prend bien de la HCT car celle ci a l'avantage(c'est pas toujours un avantage) de considérer ses entrée à l'état haut à partir de 2V environ, en sortie tu as du 5V. Prend par exemple le 74HCT04.

  • Partager sur Facebook
  • Partager sur Twitter
21 décembre 2013 à 0:27:12

Pour bien dimensionner ton second circuit je pense que tu peux regarder la vidéo : http://www.youtube.com/watch?v=8DMZSxS-xVc

  • Partager sur Facebook
  • Partager sur Twitter
Oalley.fr une carte intelligente pour se déplacer et se retrouver !
8 janvier 2014 à 23:45:41

Merci à tous pour vos réponses et désolé pour le temps que j'ai mis à répondre !

Alors un amis (je ne lui avais pas encore parlé de vos réponses lorsqu'il l'a trouvé) à acheté un convertisseur 5V --> 3.3V (ça coûte plus cher par contre, 4€) qui a permis de faire fonctionner la guirlande, le rendu a été moins pire que je ne le croyais, mais bon c'est moins propre. En ce qui concerne les portes logiques, ça me parait approprié en effet, je vais vraiment y jeter un coup d'œil dés que j'ai un moment, faut vraiment que je m'en trouve. Et merci pour la vidéo elle me parait plutôt bien faite !

Juste encore une petite question : cyr1ll3 tu écris que le transistor que j'utilise n'est pas adapté. Qu'est-ce qui fait qu'un transistor sera bon et pas un autre ? Je ne savais pas qu'il y avait une capacité interne sur le transistor, c'est vraiment bon à savoir, et ca expliquerait peut être les bugs d'affichage ! (je communique aussi vite que possible, je pense que ça doit être de l'ordre de 20MHz)

Encore merci pour vos réponses.

  • Partager sur Facebook
  • Partager sur Twitter