راه اندازی میکروکنترلر

saalek110

Well-Known Member
راه اندازی میکروکنترلر

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

در پستهای زیر اتمگا ۳۲ نشان داده شده ، اگر مال شما اتمگا ۱۶ یا اتمگا ۸ هست ، تاپیکش را داریم.



در اتمگا ۱۶ فکر کنم پایه ۱۰ و ۱۱ بود ، خودتان در تاپیک بالا ببینید... یک عکس بزرگ در پست ۴ در تاپیک اتمگا ۱۶ است ، به اون عکس نگاه کنید.
و در اتمگا ۸ فکر کنم پایه ۷ و ۸ بود.... در تاپیکش در یک عکس نشان داده شده.در پست ۳ یک عکس هست ، اون را ببینید. دو تا عکس مورد نیاز ، ضمیمه همین پست هم شد.


در تاپیکهای بالا ببینید باید مثبت و منفی به کدام پایه ها وصل بشه.

در همین تاپیک برنامه راه انداختن یک led هم هست. یک پایه را تعیین می کنید در کدها و در موقع سیم وصل کردن ، یک سیم از اون پایه به led وصل می کنیم. یک مقاومت حدود ۲۰۰ تا ۵۰۰ اهم هم قبل led بگذارید تا نسوزه.


پس کلا ۳ تا سیم وصل میشه به میکرو کنترلر ، ۲ تا برای مثبت و منفی و یکی هم برای روشن کردن led.

در دو عکس زیر ، عکس رنگی مرربوط به اتمگا ۱۶ است و عکس سیاه و سفید مربوط به اتمگا ۸.
atmega8.jpg atmega16.jpg
 
آخرین ویرایش:

saalek110

Well-Known Member
دو مرحله داریم ،
اول ریختن برنامه داخل میکروکنترلر که به این مرحله میگن پروگرم کردن.
دوم وصل کردن سیم ها به پایه ها.

در این تاپیک یک برنامه هم برای ریختن در میکروکنترلر گفته شده.
 
آخرین ویرایش:

saalek110

Well-Known Member

روش های راه اندازی یک میکروکنترلر AVR​

در این روش کافی است همانند شکل زیر تنها پایه‌ی VCC از یک میکروکنترلر AVR را به 5+ ولت و پایه‌ی GND را به زمین (Ground) متصل کنید.

در شکل ۶ یک میکرو کنترلر ATMega32 راه اندازی شده است.

همان طور که می‌بینید پایه شماره‌ی ۱۰ که همان VCC است به 5+ ولت و پایه شماره‌ی ۱۱ که همان GND است به زمین متصل شده است.

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

شکل ۶:‌ نحوه‌ی راه اندازی ابتدایی میکروکنترلر


در حال حاضر میکرو کنترلر شما آماده‌ی کار است.

اما روش تکمیل‌تر راه اندازی میکروکنترلر AVR، راه اندازی این میکروکنترلر همراه با مدار RESET است که به ما این قابلیت را می‌دهد که در صورت رخ دادن مشکلات ناخواسته در زمان اجرای برنامه میکروکنترلر خود را دوباره راه اندازی کرده و درصدد رفع این مشکلات برآییم. در شکل ۷7 با فشردن کلید (Switch) میکروکنترلر ما Reset خواهد شد.

مدار ریست کردن میکروکنترلر avr

شکل ۷: مدار ریست کردن میکروکنترلر
همان طور که در شکل بالا مشاهده می‌کنید از یک مقاومت 270 اهمی که به 5+ ولت وصل شده و یک سوئیچ که به زمین وصل شده استفاده شده است.

علت این کار این بوده که اگر به پایه شماره‌ی ۹ نگاهی دوباره بیندازید می‌بینید که بالای کلمه‌ی RESET یک خط کشیده شده است. این خط به این معناست که این پایه زمانی در ناحیه‌ی فعال است که به زمین متصل باشد (Low Active). بنابراین هرگاه ما این پایه را به زمین متصل کنیم میکرو Reset خواهد شد. بنابراین برای اینکه از Reset شدن میکرو در زمان‌هایی که ما نمی‌خواهیم، جلوگیری کنیم همواره پایه‌ی RESET را با یک مقاومت بالا کش (Pull Up) در حالت غیرفعال نگه می‌داریم.

در مورد مقاومت Pull Up در فصل بعد بیشتر صحبت خواهیم کرد. راه بهتر دیگر برای راه اندازی هرچه مطمئن‌تر یک میکروکنترلر AVR قرار دادن یک خازن بین VCC و GND در این میکروکنترلرها است. این عمل از Reset شدن ناگهانی میکرو به علت مشکلاتی از قبیل افت جریان در مدار جلوگیری می‌کند. یک خازن 10μf می‌تواند انتخاب مناسبی برای این منظور باشد.

مدار راه انداز میکروکنترلر به همراه خازن avr



4-1 راه اندازی یک میکروکنترلر AVR — ربات سازان
 

saalek110

Well-Known Member

آموزش راه اندازی LED با کدویژن و AVR

در این مقاله یک LED را با با میکروکنترلر ATMega۸ از خانواده Atmel AVR توسط افزار کدویژن راه اندازی می شود. تراشه ATMega۸ دارای ۴ پورت ,B,C و D می‌باشد. در اینجا از پایه ۴ از پورت C استفاده کرده، ولی شما می‌توانید از هر پایه‌ای در هر پورتی استفاده کنید.

سرویس آموزش و آزمون برق نیوز، میکروکنترلر AVR از اواسط دهه ۹۰ میلادی در عرصه الکترونیک و مدار‌های مجتمع پا به عرصه گذاشتند. در میکروکنترلر AVR امکان برنامه نویسی ابتدایی برای تراشه وجود داشته است. امروزه شاهد رشد و پیشرفت بسیار زیادی در میکروکنترلر AVR هستیم. در ادامه این قصد دارم به عنوان پروژه مقدماتی یک LED را با با میکروکنترلر ATMega۸ از خانواده Atmel AVR توسط افزار کدویژن راه اندازی نماییم. تراشه ATMega۸ دارای ۴ پورت ,B,C و D می‌باشد. در اینجا من از پایه ۴ از پورت C استفاده کردم، ولی شما می‌توانید از هر پایه‌ای در هر پورتی استفاده کنید.

لوازم مورد نیاز

۱- میکروکنترلر ATmega۸،

۲- LED یا دیود نورانی

۳- مقاومت ۴۰۰ اهم برای حفاظت از سوختن LED


کد‌های پروژه AVR با تراشه ATmega۸

ابتدا نرم افزار کدویژن رو باز کنید و از منو file گزینه New Project را انتخاب کنید. کد‌های زیر را در آن تایپ کنید. سپس از منوی Project گزینه‌ی compile را انتخاب کنید و اگر error مشاهده نکردید گزینه OK را انتخاب کنید و از همان منو project گزینه Build All را انتخاب کنید. حال برنامه به زبان ماشین ترجمه شده و آن در فایلی به نام exe در جایی که انتخاب کردید با پسوند hex ذخیره شده

آموزش راه اندازی LED با کدویژن و AVR

توضیح خط به خط کد AVR

۱- در خط اول، کتابخانه‌ای جامع برای میکروکنترلر AVR را اضافه کردیم. این کتابخانه شامل سری‌های ATTiny,AT۹۰S و ATMega می‌باشد.
۲- در خط دوم، کتابخانه مربوط به تاخیر را ضمیمه برنامه کردم.

۳- خط بعد مربوط به DDRC.۴ می‌باشد که ما با این کار پایه‌ی ۴ از پورت c را به عنوان خروجی تعریف کرده ایم. ابتدا DDR را نوشته ایم که منظور ما را مشخص می‌کند یعنی ما می‌خواهیم ورودی یا خروچی بودن را مشخص کنیم و بعد به پورت اشاره دارد که در اینجا پورت c می‌باشد سپس نقطه می‌گذاریم و پایه‌ای را از پورت مشخص می‌کنیم که در اینجا پایه‌ی ۴ می‌باشد بعد مساوی می‌گذاریم و ۰ و یا ۱ را می‌نویسیم.۰ به معنای ورودی و ۱ به معنای خروجی بودن پایه است.

