Info
پروژه های عملی با میکرو AVR - فصل اول - مقدمه جات

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

توی چند قسمت چندین پروژه ساده و جالب رو با میکرو کنترلر درست میکنیم که به درد همه بخوره، هم نمره بگیرین و هم خودتون از اینکه یک مدار ساختین لذت ببرین.

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

اگه استاد برنامه نویسی میکرو و یا الکترنیک هستید میتونید از این بخش صرف نظر کنید.

مقدمه خوب برای بچه های خوب

میکرو چیه؟

تو فارسی ما استاد خلاصه کردن کلمه های سخت و قلمب سلمبه خارجی هستیم. میکرو در اصل خلاصه شده میکرو کنترلر (Microcontroller) هست. (بعضی وقتها به میکرو پروسسور هم میکرو میگن که یک سری تفاوت عمده داره و به درد این مطلب نمیخوره)

از وقتی الکترونیک اومد زندگی متحول شد و از وقتی IC اومد الکترونیک متحول شد!
از فرمایشات حکیم بزرگوار Lost !!

IC دیگه چیه؟

آی سی یک قطعه الکترونیکی هست که یک مدار خیلی بزرگ رو توی یک فضای خیلی کوچیک فشرده کردن و تنها سیمهای رابطش رو بیرون آوردن. مثلا فرض کنید همین CPU کامپیوتر شما که یک آی سی فسقلی هست حدود 200 میلیون قطعه مختلف توش کار گذاشته شده. حالا تعداد قطعات روی Motherboard خودتون رو بشمرید به زحمت به 1000 قطعه میرسه.

یعنی اگه قرار بود CPU شما رو توی یک بسته کوچیک جاساز نکنند، الان اندازه اون CPU در حدود یک اتاق بزرگ بود.

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

میکرو یک 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 = OUTPUT
do
       toggle PORTA
       waitms 500
loop
end

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

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

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

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

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

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

پایان فصل اول •


نوشته جناب lost در تاریخ: June 6, 2007 12:14 AM
لینک دنبالک: http://www.lostlord.com/cgi-bin/mt4rc2/mt-tb.cgi/987


نظرها:
1-

خوشحالم كه دوباره داري فعال ميشي و بنظر مي خواي جبران غيبت طولانيتو بكني. موضوع خوبي رو شروع كردي. دستت دردنكنه.


نوشته جناب rootooshbashi در تاریخ June 7, 2007 1:40 AM

2-

مرسي، منتظر قسمت بعد هستم!


نوشته جناب aalaa در تاریخ June 7, 2007 2:37 PM

3-

اطلاعات کم است


نوشته جناب ahmad در تاریخ June 9, 2007 9:11 AM

4-

خوب بود به درد من يكي كه خورد فقط اكه يكم كاملتر بود بهتر بود.


نوشته جناب sotode در تاریخ June 9, 2007 4:07 PM

5-

چیییییییییییی به قول گفتنی بابا ایول ل ل ل ل ل ل لل ل ل ل ل ل


نوشته جناب شروین در تاریخ June 11, 2007 9:24 PM

6-

در مورد تایمر کانتر هم بحث کنیدplz


نوشته جناب hahab در تاریخ June 15, 2007 2:55 AM

7-

اگه می شه درباره کنترل یک دوربین با استفاده از ic مخصوص توضیح بده سپاسگزارم مسعود


نوشته جناب مسعود در تاریخ June 17, 2007 12:24 PM

8-

اگه می شه درباره کنترل یک دوربین با استفاده از ic مخصوص توضیح بده سپاسگزارم مسعود


نوشته جناب مسعود در تاریخ June 17, 2007 12:25 PM

9-

سلام.یک مورد برنامهavr متناسب با پروژه
پایان ترم می خواستم پیشنهاد کنید.دوم برنامه نیمه کاره ماشین حساب ساده با 8051 دارم که مونده.اگر بتونید منبعی برای برنامه عملی معرفی کنید ممنون میشم.متشکرم.


نوشته جناب رویا در تاریخ June 28, 2007 2:05 AM

10-

خوب بود ملی تروخدا درمورد پایه های میکرو وکاربرهاش کامل توضیح بده.


نوشته جناب سارا در تاریخ July 7, 2007 12:31 PM

11-

خیلی سطح پایینه .


نوشته جناب مجتبی در تاریخ August 12, 2007 10:06 PM

12-

سلام لطفآ در مورد PWM توضيح دهيد


نوشته جناب مهدي در تاریخ August 16, 2007 10:14 AM

13-

آقاجان مادرت جواب این آقا مسعود رو راجع به دوربین و IC مربوطه بده که خیلی نیاز دارم


نوشته جناب میثاق در تاریخ August 18, 2007 3:33 PM

14-

آقا جان مادرتون این دوربین درایو کنید خیلی لازم دارم


نوشته جناب میثاق در تاریخ August 20, 2007 3:51 PM

15-

سلام.
اگه میشه برنامه ای برای ارتباط سریال دو میکرو atm32 و atm8 برای من بنویسین.
ممنون میشم.


نوشته جناب مرضیه در تاریخ August 21, 2007 12:45 AM

16-

با سلام
شرکت نوآوران الکترونیک
تولید کننده انواع پروگرامر و برد و کیت آموزشی ربات آماده همکاری با شما در زمینه مشاوره، تولید،طراحی و اجرای پروژه های الکترونیکی می باشد.


نوشته جناب noavaran در تاریخ August 26, 2007 10:08 AM

17-

از کجا پایه های میکرو را از هم تشخیص دهیم؟ (این که هر یک چه کاربردی دارند.)


نوشته جناب ICE در تاریخ September 4, 2007 5:15 PM

18-

چطوری پایه های میکرو را از هم تشخیص بدیم؟(از نظر کاربرد.)


