このプロジェクトでは、Arduinoと最大電流容量6アンペアのNチャネルMOSFETを使用して降圧コンバータ回路を作成します。12v DCを0〜10vDCの任意の値に降圧します。ポテンショメータを回転させることで出力電圧値を制御できます。
降圧コンバータは、DC電圧を降圧するDC-DCコンバータです。これは、1つの違いがある変圧器のようなものです。一方、変圧器はAC電圧を降圧し、降圧コンバータはDC電圧を降圧します。降圧コンバータの効率は変圧器よりも低くなります。
降圧コンバータの主要コンポーネントはMOSFETです。nチャネルまたはpチャネルのいずれかおよび高周波方形パルスジェネレータ(タイマーICまたはマイクロコントローラー)。Arduinoはここではパルスジェネレータとして使用されています。555タイマーICもこの目的に使用できます。ここでは、ポテンショメータでDCモーターの速度を制御することにより、このバックコンバーターを実証し、マルチメーターを使用して電圧をテストしました。この記事の最後にあるビデオを確認してください。
必要なコンポーネント:
- Arduino Uno
- IRF540N
- インダクタ(100Uh)
- コンデンサ(100uf)
- ショットキーダイオード
- ポテンショメータ
- 10k、100オームの抵抗
- 負荷
- 12vバッテリー
回路図と接続:
DC-DCバックコンバータの上記の回路図に示すように接続します。
- インダクタの一方の端子をMOSFETのソースに接続し、もう一方の端子を1k抵抗と直列のLEDに接続します。負荷はこの配置と並列に接続されます。
- ゲートとソースの間に10kの抵抗を接続します。
- コンデンサを負荷と並列に接続します。
- バッテリーのプラス端子をドレインに接続し、マイナスをコンデンサのマイナス端子に接続します。
- ダイオードのp端子をバッテリーのマイナスに接続し、n端子をソースに直接接続します。
- ArduinoのPWMピンはMOSFETのゲートに行きます
- ArduinoのGNDピンはMOSFETのソースに接続されています。そこに接続しないと回路が機能しません。
- ポテンショメータの極限端子をArduinoの5vピンとGNDピンにそれぞれ接続します。一方、ワイパー端子はアナログピンA1に接続します。
Arduinoの機能:
すでに説明したように、ArduinoはMOSFETのベースにクロックパルスを送信します。これらのクロックパルスの周波数は約です。65Khz。これにより、MOSFETのスイッチングが非常に速くなり、平均電圧値が得られます。ArduinoのADCとPWMについて学ぶ必要があります。これにより、Arduinoによって高周波パルスがどのように生成されるかがわかります。
- PWMを使用したArduinoベースのLED調光器
- Arduino UnoでADCを使用する方法は?
MOSFETの機能:
Mosfetは2つの目的で使用されます。
- 出力電圧の高速スイッチング用。
- 熱放散の少ない大電流を提供します。
インダクタの機能:
インダクタは、MOSFETに損傷を与える可能性のある電圧スパイクを制御するために使用されます。インダクタは、MOSFETがオンのときにエネルギーを蓄積し、MOSFETがオフのときにこの蓄積されたエネルギーを放出します。周波数が非常に高いため、この目的に必要なインダクタンスの値は非常に低くなります(約100uH)。
ショットキーダイオードの機能:
ショットキーダイオードは、MOSFETがオフになると電流のループを完了し、負荷への電流のスムーズな供給を保証します。これとは別に、ショットキーダイオードは非常に低い熱を放散し、通常のダイオードよりも高い周波数で正常に動作します。
LEDの機能:LEDの
明るさは、負荷両端の降圧電圧を示します。ポテンショメータを回転させると、LEDの明るさが変化します。
ポテンショメータの機能:
ポテンショメータのワイパー端子を別の位置に落とすと、ポテンショメータとアース間の電圧が変化し、arduinoのピンA1が受け取るアナログ値が変化します。次に、この新しい値は0〜255の間にマッピングされ、PWM用にArduinoのピン6に渡されます。
**コンデンサは負荷に与えられた電圧を滑らかにします。
なぜゲートとソースの間に抵抗があるのですか?
MOSFETのゲートでわずかなノイズでもオンになる可能性があるため、これを防ぐために、ゲートとソースの間に高い値の抵抗を接続することを常にお勧めします。
コードの説明:
高周波パルスを生成するための完全なArduinoコードは、以下のコードセクションに記載されています。
コードは単純で自明なので、ここではコードのごく一部についてのみ説明しました。
変数xには、ArduinoのアナログピンA0から受信したアナログ値が割り当てられます。
x = analogRead(A1);
変数wには、0〜255のマップ値が割り当てられます。ここで、ArduinoのADC値は、Arduinoの マップ 機能を使用して2〜255にマップされます。
w = map(x、0,1023,0,255);
ピン6のPWMの通常の周波数は約1kHzです。この周波数は、降圧コンバータのような目的には適していません。したがって、この周波数は非常に高いレベルに上げる必要があります。これは、voidセットアップで1行のコードを使用して実現できます。
TCCR0B = TCCR0B&B11111000-B00000001; // pwmの周波数を約65KHZに変更します。
DC-DCバックコンバーターの動作:
回路がオンになると、MOSFETは65kHzの周波数でオンとオフを切り替えます。これにより、インダクタはMOSFETがオンのときにエネルギーを蓄積し、MOSFETがオフのときにこの蓄積されたエネルギーを負荷に与えます。これは非常に高い周波数で発生するため、5v端子に対するポテンショメータのワイパー端子の位置に応じたパルス出力電圧の平均値を取得します。また、ワイパー端子とグランド間のこの電圧が増加すると、pwmピン番号のマップ値も増加します。Arduinoの6。
このマップされた値が200であるとしましょう。その場合、ピン6のPWM電圧は次のようになります。= 3.921ボルト
また、MOSFETは電圧依存デバイスであるため、このpwm電圧が最終的に負荷両端の電圧を決定します。
ここでは、DCモーターを回転させてこのバックコンバーターをデモンストレーションしました。マルチメーターでは、以下のビデオを確認してください。ポテンショメータでモーターの速度を制御し、ポテンショメータでLEDの明るさを制御しました。