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

نصب بوت لودر آردوینو (آموزش ریختن و آپلود Bootloader)

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

در این آموزش خواهیم دید که چگونه از میکروکنترلر ها مانند برد آردوینو استفاده کنیم. برای استفاده از آی سی Atmega328 به جای آردوینو، ابتدا باید بوت لودر آردوینو را در آن رایت کنیم و سپس با استفاده از FTDI یا با استفاده از برد آردوینو آن را برنامه ریزی می کنیم. همچنین با استفاده از مداری که در زیر توضیح داده شده است، می توانید برد آردوینو خود را بسازید.

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

مدار نصب بوت لودر آردوینو

نمودار مدار برای ساخت آردوینو در Breadboard در زیر آورده شده است:

نصب بوت لودر آردوینو

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

  • آی سی Atmega 328
  • برد بورد LM7805
  • کریستال 16 مگاهرتز
  • 2* خازن سرامیکی 22pF
  • 2* خازن 10uF
  • مقاومت 10 کیلو اهم
  • مقاومت 1 کیلو اهم
  • سیم های جامپر
قطعات مورد نیاز را از فروشگاه قطعات آیرنکس تهیه کنید.

به صورت اختیاری، می توانید از تنظیم کننده ولتاژ 3.3 ولت LM1117-3.3 ولت نیز استفاده کنید تا پایه 3.3 ولتی را نیز در مدار خود قرار دهید.

قسمت های مختلف مدار

قسمت منبع تغذیه:

  • تنظیم کننده ولتاژ: آی سی Atmega 328 با منبع تغذیه 5 ولت کار می کند. بنابراین در اینجا، ما از LM7805 برای دریافت خروجی 5 ولت استفاده می کنیم، می تواند تا 30 ولت را به عنوان ورودی دریافت کند و 5 ولت را خروجی بدهد. اگر منبع 5 ولت جداگانه دارید، می توانید این رگولاتور را حذف کنید.
  • خازن ها: خازن 10uF در قسمت ورودی و خروجی 7805 برای بای پس
  • LED: این ال ای دی به شما نشان می دهد که خروجی 5 ولت شما متصل است.

بخش میکروکنترلر:

دیتاشیت میکروکنترلر Atmega328p

  • Atmega328: این قطعه اصلی ما در برد بورد است.
  • نوسانگر کریستال: یک کریستال خارجی 16 مگاهرتز بین پایه 9 و پایه 10 میکروکنترلر ATmega328 متصل است. این کریستال برای دادن ساعت به میکروکنترلر برای انجام سریعتر وظایف استفاده می شود.
  • دکمه فشاری: برای تنظیم مجدد میکروکنترلر یک دکمه فشاری بین پایه 1 و GND متصل می شود. برای پول آپ شدن با استفاده از یک مقاومت 10k به 5 ولت وصل می شود.
  • LED: یک LED به پین دیجیتال 13 متصل می شود.

این آموزش کامل به سه قسمت تقسیم شده است تا بتوانید راخت تر آردوینو خود را روی برد بورد اجرا کنید:

  1. ساخت مدار آردوینو بر روی برد بورد
  2. رایت بوت لودر در آی سی Atmega328
  3. نحوه برنامه نویسی میکروکنترلر با آردوینو

حالا هر قسمت را یکی یکی توضیح می دهیم.

1. ساخت مدار آردوینو روی برد بورد

مرحله 1: قسمت منبع تغذیه را همانطور که در تصویر مدار نشان داده شده است وصل کنید و آن را با اتصال منبع تغذیه خارجی به LM7805 تست کنید. به این شکل خواهد بود.

مدار منبع تغذیه برای برد آردوینو

مرحله 2: اکنون قسمت میکروکنترلر را همانطور که در تصویر مدار نشان داده شده است وصل کنید. اتصالات را با دقت انجام دهید.

مدار میکروکنترلر برای برد آردوینو

