Cerca codice

15A 400W MOSFET AOD4184A per controllare un motore o un carico

15A 400W MOSFET AOD4184A per controllare un motore o un carico

Questo progetto dimostra come utilizzare un modulo MOSFET da 15A e 400W (basato sul MOSFET AOD4184A) per controllare vari carichi, come motori e luci. Questa è un'abilità preziosa per numerose applicazioni, che consente un controllo preciso sulla distribuzione dell'energia. L'elevata capacità di corrente del MOSFET lo rende adatto a una vasta gamma di progetti.

AOD4184A-_mosfet_module-main

Applicazioni pratiche:

  • Controllare la velocità dei motori DC in progetti di robotica o automazione.
  • Creazione di circuiti di attenuazione per l'illuminazione a LED.
  • Costruire un circuito di commutazione ad alta potenza per apparecchi.
  • Progettare un controllore di motore per un piccolo veicolo.

Hardware/Componenti

Il componente principale è un modulo MOSFET da 15A e 400W che presenta due MOSFET AOD4184A in parallelo (nel video a 00:05). Avrai anche bisogno di una scheda Arduino, di un'alimentazione, di fili di collegamento e del carico che desideri controllare (motore, luci, ecc.). Un dissipatore è altamente raccomandato per applicazioni ad alta corrente (nel video a 03:40).

15A 400W MOSFET AOD4184A to control a motor or load
15A 400W MOSFET AOD4184A to control a motor or load
AOD4184A_pinout

Guida al cablaggio

Il modulo ha terminali chiaramente contrassegnati: ingresso (Vin), uscita e terra (nel video al 01:42). Collega il lato positivo della tua alimentazione al Vin, e il negativo a terra. Il tuo carico si collega ai terminali di uscita. L'Arduino controlla il gate del modulo MOSFET utilizzando un pin digitale (nel video alle 08:26).

mosfet_AOD4184A_module_wiring

Spiegazione del codice

Il codice Arduino utilizza la modulazione di larghezza di impulso (PWM) per controllare il MOSFET. I parametri configurabili sono:

  • motorPin: Specifica il pin Arduino collegato al gate del modulo MOSFET (predefinito: pin 9). (nel video al 05:47)
  • mSpeedUna variabile intera che controlla la velocità del motore (0-255). (nel video al 05:47)
  • mStepDetermina il passo di incremento/decremento permSpeed(default: 15). Regola questo per ottimizzare il controllo della velocità (nel video alle 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

Il codice include logica per preveniremSpeedda superare l'intervallo 0-255 (nel video alle 07:26). Per testare correnti più elevate (5A, 10A, 15A, 20A), una versione semplificata del codice mantiene il pin di uscita ALTO per mantenere uno stato acceso costante (nel video alle 13:43).


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

Progetto dal vivo/Demostrazione

Il video dimostra il controllo di una lampadina da 51W (nel video a 10:40) e di un motore DC (nel video a 11:18) utilizzando PWM. Il progetto include anche test con un carico elettronico a 5A, 10A, 15A e 20A (nel video a 13:10), mostrando le elevate capacità di gestione della corrente del modulo. Vengono anche mostrati i risultati della caduta di tensione attraverso il MOSFET a varie correnti (nel video a 16:06), convalidando il basso on-resistenza dell'AOD4184A.

AOD4184A-_modulo_mosfet-principale-15A

Capitoli

  • [00:00] Introduzione e Panoramica del Progetto
  • [01:40] Panoramica dell'hardware e dettagli del modulo
  • [05:01] Spiegazione della scheda tecnica del MOSFET
  • [05:47] Spiegazione del codice
  • [08:26] Spiegazione del cablaggio
  • [10:40] Dimostrazione con luce da 51W
  • [11:18] Dimostrazione con Motore a Corrente Continua
  • [12:58] Test ad alta corrente (5A, 10A, 15A, 20A)
  • Misura della Caduta di Tensione

Immagini

15A 400W MOSFET AOD4184A per controllare motore o carico
15A 400W MOSFET AOD4184A per controllare motore o carico
15A 400W MOSFET AOD4184A per controllare un motore o un carico
15A 400W MOSFET AOD4184A per controllare un motore o un carico
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
Lingua: 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
Lingua: 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


}

Cose di cui potresti avere bisogno

Risorse e riferimenti

Nessuna risorsa ancora.

File📁

File Fritzing

Altri file