IRF530N + moteur

Bonsoir,

Je souhaite réaliser un pont en H avec des transistors IRF530N ( http://www.datasheetcatalog.org/datasheet/fairchild/IRF530N.pdf ) pour commander un moteur de lego (de 9V je crois).

J'ai testé un transistor avec une led, il fonctionne mais lorsque j'essaie de commander le moteur avec il ne démarre pas (peut être un manque de puissance? pourtant on m'avais conseillé ces transistors pour cette application).

La grille (patte de gauche quand on regarde le transistor en face) est connectée à la sortie 13 de l'arduino, le collecteur (patte du milieu) à un générateur qui monte jusqu'à 12V et 2A et l’émetteur alimente le moteur.

Je test avec le code suivant

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.

  This example code is in the public domain.
 */

void setup() {                
  // initialize the digital pin as an output.
  // Pin 13 has an LED connected on most Arduino boards:
  pinMode(13, OUTPUT);  
  pinMode(12, OUTPUT);
}

void loop() {
  digitalWrite(13, HIGH);   // set the LED on
  digitalWrite(12, HIGH);   // set the LED on
  delay(10000);              // wait for a second
  digitalWrite(13, LOW);    // set the LED off
  digitalWrite(12, LOW);    // set the LED off
  delay(1000);              // wait for a second
}

Qu'est ce qui ne va pas? D'avance, merci.

Wiiik: ... J'ai testé un transistor avec une led, il fonctionne mais lorsque j'essaie de commander le moteur avec il ne démarre pas (peut être un manque de puissance? pourtant on m'avais conseillé ces transistors pour cette application).

La grille (patte de gauche quand on regarde le transistor en face) est connectée à la sortie 13 de l'arduino, le collecteur (patte du milieu) à un générateur qui monte jusqu'à 12V et 2A et l’émetteur alimente le moteur.

Je test avec le code suivant ...

bonsoir

pas de collecteur , ni d’émetteur sur un mosfet :grin: fais un schema exact ou mieux une photo de ton montage et un lien vers le montage proposé les IRF530N ne sont pas des mosfet en logic commande, tu a mis une R sur la gate ?

Bonsoir Wiiiiiiiiik :wink:

Wiiik:
La grille (ou gate en anglais) (patte de gauche quand on regarde le transistor en face) est connectée à la sortie 13 de l’arduino, le collecteur (patte du milieu) à un générateur qui monte jusqu’à 12V et 2A et l’émetteur alimente le moteur.

Petit problème de vocabulaire : c’est un transistor FET (Transistor à Effet de Champ) donc les broches s’appellent drain, grille et source.
C’est bien le drain, broche du milieu, qui doit être relié au moteur vers le +12V, la grille doit être reliée à l’Arduino de préférence par une résistance. C’est moins critique pour un FET que pour un bipolaire mais c’est préférable. Un peu n’importe quoi entre 100 et 470 ohms fera l’affaire, on va pas chippoter (mais ce n’est pas la cause du problème). Et rajouter aussi une diode de roue-libre (AN4004, 1N4007) en parrallèle avec le moteur, cathode au +12V.
Et la source à la masse.
La masse de ton alimentation 12 doit être mise en commun avec la masse de l’Arduino.

Voir schéma ci dessous

Dans ton code tu pilotes les broches 12 et 13.
Laquelle utilises tu pour la grille du transistor (sachant que la 13 sert aussi pour la LED “L” de la carte Arduino) ?

moteur-irf.png

Merci pour ta réponse aussi rapide!

pas de collecteur , ni d’émetteur sur un mosfet :grin:

Rah milles excuses je pensais employer le bon vocabulaire. Pour ma défense je suis lycéen et on n'a parlé que de transistor NPN et PNP en cours :)

Non je n'ai pas mis de résistance, j'en ai vu sur la datasheet mais j'ai un peu de mal à bien comprendre les datasheets...

Photo : http://serreautomatisee.legtux.org/wp-content/uploads/2012/05/montage.png

NB: il manque le 12 v et la masse du générateur sur la photo, mais je ne les ai pas oubliés lors de mon test ;)

Edit:

barbudor: Bonsoir Wiiiiiiiiik ;)

Wiiik: La grille (ou gate en anglais) (patte de gauche quand on regarde le transistor en face) est connectée à la sortie 13 de l'arduino, le collecteur (patte du milieu) à un générateur qui monte jusqu'à 12V et 2A et l’émetteur alimente le moteur.

Petit problème de vocabulaire : c'est un transistor FET (Transistor à Effet de Champ) donc les broches s'appellent drain, grille et source. C'est bien le drain, broche du milieu, qui doit être relié au moteur vers le +12V, la grille doit être reliée à l'Arduino de préférence par une résistance. C'est moins critique pour un FET que pour un bipolaire mais c'est préférable. Un peu n'importe quoi entre 100 et 470 ohms fera l'affaire, on va pas chippoter (mais ce n'est pas la cause du problème). Et rajouter aussi une diode de roue-libre (AN4004, 1N4007) en parrallèle avec le moteur, cathode au +12V. Et la source à la masse. La masse de ton alimentation 12 doit être mise en commun avec la masse de l'Arduino.

Voir schéma ci dessous

Dans ton code tu pilotes les broches 12 et 13. Laquelle utilises tu pour la grille du transistor (sachant que la 13 sert aussi pour la LED "L" de la carte Arduino) ?

Merci, je vais tester. Et oui je suis sur le pin 13!

vérifie parce qu'apparemment sur ta photo, il y a des fils qui ne vont nulle part tel que le fil rouge qui semble aprtir de la broche milieu du transi vers le rail d'alimentation rouge (?) sur lequel rien d'autre n'est branché (??)

Justement sur le rail rouge y avait le 12 V et la masse du générateur sur le noir, j'ai du les enlever pour déplacer le montage ;)

J'ai réaliser le montage que tu m'as conseillé : http://serreautomatisee.legtux.org/wp-content/uploads/2012/05/montage_mosfet.png

Le fil rouge qui se balade tout seul est au +12V du générateur, le noir à sa masse.

Dans cette configuration avec les mosfet en aval du générateur ca marche beaucoup mieux merci :)

Cependant pour faire un pont en H j'aurai forcément des transistors en amonts, donc avec une perte de puissance... Comment je peux résoudre ce problème?

N.B.: je n'ai que des diodes zener ph4148 sous la main, est ce que ca fait l'affaire pour une diode de roue libre? Bien que je ne pense pas qu'elle soit nécessaire, mon moteur n'a aucune inertie car il entraîne la tige filetée d'un vérin.

Wiiik: J'ai réaliser le montage que tu m'as conseillé : http://serreautomatisee.legtux.org/wp-content/uploads/2012/05/montage_mosfet.png

Le fil rouge qui se balade tout seul est au +12V du générateur, le noir à sa masse.

Dans cette configuration avec les mosfet en aval du générateur ca marche beaucoup mieux merci :)