اگر در مورد این مطلب سوالی دارید در قسمت نظرات بپرسید

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

اتصال منبع تغذیه و مدار میکروکنترلر یا برد آردوینو

در نهایت این آردوینو ما روی برد بورد است. شما می توانید همین مدار را روی PCB با استفاده از ابزارهای ساده ای مانند EasyEDA، آلتیوم دیزاینر و … پیاده سازی کنید. حال باید بوت لودر را روی آی سی جدید Atmega 328 آپلود کنیم تا بتوانیم آی سی را برنامه نویسی کنیم.

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

بوت لودر چیست و چرا به آن نیاز داریم؟

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

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

وقتی یک Atmega 328 جدید می‌خرید، هیچ بوت لودری در آن وجود ندارد. بنابراین برای برنامه نویسی Atmega328 خود با استفاده از Arduino IDE، ابتدا باید بوت لودر را آپلود کنید.

برای آپلود بوت لودر دو روش داریم:

  1. با استفاده از پروگرامر USBasp
  2. با استفاده از برد آردوینو UNO

روش دوم در مقایسه با روش اول ساده تر است. زیرا به اتصالات کمتری نیاز دارد و البته آخرین نسخه Arduino IDE از پروگرامر های USBasp پشتیبانی نمی کند.

بنابراین، در این آموزش ما بوت لودر را با استفاده از برد آردوینو Uno آپلود می کنیم.

آپلود بوت لودر آردوینو در میکروکنترلر

مرحله 1: آردوینو IDE را باز کنید. به File -> Examples -> ArduinoISP بروید. سپس ArduinoISP را انتخاب کنید. همانطور که در زیر نشان داده شده است.

کد Arduino ISP در Arduino IDE

مرحله 2: اکنون باید این کد را در برد آردوینو خود آپلود کنید. بنابراین پورت com و برد را از منوی Tools انتخاب کنید.

مرحله 3: پس از مشاهده پیام “Done Uploading”، برد آردوینو را از کامپیوتر جدا کرده و همانطور که در تصویر زیر نشان داده شده است، اتصالات برد آردوینو را با Atmega 328 انجام دهید.

مدار برای اتصال آردوینو به Atmega328

مرحله 4: حالا برد آردوینو را به کامپیوتر متصل کنید. سپس Arduino IDE را باز کنید.

به منوی Tools بروید، برد را به عنوان Arduino/Genuine Uno انتخاب کنید و پورت مناسب را برای برد خود انتخاب کنید. قسمت Programmer را به عنوان “Arduino as ISP” انتخاب کنید. آن را با ArduinoISP اشتباه نگیرید این دو مورد متفاوت هستند.

arduino bootloader بوت لودر آردوینو

مرحله 5: حالا دوباره به منوی Tools رفته و بر روی Burn Bootloader درست در زیر گزینه Programmer کلیک کنید. پس از چند ثانیه، Done Uploading Bootloader را مشاهده خواهید کرد. اگر خطایی در آپلود وجود داشت، اتصالات را بررسی کنید.

آموزش نصب بوت لودر

حالا این میکروکنترلر میتواند به راحتی با استفاده از نرم افزار آردوینو برنامه نویسی شود. در حقیقت برد بورد شما مثل یک برد آردوینو عمل میکند. حال این سوال پیش می آید که چگونه آی سی Atmega 328 را برنامه نویسی کنیم؟ در بخش بعدی به آن خواهیم پرداخت.

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

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

  • استفاده از برد آردوینو خالی (یعنی برد آردوینو بدون آی سی Atmega 328)
  • استفاده از ماژول مبدل USB به سریال TTL (ماژول FTDI)
  • استفاده از پروگرامر USBasp (دارای اتصالات زیاد)

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

در اینجا با استفاده از دو روش مبدل USB به سریال و برد آردوینو میکروکنترلر را برنامه نویسی می کنیم.

برنامه نویسی Atmega328 با برد آردوینو

