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

مشخصات فایل

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

نحوه خرید

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

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

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

ارتقاء عضویت

چکیده

فصل اول : میکروکنترلر ۸۰۵۱
۱-۱ دراین بخش اتبدا به اعضای مختلف خانواده میکروکنترلر ۸۰۵۱ و ویژگی های آنها نگاه می کنیم . به علاوه خواهیم دید که سازندگان ۸۰۵۱ چه کسانی هستندوچه نوع محصولی ارائه می دهند .
تاریخچه مختصری از ۸۰۵۱
درسال ۱۹۸۱ شرکت Intel میکروکنترلربه نام ۸۰۵۱ را معرفی کرد . این میکروکنترلردارای ۱۲۸ بایت ۴k , RAM بایت ROM دو تایمر ، یک پورت سریال وچهار پورت موازی ( هریک ۸ بیت ) بود که همه آنها دریک تراشه تعبیه شده بودند . زمانی به آن سیستم در یک تراشه می گفتند . ۸۰۵۱ یک پروسسور ۸ بیت است ، یعنی CPU هر بار می تواند فقط روی ۸بیت داده کار کند . داده های بزرگتر از ۸ بیت باید به قطعات ۸ بیت بشکنند وسپس بوسیلهCPU پردازش شوند . ۸۰۵۱ کلا دارای چهار پورت I/O با عرض ۸ بیت است . شکل ۲-۱ را ملاحظه کنید گرچه ۸۰۵۱ می تواندحداکثر ۶۴K حافظه ROM درتراشه داشته باشد ، بسیاری از سازندگان فقط ۴K بایت را درتراشه کار گذاشته اند .این مطلب بعدا بطور مفصل بحث شده است .
پس از آنکه Intel بشرط حفظ سازگاری با ۸۰۵۱ اجازه تولید را به دیگر سازندگان داد تراشه مذکور بسیار مورد توجه قرار گرفت .این توافق منجر به تولید انواع ۸۰۵۱ با سرعت های متفاوت مقداری ROM در تراشه بوسیله نیم دو جین سازنده شد . ما بعضی از آنها را بعدا بررسی خواهیم کرد . آنچه اهمیت دارداین است که گرچه انواع مختلف ۸۰۵۱ با سرعت ومقدار ROM متفاوت در تراشه موجودند ولی همه آنها با ۸۰۵۱ اصلی از نظر دستورات سازگارند . این بدان معنی است که اگرشما برنامه ای برای یکی بنویسید ، مستقل از سازنده روی دیگری هم قابل اجرا ست .
میکروکنترلر ۸۰۵۱
۸۰۵۱ عضواصلی خانواده ۸۰۵۱ است Intel آن را MCS-51 می نامد . جدول ۱-۱ امکانات اصلی ۸۰۵۱ را نشان می دهد .
جدول ۱-۱ امکانات ۸۰۵۱
Quantity Feature
۴K bytes ROM
۱۲۸ bytes RAM
۲ Timer
۳۲ I/O Pins
۱ Serial port
۶ Interrupt sources

توجه : مقدار ROM د رتراشه حجم برنامه را نشان می دهد .
دیگر اعضای خانواده ۸۰۵۱
دو عضو دیگر از میکروکنترلهای خانواده ۸۰۵۱ با نام ۸۰۵۲ و ۸۰۳۱ نیز وجود دارند .
میکروکنترلر ۸۰۵۲
۸۰۵۲ عضوی دیگر از خانواده ۸۰۵۱ است این کنترلر همه امکانات ۸۰۵۱ بعلاوه ۱۲۸ بایت RAM ویک تایمر اضافی را دارد به بیان دیگر ، ۸۰۵۲ دارای ۲۵۶ بایت RAM و ۳تایمر است این کنترلر بجای ۸K,4K حافظه ROM را در تراشه داراست .جدول ۲-۱ ملاحظه شود .
میکروکنترلرها و پردازنده های درونی
همانطور که از جدول ۴-۱ ملاحظه می شود ، ۸۰۵۱ زیر مجموعه ای از ۸۰۵۲ است بنابراین همه برنامه های نوشته شده برای ۸۰۵۱ قابل اجرا بر روی ۸۰۵۲ نیز هستند ولی عکس آن صحیح نیست .
میکروکنترلر ۸۰۵۳
دیگر عضو خانواده ۸۰۵۱ تراشه ۸۰۵۳ است .این تراشه اغلب بنام ۸۰۵۱ بی ROM خوانده می شود زیرا دارای OK بایت حافظه ROM است .برای استفاده از این تراشه باید یک ROM خارجی به آن اضافه کرد این ROM خارجی حاوی برنامه ای است که باید برداشته شده واجرا شود .این تراشه را با ۸۰۵۱ مقایسه کنید که در آن ROM درونی حاوی برنامه مشابهی برای برداشت و اجرا می تواند باشد ولی به ۴K بایت کد محدود است .
ROM متصل به ۸۰۳۱ می تواند تا ۶۴K باید باشد .درروند افزایش ROM خارجی به ۸۰۳۱ دو پورت را از دست می دهید .بنابراین دو پورت I/O برای کاربر باقی می ماند . برای حل این مشکل ، می توان دو I/Oخارجی به ۸۰۳۱ اضافه کرد . اتصال ۸۰۳۱ به حافظه وپورت های I/O همچون تراشه ۸۲۵۵ در فصل ۱۴ بحث شده است .همچنین انواع ۸۰۳۱ با سرعت های مختلف بوسیله کمپانی های متفاوت در دسترسند .

 

