پروژه های AVR

شما به قسمت پروژه AVR سایت آیرنکس وارد شده اید. شما در این صفحه تمامی پروژه های AVR را میتوانید مشاهده کنید. میکروکنترلر های AVR از شرکت Atmel مشهور ترین و پرکاربرد ترین میکروکنترلر ها هستند. به دلیل دقت و قابل اطمینان بودن آن ها ، بیشتر توسط مهندسین در صنعت استفاده میشوند. ما در وبسایت آیرنکس سعی میکنیم آموزش ها و پروژه ها با این میکروکنترلر ها را در اختیار شما عزیزان قرار دهیم. اکثر این پروژه ها با نرم افزار Atmel Studio طراحی کرده ایم کردیم.

به قسمت آموزش AVR هم سر بزنید :)

پروژه AVR از کجا آغاز می شود، AVR چیست و چه کارایی دارند؟

یک AVR یک نوع میکروکنترلر است، البته نه هر نوع میکروکنترلری – AVR ها عملکرد و کارایی به مراتب سریع تری نسبت به بقیه دارند. بیاییم به یک میکروکنترلر به عنوان توده ای از سیلیکون بی فایده اما با پتانسیل فوق العاده نگاه کنیم. به خودی خود کاری انجام نمی دهد، اما با برنامه ای که می نویسید کارایی مورد نظر را به دست می آورد. تحت هدایت و رهنمود شما، یک مدار متعارف نسبتاً بزرگ را می توان به یک برنامه و متعاقباً به یک تراشه متراکم کرد. میکروکنترلرها شکاف بین سخت افزار و نرم افزار را پر می کنند – درست مانند رایانه شما، برنامه ها را اجرا می کنند، با این حال دستگاه های کوچک و گسسته ای هستند که قادرند با قطعاتِ داخل یک مدار تعامل داشته باشند. طی این سال ها آنها تبدیل به مولفه ای ضروری برای جعبه ابزارِ مهندسان برق و الکترونیک و علاقه مندان این حوزه شده است، چراکه هم برای آزمایشگری ایده آل اند، هم به درد تولید گروه ای (دسته ای) کوچک می خورند و هم می توانند در پروژه هایی که در آنها انعطاف پذیری عملیات ضروری است، مورد استفاده قرار گیرند.

مراحل توسعه یک برنامه AVR جهت استفاده در پروژه AVR

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

مراحل طراحی پروژه AVR

  1. AVR خالی هیچ کاری انجام نمی دهد.
  2. روی یک رایانه یک برنامه بنویسید.
  3. یک AVR مجازی را روی یک رایانه برنامه نویسی کنید.
  4. AVR را روی یک مدار واقعی آزمایش کنید.
  5. یک AVR واقعی را برنامه نویسی کنید.
  6. برنامه را روی یک رایانه آزمایش کنید.

خانواده AVR طیف گسترده ای از دستگاه های مختلف را پوشش می دهد، از دستگاه های مدل 8 پینی (سوزنی) Tiny تا تراشه های 40 پینی Mega. یکی از چیزهای جالب در مورد این خانواده این است که شما می توانید در ذهن خود با یک نوع از AVR یک برنامه را بنویسید و سپس نظر خود را عوض کنید و برنامه مربوطه را روی یک تراشه متفاوت تنها با تغییرات حداقلی قرار دهید. علاوه بر این، وقتی شما یاد می گیرید که چگونه از یک AVR استفاده کنید، به معنای واقعی کلمه یاد می گیرید که چگونه از همه آنها استفاده کنید. اکثر پروژه های AVR را می توان به راحتی با هر نوع AVR تطبیق داد، بنابراین لازم نیست تشریف ببرید بازار و همه مدل ها را خریداری کنید. هر یک از آنها ویژگی های خود را دارند – مشخصات مختص خود را دارند – اما قلب همه آنها یکی است.

برنامه نویسی یک پروژه AVR

اساساً، برنامه نویسی یک پروژه AVR با دستور دادن به اعداد – فشار آوردن به آنها – سروکار دارد. از این رو، حربه مورد استفاده در برنامه نویسی در وادار کردن تراشه به انجام وظیفه محوله از طریق حرکت ساده و پردازش اعداد نهفته است. یک مجموعه خاص از وظایف وجود دارد که شما مجاز به تفویض آنها به اعداد هستید – به اینها دستورالعمل گفته می شود. برنامه مربوطه از دستورالعمل های ساده و کلی و نیز از دستورالعمل های پیچیده تر که کارهای ویژه ای را انجام می دهند، استفاده می کند. تراشه قدم به قدم دستورالعمل ها را اجرا می کند، بسته به فرکانس نوسانگری که به آن متصل است، در هر ثانیه از سد میلیون ها دستورالعمل می گذرد و به این طریق کار خود را به سرانجام می رساند. اعداد در AVR می تواند شامل موارد زیر باشد:

  1. دریافت شده از ورودی (به عنوان مثال، با استفاده از یک پورت ورودی)
  2. ذخیره سازی شده در محفظه های مخصوصِ داخلِ تراشه
  3. پردازش شده (به عنوان مثال، جمع، تفریق، تقسیم، ضرب و غیره)
  4. ارسال شده از طریق خروجی ها (به عنوان مثال، با استفاده از یک پورت خروجی).

پس تماماً در مورد برنامه نویسی است (چه عالی که می توانید روی آن تأمل کنید). خوشبختانه AVR کارکردهای مفید دیگری هم دارند که عبارتند از زمان سنج های (تایمرهای) آن-بُرد، رابط های سریالی، قیاسگرهای (دستگاه های اندازه گیری و سنجش) آنالوگ و یک میزبان از پرچم ها (فلگ ها) که نشان می دهند آیا چیز خاصی اتفاق افتاده است یا نه، اینکه آیا زندگی برای من و شما راحت می شود یا نه.

به چه چیزهای برای برنامه نویسی روی یک میکروکنترلر AVR نیاز دارید:

  • میکروکنترلر یا یک بُرد توسعه: کاملاً واضح است، اما مواردی وجود دارد که در مورد IC یا بُرد توسعه باید در نظر بگیرید. اگر برنامه نویسی را با این میکروکنترلرها شروع می کنید، پیشنهاد می کنم که با یک بُرد devel کار را آغاز کنید، زیرا مشکلات مربوط به مدار و تنظیم برق مورد نیاز برای هر میکروکنترلر را حل می کند. حتی مشکل مربوط به برنامه نویسی میکروکنترلر را با پشتیبانی از هر برند را رفع کرده است.
  • سخت افزار برنامه نویس: مولفه مورد نیاز دیگر، برنامه نویس یا اشکال زدا نام دارد. در این صورت، دو نوع رابط برنامه نویس وجود دارد؛ ICSP (اشکال زدای درون مداری) و ISP. بعد باید داده برگ ها میکروکنترلرها بخوانید و تصمیم بگیرید که کدام یک را خریداری کنید.

اگر یک بُرد Arduino dev را خریداری کنید دیگر نیازی به سخت افزار اضافی ندارید، زیرا Arduino یک بوت لودر دارد که به شما کمک می کند ( کد هگزا را بارگیری کنید) میکروکنتلر را بدون برنامه نویس سخت افزاری اضافی برنامه نویسی کنید.

در زیر تصویر یک پروگرامر و دیباگر ISP را مشاهده میکنید.

آموزش برنامه نویسی پروژه های AVR

  • IDE برای نوشتن و ساختن کد منبع (C یا مونتاژ(Assembly)): برای میکروکنترلرهای AVR ساخت شرکت Atmel شما به یک IDE و زنجیره ابزار برای ساختن برنامه های خود نیاز دارید و باید AVR Studio دانلود کنید که در سایت سازنده قابل دسترس است.

ابزار دیگری که باید دانلود کنید، Win AVR است که نسخه ای از GNU GCC، یک ابزار تعدیل شده برای میکروکنترلرهای ATMEL، است. به خوبی کار می کند و به راحتی قابل استفاده است. (اگر برنامه نویسی به زبان C را بلد باشید.)

  • مورد آخر، راهنمای کاربر و داده برگ ها برای میکروکنترلر واقعی است که دارید برای برنامه نویسی اش می کنید. می توانید دفترچه راهنما و برگ داده را با تایپ عبارتی مانند datasheet ATMEGA32 در موتورهای جستجو پیدا کنید.

بهسازی های AVR برای کاربران PIC

اکثر افرادی که دارند که این مطلب را مطالعه می کنند به احتمال زیاد با میکروکنترلرهای شناخته شده PIC آشنا هستند. از این رو، به طور خلاصه در مورد نحوه بهسازی های AVR ها نسبت به PIC ها صحبت می کنم.

اساساً، AVR ها مبتنی بر یک معماری پیشرفته تر هستند و می توانند یک دستورالعمل را در هر چرخه ساعت اجرا کنند (برخلاف PIC ها که تنها قادرند یک دستورالعمل را در چهار چرخه ساعت اجرا کنند). بنابراین با داشتن بسامد نوسانگر یکسان، AVR ها چهار برابر سریع تر اجرا می کنند. علاوه بر این، آنها 32 رجیستر کاری را (در مقایسه با یک رجیستر کاری که PIC ها عرضه می کنند) ارائه می دهند و حدود سه برابر سریع تر دستورالعمل ها را اجرا می کنند. در نتیجه، برنامه ها همواره کوتاه تر خواهد بود. با این حال، لازم به ذکر است که گرچه داده برگ ها پز 90 تا 120 دستورالعمل را می دهند، اما موارد تکراری و زائد هم وجود دارد. تصور من این است که چیزی حدود 50 دستورالعمل وجود دارد.

علاوه بر این، آنچه به عنوان رجیسترهای کارکردی خاص در PIC ها شناخته می شود( و به عنوان رجیسترهای ورودی / خروجی در AVR) می توانند به طور مستقیم با PIC ها پردازش شوند (به عنوان مثال، شما می توانید مستقیماً برای پورت ها بنویسید) و همین کار را می تواند تا حدی با AVR ها انجام داد. با این حال، همه اینها چیزی جز بازی با کلمات نیست و برنامه های AVR به طور کلی کارامدتر هستند. تمام AVR ها حافظه فلش دارند (که می توانید بارها بارها عمل بازنویسی را انجام دهید. در آخر، با توسعه انواع مختلف PIC ها، مشکلاتی در زمینه سازگاری بین مدل های مختلف پیش آمده است که AVR ها موفق شده اند آنها را مهار کنند.

وبسایت کاملا فعال است و همیشه در حال قرار دادن جدید ترین پروژه های AVR برای کاربران هستیم. وبسایت آیرنکس موظف به پاسخگویی به سوالات شما است. میتوانید سوالات خود را در زمینه طراحی مدار ، سورس کد پروژه و … از طریق نظرات هر پروژه یا انجمن بپرسید. و یا به صورت خصوصی با تماس با ادمین در میان بگذارید. ادمین در اسرع وقت به سوالات شما پاسخ خواهد داد. برای مشاهده ادامه لیست روی دکمه صفحه بعد در پایین صفحه کلیک کنید.

کلیک کنید.

دکمه بازگشت به بالا