Cependant pour faire un pont en H j'aurai forcément des transistors en amonts, donc avec une perte de puissance... Comment je peux résoudre ce problème?

N.B.: je n'ai que des diodes zener ph4148 sous la main, est ce que ca fait l'affaire pour une diode de roue libre? Bien que je ne pense pas qu'elle soit nécessaire, mon moteur n'a aucune inertie car il entraîne la tige filetée d'un vérin.

bonjour

on ne met pas une zener en roue libre :grin: , mais là l'IRF530N emporte sa propre diode de protection interne.

Tu a un lien vers un schéma pour ton pont en H , tu compte le faire avec juste des mosfet canal N (IRF530N) ?

quel est le taux d'actualisation de l'inversion de sens de ton moteur ?

Faire soi même un pont en H efficace n'est pas forcément la portée du 1er venu. Surtout avec les MOSFET. Tu peux bricoler un truc, mais quelque chose d'efficace demande de bien comprendre les cycles de commande (on ne se contente pas de changer la polar des transistors comme çà). Il y a des cycles a respecter qui inclue la mesure du courant. Généralement il est conseillé de prendre un contrôleur dédié.

Le plus simple reste de prendre un circuit tout intégré. Il y en a de nombreux jusqu'à quelques ampères. Mar exemple le TB6612 (1.2A, 15V) Le LMD18245 jusqu'à 3A, 55V