نوشته جناب ICE در تاریخ September 4, 2007 6:43 PM

19-

از این سایت ها توی اینترنت کم پیدا میشه.
دستتون درد نکنه.
موفق باشید.


نوشته جناب بیلچه در تاریخ October 18, 2007 12:35 PM

20-

این مطلب در مهندس لینک شد
http://www.mohand.es/story/778


نوشته جناب یوزراسپات در تاریخ October 18, 2007 3:44 PM

21-

ولی برای پروژه های دقیق تر AVR ها کافی نیستند. یا باید AVR های گرانتری بخری و یا از PIC ها استفاده کنی. به نظر من که بهترین میکرو برای فعالیت های صنعتی دقیق PIC است.


نوشته جناب آراز در تاریخ October 19, 2007 12:38 PM

22-

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


نوشته جناب Omid در تاریخ October 24, 2007 8:22 AM

23-

سلام. میشه خواهش کنم یه لطفی بکنی؟؟؟
من قدرت میخونم .خودت که میدونی - پول تو کنترله . میخوام تغییر فیلد بدم. یه نمه از دنیای واقعییه میکرو ها و چگونگییه اتصالاتشون به صنعت بنویس.


نوشته جناب متین در تاریخ October 26, 2007 9:35 PM

24-

man az in jur site haye amuzeshi khili ziad didam. vali ta hala site ro nadidam ke tush vaghean robotic amuzesh dade shode bashe. khahesh mikonam be joz robot line follower, robot haye diga ro ham amuzesh bedin.
ba tashakore faravun az hame shoma


نوشته جناب shayan در تاریخ October 28, 2007 10:38 AM

25-

جالب بود سری هم به ما بزنید .


نوشته جناب مهدی در تاریخ October 29, 2007 2:55 PM

26-

atmega32 پروژهاي عملي هرچي داريد برام بفرستيد


نوشته جناب M.21 در تاریخ November 3, 2007 12:31 PM

27-

خسته نباشيد:من تازه اين سايت رو پيدا كردم.مطالب خوبي بود .لطفا اگه ميشه در مورده ميكروكنترلر avrفصل هاي بعدي رو هم بنويسيد


نوشته جناب رزيتا در تاریخ November 4, 2007 11:58 PM

28-

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


نوشته جناب subsubing در تاریخ November 5, 2007 7:26 PM

29-

خسته نباشید.چند پروژه avr ساده و جالب می خواستم.اگه میتونید کمکم کنید


نوشته جناب امید در تاریخ November 8, 2007 8:21 PM

30-

فصل ديگه اي نداره؟!!!
من شديداّ نيازمند ياري سبزتان هستم.
help me, please


نوشته جناب bahar در تاریخ November 14, 2007 10:13 PM

31-

باز هم بنویسید


نوشته جناب najafi در تاریخ November 27, 2007 1:41 PM

32-

خوب بود ميتوني كتابي معرفي كني كه خيلي ساده شرح بده خودتم بيشتر بنويس مدسي


نوشته جناب فريد در تاریخ December 2, 2007 8:10 AM

33-

من avr تقريبا حرفه اي كار كردم . اما نمي تونم ميلم را وارد كنم .


نوشته جناب مهرداد در تاریخ December 5, 2007 1:00 AM

34-

دستت درد نكنه براي شروع خوبه به طرحهاي بزرگ فكر كنيد و كار را از جاي كوچك شروع كنيد


نوشته جناب afshin در تاریخ December 8, 2007 4:54 PM

35-

با سلام آقا کمکم کنید . چطوری 1 eeprom isp را وصل کنم به میکروavr . برنامه نوشتن وخوندن اطلاعات در bascom چطوری] mrc?


نوشته جناب saman در تاریخ January 6, 2008 7:28 PM

36-

خیلی مطالب خوبی بود اگر کسی راجع به میکرو سوالاتی داره به من ایمیل بزنه حتما جواب میدم.


نوشته جناب amir در تاریخ January 21, 2008 1:08 PM

37-

بسيار خوب


نوشته جناب محمد فدايي در تاریخ January 31, 2008 11:01 AM

38-

سلام خوب بود من يك پروژه خوارزمي دارم كه در حد پايان نامه كارشناسي ارشد الكترونيك است اگر مايل به كمك به من هستيد و وقتش را داريد به من يك ايميل بزنيد


نوشته جناب سعيد در تاریخ February 5, 2008 11:32 AM

39-

خوب بود فقط اگر امکان دارد درمورد کلاکها ( در مورد اینکه کلا کلاک چی هست ) توضیح دهید ممنون.


نوشته جناب مجتبی در تاریخ February 7, 2008 7:25 PM

40-

سلام ،خوب بود... اگه ممکنه نقشه ی پروگرامر avr بیست یایه رو به میلم بفرستید:
m_asna_1370@yahoo.com


نوشته جناب mehdi در تاریخ February 28, 2008 10:23 PM

41-

سلام من رشتم مخابرات لطفادر مورد پايه ها بيشتر توضيح بده


نوشته جناب حامد در تاریخ March 8, 2008 12:21 PM

42-

آقا ای ول
دمت گرم
اگه ممکنه ادامه داشته باشه که بد جوری شیفته شدم


نوشته جناب geshtapo در تاریخ April 1, 2008 3:27 AM

43-

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


نوشته جناب Parmida48 در تاریخ April 1, 2008 5:22 PM

44-

سلام.لطف کنید یک مدار تقریبا پیچیده با استفاده از AVRمعرفی کنید


نوشته جناب ایدا در تاریخ April 6, 2008 3:27 PM

45-

عالی بود


نوشته جناب faraj-tel در تاریخ April 25, 2008 7:36 PM


نظر شما