このプロジェクトでは、Arduinoと2つのリレーを使用して24V大電流モーターの方向と速度を制御します。この回路には電源スイッチは必要ありません。2つの押しボタンとポテンショメータでDCモーターの方向と速度を制御します。1つの押しボタンはモーターを時計回りに回転させ、もう1つは反時計回りに回転させます。モーターの速度を制御するには、1つのnチャネルMOSFETが必要です。リレーはモーターの方向を切り替えるために使用されます。Hブリッジ回路に似ています。
必要なコンポーネント:
- Arduino Uno
- 2つの12vリレー(5vリレーも使用できます)
- 2つのトランジスタ; BC547
- 2つの押しボタン
- IRF540N
- 10k抵抗
- 24ボルトの電源
- 10Kポテンショメータ
- 3つのダイオード1N4007
- 接続線
回路図と説明:
この双方向モーター制御プロジェクトの回路図を下の画像に示します。それに従って接続を行います。
- 両方のリレーの通常閉端子をバッテリーのプラス端子に接続します。
- 両方のリレーのノーマルオープン端子をMOSFETのドレイン端子に接続します。
- MOSFETのソースをバッテリーのマイナス端子とArduinoUNOのグランドピンに接続します。
- ArduinoのPWMピン6へのゲート端子。
- ゲートからソースに10k抵抗を接続し、ソースからドレインに1N4007ダイオードを接続します。
- リレーの中央端子の間にモーターを接続します。
- 残りの2つの端子のうち、1つはArduino UnoのVinピンに接続され、もう1つはトランジスタのコレクタ端子に接続されます(各リレー用)。
- 両方のトランジスタのエミッタ端子をArduinoのGNDピンに接続します。
- Arduinoのデジタルピン2と3は、それぞれ押しボタンと直列になっており、トランジスタのベースに接続されています。
- 図に示すように、リレーの両端にダイオードを正確に接続します。
- ポテンショメータのエンド端子をArduinoの5vピンとGndピンにそれぞれ接続します。そしてワイパー端子をA0ピンに接続します。
- ** 2つの別々の12vバッテリーがある場合は、1つのバッテリーのプラス端子を別のバッテリーのマイナス端子に接続し、残りの2つの端子をプラスとマイナスとして使用します。
トランジスタの目的:
Arduinoのデジタルピンは、通常の5vリレーをオンにするのに必要な量の電流を供給できません。このプロジェクトでは12vリレーを使用しています。ArduinoのVinピンは、両方のリレーにこれだけの電流を簡単に供給することはできません。したがって、トランジスタは、ArduinoのVinピンからリレーに電流を流すために使用されます。リレーは、デジタルピンからトランジスタのベース端子に接続された押しボタンを使用して制御されます。
Arduinoの目的:
- リレーをオンにするために必要な電流量を提供します。
- トランジスタをオンにします。
- プログラミングを使用してポテンショメータでDCモーターの速度を制御します。最後に完全なArduinoコードを確認してください。
MOSFETの目的:
MOSFETはモーターの速度を制御するために必要です。MOSFETは高周波電圧でオンとオフが切り替わり、モーターはMOSFETのドレインと直列に接続されているため、電圧のPWM値がモーターの速度を決定します。
現在の計算:
リレーコイルの抵抗は、マルチメータを使用して測定され、= 400オームであることがわかります。
ArduinoのVinピンは= 12vを与えます
したがって、電流はリレーをオンにする必要があります= 12/400アンペア= 30 mA
両方のリレーがオンになっている場合、電流= 30 * 2 = 60 mA
** ArduinoのVinピンは最大電流= 200mAを供給できます。
したがって、Arduinoには過電流の問題はありません。
Arduino制御の双方向モーターの動作:
この2方向モーター制御回路の操作は簡単です。Arduinoの両方のピン(2、3)は常にハイのままです。
押しボタンが押されていない場合:
この場合、トランジスタのベースに電流が流れないため、トランジスタはオフのままになり(オープンスイッチのように機能します)、ArduinoのVinピンからリレーコイルに電流が流れません。
1つの押しボタンが押されたとき:
この場合、トランジスタをオンにするプッシュボタンを押すと、トランジスタのベースに電流が流れます。これで、Vinピンからこのトランジスタを介してリレーコイルに電流が簡単に流れ、このリレー(RELAY A)がオンになり、このリレーのスイッチがNOの位置になります。他のリレー(RELAY B)がまだNC位置にある間。そのため、電流はバッテリーのプラス端子からモーターを介してマイナス端子に流れます。つまり、電流はリレーAからリレーBに流れます。これにより、モーターが時計回りに回転します。
他の押しボタンが押されたとき:
今回は別のリレーがオンになります。これで、Vinピンからトランジスタを介してリレーコイルに電流が簡単に流れ、このリレー(RELAY B)がオンになり、このリレーのスイッチがNOの位置になります。他のリレー(RELAY A)はNC位置のままです。そのため、電流はバッテリーのプラス端子からモーターを介してバッテリーのマイナス端子に流れます。しかし、今回はリレーBからリレーAに電流が流れます。これにより、モーターが反時計回りに回転します。
。
両方の押しボタンが押されたとき:
この場合、電流は両方のトランジスタのベースに流れ、それによって両方のトランジスタがオンになります(閉じたスイッチのように機能します)。したがって、両方のリレーは現在NOの位置にあります。そのため、バッテリーのプラス端子からモーターを介してマイナス端子に電流が流れないため、回転しません。
DCモーターの速度の制御:
MOSFETのゲートはArduinoUNOのPWMピン6に接続されています。MOSFETは高いPWM周波数電圧でオンとオフが切り替えられ、モーターはMOSFETのドレインと直列に接続されているため、電圧のPWM値がモーターの速度を決定します。ここで、ポテンショメータのワイパー端子とGndの間の電圧が、ピン番号6のPWM電圧を決定し、ワイパー端子が回転すると、アナログピンA0の電圧が変化し、モーターの速度が変化します。
このArduinoベースの双方向モーター速度および方向制御の完全な動作は、Arduinoコードとともに以下のビデオに示されています。