۸۰۳۱ ۸۰۵۲ ۸۰۵۱ Feature
OK 8K 4K ROMon –chip- program space in bytes) )
۱۲۸ ۲۵۶ ۱۲۸ RAM ( bytes)
۲ ۳ ۲ Timers
۳۲ ۳۲ ۳۲ I/O
۱ ۱ ۱ Serial port
۶ ۸ ۶ Interrupt sources

جدول ۲-۱ مقایسه اعضای خانواده ۸۰۵۱
فصل اول :میکروکنترلرهای ۸۰۵۱
انواع میکروکنترلر ۸۰۵۱
گرچه ۸۰۵۱ رایج ترین عضو خانواده ۸۰۵۱ است ، ولی شما قادر نخواهید بود شماره قطعه ای بصورت ۸۰۵۱ ملاحظه کنید . دلیل این است که ۸۰۵۱ با حافظه های متفاوتی چون ROM UV-EPحافظه سریع ، NV-RAM در دسترس است که هر یک شماره قطعه متفاوتی دارد . نوع ROM UV-EP خانواده ۸۰۵۱ تراشه ۸۷۵۱ است نوع ROM سریع بوسیله کمپانی های متعدد از جمله Atmel راهی بازار شده است . ۸۰۵۱ نوع سریع از Atmel است که AT89C51 خوانده می شود . نوع NV-RAM از ۸۰۵۱ بوسیلهDallas semiconductor بنام DS500 شناخته می شود .همچنین نوع OTP ( یکبار قابل برنامه ریزی ) خانواده ۸۰۵۱ بوسیله سازندگان متعددی تولید شده است اکنون هر یک از تراشه های فوق را بطور خلاصه توصیف و کاربرد آنها را بیان می کنیم .
میکرو کنترلر ۸۷۵۱
تراشه ۸۷۵۱ فقط بایت حافظه ROM UV- EPدرونی است .هنگام استفاده از این تراشه در طراحی و پیاده سازی به دستگاه برنامه نویسی ROM Pو پاک کننده برای پاک کردن ROM UV-EPدردرون ۸۷۵۱ قبل از برنامه نویسی نیاز است .باتوجه به این نکته که ROM درون این تراشه از نوع ROM UV-EPاست ،حدود ۲۰ دقیقه برای پاک کردن آن وقت لازم است تا بتوان بعد از آن عمل برنامه نویسی را انجام داد ، این مسئله موجب شد تا بسیاری از تولید کنندگان انواع سریع و NV-RAM نوع ۸۷۵۱ را که در زیر بحث شده بکار ببرند .همچنین نوع سریع ۸۷۵۱ نیز توسط تعدادی از تولید کنندگان ساخته شده است .
AT89C51 از شرکت Atmel
این تراشه ۸۰۵۱ رایج دارای ROM سریع می باشد ، در طراحی های سریع این نوع حافظه ایده ال است زیرا حافظه سریع می تواند طی چند ثانیه ،درمقایسه ۲۰ دقیقه لازم برای ۸۷۵۱ پاک شود .با این دلیل AT89C51 بجای ۸۷۵۱ بکار برده شده است .تا هنگام پاک کردن تراشه وقتی تلف نشود وبدینوسیله ساخت سیستم سریع گردد هنگام استفاده از AT89C51 برای سخت سیستم های مبتنی بر میکروکنترلر به سوزاننده یا برنامه ریز ROM سریع نیاز داریم ، بااین وجود به پاک کننده ROM نیاز نیست .توجه داشته باشید که در حافظه سریع باید تمام حافظه پاک شود تا بتواند مجددا آن را برنامه نویسی کرد .پاک کردن حافظه سریع با خود سوزاننده صورت میگیرد و با این دلیل پاک کننده جداگانه ای لازم نمی باشد .برای حذف سوزاننده ROM P Atmelروی نوعی از AT89C51 کار می کند که می تواند از طریق پورت سریال COM یک IBM PC برنامه ریزی شود .

