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

  • یکشنبه ۱۱ فروردین ۱۳۹۸
  • بازدید ۱,۸۵۸ نفر
  • 1 امتیاز2 امتیاز3 امتیاز4 امتیاز5 امتیاز (20 امتیاز از 4 رای)
    Loading...

تصویر 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 (میکروکنترلر ۱۶ بیتی) نیز قابل استفاده است.

شرح خروجی ها

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

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

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

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

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

در کد زیر که به زبان برنامه نویسی C نوشته شده تابع اصلی نشان داده می شود که در آن، در ابتدا ماژول ADC را با ولتاژ مرجع داخلی و کانال ۰ (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 داریم که دارای فرمول تقسیم پتانسیل، به دلیل شدت نور بر روی آن برای پیدا کردن مقاومت است. همچنین فرمول دوم برای تبدیل این مقاومت به عنوان یک درصد از شدت نور می باشد. در حال حاضر می توان زمانی که تشخیص داده شده شدت نور به بیش از ۹۴ درصد رسیده است، لامپ را خاموش کرد. شما می توانید این پارامتر را با توجه به نیاز طراحی خود را تغییر دهید.

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;

}


پروژه های آماده برق قدرت با متلب

پروژه های آماده برق قدرت با متلب

مشاهده پروژه های برق قدرت با متلب
پروژه ها و آموزش های برنامه نویسی

پروژه ها و آموزش های برنامه نویسی

آموزش برنامه نویسی

مشاهده ویدئو در این باره

خوشحال خواهیم شد اگر نظر خودتون رو درباره این مطلب ثبت کنید

خطا!دکمه ریفریش را بزنید

    لیســــــــت پــــــــروژه های انتشــــــــار نشده ( 22 موضوع )

    مشاهده لیست کامل
    مشاهده لیست کامل
    مشاهده لیست کامل
    مشاهده لیست کامل
    socket programing آموزش برنامه نویسی آموزش سی شارپ اینترنت اشیا بازی تحت شبکه بازی تحت شبکه به زبان سی شارپ برنامه تحت شبکه با سی شارپ برنامه نویسی ترجمه مقاله ترجمه مقاله شبکه دانلود رایگان پروژه های دانشجویی دانلود سورس برنامه دانلود سورس رایگان دانلود نرم افزار دانلود پروژه دانشجویی دانلود پروژه رایگان دانلود پروژه های دانشجویی دانلود کتاب دانلود کتاب آموزشی دانلود کتاب اموزشی سورس رایگان سورس کد بازی تحت شبکه سورس کد بازی تحت شبکه با C# سورس کد بازی تحت شبکه چند نفره سوکت پروگرمین شبکه SDN شبیه سازی با نرم افزار R نحوه نوشتن برنامه تحت شبکه نرم افزار Rstudio پروژه arena پروژه matlab پروژه ns2 پروژه opnet پروژه ارنا پروژه سیمولینک matlab پروژه شبکه عصبی پروژه مهندسی صنایع پروژه مهندسی صنایع با ارنا پروژه های آماده با OpenGL پروژه های آماده با OpenGL در سی پلاس پلاس پروژه های آماده با ارنا پروژه های آماده برای درس گرافیک کامپیوتری پروژه هوش مصنوعی پروژه پردازش تصویر matlab پروژه پردازش سیگنال matlab