نصب درایور USBasp (درایور نرم افزار ProgISP) ممکن است روش های متعددی داشته باشد. یکی از ساده ترین روش های نصب درایور پروگرامر USBasp، استفاده از نرم افزار Zadig است. Zadig نرم افزاری است که برای نصب درایور بعضی دستگاه های USB در ویندوز به کار می رود. برای نصب درایور پروگرامر USBasp کافی است پروگرامر USBasp را به کامپیوتر متصل کنیم. سپس نرم افزار Zadig را اجرا و اقدام به نصب درایور آن کنیم. پروگرامر USBasp یک پروگرامر ساده و کوچک برای برنامه ریزی میکروکنترلرهای AVR است. این پروگرامر از یک میکروکنترلر ATmega8 یا ATmega88 و تعدادی قطعۀ دیگر ساخته شده است. با توجه به کوچک بودن این پروگرامر، می توان آن را روی بردهای توسعۀ AVR پیاده کرد. نرم افزارهایی که در آنها می توانیم با USBasp میکروکنترلرهای AVR را برنامه ریزی کنیم، ProgISP، اتمل استودیو، ویژوال استودیو و … هستند. پروگرامر USBasp به نرم افزارهای اتمل استودیو و ویژوال استودیو اضافه می شود. و می توانیم به راحتی میکروکنترلر AVR روی پروگرامر USBasp را برنامه ریزی کنیم. اما لازمۀ کار با USBasp، نصب درایور آن است که در این نوشته به آموزش نصب درایور USBasp می پردازیم. برای دانلود نرم افزار Zadig و دانلود نرم افزار ProgISP V1.72، فایل پیوست را دانلود نمایید. برای اضافه کردن USBasp به اتمل استودیو به نوشتۀ اتمل استودیو و برای کار با پروگرامر USBasp به نوشتۀ پروگرامر برد توسعه ATmega64Pin یوبرد مراجعه نمایید. برای کار با نرم افزار ProgISP نیز می توانید نوشتۀ نرم افزار ProgISP را مطالعه نمایید. در تصویر زیر پروگرامر USBasp را روی برد توسعۀ AVR یوبرد و همچنین به صورت جداگانه مشاهده می کنید. یکی از اهداف پیاده سازی پروگرامرها روی بردهای توسعه، کم کردن تعداد ابزارهای توسعۀ پروژه است. وجود نرم افزارهای پروگرامر در IDEها نیز می تواند با همین هدف باشد.
تصویر 1 – پروگرامر USBasp روی برد توسعۀ ATmega64Pin یوبرد و به صورت جداگانه
ویدئوی 1 – نصب درایور پروگرامر USBasp
پیش از نصب درایور USBasp
پیش از نصب درایور USBasp، باید نکاتی را در نظر بگیریم و اقداماتی را انجام دهیم. اول این که اگر درایور USBasp نصب نباشد و پروگرامر را به کامپیوتر متصل کنیم:
- در پنجرۀ Device manager، کنار USBaspدر بخش Other devicesعلامت اخطار نمایش داده می شود (شمارۀ 1 در تصویر). البته در برخی سیستم ها، در بخش Universal serial bus controller به صورت Unknow device نمایش داده می شود. که در هر دو صورت به معنی شناخته نشدن پروگرامر توسط ویندوز است.
- در نرم افزار ProgISP آیکون PRG ISP در بخش Program state خاموش است (شمارۀ 2 در تصویر زیر).
دوم این که قبل از نصب درایور، باید یک بار آن را حذف کنیم. چه به صورت Unknow device باشد، چه از قبل نصب باشد، به هر حال بهتر است حذف شود. برای حذف درایور باید ابتدا پروگرامر USBasp را به کامپیوتر متصل کنیم. سپس روی درایور آن کلیک راست می کنیم (3) و در کادر باز شده روی Uninstall device کلیک می کنیم (4). پنجره ای باز می شود که ممکن است شامل چک باکس Delete the driver software for this device باشد. اگر این چک باکس وجود داشت، آن را تیک می زنیم (5) و روی دکمۀ Uninstall کلیک می کنیم (6). در این صورت درایور USBasp حذف می شود.
تصویر 2 – حذف درایور USBasp و نحوۀ نمایش درایور در صورت نصب نبودن آن
نصب درایور USBasp
برای نصب درایور USBasp از نرم افزار Zadig استفاده می کنیم. ممکن است فایل های درایور USBasp در اینترنت موجود باشد. اما با نرم افزار Zadig نیاز به دانلود درایور پروگرامر USBasp نیست. پس از حذف درایور، پروگرامر USBasp را از کامپیوتر جدا و دوباره آن را به کامپیوتر متصل می کنیم. نرم افزار Zadig را اجرا و از منوی Options تیک List all devices را فعال می کنیم (1). از منوی کشویی نرم افزار، USBasp را انتخاب می کنیم (2). در جلوی Driver روی دکمه های بالا یا پایین کلیک می کنیم تا libusb-win32 ظاهر شود (3). سپس روی دکمۀ Install driver کلیک می کنیم و صبر می کنیم تا درایور نصب شود (4 و 5). سپس از لحظاتی پیغام موفقیت آمیز بودن نصب درایو در پنجره ای ظاهر می شود. در نهایت روی دکمۀ Close کلیک می کنیم (6) و نرم افزار Zadig را می بندیم. ممکن است حین مراحل نصب، پنجره ای حاوی اخطار نصب نرم افزار از منابع نامعتبر باز شود. در این پنجره نصب را تأیید و یا روی Install کلیک می کنیم.
نکته: یکی دیگر از روش های نصب درایور USBasp، غیر فعال کردن امضای دیجیتال درایور در ویندوز است. که با این روش ابتدا تأیید امضای دیجیتال درایور ویندوز را غیر فعال می کنیم، سپس پروگرامر را به کامپیوتر وصل می کنیم. بعد از آن با کلیک راست روی درایور در پنجرۀ Device manager، آن را آپدیت و فایل درایور را نصب می کنیم. اما این روش کمی پیچیده است. بنابراین استفاده از نرم افزار Zadig انتخاب بهتری است.
تصویر 3 – نصب درایور USBasp با Zadig
پس از نصب درایور USBasp
حال اگر پروگرامر را از کامپیوتر جدا کنیم و دوباره آن را به کامپیوتر متصل کنیم:
- درایور نصب شده، در پنجرۀ Device manager، در بخش libusb-win32 devices نمایش داده می شود. که این موضوع بیانگر نصب شدن صحیح درایور است.
- اگر نرم افزار ProgISP را باز کنیم، آیکون PRG ISP روشن می شود. روشن شدن این آیکون دو معنی دارد. متصل شدن صحیح پروگرامر به کامپیوتر و نصب بودن درایور USBasp.
حال می توانیم با نرم افزارهایی که از پروگرامر USBasp پشتیبانی می کنند، میکروکنترلرهای AVR را برنامه ریزی کنیم. یکی از ایرادات پروگرام کردن با USBasp این است که در تنظیم فیوزبیت های AVR، به طور معمول نمی توانیم منبع کلاک میکروکنترلر را منبع خارجی تنظیم کنیم. برای دفعۀ اول این کار امکان پذیر است. اما دفعۀ بعد دیگر پروگرامر نمی تواند با میکروکنترلر ارتباط برقرار کند. روش رفع این مشکل در نوشتۀ «پروگرامر برد توسعه ATmega64Pin یوبرد» در بخش «تنظیم منبع کلاک خارجی با پروگرامر USBasp» تشریح شده است. به این صورت که باید یک کلاک خارجی به پایۀ XTAL1 میکروکنترلر تحت برنامه ریزی متصل کرد. بدین شکل هم میکروکنترلری که قبلاً منبع کلاک آن را از منابع تعیین کرده ایم، شناسایی می شود. و هم می توان منابع کلاک مختلف (از جمله منابع کلاک خارجی) را انتخاب کرد. برای این کار باید حین تنظیم فیوزبیت ها و برنامه ریزی، کلاک زیر 1 مگاهرتز به پایۀ XTAL1 وارد شود. همچنین می توان از نرم افزار ProgISP برای خواندن فیوزبیت ها و تغییر آنها استفاده کرد.
پروگرامر USBasp را می توان به عنوان یک ابزار به منوی Tools نرم افزارهای اتمل استودیو ویژوال استودیو اضافه کرد. روش اضافه کردن آن به اتمل استودیو در نوشتۀ «آموزش Atmel Studio، مهاجرت از کدویژن به اتمل استودیو» بیان شده است.
برنامه نویسی میکروکنترلرها با ویژوال استودیو
تصویر 4 – تغییرات در پنجرۀ Device manager و نرم افزار ProgISP پس از نصب درایور USBasp
نتایج نصب درایور USBasp، پروگرامر میکروکنترلرهای AVR
- پروگرامر USBaspیک پروگرامر ساده برای میکروکنترلرهای AVR است. این پروگرامر با میکروکنترلر ATmega8یا ATmega88 به همراه تعدادی قطعۀ دیگر ساخته شده است.
- برای نصب درایور پروگرامر USBasp، کافی است پروگرامر USBasp با کابل USB به کامپیوتر متصل نمود. سپس نرم افزار Zadig اجرا و اقدام به نصب درایور کرد.
- نرم افزار Zadig برای نصب درایور برخی دستگاه های USB به کار می رود.
- برای پروگرام کردن میکروکنترلرهای AVR با پروگرامر USBasp، از نرم افزار اتمل استودیو، ویژوال استودیو و … نیز می توان استفاده کرد.
- وقتی درایور USBasp نصب نیست، اگر پروگرامر USBasp به کامپیوتر متصل شود، در نرم افزار ProgISP، آیکون PRG ISPخاموش است.
- بهتر است پیش از نصب درایور جدید USBasp، درایور قبلی را حذف کرد.
- برای نصب درایور پروگرامر USBasp با استفاده از نرم افزار Zadig، باید پروگرامر USBasp را به کامپیوتر متصل کرد. و پس از تیک زدن List all devices منوی Options، در منوی کشویی این نرم افزار، USBasp را انتخاب نمود. در قسمت درایور نیز باید libusb-win32 را انتخاب و در پایان روی Install driver کلیک کرد.
- پس از نصب درایور پروگرامر USBasp، اگر پروگرامر به کامپیوتر متصل شود، در نرم افزار ProgISP آیکون PRG ISP روشن می شود. همچنین در پنجرۀ Device manager، این درایور ظاهر می شود.
سلام. جایی درمورد کار با این نرم افزار usbasp مطلب قرار دادید؟ که مثلا میکروی avr رو باهاش برنامه ریزی کنید؟
سلام. بله. ویدئوی نوشتۀ 4 روش پروگرام کردن برد ATmega64pin رو ببینید. با استفاده از پروگرامر USBasp روی برد توسعۀ AVR پروگرام کردن میکروکنترلر AVR انجام میشه. که این کار برای پروگرام کردن با پروگرامرهای USBasp دیگه هم به همین شکله. نحوه کار با نرم افزار ProgISP هم تو نوشتۀ «آموزش نرم افزار ProgISP، پروگرام کردن AVR با پروگرامر USBasp» بررسی شده.
سلام
ممنون بابت سایت خوبتون
من یه سوال داشتم ، میخواستم بدونم پایه PIN در میکرو های 64 پایه چه کاربردی داره و چه حالتی باید براش در نظر بگیرم؟؟؟ ممنون میشم راهنماییم کنید
اگر منظورتون پایۀ PEN هستش مخفف Programming Enable Pin هستش که برای برنامه ریزی میکروکنترلر از طریق پروتکل SPI استفاده میشه. این پین بصورت داخلی Pull Up هست. اگر این پین رو صفر نگهداریم و بعد میکروکنترلر رو روشن کنیم، وارد حالت برنامه ریزی از طریق SPI میشه.
سلام بسیار ممنون بابت آموزش خوبتون من مشکلم حل شد باز ممنون
سلام دوست عزیز. خواهش میکنم. نظر لطف شماست. موفق و سربلند باشید.
ممنون از آموزش خوبتون
همیشه سر نصب این مشکل داشتم بالاخره حل شد
خواهش میکنم. خوشحالیم که تونستید با مطالعۀ مطالب یوبرد مشکلتون رو برطرف کنید. موفق باشید
سلام استاد
از راهنمایی کاملتون بسیار سپاسگذارم
سلام. خواهش میکنم. موفق باشید
سلام خسته نباشید از راهنماییهای خوبتون ممنونم من نصب را انجام دادم در usbasp وقتی برنامه را میخواهم کامپایل کنم خطای Chip Enable program error میدهد امکان دارد راهنماییم بفرمایید ممنونم
سلام. خیلی ممنون. زنده باشید. یا اتصالات فیزیکی خوب برقرار نشده. یا جامپر speed رو اشتباه زدید، یا این که به قول معروف، میکروکنترلر قفل شده. به دلیل این که فیوزبیت های مربوط به منبع کلاک روی منبع کلاک خارجی تنظیم کردید.
نوشتۀ «پروگرام کردن میکروکنترلرهای AVR برنامه ریزی ATmega 64 pin یوبرد» رو که لینکش رو توی متن گذاشتیم، مطالعه کنید.
سلام،، نرم افزار را دانلود کردم،، باز نمیشه، بعضی مواقع صفحه اول میاد وخطا می زنه، اگه راهنمایی بفرمایید ممنون میشم
سلام. اگه منظورتون خود ProgISP هستش، این نسخه تست شده هستش. شما یه بار به صورت Run as administrator اجرا کنید. شاید مشکل برطرف شد. در ضمن بد نیست پوشۀ نرم افزار رو توی درایو C بذارید و از اونجا اجراش کنید. البته اگه از اتمل استودیو استفاده می کنید، میتونید پروگرمر USABasp رو بهش اضافه کنید. که توی نوشتۀ «مهاجرت از کدویژن به اتمل استودیو» درباره ش توضیح دادیم. و میتونه نیازتون رو برطرف کنه.
اما اگه منظورتون نرم افزار Zadig باشه، من تست میکنم. مشکلی داشت، نسخۀ جدید پیدا کردم جایگزین می کنم. موفق باشید.
سلام
خیلی مفید بود
ممنون
سلام. لطف دارید خواهش میکنم.
سلام مهندس جان من الان این برد usbasp رد یا zadig نصب کردم یه برنامه ی آردینیو هم نصب کردم چجوری میشه روش برنامه اتتقال بدم و بعد اینکه چون مبتدی هستم میخاستم راهنمایی کنین که بعد از انتقال برنامه رو حافظه چجوری باید مدارشو ببندم میشه رهنمایی کنین ممنون
سلام. روی چی برنامه انتقال بدید؟
روی میکروکنترلر پروگرمر؟ یا به میکروکنترلری که روی پروگرمر گذاشتید؟
توضیح بدید میخواید چی کار کنید، در خدمت هستم
سلام
من وقتی سعی میکنم نصب کنم به صورت Unknown Device میشناسه و وقتی نصب درایور را میزنم بهم میگه : the driver installation failed
باید چیکار کنم؟
سلام. یک بار درایور رو حذف کنید و پروگرمر از کامپیوتر جدا نکنید. بعد zadig رو با Administrator اجرا کنید. ممکنه تأثیر داشته باشه. به تنظیمات zadig هم توجه داشته باشید.
سلام داخل نرم افزار در قسمت navigation برای من نوشته های نامعلومی را نشان میدهد که قابل خواندن نیستن . ورژن نرم افزار هم 1.72 هست چیکار کنم درست بشه؟
سلام. از ProgISP که توی پیوست قرار دادیم استفاده کنید. به احتمال زیاد مشکل برطرف میشه