Raspberry Pi Pico - Module MOSFET

Dans ce guide, nous allons apprendre à installer et à utiliser un module MOSFET comme interrupteur de puissance avec le Raspberry Pi Pico. Nous couvrirons les points suivants :

Raspberry Pi Pico et module MOSFET AOD4184, LR7843 ou FR120N

Matériel Requis

1×Raspberry Pi Pico W
1×Raspberry Pi Pico Alternativement:
1×Câble Micro USB
1×MOSFET Module (AOD4184, LR7843 or FR120N)
1×12V Bande LED
1×Alternativement: 12V DC Ventilateur de refroidissement
1×Adaptateur secteur 12V
1×Connecteur d'alimentation DC
1×Fils de connexion
1×Recommandé: Carte d'extension à bornier à vis pour Raspberry Pi Pico

Ou vous pouvez acheter les kits suivants:

1×Kit de Capteurs DIYables (18 capteurs/écrans)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À Propos du Module MOSFET

Le Raspberry Pi Pico fonctionne en 3,3 volts. Ses broches GPIO ne peuvent pas alimenter une bande LED de 12 volts, un moteur à courant continu, un ventilateur, une pompe, une électrovanne ou un élément chauffant. Un module MOSFET résout ce problème. Le Pico envoie un petit signal, et le module ouvre ou ferme le chemin du courant fort de la charge.

Pourquoi ne pas simplement utiliser un Raspberry Pi Pico - Relais. ? Un MOSFET n'a pas de pièce mobile : il ne fait aucun clic et dure longtemps. Il commute aussi très vite, donc il peut faire du PWM. Avec le PWM, vous pouvez baisser la luminosité d'une bande LED ou ralentir un ventilateur. Un relais ne sait faire que tout allumé ou tout éteint. Une seule limite : un module MOSFET fonctionne uniquement avec des charges en courant continu. Ne l'utilisez jamais avec le courant alternatif du secteur.

Vous pouvez acheter ce module avec l'une de ces trois puces MOSFET : AOD4184 (aussi vendue sous le nom D4184), LR7843 ou FR120N. Le reste de la carte est identique. La taille, les broches, le câblage et le code MicroPython sont les mêmes pour les trois. Ce guide fonctionne pour chacune d'elles.

AOD4184 LR7843 FR120N
Puce sur la carte AOD4184A (canal N) IRLR7843 (canal N) IRFR120N (canal N)
Tension de charge maximale (valeur de la puce) 40V DC 30V DC 100V DC
Courant maximal (valeur de la puce) 50A 161A 9.4A
Résistance à l'état passant RDS(on) environ 7 mΩ environ 3.3 mΩ environ 210 mΩ
Courant réel sans dissipateur environ 10–15A environ 15A environ 2A
Signal de commande logique 3.3V / 5V, actif HIGH logique 3.3V / 5V, actif HIGH logique 3.3V / 5V, actif HIGH
Isolation optocoupleur PC817 optocoupleur PC817 optocoupleur PC817
PWM oui, rester ≤ ~1 kHz oui, rester ≤ ~1 kHz oui, rester ≤ ~1 kHz
Type de charge DC uniquement DC uniquement DC uniquement

Comment choisir ? Voici une règle simple :

  • LR7843 : choisissez-le pour les charges lourdes en 12 volts ou 24 volts, comme une bande LED très lumineuse ou un gros moteur. Il a la résistance la plus faible, donc il reste frais. Ne dépassez pas 30 volts.
  • AOD4184 : un bon choix pour la plupart des projets. Il supporte un courant fort et jusqu'à 40 volts, donc les charges de 12 volts, 24 volts et 36 volts conviennent toutes.
  • FR120N : choisissez-le seulement pour de petites charges à haute tension, comme 24 volts ou 48 volts. Il accepte jusqu'à 100 volts, mais il chauffe au-dessus d'environ 2A.

