:: در صورت نبودن و یا اشکال لینک دانلود کتاب ها، لطفا در نظرات همان مطلب اطلاع دهید

تا در اسرع وقت رسیدگی و یا راهنمایی شود ::

میکروکنترلر PIC

on . در مجموعه برق و الکترونیک

فرق میکرو پروسسور و میکرو کنترلر:

یک میکرو پروسسور در واقع یک (Central Processor Unit)CPU یا همان بخش مرکزی پردازش می باشد. همانطور که از نام آن بر می آید وظیفه پردازش اطلاعات را بر عهده دارد.میکروپروسسور برای انجام این وظیفه نیاز به ثبت دستور العملها (ROM)، محلی برای اجرای فرامین (RAM) و ارتباط با محیط خارج (پورتهای I/O) دارد.که باعث افزایش هزینه و کندی سرعت می شوند. از معروفترین میکروپروسسورها می توان از میکروپروسسور Z80 یاد کرد.

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

یک میکرو کنترلر عموما شامل موارد زیر است:

1.CPU

2.حافظه ثبت دستور العملها ROM

3.حافظه اجراء فرامین RAM

4.پورتهای ورودی و خروجی I/O

5.شمارنده و تایمر

6.باس داده،باس کنترل

7. مبدل آنالوگ به دیجیتال

8.پورت سریال

و .............

از میکروکنترلر های معروف میتوان به خانواده 8051 ،AVR ،PIC اشاره کرد.
 
 

ساختار یک میکروکنترلر

تاریخچه میکروکنترلر های PIC

شرکت General Instrument مبتکر اصلی ساخت و استفاده از CPU 16 بیتی با نام CP1600 بود.در حالی که این CPU بطور کلی از نظر عملکرد از عملکرد خوبی برخوردار بود اما به سبب ضعف در کارایی پورتهای ورودی و خروجی این شرکت PIC هشت بیتی را در سال 1975 برای بهبود کلی در سرتا سر سیستم بوسیله حذف وظایف پورتهای ورودی و خروجی از CPU بوجود آورد. این کار با استفاده از یک ذخیره سازی ساده Microcode در ROM انجام پذیرفت اگر چه هم اکنون از این تکنولوژی در ساخت PIC استفاده نمی شود.

در حال حاضر علامت تجاری PIC و PICmicro برای شرکت MICROCHIP Technology ثبت شده و میکروکنترلر های PIC توسط این شرکت تولید می شود.

PIC ابتدایی از سر کلمات "Peripheral Interface Controller" توسط شرکت General Instrument گرفته شده بود.برای PIC پیشرفته تر همچون PIC1640 و PIC1650 از سر کلمات "Programmable Interface Controller" استفاده شده است.
.
 
 
 
 
 
 
انواع خانواده PIC از نظر ساختار هسته

" 12 هسته ای Baseline Core

" 14 هسته ای Mid-Range Core  

" 16 هسته ای High End Core


در حال حاظر با توجه به قدرتمندی این میکروکنترلر ، PIC از سرکلمات با معنی واقعی "Programmable Intelligent Computer" به معنای کامپیوتر هوشمند قابل برنامه ریزی نشات گرفته شده است.
 

سالها پیش شرکت general یک تراشه با نام pic1650 تولید کرد که به صورت کامپیوتر هوشمند قابل برنامه ریزی مطرح شد.


این تراشه مادر پیک بود و از لحاظ کارکرد با pic16c54 موجود مشابه است که عمدتا بعنوان سخت افزار جانبی میکروپروسسور cp1600 بکار برده می شود و شاید به همین خاطر است که عده زیادی بر این اعتقادند که پیک از سر کلمات کنترلر مدار واسط جانبی گرفته شده است اخیرا کمپانی microchip که سازنده میکرو کنترلرهای پیک می باشد این میکرو کنترلرها را با عبارت PICmicro MCUS معرفی کرده است.
 
 
pic1

