検索コード

15A 400W MOSFET AOD4184Aを使用してモーターまたは負荷を制御する

15A 400W MOSFET AOD4184Aを使用してモーターまたは負荷を制御する

このプロジェクトは、15A、400WのMOSFETモジュール(AOD4184A MOSFETに基づく)を使用して、モーターや照明などのさまざまな負荷を制御する方法を示しています。これは、多くのアプリケーションにおいて貴重なスキルであり、電力供給の精密な制御を可能にします。MOSFETの高い電流容量は、幅広いプロジェクトに適していることを示しています。

AOD4184A-_MOSFETモジュール-メイン

実用的な応用:

  • ロボット工学や自動化プロジェクトにおけるDCモーターの速度制御。
  • LED照明用の調光回路を作成する。
  • 家電用の高出力スイッチング回路を構築すること。
  • 小型車両用のモーターコントローラーの設計。

ハードウェア/コンポーネント

コアコンポーネントは、2つの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ピン配置

配線ガイド

モジュールには明確に印が付けられた端子があります:入力 (V内で), 出力、およびグラウンド(ビデオの 01:42 を参照)。電源の正側を V に接続します。中に、そして負端子を地面に接続します。あなたの負荷は出力端子に接続されます。Arduinoはデジタルピンを使用してMOSFETモジュールのゲートを制御します(ビデオの08:26で)。

mosfet_AOD4184A_module_wiring

コード説明

Arduinoのコードは、MOSFETを制御するためにパルス幅変調(PWM)を使用しています。設定可能なパラメータは次のとおりです:

  • motorPinMOSFETモジュールのゲートに接続されているArduinoピンを指定します(デフォルト:ピン9)。 (動画の時間: 05:47)
  • mSpeed整数変数でモーターの速度を制御します (0-255)。 (動画の 05:47 にて)
  • mStep増加/減少ステップを決定しますmSpeed(デフォルト:15)。これを調整して速度制御を微調整します(動画の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

コードには防止するためのロジックが含まれています。mSpeed0-255の範囲を超えないようにする(ビデオの07:26で)。より高い電流(5A、10A、15A、20A)をテストするために、出力ピンをHIGHに保つ簡略化されたバージョンのコードが一定のオン状態を維持します(ビデオの13:43で)。


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

ライブプロジェクト/デモンストレーション

このビデオでは、PWMを使用して51Wの電球(ビデオの10:40に)とDCモーター(ビデオの11:18に)を制御する様子が示されています。このプロジェクトには、5A、10A、15A、20Aの電子負荷でのテストも含まれており(ビデオの13:10に)、モジュールの高電流処理能力を展示しています。さまざまな電流でのMOSFETの電圧降下の測定も示されており(ビデオの16:06に)、AOD4184Aの低いオン抵抗が確認されています。

AOD4184A-_MOSFETモジュール-メイン-15A

  • [00:00] はじめにとプロジェクト概要
  • [01:40] ハードウェア概要とモジュールの詳細
  • [05:01] MOSFET データシートの説明
  • [05:47] コードの説明
  • [08:26] 配線説明
  • [10:40] 51Wライトを使用したデモンストレーション
  • [11:18] DCモーターを用いたデモンストレーション
  • 高電流テスト (5A, 10A, 15A, 20A)
  • [16:06] 電圧降下測定

画像

15A 400W MOSFET AOD4184Aを使用してモーターや負荷を制御する
15A 400W MOSFET AOD4184Aを使用してモーターや負荷を制御する
15A 400W MOSFET AOD4184Aを使用してモーターまたは負荷を制御する
15A 400W MOSFET AOD4184Aを使用してモーターまたは負荷を制御する
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


}

必要かもしれないもの

リソースと参考文献

まだリソースはありません。

ファイル📁

フリッツィングファイル

他のファイル