میکروکنترلر ها – برق

مشخصات فایل

مقطع:کارشناسی ارشد
رشته تحصیلی:مهندسی برق
نوع ارائه:تحقیق
تعداد صفحات:41
قالب بندی:word قابل ویرایش

نحوه خرید

میکروکنترلر ها – برق

شما میتوانید تنها با یک کلید به راحتی فایل مورد نظر را دریافت کنید. 🙂

برای دسترسی به این فایل ابتدا باید اشتراک خریداری کنید. برای خرید اشتراک بر روی لینک زیر کلیک کنید.

ارتقاء عضویت

چکیده

چکیده :
سخت افزار این پروژه به طور کلی از یک میکروکنترلر Atmega16 از شرکت ATMEL و یک LCD 4*20 جهت نمایش عملکرد و ۴ رله در خروجی و چند قطعه دیگر جهت کارهای جانبی و تنظیمات سخت افزاری تشکیل شده است .
این پروژه جهت کنترل ۴ موتور مجزا با تنظیمات مجزا می باشد که توسط برنامۀ Bascom و به زبان Basic طراحی شده است .
جهت شناسایی این که کدام موتور باید روشن شود به صورت مقایسه ای برنامۀ ساعت نوشته شده است که هر لحظه تنظیمات ۴ موتور با ساعت چک می شود و هر کدام که با ساعت Set شود بدین ترتیب است که اگر ثانیه با ثانیه ساعت برابر شد برنامه به قسمت دقیقه می رود و اگر دقیقه برابر شد به قسمت ساعت رفته و آن را نیز مانند بقیه چک میکند و در صورت برابر شدن هر کدام آن موتور را روشن و یا خاموش می کند .
نام این پروژه HMI است که مخفف سه کلمۀ
Human Machine Interface
به معنی ماشین واسط انسانی است .

مقدمه :
امروزه با توجه به پیشرفت علم الکترونیک از میکروکنترلرها استفاده بیشتری می شود که این میکروکنترلرها دو مزیت بزرگ دارند : ۱ سادگی مدار از نظر سخت افزاری ۲ ارزان تمام شدن مدار .
میکروکنترلرها انواع مختلف و با زبان های برنامه نویسی مختلف از جمله Basic و C و…
می باشند که هر یک مزیتها و معایبی را دارند .
در این پروژه که جهت کنترل زمان روشن و خاموش شدن ۴ موتور در خروجی یا به طور کلی ۴ خروجی از میکروکنترلر AVR از نوع ATmega16 شرکت ATmel و توسط زبان Basic و در محیط Bascom طراحی شده است .

مختصری راجع به AVR
زبانهای سطح بالا یا همان (HIGH LEVEL LANGUAGES) HLL به سرعت در حال تبدیل شدن به زبان برنامه نویسی استاندارد برای میکرو کنترلرها (MCU) حتی برای میکروهای ۸ بیتی کوچک هستند . زبان برنامه نویسی BASIC و C بیشترین استفاده را در برنامه نویسی میکروها دارند ولی در اکثر کاربردها کدهای بیشتری را نسبت به زبان برنامه نویسی اسمبلی تولید می کنند . ATMEL ایجاد تحولی در معماری ، جهت کاهش کد به مقدار مینیمم را درک کرد که نتیجه این تحول میکرو کنترلرهای AVR هستند که علاوه بر کاهش و بهینه سازی مقدار کدها به طور واقع عملیات را تنها در یک کلاک سیکل توسط معماری ( REDUCED RISC INSTRUCTION SET COMPUTER) انجام می دهند و از ۳۲ ریجیستر همه منظوره (ACCUMULATORS) استفاده می کنند که باعث شده ۴ تا ۱۲ بار سریعتر از میکروهای موزد استفاده کنونی باشند .
تکنولوژی حافظه کم مصرف غیر فرّار شرکت ATMEL برای برنامه ریزی AVR ها مورد استفاده قرار گرفته است در نتیجه حافظه های FLASH و EEPROM در داخل مدار قابل برنامه ریزی (ISP) هستند . میکروکنترلرهای اولیه AVR دارای ۱ ، ۲ ، ۸ کییوبایت حافظه FLASH و به صورت کلمات ۱۶ بیتی سازماندهی شده بودند .
AVR ها به عنوان میکروهای RISC با دستورات فراوان طراحی شده اند که باعث میشود حجم کد تولید شده کم و سرعت بالاتری به دست آید .

