
Pont H en transistors
#1
Posté 27 novembre 2011 - 09:10
ayant depuis peu ma carte Arduino et m'étant familiarisé avec elle, je lance maintenant les hostilités et cherche a contrôler un moteur CC.
Comme j'aime comprendre ce que je fais, et que je le fais dans un but pédagogique, j'aimerais éviter l'utilisation d'un shield ou d'un circuit intégré. Avec mon père, nous avons fait une ébauche de ce qui devrait piloter notre moteur (cf le fichier joint : un schéma identique trouvé par la suite sur le net...). In 1&2 seraient des sorties de l'Arduino. Nous étions convaincus qu'il fonctionnerait, avant que je ne lise que ce montage ne fonctionnait qu'en théorie...
Je cherche donc confirmation : ce schéma fonctionne-t-il ? Mon alimentation serait probablement en 1,5V sur un moteur de récup', pour limiter son régime.
Y a-t-il encore des résistances a placer ? (c'est ma hantise ^^') Si c'est le cas, comment dois-je calculer leur valeur ? (J'ai plus ou moins cerné la loi d'Ohm, mais il y a toujours des choses qui m'échappent)
Merci de m'avoir lu, et bonne soirée.
Edit : J'avais oublié le schéma...
#3
Posté 27 novembre 2011 - 09:27
Juste pour info tu as de pont en H comme par exemple http://www.lextronic.fr/P1919-circuit-integre-de-commande-de-moteur-cc.html ... bon cest pour un faible courant mais ca fonctionne … et cest pas chère…
et puis tu as la solution d'un montage avec des transitors comme cet exemple ....
Animation H-bridge
Dans tous les cas si tu as une alim de 1.5V ca va etre compliqué car avec la chute de tension des transitors tu ne va plus rien avoir sur ton moteur...
avec mon exemple d'un alim 12V ... ton moteur il na plus que 10V au bornes...
@+
edit : Ah tu as mis le schéma enfait je regarde ^^
Ma Chaîne youtube
------
#4
Posté 27 novembre 2011 - 09:51
La simulation sur la vidéo, savez vous avec quel logiciel elle est faite ?
Merci encore !
#5
Posté 27 novembre 2011 - 10:39
mais bon il y a d'autre logiciels et souvent gratuit qui font a peut près la meme chose...
le schéma de la vidéo est peut etre simplifiable car tu as 8 transistors 2 fois plus que ton schéma ... il en utilisent 4 type BC184 faible ampérage qui pilotent des TIP3x pour la puissance ...
@+
Ma Chaîne youtube
------
#6
Posté 29 novembre 2011 - 06:19
J'essayerai de donner un exemple concret et dites moi où mon raisonnement est erroné :
J'alimente le circuit avec deux piles en série : 3V.
L'Arduino peut fournir 5V avec un maximum de 40mA, ou 0V toujours avec une limite de 40mA.
Un transistor NPN 2N2222 a un gain de 100. (si mes références sont bonnes... j'ai du mal a lire les datasheets...)
Si j'ajoute à un pin de l'Arduino programmé en OUTPUT/HIGH une résistance en série de 5K, j'ai une intensité de 1mA, d'après 5V/0.001A... je crois...
Le cirbuit est en forme de ... -I ça. En haut, le +3V, en bas la masse, a gauche le pin de sortie. la base du transistor est connectée à la résistance, qui est elle même connectée à l'Arduino. Désolé si ce n'est pas clair

Donc multiplié par le gain du transistor (x100), j'ai 100mA pour 5V dans le circuit.
=> Cela me semble trop beau pour être vrai

Je remercie d'avance ceux qui auront le courage de lire mon pavé, et encore plus ceux qui pourront y répondre ! Merci !
#7
Posté 29 novembre 2011 - 11:55
Merci pour vos réponses, elles m'ont beaucoup inspirées. Ce que j'ai du mal a comprendre, c'est pourquoi mon schéma de départ ne suffit pas. Loin de moi l'idée de critiquer le tien, que je trouve excellent en plus d'être compréhensible (^^'), mais je ne cherche qu'a comprendre.
J'essayerai de donner un exemple concret et dites moi où mon raisonnement est erroné :
J'alimente le circuit avec deux piles en série : 3V.
L'Arduino peut fournir 5V avec un maximum de 40mA, ou 0V toujours avec une limite de 40mA.
Un transistor NPN 2N2222 a un gain de 100. (si mes références sont bonnes... j'ai du mal a lire les datasheets...)
Si j'ajoute à un pin de l'Arduino programmé en OUTPUT/HIGH une résistance en série de 5K, j'ai une intensité de 1mA, d'après 5V/0.001A... je crois...
Le cirbuit est en forme de ... -I ça. En haut, le +3V, en bas la masse, a gauche le pin de sortie. la base du transistor est connectée à la résistance, qui est elle même connectée à l'Arduino. Désolé si ce n'est pas clair.
Donc multiplié par le gain du transistor (x100), j'ai 100mA pour 5V dans le circuit.
=> Cela me semble trop beau pour être vrai. En fait, mes connaissances en électronique sont purement théoriques... (en plus d'être minces)
Je remercie d'avance ceux qui auront le courage de lire mon pavé, et encore plus ceux qui pourront y répondre ! Merci !
Bonjour,
pour un courant de 1mA (et 10 volts )sur sa base le gain est de 50, pour 3 volts il faut tester sur une plaque à essais ,il faut aussi tenir compte de la diode de l'émetteur qui ôte environ 0,6 volts
donc pour une tension de 3 volts tu aura une tension de commande max de 2,4 volts sur ton collecteur, ce qui est bien c'est aussi de mettre une résistance de 10 Ohms entre le + et et le collecteur pour limiter le courant collecteur.
Avec cette résistance la sortie + se fait entre le collecteur et la résistance et si c'est pour commander un moteur ou un relais il faut mettre une diode (roue libre) inversée à ses bornes ( cathode au plus et anode au moins) ça protège le transistor contre les tensions inverses des circuits à bobinage lors de leur arrêt.
#9
Posté 03 décembre 2011 - 02:27
J'arrive un peu après sur le sujet, je suis un peu surpris par vos raisonnement

Lorsqu'un transistor est "saturé" la tension émetteur/collecteur est voisine de zéro. Donc avec une alimentation de 12V, lorsque vos transistors du pont en H sont correctement polarisés la tension aux bornes du moteur doit être voisine de 12V... C'est ce que j’obtiens ici

Par contre ce que vous n'avez pas vu dans le schéma, dans sont fonctionnement :
- il faut que la "masse" du signal de commande soit en relation quelque part avec le 0 ou +12V bat.
- que lorsque vous injectez le signal d'entré vous court-circuitez en gros le circuit de commande soit avec le +12V ou le 0V... car il n'y a qu'une jonction de transistor entre la commande et l'alimentation (soit 0,6V). Mais comme une commande est en général autour de 5V cela va être dans un état intermédiaire et le tout risque de fumer...
Maintenant si l'alimentation du moteur est autour de 3V, il va se produire un autre phénomène, le signal de commande risque d'alimenter le moteur... Je vous laisse chercher

Dernier point, faites attention aux circuits vendus par Lextronic (et d'autres), certains sont obsolètes (à vérifier chez le fabricant), par exemple le LB1630 n'existe plus chez Sanyo qui a été racheté par On Semiconductor... En cas de casse vous n'êtes pas sur de retrouver un composant.
Bon montage.
#10
Posté 19 décembre 2011 - 11:56
il existe ce Pont H : http://arduino.cc/fo...ic,66875.0.html
Sinon le L298N : http://fribotte.free...rivesPontH.html
Pour ce dernier je ne sais pas si il est mieux de placer le signal PWM pour gérer la vitesse sur les entrées In1/In2 ou sur les entrées EnableA/EnableB. Je pense plus sur In1/In2 pour utiliser le moteur en mode frein.
Un site (de mon point de vue) bien fait, qui utilise le signal PWM sur les broches Enable_A/B pour faire varier la vitesse :
http://arduino103.bl...984942376777043
Alors? Moteur en roue libre ou en frein?????
Quelqu'un pourrait t'il, sur son retrour d'expérience, nous faire une synthèse s'il vous plaît?
Merci.
Cordialement.
#11
Posté 20 décembre 2011 - 11:06
Je préfère largement réaliser mes circuits moi même qu'acheter des sheild. Pas mal de gens achète des sheild sans savoir comment sa fonctionne...
Bref moi j'ai d'abord voulu faire mon pont en H avec des transistors mais c'est vraiment très chère donc finalement je l'ai fait avec des pont en H intégrés comme le L293 ou le L6203 (moi j'ai pris le L6203 plus gros courant mais le L298 est pas mal parce qu'il intègre deux pont en H)
Ensuite je lis plus haut qu'il faut mettre un pwm sur EN(enable) mais ça il ne faut surtout pas le faire. On le lit sur plusieurs forum d'ailleurs, mais c'est pas du tout le but d'enable.
D'ailleurs enable peut servir de protection en cas de sur-courant sur tes moteurs si par exemple si ils sont bloqué et consomme trop de courant. Tu peut "désactiver" le pont en H grâce a la broche enable
#12
Posté 20 décembre 2011 - 04:02
Je pense également que je vais m'orienter vers la réalisation de l'interface avec un L298N, vue le prix d'un shield et la faible complexité de mettre en œuvre un L298N.
il faut encore que je définisse bien les condensateurs à mettre en place.....
Donc tu me conseille de mettre le signal PWM sur les Input......et d'utiliser le Enable pour contrôler le courant consommer.....
Ceci étant, comment doit ton procéder avec les sorties SenseA et SenseB avec des résistances pour contrôler le courant dans la charge ?
Merci.
P.S. voici un tableau pour les différents modes :
Enable IN1 IN2 Moteur
0 x x Roue libre
1 0 0 FREIN
1 0 1 Sens1
1 1 0 Sens2
1 1 1 FREIN
#13
Posté 20 décembre 2011 - 04:53
A partir de la tu applique la loi d'ohms avec une resistance dit resistance de shunt.
I=U/R
Il te faudra donc une resistance de puissance.
Apres tu peux mettre un comparateur pour comparer la tension.
A partir d'une certaine tension tu vas arrivé a 1.5A par exemple et tu dis a qu'un 1.5A tu veux arreter les moteurs.
Alors tu mes la sortie du comparateur sur ENable (comparateur en inverse)
Comme ça si tu en dessous de 1.5A tu vas avoir "1" en sortie du comparateur et donc "1" sur l'entrée enable.
Par contre si tu au dessus de 1.5A tu vas avoir "0" en sortie du comparateur et donc "0" sur l'entée enable!
Répondre à ce sujet

1 utilisateur(s) li(sen)t ce sujet
0 members, 1 guests, 0 anonymous users