[Autre] Gpio 3.3 -> 5v
Répondre à la discussion
Affichage des résultats 1 à 24 sur 24

Gpio 3.3 -> 5v



  1. #1
    iiioufmaniii

    Question Gpio 3.3 -> 5v


    ------

    Bonjour,

    Je me lance un peu d'en l'électronique car j'aimerais bien me créer un source de musique dématérialisée avec un raspberry Pi.

    Je voudrais commander mon amplificateur NAD C325BEE en utilisant le port GPIO d'un raspberry PI.

    Mon ampli dispose d'un connecteur d'entrée IR en mini-jack utilisant le codage NEC. La pointe porte le signal et le manchon est à la masse. Le niveau de signal est 5V. Le signal peut être modulé avec un porteuse de 38 kHz ou peut être non modulé. Pour les signaux non modulés, le signal peut être normalement faible avec des impulsions positives ou normalement élevé avec des impulsions négatives. L'impédance de cette entrée est > 10 kOhm.

    J'utilise la librairie LIRC pour envoyé le signal.

    Mon problème est que le GPIO du raspberry a une tension de sortie de 3,3 V et non de 5V. Le signal étant trop faible l'ampli reçoit correctement l'information que 50% du temps.

    J'ai voulu donc utiliser un transistor pour faire cette correction. Pourriez-vous confirmer mon montage ?

    Nom : image.png
Affichages : 429
Taille : 122,0 Ko

    Pour calculer la résistance j'ai fais le raisonnement suivant : pour que le transistor fonctionne en saturation il faut que Vbe soit > 0,6. Donc Vr = Vgpio - Vbe = 3,3 - 0,6 > 2,7 V

    Je me suis dis que je voulais au max que mon ampli reçoive Ic = 20mA (mais la je n'en ai aucune idée, j'ai pris cette valeur au pif) pour pas le griller.

    Ib = Ic / Hfe

    D'après le datasheet le gain Hfe varie énormément en fonction de la température et du courant Ic. Je prend 200 mais un peu au pif.

    Donc R = U / (Ic / Hfe) = 2,7 / (20e-3 / 200) = 27 kOhms.

    En gros je suis un peu perdu. Comment puis-je savoir quel Hfe je vais avoir ? Comment je choisis Ic ?

    De plus dans cette configuration je suis un peu embêté qu'il y ait toujours le 5V du Raspberry qui traine car j'ai peur de faire un court-circuit par exemple en faisant toucher le jack et le boitier.

    Merci par avance de vos réponses.

    -----

  2. #2
    DAUDET78

    Re : Gpio 3.3 -> 5v

    Citation Envoyé par iiioufmaniii Voir le message
    J'ai voulu donc utiliser un transistor pour faire cette correction. Pourriez-vous confirmer mon montage ?
    Ton 2N2222 met en court-circuit ton 5V !
    D'après le datasheet le gain Hfe varie énormément en fonction de la température et du courant Ic.
    En saturation, le gain du 2N2222 est de 10 (voir la datasheet)
    J'aime pas le Grec

  3. #3
    iiioufmaniii

    Re : Gpio 3.3 -> 5v

    Salut,

    Citation Envoyé par DAUDET78 Voir le message
    Ton 2N2222 met en court-circuit ton 5V !
    Je ne veux pas faire chuter la tension aux bornes du jack. Je peux mettre une résistance à l'émetteur pour corriger cela ?

    Citation Envoyé par DAUDET78 Voir le message
    En saturation, le gain du 2N2222 est de 10 (voir la datasheet)
    J'ai beau regarder le datasheet (https://www.onsemi.com/pub/Collateral/P2N2222A-D.PDF) je ne vois pas cette valeur. Peux-tu m'indiquer ou est elle pour que je puisse la retrouver sur les autres datasheets ?

    Merci

  4. #4
    DAUDET78

    Re : Gpio 3.3 -> 5v

    Citation Envoyé par iiioufmaniii Voir le message
    J'ai beau regarder le datasheet (https://www.onsemi.com/pub/Collateral/P2N2222A-D.PDF) je ne vois pas cette valeur. Peux-tu m'indiquer ou est elle pour que je puisse la retrouver sur les autres datasheets ?
    Nom : Beta Daudet.JPG
Affichages : 353
Taille : 73,5 Ko
    Je ne veux pas faire chuter la tension aux bornes du jack. Je peux mettre une résistance à l'émetteur pour corriger cela ?
    Mon ampli dispose d'un connecteur d'entrée IR en mini-jack utilisant le codage NEC
    Je ne connais pas la norme de ce type d'entrée
    J'aime pas le Grec

  5. A voir en vidéo sur Futura
  6. #5
    iiioufmaniii

    Re : Gpio 3.3 -> 5v

    Quand j'ai contacté NAD il m'ont répondu :

    Mon ampli dispose d'un connecteur d'entrée IR en mini-jack utilisant le codage NEC. La pointe porte le signal et le manchon est à la masse. Le niveau de signal est 5V. Le signal peut être modulé avec un porteuse de 38 kHz ou peut être non modulé. Pour les signaux non modulés, le signal peut être normalement faible avec des impulsions positives ou normalement élevé avec des impulsions négatives. L'impédance de cette entrée est > 10 kOhm.
    C'est cette norme que je dois respecter.


    Merci pour l'explication du gain en saturation j'ai maitenant compris. Je m'attendais à trouver un paramètre du style Hfe_sat ou Hfe*
    Dernière modification par iiioufmaniii ; 15/11/2017 à 13h00.

  7. #6
    DAUDET78

    Re : Gpio 3.3 -> 5v

    Citation Envoyé par iiioufmaniii Voir le message
    Quand j'ai contacté NAD il m'ont répondu :
    C'est cette norme que je dois respecter.
    Donc, a priori, c'est du 0/5V . Donc pas besoin de 20mA . Tu mets une résistance de PullUP de 1K dans le collecteur du transistor et une résistance de base en série de 10K avec la sortie du µC
    J'aime pas le Grec

  8. #7
    iiioufmaniii

    Re : Gpio 3.3 -> 5v

    Donc, a priori, c'est du 0/5V . Donc pas besoin de 20mA . Tu mets une résistance de PullUP de 1K dans le collecteur du transistor et une résistance de base en série de 10K avec la sortie du µC
    Désolé mais je n'ai pas bien compris. µC est l'abréviation pour transistor ?

    Voici le nouveau schéma :
    Nom : Capture d’écran 2017-11-15 à 14.24.03.png
Affichages : 345
Taille : 20,8 Ko

  9. #8
    iiioufmaniii

    Re : Gpio 3.3 -> 5v

    µC est l'abréviation pour micro contrôleur

  10. #9
    iiioufmaniii

    Re : Gpio 3.3 -> 5v

    Cette fois je crois que j'ai compris. Il me semble qu'avec le transistor que j'ai et si je met une resistance de 10k à la base je ne serais pas en saturation donc cela ne marchera pas.

    Je vais récapituler pour voir si j'ai bien compris.

    Voici le schéma du montage :

    Nom : Capture d’écran 2017-11-15 à 15.53.42.png
Affichages : 341
Taille : 11,0 Ko

    Avec E1 l'alimentation à 5V, E2 le port GPIO soit OV soit 3,3V. V1 la sortie IR input.

    R1 est la résistance de PullUp pour éviter que le transistor mette en court-circuit E1 quand il sature. (De plus elle permet aussi d'éviter que si le jack touche le boitier en métal cela fasse le même court-circuit).

    1) On choisie R1 pour que Ic ne soit pas grand.

    Si on prends R1 = 1kOhm.
    => Ic = E1/R1 = 5/1e3 = 5 mA.

    2) On doit trouver R2 pour que le transistor soit en régime de saturation.

    Pour cela il faut que V_BE > 0.6 (cf datasheet)

    Ce transistor à un gain Hfe de 10 quand il est en saturation. (Cf datasheet chercher V_CE_sat et calculer Ib / Ic ici 15/150).

    => V_R2 < E2 - V_BE_sat

    R2 < ( E2 - V_BE_sat ) / ( Ic / Hfe_sat )

    R2 < (3.3 - 0.6) / (5e-3 / 10)

    R2 < 5.4 kOhm

    J'ai réalisé une simulation à l'aide du logiciel Solve Elec (d'ailleur j'ai bien galéré à en trouver un gratuit et fonctionnel) sous mac est cela semble OK.

    Merci

  11. #10
    DAUDET78

    Re : Gpio 3.3 -> 5v

    Citation Envoyé par iiioufmaniii Voir le message
    Il me semble qu'avec le transistor que j'ai et si je met une resistance de 10k à la base je ne serais pas en saturation donc cela ne marchera pas.
    Effectivement , j'ai calculé mentalement avec une commande à 5V !
    Par contre, si l'entrée de ton machin IRinput fait 10K, la tension de commande sera de 0,3V/4,5V . Je ne pense pas que ça devrait le gêner .

    PS : La phase de ton signal est inversé par le montage
    J'aime pas le Grec

  12. #11
    iiioufmaniii

    Re : Gpio 3.3 -> 5v

    Je viens de tester et cela ne fonctionne pas l'ampli ne reçoit pas les données. Je ne sais pas si c'est les tensions 0,3V/4,5V ou l'inversion de phase ou les parasites, le transistor pas assez rapide.

    Je vais re-tester en mettant une LED infrarouge avec ce montage en changeant bien sur la valeur des résistances.

    Merci.

  13. #12
    DAUDET78

    Re : Gpio 3.3 -> 5v

    Citation Envoyé par iiioufmaniii Voir le message
    le transistor pas assez rapide.
    Le montage passe à l'aise le 100Khz

    Je vais re-tester en mettant une LED infrarouge avec ce montage en changeant bien sur la valeur des résistances.
    Donc la LED en série avec 170 ohm. Résistance de base 1K

    As tu la possibilité d'inverser, par soft, la phase du signal de commande?
    As tu un oscilloscope ?
    J'aime pas le Grec

  14. #13
    iiioufmaniii

    Post Re : Gpio 3.3 -> 5v

    Bonjour,

    Donc la LED en série avec 170 ohm. Résistance de base 1K
    J'ai testé avec ce montage => Cela fonctionne.

    De plus j'ai re-testé en branchant directement la GPIO à l'IR INPUT cela fonctionne aléatoirement. Je pense que le 0-3.3V n'est pas super bien interprété.

    Puis J'ai trouvé comment inverser la phase du signal par soft.

    Code:
    Pour info sur la rapsberry pi il faut ajouter invert=1 dans le fichier /boot/config.txt dans la section LIRC : 
    #LIRC
    dtoverlay=lirc-rpi,gpio_out_pin=4,gpio_in_pin=26,invert=1
    En gardant la connexion directe entre l'IR INPUT et le GPIO j'active l'inversion et cela ne marche plus du tout. Ce qui confirme que l'inversion du signal par le soft fonctionne.

    Du coup je re fais le montage avec le transistor et l'inversion du signal => Cela ne fonctionne pas.

    Bon je tente une dernière chose je me dis qu'en fait la courant du collecteur est trop faible. Donc je prends une résistance de pullup à 147 Ohm et la résistance de base à 500Ohm. => Cela fonctionne enfin.

    Par contre je n'aime pas trop ce montage car en activant l'inversion, le GPIO est à 3.3 V quasi en permanence
    => Ic = 34mA => Donc la résistance de pullup dissipe 170mW en permanence.
    => Ib = 5,4mA => Donc la résistance sur la basse dissipe 14mW.

    Ptot > 180 mW. Ca fait beaucoup pour un état de veille non ?

    PS : Je n'ai pas d'oscilloscope.

  15. #14
    iiioufmaniii

    Re : Gpio 3.3 -> 5v

    J'ai trouvé le schéma interne de la connexion IR IN de l'ampli.

    Nom : Capture d’écran 2017-11-16 à 16.23.26.png
Affichages : 322
Taille : 45,4 Ko

    Peut-être que cela peut aider ?

  16. #15
    iiioufmaniii

    Re : Gpio 3.3 -> 5v

    Avec le datasheet de l'ir input je comprends pourquoi cela ne fonctionnais pas.

    Un peu de calcul :

    Nom : Capture d’écran 2017-11-16 à 16.57.03.png
Affichages : 318
Taille : 15,4 Ko

    On cherche à savoir le courant minimal qui doit rentrer dans IR Input (IRIN sur le schéma) pour que le transistor T1 soit en mode saturé.

    i_irinput = i_1 + i_2

    i_1 = U/R1 = 5 / 330 = 15 mA

    Pour que le T1 soit saturé il faut que U_IRIN - U_R2 - U_R3 < 0.6
    On note U_eq = U_R2 + U_R3
    U_eq = Req * i_2

    i_2 > ( U_IRIN - 0.6 ) / ( R_2 + R_3)
    i_2 > ( 5 - 0.6 ) / ( 10e3 + 10e3)
    i_2 > 0.22mA

    donc
    i_irinput > 0.22 + 15
    i_irinput > 16mA

    Du coup pour mon montage j'ai besoin que la résistance de pullup soit de 312Ohm et que la résistance de base soit max 1,68kOhm.

  17. #16
    iiioufmaniii

    Re : Gpio 3.3 -> 5v

    Bonjour tout le monde,

    Je n'aime pas trop cette idée de consommer 80mW en permanence.

    Auriez-vous d'autres suggestions de montage ?
    Je me demandais si je ne pouvais pas plutôt remplacer le transistor par un AOP en régime non linéaire. Mais dans ce cas je ne sais pas comment obtenir en sortie une plage de tension de 0-5V à la place de -5/5V.

  18. #17
    Antoane
    Responsable technique

    Re : Gpio 3.3 -> 5v

    Bonjour,
    J'ai réalisé une simulation à l'aide du logiciel Solve Elec (d'ailleur j'ai bien galéré à en trouver un gratuit et fonctionnel) sous mac est cela semble OK.
    Tu peux tester LTSpice : http://www.linear.com/designtools/software/
    Gratuit, performant et très utilisé (donc avec une bonne communauté en support).


    Je me demandais si je ne pouvais pas plutôt remplacer le transistor par un AOP en régime non linéaire. Mais dans ce cas je ne sais pas comment obtenir en sortie une plage de tension de 0-5V à la place de -5/5V.
    Éventuellement. Ou plutôt un comparateur, qui sont en pratique plus adaptés que les AOP au fonctionnement en régime non linéaire. Le calule des tension de sortie n'est pas une difficulté : il suffit d'alimenter le composant en 0/5V et de le laisser saturer sur ses tensions d'alimentation.


    En PJ un exemple de schéma qui devrait faire l'affaire. Je te laisse le comprendre - indice : tu peux négliger l'impact de R2 et R3.
    On pourrait se passer du NPN, ou remplacer le PNP par un NPN, mais c'est plus propre ainsi.
    Nom : fs111.jpg
Affichages : 325
Taille : 39,1 Ko
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  19. #18
    DAUDET78

    Re : Gpio 3.3 -> 5v

    Citation Envoyé par Antoane Voir le message
    On pourrait se passer du NPN,
    non, si la commande est en 0/3,3V
    J'aime pas le Grec

  20. #19
    Antoane
    Responsable technique

    Re : Gpio 3.3 -> 5v

    Faut bien calculer les résistances. Éventuellement mettre une diode.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  21. #20
    DAUDET78

    Re : Gpio 3.3 -> 5v

    Citation Envoyé par Antoane Voir le message
    Faut bien calculer les résistances. Éventuellement mettre une diode.
    Du bricolage sur la corde raide !
    J'aime pas le Grec

  22. #21
    Antoane
    Responsable technique

    Re : Gpio 3.3 -> 5v

    Tu comprends à présent pourquoi j'ai mis le schéma avec NPN en PJ
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  23. #22
    jiherve

    Re : Gpio 3.3 -> 5v

    Bonjour
    Pour adapter du 3,3v à du 5V en unidirectionnel le petit montage classique utilisant un NMOS TTL compatible montage en gate commune est bien suffisant, un transistor une résistance et c'est tout.
    JR
    l'électronique c'est pas du vaudou!

  24. #23
    Antoane
    Responsable technique

    Re : Gpio 3.3 -> 5v

    Bonjour,

    En l'occurrence, il faut pouvoir attaquer un montage avec pull-down de 330 Ohm en entrée, d'où le passage par un P-transistor pour éviter d'avoir à employer une trop petite pull-up.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  25. #24
    iiioufmaniii

    Re : Gpio 3.3 -> 5v

    Waou toutes ces réponses. Merci beaucoup.

    Citation Envoyé par Antoane Voir le message
    Tu peux tester LTSpice : http://www.linear.com/designtools/software/
    Gratuit, performant et très utilisé (donc avec une bonne communauté en support).
    Je vais le tester.

    Citation Envoyé par Antoane Voir le message
    En PJ un exemple de schéma qui devrait faire l'affaire. Je te laisse le comprendre - indice : tu peux négliger l'impact de R2 et R3.
    On pourrait se passer du NPN, ou remplacer le PNP par un NPN, mais c'est plus propre ainsi.
    fs111.jpg
    Ce weekend j'ai pas le temps de le regarder en détail mais je vais faire tout les calculs pour le comprendre.

    Et je vais ensuite essayer de comprendre le débat entre avec/sans NPN et pourquoi dans ce cas mettre une diode.

    Merci encore. Je reviens vers vous quand les calculs seront fais et le test aussi.

Discussions similaires

  1. gpio rapsberry pi bash
    Par robotzeus1 dans le forum Programmation et langages, Algorithmique
    Réponses: 11
    Dernier message: 29/06/2017, 10h10
  2. Protection GPIO du Raspberry Pi
    Par USMC dans le forum Électronique
    Réponses: 47
    Dernier message: 05/08/2015, 09h47
  3. Raspberry pi GPIO package
    Par invite38dd7265 dans le forum Électronique
    Réponses: 1
    Dernier message: 04/03/2015, 14h54
  4. I2C gpio extender/switch non volatile
    Par invitef9ccb542 dans le forum Électronique
    Réponses: 0
    Dernier message: 06/12/2010, 20h52
  5. GPIO.0 en entrée sur pic 12F675 et 629
    Par emile62 dans le forum Électronique
    Réponses: 3
    Dernier message: 23/07/2009, 10h42
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...