میکرو کنترلرها همانطور که از نامشان بر می آید جهت کنترل انواع وسایل مورد نیاز روی کار آمدند و هدف از بکار گیری آنها ساده سازی کار کنترل و همچنین کاستن از حجم مدار می باشد زیرا میکروپروسسورها علاوه بر اینکه مدار سنگینی را بر استفاده کننده تحمیل می کنند برنامه نویسی سختی نیز دارند و براحتی قابل استفاده نیستند در واقع مدارهای جانبی مختلفی که ممکن است برای انجام یک پروژه بکار آید در داخل میکرو کنترلر قرار گرفته است تا ضمن کاهش حجم مدار استفاده از این مداهای جانبی نیز راحت تر گردد.

اولین معیاری که می تواند در انتخاب یک میکروکنترلر بسیار موثر باشد موجود بودن در بازار است

دومین ملاک ساده بودن میکروکنترلر است

کیفیت و قیمت نیز از ملاکهای بارز دیگر آن می باشد.

میکروکنترلری که دارای سرعت عمل مناسب باشد و در شرایط مختلف پایدار باشد می تواند یک میکروکنترلر خوب به حساب آید و البته قیمت آن هم هر چه پایین تر باشد برای کاربرد در حجم انبوه مناسب تر است.

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

نکته دیگر این که به ساختار و یا معماری تراشه بکار برده شده نیز باید توجه کرد عملکرد آن در چه حدی است؟ قابلیتهایی که در اختیار کاربر قرار می دهند چیست؟ و سرعت اجرایی آن چقدر است؟
 
 


چرا میکروکنترلر های پیک؟

میکروکنترلر های پیک دارای ساختار و معماری پیشرفته تری هستند عملکرد بالاتری دارند و از تنوع زیادتری برخوردار هستند تنوع در اندازه امکانات ، قابلیتها و هزینه از مزایای عمده در این دسته از میکروکنترلرهاست.

این میکروکنترلرها قابلیت سازگاری بالا دارند اگر برگه اطلاعات آنها را مشاهده کنید خواهید دید که یکی از ویژگیهای ذکر شده این است که با کد برنامه میکروکنترلرهای قدیمی تر از خود براحتی کار می کنند، این میکروکنترلر ها نسبت به نوع عملکرد امکانات و قابلیتهایی که ارائه می دهند پایین ترین قیمت را دارند استفاده از آنها بسیار ساده است، مدار راه انداز ساده ای داشته و براحتی از طریق دو پایه برنامه ریزی می شوند تعداد دستورات برای آن کم است و با استفاده از یک زبان سطح بالا کار نوشتن برنامه فوق العاده ساده می باشد به جرات می توان گفت بدون اطلاع نداشتن از ثباتهای این میکروکنترلر براحتی با یک زبان سطح بالا می توان برای آن برنامه نوشت و جواب گرفت.برای استفاده آسان از این میکروکنترها از زبان سطح بالایی نظیر c نیز استفاده می شود.
 
 
 
 
برگرفته از سایت تبیان

 

ماژول قطب نما CMPS10 و برنامه میکروکنترلر به زبان Bascom

on . در مجموعه برق و الکترونیک

 CMPS10

 

ماژول قطب نمای CMPS10

این ماژول دارای دو سنسور میدان مغناطیسی و زاویه سنج می باشد که سنسور میدان مغناطیسی آن یک سنسور3 محوره است و سنسور زاویه سنج آن دارای سه محور می باشد.

 cmps10 3

سه محور نمایشی که هر سه بر هم عمودند و به عنوان زوایای یک سنسور می تواند در نظر گرفته شود

زاویه سنج اجازه می دهد تا زاویه قطب ها را در صورت کجی ماژول نیز با دقت بالا محاسبه کنیم. این سنسور با ولتاژ 3.3 تا 5 ولت کار می کند. ماژول CMPS10اطلاعات خود را به سه روش به خروجی ارسال می کند. 1) 12C 2) Serial 3) PWM به شکل زیر توجه فرمایید.


cmps10 1
چگونگی اتصال پایه ماژول در مدهای مختلف

برای استفاده کردن ماژول CMPS10 در هر یک از مدهای بالا باید پایه های mode وselect را به ترتیب نشان داده شده مورد استفاده قرار داده شود. ماژول بافر خروجی خود را هر640 میلی ثانیه، جایگزین می کند یعنی ما می توانیم اطلاعات را در هر640 میلی ثانیه دریافت کنیم [3،7،16]. در این پروژه برای راه اندازی این ماژول از مد 12C استفاده شده است. برای استخراج اطلاعات نیاز به دانستن نوع اطلاعاتی می باشد که در هر رجیستر ذخیره می گردد. به همین منظور به دیتاشیت ماژول مراجعه شده است و در جدول زیرنوع اطلاعات هر رجیستر آورده شده است.

