Arduinoを使用した過電流カットオフ電源

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





この投稿では、負荷を流れる電流が事前設定されたしきい値レベルを超えると、電源を自動的に遮断するバッテリーエリミネーター/ DC可変電源を構築します。

ギリッシュ・ラダクリシャナン



主な技術的特徴

Arduinoを使用して提案された過電流カットオフ電源回路は16X 2 LCDディスプレイを備えており、電圧、電流、消費電力、および事前設定されたしきい値電流制限をリアルタイムで表示するために使用されます。

エレクトロニクス愛好家である私たちは、可変電圧電源でプロトタイプをテストします。私たちのほとんどは、電圧測定/電流測定機能も短絡または過電流保護も組み込まれていない可能性のある安価な可変電源を所有しています。



これは、これらの機能を備えた電源が財布に爆弾を仕掛け、趣味での使用には過剰に使用される可能性があるためです。

短絡や過電流は初心者から専門家までの問題であり、初心者は経験が浅いためにこれが起こりやすく、電源の極性を逆にしたり、コンポーネントを間違った方法で接続したりする可能性があります。

これらのことにより、回路を流れる電流が異常に高くなり、半導体および受動部品の熱暴走が発生し、貴重な電子部品が破壊される可能性があります。これらの場合、オームの法則は敵になります。

短絡や揚げ物をしたことがない場合は、おめでとうございます!あなたはエレクトロニクスに完璧な数少ない人の一人であるか、エレクトロニクスで何か新しいことを試したことはありません。

提案された電源プロジェクトは、そのような揚げ物の破壊から電子部品を保護することができます。これは、平均的な電子機器愛好家にとって十分に安価であり、初心者レベルをわずかに超える人のためにそれを構築するのに十分簡単です。

デザイン

電源には3つのポテンショメータがあります。1つはLCDディスプレイのコントラストを調整するためのもので、もう1つは1.2 V〜15Vの範囲の出力電圧を調整するためのもので、最後のポテンショメータは0〜2000mAまたは2アンペアの範囲の電流制限を設定するために使用されます。

LCDディスプレイは、電圧、消費電流、事前設定された電流制限、および負荷による消費電力の4つのパラメーターで毎秒更新します。

負荷を介した消費電流はミリアンペアで表示され、事前設定された電流制限はミリアンペアで表示され、消費電力はミリワットで表示されます。
回路は、パワーエレクトロニクス、LCDディスプレイ接続、電力測定回路の3つの部分に分かれています。

これらの3つの段階は、読者が回路をよりよく理解するのに役立つ可能性があります。次に、出力電圧を制御するパワーエレクトロニクスのセクションを見てみましょう。

回路図:

Arduinoを使用した過電流カットオフ電源

12v-0-12v / 3A変圧器は電圧を下げるために利用され、6A4ダイオードはACをDC電圧に変換し、2000uFコンデンサーはダイオードからの途切れ途切れのDC電源を滑らかにします。

LM 7809固定9Vレギュレーターは、調整されていないDCを調整された9VDC電源に変換します。 9V電源はArduinoとリレーに電力を供給します。 arduinoの入力電源にDCジャックを使用してみてください。

出力電圧に優れた安定性を提供する0.1uFセラミックコンデンサをスキップしないでください。

LM 317は、接続される負荷に可変出力電圧を提供します。

4.7Kオームのポテンショメータを回転させることで出力電圧を調整できます。

これで電源セクションは終わりです。

次に、ディスプレイの接続を見てみましょう。

接続の詳細

Arduinoを使用した過電流カットオフ電源表示回路

ここで説明することは何もありません。回路図に従ってArduinoとLCDディスプレイを配線するだけです。表示コントラストを向上させるために、10Kポテンショメータを調整します。

上の表示は、上記の4つのパラメーターの読み取り値のサンプルを示しています。

電力測定ステージ

それでは、電力測定回路について詳しく見ていきましょう。

電力測定回路は、電圧計と電流計で構成されています。 Arduinoは、回路図のように抵抗のネットワークを接続することにより、電圧と電流を同時に測定できます。

Arduinoを使用した過電流カットオフ電源用の抵抗ネットワーク

上記の設計のリレー接続の詳細:

Arduinoリレー接続の詳細

負荷を流れる電流を測定するために使用される2.5オームのシャント抵抗を形成する並列の4つの10オーム抵抗。抵抗器はそれぞれ少なくとも2ワットである必要があります。

10kオームと100kオームの抵抗は、Arduinoが負荷の電圧を測定するのに役立ちます。これらの抵抗器は、通常のワット数定格のものにすることができます。

Arduinoベースの電流計と電圧計の動作について詳しく知りたい場合は、次の2つのリンクを確認してください。

電圧計:https://homemade-circuits.com/2016/09/how-to-make-dc-voltmeter-using-arduino.html

電流計:https://homemade-circuits.com/2017/08/arduino-dc-digital-ammeter.html

出力の最大電流レベルを調整するために、10Kオームのポテンショメータが用意されています。負荷を流れる電流が事前設定された電流を超えると、出力電源が切断されます。
プリセットレベルはディスプレイに表示され、「LT」(制限)と表示されます。

たとえば、制限を200に設定すると、199mAまで電流が流れます。消費電流が200mA以上になると、出力はすぐに遮断されます。

出力はArduinoピン#7によってオンとオフが切り替えられます。このピンがハイの場合、トランジスタは、コモンピンとノーマルオープンピンを接続するリレーに通電し、負荷に正の電源を供給します。

ダイオードIN4007は、リレーのオンとオフを切り替えながら、リレーコイルからの高電圧逆起電力を吸収します。

プログラムコード:

//------------------Program Developed by R.GIRISH------------------//
#include
#define input_1 A0
#define input_2 A1
#define input_3 A2
#define pot A3
LiquidCrystal lcd(12, 11, 5, 4, 3, 2)
int Pout = 7
int AnalogValue = 0
int potValue = 0
int PeakVoltage = 0
int value = 0
int power = 0
float AverageVoltage = 0
float input_A0 = 0
float input_A1 = 0
float output = 0
float Resolution = 0.00488
float vout = 0.0
float vin = 0.0
float R1 = 100000
float R2 = 10000
unsigned long sample = 0
int threshold = 0
void setup()
{
lcd.begin(16,2)
Serial.begin(9600)
pinMode(input_3, INPUT)
pinMode(Pout, OUTPUT)
pinMode(pot, INPUT)
digitalWrite(Pout, HIGH)
}
void loop()
{
PeakVoltage = 0
value = analogRead(input_3)
vout = (value * 5.0) / 1024
vin = vout / (R2/(R1+R2))
if (vin <0.10)
{
vin = 0.0
}
for(sample = 0 sample <5000 sample ++)
{
AnalogValue = analogRead(input_1)
if(PeakVoltage {
PeakVoltage = AnalogValue
}
else
{
delayMicroseconds(10)
}
}
input_A0 = PeakVoltage * Resolution
PeakVoltage = 0
for(sample = 0 sample <5000 sample ++)
{
AnalogValue = analogRead(input_2)
if(PeakVoltage {
PeakVoltage = AnalogValue
}
else
{
delayMicroseconds(10)
}
}
potValue = analogRead(pot)
threshold = map(potValue, 0, 1023, 0, 2000)
input_A1 = PeakVoltage * Resolution
output = (input_A0 - input_A1) * 100
output = output * 4
power = output * vin
while(output >= threshold || analogRead(input_1) >= 1010)
{
digitalWrite(Pout, LOW)
while(true)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Power Supply is')
lcd.setCursor(0,1)
lcd.print('Disconnected.')
delay(1500)
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Press Reset the')
lcd.setCursor(0,1)
lcd.print('Button.')
delay(1500)
}
}
while(output >= threshold || analogRead(input_2) >= 1010)
{
digitalWrite(Pout, LOW)
while(true)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Power Supply is')
lcd.setCursor(0,1)
lcd.print('Disconnected.')
delay(1500)
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Press Reset the')
lcd.setCursor(0,1)
lcd.print('Button.')
delay(1500)
}
}
lcd.clear()
lcd.setCursor(0,0)
lcd.print('V=')
lcd.print(vin)
lcd.setCursor(9,0)
lcd.print('LT=')
lcd.print(threshold)
lcd.setCursor(0,1)
lcd.print('I=')
lcd.print(output)
lcd.setCursor(9,1)
lcd.print('P=')
lcd.print(power)
Serial.print('Volatge Level at A0 = ')
Serial.println(analogRead(input_1))
Serial.print('Volatge Level at A1 = ')
Serial.println(analogRead(input_2))
Serial.print('Voltage Level at A2 = ')
Serial.println(analogRead(input_3))
Serial.println('------------------------------')
}

//------------------Program Developed by R.GIRISH------------------//

これまでに、貴重な電子部品やモジュールを保護する電源を構築するのに十分な知識を身に付けたことでしょう。

Arduinoを使用したこの過電流遮断電源回路に関して具体的な質問がある場合は、コメントセクションでお気軽にお問い合わせください。迅速な返信が届く場合があります。




前:Arduinoを使用してこの高度なデジタル電流計を作成します 次へ:ArduinoのEEPROMの紹介