Arduinoを使用してこのバックコンバータを作成する

問題を排除するために楽器を試してください





このプロジェクトでは、12v D.Cを2〜11ボルトの任意のD.C値に降圧します。直流電圧を降圧する回路は、降圧コンバータとして知られています。必要な出力電圧または降圧電圧は、arduinoに接続されたポテンショメータを使用して制御されます。

アンキット・ネギ



コンバーターの紹介:

コンバーターには基本的に2つのタイプがあります。

1.バックコンバーター



2.ブーストコンバーター

どちらのコンバータも、要件に応じて入力電圧を変更します。それらはに似ています 変成器 主な違いが1つあります。変圧器はA.C電圧をステップアップ/ダウンしますが、D.CコンバーターはD.C電圧をステップアップ/ダウンします。両方のコンバーターの主なコンポーネントは次のとおりです。

A.MOSFET

B.インダクタ

C.コンデンサ

BUCK CONVERTER:名前自体が示すように、buckは入力電圧を下げることを意味します。 降圧コンバーター 大電流容量で入力DC電圧よりも低い電圧が得られます。直接変換です。

ブーストコンバーター:名前自体が示すように、ブーストは入力電圧を上げることを意味します。

ブーストコンバーターは、入力時のDC電圧よりも高いDC電圧を提供します。直接変換でもあります。

**このプロジェクトでは、PWMソースとしてarduinoを使用して、12 vD.Cを降圧するバックコンバータ回路を作成します。

ARDUINOピンのPWM周波数の変更:

arduino UNOのPWMピンは3、5、6、9、10、11です。

PWMを実行するために使用されるコマンドは、次のとおりです。

AnalogWrite(PWMピン番号、PWM値)

これらのピンのPWM周波数は次のとおりです。

Arduinoピン9、10、11、および3の場合---- 500Hz

Arduinoピン5および6の場合---- 1kHz

これらの周波数は、LEDのフェードなどの汎用用途には適しています。しかし、次のような回路の場合 バックまたはブーストコンバータ 、MOSFETは完全なスイッチングのために高周波を必要とし、高周波入力はインダクタやコンデンサなどの回路コンポーネントの値またはサイズを減少させるため、高周波PWMソース(数十KHZの範囲)が必要です。したがって、このプロジェクトでは、高周波PWMソースが必要です。

良いことは、簡単なコードを使用してarduinoのPWMピンのPWM周波数を変更できることです。

ARDUINO UNOの場合:

D3およびD11で使用可能なPWM周波数:
// TCCR2B = TCCR2B&B11111000 | B00000001 // 31372.55HzのPWM周波数の場合
// TCCR2B = TCCR2B&B11111000 | B00000010 //3921.16HzのPWM周波数の場合
// TCCR2B = TCCR2B&B11111000 | B00000011 // 980.39HzのPWM周波数の場合
TCCR2B = TCCR2B&B11111000 | B00000100 // 490.20 HzのPWM周波数の場合(デフォルト)
// TCCR2B = TCCR2B&B11111000 | B00000101 // 245.10HzのPWM周波数の場合
// TCCR2B = TCCR2B&B11111000 | B00000110 // 122.55HzのPWM周波数の場合
// TCCR2B = TCCR2B&B11111000 | B00000111 // 30.64HzのPWM周波数の場合
D5およびD6で使用可能なPWM周波数:
// TCCR0B = TCCR0B&B11111000 | B00000001 // 62500.00HzのPWM周波数の場合
// TCCR0B = TCCR0B&B11111000 | B00000010 // 7812.50HzのPWM周波数の場合
TCCR0B = TCCR0B&B11111000 | B00000011 // 976.56 HzのPWM周波数の場合(デフォルト)
// TCCR0B = TCCR0B&B11111000 | B00000100 // 244.14HzのPWM周波数の場合
// TCCR0B = TCCR0B&B11111000 | B00000101 // 61.04HzのPWM周波数の場合
D9およびD10で使用可能なPWM周波数:
// TCCR1B = TCCR1B&B11111000 | B00000001 // 31372.55HzのPWM周波数に対してタイマー1除数を1に設定
// TCCR1B = TCCR1B&B11111000 | B00000010 //3921.16HzのPWM周波数の場合
TCCR1B = TCCR1B&B11111000 | B00000011 // 490.20 HzのPWM周波数の場合(デフォルト)
// TCCR1B = TCCR1B&B11111000 | B00000100 // 122.55HzのPWM周波数の場合
// TCCR1B = TCCR1B&B11111000 | B00000101 // 30.64HzのPWM周波数の場合
**ピン番号を使用します。 PWMの場合は6、したがってコード:
// TCCR0B = TCCR0B&B11111000 | B00000001 // 62.5KHzのPWM周波数の場合

コンポーネントリスト:

1. ARDUINO UNO

2.インダクタ(100Uh)

3.ショットキーダイオード

