فهرست مطالب:
تصویری: برنامه نویس VUSBTiny AVR SPI: 3 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:55
بعد از ساخت برنامه نویس usbtiny isp و استفاده از آن به مدت 6 ماه ، به دنبال ساختن برنامه دیگری برای حمل و نقل بودم. من ساده بودن طراحی usbtiny isp را دوست دارم اما می خواهم آن را حتی کوچکتر کرده و قطعات کمتری بگیرم. یک چیز در طراحی اصلی که می خواهم تغییر دهم این است که استفاده از کریستال ساعت را حذف کنم. یک راه حلی که پیدا کردم این است که درایورهای v-usb از نوسان ساز داخلی 16.5 مگاهرتز در دستگاه های attiny25/45/85 پشتیبانی می کند. بنابراین من این پروژه را شروع می کنم تا usbtiny isp از v-usb برای ارتباطات usb استفاده کند. مزایای فوری این است که باعث صرفه جویی در فضا و تعداد اجزای کمتری (بدون کریستال بیشتر) می شود. پروتکل برای میکروکنترلرهای Atmel ATtiny البته روی سری ATmega نیز کار خواهد کرد. این نرم افزار برای یک AVR با فرکانس 12 مگاهرتز نوشته شده است. در این فرکانس ، هر بیت روی گذرگاه USB 8 چرخه ساعت می گیرد و با ترفندهای زیاد ، می توان شکل موج USB را توسط نرم افزار رمزگشایی و رمزگذاری کرد. بسته به پیکربندی و نسخه کامپایلر ، درایور USB تقریباً 1250 تا 1350 بایت فضای فلش (بدون در نظر گرفتن رشته های اختیاری شناسایی) و 46 بایت RAM (بدون احتساب فضای پشته) نیاز دارد. رابط C شامل 3 تا 5 عملکرد است که بستگی به پیکربندی دارد. توصیف vusb از https://www.obdev.at/products/vusb/ میکروکنترلرهای AVR ، ساخت سخت افزار USB با تقریباً هر میکروکنترلر AVR را ممکن می سازد ، بدون نیاز به تراشه اضافی. ویدئو در مورد ساخت و استفاده
مرحله 1: ویژگی ها و قطعات
* منطق برنامه نویسی از usbtiny isp ، پشتیبانی از avr-dude بالغ * چاپ کوچک روی پا * حداقل اجزاء * قدرت دستگاه هدف توجه داشته باشید که خطوط io به mcus مورد نظر محافظت نمی شوند. می توانید مقاومتهای 1k-2k را به SCK و MOSI اضافه کنید و در برابر اتصالات اشتباه احتمالی مراجع بر اساس آثار موجود در v-usb از چارچوب https://www.obdev.at/vusb/ usbtiny isp https://www.xs4all محافظت کنید. nl/~ dicks/avr/usbtiny/لیست قطعات * attiny45/85 (85 آسان تر به دست می آید) * دیودهای زنر 3.6 ولت (1n747 ، BZX79 ،..از انواع 1W اجتناب کنید) * مقاومت 68 اهم x 2 * مقاومت 1.5K * mini breadboard 170 tiepoints * کابل usb (دلار کابل چاپگر usb خوب است) * مقاومتهای 1k/2k برای حفاظت از خطوط io (اختیاری) ابزار مورد نیاز * یک برنامه نویس avr کار می کند (بله ، این یک برنامه22 است ، برای ساختن آن به یکی نیاز داریم) * محیط برنامه نویسی avr
مرحله 2: طرح بندی تخته نرد ، شماتیک و ساخت
ساخت و ساز
* از طرح بردبورد پیروی کنید ، اجزای آن ، 3 مقاومت ، 2 دیود ، 1 کلاه ، به علاوه یک mcu 8 پین وجود ندارد. * کابل چاپگر usb shop dollar را قطع کنید و انتهای چاپگر را قطع کنید ، 4 سیم در معرض دید قرار می گیرد ، آنها را محکم کرده و آنها را به عنوان هدر 4 پین تبدیل کنید ، ما از آن برای اتصال به تخته نان استفاده خواهیم کرد. برای طرح بندی و تعیین پین (J1) از طرحواره استفاده کنید. * مراقب قطبیت دیود باشید
ساخت و چشمک زدن پروژه
این پروژه در یک جعبه لینوکس ubuntu lucid با زنجیره ابزار avr-gcc ساخته شده است. فرض بر این است که شما قبلاً چنین محیطی دارید ، یا می توانید از طریق اینترنت نحوه راه اندازی محیط را بیاموزید. کد منبع gnu gpl v2 دارای مجوز وراثت است.
کد منبع از یک کنوانسیون توصیه شده توسط v-usb پیروی می کند ، شما می توانید بسته منبع vusbtiny.tgz را دانلود کرده و در پوشه پروژه قرار ندهید. در فهرست راهنمای شما ، main.c وجود دارد که نسخه من از برنامه نویس usbtiny اصلاح شده است. و یک زیر شاخه usbdrv ، که شامل لایه v-usb است. لطفاً هنگام ساخت این پروژه ، مدت مجوز دو پروژه فوق را رعایت کنید. منبع من در منطق برنامه نویس بر اساس نسخه دیک استریفلند است و نه نسخه ladyada (اگرچه تقریباً یکسان هستند).
برای کسانی که ساختار بیش از حد زنجیره ای ندارند ، می توانید از باینری زیر استفاده کنید
برای بارگیری vusbtiny.hex کلیک کنید
و از avrdude برای فلش سیستم عامل استفاده کنید
avrdude -c usbtiny -p t45 -e -V -U flash: w: usbtiny.hex
(اگر دستگاه شما tiny85 است ، -p t45 w/ -p t85 را جایگزین کنید)
منبع را می توان در اینجا بارگیری کرد تا vusbtiny.tgz را بارگیری کنید
بسته منبع را در فهرست کار خود حذف کنید
tar -zxvf vusbtiny.tgz
* cd vsubtiny را انجام دهید ، تا به دایرکتوری کاری vusbtiny تبدیل شوید * مطابق تراشه ای که استفاده می کنید ، برای دستگاه مورد نظر makefile کنید. یعنی PROGRAMMER_MCU = t45 یا t85 * برنامه * ISP مورد علاقه خود را ضمیمه کنید * makefile را تغییر دهید و در صورت نیاز پارامترهای avrdude خود را تغییر دهید. سهام یکی برنامه نویس USBTiny را فرض می کند. یعنی AVRDUDE_PROGRAMMERID = usbtiny * سیستم عامل فلش از طریق make install
پس از چشمک زدن سیستم عامل ، باید فیوز را به درستی تنظیم کنیم ، در این پروژه از تنظیم مجدد پین 1 به عنوان io استفاده می کنیم
* ساعت ppl مورد نیاز لایه v-usb برای زمان یواس بی * تنظیم مجدد پین غیرفعال است زیرا باید از آن به عنوان io استفاده کنیم
avrdude -c usbtiny -p t45 -V -U lfuse: w: 0xe1: m -U hfuse: w: 0x5d: m -U efuse: w: 0xff: m
این تنظیم برنامه نویسی بیشتر را از طریق 5V SPI غیرفعال می کند زیرا به پین RESET (pin1) برای io نیاز داریم. برای بازیابی فیوز به برنامه نویس HVSP نیاز دارید.
مرحله 3: استفاده و کاربرد
چشمک زدن مستقیم روی تخته نان
اگر از vusbtiny برای فلش کردن دستگاه های AVR 8 پین استفاده می کنید ، فقط می توانید دستگاه مورد نظر خود را در بالای دستگاه برنامه نویس فشار دهید. برنامه نویس طوری طراحی شده بود که پایه های برنامه نویسی با اهداف مطابقت داشته باشد. اما یک ترفند وجود دارد ، شما باید پین 2 و 3 را روی mcu برنامه نویس جدا کنید ، زیرا آنها پین های USB D+ و D- هستند که به کامپیوتر متصل می شوند. من از یک نوار اسکاچ برای رسیدن به این هدف استفاده می کنم ، می توانید آن را روی عکس ها ببینید. در زیر یک tiny13v "سوار" بر روی tiny45 آماده دریافت سیستم عامل است.
ISP از طریق بلوز چشمک می زند
برای برنامه ریزی مدار هدف از طریق ISP (برنامه نویسی درون سیستم) ، به کابل ISP نیاز دارید. در اینجا من از هدرهای استاندارد 2x3 یا 2x5 پین استفاده نمی کنم. در عوض من از یک بلوز 1x6 استفاده می کنم که بیشتر برای تخته نورد مناسب است ، شما می توانید هدر 2x3 یا 2x5 پین را با نگاشت آنها بر روی J2 همانطور که در طرح و نگاره های تخته نان نشان داده شده است ، ایجاد کنید. عکس زیر یک tiny2313 آماده برای نمایش از طریق ISP را نشان می دهد.
عیب یابی
* نمی توان سیستم عامل را فلش کرد؟ برنامه نویس اصلی خود را بررسی کنید ، ممکن است لازم باشد زمان را از طریق پرچم -B در avrdude تنظیم کنید. سعی کنید تراشه 1 را بخوانید ، ممکن است فیوز بدی باشد ، ممکن است تراشه شما به سیگنال ساعت خارجی نیاز داشته باشد. ممکن است لازم باشد تراشه خود را به حالت اول بازگردانید. * بررسی اتصالات * در صورت استفاده از پین های مختلف io ، کد و اتصالات را بررسی کنید * می توانید دیودهای zener w/ 500mw ، انواع 400mw را جایگزین کنید * ممکن است سعی کنید مقدار R3 را به 1.2K یا کمتر کاهش دهید * به احتمال زیاد با مشکلات زمان بندی avrdude مواجه می شوید ، سعی کنید -B پرچم avrdude ، یک کابل USB کوتاهتر داشته باشید همه کمک می کند
توصیه شده:
آردوینو به عنوان ISP -- رایت فایل هگز در AVR -- فیوز در AVR -- آردوینو به عنوان برنامه نویس: 10 مرحله
آردوینو به عنوان ISP || رایت فایل هگز در AVR || فیوز در AVR || Arduino به عنوان برنامه نویس: ……………………… لطفاً برای ویدیوهای بیشتر به کانال YouTube من مشترک شوید …….. این مقاله همه چیز درباره آردوینو به عنوان isp است. اگر می خواهید فایل hex را بارگذاری کنید یا اگر می خواهید فیوز خود را در AVR تنظیم کنید ، نیازی به خرید برنامه نویس ندارید ، می توانید
AVR برنامه نویس W/ولتاژ بالا: 17 مرحله
AVR Programmer W/High Voltage: این اولین دستورالعمل من است. برد طراحی شده من AVR Programmer است. این برد عملکرد 4 تخته نمونه اولیه جداگانه را که در چند سال گذشته ساخته ام ، ترکیب می کند: - یک برنامه نویس AVR با ولتاژ بالا ، که در دستگاه های ATtiny برای تنظیم
برنامه نویسی میکروکنترلرها با برنامه نویس USBasp در Atmel Studio: 7 مرحله
برنامه نویسی میکروکنترلرها با یک برنامه نویس USBasp در Atmel Studio: سلام من آموزش های زیادی را در مورد نحوه استفاده از برنامه نویس USBasp با Arduino IDE خواندم و آموختم ، اما برای تکالیف دانشگاه نیاز به استفاده از Atmel Studio داشتم و هیچ آموزشی پیدا نکردم. پس از تحقیق و مطالعه از طریق بسیاری از
نحوه برنامه ریزی PIC MCU با برنامه نویس PICkit با استفاده از Breadboard: 3 مرحله
نحوه برنامه ریزی PIC MCU با برنامه نویس PICkit با استفاده از Breadboard: برای بازی با میکروکنترلرهای PIC (یا هر دستگاه دیگر) نیازی به ابزارهای گران قیمت و پیچیده ندارید. تنها چیزی که نیاز دارید یک تخته نان است که در آن مدار و برنامه نویسی خود را آزمایش کنید. البته نوعی برنامه نویس و IDE ضروری است. در این دستورالعمل
Pic 16F676 ICSP سوکت برنامه نویسی برای برنامه نویس PICkit 2: 6 مرحله
عکس 16F676 ICSP سوکت برنامه نویسی برای برنامه نویس PICkit 2: من سعی می کنم این ماژول موتور DC دوگانه را برای پروژه ربات خود بسازم و فضا برای قرار دادن هدر پین ICSP روی PCB نداشتم. بنابراین من به سرعت این طرح را مسخره کردم