cmps10 4

نوع اطلاعات ذخیره شده ی هر یک از رجیسترها cmps10

همانطور که ملاحظه می کنید رجیسترهای 2 و 3 مشخص کننده جهت قطب است که از دو بایت تشکیل شده اند. رجیستر های 4 و 5 هر کدام مشخص کننده زاویه ماژول با سطح زمین میباشند که این عدد بین 0 تا 85 درجه می باشد. رجیستر 4 میزان زاویه "پیتچ"[1] و رجیستر 5 میزان زاویه "رول"[2] ، ماژول را مشخص میکند. [1] PITCH [2] ROLL

cmps10 2

مفهوم سه زاویه roll , pitch , yaw بر روی یک هواپیمای فرضی

می توان داده های خام هر یک از سه محور میدان مغناطیسی و شتاب را نیز از رجیسترهای جدول3-11 استخراج نمود. این داده ها را میتوان برای انجام کارهای مختلف مثل سنجش زاویه 3محور، سنجش شتاب در هنگام حرکت ماژول، اندازه گیری میدان های مغناطیسی موجود در اطراف ماژول، اندازه گیری جهت و میزان شدت میدان های مغناطیسی بکار برد. برای انکه مقدار مورد نظر را از رجیستر های ماژول قطب نما استخراج کنیم، از پروتکل ارتباطی I2C استفاده شده است. که این روش برای خواندن رجیستر از E2PROM نیز استفاده میشود[31،8]. این روش به این صورت است که اول رجیستر مورد نظر را فراخوانی کرده و بعد از آن مقدار درون رجیستر را می خوانیم و در یک ثبات قرار می دهیم. برنامه میکروکنترلر برای ارتباط با ماژول قطب نما به فرم زیر می باشد. در این برنامه مقدار زاویه قطب و سپس زاویه های تمایلی ماژول استخراج شده و برروی صفحه نمایش داده می شود.

cmps10 6

برنامه میکروکنترلر متصل به ماژول قطب نما

دستورات خط 1 تا 13 برای استخراج رجیسترهای 2 تا 4 می باشد و مقدار هر یک از رجیستر ها را ذخیره کرده و بعد از آنها استفاده خواهیم نمود. هر رجیستر یک بایت است و می توان عددی بین 0 تا 255 داشته باشد. دو رجیستر 2 و3 برای عدد قطب نما اختصاص داده شده است و بایکدیگر عددی بین 0 تا 3599 را تشکیل میدهند. همانطور که در دیتاشیت ماژول آمده است اگر عددی را که دو رجیستر 2 و 3 می سازند را بر 10 تقسیم کنیم به ما زاویه قطب را نمایش خواهد داد. دستورات خط 15 و 17 به همین منظور نوشته شده است. قبل از توضیح در مورد دستورات خط 19 تا 27 باید در مورد رجیستر های 4 و 5 توضیحاتی داده شود. رجیستر های 4 و یا 5 شامل عددی بین 0 تا 85 می باشند که دارای مقدار منفی یا مثبت است. برای اینکه مشخص شود عدد داخل این رجیستر مثبت است و یا منفی باید بیت هفتم از این رجیستر را مورد بررسی قرار داد. به این صورت که اگر بیت هفتم یک باشد مقدار عدد رجیستر منفی و اگر صفر باشد مقدار رجیستر مثبت است. اگر مقدار عدد منفی باشد عدد ثبت شده در داخل رجیستر باید معکوس شود. یعنی تمام بیت های 0 تا 6 باید معکوس شوند و با صفر کردن بیت 7 نیز عدد حاصله همان زاویه ما با مقدار منفی بدست خواهد آمد. در صورتی که عدد رجیسترها مثبت باشد ( یعنی بیت هفتم ما صفر باشد) نیاز به معکوس کردن عدد نخواهد بود و عدد موجود در داخل رجیسترها، عدد زاویه می باشد. دستورات 19 تا 27 و دستورات 30 تا 38 برای همین کار می باشد و مقدار زوایای ماژول را می توان از آن استخراج کرد و برروی صفحه نمایشگر، نمایش داد. برای نمایش مقادیر بدست آمده از دستورات 41 تا 49 استفاده میکنیم. لازم به تذکر است که این ماژول به میدان مغناطیسی اطراف خود بسیار حساس است بنابراین باید از قطعاتی که دارای میدان مغناطیسی می باشند دور شود. حتی باید از سیم های حامل جریان نیز دور گردد [24،63]. این ماژول قابلیت کالیبرشدن را نیز دارد که در دیتاشیت ماژول توضیح داده شده است. تا اینجا توانستیم ماژول قطب نما را درایور کنیم بنابراین جهت قطب را با این ماژول می توانیم تشخیص دهیم.

درایو موتور دی سی با L293

on . در مجموعه برق و الکترونیک

L293

چپ گرد و راست گرد کردن دور موتور با L293
این ای سی می تواند دو موتور را چپ گرد و راست گرد کند و یا 4 موتور را در یک جهت درایو و راه اندازی نماید.

L293-1

برای کنترل هر موتور به سه پایه نیاز داریم، یک پایه برای فعال نمودن ای سی و دو پایه برای چپ گرد و راست گر کردن موتور، در صورتی که پایه فعال کننده صفر باشد ای سی نسبت به دو پایه دیگر هیچ عکس العملی را نشان نمی دهد و در حالتی که پایه فعال کننده یک شود، ای سی آماده می شود تا موتور را در حالت چپگرد و یا راستگرد قرار دهد. این ای سی ولتاژ 0 تا 5 ولت را به عنوان ورودی خود دریافت می کند و می تواند موتور را تا 36 ولت درایو کند و جریانی حدود 1.2 آمپر را برای موتور تامین کند.

L293-2
خروجی های کنترل کننده موتور از میکروکنترلر به این ای سی متصل میشود. در صورتی که هر دو پایه یک و یا هر دو پایه صفر باشد موتور در حالت سکون قرار خواهد گرفت. ولتاژی که ما نیاز داریم به موتور منتقل کنیم به پایه های 8 ای سی متصل می کنیم و به این ترتیب پالس های 0 تا 5 ولتی که میکرو ایجاد می کند به پالس های 0 تا 36 ولت می تواند تبدیل شود و حتی جهت آن نیز تغییر یابد.

 

مدار کاربردی برای درایو MOC3052

on . در مجموعه برق و الکترونیک

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

برای این منظور می توان از آی سی MOC3052 استفاده کرد. که هم حجم مدار را برای تحریک تریاک کاهش میدهد و هم طبقه ی مدار قدرت را از مدار فرمان ایزوله مینماید.

moc 3052

میزان مقاوت Rled برای فرمان های 5 ولتی حدود 220 اهم باید باشد. میتوان برای تحریک led ای سی MOC3052 مثل روشن کردن یک led مدار را ببندیم.

میزان مقاومت R حدود 330 اهم 1وات باید باشد.

نوع تریاک (POWER TRIAC) میتواند BT139 باشد که 16 آمپر قدرت سوئیچ دارد.

Tric driver هم همان MOC3052 است

مصرف کننده هم جای قسمت LOAD متصل میشود.

AC LINE نیز برق 220 ولت متناوب است.

 

مدار یکسو کننده تمام موج دقیق

on . در مجموعه برق و الکترونیک

 برای اینکه یک ولتاژ کمتر از 0.7 ولت را یکسو سازی کنیم نیاز به یک
یکسو کننده تمام موج دقیق دارید.
.همانطور که میدونید یکسو کننده های دیودی نمی توانند موج هایی در حد میلی ولت را یکسو کنند
.پس از مدارات آپ امپی استفاده میکنند
مانند مدار زیر که با آی سی  OP77 هستش.
.این آی سی خیلی عالیه
.و در عمل خیلی خوب جواب میده
ای سی های دیگر مثل OP07 در اندازه های میلی ولتی مشکلات خاصی رو ایجاد میکنند .
و یک حالت اعوجاج دارند میتونید با پروتئوس چک کنید.
موفق باشید .
 
ساشا فا

آخرین کتاب ها