Code de recherche

15A 400W MOSFET AOD4184A pour contrôler un moteur ou une charge

15A 400W MOSFET AOD4184A pour contrôler un moteur ou une charge

Ce projet démontre comment utiliser un module MOSFET de 15A et 400W (basé sur le MOSFET AOD4184A) pour contrôler différentes charges, telles que des moteurs et des lumières. C'est une compétence précieuse pour de nombreuses applications, permettant un contrôle précis de la distribution d'énergie. La haute capacité de courant du MOSFET le rend adapté à une grande variété de projets.

AOD4184A-_module_mosfet-principal

Applications pratiques :

  • Contrôler la vitesse des moteurs à courant continu dans les projets de robotique ou d'automatisation.
  • Création de circuits de gradation pour l'éclairage LED.
  • Construire un circuit de commutation haute puissance pour les appareils.
  • Conception d'un contrôleur de moteur pour un petit véhicule.

Matériel/Composants

Le composant principal est un module MOSFET de 15A, 400W comportant deux MOSFET AOD4184A en parallèle (dans la vidéo à 00:05). Vous aurez également besoin d'une carte Arduino, d'une alimentation, de fils de connexion et de la charge que vous souhaitez contrôler (moteur, lumières, etc.). Un dissipateur de chaleur est fortement recommandé pour les applications à courant élevé (dans la vidéo à 03:40).

15A 400W MOSFET AOD4184A to control a motor or load
15A 400W MOSFET AOD4184A to control a motor or load
AOD4184A_cordon de pin

Guide de câblage

Le module a des bornes clairement marquées : entrée (Vdans), sortie, et sol (dans la vidéo à 01:42). Connectez le côté positif de votre alimentation au Vdans, et le négatif à la terre. Votre charge se connecte aux bornes de sortie. L'Arduino contrôle la grille du module MOSFET en utilisant une broche numérique (dans la vidéo à 08:26).

mosfet_AOD4184A_module_wiring

Explication du code

Le code Arduino utilise la modulation de largeur d'impulsion (PWM) pour contrôler le MOSFET. Les paramètres configurables sont :

  • motorPin: Spécifie la broche Arduino connectée à la porte du module MOSFET (par défaut : broche 9). (dans la vidéo à 05:47)
  • mSpeedUne variable entière contrôlant la vitesse du moteur (0-255). (dans la vidéo à 05:47)
  • mStepDétermine l'étape d'incrément/décrément pourmSpeed(default : 15). Ajustez ceci pour affiner le contrôle de la vitesse (dans la vidéo à 05:54).

int motorPin =9; // pin to connect to motor module
int mSpeed = 0; // variable to hold speed value
int mStep = 15; // increment/decrement step for PWM motor speed

Le code inclut une logique pour prévenirmSpeedde dépasser la plage 0-255 (dans la vidéo à 07:26). Pour tester des courants plus élevés (5A, 10A, 15A, 20A), une version simplifiée du code garde la broche de sortie en état HIGH pour maintenir un état constant (dans la vidéo à 13:43).


void loop() {
  digitalWrite(loadPin, HIGH);
  while(1); // wait forever
}

Projet/Démonstration en direct

La vidéo montre le contrôle d'une ampoule de 51W (dans la vidéo à 10:40) et d'un moteur DC (dans la vidéo à 11:18) en utilisant la PWM. Le projet comprend également des tests avec une charge électronique à 5A, 10A, 15A et 20A (dans la vidéo à 13:10), mettant en avant les capacités de gestion de courant élevé du module. Des mesures de la chute de tension à travers le MOSFET à divers courants sont également présentées (dans la vidéo à 16:06), validant la faible résistance à l'état passant de l'AOD4184A.

AOD4184A-_module_mosfet-principal-15A

Chapitres

  • [00:00] Introduction et aperçu du projet
  • Aperçu du matériel et détails des modules
  • Explication de la fiche technique MOSFET
  • [05:47] Explication du code
  • [08:26] Explication du câblage
  • [10:40] Démonstration avec lumière de 51W
  • [11:18] Démonstration avec un moteur à courant continu
  • Essai à courant élevé (5A, 10A, 15A, 20A)
  • Mesure de la chute de tension

Images

15A 400W MOSFET AOD4184A pour contrôler un moteur ou une charge
15A 400W MOSFET AOD4184A pour contrôler un moteur ou une charge
15A 400W MOSFET AOD4184A pour contrôler un moteur ou une charge
15A 400W MOSFET AOD4184A pour contrôler un moteur ou une charge
mosfet_AOD4184A_module_wiring
mosfet_AOD4184A_module_wiring
AOD4184A-_mosfet_module-main
AOD4184A-_mosfet_module-main
AOD4184A-_mosfet_module-main-15A
AOD4184A-_mosfet_module-main-15A
AOD4184A_pinout
AOD4184A_pinout
134-Code example using a resistor
Langue: C++
/*
 * This is an Arduino sketch for a tutorial video 
 * explaining why a resistor is needed when using a push button
 * with an Arduino to connect the pin to Ground (GND)
 * 
 * Written by Ahmad Shamshiri on July 18, 2018 at 17:36 in Ajax, Ontario, Canada
 * For Robojax.com
 * Watch the instructional video for this code: https://youtu.be/tCJ2Q-CT6Q8
 * This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.
 */
int motorPin =9;// pin to connect to motor module
int mSpeed = 0;// variable to hold speed value
int mStep = 15;// increment/decrement step for PWM motor speed
  
void setup() {
  // Robojax.com demo
  pinMode(motorPin,OUTPUT);// set mtorPin as output
  Serial.begin(9600);// initialize serial motor
  Serial.println("Robojax Demo");
  

}

void loop() {
  // Robojax.com tutorial

analogWrite(motorPin, mSpeed);// send mSpeed value to motor
    Serial.print("Speed: ");
    Serial.println(mSpeed);// print mSpeed value on Serial monitor (click on Tools->Serial Monitor)
  mSpeed = mSpeed + mStep;
  // See the video for details.
  if (mSpeed <= 0 || mSpeed >= 255) {
    mStep = -mStep;
  }  
  
delay(200);

}
135-Testing MOSFET AOD4184A using 5A, 10A, 15A, 20A, and 25A loads
Langue: C++
/*
 * This is an Arduino Sketch for a tutorial video 
 * explaining the 15A MOSFET AOD4184A used as a switch 
 * This sketch is used to test the MOSFET with a load at 5A, 10A, 15A, 25A
 * 
 * Written by Ahmad Shamshiri on July 21, 2018 in Ajax, Ontario, Canada
 * For Robojax.com
 * Watch the instruction video for this code: https://youtu.be/tCJ2Q-CT6Q8 
 * This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.
 */
int loadPin =9;// load pin

  
void setup() {
  // Robojax.com demo
  pinMode(loadPin,OUTPUT);
  Serial.begin(9600);
  Serial.println("Robojax Demo"); 

}

void loop() {
  // Robojax.com tutorial

  digitalWrite(loadPin, HIGH);
 while(1);// wait forever


}

Ce dont vous pourriez avoir besoin

Ressources et références

Aucune ressource pour le moment.

Fichiers📁

Fichier Fritzing

Autres fichiers