انواع تایمر/کانتر در avr

تو avr و تو میکرو کنترلر مگا ۱۶ ما ۳ تا تایمر کانتر داریم که به اولی میگن “تایمر/کانتر ۸ بیتی صفر” و به دومی میگن “تایمر کانتر ۱۶ بیتی ۱” و به سومی میگن “تایمر کانتر ۸ بیتی ۲”

پس ۲ تا تایمر/کانتر ۸ بیتی داریم و یه دونه ۱۶ بیتی…… 

آموزش کار با DAC یا همون PWM در AVR

همون طور که تو عکس زیر میبینید تو  میکروکنترلر avr  یه ۴ تا پایه هستش که میشه به عنوان پایه های pwm  یا همون DAC  ازشون استفاده کرد…..مثلا اگه از تایمر کانتر ۸ بیتی ۰ یا ۲ استفاده کنید فقط یه پایه برای این کار وجود داره(هر تایمر یه دونه پایه) ولی تو تایمر/کانتر ۱۶ بیتی ۱ دو پایه به برای این کار وجود داره….که ما تو کنترل سرعت موتور مخصوصا برا ساخت ربات ها که معمولا به ۲ موتور و ۲ چرخ برا رباتشون نیاز دارن میان و از تایمر/کانتر ۱۶ بیتی ۱ استفاده میکنن تا سرعت ۲ تا موتور رو کنترل کنن….لذا دیگه از تایمر ۰ یا ۲ استفاده نمیکنن….

آموزش کار با PWM در AVR

 

توجه ۱ : تایمر کانتر ۰ و ۲ هشت بیتی هستن و تایمر/کانتر ۱ شانزده بیتی هستش.

توجه ۲ : تو حالت ۸ بیت ماکزیمم مقدار۰XFF  هستش که یعنی ۲۵۶ و تو حالت ۱۶ بیت ماکزیمم مقدار ۰XFFFF هستش که یعنی ۶۵۵۳۶ ولی باید توجه کرد که چون شمارش کلاک (و کلا شمارش هر چیزی تو AVR ) از صفر شروع میشه و نه یک ، لذا تو حالت ۸ بیت ماکزیمم مقدار ۲۵۵ هستش و تو حالت ۱۶ بیت ماکزیمم مقدار ۶۵۵۳۵ هستش.

منابع کلاک میکرو

همون طور که تو عکس زیر میبینید(تمام عکس ها از دیتاشیت مگا ۱۶ گرفته شده است) ما ۵ تا منبع کلاک برا میکرو داریم که در زیر مشاهده میکنید و در ادامه هر ۵ تا مورد زیر رو تقریبا کامل توضیح میدم.

در شکل زیر مورد ۱ بیشترین کاربرد رو داره : اگه بخواین از کریستال خارجی استفاده کنید و سرعت بالاتر و دقت بیشتری داشته باشید از این گزینه استفاده میکنید.

مورد ۲ و ۳ زیاد کاربرد ندارن، مورد ۴ هم تامین کننده کلاک داخلی میکرو هستش و نیازی به استفاده از کریستال خارجی در این حالت نیست، اگه میخواین از کریستال خارجی استفاده نکنید این گزینه مناسب شماس.

مورد ۵ هم کاربرد های خاص خودشو داره و هر جایی استفاده نمیشه ازش.

منابع کلاک میکرو

توجه ۱ : این مطلب بر اساس مگا ۱۶ هستش، اگه اشتب نکنم برا مگا ۸ و مگا ۳۲ هم همین طوره، ولی این که برا میکرو های دیگه مثلا سری ATINY یا سری XMEGA یا همین سری MEGA مدل های دیگه اش!!! منابع کلاکش به همین صورته یا نه و این که فیوز بیتاش همینا هستن یا نه و این که شاید فرقایی داشته باشن یا نه و… رو من دقیقا نمیدونم.
  ولی اگه شما با غیر از این ۳ تا میکرو(مگا۸-۱۶-۳۲) میخواین کار کنید برا اطمینان میتونید دیتاشیت میکرو مورد نظرتون رو یه کوچولو نگاه کنید ببینید جدول مدولاش مثل همین مطلب(مثل مگا۱۶) هستش یا نه.

توجه ۲ : اینو همین جا بگم تا وسط کار قاطی نکنید(مثل من) و بعدا فیوز بیت ها رو اشتباه تنظیم کنید و گند کار دربیاد.

آموزش AVR

 

 

کلاک پیشفرض میکرو ( Default Clock Source )

کلاک پیشفرض میکرو ۱MHz اسیلاتور داخلی RC هستش که با تنظیم فیوز بیت ها به صورت “CKSEL = “0001”  و  “SUT = “10 حاصل میشه، این دو تا فیوز بیت تو حالت عادی همین مقدار رو دارن، مگه این که تغییرشون بدید.(وقتی میکروی جدیدی همون نو ایی میخرید این کلاک رو داره)

توجه : طولانی ترین زمان راه اندازی میکرو مربوط به این کلاکه (طبق گفته دیتاشیت مگا ۱۶ و فهم من!!!)