نرم افزار کنترلر :
نرم افزار این مدلر از دو قسمت تشکیل شده است یک قسمت ازاین نرم افزار برنامه ای است که در میکروقرار دارد که وظیفه دریافت دما از ADC0804 وارسال آن به کامپیوتر و دریافت عدد حاصل از فرمول PID وایجاد PWM ( موج مربعی با Daty cyde های متفاوت را دارد قسمت دیگرنرم افزار ، برنامه ای است که توسط visual Balic طراحی گردیده است که وظیفه کنترل را عهده دار است .
همانطور که درصفحه بعد ملاحظه می کنید .برنامه میکروکنترلر ۸۹۵۵۱ به این صورت طراحی شده است که ازدو تایمر استفاده شده است که یکی تایمر صفر درمد یک ودیگری تایمر یک درمد دو می باشد .
همچنین از وقفه دریافت Data سریال استفاده شده است .که برای این منظور Baud Rate برابر ۹۶۰۰ درنظر گرفته شده است . که برای تنظیم Baud Rate از تایمر یک درصد دو استفاده شده است که روش تنظیم آن درفصل اول توضیح داده شده است .
با استفاده از تایمر صفر pwm راایجاد شده که چون وظیفه اصلی میکروتولید همین موج مربعی با duty cyde های متفاوت است اولویت را به این تایمر اختصاص داده شده که این امر با تنظیم رجیستر IP محقق گردیده است .
با توجه به اینکه بیت های دریافتی وارسالی دارای ۱۰ بیت می باشد ( بیت شروع + لایت + بیت خاتمه ) واینکه از۹۶۰۰ Baud Rate استفاده گردیده پس می توان ۹۶۰ بایت در ثانیه فرستاد .

فرض می کنیم درعمل امکان درسال ۸۰۰ بایت در ثانیه باشد ولی چون هم عمل فرستادن وهم عمل دریافت بایت راخواهیم داشت . بایت درثانیه می توانیم هم بفرستیم وهم بگیریم یعنی درواقع دراین مدلر می توان در ثانیه ۴۰۰ بار از ADC0804 نمونه گرفت وبه کامپیوتر فرستاد .البته دراین برنامه در ثانیه ۵۰ بار از ADC نمونه گیری شده است یعنی هر ۲۰ میلی ثانیه یکبار نمونه گیری انجام می شود وبه کامپیوتر ارسال می شود .
تایمر صفر هر ۰,۱ میلی ثانیه یکبار وقفه مربوط به تایمر صفر را اجرا می کند به این ترتیب که هر ۰,۱ ثانیه یکبار یک و به Counter اضافه می کند وبا عدد دریافتی از کامپیوتر تر مقایسه می کندکه اگر برابر بود پایه p2.1 را خاموش می کند واگر برابر نبود روشن نگه می دارد تاوقفه بعدی اجرا شود . تا counter=200 شود به این ترتیب پالس با عرض ۲۰ میلی ثانیه خواهیم داشت . یعنی با پالس هایی با عرض Daty cycle , 20ms های متفاوتی که توسط عدد دریافتی ازکامپیوتر مشخص میگردد گرمای Header کنترل می شود .
که تقریبا ه ر۲۰ میلی ثانیه نیز اینترنت سریال اجرا می شود وعدد جدیدی از کامپیوتر دریافت می کند درواقع وقتی عرض پالس به ۲۰۰ قسمت تقسیم می شود دقت درتغییرات دما ۰٫۵ درجه سانتی گراد خواهد شد .
نرم افزار که در Visual Basic طراحی گردیده همانطور که درصفحات بعد ملاحظه می کنید از ۴ پنتیوم فرم ( form) تشکیل شده است که فرم اولی معرف پروژه است که پس از ۵ ثانیه ناپدید شده و سپس فرم اصلی برنامه به نام pid digital controler ظاهر می شود که شامل منوهای Help , terminal,view, Edit, File همچنین شامل دکمه های فرمان Exit, Groph, setup, cancle, ok می باشد و نیز شامل جعبه متنی به نام tempreture است که این جعبه متن دمای مورد نظر کاربر را دریافت می کند در واقع این دما همان set point مورد نظر است .
فشردن دکمه فرمان setup باعث ظاهرشدن فرم دیگری به نام setup می شود که دراین فرم می توان پارامترهای کمتراز مثل zd,zi,kc را تنظیم کردکه می توان از پارامترهای پیش فرضی که دربرنامه وجود دارد استفاده کرد یا پارامترهای دلخواه را به برنامه دادکه این فرم نیز شامل منوهای viwe, Edit, file می باشد .با فشردن دکمه فرمان Graph درفرم اصلی برنامه فرم دیگری به نام Graph باز خواهد شد که دراین فرم با فشردن start نمودار مربوط به تغیرات دما برحسب زمان لحظه به لحظه رسم می شود .
وهمچنین وقتی وارد کردن دمای مورد نظر در جعبه متن tampreture دکمه فرمان ok فشرده شود زمان سنجی که در فرم Graph وجود دارد شروع به کار می کند . که می توان برای ثبت زمان از آن استفاده کرد .
همچنین دکمه فرمانی به نام rst درکنار این زمان سنج وجود دارد که برای reset کردن آن استفاده می شود در واقع بر نامه اصلی به این صورت عمل می کند که تایمر یک هر ۲۰ میلی ثانیه یکبار پورت کامپیوتر را چک می کند .
وعدد دریافتی را در متغیری به نام preoenttemp قرارمی دهد که تایمر ۲ هر نیم ثانیه بار را این عدد را روی فرم نمایش می دهد . تایمر یک پس از چک کردن پورت پس از اینکه مقادیر را درفرمول PID دیجیتالی که دراین قسمت نوشته شده است قرا رداد حاصل فرمول را با اعداد ۲۰۰,۰ مقایسه میکند که اگر بزرگتر از ۲۰۰ بود درمتغیر Pid عدد ۲۰۰ راقرار می دهد وعدد ۰ را از پورت خارج می کند اگر از ۰ کوچکتر بود عدد ۰ را در متغیر Pid قرار می دهد و عدد ۲۰۰ را ازپورت خارج می کند ولی اگرعدد حاصله بین ۲۰۰,۰ بودهمان عدد را از پورت خارج خواهد کرد .
به این دلیل برنامه به این صورت نوشته شده که وقتی دمای مورد نظر از دمای فعلی بیشتر باشد با زیاد شدن دمای Heater وترکیب شدن دمای آن به دمای مورد نظر کاربر ( Setpoint) خطا هر لحظه کمتر خواهد شد و خطای یک لحظه قبل یعنی X1 بزرگتر از X0خواهد شد پس عددمربوط به Pid منفی خواهد شد بنابراین وقتی عدد حاصله منفی شود باید Heater به گرم شدن ادامه دهد پس مقدار ۲۰۰ از پورت خارج می شود تا کل پالس خارجی از پایه P2.1 یک باشد .
وبه همین ترتیب برعکس وقتی بزرگتر از ۲۰۰ باشد باید کل پالس خروجی در پایه P2.1 صفر باشد .عدد بدست آمده از فرمول Pid ممکن است خیلی بزرگتر از ۲۰۰ ویا خیلی کوچکتر از ۰ باشد ولی چون میکرو تنها اعداد بین ۰ تا ۲۰۰ را با Gpunter مقایسه می کند ( یعنی در واقع پالس PWM خروجی از میکرو به ۲۰۰ قسمت تقسیم شده ) بایداعداد حاصله از فرمول را بین ۰تا ۲۰۰ محدود کنیم که این کار یک مزیت د یگر نیز دارد که آْن این است که سرعت سیستم را افزایش دهد .

نحوه خرید

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

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

ارتقاء عضویت

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

راهنمای سایت

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

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

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

آخرین مطالب

مطالب مرتبط