X
تبلیغات
پیکوفایل
رایتل

بانک اطلاعات مهندسی برق

میکرو چیه ؟؟؟؟

ما که آخرش نفهمیدیم میکرو چیه؟

میکرو یک IC خیلی جمع و جوره که معمولا چندین هزار قطعه الکترونیکی رو در کنار هم در یک بسته قرار دادن. اینطوری هم در فضایی که یک مدار خیلی بزرگ نیاز داره صرف جویی میشه، هم هزینه ساخت میاد پایین و هم مصرف برق کمتری داره.

مثلا کیبرد شما، ماوس شما، تلوزیون، یخچالهای جدید، ساعتهای دیجیتال، ماشین حسابها، درب بازکنهای تصویری و غیره همه میکرو دارن. کارهایی هم که میکرو میتونه بکنه تقریبا نامحدوده، یعنی از اندازه گیری دما در یخچال، تا دریافت و ارسال مادون امواج قرمز در کنترل تلوزیون، محاسبات پیچیده ریاضی تا کنترل ربات و هوش مصنوعی رو میتونه انجام بده.

معرفی جناب AVR 

شرکتهای مختلفی میکرو کنترلر درست میکنن که بعضی از معروفهاش Intel، Atmel، Microchip و چندین شرکت دیگه هستند.

الان میکروهای ارزون قیمت که در اکثر کارهای صنعتی ایران به کار میره PIC محصول Microchip و AVR محصول Atmel هستند که خیلی هم بازار رو گرفتند و کارایی بسیار خوبی هم دارند. هر کدوم از این میکروها خصوصایت ویژه خودشون رو دارن و خیلی ها هم نسبت به یکی از اینها تعصب خاصی دارن.

ولی ما برای اینکه کار با AVR ها خیلی ساده تره و قطعات بسیار کمی برای راه انداختن یک دستگاه ساده لازمه از اونها استفاده میکنیم.

میکرو های AVR هم از نظر امکانات داخلی حرف نداره، هم زبانهای برنامه نویسی بسیار عالی براشون نوشته شده و هم حافظه های بسیار زیادی برای برنامه پذیری دارن و هم اینکه انواع مختلفی برای هر نوع کاری داره که به سادگی میشه بسته به نیاز یکی از اونها رو انتخاب کرد.

شکل 1-1 نمونه چند میکرو AVR

در شکل 1-1 به ترتیب از راست به چپ این میکروها دیده میشن:

  • میکرو ATTiny12 یکی از میکروهای بسیار کوچک AVR با امکانات بسیار بالا
  • میکرو ATMega32 یکی از پرکاربردترین میکروهای بازار ایران
  • میکرو ATMega128 یکی از قوی ترین میکروهای بازار که مخصوص کارهای صنعتیه

میکروهای AVR خیلی گرون نیستند. برای مثال میکروهای ATMega32 رو با یک جستجو در اینترنت ]1[ و ]2[ و]3[ قیمت حدود 3000 تومن رو نشون میده. البته باید خرید از بازار ارزون تر باشه. میکروی ATMega16 تقریبا مثل ATMega32 هست و قیمتش 2000 تومنه. اگه جایی برای خرید ارزونتر میشناسید معرفی کنید.

در ضمن شما یک میکرو که میخرید میتونید تا 10 هزار بار توش برنامه بنویسید و پاک کنید. (بله!10000 بار درست دیدید.) تازه اطلاعات شما داخل آی سی در حدود 100 سال بدون تغییر باقی میمونه!

خرید میکروهای ATTiny رو بهتون پیشنهاد نمیکنم، چون برنامه نویسی اونها یک سری فوت و فن خاصی میخواد که برای شروع بهتره سراغشون نرید.

یک نمونه کاربرد خیلی ساده

یک میکرو داریم و یک LED (دیود نور افشان) میکرو رو طبق جدولی که بعدا میبینید، ابتدا پایه هاش رو شناسایی میکنیم. دوتا پایه VCC و GND پایه های تغذیه اون هستند. یک ترانس 5 ولت لازمه که میکرو رو راه بندازه. + رو به VCC وصل میکنیم و GND رو به پایه منفی ترانس وصل میکنیم. LED رو هم طبق شکل، پایه بلندش که مثبت (آند) هست رو به پایه اول از بالا سمت راست میبندیم و پایه کوتاهه رو که منفی (کاتد) باشه به زمین (GND یا همون منفی ترانس) وصل میکنیم.

یعنی یک چیزی به شکل مدار 1-2 درست میکنیم.


شکل 1-2 ) مدار نمونه یک LED چشمک زن

بعد با چهار پنج خط برنامه نویسی (لیست 1-1) این LED رو بصورت چشمک زن در میاریم. یعنی هر نیم ثانیه یکبار خاموش و روشن بشه.

$regfile = "M32def.dat"config PORTA = OUTPUTdo
       toggle PORTA       waitms 500loop
end

لیست 1-1) نمونه برنامه LED چشمک زن

اگه دقت کنید هیچ قطعه دیگه ای نمیخواد. اگه از قبل یک آشنایی کمی با میکرو داشته باشین حتما میگین که این مدار احتیاج به کریستال و خازن و مقاومت داره. ولی واقعا هیچی نمیخواد. خود AVR کریستال دقیق داخلی داره. مقاومت کافی برای راه اندازی یک LED در خروجی و مدار خازنی ریست داخلی.

اینا که گفتم یعنی چه؟! یعنی به همین سادگی و با قطعات بسیار کمی یک مدار عملی کار میکنه.

 در مورد اینکه این چند خط برنامه چی هست وهر خط چیکار میکنه در فصل بعد توضیح میدم.

مثلا همانطور که حدس زدید دستور waitms 500 به مدت زمان 500 میلی ثانیه صبر میکنه. پس با تغییر اون میشه سرعت چشمک زدن رو تغییر داد.

فعلا همینقدر خواستم بدونید که خیلی ساده است.

 

تاریخ ارسال: یکشنبه 9 اسفند‌ماه سال 1388 ساعت 09:12 ب.ظ | نویسنده: حجت | چاپ مطلب 2 نظر