عملیات تک سیکل :
با انجام تک سیکل دستورات ، کلاک اسیلاتور با کلاک داخلط سیستم یکی می شود . هیچ تقسیم کننده ای در داخل AVR قرار ندارد که ایجاد اختلاف فاز کلاک کند . اکثر میکروها کلاک اسیلاتور به سیستم را با نسبت ۱:۴ یا ۱:۱۲ تقسیم می کنند که
خود باعث کاهش سرعت می شود . بنابراین AVR ها ۴ تا ۱۲ بار سریعتر و مصرف
آنها نیز ۴-۱۲ بار نسبت به میکروکنترلرهای مصرفی کنونی کمتر است زیرا در تکنولژی CMOS استفاده شده در میکروهای AVR ، مصرف توان سطح منطقی متناسب با فرکانس است .
نمودار زیر افزایش (MILLION INSSTRUCTION PER SECONDS) MIPS را به علت انجام عملیات تک سیکل AVR (نسبت ۱:۱ ) در مقایسه با نسبتهای ۱:۴ و ۱:۱۲ دی دیگر میکروها را نشان می دهد .
نمودار مقایسه افزایش
MIPS/POWER Consumption در AVR با دیگر میکرو کنترلرها .

 

طراحی برای زبان های BASIC و C
زبان های BASIC و C بیشترین استفاده را در دنیای امروز بعنوان زبان های HLL دارند. تا امروزه معماری بیشتر میکروها برای زبان اسمبلی طراحی شده و کمتر از زبانهای HLL حمایت کرده اند .
هدف ATMEL طراحی معماری بود که هم برای زبان اسمبلی و هم زبان های HLL مفید باشد . به طور مثال در زبانهای C و BASIC می توان یک متغییر محلی به جای متغییر سراسری در داخل زیربرنامه تعریف کرد ، در این صورت فقط در زمان اجرا زیر برنامه مکانی از حافظه RAM برای متغییر اشغال می شود در صورتی که اگر متغییری به عنوان سراسری تعریف گردد در تمام وقت مکانی از حافظه FLASH ROM را اشغال کرده است .
برای دسترسی سریعتر به متغییرهای محلی و کاهش کد ، نیاز به افزایش رجیسترهای همه منظوره است . AVR ها دارای ۳۲ رجیستر هستند که مستقیماً به
( UNIT ARITHMETIC) LOGIC ALU) متصل شده اند ، و تنها در یک کلاک سیکل به این واحد دسترسی پیدا می کنند .سه جفت از این رجیسترها می توانند به عنوان رجیسترهای ۱۶ بیتی استفاده شوند .