مرحله 1: یک برد آردوینو بدون تراشه Atmega328 بگیرید (یا میکروکنترلر آن را جدا کنید). همانطور که در تصویر زیر نشان داده شده است اتصالات برد آردوینو را با میکروکنترلر خود انجام دهید.

آموزش آپلود نصب بوت لودر آردوینو

مرحله 2: برد آردوینو را به کامپیوتر متصل کرده و Arduino IDE را باز کنید. Arduino Uno را از منوی Board  انتخاب کنید. سپس Programmer را در حالت USBasp انتخاب کنید و همچنین COM صحیح را انتخاب کنید.

مرحله 3: با آپلود برنامه Blink شروع می کنیم. بنابراین برنامه چشمک زدن را از Examples انتخاب کنید و دکمه Upload را بزنید.

آموزش آپلود نصب بوت لودر آردوینو (2)

اکنون، می توانید ببینید که LED روی برد بورد شروع به چشمک زدن می کند.

برنامه نویسی Arduino Atmega328 با مبدل سریال

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

مرحله 1: اتصالات را به صورت زیر انجام دهید:

پین RXD FTDI -> پین Tx Atmega328 (پین 3)

پین TXD FTDI -> پین Rx Atmega328 (پین 2)

GND -> GND (پین 8)

5v -> Vcc (پین 7)

برخی از ماژول‌های FTDI دارای پین Reset هستند که با نام پین DTR نیز شناخته می‌شود. این پایه باید به پین Reset Atmega328 (پین 1) متصل شود. اگر پین ریست در ماژول وجود ندارد، نگران نباشید وقتی تراشه را برنامه نویسی می کنیم راه حل را ارائه می کنیم.

مرحله 2: اکنون FTDI را به رایانه متصل کرده و Device manager را در کنترل پنل باز کنید. بخش Port را مشاهده خواهید کرد، آن را گسترش دهید. اگر یک علامت زرد جلوی درایور وجود دارد، باید درایور ماژول خود را به روز کنید.

بررسی device manager درایور مبدل سریال

اگر علامتی وجود ندارد، شماره پورت com را یادداشت کرده و Arduino IDE را باز کنید. به Tools -> Ports -> Com بروید سپس پورتی که یادداشت کرده اید را انتخاب کنید.

مرحله 3: اکنون، برنامه چشمک زدن ال ای دی را در آردوینو انتخاب میکنیم. به File -> Examples -> Basics -> Blink بروید. Arduino Uno را از منوی Board در منوی Tools و سپس Programmer به عنوان USBasp انتخاب کنید.

سپس دکمه آپلود را بزنید.

توجه: اگر ماژول FTDI شما پین DTR ندارد، دکمه Reset را روی تخته برد بورد فشار دهید و دکمه آپلود را فشار دهید. زمانی که در نرم افزار آردوینو مینویسد Compiling Sketch آن را فشار دهید و به محض اینکه مینویسد Uploading، دکمه را رها کنید.

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

آپلود کد آردوینو روی میکروکنترلر

2 (1 نفر)

دوره آموزش آردوینوثبت نام
دوره آموزش اینترنت‌اشیاثبت نام
دوره آموزش آلتیوم‌دیزاینرثبت نام
دوره آموزش AVR ثبت نام
دوره آموزش الکترونیکثبت نام
دوره آموزش رزبری‌پایثبت نام
دوره آموزش پروتئوسثبت نام
دوره آموزش STM32ثبت نام
برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام ما را دنبال کنید.
تصویر از محمد رحیمی

محمد رحیمی

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

2 نظر

  1. با سلام
    ممنون از آموزش های خوبتون
    امکان پذیر است تا فایل بوت رو ATMEGA8A_PU
    البته برای برنامه بسکام و یا آردینو داشت تا بشه مستقیم برنامه داد.
    و طریقه آن را هم راهنمایی کنید

    با تشکر

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *