Go Down

Topic: PB avec Logic-Level-Converter-Bi-Directional-Module-5V-to-3-3V et un vnh2SP30 (Read 472 times) previous topic - next topic

fr

Bonjour,


Je veux commander un VNH2SP30 avec un ESP8266
Le premier veut du 5v et le second donne du 3.3V

Banal : il faut un convertisseur de niveau

J'ai donc une petite platine avec 4 mosfet

Aucun problème avec les pins inA et inB mais la pin PWM ne fonctionne pas

La sortie d'un convertisseur est bien à 5v quand l'entrée est à 3,3v mais dès que je branche la pin pwm rien, la sortie passe à 2,6v et le driver ne démarre pas pourtant si je branche pwm sur du 5v il fonctionne

Le vnh tire-t-il trop sur le mosfet du convertisseur ?
Dois-je envisager une autre solution ? Laquelle ?

al1fch

et côté source , quel GPIO de l'ESP8266 fournit le PWM ?

Quote
mais dès que je branche la pin pwm rien, la sortie passe à 2,6v
cette valeur a été :
-observée à l'oscilloscope ?
-mesurée au multimètre ?
pour quelle valeur du rapport cyclique du PWM ?

A première vue la doc des entrées  PWM du 2SP30 ne présente pas ces entrées comme devant charger particulièrement leur source

Un schéma , avec les  tensions d'alimentations diverses, ne ferait pas de mal.....à défaut il faut imaginer...
un vrai schéma, pas une image de câblage Fritzing/Playmobil !!

fr

Merci de répondre aussi vite
J'ai



Mesurer au multimètre : sortie du convertisseur à 2.6v  au lieu de 5v et intensité de 2,.. mA

Rapport de pwm : 100% puisque j'envoie du 3.3V pur

Mesure de l'intensité quand le pwm est sur le 5v : 5,2 mA    

Si le schéma du convertisseur est un Nmos relié au 5v avec une résistance de 10K : c'est sûr que cela ne peut pas fournir 5mA



Un  montage avec un Pmos ? Mais c'est trop pointu pour moi

fdufnews

L'entrée PWM du VNH2SP30 intègre une résistance de 10K à la masse. C'est elle qui fait office de pont diviseur avec la 10K de ton convertisseur de niveau. En plus sur le VNH le niveau 1 est à 3,25V d'après la doc Pololu.
Tu as plusieurs possibilités:
  • Virer cette résistance d'entrée. Évidemment en faisant ça tu ne garanties plus que le moteur sera arrêté lorsque l'entrée PWM sera en l'air
  • mettre un buffer entre ton convertisseur de niveau et l'entrée du VNH
  • réduire la 10K sur le convertisseur de niveau. Je pense qu'il faudrait descendre sa valeur entre 1 et 2K.

Tu risques d'avoir un problème similaire avec la broche CS

Edit: je viens de réaliser que je me suis basé sur le schéma de la carte pololu mais peut-être as-tu une autre carte?

fr

La carte est

A priori c'est un clone de la pololu.
  • Virer cette résistance d'entrée. Évidemment en faisant ça tu ne garanties plus que le moteur sera arrêté lorsque l'entrée PWM sera en l'air

La résistance entre la broche à souder et le circuit intégré ? Petit mais je dois être capable.
Normalement le programme de l'ESP ne permet pas d'avoir cette sortie en l'air. Reste à savoir ce qui se passe à l'initialisation de l'esp... Je peux tester, mais c'est surtout la solution ci-dessous qui m'intéresse.
Quote
  • mettre un buffer entre ton convertisseur de niveau et l'entrée du VNH

C'est à dire ? J'ai un peu de place sur la platine que je mets entre l'esp (wemos mini) et le vnh
Quote
  • réduire la 10K sur le convertisseur de niveau. Je pense qu'il faudrait descendre sa valeur entre 1 et 2K.

Dur dur : faut un résistance de la même taille... et c'est petit petit. Je n'ai pas de binoculaire ni de pointe de fer à souder très petite.
Quote
Tu risques d'avoir un problème similaire avec la broche CS
? CS reste en l'air, je n'ai que 5V, Gnd, inA, inB et PWM qui sont connectés.... Tout fonctionnait parfaitement sur arduino nano en 5V.

fr

En clair est-ce qu'un BC547B à la place du 2N3904 dans le schéma ci-dessous conviendrait ?



J'ai dans mon tiroir en composant traversant mais dans 3 semaines  :D  je peux avoir en cms un 2N3904 pour le montage définitif...

kamill

Bonjour,

Oui, tu peux remplacer le 2N3904 par un autre transistor du même genre.
Le problème de ton montage est qu'il inverse le signal. Il te faudra donc faire analogWrite(pin, 255-val)

hbachetti

Quote
En clair est-ce qu'un BC547B à la place du 2N3904 dans le schéma ci-dessous conviendrait ?
Ces serait pour commander un relais, je te dirais non, mais pour cette utilisation c'est sans problème.

La résistance collecteur peut être augmentée : le BC547B a du gain: 200. Avec 22K ou 47K c'est tout bon.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

fr

Merci !!
Inverser changer le programme : ok , facile :D

22K ou 47K c'est pour la résistance de la base je suppose (désolé j'ai très peu de connaissance sur les transistors...)

hbachetti

Non, résistance de collecteur.

Avec 1K de résistance de base, ça consomme presque 3mA sur l'ESP8266. Inutile.
Avec 1K de résistance de collecteur ça consomme presque 5mA sur le 5V. Inutile aussi.

Avec 22K de résistance de collecteur, tu peux monter à au moins 100K de résistance de base.
Cela donne 200µA de courant de collecteur, et 30µA de courant de base.
C'est très large.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

fr

Le schéma ci-dessous fonctionne, j'ai dû descendre à 220 ohms pour avoir 4.1 v sur la broche pwm du VNH.





Pas de souci dans la durée avec ce montage ?

hbachetti

OK. C'est que le VNH tire un peu de courant.
Comme sur le schéma la sortie était "Arduino Input", j'ai pensé qu'il s'agissait d'une entrée ARDUINO.

Bonne continuation.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

fr


Consomme 23 mA en mode passant quand même, contre 4 quand le moteur tourne... Y a pas moyen d'avoir le contraire ou moins en mode passant car le moteur est plus souvent arrêté ?

kamill

22k pour la résistance de base, ça parait beaucoup.
Il serait mieux 4.7k ou 2.2k.

fr

J'ai eu beau chercher sur le web les rares fois où le pb est évoqué la solution a été de revenir à utiliser un VNH vers un arduino nano en 5V et à râler dessus à propos de ces 3.3V


Je reviens sur la conso de ce qui fonctionne c'est dire résistance sur la base 22K et 220 ohms sur le collecteur.
Le moteur fonctionne que de temps en temps et la consommation est justement la plus grande à ce moment durant l'arrêt.

Comment inverser la chose ? Un petit mosfet dont la gate serait commandée par le collecteur permettrait d'augmenter la résistance du collecteur du BC547 tout en permettant le passage de courant suffisant pour déclencher le PWM à au moins 4v... Par exemple un 2N7000 pourrait-il faire l'affaire ? Ou un Pmos ?
Je dis peut-être des bêtises les montages à transistors ne sont pas mon domaine du tout.


Go Up