فهرست مطالب:

برنامه نویسی ATTiny85 ، ATTiny84 و ATMega328P: Arduino به عنوان ISP: 9 مرحله (همراه با تصاویر)
برنامه نویسی ATTiny85 ، ATTiny84 و ATMega328P: Arduino به عنوان ISP: 9 مرحله (همراه با تصاویر)

تصویری: برنامه نویسی ATTiny85 ، ATTiny84 و ATMega328P: Arduino به عنوان ISP: 9 مرحله (همراه با تصاویر)

تصویری: برنامه نویسی ATTiny85 ، ATTiny84 و ATMega328P: Arduino به عنوان ISP: 9 مرحله (همراه با تصاویر)
تصویری: M#2: Atmega128 Development Board Pin Mapping | Outseal Dev. PLC Mega 2024, نوامبر
Anonim
برنامه نویسی ATTiny85 ، ATTiny84 و ATMega328P: Arduino به عنوان ISP
برنامه نویسی ATTiny85 ، ATTiny84 و ATMega328P: Arduino به عنوان ISP
برنامه نویسی ATTiny85 ، ATTiny84 و ATMega328P: Arduino به عنوان ISP
برنامه نویسی ATTiny85 ، ATTiny84 و ATMega328P: Arduino به عنوان ISP

پیشگفتار

من اخیراً چند پروژه IoT مبتنی بر ESP8266 را توسعه داده ام و متوجه شدم پردازنده اصلی در انجام تمام وظایفی که برای مدیریت به آن نیاز داشتم ، مشکل داشت ، بنابراین تصمیم گرفتم برخی از فعالیتهای کمتر مهم را در میکروکنترلرهای مختلف توزیع کنم. به این ترتیب ESP8266 آزاد می شود تا کار خود را به عنوان یک دستگاه اینترنت اشیا ادامه دهد.

با توجه به اینکه می خواستم پروژه خود را برای هرچه بیشتر مخاطبین منتشر کنم ، تصمیم گرفتم از Arduino IDE به عنوان پلت فرم توسعه مورد نظر استفاده کنم ، زیرا دارای چنین جامعه ای است که از حمایت گسترده ای برخوردار است.

محدودیت های طراحی

به منظور ارائه گستره معقولی از دستگاه های هدف که امکان انتخاب میکروکنترلر مناسب برای برنامه مورد نظر را فراهم می کند ، من بر روی قطعات Atmel زیر تصمیم گرفتم. ATMega328P ، ATTiny84 و ATTiny85. برای محدود کردن پیچیدگی برنامه نویس ضروری ، من انتخاب ساعت را به داخلی برای همه دستگاه ها و 16 مگاهرتز خارجی را فقط برای ATMega328P و ATTiny84 محدود کردم.

آنچه در زیر می آید مجموعه ای از یادداشت ها در زمینه برنامه نویسی با آردوینو و شرح نحوه برنامه نویسی ساده Arduino Uno برای این دستگاه ها است (تصاویر بالا).

به چه قطعاتی نیاز دارم؟

برای ساخت برنامه نویس به قسمتهای زیر نیاز دارید

  1. 1 تخفیف برای آردوینو اونو
  2. 2 سوکت 28 پین Zero Insertion Force (ZIF) DIP (برای نگهداری ATMega328P ، ATTiny85 ، ATTiny84)
  3. 1 سپر نمونه اولیه آردوینو (من اینجا را گرفتم ؛
  4. 2 عدد LED 5 میلی متری
  5. 2 مقاومت 1K خاموش
  6. 1 مقاومت 10K
  7. 4 خازن سرامیکی 22pF
  8. 2 عدد کریستال 16 مگاهرتز
  9. 3 خازن سرامیکی 0.1uF
  10. 1 خازن الکترولیتی 47uF
  11. 1 خازن الکترولیتی 10uF
  12. طول سیم های مختلف سیم پیچ.

به چه نرم افزاری نیاز دارم؟

آردوینو IDE 1.6.9

به چه مهارتهایی نیاز دارم؟

  1. آشنایی با Arduino IDE
  2. آشنایی با لوازم الکترونیکی و نحوه لحیم کاری
  3. مهارت ماهرانه زیادی
  4. بار زیادی از صبر و بینایی خوب

موضوعات تحت پوشش

  1. مقدمه ای کلی بر برنامه نویسی میکروکنترلرهای Atmel
  2. ISP یا Bootloader: همه چیز کمی گیج کننده است
  3. نمای کلی مدار
  4. برنامه نویس خود را راه اندازی کنید
  5. از برنامه نویس ISP آردوینو خود استفاده کنید
  6. توسعه کد در سیستم هدف شما
  7. Gotchas
  8. نتیجه
  9. مراجع استفاده شده است

سلب مسئولیت

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

مرحله 1: مقدمه عمومی در مورد برنامه ریزی میکروکنترلرهای اتم

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

دو روش برای برنامه نویسی میکروکنترلرهای Atmel وجود دارد.

  1. در برنامه نویسی سیستم (ISP) ،
  2. برنامه نویسی خودکار (از طریق بوت لودر)

روش قبلی (1) پس از اولین بار تنظیم مجدد دستگاه ، مستقیماً میکروکنترلر را از طریق رابط SPI برنامه ریزی می کند. مگر اینکه دستورالعمل دیگری گفته شود ، یک برنامه منبع اجرایی کامپایل شده به طور تدریجی در حافظه دستگاه از جایی که هنگام راه اندازی اجرا می شود ، نوشته می شود. بسیاری از دستگاههای ISP قادر به برنامه نویسی دستگاههای Atmel هستند که تعدادی از آنها (عکس 1) هستند. AVRISPmkII ، Atmel-ICE ، Olimex AVR-ISP-MK2 ، Olimex AVR-ISP500. تصویر 2 نحوه اتصال دستگاه ISP به ATMega328P (ICSP علامت گذاری عجیب) را در برد Arduino Uno R3 نشان می دهد (عکس 3 پین ISP را خارج می کند). همچنین می توان یک میکروکنترلر Atmel را از طریق رابط SPI آن با استفاده از Arduino Uno به عنوان ISP برنامه ریزی کرد (تصویر 4) ، در اینجا از Uno برای برنامه ریزی ATMega328P استفاده می شود.

روش اخیر (2) از یک کد خرد کوچک استفاده می کند که به عنوان "bootloader" شناخته می شود و به طور دائم در حافظه کد اجرایی (که معمولاً برای جلوگیری از بازنویسی تصادفی تصویر 5 قفل می شود) قفل شده است. این کد ابتدا با روشن شدن دستگاه یا تنظیم مجدد دستگاه اجرا می شود و به میکروکنترلر اجازه می دهد تا خود را با کد جدیدی که از طریق یکی از رابط های خود از منبع خارجی به خود دریافت می کند ، مجددا برنامه ریزی کند. روش بوت لودر توسط Arduino IDE برای برنامه نویسی مجدد Arduinos نقشه برداری شده به عنوان یک پورت USB comm در رایانه (یا MAC ، جعبه لینوکس و غیره ، تصویر 6) استفاده می شود و در مورد Arduino Uno از طریق آن با دستگاه Atmel ارتباط برقرار می کند. رابط سریال در IC پین 2 و 3 ATMega328P. همچنین Arduino Uno (با حذف میکروکنترلر ATMega328P) می تواند برای برنامه ریزی یک ATMega328P از طریق روش بوت لودر به طور موثر به عنوان یک دستگاه آداپتور USB به سریال عمل کند (عکس 7).

آداپتور USB به سریال چیست؟

آداپتور USB به سریال قطعه ای از سخت افزار است که به پورت USB رایانه های شخصی شما متصل می شود و شبیه یک پورت سریال سریال است (میراثی از زمانهای قبل که رایانه ها از استاندارد ارتباطات سری معروف به EIA-232 ، V24 یا RS232 استفاده می کردند) که به شما این امکان را می دهد ارسال و دریافت داده های سریال در همان سطوح الکتریکی میکروکنترلر. هنگامی که Tools -> Port -> COMx را از Arduino IDE انتخاب می کنید ، رایانه خود را به Arduino متصل/وصل می کنید.

دستگاهی مانند این گاهی اوقات به عنوان FTDI (عکس 8 ، که در واقع نام تجاری آن است) یا CH340G و غیره به سریال USB در Arduino uno از طریق ATMega16U2-MU (R) IC ZU4 همانطور که در Arduino Schematic گفته می شود ، اشاره می شود. در زیر

برای وضوح تصویر 9 ، دو دستگاه Atmel و اتصالات ISP مربوطه در Arduino Uno R3 را مشخص می کند.

توجه 1: در صورت انتخاب مسیر FTDI دستگاه خود را از فروشنده معتبر خریداری کنید زیرا بسیاری از دستگاه های تقلبی ارزان قیمت در بازار وجود داشته است که پس از به روزرسانی ویندوز از کار افتاده اند.

توصیه شده: