مشخصات

زبان

بانک اطلاعاتی

فایل ها

توضیحات

فایل pdsprj پروتئوس ، فایل c و h زبان C ، گزارش کار ۳ صفحه ای در فایل word و فیلم نحوه اجرا دارد

۹۳,۰۰۰ تـــــومان

مطالب مرتبط

کنترل اتوماتیک چراغ قوه با سنسور فتوسل LDR و میکروکنترلر PIC در پروتئوس

  • یکشنبه ۱۱ فروردین ۱۳۹۸
  • بازدید ۱,۸۶۶ نفر

تصویر automatic-streetlight-proteus_22647_1 کنترل اتوماتیک چراغ قوه با سنسور فتوسل LDR و میکروکنترلر PIC در پروتئوس

شبیه سازی کنترل اتوماتیک چراغ قوه با Proteus

در این بخش پروژه شبیه سازی کنترل اتوماتیک چراغ قوه با سنسور فتوسل LDR و میکروکنترلر PIC در نرم افزار Proteus و کد نویسی به زبان C آماده کرده ایم که در ادامه معرفی پروژه پرداخته و فیلم و تصاویر خروجی قرار داده شده است.

معرفی پروژه

این پروژه یک مثال کارآمد از نحوه کنترل یک مدار خارجی با ولتاژ بالا را با رله ارائه می کند. در این پروژه برای کنترل، فقط یک چراغ قوه مورد استفاده قرار گرفته که یک چراغ روشنایی با کنترل دیجیتال است. به دلیل محدود بودن منابع در Proteus ، در این شبیه سازی برای لامپ و باتری از جریان مستقیم (DC) استفاده شده است. شما می توانید با توجه به نیاز خود در طراحی، از جریان متناوب (AC) با یک رله جریان بالا استفاده کنید.

شبیه سازی با Proteus و کد نویسی با زبان C

شبیه سازی این پروژه کنترل چراغ قوه با نرم افزار Proteus بوده و کد نویسی آن در محیط MPLAB X IDE با کامپایلر C30 به زبان C نوشته شده و با کمی تغییر کد در میکروکنترلر های PIC24، DsPIC33 و DsPIC30 (میکروکنترلر 16 بیتی) نیز قابل استفاده است.

شرح خروجی ها

در شکل زیر یک ترانزیستور برای کنترل رله با یک دیود به منظور محافظت در مقابل جریان معکوس و سنسور های ایجاد شده توسط القایی رله استفاده شده است. این رله به عنوان یک سوئیچ برای کنترل یک مدار خارجی عمل می کند (در این پروژه برای کنترل لامپ). در این مدار فقط یک رله کنترل می شود که هدف کنترل لامپ می باشد.

تصویر automatic-streetlight-proteus_22647_1 کنترل اتوماتیک چراغ قوه با سنسور فتوسل LDR و میکروکنترلر PIC در پروتئوس

شکل زیر نشان می دهد که وقتی شدت نور در LDR به بیش از 94 درصد افزایش پیدا می کند، لامپ روشن می شود.

تصویر automatic-streetlight-proteus_22647_2 کنترل اتوماتیک چراغ قوه با سنسور فتوسل LDR و میکروکنترلر PIC در پروتئوس

کد نویسی به زبان C

در کد زیر که به زبان برنامه نویسی C نوشته شده تابع اصلی نشان داده می شود که در آن، در ابتدا ماژول ADC را با ولتاژ مرجع داخلی و کانال 0 (AN0) پیکربندی می کنیم و سپس PIN را برای کنترل سوئیچ خارجی (رله) پیکربندی می کنیم. و یک حلقه که فقط یک تابع به نام StreetLight () که مسئول کنترل مدار قدرت بالا می باشد، فراخوانی می شود.

int main(void)
{
ConfigModuleADC(); /* Configure ADC module */
ChangeChannelADC(0); /* AN0 channel */
ConfigLightPin();

while(1)
{
StreetLight();
__delay_ms(100); /* 200m Second delay */
}
return 0;
}

در کد زیر ما StreetLight داریم که دارای فرمول تقسیم پتانسیل، به دلیل شدت نور بر روی آن برای پیدا کردن مقاومت است. همچنین فرمول دوم برای تبدیل این مقاومت به عنوان یک درصد از شدت نور می باشد. در حال حاضر می توان زمانی که تشخیص داده شده شدت نور به بیش از 94 درصد رسیده است، لامپ را خاموش کرد. شما می توانید این پارامتر را با توجه به نیاز طراحی خود را تغییر دهید.

void StreetLight(void)
{
unsigned int ADC_Value = 0;
unsigned long Light = 0;

float VoltageOutput = 0, ResistanceLDR = 0;
const float AdcRef = 4.8828125e-3, // Adcref = 5/1024
R3 = 10e3, // 10kOhm
Vcc = 5.0,
Resistance0 = 990e3; // resistance at no light.

ADC_Value = SamplingAndConversionADC(); /* Sampling */
VoltageOutput = ((float) ADC_Value) * AdcRef;

ResistanceLDR = (VoltageOutput * R3)/(Vcc - VoltageOutput);

Light = (unsigned long)((100 - ((ResistanceLDR / Resistance0) * 100)) * 1000);
/* As resistanc decreases with the
* increase in intensity of light so it is 100 - Light also made it in milli*/
/* Now light variable has values like this for 6% light it has 6000
for 80% -> 80,000
for 90% -> 90,000 and so ON */

if (Light >= 94000) // I Switch Off street Light when Light is 94 percent.
STREET_LIGHT = 0; // You may change according o your design.
else
STREET_LIGHT = 1;

}

 

باکس دانلود
شناسه:
۲۲۶۴۷
توضیحات:
فایل pdsprj پروتئوس ، فایل c و h زبان C ، گزارش کار ۳ صفحه ای در فایل word و فیلم نحوه اجرا دارد
قیمت:
۹۳,۰۰۰ تـــــومان
ثبت نظر
ریفریش کنید!
نظرات کاربران (۰ مورد)

هیچ نظری ثبت نشده است