Les valeurs de 50A et 161A du tableau sont les limites de la puce seule. La petite carte ne peut pas supporter autant. La chaleur est la vraie limite. Laissez la charge fonctionner quelques minutes, puis touchez le MOSFET avec précaution. S'il est trop chaud pour y garder le doigt, ajoutez un dissipateur thermique ou utilisez une charge plus petite.

Comment Ça Marche

Du côté de l'entrée, il y a un optocoupleur PC817. Le signal de GP18 passe par une petite résistance et arrive dans une minuscule LED à l'intérieur du PC817. La lumière de cette LED atteint un phototransistor, lui aussi dans le PC817, et le phototransistor commande la grille du MOSFET. Quand le PC817 est éteint, une résistance tire la grille vers 0 volt.

Grâce à l'optocoupleur, le côté Pico et le côté charge ne sont pas reliés par un fil. Le GND du signal et le GND de la charge sont séparés sur le module. Un pic ou une erreur du côté 12 volts a du mal à atteindre votre Pico.

Le MOSFET est de type canal N. Il se trouve entre la borne LOAD et la borne −, sur le fil négatif de la charge (un interrupteur « côté bas »). La charge est connectée entre + et LOAD.

Ce qui se passe ensuite dépend de ce que le Pico met sur GP18.

GP18 Donne 0 Volt (LOW)

  • La LED à l'intérieur du PC817 ne reçoit pas de courant, donc elle reste éteinte.
  • Le phototransistor reste bloqué. La résistance de grille garde la grille du MOSFET à 0 volt.
  • Le MOSFET est bloqué. Entre LOAD et −, c'est comme un interrupteur ouvert.
  • Le fil négatif de la charge n'a aucun chemin de retour vers l'adaptateur. Aucun courant ne circule, et la charge reçoit 0 volt. Elle est éteinte.
  • En MicroPython : pwm.duty_u16(0), soit un rapport cyclique de 0 %.

