Litar Meter Kapasitansi Digital Menggunakan Arduino

Cuba Instrumen Kami Untuk Menghapuskan Masalah





Dalam catatan ini kita akan membina litar meter kapasitansi digital menggunakan Arduino yang dapat mengukur kapasitansi kapasitor antara 1 mikrofarad hingga 4000 mikrofarad dengan ketepatan yang wajar.



Pengenalan

Kami mengukur nilai kapasitor apabila nilai yang tertulis di badan kapasitor tidak dapat dibaca, atau untuk mencari nilai kapasitor penuaan di litar kami yang perlu diganti segera atau lambat dan ada beberapa sebab lain untuk mengukur kapasitans.

Untuk mengetahui kapasitansi, kita dapat mengukur dengan mudah menggunakan multimeter digital, tetapi tidak semua multimeter mempunyai fitur pengukur kapasitansi dan hanya multimeter yang mahal yang mempunyai fungsi ini.



Jadi inilah litar yang boleh dibina dan digunakan dengan mudah.

Kami memfokuskan pada kapasitor dengan nilai lebih besar dari 1 mikrofarad hingga 4000 mikrofarad yang cenderung kehilangan kapasitansinya kerana penuaan terutama kapasitor elektrolit, yang terdiri daripada elektrolit cair.

Sebelum kita melihat perincian litar, mari kita lihat bagaimana kita dapat mengukur kapasitansi dengan Arduino.

Kebanyakan meter kapasitansi Arduino bergantung pada harta tetap masa RC. Oleh itu, apakah pemalar masa RC?

Pemalar masa litar RC dapat ditakrifkan sebagai masa yang diperlukan agar kapasitor mencapai 63.2% dari cas penuh. Voltan sifar adalah cas 0% dan 100% adalah caj voltan penuh kapasitor.

Produk nilai perintang dalam ohm dan nilai kapasitor dalam farad memberikan Masa tetap.

T = R x C

T ialah pemalar Masa

Dengan menyusun semula persamaan di atas, kita mendapat:

C = T / R

C adalah nilai kapasitansi yang tidak diketahui.

T adalah pemalar masa litar RC iaitu 63.2% kapasitor cas penuh.

R adalah rintangan yang diketahui.

Arduino dapat merasakan voltan melalui pin analog dan nilai perintang yang diketahui dapat dimasukkan dalam program secara manual.

Dengan menerapkan persamaan C = T / R dalam program, kita dapat mencari nilai kapasitansi yang tidak diketahui.

Sekarang anda akan mempunyai idea bagaimana kita dapat mencari nilai kapasitansi yang tidak diketahui.

Dalam catatan ini saya telah mencadangkan dua jenis meter kapasitansi, satu dengan paparan LCD dan satu lagi menggunakan monitor bersiri.

Sekiranya anda sering menggunakan meter kapasitansi ini, lebih baik menggunakan reka bentuk paparan LCD dan jika anda tidak kerap pengguna lebih baik menggunakan reka bentuk monitor bersiri kerana anda menjimatkan sejumlah wang pada paparan LCD.

Sekarang mari kita beralih ke gambarajah litar.

Meter kapasitansi berdasarkan Monitor Bersiri:



Seperti yang anda lihat litar sangat mudah, hanya beberapa perintang diperlukan untuk mencari kapasitansi yang tidak diketahui. 1K ohm adalah nilai perintang yang diketahui dan perintang 220 ohm digunakan untuk melepaskan kapasitor semasa proses pengukuran berlaku. Arduino merasakan naik dan turun voltan pada pin A0 yang disambungkan antara 1K ohm dan 220 ohm perintang. Sila jaga kekutuban jika anda menggunakan kapasitor terpolarisasi seperti elektrolitik. Program:
//-----------------Program developed by R.Girish------------------//
const int analogPin = A0
const int chargePin = 7
const int dischargePin = 6
float resistorValue = 1000 // Value of known resistor in ohm
unsigned long startTime
unsigned long elapsedTime
float microFarads
void setup()
{
Serial.begin(9600)
pinMode(chargePin, OUTPUT)
digitalWrite(chargePin, LOW)
}
void loop()
{
digitalWrite(chargePin, HIGH)
startTime = millis()
while(analogRead(analogPin) <648){}
elapsedTime = millis() - startTime
microFarads = ((float)elapsedTime / resistorValue) * 1000
if (microFarads > 1)
{
Serial.print('Value = ')
Serial.print((long)microFarads)
Serial.println(' microFarads')
Serial.print('Elapsed Time = ')
Serial.print(elapsedTime)
Serial.println('mS')
Serial.println('--------------------------------')
}
else
{
Serial.println('Please connect Capacitor!')
delay(1000)
}
digitalWrite(chargePin, LOW)
pinMode(dischargePin, OUTPUT)
digitalWrite(dischargePin, LOW)
while(analogRead(analogPin) > 0) {}
pinMode(dischargePin, INPUT)
}
//-----------------Program developed by R.Girish------------------//

Muat naik kod di atas ke Arduino dengan persediaan perkakasan yang lengkap, pada mulanya jangan sambungkan kapasitor. Buka monitor bersiri yang tertera 'Sila sambungkan kapasitor'.

Sekarang sambungkan kapasitor, kapasitansinya akan ditunjukkan seperti yang digambarkan di bawah.

Ia juga menunjukkan masa yang diperlukan untuk mencapai 63.2% voltan pengisian penuh kapasitor, yang ditunjukkan sebagai masa berlalu.

Meter Kapasitansi Digital Menggunakan Arduino

Gambarajah litar untuk meter kapasitansi berasaskan LCD:

Skema di atas adalah hubungan antara paparan LCD dan Arduino. Potensiometer 10K disediakan untuk menyesuaikan kontras paparan. Sambungan selebihnya jelas.

Litar di atas sama dengan reka bentuk berdasarkan monitor bersiri yang anda hanya perlu menyambungkan paparan LCD.

Program untuk meter kapasitansi berasaskan LCD:

//-----------------Program developed by R.Girish------------------//
#include
LiquidCrystal lcd(12,11,5,4,3,2)
const int analogPin = A0
const int chargePin = 7
const int dischargePin = 6
float resistorValue = 1000 // Value of known resistor in ohm
unsigned long startTime
unsigned long elapsedTime
float microFarads
void setup()
{
Serial.begin(9600)
lcd.begin(16,2)
pinMode(chargePin, OUTPUT)
digitalWrite(chargePin, LOW)
lcd.clear()
lcd.setCursor(0,0)
lcd.print(' CAPACITANCE')
lcd.setCursor(0,1)
lcd.print(' METER')
delay(1000)
}
void loop()
{
digitalWrite(chargePin, HIGH)
startTime = millis()
while(analogRead(analogPin) <648){}
elapsedTime = millis() - startTime
microFarads = ((float)elapsedTime / resistorValue) * 1000
if (microFarads > 1)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Value = ')
lcd.print((long)microFarads)
lcd.print(' uF')
lcd.setCursor(0,1)
lcd.print('Elapsed:')
lcd.print(elapsedTime)
lcd.print(' mS')
delay(100)
}
else
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Please connect')
lcd.setCursor(0,1)
lcd.print('capacitor !!!')
delay(500)
}
digitalWrite(chargePin, LOW)
pinMode(dischargePin, OUTPUT)
digitalWrite(dischargePin, LOW)
while(analogRead(analogPin) > 0) {}
pinMode(dischargePin, INPUT)
}
//-----------------Program developed by R.Girish------------------//

Dengan penyediaan perkakasan yang lengkap, muat naik kod di atas. Pada mulanya jangan sambungkan kapasitor. Paparan menunjukkan 'Sila sambungkan kapasitor !!!' sekarang anda menyambungkan kapasitor. Paparan akan menunjukkan nilai kapasitor dan masa yang berlalu untuk mencapai 63.2% kapasitor cas penuh.

Prototaip Pengarang:




Sebelumnya: Arduino Tachometer Circuit untuk bacaan yang tepat Seterusnya: Cara Mengawal Motor Servo Menggunakan Joystick