코드 검색

15A 400W MOSFET AOD4184A로 모터 또는 부하 제어

15A 400W MOSFET AOD4184A로 모터 또는 부하 제어

이 프로젝트는 15A, 400W MOSFET 모듈(AOD4184A MOSFET 기반)을 사용하여 모터 및 조명과 같은 다양한 부하를 제어하는 방법을 보여줍니다. 이는 다양한 응용 분야에서 유용한 기술로, 전력 공급을 정밀하게 제어할 수 있게 해줍니다. MOSFET의 높은 전류 용량은 광범위한 프로젝트에 적합합니다.

AOD4184A-_mosfet_module-main

실용적인 응용 분야:

  • 로봇 공학 또는 자동화 프로젝트에서 DC 모터의 속도 제어.
  • LED 조명용 디밍 회로 생성.
  • 가전 제품용 고전력 스위칭 회로 구축.
  • 소형 차량용 모터 컨트롤러 설계.

하드웨어/부품

핵심 부품은 두 개의 AOD4184A MOSFET이 병렬로 연결된 15A, 400W MOSFET 모듈입니다(비디오 00:05). 또한 Arduino 보드, 전원 공급 장치, 연결 와이어, 그리고 제어하려는 부하(모터, 조명 등)가 필요합니다. 더 높은 전류 응용 분야에는 방열판이 강력히 권장됩니다(비디오 03:40).

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

배선 가이드

모듈에는 입력(Vin), 출력, 접지가 명확하게 표시된 단자가 있습니다(비디오 01:42). 전원 공급 장치의 양극을 Vin에 연결하고 음극을 접지에 연결하십시오. 부하는 출력 단자에 연결합니다. Arduino는 디지털 핀을 사용하여 MOSFET 모듈의 게이트를 제어합니다(비디오 08:26).

mosfet_AOD4184A_module_wiring

코드 설명

Arduino 코드는 펄스 폭 변조(PWM)를 사용하여 MOSFET을 제어합니다. 구성 가능한 매개변수는 다음과 같습니다:

  • motorPin: MOSFET 모듈의 게이트에 연결된 Arduino 핀을 지정합니다(기본값: 핀 9). (비디오 05:47)
  • mSpeed: 모터 속도를 제어하는 정수 변수(0-255). (비디오 05:47)
  • mStep: mSpeed의 증가/감소 단계를 결정합니다(기본값: 15). 속도 제어를 미세 조정하려면 이 값을 조정하십시오(비디오 05:54).

int motorPin =9; // 모터 모듈에 연결할 핀
int mSpeed = 0; // 속도 값을 저장하는 변수
int mStep = 15; // PWM 모터 속도의 증가/감소 단계

코드에는 mSpeed가 0-255 범위를 초과하지 않도록 하는 논리가 포함되어 있습니다(비디오 07:26). 더 높은 전류(5A, 10A, 15A, 20A)를 테스트하기 위해 출력 핀을 HIGH로 유지하여 일정한 켜짐 상태를 유지하는 단순화된 버전의 코드가 사용됩니다(비디오 13:43).


void loop() {
  digitalWrite(loadPin, HIGH);
  while(1); // 영원히 대기
}

실시간 프로젝트/데모

비디오는 PWM을 사용하여 51W 전구(비디오 10:40)와 DC 모터(비디오 11:18)를 제어하는 것을 보여줍니다. 프로젝트에는 5A, 10A, 15A 및 20A의 전자 부하 테스트(비디오 13:10)도 포함되어 있어 모듈의 높은 전류 처리 능력을 보여줍니다. 다양한 전류에서 MOSFET 양단의 전압 강하 측정(비디오 16:06)도 표시되어 AOD4184A의 낮은 온 저항을 검증합니다.

AOD4184A-_mosfet_module-main-15A

챕터

  • [00:00] 소개 및 프로젝트 개요
  • [01:40] 하드웨어 개요 및 모듈 세부 사항
  • [05:01] MOSFET 데이터시트 설명
  • [05:47] 코드 설명
  • [08:26] 배선 설명
  • [10:40] 51W 조명 데모
  • [11:18] DC 모터 데모
  • [12:58] 고전류 테스트(5A, 10A, 15A, 20A)
  • [16:06] 전압 강하 측정

이미지

15A 400W MOSFET AOD4184A to control a motor or load
15A 400W MOSFET AOD4184A to control motor or load
15A 400W MOSFET AOD4184A to control a motor or load
15A 400W MOSFET AOD4184A to control motor or load
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
언어: 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
언어: 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


}

필요할 수 있는 것들

자원 및 참고자료

아직 자원이 없습니다.

파일📁

프리징 파일

다른 파일들