Merci pour vos réponses. Le pont en H permet de piloter un moteur de vérin qui ouvre ou ferme une fenêtre dans une serre ( dans le cadre d'un projet scolaire, je ne vous le cacherai pas ). Du coup le moteur doit être inversé grosso modo 1 fois toutes les 20 minutes et encore. J'ai donc pas besoin d'un pont en H parfait et très performant, et je tiens à le réaliser moi même pour pouvoir comprendre comment ca fonctionne, enfin apprendre ce qui est le but du projet :) .

Mais bon c'est vrai que je galère un peu, je maîtrise pas encore ce domaine.

Je voulais faire le pont en H de cette manière, c'est possible? http://serreautomatisee.legtux.org/wp-content/uploads/2012/05/montage_pont_H.png http://serreautomatisee.legtux.org/wp-content/uploads/2012/05/montage_pont_H_schema.png

La commande des MOSFET du haut ne marchera pas si tu garde un canal-N. Il faut un canal-P sinon tu n'arriveras jamais à atteindre le VGS de déclenchement.

Artouste ?

Merci!

Alors j'ai malheureusement pas de canal P sous la main, par contre j'ai plusieurs BDX33C ( http://www.datasheetcatalog.org/datasheet/SGSThomsonMicroelectronics/mXyztxq.pdf ). D'après la datasheet c'est pas vraiment le bon type de transistor mais si je la comprend bien un courant de 0.25 A sur la base est suffisant pour le saturer. J'ai testé en remplacant le canal N qui était entre le générateur et le moteur (avec une résistance avant la base) et ça fonctionne! Même si c'est un gros bricolage, est-ce que c'est viable?

Sinon après je n'ai plus que des transistors bipolaires.

Le BDX est un transistor bipolaire NPN. On ne vas pas mélanger des bipolaire et des MOSFET dans le même bridge et çà ne nous aide pas non plus.

Donc soit tu le fait en MOSFET avec canal-N en bas, et canal-P en haut, soit en bipolaire avec NPN en bas et NPN en haut. Le complémentaire du BDX33 est le BDX34. Tu en as ?

Et tu n'as pas besoin de 250mA pour le saturer, ca c'est son absolute maximum. Le VCE sat min est donné pour Ib à 6mA. par contre le VCEsat est de 2.5V Comme tu peux le voir, avec des bipolaires on gâche.

je reprend là , j'ai lu les dernieres reponses.

taux d'actualisation faible, dans ces cas là je part sur un pont en H hybride c'est facile à mettre en oeuvre et surtout c'est tres fiable.

schema que j'ai proposé pour un membre du forum pour une application identique (vu du temporel d'inversion ) le bS170 peut etre facilement remplacé par un bipolaire lambda (c'est d'ailleurs ce qui a été fait In situ)

barbudor: La commande des MOSFET du haut ne marchera pas si tu garde un canal-N. Il faut un canal-P sinon tu n'arriveras jamais à atteindre le VGS de déclenchement.

Artouste ?

Oui bien d'accord , faire du vrai H seulement en N (ou en P) necessite une usine à gaz en commande

Merci beaucoup pour votre aide, c'est sympas.

Malheureusement je ne dispose pas de relais et comme j'habite une petite ville il n'existe pas de magasin de composants digne de ce nom. J'en prendrai donc avec ma prochaine commande... qui risque de ne pas être tout de suite (faut amortir les frais de port).

En attendant j'aimerai essayer de bricoler avec ce que j'ai sous la main même si ce n'est pas l'idéal.

Donc si je regarde la datasheet du bdx33c ( http://www.datasheetcatalog.org/datasheet/SGSThomsonMicroelectronics/mXyztxq.pdf ) je comprend que (mais je ne suis pas sûr de moi): - ce transistor est saturé pour une tension de 5V - le gain est de 750, donc si mon moteur pompe entre 1,5 A et 2 A , il me faut un courant de 2/750 = 2.5 mA sur la base. - donc comme la sortie de l'arduino est à 5V, il faut une résistance de 5/0.0025 = 2 kOhms en série avec la base.

Donc si me plante pas ce montage devrait fonctionner : http://serreautomatisee.legtux.org/wp-content/uploads/2012/05/exemple_BDX33C.png

J'ai volontairement mis le transistor entre le 12V et le moteur puisque visiblement c'est quand il est dans cette position qu'il peut limiter le courant.

Un schéma est plus lisible qu’un plan de câblage breadboard.

Ca ne marchera pas.
Regarde les tensions.
Si le transistor à son collecteur au +9V et le moteur sur l’emetteur, en alimentant la base via une Arduino (max 5V) tu ne peut pas créer de courant vers la base. Ou plutot si, tu en crée tout le temps et le transi est toujours passant.

Je t’ais déjà fait une remarque similaire pour le MOSFET canal N

Bipolaire NPN ou MOSFET canal-N : emetteur/source à GND, collecteur/drain vers le moteur puis le +9ou12V, base/grille vers l’Arduino.
Bipolaire PNP ou MOSFET canal-P : c’est l’inverse à condition que ton signal de commande puisse monter jusqu’au 9V ce qui n’est pas le cas avec l’Arduino, d’où montage à 2 transistor obligatoire.

Voir ci-dessous, les 2 seuls schémas qui marchent (je ne crois pas en avoir oublié)

Je pense que je commence à comprendre comment tout cela fonctionne. Je vais faire des tests pour essayer. En tous cas merci pour ta patience!

Encore une question: est ce que 330 Ohms conviendraient pour la valeur des résistances?

Ca fait dans les 12mA. Peut être un peu trop. Monte à 470ohms, ou si tu n'as que des 330 ohms, met en 2 en série pour l'instant. Ca c'est pour R1 ou R2

Pour R3, tu peux viser plus haut. 10Kohms devrait être bon (l'essentiel c'est que quand Q2 ne conduit pas, la base de Q3 soit proche du 12V pour que que IB3 soit nul et que Q3 ne conduise pas). Pour R4 plutôt dans les 600ohms à 1kohms. C'est pour créer le courant de base de Q3. Q2 peut être un petit transistor NPN genre BC107, BC347, etc ... Juste ce qu'il faut pour créer un courant de base de ~-8 à -10mA dans la base de Q3.