4.コンデンサ(100uf)

5. IRF540N

6.ポテンショメータ

7. 10k、100オーム抵抗

8. LOAD(この場合はモーター)

9.12Vバッテリー

回路図

Arduinoを使用したバックコンバーター

Arduino配線レイアウトを使用したバックコンバーター

回路図のように接続してください。

1.ポテンショメータの端端子をarduinoUNOの5vピンとアースピンにそれぞれ接続し、ワイパー端子をピンアナログピンA1に接続します。

2.arduinoのPWMピン6をMOSFETのベースに接続します。

3.バッテリーの正端子はMOSFETのドレインに、負端子はショットキーダイオードのp端子に接続します。

4.ショットキーダイオードのp端子から、インダクタと直列の負荷(モーター)をMOSFETのソース端子に接続します。

5.ショットキーダイオードのn端子をMOSFETのソース端子に接続します。

6.モーターの両端に47ufコンデンサを接続します。

7.最後に、arduinoのグランドピンをMOSFETのソース端子に接続します。

MOSFETの目的:

MOSFETは、入力電圧を高周波で切り替え、熱の放散を抑えて大電流を供給するために使用されます。

arduinoの目的:

MOSFETの高速スイッチング用(周波数約65KHz)

インダクタの目的:

インダクタを接続せずにこの回路を実行すると、MOSFETの端子に高電圧スパイクが発生するため、MOSFETが損傷する可能性が高くなります。

これらの高電圧スパイクからMOSFETを防ぐために、図に示すように接続されます。MOSFETがオンのときはエネルギーを蓄積し、MOSFETがオフのときはこの蓄積されたエネルギーをモーターに放出するからです。

ショットキーダイオードの目的:

ショットキーダイオードが回路に接続されていないと仮定します。この場合、MOSFETがオフになると、インダクタはそのエネルギーを負荷またはモーターに放出しますが、電流が流れるループが不完全であるため、負荷にわずかな影響しか与えません。したがって、ショットキーダイオードは、電流が流れるためのループを完了します。ショットキーダイオードは順方向電圧降下が小さいため、ここでは通常のダイオードは接続されていません。LEDの目的:
負荷両端の降圧電圧を示します。

ポテンショメータの目的:

ポテンショメータ ArduinoのPWMピン6からMOSFETのゲート端子がpwm電圧を受け取ることにより、arduinoにアナログ値を与えます(ワイパー端子の位置に基づく)。この値は、最終的に負荷両端の出力電圧を制御します。

なぜ抵抗がゲートとソースの間に接続されているのですか?

わずかなノイズでもMOSFETをオンにすることができます。したがって、 プルダウン抵抗 ゲートとグランド、つまりソースの間に接続されています。

プログラムコード

Burn this code to arduino:
int m // initialize variable m
int n // initialize variable n
void setup()
B00000001 // for PWM frequency of 62.5 KHz on pin 6( explained under code section)
Serial.begin(9600) // begin serial communication

void loop()
{
m= analogRead(A1) // read voltage value from pin A1 at which pot. wiper terminal is connected
n= map(m,0,1023,0,255) // map this ip value betwenn 0 and 255
analogWrite(6,n) // write mapped value on pin 6
Serial.print(' PWM Value ')
Serial.println(n)
}

コードの説明

1.変数xは、ポットのワイパー端子が接続されているピンA1から受け取った電圧値です。

2.変数yには、0〜255のマップ値が割り当てられます。

3. **バックまたはブーストコンバータのような回路について上記のセクションですでに説明したように、MOSFETは完全なスイッチングのために高周波を必要とし、高周波入力は値またはサイズを減少させるため、高周波PWMソース(数十KHZの範囲)が必要ですインダクタやコンデンサなどの回路部品の

したがって、この単純なコードを使用して、約1のpwm電圧を生成します。 65 kHz周波数:TCCR0B = TCCR0B&B11111000 | B00000001 //ピン6のPWM周波数が62.5KHzの場合

使い方:

ポテンショメータは(ワイパー端子の位置に基づいて)arduinoにアナログ値を与えるため、これは、ArduinoのPWMピン6からMOSFETのゲート端子が受信するpwm電圧値を決定します。

そして、この値は最終的に負荷両端の出力電圧を制御します。

MOSFETがオンの場合、インダクタはエネルギーを蓄積し、スイッチをオフにすると、この蓄積されたエネルギーは負荷、つまりこの場合はモーターに放出されます。また、このプロセスは非常に高い周波数で行われるため、MOSFETは電圧に依存するデバイスであるため、ワイパー端子の位置に応じてモーターの両端に降圧DC電圧が発生します。

プロトタイプ画像:

Arduinoを使用した上記の説明されたバックコンバータ回路のビデオクリップ




前:Arduinoを使用したシンプルなデジタル水流量計回路 次へ:4つの単純な近接センサー回路– IC LM358、IC LM567、IC555を使用