۴- در این خط ما مقدار اولیه‌ای به پایه‌ی ۴ از پورت c داده ایم که ان مقدار برابر ۰ بوده است. مانند دستور قبل ابتدا دستور اصلی که PORT است را می‌نویسیم سپس پورت را مشخص می‌کنیم و بعد از نقطه پایه را مشخص می‌کنیم.

۵- در حلقه (while (۱ ما دستوراتی را می‌نویسیم که می‌خواهیم بینهایت بار آن‌ها را اجرا کنیم.

۶- این خط، خط اصلی است و می‌گوید که مقدار پایه ۴ از پورت c برابر است با متضاد حالت کنونی اش. یعنی اگر ۱ یا روشن باشد آنرا تبدیل به صفر می‌کند و اگر ۰ باشد آنرا تبدیل به ۱ می‌کند

۷- اگر میکروکنترلر AVR پشت سر هم عمل چشمک زدن را انجام دهد آنقدر سریع خواهد بود که چشم انسان قادر به دیدن آن نیست بنابر این با دستور () delay_ms وقفه‌ای میلی ثانیه‌ای در کار ایجاد می‌کنیم که در اینجا ۵۰۰ میلی ثانیه وقفه در کار AVR ایجاد کرده ایم.


آموزش راه اندازی LED با کدویژن و AVR
 

saalek110

Well-Known Member

کریستال در کجاها کاربرد دارد؟

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

کاربرد دیگه ی این قطعات برمیگرده به این موضوع که اگه بخوایم توی مدارمون یه فرکانس بالاتری رو تولید کنیم. مثال واضحش هم میکرو avr هست. اگه دقت کرده باشید توی خیلی از این میکروهای avr کنار مدار یه کریستال هم(معمولا 16 مگاهرتز) میذارن تا فرکانس کار مدار رو ببرن بالا.

توی میکروپروسسورها و میکروکنترلرها معمولا دو تا پایه وجود داره به نام های OSC1 و OSC2 یا XTAL1 و XTAL2 مشخص شده که کریستال رو به اون دو تا پایه وصل میکنن و البته کنارش دو تا خازن (معمولا 30PF) هم میذارن که توی دیتاشیت میکروکنترلر نحوه‌ی اتصال اون نشون داده شده.

حالا یه سوال: چرا نمیان یه کریستالی با فرکانس مثلا 1 گیگا هرتز بذارن تا فرکانس کاری خیلی بره بالا و کارا سریعتر انجام بشه؟ دو تا دلیل داره


  1. اولیش اینه که اصلا اون میکروکنترلر یا پردازنده نمیتونه با فرکانسی بیشتر از اون فرکانس کار کنه مثلا همین میکرو avr نمیتونه دیگه با بیشتر از 16 مگاهرتز کار کنه(البته این مربوط به سری های متداول مثل atmega16 و … هست) یا نهایتا همین میکرو دیگه بتونه تا 20 مگاهرتز به زور و ضرب کار کنه ولی دیگه نمیتونه بیشتر از اون کار کنه.
  2. دلیل دوم هم اینه که یه واحدی وجود داره توی میکروکنترلر یا پردازنده به نام PLL که میاد فرکانس کاری ورودی رو چند برابر میکنه به عنوان مثال یه کریستال 18.432 به ورودی مدارش وصل میشه و PLL این فرکانس رو به فرکانس 60 مگاهرتز تبدیل میکنه.


توی مدارات میکروکنترلری که استفاده می‌کنید حتما حتما حتما ببینید توی دیتاشیت چه توصیه‌ای برای فرکانس کریستال شده و حتما یه کریستالی از همون رنج بذارید و خودتون دست به انتخاب نزنید.

کریستال در الکترونیک چیست و چه کاربردی دارد
 
آخرین ویرایش:

saalek110

Well-Known Member
«how to make microcontroller circuit at home» را در YouTube تماشا کنید
youtu.be/QqodOjmoskQ

فیلم هندی است ولی چون تصویری است مفید است.
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا