در این آموزش قصد داریم نحوه ساخت یک پروگرامر USBasp برای میکروکنترلرهای AVR را بررسی کنیم. این نسخه از پروگرامر به یک زیف سوکت ZIF مجهز شده است تا بتوان میکروکنترلرهای مختلف AVR را بدون نیاز به اتصال مستقیم سیمها یا قرار دادن میکرو روی بردبورد، بهراحتی داخل سوکت قرار داده و پروگرام کرد.
این پروگرامر در ابتدا در سایت سرزمین الکترونیک در چند طراحی مختلف معرفی شده بود، اما در این نسخه یکی از دوستان زحمت طراحی PCB جدید پروگرامر USBasp را کشیده و علاوه بر ایجاد تغییراتی در مدار و برد، یک ZIF Socket نیز به آن اضافه کرده است.
وجود زیف سوکت باعث میشود کار با پروگرامر بسیار راحتتر شود؛ کافی است میکروکنترلر AVR موردنظر را در محل مشخصشده روی سوکت قرار دهید و پس از انتخاب تنظیمات مناسب، عملیات پروگرام کردن میکرو را انجام دهید.
پروگرامر USBasp چیست؟
USBasp یک پروگرامر USB برای میکروکنترلرهای AVR است که از طریق پورت USB کامپیوتر به میکروکنترلر متصل میشود. این پروگرامر برای برنامهریزی بسیاری از میکروکنترلرهای AVR مورد استفاده قرار میگیرد و یکی از مدارهای محبوب برای ساخت پروگرامرهای ساده و کمهزینه AVR محسوب میشود.
با استفاده از USBasp میتوان فایل برنامه یا HEX را روی میکروکنترلر منتقل کرد و همچنین در صورت پشتیبانی میکروکنترلر، فیوزبیتها و برخی تنظیمات مربوط به حافظه و کلاک را نیز تنظیم کرد.
در این پروژه، مدار USBasp روی یک PCB اختصاصی ساخته شده و برای سهولت استفاده از میکروکنترلرهای DIP، یک زیف سوکت ZIF نیز روی برد قرار گرفته است.
ویژگیهای پروگرامر USBasp با زیف سوکت
- مناسب برای پروگرام کردن میکروکنترلرهای AVR سازگار
- اتصال به کامپیوتر از طریق USB
- استفاده از ZIF Socket برای قرار دادن آسان میکروکنترلر
- دارای PCB اختصاصی
- امکان استفاده از فایل HEX برای پروگرام کردن میکروکنترلر
- امکان تنظیم Fuse Bitهای میکروکنترلر
- قابل استفاده برای پروژههای آموزشی و الکترونیکی
لیست قطعات پروگرامر USBasp با ZIF Socket
برای ساخت این نسخه از پروگرامر USBasp به قطعات زیر نیاز دارید:
| شماره قطعه |
مقدار |
| R1, R4, R10 |
220Ω |
| R2, R3 |
68Ω |
| R5 |
2.2kΩ |
| R6, R7 |
1kΩ |
| R8 |
10kΩ |
| R9 |
270Ω |
| C1, C3 |
22pF |
| C2 |
100nF |
| C4 |
4.7µF |
| Y1, Y2 |
کریستال 12MHz |
| D1, D2 |
زنر 3.6V |
علاوه بر قطعات بالا، برای ساخت نسخه ارائهشده در این آموزش به زیف سوکت ZIF و سایر قطعات مکانیکی و اتصالات مورد استفاده در PCB نیز نیاز خواهید داشت.
شماتیک مدار USBasp
شماتیک کامل مدار در فایلهای پروژه قرار داده شده است. پیشنهاد میکنیم قبل از ساخت PCB، ابتدا شماتیک را با دقت بررسی کنید و مقدار قطعات و شماره پایههای میکروکنترلر را با فایل PCB مطابقت دهید.
در فایلهای همراه این پروژه، علاوه بر شماتیک، فایلهای لازم برای ساخت PCB و برنامهریزی میکروکنترلر پروگرامر نیز قرار داده شده است.
فیوز بیتهای پروگرامر USBasp
برای راهاندازی میکروکنترلر مورد استفاده در پروگرامر USBasp، تنظیم صحیح Fuse Bitها اهمیت زیادی دارد. تنظیمات فیوزبیت به میکروکنترلر و فرکانس کلاک مورد استفاده در مدار وابسته است و باید دقیقاً مطابق طراحی پروژه انجام شود.
تنظیمات مورد استفاده در این پروژه به صورت زیر ارائه شده است:
| Fuse |
مقدار |
| SPIEN |
0 |
| CKSEL3..0 |
1111 |
| SUT1..0 |
10 |
| CKOPT |
0 |
| BOOTSZ1..0 |
00 |
توجه: قبل از اعمال Fuse Bitها حتماً میکروکنترلر مورد استفاده و تنظیمات دقیق پروژه را بررسی کنید. تنظیم اشتباه فیوزبیتها، مخصوصاً تنظیمات مربوط به کلاک، میتواند باعث شود میکروکنترلر دیگر با تنظیمات فعلی پروگرامر شناسایی نشود.
نحوه قرار دادن میکروکنترلر روی ZIF Socket
یکی از مزیتهای اصلی این نسخه از پروگرامر، استفاده از ZIF Socket است. ZIF مخفف Zero Insertion Force است و به سوکتهایی گفته میشود که برای قرار دادن و خارج کردن آیسی، نیاز به فشار زیادی ندارند.
برای استفاده از زیف سوکت ابتدا اهرم سوکت را بالا ببرید، سپس میکروکنترلر را با توجه به جهت پایه شماره یک در محل مناسب قرار دهید. بعد از قرار دادن صحیح آیسی، اهرم سوکت را پایین بیاورید تا پایههای میکروکنترلر به پینهای سوکت متصل شوند.
جهت قرار دادن میکروکنترلر بسیار مهم است. قبل از بستن اهرم ZIF حتماً مطمئن شوید پایه شماره یک میکروکنترلر با علامت مشخصشده روی PCB و سوکت مطابقت دارد.
در فایلهای پروژه تصاویر مربوط به نحوه قرار دادن میکروکنترلرهای مختلف روی زیف سوکت نیز قرار داده شده است تا بتوانید نحوه صحیح قرارگیری آیسیها را مشاهده کنید.
فایلهای پروژه پروگرامر USBasp
تمام فایلهای موردنیاز این پروژه در فایلهای ضمیمه قرار داده شدهاند. با دانلود فایل پروژه، به مجموعهای از اطلاعات و فایلهای لازم برای ساخت و راهاندازی پروگرامر دسترسی خواهید داشت.
محتویات فایل پروژه شامل موارد زیر است:
- شماتیک کامل مدار USBasp
- فایل HEX برنامه پروگرامر
- فایل PCB پروگرامر
- فایل PCB با فرمت PDF برای چاپ
- فایل اصلی طراحی PCB
- تصاویر نمونه ساختهشده پروگرامر
- شماتیک اصلاحشده مدار
- اطلاعات مربوط به نصب درایور پروگرامر در ویندوز
- راهنمای رفع مشکلات مربوط به نصب درایور
- تصاویر مربوط به نحوه قرار دادن میکروکنترلرها روی ZIF Socket
نصب درایور USBasp در ویندوز 10 و ویندوز 11
بعد از ساخت پروگرامر USBasp، برای استفاده از آن در ویندوز ممکن است نیاز به نصب درایور مناسب داشته باشید. اگر ویندوز پروگرامر را به درستی شناسایی نکند، نرم افزارهای پروگرام کردن AVR نیز نمیتوانند ارتباط مناسبی با USBasp برقرار کنند.
برای نصب درایور USBasp در ویندوز میتوانید از نرم افزار Zadig استفاده کنید. این نرم افزار امکان نصب یا جایگزین کردن درایورهای USB را فراهم میکند.
در صورت بروز مشکل در نصب درایور، مخصوصاً در نسخههای جدید ویندوز، بهتر است ابتدا USBasp را به کامپیوتر متصل کرده و در Device Manager وضعیت شناسایی دستگاه را بررسی کنید.
آموزش نصب درایور USBasp با Zadig
- پروگرامر USBasp را با کابل USB به کامپیوتر متصل کنید.
- نرم افزار Zadig را اجرا کنید.
- از فهرست دستگاهها، USBasp را انتخاب کنید.
- درایور مناسب را انتخاب کنید.
- فرایند نصب یا جایگزینی Driver را انجام دهید.
- بعد از پایان نصب، اتصال USBasp را بررسی کنید.
اگر USBasp در فهرست Zadig نمایش داده نمیشود، ابتدا مطمئن شوید پروگرامر توسط ویندوز شناسایی شده و اتصال USB و کابل مورد استفاده سالم است.
نرم افزار Zadig برای نصب درایور USBasp
برای نصب درایور پروگرامر USBasp میتوانید از آموزش اختصاصی نصب درایور Zadig در سایت سرزمین الکترونیک استفاده کنید:
آموزش نصب درایور USBasp با نرم افزار Zadig در ویندوز
در این آموزش نحوه نصب درایور USBasp و نکات مربوط به شناسایی پروگرامر در ویندوز توضیح داده شده است.
مشکلات رایج USBasp
چرا USBasp توسط ویندوز شناسایی نمیشود؟
ابتدا کابل USB و اتصال پروگرامر را بررسی کنید. سپس Device Manager ویندوز را باز کرده و ببینید دستگاه USBasp چگونه نمایش داده میشود. در صورتی که درایور صحیح نصب نشده باشد، ممکن است دستگاه با علامت هشدار نمایش داده شود.
چرا USBasp در نرم افزار پروگرامر نمایش داده نمیشود؟
اگر درایور USBasp به درستی نصب نشده باشد یا اتصال USB مشکل داشته باشد، نرم افزار پروگرامر نمیتواند با دستگاه ارتباط برقرار کند. نصب صحیح درایور و بررسی اتصال USB اولین مواردی هستند که باید بررسی شوند.
چرا هنگام پروگرام کردن AVR خطا دریافت میکنم؟
این مشکل میتواند دلایل مختلفی داشته باشد؛ از جمله قرارگیری اشتباه میکروکنترلر روی ZIF Socket، انتخاب نادرست میکروکنترلر، مشکل در تغذیه، اتصال اشتباه پایههای پروگرامر یا تنظیم نادرست Fuse Bitها.
چرا بعد از تغییر Fuse Bit میکروکنترلر شناسایی نمیشود؟
یکی از دلایل رایج این مشکل، تغییر تنظیمات مربوط به کلاک میکروکنترلر است. قبل از تغییر Fuse Bitها حتماً تنظیمات فعلی و کلاک مورد استفاده مدار را بررسی کنید.
نکات مهم هنگام ساخت پروگرامر USBasp
- مقدار مقاومتها و خازنها را قبل از مونتاژ بررسی کنید.
- جهت قرارگیری دیودهای زنر را با شماتیک مطابقت دهید.
- فرکانس کریستال مورد استفاده در مدار را بررسی کنید.
- اتصالات USB را با دقت بررسی کنید.
- قبل از قرار دادن میکروکنترلر روی ZIF، جهت پایه شماره یک را بررسی کنید.
- Fuse Bitها را بدون بررسی تنظیمات مدار تغییر ندهید.
- قبل از پروگرام کردن، از سالم بودن تغذیه میکروکنترلر مطمئن شوید.
- در صورت استفاده از PCB، مسیرهای USB و تغذیه را با دقت بررسی کنید.
جمعبندی
در این پروژه یک پروگرامر USBasp مخصوص میکروکنترلرهای AVR با زیف سوکت ZIF معرفی شد. استفاده از ZIF Socket باعث میشود قرار دادن و خارج کردن میکروکنترلر بسیار سادهتر شود و بتوان از پروگرامر برای پروگرام کردن میکروکنترلرهای سازگار با طراحی مدار استفاده کرد.
فایلهای کامل پروژه شامل شماتیک، فایل HEX، فایل PCB، فایل PDF برد، فایل طراحی اصلی PCB، تصاویر نمونه ساختهشده و اطلاعات مربوط به نصب درایور در فایل ضمیمه قرار داده شده است.
برای استفاده از پروگرامر در ویندوز نیز میتوانید در صورت نیاز درایور USBasp را با استفاده از نرم افزار Zadig نصب کنید. اگر درایور یا شناسایی پروگرامر با مشکل مواجه شد، آموزش نصب درایور USBasp در سایت سرزمین الکترونیک نیز میتواند به رفع مشکل کمک کند.
اگر در زمینه ساخت پروگرامر USBasp، پروگرام کردن میکروکنترلرهای AVR، تنظیم Fuse Bit یا نصب درایور USBasp در ویندوز مشکلی دارید، میتوانید سوال خود را در بخش دیدگاههای همین صفحه مطرح کنید.