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

با سلام خدمت همه شما دوستان. در این جلسه قصد داریم در مورد نحوه ریختن بوت لودر آردوینو روی میکروکنترلر avr صحبت کنیم. پیش از هر چیز پیشنهاد میکنم اگه به صورت کامل با آردوینو آشنایی ندارید ، ابتدا یک نگاهی به دوره آردوینو وبسایت ما بیندازید:

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

بوت لودر چیست؟

میکروکنترلرهای avr یک آیسی کوچک هستند که قابلیت های فراوانی دارند. ولی برای پروگرم کردنشون یک سری دردسرها وجود داره. مثلا به یک پروگرمر خاص نیاز داریم و سخت افزار مرتبط با خودش رو باید قرار بدیم و … که این موضوعات برای کسی که میخواد تازه کار با avr رو شروع کنه ، ممکنه خیلی دوست داشتنی نباشه. برد آردوینو اومده همه این مشکلات رو یه جا حل کرده و یک فایل hex. میریزه روی برد و با این کار ، اون موقع تنها چیزی که برای پروگرم نیاز داریم ، یک کابل usb هست. به زبان ساده تر میکروکنترلرها از طریق پروگرمرها ، پروگرم میشن مگه این که در میکروکنترلر یه فرمور (firmware) رو داشته باشید که بتونید این فرمور رو عوض کنید و یک فرمور جدید بریزید و دیگه نیازی به پروگرمر نداشته باشید. به این فرمور میگن بوت لودر.

چرا باید بوت لودر نصب کنیم ؟

اگه بخواید که برد آردوینو مخصوص خودتون رو داشته باشید و یا میکروکنترلر بردتون رو عوض کنید ، لازم هست که بر روی میکروکنترلر بوت لودر بریزید. حالت دیگه ای هم که ممکنه ایجاد بشه اینه که بر روی میکروکنترلرتون یک بوت لودر بد نصب شده باشه ( البته این حالت کم اتفاق میفته) و در اینجا هم لازم هست که بوت لودر رو مجددا بر روی میکروکنترلر بریزید. مورد دیگه هم این که ممکنه تنظیمات عجیب و غریبی روی برد انجام داده باشیم و ساده ترین راه اینه که بوت لودر جدید رو روی برد بریزیم و اون رو به تنظیمات کارخانه ای برگردونیم. گاهی اوقات هم مشاهده شده که افراد مختلف ، پورت سریال برد رو خاموش میکنند و دیگه راهی برای ریختن کد روی برد وجود نداره. در این هنگام هم ریختن مجدد بوت لودر میتونه ساده ترین و سریعترین راه باشه.

همونطور که گفتیم این که بوت لودر بدی روی برد ریخته شده باشه خیلی خیلی نادر هست و در %99.9 که برای اول برد رو میخریم و نمیتونیم کد رو روش بریزیم ، مشکل از بوت لودر اون نیست و تنها %0.1 احتمال داره که بوت لودراون مشکل داشته باشه.

ریختن بوت لودر روی میکروکنترلر

لیست قطعات مورد نیاز :

  • قبل از هر چیز اجازه بدید قطعاتی که به اون ها نیاز داریم رو معرفی کنیم :
  • یک عدد برد آردوینو uno
  • یک عدد میکروکنترلر atmega328
  • یک عدد مقاومت 10 کیلواهم
  • یک کریستال 16 مگاهرتز

شناخت بهتر atmega328 :

شاید بهتر باشه یک بار دیگه به پایه های میکروکنترلر atmega328P نگاه کنیم. هر چند که ممکنه قبلا این پایه ها رو دیده باشید. ( توجه داشته باشید که بهتره از میکروکنترلر atmega328P استفاده کنیم تا میکروکنترلر atmega328 ) . در شکل زیر پایه های خروجی میکروکنترلر ، از نگاه برد آردوینو آورده شده است :

پایه های خروجی میکروکنترلر برد arduino - ریختن بوت لودر آردوینو روی avr

ریختن بوت لودر arduino روی میکروکنترلر avr :

حالا که نگاهی به پایه های میکروکنترلر انداختیم وقتش هست که بوت لودر آردوینو رو روی یک میکروکنترلر خام atmega328P بریزیم. در ابتدا مداری مطابق شکل زیر ببندید:

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

حال در نرم افزار آردوینو ، از منوی File ، گزینه Example را انتخاب کنید و از بین گزینه Example ، مثال ArduinoISP را مطابق شکل زیر باز کنید :

باز کرد مثال Arduino - ISP - ریخت بوت لودر روی آردوینو

سپس با زدن گزینه آپلود ، این مثال را بر روی برد آردوینو خود بریزید.

حال از منوی Tools ، بخش Programmer گزینه arduino as ISP را مطابق شکل زیر انتخاب کنید:

قرار دادن پروگرمر arduino as ISP

پس از این کار از منوی Tools ، گزینه Burn bootloader را بزنید و بوت لودر آردوینو را روی میکروکنترلر avr خود بریزید. پس از این کار باید  عبارت Done burning bootloader برای شما ( از پایین نرم افزار)نشان داده شود. کار شما تمام شده است و حال دیگر میتوانید بر روی میکروکنترلر خود ، کدهای آردوینو بریزید. برای تست این کار هم تنها کافی است میکروکنترلری که جدیدا روی اون بوت لودر آردوینو رو ریختید با میکروکنترلر خود برد آردوینو عوض کنید و یک نمونه کد رو روش بریزید.

 

این روشی که در اینجا معرفی شد ، یکی از ساده ترین روش های ریختن بوت لودر روی میکروکنترلر avr هست. ما قطعا روش های دیگه رو هم در آینده معرفی خواهیم کرد. مثل همیشه میتونید ما رو در تلگرام و یا اینستاگرام دنبال کنید:

 

 

 

اشتراک گذاری:
مطالب زیر را حتما بخوانید

36 دیدگاه

به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.

  • سلام خسته نباشید
    من با این روش بوت لودر آردوینو uno رو روی یه ۳۲۸ دیگه زدم
    اما حالا میخوام بوت لودر اردوینو رو روی یه ۳۲۸ دیگه بزنم با این تفاوت که میخوام در نهایت با کریستال ۸ مگ و ولتاژ ۳.۳ ولت کار کنم
    حالا آیا میتونم همون بوت لودر uno رو بزنم و بعد فقط کریستال و ولتاژ رو کم کنم؟ یا باید بوت لودر یه آردوینو دیگه مثل pro mini 3.3 ولت بزنم؟
    و اگه قسمت دوم سوالم درسته با این روش میشه ؟ یا باید یه روش دیگه استفاده کنم ؟ میتونم از uno کماکان به عنوان برد پروگرامر استفاده کنم؟

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

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

    avrdude: Expected signature for ATmega328P is 1E 95 0F
    Double check chip, or use -F to override this check.
    Error while burning bootloader.

    • با سلام و احترام.
      به احتمال زیاد مشکل از مدل میکروکنترلر شما می باشد. لطفا نام کامل میکروکنترلر Atmega32 خود را بنویسید تا این موضوع بررسی شود.
      با تشکر.

      • atmega 328-pu

        طبق بررسی هایی که کردم مثل اینکه این مدل توسط آردوینو پشتیبانی نمیشه.البته ترفندهای زیادی توی فروم های خارجی پیدا کردم اما مشکل بطور کامل رفع نمیشد. فقط مدل atmega328p-pu امکان نصب بوت لودر آردوینو وجود داره

        • با سلام.
          بله. همنطور که گفتم و شما هم بررسی کردید این مدل پشتیبانی نمیشه و مدار گفته شده صرفا برای این مدل خاص کارایی دارد.
          موفق باشید.

  • سلام میکرو اردینو unoایراد داشت تعویضش کردم و328puگرفتم اما هر چه قدر برنامه روش اپلود می کنمeror میده نمی دونم مشکل از کجاست چون میکرو قبلی اردینو 328p-puبود به نظرتون مشکل از مدل میکرو هاست

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

  • ممنون از این مطلب مفیدتون. انجام دادم و کار کرد. منتها دو تا خازن 22pf هم گذاشتم

دیدگاهتان را بنویسید