پروژه های جدید برد آموزشی AVR:
اتصال 4 سنسور اولتراسونیک srf04 یا srf05 به برد آموزشی و نمایش فواصل اندازه گیری شده روی LCD کاراکتری:
زبان برنامه نویسی: C
کامپایلر: AtmelStudio6 و Codevision
دانلود
اتصال برد آموزشی به کامپیوتر از طریق پورت RS232 و نمایش کاراکترهای دریافتی روی LCD: در این پروژه، برد آموزشی از طریق پورت RS232 به کامپیوتر متصل می شود و با اجرای نرم افزار Hyper Terminal و مشابه آن، کاراکترهای تایپ شده با صفحه کلید ماتریسی برد برای PC ارسال می شود و کاراکترهای تایپ شده توسط صفحه کلید کامپیوتر، روی LCD کاراکتری متصل به برد نمایش داده می شود.
زبان برنامه نویسی: C
کامپایلر: AtmelStudio6
دانلود
اتصال LCD گرافیکی با کنترلر KS0108 به برد آموزشی و نمایش متن و شکل:
زبان برنامه نویسی: C
کامپایلر: AtmelStudio6
دانلود
اتصال کیبورد ps2 به برد آموزشی و نمایش کاراکترها روی LCD: با اتصال کیبورد کامپیوتر به ورودی ps2 برد آموزشی، امکان تایپ و پاک کردن کاراکترهای مختلف روی LCD کاراکتری از طریق کیبرد فراهم می شود.
زبان برنامه نویسی: C
کامپایلر: AtmelStudio6
دانلود
دماسنج با LM35: در این پروژه با استفاده از سنسور دمای LM35 موجود روی برد آموزشی، یک دماسنج پیاده سازی شده است.
زبان برنامه نویسی: C
کامپایلر: AtmelStudio6
دانلود
دماسنج با ds18b20: در این پروژه با استفاده از سنسور دمای ds18b20 موجود روی برد آموزشی، یک دماسنج پیاده سازی شده است.
زبان برنامه نویسی: C
کامپایلر: AtmelStudio6
دانلود
نمایش کاراکترهای فارسی و لاتین روی LCD کاراکتری: این پروژه به عنوان مثالی برای نحوه استفاده از توابع کتابخانه LCD کاراکتری و شیوه نمایش کاراکترهای فارسی و لاتین نوشته شده است.
زبان برنامه نویسی: C
کامپایلر: AtmelStudio6
دانلود
پروژه های قدیمی برد آموزشی AVR:
چشمک زدن LED: اجرای هر یک از این برنامه ها، سبب چشمک زدن 8 عدد LED موجود روی برد آموزشی خواهد شد.
نسخه IAR
نسخه Codevision
نسخه BASCOM
ساعت: در این پروژه روی 6 عدد seven segment موجود روی برد یک ساعت پیاده سازی می شود.
نسخه IAR
نسخه Codevision
نسخه BASCOM
دماسنج با LM35: از طریق اتصال خروجی سنسور دمای LM35 به ورودی PF7، مقدار دما روی 6 عدد seven segment موجود روی برد نمایش داده می شود. برخلاف دو پروژه قبل که از اسیلاتور داخلی 1 مگاهرتز استفاده می شد، تنظیم فیوزبیت ها باید در وضعیت کریستال خارجی 16 مگاهرتز قرار داده شود.
نسخه IAR
نسخه Codevision
نسخه BASCOM
تایپ کاراکترها با صفحه کلید: در این پروژه با فشار دادن کلیدهای موجود روی برد آموزشی، اعداد 0-9 و کاراکترهای – و blank روی seven segment ها از چپ به راست نمایش داده می شوند. برای ایجاد امکان استفاده از کدهای نوشته شده در این پروژه در سایر کاربردها، در این پروژه از شیوه کتابخانه نویسی استفاده شده است.
نسخه IAR
نسخه Codevision
نسخه BASCOM
نمایش متن روی LCD کاراکتری:
نسخه IAR
نمایش متن و شکل روی LCD گرافیکی با کنترلر KS0108 :
نسخه IAR
پروژه تبدیل اسیلوسکوپ به صفحه نمایش
در این پروژه که به زبان اسمبلی و در محیط AVRStudioنوشته شده، از طریق اتصال یک DAC به mega8 دو خروجی آنالوگ ایجاد می شود که با متصل کردن دو کانال اسیلوسکوپ و قرار دادن آن در مد XY، یک نوشته روی اسیلوسکوپ ظاهر می شود. نحوه اتصالات سخت افزاری در متن پروژه توضیح داده شده است. این پروژه قبلا در سایت AVRFreaks قرار داده شده است.
دانلود پروژه
تولید ملودی موسیقی با AVR
برای تولید نت موسیقی، ابتدا باید بر این نکته اساسی واقف بود که نسبت فرکانس هر دو نت متوالی در دستگاه موسیقی بین المللی (فاصله نیم پرده) برابر است با عدد 1.059463 که این عدد در واقع ریشه دوازدهم عدد دو می باشد. در توضیح بیشتر این مسئله می توان به سازهایی مانند پیانو اشاره کرد که 12 نت با نام های مستقل روی آنها تعریف می شود و فاصله فرکانس بین هر دو نت متوالی با هم برابر است. با توجه به دو برابر شدن فرکانس در دو نت همنام ( مثلا دو Mi متوالی) و وجود 12 نت در این فاصله، بنابراین فاصله فرکانسی هر دو نت مجاور برابر ریشه دوازدهم عدد 2 خواهد بود. حال اگر یک نت را به عنوان نقطه مبنا در نظر بگیریم، فرکانس نت بعدی 1.059463 برابر نت فعلی و فرکانس نت قبلی هم همین فرکانس تقسیم بر 1.059463 خواهد بود. با توجه به تدوین قراردادی مبنی بر قرار دادن یکی از نت های La برابر با 440 هرتز، می توانیم همین عدد 440 هرتز را به عنوان مبنا در نظر بگیریم و فرکانس نت های بعدی و قبلی را با ضرب یا تقسیم متوالی بر آن بدست بیاوریم.
بر همین اساس در دو پروژه که لینک آن در ادامه قرار داده می شود، ملودی نوای "ای ایران" ساخته زنده یاد روح الله خالقی روی خروجی PB0 بصورت یکسری پالس ایجاد می شود که با اتصال این خروجی به تقویت کننده مناسب می توان ملودی مذکور را از طریق بلندگو پخش کرد. این برنامه ها برای ATmega32 نوشته شده و قبلا در سایت ECA.ir قرار داده شده اند.
دانلود پروژه کدویژن
دانلود پروژه بسکام
تولید سینوسی سه فاز با AVR
در این پروژه که با کامپایلر کدویژن انجام شده، روی خروجی های OC1A و OC1B و OC1C در mega64، سه خروجی PWM سینوسی با اختلاف فاز 120 درجه تولید می شوند. کنترل تغییر فرکانس از طریق ولتاژ آنالوگ متصل به ADC0 انجام می شود. فرکانس خروجی در محدوده 0.5 تا 100 هرتز و با پله 0.1 هرتز تغییر می کند و در کل 996 فرکانس مختلف تولید می شود. اگر مقدار قرائت شده توسط ADC کمتر از 14 باشد، هر سه خروجی در وضعیت Low قرار می گیرند.فرکانس حامل PWM برابر 15.6 کیلوهرتز است و کلاک mega64 در مقدار 8 مگاهرتز باید تنظیم شود. با فیلتر کردن 3 خروجی می توان 3 سینوسی با اختلاف فاز 120 درجه را مشاهده کرد که این عملیات می تواند توسط 3 فیلتر RC با فرکانس قطع مناسب انجام شود. مقدار Acceleration از طریق ولتاژ اعمال شده به ADC1 و مقدار Deceleration از طریق ولتاژ اعمال شده به ADC2 قابل تنظیم هستند. محدوده تغییرات برای هر یک از این دو پارامتر 255-1 ثانیه است که به معنای زمان تغییر به میزان 100 هرتز در فرکانس است. این کد در بخش پروژه های سایت AVRFreaks و سایت ECA هم قرار داده شده است..
1392/06/27: نسخه جدید پروژه (SPWM3_4Rev0) آپلود شد. موارد زیر درباره این نسخه قابل ذکر است:
1- ورودی ADC3 برای تنظیم ولتاژ Boost اضافه شده و قابلیت تغییر در محدوده %9.8 تا %21.9 را فراهم می کند.
2- منحنی V/f تغییر داده شده و بخش شیب صفر در ابتدای آن حذف شده است.
3- جدول مقادیر تایمر و جدول سینوسی اصلاح شده و در فایل مجزایی قرار داده شده اند.
4- روتین های نرم افزار از نظر زمان اجرا بهینه شده اند.
5- سه کلید فشاری به عنوان Run و Stop و Direction در نظر گرفته شده که با فشار دادن کلید Run، موتور با شتاب مثبت شروع به حرکت می کند و با فشار دادن Stop با شتاب منفی متوقف می شود. اگر در زمان چرخش موتور کلید Direction فشار داده شود، موتور ابتدا با شتاب منفی متوقف می شود و بعد در جهت مخالف شروع به چرخش می کند. در وضعیت توقف هم فشار دادن این کلید باعث تغییر جهت چرخش می شود.
6- متناظر با وضعیت Run یک Led وجود دارد که اگر خاموش باشد، یعنی موتور در وضعیت Stop است و در صورت روشن بودن یعنی شرایط Run و در صورت چشمک زدن یعنی شرایط Fault برقرار است. دو Led دیگر هم برای نشان دادن جهت چرخش موتور در نظر گرفته شده است.
7- ورودی برای تشخیص شرایط Fault در IR2130 پیش بینی شده است. کلید Stop در وضعیت Fault به عنوان کلید Reset برای خروج از این وضعیت عمل می کند.
8- آرایش سخت افزاری از طریق فایل defines.h قابل تعیین و تغییر است.
دانلود نسخه های قدیمی تر
دانلود SPWM3_4Rev0