رباتیک و هوافضا

پروژه ی ساخت مدار سنجش ظرفیت خازنی دیجیتال با استفاده از آردوینو

به نام خدا

پروژه ی ساخت مدار سنجش ظرفیت خازنی دیجیتال با استفاده از آردوینو

در این پست قصد داریم تا یک دستگاه اندازه گیری بسیار کاربری یعنی مدار سنجش ظرفیت خازنی دیجیتال با استفاده از آردوینو را بسازیم که توانایی اندازه گیری ۱ تا ۴۰۰۰ میکروفاراد با دقت قابل قبولی را داراست. در این پروژه هم ظرفیت خازنی را اندازه میگیریم و هم ثابت زمانی آن را. ثابت زمانی خازن عبارتست از مدت زمانی که طول می کشد تا خازن به اندازه ی ۶۳٫۲ درصد ظرفیت خود شارژ شود.

 

نحوه ی کار :

اکثر ظرفیت سنج های خازنی بر اساس ثابت زمانی RC کار می کنند.

T = R x C

T ثابت زمانیست. R مقدار مقاومت مشخص است و C ظرفیت خازن است که می خواهیم نمایش داده شود. آردوینو با محاسبه ی اختلاف ولتاژ دوسر مقاومت  مورد نظر مقدار R را به دست می آورد و سپس طبق رابطه ی T = R x C مقدار خازن محاسبه می شود.

 

شماتیک مدار سنجش ظرفیت خازنی دیجیتال با استفاده از آردوینو و نمایش آن بر روی سریال مانیتور:

همانطور که در بالا مشاهده می ود ما به دو مقاومت نیاز داریم مقار ظرفیت را داشته باشیم. مقاومت ۱ کیلو اهمی همان مقدار مقاومت مشخص در فرمول است. مقاومت ۲۲۰ اهمی نیز برای دشاژ خازن است و به انجام محاسبات کمک می کند آردوینو مقدار افزایش و افت ولتاژ بر روی پین A0 را که بین دو مقاومت است احساس می کند.

بیشتر بخوانید...  ساخت جوی استیک دو محوره با آردوینو

کد برنامه ی مدار سنجش ظرفیت خازنی دیجیتال با استفاده از آردوینو و نمایش آن بر روی سریال مانیتور:

دانلود فایل
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);

}

 

کد بالا را در آردوینو آپلود کنید و خازن را متصل نکنید تا زمانی که جمله ی Please connect capacitor را به معنی لطفا خازن را متصل کنید را بر روی سریال مانیتور مشاهده کنید.

 

شماتیک مدار سنجش ظرفیت خازنی دیجیتال با استفاده از آردوینو و نمایش آن بر روی ال سی دی :

تصویر زیر تمامیه اتصلات لازم برای نمایش مقدار خازن بر روی ال سی دی را مایش می دهد. پتانسیومتر ۱۰ کیلو اهمی برای تنظیم میزان کنتراست نمایش ال سی دی می باشد.

بیشتر بخوانید...  آموزش پروژه محور آردوینو – جلسه ششم ورودی و خروجی 1

 

 

 

در قسمت زیر به برنامه ریزی ال ای سی برای نمایش مقدار خازج می پردازیم :

دانلود کد مدار سنجش ظرفیت خازنی دیجیتال با استفاده از آردوینو و نمایش آن بر روی ال سی دی:

دانلود فایل
#include<LiquidCrystal.h>

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);

}

برنامه ی بالا را آپلود کنید و صبر کنید تا بر روی ال سی دی جمله ی Please connect capacitor به معنی لطفا خازن را متصل کنید را مشاهده کنید. سپس ال س دی مقدار خازن و مدت زمان که ول می کشد تا به مقدار ۶۳٫۲% ظرفیتش برسد را مایش می دهد.

 

 

 

 

 

دیدگاه‌ها (0)

*
*