کلیات پروژه و نحوه عملکرد :
این پروژه جهت زمان بندی مجزای ۴ موتور (یا هر خروجی دیگر )استفاده می شود که با تنظیم هر موتور می توان به طور مجزا از آن استفاده کرد و تنظیمات هر موتور با موتورهای دیگر کاملاً مجزا است .
در این پرژه پس از Initialize شدن و معرفی پرژه به صفحۀ اصلی می رسیم که در قسمت بالای صفحه ، ساعت آن قرار دارد که در هنگام روشن شدن در صورت تنظیم نکردن از ساعت ۱۲:۰۰:۰۰ شروع به شمارش می کند .
در قسمت زیرین نشانگر ساعت ، نشانگر وضعیت ۴ موتور قرار دارد که در صورتی که موتوری روشن باشد در جلوی آن کلمه ی ON و در صورتی که خاموش باشد کلمۀ OFF درج شده است .
در پایین صفحه LCD 4 گزینۀ TAB – UP – MENU – SAVE وجود دارد .
برای تنظیمات موتور و ساعت توسط گزینۀ TAB به صفحۀ بعد می رویم در صفحۀ بعد دو گزینه با نامهای Mode 1 و Mode 2 داریم که Mode 1 برای تنظیمات ساعت و Mode 2 برای تنظیمات ۴ موتور است و در صورتی که سوئیچ زیر هر گزینه را بفشاریم به آن MODE رفته و شروع به تنظیمات می کنیم به شرح زیر :
اگر Mode 1 برویم وارد مُد ساعت شده ایم و با کلید TAB روی هر قسمت از ساعت و دقیقه و ثانیه می رویم پس از این کار با گزینه Up شروع به تنظیم هر قسمت می کنیم و
با گزینۀ TAB به قسمت بعدی می رویم و در صورتی که بخواهیم تنظیمات ثبت شود توسط گزینۀ Save آن را ثبت می کنیم و توسط گزینۀ Esc به صفحۀ اصلی بر میگردیم . حال اگر به MODE 2 برویم وارد مُد تنظیمات ۴ موتور رفته ایم و با کلید TAB از ۴ موتور یکی را انتخاب کرده و توسط گزینۀ OK وارد تنظیمات آن موتور میشود که شامل دو گزینۀ Start و Time است که گزینۀ Start زمان روشن شدن و گزینۀ Time زمان خاموش شدن را مشخص می کند و برای تنظیمات آن نیز مانند تنظیمات ساعت توسط دو گزینۀ TAB و Up تنظیم می کنیم و توسط گزینۀ Save آن را قبول کرده و تنظیم می کنیم ، سپس توسط گزینۀ Esc از آن صفحه خارج و به صفحۀ قبل بر می گردیم و این عمل برای تنظیم ۴ موتور صورت می گیرد .
در پایان جا دارد این نکته نیز گفته شود که تنظیمات ثبت شده برای هر ۴ موتور در EEPROM ثبت می شود و در صورتی که تغذیۀ آن قطع شود و برای بار دوم روشن شود تنها باید ساعت تنظیم شود و تنظیمات موتور دقیقاً مانند قبل عمل خواهند کرد .

توضیح در مورد سخت افزار
میکروکنترلرها AVR این پروژه از نوع Atmega16 انتخاب شده است که دارای فضای حافظۀ بیشتر و EEPROM می باشد .نمایشگر این پروژه از نوع LCD 4*20 با شماره
TS-2040-1 می باشد که دیتا شیت آن در فصل پایانی ارائه شده است .
در قسمت تغذیه از چهار دیود IN4007 استفاده شده و برای صافی آن از خازن ۱۰۰۰Uf و خازن عدسی ۱۰۰nf استفاده شده است و از یک رکولاتور ۷۸۰۵ برای تثبیت ولتاژ ۵ ولت در خروجی قرار گرفته است .
۴ عدد رله نیز برای کنترل ، در خروجی قرار دارند . LED و یک مقاومت ۴۷۰ اُهم برای قسمت نشان دهنده Power قرار دارد .
برای کنترل و مقداردهی از ۴ میکروسوئیچ به همراه ۴ مقاومت ۱۰ کیلو اُهم که پزیری را صفر می کند و در عمل به این مقاومتها ، مقاومت های Pall down گویند .
یک مقاومت برای تنظیم کنتر است ، LCD بین پایۀ ۳ و زمین قرار دارد و یک مقاومت هم برای محدود کردن جریان سوئیچ رله ها است .

نحوه خرید

دانلود رایگان فایل
شما میتوانید تنها با یک کلید به راحتی فایل مورد نظر را دریافت کنید. 🙂

برای دسترسی به این فایل ابتدا باید اشتراک خریداری کنید. برای خرید اشتراک بر روی لینک زیر کلیک کنید.

ارتقاء عضویت

در صورت بروز هر گونه مشکل در روند خرید اینترنتی، بخش پشتیبانی کاربران آماده پاسخگویی به مشکلات و سوالات شما می باشد

راهنمای سایت

برخلاف سایت های دیگر که فایل ها را به صورت تکی می فروشند روال سایت ما این است که شما با عضویت در سایت ما میتوانید از تمام فایل های موجود استفاده کنید.

تمام مطالب سایت فقط برای اعضای سایت رایگان است.

نحوه عضویت در سایت

آخرین مطالب

مطالب مرتبط