یک روش ساده برای ریختن بوت لودر آردوینو روی avr
با سلام خدمت همه شما دوستان. در این جلسه قصد داریم در مورد نحوه ریختن بوت لودر آردوینو روی میکروکنترلر avr صحبت کنیم. پیش از هر چیز پیشنهاد میکنم اگه به صورت کامل با آردوینو آشنایی ندارید ، ابتدا یک نگاهی به دوره آردوینو وبسایت ما بیندازید:
بوت لودر چیست؟
میکروکنترلرهای avr یک آیسی کوچک هستند که قابلیت های فراوانی دارند. ولی برای پروگرم کردنشون یک سری دردسرها وجود داره. مثلا به یک پروگرمر خاص نیاز داریم و سخت افزار مرتبط با خودش رو باید قرار بدیم و … که این موضوعات برای کسی که میخواد تازه کار با avr رو شروع کنه ، ممکنه خیلی دوست داشتنی نباشه. برد آردوینو اومده همه این مشکلات رو یه جا حل کرده و یک فایل hex. میریزه روی برد و با این کار ، اون موقع تنها چیزی که برای پروگرم نیاز داریم ، یک کابل usb هست. به زبان ساده تر میکروکنترلرها از طریق پروگرمرها ، پروگرم میشن مگه این که در میکروکنترلر یه فرمور (firmware) رو داشته باشید که بتونید این فرمور رو عوض کنید و یک فرمور جدید بریزید و دیگه نیازی به پروگرمر نداشته باشید. به این فرمور میگن بوت لودر.
چرا باید بوت لودر نصب کنیم ؟
اگه بخواید که برد آردوینو مخصوص خودتون رو داشته باشید و یا میکروکنترلر بردتون رو عوض کنید ، لازم هست که بر روی میکروکنترلر بوت لودر بریزید. حالت دیگه ای هم که ممکنه ایجاد بشه اینه که بر روی میکروکنترلرتون یک بوت لودر بد نصب شده باشه ( البته این حالت کم اتفاق میفته) و در اینجا هم لازم هست که بوت لودر رو مجددا بر روی میکروکنترلر بریزید. مورد دیگه هم این که ممکنه تنظیمات عجیب و غریبی روی برد انجام داده باشیم و ساده ترین راه اینه که بوت لودر جدید رو روی برد بریزیم و اون رو به تنظیمات کارخانه ای برگردونیم. گاهی اوقات هم مشاهده شده که افراد مختلف ، پورت سریال برد رو خاموش میکنند و دیگه راهی برای ریختن کد روی برد وجود نداره. در این هنگام هم ریختن مجدد بوت لودر میتونه ساده ترین و سریعترین راه باشه.
همونطور که گفتیم این که بوت لودر بدی روی برد ریخته شده باشه خیلی خیلی نادر هست و در %99.9 که برای اول برد رو میخریم و نمیتونیم کد رو روش بریزیم ، مشکل از بوت لودر اون نیست و تنها %0.1 احتمال داره که بوت لودراون مشکل داشته باشه.
ریختن بوت لودر روی میکروکنترلر
لیست قطعات مورد نیاز :
- قبل از هر چیز اجازه بدید قطعاتی که به اون ها نیاز داریم رو معرفی کنیم :
- یک عدد برد آردوینو uno
- یک عدد میکروکنترلر atmega328
- یک عدد مقاومت 10 کیلواهم
- یک کریستال 16 مگاهرتز
شناخت بهتر atmega328 :
شاید بهتر باشه یک بار دیگه به پایه های میکروکنترلر atmega328P نگاه کنیم. هر چند که ممکنه قبلا این پایه ها رو دیده باشید. ( توجه داشته باشید که بهتره از میکروکنترلر atmega328P استفاده کنیم تا میکروکنترلر atmega328 ) . در شکل زیر پایه های خروجی میکروکنترلر ، از نگاه برد آردوینو آورده شده است :
ریختن بوت لودر arduino روی میکروکنترلر avr :
حالا که نگاهی به پایه های میکروکنترلر انداختیم وقتش هست که بوت لودر آردوینو رو روی یک میکروکنترلر خام atmega328P بریزیم. در ابتدا مداری مطابق شکل زیر ببندید:
حال در نرم افزار آردوینو ، از منوی File ، گزینه Example را انتخاب کنید و از بین گزینه Example ، مثال ArduinoISP را مطابق شکل زیر باز کنید :
سپس با زدن گزینه آپلود ، این مثال را بر روی برد آردوینو خود بریزید.
حال از منوی Tools ، بخش Programmer گزینه arduino as ISP را مطابق شکل زیر انتخاب کنید:
پس از این کار از منوی Tools ، گزینه Burn bootloader را بزنید و بوت لودر آردوینو را روی میکروکنترلر avr خود بریزید. پس از این کار باید عبارت Done burning bootloader برای شما ( از پایین نرم افزار)نشان داده شود. کار شما تمام شده است و حال دیگر میتوانید بر روی میکروکنترلر خود ، کدهای آردوینو بریزید. برای تست این کار هم تنها کافی است میکروکنترلری که جدیدا روی اون بوت لودر آردوینو رو ریختید با میکروکنترلر خود برد آردوینو عوض کنید و یک نمونه کد رو روش بریزید.
این روشی که در اینجا معرفی شد ، یکی از ساده ترین روش های ریختن بوت لودر روی میکروکنترلر avr هست. ما قطعا روش های دیگه رو هم در آینده معرفی خواهیم کرد. مثل همیشه میتونید ما رو در تلگرام و یا اینستاگرام دنبال کنید:
36 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
سلام دوستان این روش را بنده استفاده کردم ..خیلی عالیه ..وظیفه دارم از سایت robouav تشکر کنم ..???????
سپاس از لطف شما دوست عزیز.
سلام ..حداقل کار در مقابل این لطف شما از طرف بنده دو مسئله است ..اولی : یه دعای سفارشی
دومی : یه تشکر صمیمانه و گرم ???
سپاس از لطف شما دوست عزیز.
سلام،چرا کریستالتون ۳ پایه است،با دو پایه جواب نمیده؟
من این روش شمارو با کریستال ۲ پایه رفتم ولی موقع بُرن کردن وقتی تموم شد ارور میده،لطفا راهنمایی کنید
با سلام و احترام.
مشکلی نداره و شما میتوانید از کریستال دو پایه نیز استفاده کنید.
برای حل مشکل لطفا خطای خود را ارسال بفرمایید. نام میکروکنترلر خود را نیز به صورت کامل ارسال بفرمایید.
با تشکر.
سلام، آيا امكانش هست كه روي ميكروي خود برد آردوينو بوت لودر بريزم وبعد پروگرام كنم و ازش در مدار ديگه اي استفاده كنم
با سلام و درود.
به صورت پیش فرض خود میکرویی که روی برد آردوینو هست ، بوت لودر آردوینو را دارد. اگر هم میخواهید از آن میکروکنترلر استفاده کنید ، هیچ ایرادی وجود ندارد. فقط حتما باید کریستال و خازن و مدارهای کنار میکرو را قرار دهید تا میکرو به صورت صحیح برای شما کار کند.
موفق باشید.