Higit sa Kasalukuyang Cut-off Power Supply Gamit ang Arduino

Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema





Sa post na ito ay magtatayo kami ng isang baterya ng eletator / DC variable power supply na awtomatikong magpaputol ng suplay, kung ang kasalukuyang daloy sa pamamagitan ng pagkarga ay lumampas sa na-preset na antas ng threshold.

Ni Girish Radhakrishanan



Pangunahing Mga Tampok na Teknikal

Ang iminungkahi sa kasalukuyang cut-off power supply circuit gamit ang Arduino ay mayroong 16 X 2 LCD display, na ginagamit upang maipakita ang boltahe, kasalukuyang, pagkonsumo ng kuryente at presetang kasalukuyang limitasyon ng limitasyon sa real time.

Bilang isang taong mahilig sa electronics, sinubukan namin ang aming mga prototype sa isang variable na supply ng kuryente ng boltahe. Karamihan sa atin ay nagmamay-ari ng isang murang variable power supply na maaaring hindi isport alinman sa boltahe na pagsukat / kasalukuyang tampok sa pagsukat o maikling circuit o sa kasalukuyang proteksyon na naka-built in.



Iyon ay dahil ang supply ng kuryente sa mga nabanggit na tampok na ito ay maaaring bomba sa iyong wallet at masobrahan para sa paggamit ng libangan.

Ang maikling circuit at sa paglipas ng kasalukuyang daloy ay isang problema para sa mga nagsisimula sa mga propesyonal at ang mga nagsisimula ay madaling kapitan nito dahil sa kanilang karanasan, maaari nilang baligtarin ang polarity ng supply ng kuryente o ikonekta ang mga sangkap sa maling paraan, atbp.

Ang mga bagay na ito ay maaaring maging sanhi ng kasalukuyang daloy sa pamamagitan ng circuit na hindi pangkaraniwan, na nagreresulta sa thermal runaway sa semiconductor at mga passive na bahagi na nagreresulta sa pagkasira ng mga mahahalagang elektronikong sangkap. Sa mga kasong ito ang batas ng ohm ay nagiging isang kaaway.

Kung hindi ka nakagawa ng isang maikling circuit o pritong circuit, pagkatapos ay maligayang pagdating! Isa ka sa ilang mga tao na perpekto sa electronics o hindi ka kailanman sumusubok ng bago sa electronics.

Ang iminungkahing proyekto ng supply ng kuryente ay maaaring maprotektahan ang mga elektronikong sangkap mula sa naturang pagprito na pagkasira, na kung saan ay magiging sapat na mura para sa isang average na hobbyist ng electronics at sapat na madali upang makabuo ng isa para sa kung sino ang bahagyang mas mataas sa antas ng nagsisimula.

Ang disenyo

Ang supply ng kuryente ay may 3 potentiometers: isa para sa pag-aayos ng kaibahan sa display ng LCD, isa para sa pag-aayos ng output boltahe mula 1.2 V hanggang 15V at ang huling potensyomiter ay ginagamit para sa pagtatakda ng kasalukuyang limitasyon mula 0 hanggang 2000 mA o 2 Ampere.

Ang LCD display ay i-a-update ka ng apat na mga parameter bawat segundo: ang boltahe, kasalukuyang pagkonsumo, paunang itinakdang kasalukuyang limitasyon at pag-ubos ng kuryente ng pag-load.

Ang kasalukuyang pagkonsumo sa pamamagitan ng pagkarga ay ipapakita sa mga milliamp ang pre-set na kasalukuyang limitasyon ay ipapakita sa mga milliamp at ang pagkonsumo ng kuryente ay ipapakita sa milli-watts.
Ang circuit ay nahahati sa 3 bahagi: ang electronics ng kuryente, ang koneksyon sa display ng LCD at circuit ng pagsukat ng kuryente.

Ang 3 yugto na ito ay maaaring makatulong sa mga mambabasa na maunawaan ang circuit nang mas mabuti. Tingnan natin ngayon ang seksyon ng electronics ng kuryente na kumokontrol sa boltahe ng output.

Diagram ng iskematika:

Higit sa Kasalukuyang Cut-off Power Supply Gamit ang Arduino

Ang 12v-0-12v / 3A transpormer ay gagamitin para sa pagbaba ng boltahe, ang 6A4 diode ay i-convert ang AC sa DC boltahe at ang capacitor ng 2000uF ay makinis ang choppy DC supply mula sa mga diode.

Ang LM 7809 na nakapirming 9V regulator ay magko-convert sa unregulated DC sa kinokontrol na supply ng 9V DC. Ang supply ng 9V ay magpapagana sa Arduino at i-relay. Subukang gumamit ng isang DC jack para sa input ng arduino.

Huwag laktawan ang mga 0.1uF ceramic capacitor na nagbibigay ng mahusay na katatagan para sa boltahe ng output.

Nagbibigay ang LM 317 ng variable na boltahe ng output para sa pag-load na makakonekta.

Maaari mong ayusin ang output boltahe sa pamamagitan ng pag-ikot ng 4.7K ohm potentiometer.

Tinatapos nito ang seksyon ng kuryente.

Tingnan natin ngayon ang koneksyon sa display:

Mga Detalye ng Koneksyon

Higit sa Kasalukuyang Cut-off Power Supply Display Circuit Gamit ang Arduino

Walang maipapaliwanag dito, i-wire lamang ang display ng Arduino at LCD ayon sa diagram ng circuit. Ayusin ang 10K potentiometer para sa mas mahusay na pagkakaiba sa pagtingin.

Ipinapakita ng ipinakita sa itaas ang mga halimbawang pagbasa para sa apat na mga parameter na nabanggit.

Yugto ng Pagsukat ng Lakas

Ngayon, tingnan natin nang detalyado ang circuit ng pagsukat ng kuryente.

Ang circuit ng pagsukat ng kuryente ay binubuo ng voltmeter at ammeter. Maaaring sukatin ng Arduino ang boltahe at kasalukuyang sabay-sabay sa pamamagitan ng pagkonekta sa network ng mga resistors ayon sa circuit diagram.

resistor network para sa Over Current Cut-off Power Supply Paggamit ng Arduino

Mga Detalye ng Koneksyon ng Relay para sa nasa itaas na Disenyo:

Mga detalye ng koneksyon ng relay ng Arduino

Ang apat na 10 ohm resistors nang kahanay na bumubuo ng 2.5 ohm shunt risistor na magagamit para sa pagsukat ng kasalukuyang daloy sa pamamagitan ng pagkarga. Ang mga resistors ay dapat na hindi bababa sa 2 wat bawat isa.

Ang 10k ohm at 100k ohm resistors ay tumutulong sa Arduino na masukat ang boltahe sa karga. Ang risistor na ito ay maaaring maging isa na may normal na rating ng wattage.

Kung nais mong malaman ang tungkol sa pagtatrabaho ng Arduino based ammeter at voltmeter suriin ang dalawang mga link na ito:

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

Ammeter: https://homemade-circuits.com/2017/08/arduino-dc-digital-ammeter.html

Ang 10K ohm potentiometer ay ibinibigay para sa pag-aayos ng maximum na kasalukuyang antas sa output. Kung ang kasalukuyang daloy sa pamamagitan ng pag-load ay lumampas sa paunang naka-set na kasalukuyang ang output supply ay ididiskonekta.
Maaari mong makita ang preset na antas sa pagpapakita na ito ay mabanggit bilang 'LT' (Limitasyon).

Sabihin halimbawa: kung itinakda mo ang limitasyon bilang 200, magbibigay ito ng kasalukuyang hanggang 199mA. Kung ang kasalukuyang pagkonsumo ay makakakuha ng katumbas ng 200 mA o sa itaas ng output ay agad na mapuputol.

Ang output ay naka-on at naka-off ng Arduino pin # 7. Kapag ang pin na ito ay mataas ang transistor ay nagpapalakas ng relay na kumokonekta sa karaniwan at karaniwang bukas na mga pin, na nagsasagawa ng positibong panustos para sa pagkarga.

Ang diode IN4007 ay sumisipsip ng mataas na boltahe pabalik ng EMF mula sa coil ng relay habang inililipat ang relay ON at OFF.

Code ng Programa:

//------------------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------------------//

Sa ngayon, nakakuha ka sana ng sapat na kaalaman upang makabuo ng isang supply ng kuryente na nagpoprotekta sa iyo ng mahahalagang elektronikong sangkap at modules.

Kung mayroon kang anumang tukoy na katanungan tungkol dito sa kasalukuyang cut-off power supply circuit gamit ang Arduino huwag mag-atubiling magtanong sa seksyon ng komento, maaari kang makatanggap ng mabilis na tugon.




Nakaraan: Gawin itong Advanced Digital Ammeter gamit ang Arduino Susunod: Panimula sa EEPROM sa Arduino