GP18 Donne 3,3 Volts (HIGH)

  • Quelques milliampères traversent la LED à l'intérieur du PC817, et elle s'allume. Vous ne pouvez pas voir cette lumière, car elle est à l'intérieur de la puce.
  • C'est tout ce que le Pico doit faire. Une broche GPIO de 3,3 volts suffit, et aucun transistor supplémentaire n'est nécessaire.
  • Le phototransistor devient passant. Maintenant, la grille du MOSFET reçoit environ la moitié de l'alimentation de la charge, soit environ 6 volts avec un adaptateur de 12 volts.
  • Le MOSFET est complètement passant. Il est maintenant comme un interrupteur fermé avec presque aucune résistance (quelques mΩ pour l'AOD4184 et le LR7843, environ 0,2Ω pour le FR120N).
  • Le courant fait la boucle : adaptateur + → borne + → charge → borne LOAD → MOSFET → borne − → adaptateur −.
  • La charge reçoit presque les 12 volts complets et fonctionne à pleine puissance.
  • En MicroPython : pwm.duty_u16(65535), soit un rapport cyclique de 100 %.

GP18 Donne un Signal PWM

  • La broche passe à HIGH puis à LOW encore et encore, très vite. Le code de ce guide utilise 500 Hz, donc cela arrive 500 fois par seconde.
  • Le MOSFET fait de même. Il est passant à chaque partie HIGH et bloqué à chaque partie LOW. La charge reçoit des impulsions de 12 volts.
  • Le rapport cyclique est la part du temps où le signal est HIGH. En MicroPython, c'est le nombre de duty_u16() divisé par 65535.
  • La tension moyenne et la puissance moyenne sont égales au rapport cyclique multiplié par la valeur maximale. Voici quelques exemples avec un adaptateur de 12 volts :
Valeur de duty_u16() Rapport cyclique La charge est allumée Tension moyenne
6553 10 % 1/10 du temps environ 1,2 volt
32767 50 % la moitié du temps environ 6 volts
58981 90 % 9/10 du temps environ 10,8 volts
  • Une bande LED semble moins lumineuse. En fait, elle clignote, mais trop vite pour vos yeux. Un ventilateur, un moteur ou une pompe tourne plus lentement, car la partie qui tourne lisse les impulsions. Remarque : un ventilateur peut ne pas démarrer avec un faible rapport cyclique.
  • Gardez la fréquence PWM basse, autour de 500 Hz à 1 kHz. Le PC817 n'est pas un composant rapide. Avec une fréquence trop élevée, le MOSFET ne commute pas complètement, la charge ne reçoit pas des impulsions propres, et le MOSFET chauffe.
  • Pour une serrure à solénoïde ou une électrovanne, utilisez seulement 0 volt ou 3,3 volts sur GP18. N'utilisez pas de PWM.

La grille reçoit seulement environ la moitié de la tension d'alimentation. C'est pourquoi l'alimentation de la charge doit être d'au moins 6 volts environ. Une alimentation de charge de 5 volts ne fonctionne pas bien. Si votre charge consomme plus de quelques ampères, utilisez 9 volts ou plus.

Brochage

Brochage du module MOSFET AOD4184, LR7843 et FR120N

Le module a un connecteur à 2 broches (2,54mm, compatible breadboard) pour le Pico, et des borniers à vis pour la charge :

  • Broche PWM : à connecter à une broche GPIO du Raspberry Pi Pico (GP18 dans ce guide). Elle reçoit le signal marche/arrêt ou PWM.
  • Broche GND : à connecter à n'importe quelle broche GND du Raspberry Pi Pico (0 volt).
  • Borne + : à connecter au fil positif de l'alimentation de la charge (par exemple, 12 volts) ET au fil positif de la charge. Les deux fils vont dans cette seule borne.
  • Borne LOAD : à connecter au fil négatif de la charge. C'est le côté que le MOSFET commute.
  • Borne − : à connecter au fil négatif de l'alimentation de la charge (le 0 volt de cette alimentation).

Les étiquettes peuvent changer un peu d'un lot à l'autre. Lisez toujours le texte imprimé sur votre propre carte.

Schéma de Câblage

Le signal de 3,3 volts du Pico suffit à allumer l'optocoupleur, et les 12 volts de l'adaptateur ne touchent jamais le Pico.

Schéma de câblage du Raspberry Pi Pico avec un module MOSFET AOD4184, LR7843 ou FR120N

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Quelques conseils avant de mettre sous tension :

  • Ne connectez jamais le fil de 12 volts à une broche du Raspberry Pi Pico.
  • Utilisez uniquement une charge en courant continu.
  • Une charge avec une bobine à l'intérieur a besoin d'une diode de roue libre (flyback). Voir la partie suivante.

Autres Charges Que Vous Pouvez Câbler

La bande LED n'est qu'un choix. Voici six charges courantes de 12 volts. Du côté du Pico, rien ne change : GP18 va toujours vers PWM et une broche GND va toujours vers GND. Tous les changements se font aux borniers à vis :

  • Le fil positif de l'adaptateur va vers +, et le fil négatif de l'adaptateur va vers −
  • Le fil positif de la charge va vers la même borne +, et le fil négatif de la charge va vers LOAD

Gardez ces règles en tête pour chaque charge :

  • La tension de l'adaptateur doit être la même que celle de la charge. Pour une charge de 12 volts, utilisez un adaptateur de 12 volts. N'allez jamais en dessous de 6 volts, sinon le module ne commutera pas bien.
  • Regardez le courant de votre charge. Le FR120N est réservé aux petites charges, environ 2 ampères sans dissipateur. Pour une charge plus lourde, utilisez l'AOD4184 ou le LR7843.
  • Les charges à bobine (ventilateur, pompe, moteur, électrovanne, serrure à solénoïde) ont besoin d'une diode de roue libre (flyback), car le module n'en a pas. Utilisez une 1N5819 ou une 1N4007 entre les deux fils de la charge : l'extrémité avec la bande (cathode) vers le positif de la charge, l'autre extrémité (anode) vers le négatif de la charge.
  • Vous n'avez pas besoin d'un nouveau code. Le même script MicroPython fait fonctionner chaque charge. Seulement pour les deux solénoïdes, réglez la puissance sur 100 % ou 0 % (tout allumé ou tout éteint) et sautez la variation progressive.

Comment Câbler un Ventilateur 12 Volts

Schéma de câblage du module MOSFET pour un ventilateur de refroidissement 12 volts

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

  • Le fil rouge est le positif, le fil noir est le négatif.
  • Un troisième fil jaune sert à lire la vitesse. Ne le connectez pas.
  • Ajoutez la diode. Elle est bon marché et ne fait pas de mal.
  • Le PWM contrôle la vitesse. Un ventilateur peut rester immobile avec un rapport cyclique très faible, donc commencez à environ 30 % ou plus.

Comment Câbler une Pompe à Eau 12 Volts

Schéma de câblage d'une pompe à eau 12 volts et du module MOSFET

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

  • Une pompe a une bobine, donc ajoutez la diode.
  • Le PWM contrôle la quantité d'eau qui circule.
  • Ne faites pas fonctionner la pompe sans eau dedans.

Comment Câbler une Bande LED 12 Volts

Schéma de câblage du module MOSFET et d'une bande LED 12 volts d'une seule couleur

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

  • Le positif de la bande (souvent marqué 12V) vers +, le négatif de la bande vers LOAD.
  • Pas de diode ici. Une bande LED n'a pas de bobine.
  • Le PWM contrôle la luminosité. Une bande plus longue consomme plus de courant, donc vérifiez-le avant de choisir le module.
  • Seule une bande d'une seule couleur fonctionne ainsi. Les bandes RGB et adressables ne fonctionnent pas.

Comment Câbler une Électrovanne 12 Volts

Schéma de câblage d'une électrovanne 12 volts normalement fermée avec le module MOSFET

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

  • Cette vanne est normalement fermée. Pleine puissance l'ouvre, l'arrêt la ferme.
  • Ajoutez la diode.
  • Utilisez seulement marche et arrêt. N'utilisez pas de PWM.

Comment Câbler une Serrure à Solénoïde 12 Volts

Serrure à solénoïde 12 volts câblée au module MOSFET

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

  • Ajoutez la diode.
  • Utilisez seulement pleine puissance (100 %) ou arrêt complet (0 %), jamais la variation par PWM.
  • La serrure chauffe si elle reste allumée. Allumez-la pour un court instant pour déverrouiller, puis éteignez-la.

Comment Câbler un Moteur à Courant Continu 12 Volts

Schéma de câblage du module MOSFET avec un moteur à courant continu 12 volts

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

  • Le positif du moteur vers +, le négatif du moteur vers LOAD, et la diode aux bornes du moteur.
  • Le PWM contrôle la vitesse.
  • Le moteur tourne dans un seul sens. Pour qu'il tourne dans les deux sens, vous avez besoin d'un pilote de moteur comme le L298N. Consultez le tutoriel Raspberry Pi Pico - moteur à courant continu..

Code Raspberry Pi Pico - Module MOSFET

/* * Ce code Raspberry Pi Pico a été développé par newbiely.fr * Ce code Raspberry Pi Pico est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/raspberry-pico/raspberry-pi-pico-mosfet-module */ from machine import Pin, PWM import time MOSFET_PIN = 18 # Pico GP18 connected to the PWM pin of the MOSFET module pwm = PWM(Pin(MOSFET_PIN), freq=500) # 500 Hz PWM, slow enough for the module's optocoupler pwm.duty_u16(0) # start with the load OFF def set_load(percent): pwm.duty_u16(percent * 65535 // 100) # convert 0-100% to 0-65535 print("Load power: {}%".format(percent)) while True: # turn the load fully ON, then fully OFF print("Load: ON") set_load(100) time.sleep(2) print("Load: OFF") set_load(0) time.sleep(2) # increase the power step by step (PWM) for percent in range(10, 101, 10): set_load(percent) time.sleep(0.5) # decrease the power step by step (PWM) for percent in range(90, -1, -10): set_load(percent) time.sleep(0.5) time.sleep(1)

Le code génère du PWM sur GP18 à 500 Hz. Il allume la charge à fond pendant 2 secondes et l'éteint complètement pendant 2 secondes. Ensuite, il augmente la puissance de 10 % à 100 % par paliers de 10 %, un palier toutes les 0,5 secondes. Après cela, il baisse la puissance jusqu'à 0 %, attend 1 seconde, et recommence. La fonction duty_u16() prend un nombre de 0 à 65535, donc le code convertit le pourcentage dans cette plage.

Étapes Rapides

Veuillez suivre ces instructions étape par étape :

  • Assurez-vous que l'IDE Thonny est installé sur votre ordinateur.
  • Assurez-vous que le firmware MicroPython est installé sur votre Raspberry Pi Pico.
  • Si c'est la première fois que vous utilisez un Raspberry Pi Pico, consultez le tutoriel Raspberry Pi Pico - Premiers pas. pour des instructions détaillées.
  • Câblez les composants selon le schéma fourni. Laissez l'adaptateur de 12 volts débranché pour l'instant.
  • Connectez le Raspberry Pi Pico à votre ordinateur avec un câble Micro USB.
  • Lancez l'IDE Thonny sur votre ordinateur.
  • Dans l'IDE Thonny, sélectionnez l'interpréteur MicroPython (Raspberry Pi Pico) en vous rendant dans Outils Options.
  • Dans l'onglet Interpréteur, sélectionnez MicroPython (Raspberry Pi Pico) dans le menu déroulant.
  • Assurez-vous que le port correct est sélectionné. L'IDE Thonny devrait détecter automatiquement le port.
  • Copiez le code ci-dessus et collez-le dans l'éditeur de l'IDE Thonny.
  • Enregistrez le script sur votre Raspberry Pi Pico en :
    • Cliquant sur le bouton Enregistrer, ou en utilisant les touches Ctrl+S.
    • Dans la boîte de dialogue d'enregistrement, sélectionnez Raspberry Pi Pico.
    • Enregistrez le fichier sous main.py
  • Branchez l'adaptateur secteur de 12 volts.
  • Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le script.
  • Regardez la bande LED. Elle brille à pleine luminosité pendant 2 secondes et s'éteint pendant 2 secondes. Ensuite, elle devient peu à peu plus lumineuse, puis peu à peu plus sombre. Avec un ventilateur, vous entendrez la vitesse monter et descendre.
  • Consultez le message dans le Shell en bas de Thonny.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot Load: ON Load power: 100% Load: OFF Load power: 0% Load power: 10% Load power: 20% Load power: 30% Load power: 40% Load power: 50% Load power: 60% Load power: 70% Load power: 80% Load power: 90% Load power: 100% Load power: 90% Load power: 80% Load power: 70% Load power: 60% Load power: 50% Load power: 40% Load power: 30% Load power: 20% Load power: 10% Load power: 0%
MicroPython (Raspberry Pi Pico) • Board CDC @ COM29 ≡

Si vous nommez votre script main.py et que vous l'enregistrez dans le répertoire racine du Raspberry Pi Pico, il s'exécutera automatiquement à chaque mise sous tension ou réinitialisation du Pico. Si la bande LED ne s'allume pas, vérifiez que l'alimentation de la charge est d'au moins 6 volts et que le fil négatif de la charge va vers la borne LOAD, et non vers −.

Vidéo

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !