آموزش ساده رباتیک از ابتدا تا حرکت ربات!!! 2

mohandes_javan

عضو جدید
میکروکنترلر AVR

با توجه به اینکه در رشته رباتیک و زمینه ساخت ربات ، آموزش های مکمل مانند بعضی از میکروکنترارها همچون AVR PLC , PIC , 8051‌ مورد نیاز است، علاوه بر دیگر مطالب آموزشی انجمن، بهتر دیده شد تا آموزش AVR در رابطه با رباتیک نیز در این بخش قرار گیرد.

در مورد AVR ابتدا به توضیح چند تعریف اولیه می پردازیم :

- فیوز بیت ها

- منابع کلاک

- بازنشانی (RESET)

- وقفه های خارجی



• فیوز بیت ها

فیوز بیت ها قسمتی از حافظه میكروكنترلر AVR هستند كه امكاناتی را در اختیار كاربر قرار می دهند و با Erase شدن میكرو مقدار آن ها تغییر نمی كند. یك به معنی غیر فعال بودن و صفر فعال بودن هر بیت می باشد.

برای مثال :

قطعه 61 Mega که یک ای سی AVR می باشد دارای 2 بایت فیوز بیت طبق جدول زیر می باشد:


BOOTRST انتخاب بردار ری ست BOOT كه در حالت پیش فرض برنامه ریزی نشده است و در صورت برنامه ریزی آدرس بردار Reset طبق جدول زیر تعیین می شود.


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

mohandes_javan

عضو جدید
معرفی منابع کلاک

میکرو کنترلر AVR برای راه اندازی و شروع کار با IC نیاز به کلاک دارد، دراین بخش منابع کلاک را معرفی می کنیم .

منابع کلاک شامل :

1. كلاك خارجی

2. اسیلاتورRC کالیبره شده داخلی

3. اسیلاتور RC خارجی

4. اسیلاتور کریستالی فرکانس پایین

5. اسیلاتور کریستالی

6. اسیلاتور تایمر/کانتر

می باشد که در بلوک دیاگرامی به صورت زیر نشان می دهیم و در جای خود هر کدام را توضیح می دهیم .


انتخاب منبع كلاك بوسیله فیوزبیت های CKSEL بوده و پیش فرض، اسیلاتور ،RC داخلی می باشد.

یاداوری:

اکثر IC های میکرو یک کلاک خارجی هم دارند که این کلاک وظیفه راه اندازی IC را بر عهده دارد.

کالیبره شده: تنظیم شده

اسیلاتور : نوسان ساز

كلاك خارجی: برای راه اندازی وسیله بوسیله منبع كلاك خارجی باید مطابق شكل زیر یك پالس به پین XTAL1 اعمال شود

برای قرار گرفتن در این وضعیت باید تمام بیت های CKSEL پروگرام شده (صفر شوند- www.eca.ir) و كاربر می تواند با پروگرام كردن فیوزبیت CKOPT یك خازن داخلی به ظرفیت 36 پیكوفاراد را بین ورودی وزمین قرار دهد.


اسیلاتور RC كالیبره شده ی داخلی: این منبع در فركانس های1،2،4،8 مگاهرتز موجود می باشد و مقدارآن در دمای 25 درجه و ولتاژ 5 ولت كالیبره شده است كه در این وضعیت ممكن است تا 3 درصد در كلاك ایجاد شده وجود داشته باشد

اسیلاتورRCخارجی: در كاربردهایی كه دقت كلاك اهمیت زیادی ندارد می توان از این منبع استفاده كرد www.eca.ir . پیكربندی مطابق شكل زیر بوده و فركانس نوسان از رابطه ی F=1/3RC بدست می اید. حداقل مقدارC(خازن) 22پیكوفاراد است.


اسیلاتور كریستالی فركانس پایین: این منبع كلاك می تواند كریستال های فركانس پایین مثل كریستال ساعت با فركانس 32768 هرتز باشد. با دادن مقدار 1001 به فیوزبیت های CKSEL منبع كلاك كریستال خارجی فركانس پایین انتخاب شده www.eca.ir و در این وضعیت پیكربندی مطابق شكل زیر می باشد.


اسیلاتور کریستالی: در این اسیلاتور می توان از کریستال کوارتز یا رزوناتوربین پبن هایXTAL1 و XTAL2 که به ترتیب ورودی و خروجی یك تقویت كننده ی وارونگر هستند استفاده کرد.


در بخش بعد به معرفی منابع RESET می پردازیم .
 

mohandes_javan

عضو جدید
مقایسه کننده با حلقه فیدبک

در مقاله قبلی در مورد وضعیت های کاری مقایسه کننده ها صحبت کردیم

به جز دو موردی که عنوان کردیم وﺿﻌﻴﺖ ﻛﺎری دﻳﮕﺮی ﺑﺮای ﻣﻘﺎﻳﺴﻪ ﻛﻨﻨﺪه ﺗﻮﺻﻴﻪ ﻧﺸﺪه اﺳﺖ و در ﺑﺮﮔﻪ ﻫﺎی اﻃﻼﻋﺎتی (Data sheet) ﻧﻴﺰ ﺑﻪ آن اﺷﺎره ﻧﻤﻲﺷﻮد.

ﻣﻌﻤﻮﻻً‬ از اﻳﻦ وﺳﻴﻠﻪ ﺑﺮای ﻣﻘﺎﻳﺴﻪ ﻳﻚ وﻟﺘﺎژ ﻣﺮﺟﻊ ﺛﺎﺑﺖ ﺑﺎ ﻳﻚ وﻟﺘﺎژ ﻣﺘﻐﻴﺮ اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد. در اﻳﻦ ﻛﺎرﺑﺮد ، ﻣﻘﺎﻳﺴﻪ ﻛﻨﻨﺪه‬ ﻣﻲ ﺗﻮاﻧﺪ در وﺿﻌﻴﺖ ﻫﺎی واروﻧﮕﺮ و ﻧﺎواروﻧﮕﺮ ﺑﻪ ﻛﺎر رود


دﻗﺖ ﻛﻨﻴﺪ ﻛﻪ در ﻣﻮارد ﻓﻮق، ﻣﻘﺎﻳﺴﻪ ﻛﻨﻨﺪه ﺣﻠﻘﻪ ﻓﻴﺪﺑﻚ ﻧﺪارد. ﻣﻘﺎﻳﺴﻪ ﻛﻨﻨﺪه ﻫﺎ ﻣﻲ ﺗﻮاﻧﻨﺪ در آراﻳﺶ ﺣﻠﻘﻪ ﺑﺴﺘﻪ ﺑﺎ ﻓﻴﺪﺑﻚ‬ ﻣﺜﺒﺖ ﺑﻪ ﻛﺎر روﻧﺪ. . در ﺻﻮرﺗﻲ ﻛﻪ ﺧﺮوﺟﻲِ ﻣﻘﺎﻳﺴﻪ ﻛﻨﻨﺪه ﺑﻪ ورودی واروﻧﮕﺮ ﻓﻴﺪﺑﻚ ﺷﻮد، ﻣﺪار ﺣﺎﺻﻞ ﭘﺎﻳﺪار ﺑﻮده و ﺑﺎ ‫ﻫﻴﺴﺘﺮزﻳﺲ ﻛﺎر ﻣﻲ ﻛﻨﺪ. (ﻣﻘﺎﻳﺴﻪﻛﻨﻨﺪه ﺑﺎ ﻫﻴﺴﺘﺮزﻳﺲ)


وﻟﺘﺎژ ﻫﻴﺴﺘﺮزﻳﺲ ﺑﻮﺳﻴﻠﻪ ‪ RP‬و‪ RHﺳﺎﺧﺘﻪ ﻣﻲ ﺷﻮد ﻛﻪ اﻳﻦ دو ﻣﻘﺎوﻣﺖ، ﻳﻚ ﻣﻘﺴﻢ وﻟﺘﺎژ اﻳﺠﺎد ﻣﻲ ﻛﻨﻨﺪ ﻣﻘﺪار وﻟﺘﺎژ ﻫﻴﺴﺘﺮزﻳﺲ‬ ﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ:

Rp/(Rh+Rp) = Vh
‫ﺗﻜﻨﻴﻚ ﻫﻴﺴﺘﺮزﻳﺲ ﺑﺎﻋﺚ ﺟﻠﻮﮔﻴﺮی از ﻧﻮﺳﺎن و ﻧﺎﭘﺎﻳﺪاری ﺧﺮوﺟﻲ ﻣﻘﺎﻳﺴﻪ ﻛﻨﻨﺪه - در ﻣﻮاردی ﻛﻪ ورودی آن ﺑﻪ ﻛﻨﺪی ﺗﻐﻴﻴﺮ ﻣﻲﻛﻨﺪ - ‫ﻣﻲﺷﻮد ﺑﻬﺘﺮ اﺳﺖ داﻣﻨﻪ ﻫﻴﺴﺘﺮزﻳﺲ در ﺣﺪود 1% ﺗﺎ 2% ﺑﺎﺷﺪ و ﻣﻘﺎدﻳﺮ ﺑﻴﺸﺘﺮ ﻣﻌﻤﻮﻻً ﻣﻔﻴﺪ ﻧﻴﺴﺘﻨﺪ. ‬

همانطور که قبلا معرفی نمودیم ‫‪ Op‐amp‬ﻋﻨﺼﺮی اﻟﻜﺘﺮوﻧﻴﻜﻲ اﺳﺖ ﻛﻪ ورودی آﻧﺎﻟﻮگ ﺗﻔﺎﺿﻠﻲ و ﺧﺮوﺟﻲ آﻧﺎﻟﻮگ دارد اﮔﺮ Op‐amp‬ ﺑﻪ ﺻﻮرت‬ ﺣﻠﻘﻪ ﺑﺎز اﺳﺘﻔﺎده ﺷﻮد ﺑﻪ ﻧﻈﺮ ﻣﻲرﺳﺪ ﻛﻪ ﺧﺮوﺟﻲ آن ﻣﺎﻧﻨﺪ ﻣﻘﺎﻳﺴﻪ ﻛﻨﻨﺪه ﻋﻤﻞ ﻣﻲﻛﻨﺪ. http://www.eca.ir/. ﺷﻤﺎﺗﻴﻚ ﻣﻘﺎﻳﺴﻪ ﻛﻨﻨﺪه واروﻧﮕﺮ و‬ﻧﺎواروﻧﮕﺮ ﻛﻪ ﺑﺤﺚ ﺷﺪ، در ﻣﻮرد ‪ Op‐amp‬ ﻧﻴﺰ ﻋﻤﻞ ﻣﻲﻛﻨﺪ ﺑﺎ اﻳﻦ ﺗﻔﺎوت ﻛﻪ ﺟﺎی ﻋﻼﻣﺖ (+) و (-) ‬‫ﻋﻮض ﻣﻲﺷﻮد.

در مقاله بعدی به بررسیOP-amp در کاربردهای خطی خواهیم پرداخت
 

mohandes_javan

عضو جدید
ﻛﺎرﺑﺮدﻫﺎی ﺧﻄﻲ خروجی آپ امپ
ﻫﻤﺎﻧﻄﻮر ﻛﻪ اﺷﺎره ﺷﺪ، Op‐amp ﺑﺮای ﻛﺎر در ﻧﺎﺣﻴﻪ ﺧﻄﻲ ﻃﺮاﺣﻲ و ﺑﺮای ﻛﺎرﺑﺮد ﻫﺎی ﺣﻠﻘﻪ ﺑﺎز ﺑﻬﻴﻨﻪ ﺷﺪه اﺳﺖ‬

ﺗﺮاﻧﺰﻳﺴﺘﻮرﻫﺎی آﻧﺎﻟﻮگ ﻣﻮﺟﻮد در ﺧﺮوﺟﻲ Op‐amp ﺑﺮای اﻳﺠﺎد ﺷﻜﻞ ﻣﻮج آﻧﺎﻟﻮگ ﻃﺮاﺣﻲ ﺷﺪه اﻧﺪ


ﺑﻨﺎﺑﺮاﻳﻦ ﻧﺎﺣﻴﻪ ﺧﻄﻲ وﺳﻴﻌﻲ دارﻧﺪ اﻳﻦ ﺗﺮاﻧﺰﻳﺴﺘﻮرﻫﺎ ﻗﺒﻞ از رﺳﻴﺪن ﺑﻪ اﺷﺒﺎع، زﻣﺎن ﻧﺴﺒﺘﺎً زﻳﺎدی را در ﻧﺎﺣﻴﻪ ﺧﻄﻲ ﺳﭙﺮی ﻣﻲ ﻛﻨﻨﺪ ﻛﻪ‬ ‫ﺑﺎﻋﺚ ﻣﻲﺷﻮد زﻣﺎن ﺻﻌﻮد و ﻧﺰول آن ﻫﺎ ﻃﻮﻻﻧﻲ ﺑﺎﺷﺪ مثلا وﻗﺘﻲ 423LM‬ ﺑﻪ ﻋﻨﻮان‬ ﻣﻘﺎﻳﺴﻪ ﻛﻨﻨﺪه اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد، اﮔﺮﭼﻪ ﺧﺮوﺟﻲ ‪ Op‐amp‬ اﺷﺒﺎع ﻣﻲﺷﻮد و ﺣﺪوداً ﺑﻪ وﻟﺘﺎژ ﺗﻐﺬﻳﻪ ﻣﻲ رﺳﺪ اﻣﺎ ﺑﺎﻳﺪ به این نکته ﺗﻮﺟﻪ‬ ‫داشت ﻛﻪ ﺑﺮای ﺳﻮﻳﻴﭻ ﻛﺮدن ﺧﺮوﺟﻲ اﻳﻦ ﻗﻄﻌﻪ، ﺗﻮان ﺑﺎﻻﻳﻲ ﻣﺼﺮف ﻣﻲ ﺷﻮد.‬ زﻣﺎﻧﻲ ﻛﻪ از ‪Op‐amp‬ ﺑﻪ ﺻﻮرت ﺣﻠﻘﻪ ﺑﺎز اﺳﺘﻔﺎده ﺷﻮد، ﻧﺘﻴﺠﻪ ﻏﻴﺮﻗﺎﺑﻞ ﭘﻴﺶ ﺑﻴﻨﻲ اﺳﺖ. ﻫﻴﭻ ﻛﺪام از ﺳﺎزﻧﺪﮔﺎن ﻧﻴﻤﻪ ﻫﺎدی ‪ﻧﻤﻲﺗﻮاﻧﻨﺪ در ﻣﻮرد ﻋﻤﻠﻜﺮ ﺣﻠﻘﻪ ﺑﺎز ﺗﻀﻤﻴﻨﻲ دﻫﻨﺪ ‬ﺗﺮاﻧﺰﻳﺴﺘﻮرﻫﺎﻳﻲ ﻛﻪ در ﻃﺒﻘﻪ ﺧﺮوﺟﻲ ‪ Op‐amp‬ اﺳﺘﻔﺎده ﻣﻲ ﺷﻮﻧﺪ، ﺗﺮاﻧﺰﻳﺴﺘﻮر ﺳﻮﻳﻴﭽﻴﻨﮓ ﻧﻴﺴﺘﻨﺪ، وﻗﺘﻲ ﻛﻪ آن ﻫﺎ وارد‬‫‫ﻧﺎﺣﻴﻪ اﺷﺒﺎع ﻣﻲ ﺷﻮﻧﺪ ﻧﻪ ﺗﻨﻬﺎ ﺗﻮان ﺑﻴﺸﺘﺮی ﻣﺼﺮف ﻣﻲ ﻛﻨﻨﺪ ﺑﻠﻜﻪ ﻣﻤﻜﻦ اﺳﺖ دﭼﺎر ‪ Latch‐up‬ ﺷﻮﻧﺪ. زﻣﺎن ﺑﺎزﻳﺎﺑﻲ ‬اﻳﻦ ﺗﺮاﻧﺰﻳﺴﺘﻮرﻫﺎ ﻣﻤﻜﻦ اﺳﺖ ﺑﺴﻴﺎر ﻏﻴﺮ ﻗﺎﺑﻞ ﭘﻴﺶ ﺑﻴﻨﻲ ﺑﺎﺷﺪ. در ﻣﻮرد دﺳﺘﻪ ای از وﺳﺎﺋﻞ، اﻳﻦ زﻣﺎن در ﺣﺪ ﻳﻚ ﻣﻴﻜﺮوﺛﺎﻧﻴﻪ‬ و در ﻣﻮرد دﺳﺘﻪ ای دﻳﮕﺮ ﻣﻤﻜﻦ اﺳﺖ ﭼﻨﺪﻳﻦ ده ﻣﻴﻜﺮوﺛﺎﻧﻴﻪ ﺑﻪ ﻃﻮل اﻧﺠﺎﻣﺪ. زﻣﺎن ﺑﺎزﻳﺎﺑﻲ ﻣﺸﺨﺺ ﻧﻴﺴﺖ ﭼﺮا ﻛﻪ ﻗﺎﺑﻞ‬ ‫آزﻣﺎﻳﺶ ﺷﺪن ﻧﻤﻲﺑﺎﺷﺪ. ﺣﺘﻲ ﺑﺴﺘﻪ ﺑﻪ ﻧﻮع ﻗﻄﻌﻪ، ﻣﻤﻜﻦ اﺳﺖ ﺧﺮوﺟﻲ ﻫﻴﭻ ﮔﺎه ﺑﺎزﻳﺎﺑﻲ ﻧﺸﻮد


در نهایت می توانیم این گونه نتیجه گیری کنیم که ‫ﻣﻘﺎﻳﺴﻪ ﻛﻨﻨﺪه ﻫﺎ و ‪Op‐amp‬ ﻫﺎ اﮔﺮﭼﻪ ﺷﺒﻴﻪ ﻳﻜﺪﻳﮕﺮ ﺑﻪ ﻧﻈﺮ ﻣﻲ رﺳﻨﺪ اﻣﺎ ﻋﻨﺎﺻﺮ ﻛﺎﻣﻼً ﻣﺘﻔﺎوﺗﻲ ﻫﺴﺘﻨﺪ. اﮔﺮﭼﻪ ﺑﻌﻴﺪ اﺳﺖ از‬ ﻣﻘﺎﻳﺴﻪ ﻛﻨﻨﺪه ﺑﻪ ﺟﺎی ‪ Op‐amp‬ اﺳﺘﻔﺎده ﺷﻮد اما ‬درﺧﻮاﺳﺖ ﻫﺎی ﻣﺨﺘﻠﻔﻲ درﻳﺎﻓﺖ ﻣﻲ شوﺪ مبنی بر اینکه ﭼﮕﻮﻧﻪ ﻣﻲ ﺗﻮان‬ از ‪ Op‐amp‬ ﺑﻪ ﺟﺎی ﻣﻘﺎﻳﺴﻪ ﻛﻨﻨﺪه اﺳﺘﻔﺎده ﻛﺮد ﺑﻬﺘﺮﻳﻦ ﺗﻮﺻﻴﻪ ای ﻛﻪ ﺑﻪ اﻳﻦ اﻓﺮاد ﻣﻲ ﺷﻮد اﻳﻦ اﺳﺖ ﻛﻪ اﻳﻦ ﻛﺎر را اﻧﺠﺎم‬ ‫ﻧﺪﻫﻨﺪ. اﻧﺠﺎم ﭼﻨﻴﻦ ﻛﺎری درﺑﻬﺘﺮﻳﻦ ﺣﺎﻟﺖ ﻧﺘﻴﺠﻪ ﺑﻲ ﻛﻴﻔﻴﺘﻲ را ﺑﻪ ﺑﺎر ﻣﻲ آورد و در ﺑﺪﺗﺮﻳﻦ ﺣﺎﻟﺖ ﻣﺪار ﻛﺎر ﻧﻤﻲ ﻛﻨﺪ.‬

برگرفته از نوشته Bruce Carter

با تشکر از ترجمه : رضا سپاس یار


 

mohandes_javan

عضو جدید
شبیه سازی با تاکید بر مدارات مجتمع

Spice سرنام simulation program for integrated circuits emphasis به معنای شبیه سازی با تاکید بر مدارات مجتمع می باشد.


این برنامه جهت شبیه سازی مدار به منظور تست کوچکی از آن قبل از ساخت به حساب می رود

پایه های اصلی spice در سال 1971در دانشگاه برکلی ریخته شد و نسخه های 1و2 ان به زبان fortran نوشته شد و نسخه 3 در سال 1983 به زبان c بازنویسی شد. به همین دلیل spice شباهت زیادی به گرامر زبان fortran دارند.

نسخه های اولیه spice تنها بر روی کامپیوترهای main fraim قابل اجرا بودند اما در دهه 80 نسخه هایی از ان تولید شد که بر روی کامپیوترهای رومیزی قابل اجرا بودند nanosim,ultrasim,smartspice,pspice,hspice,ultisim و بیش از 20 عنوان دیگر از این جمله اند. همچنین نسخه هایی از spice با نام های macspice,ltspice برای اجرا در محیطهای ینوکس و مکینتاش وجود دارند.در این میان pspice نسخه ای بهینه شده برای استفاده در pc می باشد که توسط شرکت microsim توسعه داده شده و بعدا امتیاز آن به شرکت orcad واگذار شد و در حال حاضر متعلق به cadence می باشد.

بسته نرم افزاری orcad شامل اجزایی برای طراحی فیبرهای مدار چاپی نیز می باشد که برای شبیه سازی تنها بخش pspice,capture مورد نیاز می باشد.بدین ترتیب که ابتدا باید مدار مورد نظر بصورت گرافیکی در cis capture ترسیم شود و سپس pspice فراخوانی و اجرا شود تا مدار در این محیط شبیه سازی شود.capture بک محیط کاملا گرافیکی می باشد و برخلاف نسخه های قدیمی برا ی شبیه سازی مدار نیازی به نوشتن netlist یا لیست گره های مدار نیست و با استفاده از واسط کاربری گرافیکی (gui) می توان مدار را به سادگی ترسیم کرد.

برای شروع به اشنایی با محیط capture می پردازیم

پس از نصب orcad 9.2 ، ایکون نرم افزارهای نصب شده در منوی start و زیر منوی orcad موجود می باشد.که همواره برای شروع ترسیم شماتیک مدارcapture cis را اجرا می کنیم .

پس از capture cis با یک صفحه خالی روبرو می شویم که برای ایجاد یک پروژه جدید مسیر زیر را دنبال می کنیم :

File\new project

در کادر باز شده در فیلد name یک اسم برای پروژه انتخاب کرده و از دکمه های رادیویی زیرین ( a/d(analog or mixed را بر می گزینیم و در کادر location مکان ذخیره فایل ها را معین کنیم.

پس از تایید، در کادر ظاهر شده گزینه creat a blank project را انتخاب می کنیم و دکمه ok را کلیک می کنیم .اکنون در صفحه خالی capture هستیم و می توانیم با استفاده از منوی place و گزینه part عناصر مداری را به صفحه اضافه می کنیم. در ادامه به شبیه سازی یک مدار ساده خواهیم پرداخت
 

mohandes_javan

عضو جدید
شبیه سازی یک مدار ساده

در مقاله قبل به معرفی و آشنایی با محیط Capture پرداختیم در مورد این محیط افزودن نکات زیر نیز الزامی است:


• در صورت عدم وجود قطعه مورد نظر می توانیم با دکمه add کتابخانه مربوطه را اضافه کنیم.

• جهت گردش شکل قطعه ، پس از انتخاب ان از کلید R که ابتدای کلمه Rotate به معنای چرخاندن است استفاده می کنیم .

• جهت تغییر خصوصیات قطعه روی ارزش مورد نظر دوبار کلیک می کنیم.

• با استفاده از گزینه net alias از منوی place می توانیم به گره های مدار نام مستعار دهیم.

• جهت سیم کشی بین عناصر از منوی place گزینه wire را انتخاب می کنیم.

• در pspice مدار باید حتما دارای زمین باشد.

حال به منظور اشنایی کلی با محیط probe, capture مراحل شبیه سازی یک مدار الکتریکی خواهیم پرداخت

قسمت بعدی که به توضیح آن می پردازیم Probe است

Probe ابزاری است از pspice که نتایج حاصل از تحلیل مدار را به صورت گرافیکی نمایش می دهد.

برای مشاهده شکل موج نقاط مختلف مدار دو راه وجود دارد:

1. با استفاده از انتخاب نام مستعار برای گره مورد نظر:

از منوی place گزینه net alias را انتخاب می کنیم و پس از انتخاب نام مورد نظر برای گره ان را در محل مورد نظر قرار می دهیم.

2. استفاده از market ها :

مراحل زیر را انجام می دهیم :

Pspice/markers/voltage level
سپس علامت زن چسبیده به موس را در گره مورد نظر قرار می دهیم

اکنون مدار را شبیه سازی می کنیم: وارد محیط pspice می شویم

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

در صورتی که از marker استفاده کرده باشیم شکل موج پس از اجرای اسپایس در محیط probe نمایش داده خواهد شد.


• برای اضافه کردن شکل موج های بیشتر می توانیم marker های دیگری درگره های دیگر قرار دهیم و یا برای گره مورد نظر نام مستعار انتخاب کنیم و در محیط probe ان نام را اضافه کنیم .

• جهت استفاده از marker های جریان باید انها را به یکی از پین های عنصر مورد نظر وصل کنیم

• در صورت اختلاف مقیاس زیاد بین شکل موجها باید محور عمودی به صفحه probe اضافه کرد:

• (plot/add y axis) و یا ان را در پنجره جدیدی نمایش داد.

• کادر add trace امکان اعمال توابع ریاضی بر روی شکل موج را نیز فراهم می کند.

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

mohandes_javan

عضو جدید
استفاده از مکان نما در شبیه سازی اسپایس

در مقاله قبلی به چگونگی استفاده از محیط probe, capture جهت مراحل شبیه سازی یک مدار الکتریکی پرداختیم

حال مکان نما ها!


با استفاده ازمکان نماها می توان مقادیر عددی شکل موج را بدست اورد برای این کار بر روی دکمه کادر از نوار ابزار بالای صفحه در محیط اسپایس کلیک کنید سپس با کلیک کردن روی هر نقطه شکل موج مقدار عددی ان در کادر probe courser نمایش داده خواهد شد.

با استفاده از دکمه های چپ و راست موس می توانید مکان نماهای اول و دوم را جابجا کنید.

• در کادر probe courser می توان اختلاف مقدار دو مکان را مشاهده کرد.

• برای برچسب زدن مختصات مکان نما از منوی label, plot و سپس mark را انتخاب می کنیم

• برای تغییر بازه نمایش داده شده از منوی plot گزینه axis setting را انتخاب کرده و data range را به بازه مطلوب تغییر می دهیم .


ترسیم توابع ریاضی و انالیز فوریه

اگر چه محیط pspice جهت نمایش شکل موجهای موجود در مدار طراحی شده است اما این قابلیت را دارد که همانند نرم افزارهای ریاضی (مثل matlab) شکل توابع ریاضی را ترسیم کند که البته دارای این محدودیت است که محور افقی تنها مقدار مثبت را داراست چون متغیر توابع ما زمان هستند.

برای اینکار مراحل زیر را انجام دهید:

1. پروژه جدید ایجاد کنید.

2.مداری را که تنها دارای منابع dc می باشد، ترسیم کنید و سپس ان را شبیه سازی کنید.

3. از منوی simulation در اسپایس ، گزینه edit profile را انتخاب کنید و در فیلد run to time زمان مورد نظر را (مثلا s1) وارد کنید.

4. در محیط اسپایس از منوی trace گزینه add trace را انتخاب کنید.

5. در کادر حاصل از لیست functions توابع مورد نیاز را انتخاب کنید و سپس با متغیر time یک تابع ریاضی بنویسید.

6. مدار ترسیم شده در capture هیچ تاثیری در این شکل موج ندارد و تنها جهت دستیابی به محیط pspice ایجاد شده است.

7. بیشترین فرکانس منبع موجود در مدار زمان شبیه سازی را تعیین می کند، ازاین رو از منبع dc استفاده کردیم .

8. برای مشاهده طیف فوریه یک سیگنال بر روی دکمه fet کلیک کنید.
 

mohandes_javan

عضو جدید
تحلیل گره DC

گفتیم در برنامه Pspice چگونه با محیط capture کار کنیم و همچنین به شبیه سازی یک مدار ساده پرداختیم

حال در مورد تحلیل گره DC همان طور که می دانید تنها منابع جریان مستقیم در نظر گرفته می شود و منا بع AC صفر می شوند. بنابراین المان های واکنشی مثل خازن و سلف به ترتیب اتصال باز و اتصال کوتاه می شوند. پس هدف تنها تحلیل نقطه بایاس مدار است.


یک مدار در capture ترسیم کنید

سپس یک profile جدید بسازید و نام dc-bias برای ان وارد کنید.

در کادر بعدی از منوی باز شدنی analysis type گزینه Bias point را انتخاب کنید.

مدار را شبیه سازی کنید و از نوار ابزار برنامه capture دکمه های VوI را انتخاب کنید.

برای نمایش توان مصرف شده در عناصر از دکمه W استفاده می کنیم.

• برای پنهان کردن مقادیر غیر ضروری ولتاژ یا جریان ،گره مورد نظر را انتخاب و روی دکمه Toggle Voltage یا Toggle Current کلیک کنید.

• جریان ها به پایانه مثبت عناصر وارد می شوند و پایه مثبت به خط چین وصل شده است.

• جهت تغییر دمای شبیه سازی در کادر Simulation Setting و در گزینه Temprature دمای مورد نظر را وارد می کنیم.

• برای مشاهده مشخصات دقیق ترانزیستور بر روی آن کلیک راست کنید و گزینه edit pspice model را انتخاب کنید.

حال برای انکه بیشتر به نتیجه پی ببرید مدار زیر را ببندید


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

اثر تغییر دما را بر روی نقطه کار بررسی کنید.

1. مقدار مقاومت ها را طوری تغییر دهید که نقطه کار وسط خط بار قرار گیرد.

2. به ازای چه مقدار R3 ترانزیستور اشباع می شود.

تحلیل و پاسخ این سوالات را در بخش بعدی خواهیم داد

برای پیدا کردن مقاومت تونن همانند تحلیل مدار باید Vمدار باز و I اتصال کوتاه را یافته و نسبت انها را بیابید. در اسپایس هیچ گره ای نمی تواند شناور (یک سر ازاد) باشد، بنابراین برای یافتن ولتاژ OC از یک مقاومت 100 اهمی استفاده می کنیم و برای پیدا کردن جریان اتصال کوتاه با قرار دادن یک مقاومت فمتو اهمی این مشکل را حل می کنیم .

برگرفته از سایت AVR.ir (آقای رضا سپاس یار)

 

mohandes_javan

عضو جدید
تحلیل گذرای مدار

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

» مدارات مرتبه اول

این مدارات که با یک معادله دیفرانسیل مرتبه اول توصیف می شوند دارای یک پاسخ نمایی هستند که از رابطه زیر بدست می اید:

==================================
(مقدار نهایی – مقدار اولیه ) + مقدار نهایی = پاسخ کامل
==================================


که مقدار τ برای خازن RC و برای سلف L/R می باشد.


» مدارات مرتبه دوم

این مدارات دارای خازن و سلف هستند و در مورد یک RLC موازی بسته به مقادیر مقاومت ، خازن و سلف سه حالت ممکن وجود دارد:( در مورد مدارات RLC موازی: و1/√LC =ω و در مورد RLC سری دوگان اینها می باشد.

1. ω›α:حالت فوق میرا (مجموع دو تابع میرای نمایی)

2. ω=α: حالت میرای بحرانی (حاصلضرب یک تابع خطی در یک تابع نمایی)

3. ω›α حالت زیر میرا (سینوسی میرا)

پاسخ مدار به منابع متناوب

در این حالت مدار را در حوزه زمان تحلیل می کنیم و برای این منظور از منابع زیر استفاده می کنیم :

• ISIN, VSIN جهت تولید منابع سینوسی (با فرکانس ،فاز و دامنه مشخص می شود.)

• IEXP,VEXP:برای ایجاد منابع نمایی (با ضریب و نما مشخص می شود.)

• IPulse,Vpulse:منابع پالسی (با عرض پالس و دوره تناوب مشخص می شود.)

• Ipwl,vpwl:منابع تکه ای خطی

• Vtri:موج مثلثی

• Vramp:موج دندانه اره ای

• V-ttl:موج مربعی با دامنه ی 5 ولت ایجاد می کند.

» جاروب DC

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

» مشخصه ولتاژ به جریان

در محیط اسپایس از منوی Trace گزینه Add Trace را انتخاب کرده و در فیلد متنی Trace Expression جریان دیود را (Id1) وارد می کنیم. شکلی را که مشاهده می کنیم جریان دیود بر حسب تغییرات منبع تغذیه می باشد.حال برای تغییر دادن نمودار به جریان دیود برحسب ولتاژ ان باید متغیر محور افقی را تغییر دهیم .

درمحیط اسپایس از منوی PLOT گزینه Axis setting را انتخاب کرده و از برگه X Axis روی دکمه Variable Axis را کلیک کرده ولتاژ دیود را (1) انتخاب می کنیم .


 

mohandes_javan

عضو جدید
اتوماسیون صنعتی و نقش PLC در آن

شاید تا به حال نام اتوماسیون صنعتی،فرآیند و آشناتر از همه PLC را شنیده باشید.

اما آیا تا به حال به مفهوم این لغات فکر کرده اید؟

در این مقاله سعی شده است تا حدودی شما را با مفاهیم آن آشنا کنیم, این مقاله شروع آموزش و پژوهشی است در جهت PLC که در سطح صنعت مورد نیاز قرار می گیرد و مراجع منطبق بر آن متاسفانه در سطح کشور و بر روی اینترنت بخصوص به زبان فارسی بسیار محدود وجود دارد


ابتدا تعاریف لغات مورد نظر:

فرآیند:

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


بطور مثال:

- فرآیند تولید کاغذ

- فرآیند تولید رنگ از ترکیب کردن مواد مختلف شیمیایی

برای کنترل قطعاتی که در فرآیند به کار گرفته می شود در دهه های گذشته از مدارات الکترومکانیکی یا سیستمهای پنوماتیکی استفاده می شده است که می توان از آن میان به مدارات فرمان رله ای اشاره کرد.

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

اتوماسیون صنعتی

به بهره گیری از کامپیوتر و وسایل الکترونیکی قابل برنامه ریزی (مانند PLC ) به منظور کنترل ماشین آلات صنعتی در اجرا یک فرآیند در صنعت که قبلا توسط انسان انجام می پذیرفت اتوماسیون صنعتی گفته می شود.


PLC - Programmable Logic Controller

PLC - Programmable Logic Controller یا کنترل کننده منطقی قابل برنامه ریزی دستگاهی است که به عنوان مغز متفکر اتوماسیون صنعتی در حال کار می باشد که جایگزین مدارات فرمان رله ای و جانشین انسان در کنترل یک فرآیند در صنایع مختلف گردید.


در مقاله بعدی به تاریخچه PLC و نحوه کار آن می پردازیم.
 

mohandes_javan

عضو جدید
تعریف اولیه Reset

همانطور که در آموزش AVR گفتیم به توضیح چند مفهوم اولیه می پردازیم ، یکی از این مفاهیم reset در میکرو کنترلر AVR می باشد، که خود RESET مانند کلاک دارای چند منبع برای تولید می باشد که در اینجا به ذکر این منابع می پردازیم:

منابع RESET:

با RESET شدن میکرو کنترلر، تمام رجیسترهای I/O (ورودی و خروجی) به مقدار اولیه شان تغییر می کنند و CPU شروع به اجرای دستورالعمل ها ازبردار RESET خواهد کرد.

به طور مثال در ای سی MEGA16 5 منابع RESET عبارتند از:

1. Power-on Reset

2. External Reset

3. Brown-out Reset

4. Watchdog Reset

5. JTAG AVR Reset

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

منطق استفاده از RESET به صورت دیاگرام زیر می باشد:


حال به توضیح قسمت های مختلف این دیاگرام می پردازیم .

1. POWER ON RESET : زمانی فعال خواهد شد که ولتاژ VCC کمتر از حد تعیین شده باشد. این منبع تضمین می کند که وسیله در زمان راه اندازی RESET می شود. با رسیدن ولتاژ به حد استانه (یعنی همان .7 ولت که برای راه اندازی ترانزیستورهاست) شمارنده تاخیر راه اندازی شده که تعیین می کند چه مدت وسیله در وضعیت RESET بماند.

2. EXTERNAL RESET : این RESET بوسیله یک پالس با سطح صفر منطقی روی پین ریست بار ایجاد شده و حداقل عرض ان 1.5 میکرو ثانیه می باشد. با رسیدن ولتاژ این پین به مقدار استانه در لبه بالا رونده ، شمارنده تاخیر شروع به کار کرده و پس از اتمام زمان ، میکرو کنترلر کار خود را شروع خواهد کرد.

3. Brown-out Detection: قطعه MEGA16 دارای این مدار داخلی بوده که پیوسته مقدار ولتاژ vcc را با یک مقدار ثابت مقایسه می کند. این مقدار ثابت برابر 2.7 ولت می با شد.

4. Watchdog Reset: با اتمام زمان تایمر Watchdog، این تایمر یک پالس به عرض یک تناوب ایجاد خواهد کرد.

5. JTAG AVR Reset: این رجیستر محتوی اطلاعاتی است که نشان می دهد کدامیک از منابع RESET باعث راه اندازی مجدد CPU شده است.
 

mohandes_javan

عضو جدید
ﮐﺎرﺑﺮد ﺳﻨﺴﻮرها در رﺑﺎت‬

هر رﺑﺎت ﺑﺮای اﻳﺠﺎد ارﺗﺒﺎط ﺑﺎ ﻣﺤﻴﻂ ﻧﻴﺎزﻣﻨﺪ اﺑﺰاری اﺳﺖ. ﺑﺮای ﻣﺜﺎل ﻳﮏ رﺑﺎت ‪ maze solver ﺑﺮای‬ ﺗﺸﺨﻴﺺ ﻣﺤﻞ و ﻓﺎﺻﻠﻪ دﻳﻮارها ﻳﺎ ﻳﮏ ‪ line follower‬ ﺑﺮای ﺗﺸﺨﻴﺺ و ﺗﻌﻘﻴﺐ ﺧﻂ ﻧﻴﺎزﻣﻨﺪ وﺳﻴﻠﻪ ای اﺴﺖ ﮐﻪ‬ وﺿﻌﻴﺖ ﻋﺎﻣﻠﯽ در ﻣﺤﻴﻂ ﺧﺎرج را ﺑﻪ شکل ﺳﻴﮕﻨﺎل الکترﻳﮑﯽ ﺑﻪ آن ﻣﻨﺘﻘﻞ ﮐﻨﺪ و ﺑﺮای اﻳﻦ ﮐﺎر ﺑﺎ ﺗﻮجه ﺑﻪ ﻧﻴﺎز‬ ﺧﻮد از حسگرهای ﻣﻨﺎﺳﺐ اﺳﺘﻔﺎدﻩ ﻣﯽ ﮐﻨﺪ. در اﻳﻦ جا ﺑﺎ ﺗﻮجه ﺑﻪ ﻧﻮع ﻧﻴﺎزﻣﺎن ﺗﻨﻬﺎ ﺳﻨﺴﻮرهای ﻧﻮری را ﻣﻮرد‬ ‫ﺑﺮرﺳﯽ ﻗﺮار ﻣﯽ دهیم بنابر این به بررسی مقاومت نوری می پردازیم


‫ﻣﻘﺎوﻣﺖ ﻧﻮری photoresistor

جالب است بدانید اﺳﺎس ﮐﺎر اﻳﻦ‬ ‫ﻗﻄﻌﺎت ﺑﺮ ﺧﻮاص ﻓﻴﺰﻳﮑﯽ ﺳﻄﺢ ﺳﻮلفید ﮐﺎدﻣﻴﻮم اﺳﺘﻮار اﺳﺖ.‬ ‫اﺳﺎس ﮐﺎر ﻣﻘﺎوﻣﺖ ﻧﻮری ﺑﺴﻴﺎر ﺳﺎدﻩ اﺳﺖ؛ ﻣﻘﺎوﻣﺖ اﻳﻦ ﻗﻄﻌﻪ ﺑﺎ ﺗﻐﻴﻴﺮ شدت ﻧﻮر رﺳﻴﺪﻩ ﺑﻪ ﺁن ﺗﻐﻴﻴﺮ ﻣﯽ ﮐﻨﺪ، اما از ﺁﻧﺠﺎ ﮐﻪ در الکتروﻧﻴﮏ دادﻩ ها ﺑﻪ ﺻﻮرت ولتاژ ﻇﺎهر ﻣﯽ شوند ﺑﺎﻳﺪ ﺑﻪ شکلی اﻳﻦ ﺗﻐﻴﻴﺮ در ﻣﻘﺎوﻣﺖ را‬ ‫ﺑﻪ ﺗﻐﻴﻴﺮ ولتاژ ﺗﺒﺪﻳﻞ ﮐﻨﻴﻢ. خوشبختانه اﻳﻦ ﮐﺎر ﭼﻨﺪان دشوار ﻧﻴﺴﺖ، ﮐﺎﻓﯽ اﺳﺖ از ﻗﺎﻧﻮن اهم و ﻳﮏ ﺗﻘﺴﻴﻢ ولتاژ ﺳﺎدﻩ‬ ‫اﺳﺘﻔﺎدﻩ ﮐﻨﻴﻢ:‬

‫در شکل زیر خروجی ﺑﻪ ﺳﺎدﮔﯽ از راﺑﻄﻪ زﻳﺮ ﺑﻪ دﺳﺖ ﻣﯽ ﺁﻳﺪ:

(( 2‪Voutput = Vcc * (R2 / ( R1 + R‬‬

فرض کنید در یک مدار معمولی مقاومت R2 برابر 500 اهم و Vcc برابر 5v باشد ، اکنون هنگامی که مقاومت نوری در تاریکی کامل قرار گیرد مقاومت آن حدود 2k است و ولتاژ خروجی تقریبا صفر است هنگامی که در مقابل نور مستقیم قرار می گیرد مقاومت آن به حدود 20 اهم کاهش یافته و ولتاژ خروجی تقریبا 75v می شود

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

mohandes_javan

عضو جدید
تاریخچه PIC

ما در سلسله مقالاتی سعی خواهیم کرد شما را با میکروکنترلر PIC آشنا کنیم.در این راه با کمک برنامه نویسی به زبان بیسیک و بهره گیری از نرم افزار شبیه سازی Proteus (که در آینده نزدیک آموزش کامل آن را در این سایت خواهید دید) با ارائه پروژه های مختلف و کاربردی در حد وسعمان شما را با این میکرو کنترلر بسیار قوی آشنا کنیم.

برا ی آموزش PIC ابتدا به تاریخچه این میکروکنترلر پرداخته سپس شما را با نرم افزار PIC Basic Pro که محیط برنامه نویسی و کامپایلر زبان بیسیک PIC می باشد آشنا می کنیم. در این راه به کمک شما عزیزان و نظرات سازنده شما احتیاج داریم.

فرق میکرو پروسسور و میکرو کنترلر:
یک میکرو پروسسور در واقع یک (Central Processor Unit)CPU یا همان بخش مرکزی پردازش می باشد. همانطور که از نام آن بر می آید وظیفه پردازش اطلاعات را بر عهده دارد.میکروپروسسور برای انجام این وظیفه نیاز به ثبت دستور العملها (ROM)، محلی برای اجرای فرامین (RAM) و ارتباط با محیط خارج (پورتهای I/O) دارد.که باعث افزایش هزینه و کندی سرعت می شوند. از معروفترین میکروپروسسورها می توان از میکروپروسسور Z80 یاد کرد.

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

یک میکرو کنترلر عموما شامل موارد زیر است:

1.CPU

2.حافظه ثبت دستور العملها (ROM)

3.حافظه اجراء فرامین (RAM)

4.پورتهای ورودی و خروجی (I/O)

5.شمارنده و تایمر

6.باس داده،باس کنترل

7. مبدل آنالوگ به دیجیتال

8.پورت سریال

و .............

از میکروکنترلر های معروف میتوان به خانواده 8051 ،AVR ،PIC اشاره کرد.


تاریخچه میکروکنترلر های PIC

شرکت General Instrument مبتکر اصلی ساخت و استفاده از CPU 16 بیتی با نام CP1600 بود.در حالی که این CPU بطور کلی از نظر عملکرد از عملکرد خوبی برخوردار بود اما به سبب ضعف در کارایی پورتهای ورودی و خروجی این شرکت PIC هشت بیتی را در سال 1975 برای بهبود کلی در سرتا سر سیستم بوسیله حذف وظایف پورتهای ورودی و خروجی از CPU بوجود آورد. این کار با استفاده از یک ذخیره سازی ساده Microcode در ROM انجام پذیرفت اگر چه هم اکنون از این تکنولوژی در ساخت PIC استفاده نمی شود

در حال حاضر علامت تجاری PIC و PICmicro برای شرکت MICROCHIP Technology ثبت شده و میکروکنترلر های PIC توسط این شرکت تولید می شود.

PIC ابتدایی از سر کلمات "Peripheral Interface Controller" توسط شرکت General Instrument گرفته شده بود.برای PIC پیشرفته تر همچون PIC1640 و PIC1650 از سر کلمات "Programmable Interface Controller" استفاده شده است.

در حال حاظر با توجه به قدرتمندی این میکروکنترلر ، PIC از سرکلمات با معنی واقعی "Programmable Intelligent Computer" به معنای کامپیوتر هوشمند قابل برنامه ریزی نشات گرفته شده است.

انواع خانواده PIC از نظر ساختار هسته

" 12 هسته ای Baseline Core

" 14 هسته ای Mid-Range Core

" 16 هسته ای High End Core


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

mohandes_javan

عضو جدید
سلاح ها در ربات

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

سلاح ها می توانند ترکیبی از افکار شما باشند. سبک های بسیار گوناگونی از سلاح های ربات ها وجود دارند .از چرخشی ، پنیوماتیکی و پتانسیلی (فنر) گرفته تا جنبشی! تنها محدودیت شما تصور شماست. منتها باید مطمئن شوید که سلاحی که می خواهید بسازید خلاف قوانین مسابقات نباشد. بزرگترین توصیه ای که کسی می توانیم به شما بکنیم این است که به شما بگوییم که به ربات های دیگران نگاه کنید و انگاه روش خود را مطرح سازید.

اکنون سعی کنید تا لیستی از سلاح های رایج را تهیه کنید.خلاق باشید!!!

ربات های گوه ای و تحمیل کننده:

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


رباتهای چرخشی:

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

رباتهایی با دیسک چرخان با تیغه اره:

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

mohandes_javan

عضو جدید
ارتباط سخت افزار با نرم افزار

هر دستگاه برنامه پذیر (مانند یک کامپیوتر یا یک میکروکنترلر ) دارای دو بخش اصلی است : سخت افزار و نرم افزار. با چیستی این دو بخش کم و بیش آشنا هستیم. نکته بسیار مهم و در عین حال ساده ای که باید به آن توجه کرد نحوه برقراری ارتباط بین سخت افزارو نرم افزار در یک میکرو کنترلر است.


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

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


ورودی و خروجی معمولی (Simple I/O)

یک میکروکنترلر، بر خلاف یک کامپیوتر، مجهز به وسایل ورودی و خروجی پیشرفته ای مانند Keyboard ،Speaker ،Monitor و یا Mouse نیست بلکه تنها راه ارتباط میکروکنتر لرها (مانند هرIC دیگری) پایه های IC می باشد (پایه های IC زائده های فلزی کوچکی هستند که اطراف IC قرار می گیرند



سمت راست : میکروکنترلر. A89C51. سمت چپ : نام پایه های این میکروکنترلر

میکروکنترلر 51 AT89C دارای ۴٠ پین یا پایه است . ٣٢ تا از این پین ها، ورودی ها و خروجی های دیجیتال هستند . به این معنی که به عنوان خروجی ولتاژ های ٠ ولت و یا ۵ ولت را تولید می کنند ،( ٠یا ١ منطقی ). برای مثال یک خروجی دیجیتال نمی تواند یک موج سینوسی تولید کند اما می تواند یک موج مربعی با دو سطح صفر و ۵ ولت ایجاد نماید.

برای یک ورودی دیجیتال نیز تنها دو مقدار ٠ یا ١ منطقی قابل درک است اگر ولتاژ اعمال شده از خارج میکرو از مقدار مشخصی (حدود ٢ ولت ) بالاتر باشد از نظر میکرو ١، و اگر از آن حد پایین تر باشد صفر است ٨ پایه دیگر کاربرد هایی غیر از واسطه ارتباط میکروکنترلر با جهان خارج دارند. این چهار پورت از ٠ تا ٣ شماره گذاری شده اند محل پایه های هر پورت در شکل بالا نمایش داده شده است.

برگرفته از سایت: AVR.ir
 

mohandes_javan

عضو جدید
مفهوم کنترل کننده سیگنال دیجیتال

اگرچه اغلب , واحد پردازش مرکزی (cpu) به یک ریزپردازنده ارجاع می شود اما چندین نوع ریزپردازنده اختصاصی شده برای کاربردهای مختلف وجود دارد . متداول ترین این میکروکنترلرها , پردازنده های سیگنال دیجیتال (DSP) و واحد پردازش گرافیک (GPU) می باشند.



یکرو کنترلر یک مدار مجتمع شامل ROM , RAM , CPU و اجزای جانبی نظیر تایمر , UART ,ADC و غیره بوده که با یکپارچگی مدار, موجب پایین آمدن هزینه تولید و ساده تر شدن کاربرد آن می شوند.

پردازنده سیگنال دیجیتال یا DSP یک ریزپردازنده بهینه شده برای کاربردهای پردازش سیگنال دیجیتال می باشد. DSP تعداد محدودی دستورالعمل خاص را با بالاترین سرعت ممکن اجرا می کند که برخی از این عملکردها در گذشته به وسیله *****های آنالوگ انجام می شدند.

تقریبا تمام عملکردهای DSP بوسیله میکروکنترلر (یا ریزپردازنده ) قابل پیاده سازی است، تفاوت در این است که سرعت میکروکنترلر ها کمتر بوده اما دارای امکانات و قابلیت های بسیار زیادی می باشند. بنابراین آنها به خوبی می توانند طیف وسیعی از اعمال منطقی , دریافت داده , پردازش و کنترل را انجام دهند در حالیکه DSP ها در انجام عملکردهای محاسباتی دارای کارایی بالایی می باشند.

برای بهره برداری از قابلیت های DSP در کنار میکروکنترلر دو راهکار وجود دارد :

1. استفاده از DSP به عنوان کمک پردازنده (Coprocessor) در کنار میکرو کنترلر

2. استفاده از کنترل کننده های سیگنال دیجیتال (DSC)

همانطور که در شکل مشاهده می کنید DSC ترکیبی از یک میکروکنترلر و DSP بوده و این امکان وجود دارد که قابلیت های هر دوی آنها در کنار یکدیگر و در قالب یک تراشه استفاده شود . بنابراین استفاده از DSC موجب کاهش هزینه قطعات , کاهش ابعاد برد مدار , بالابردن قابلیت اعتماد می گردد و تنها نیاز به طراحی و اشکال زدایی یک نرم افزار برای هر دو واحد است .


DSC های ساخت شرکت Microchip

تولید کننده های مختلف , مدل های گوناگونی DSC تولید کرده و به بازار عرضه می کنند . در این میان شرکت Microchip دو سری dsPIC33F , dsPIC30F را طراحی نموده است . همانطور که در شکل زیر مشاهده می شود این قطعات در خانواده PIC های 16 بیتی قرار گرفته و از لحاظ کارایی و قابلیت در بالاترین سطح می باشند . سری های PIC14F , PIC24C میکروکنترلرهای 16 بیتی بوده و بقیه اعضا خانواده PIC میکروکنترلرهای 8 بیتی می باشند.


برگرفته از سایت: AVR.ir
تهیه شده : رضا سپاس یار
 

mohandes_javan

عضو جدید
ربات جنگنده

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


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

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


مواد:

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

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

mohandes_javan

عضو جدید
مشخصات کلی میکرو کنترلر16 Atmega

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


به عبارت دیگر این میکروکنترلرها دارای صد و سی و یک دستورالعمل ساده هستند که اغلب آنها در یک پالس ساعت اجرا می شوند اجرا شدن دستورالعملها در یک سیکل باعث افزایش سرعت این میکروکنترلرها گردیده است همچنین Atmega 16 دارای سی و دو رجیستر همه منظوره هشت بیتی است و قابلیت اجرای حداکثر شانزده میلیون دستورالعمل در ثانیه را دارد این قابلیت یکی دیگر از دلایل افزایش سرعت این میکروکنترلرهاست .

Atmega 16 دارای 16 کیلو بایت حافظه فلش با قابلیت خواندن و نوشتن تا ده هزار مرتبه ،512 بایت حافظه EEprom با قابلیت خواندن و نوشتن تا صد هزار بار و 1 کیلوبایت حافظه داخلی SRAM می باشد

برای برنامه ریزی میکروکنترلرهای AVR می توان از استاندارد JTAG استفاده نمود. این استاندارد برای برنامه ریزی FLASH، EEprom فیوزها و Lockbit ها از طریق رابط JTAG به کاربرده می شود.

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


1- دارای دو شمارنده هشت بیتی و یک شمارنده شانزده بیتی است ، فرکانس کار این شمارنده ها به طور جداگانه تنظیم می شود. این شمارنده ها دارای واحد مقایسه هستند که برای ایجاد شکل موجهای PWM در مدهای مختلف به کار برده می شود.

2- این میکروکنترلر دارای یک مبدل ADC با هشت کانال ده بیتی است هشت ورودی مبدل ADC با استفاده از مالتی پلکس داخلی انتخاب و به این مبدل اعمال می شوند انتخاب ورودیهای مختلف و ولتاژ مرجع با برنامه نویسی انجام می شود از طرف دیگر اگر ورودیهای Single Ended به این پایه ها اعمال شود، می توان هر هشت کانال را به طور جداگانه به کار گرفت حالت Single Ended زمانی است که ورودیها دارای زمین مشترک باشند در حالت دیفرانسیلی که ورودیها دارای پلاریته هستند (به عنوان مثال ولتاژ دو سر یک مقاومت در داخل یک مدار) نوع TQFP ، هفت کانال ورودی برای مبدل دارد و نوع PDIP آن که دارای چهل پایه است ، دو کانال ورودی ADC در اختیار قرار می دهد. همچنین در حالت PDIP می توان بهره را به مقدارهای 10×20×1× نیز تنظیم نمود.

3- دارای رابط سریال TWI است که اتصال چندین میکروکنترلر را توسط دو باس دیتا و پالس فراهم می کند.

4- قابلیت ارتباط سریال USART از دیگر مشخصات این میکروکنترلرهاست توضیح اینکه ارتباط با استفاده از پورت سریال USART به دو صورت سنکرون و آسنکرون صورت می گیرد. در حالت سنکرون از یک پالس ساعت برای همزمانی استفاده می شود. در حالت آسنکرون میکروکنترلر ورود و خروج اطلاعات را کنترل کرده و برنامه ریزی در این حالت ساده تر است.


5- دارای رابط سریال SPI است که در دو مد Master/Slave به کار گرفته می شود، نحوه استفاده از این رابط برای برنامه ریزی میکروکنترلرهای AVR بیان می شود.

6- شمارنده Watchdoge با اسیلاتور جداگانه ، که برای جلوگیری از هنگ کردن میکروکنترلر به کار می رود، یکی دیگر از قسمت های جانبی این میکروکنترلرهاست در صورتی که تنظیمات لازم برای فعال شدن این شمارنده انجام شده باشد، با شروع به کار میکروکنترلر ، این شمارنده شروع به کار می کند. برنامه نویس با توجه به مدت زمان اجرای دستورالعملها ، در زمان مشخصی قبل از رسیدن شمارنده به انتهای سیکل کاری خود ، با استفاده از دستور WDR شمارنده را ریست می کند. حال اگر میکروکنترلر به دلایلی از کار افتاده باشد، دستور WDR اجرا نشده، شمارنده ریست نمی شود. در نتیجه Watchdog تا انتهای سیکل کاری خود شمارش کرده و میکروکنترلر را ریست نموده ، خود از ابتدا شروع به شمارش می کند.

7- مقایسه کننده آنالوگ داخلی یکی دیگر از تجهیزات جانبی این میکروکنترلرهاست ورودیهای این مقایسه کننده از پورت B تامین می شود.



برگرفته از سایت: مقالات فنی رباتیک

ترجمه شده: محمد رفیعی
 

mohandes_javan

عضو جدید
مشخصات کلی DSC های سری dsPIC30

● CPU 16 بیتی بهینه شده برای کامپایلرC

● حافظه برنامه ی قابل اعتماد و قابل انعطاف FLASH

● کارایی بالا در زمینه ی پردازش سیگنال دیجیتال

● سیستم کارامد و سریع وقفه

● وسایل جانبی پیشرفته

●مبدل آنالوگ به دیجیتال سریع و دقیق 10 و 16 بیتی

● حافظه داده ی EEPROM , SRAM

● قابلیت اشکال زدایی در مدار

قطعات سری dsPIC30F از پایه به شکلی طراحی شده اند که به عنوان یک DSC 16 بیتی تمام نیازهای کاربر را برآورده می کند. مجموعه دستورالعمل های غنی , همرا با روش های آدرس دهی وسیع که بر روی رجیستر های همه منظوره و پشته نرم افزاری مناسب عمل می کنند , باعث بازدهی بالا در کامپایلر های C شده است


تمام قطعات برای حافظه برنامه از حافظه FLASH استفاده می کنند قابلیت خودبرنامه ریزی روی برد ( In-circuit self programming ) , بروز کردن نرم افزار و حافظه EEPROM را از فواصل دور امکان پذیر می سازد . حافظه FLASH این قطعات توانایی نگهداری داده تا 40 سال و 1 میلیون بار برنامه ریزی را دارد.

کارایی قابل توجه تراشه های dsPIC30 در زمینه پردازش سیگنال دیجیتال, نتیجه امکانات مناسب آنها در این زمینه است به عنوان نمونه : ضرب کننده تک سیکلی17 در 17 بیتی , دو آکومولاتور 40 بیتی و یک barrel shifter 40 بیتی , دستورالعمل های DO , Repeat , و پشتیبانی از روشهای آدرس دهی خاص برای بافر های حلقوی و FFT .

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

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

در نهایت این امکان وجود دارد که برنامه موجود در حافظه Flash بدون نیاز به خارج کردن قطعه از مدار , بروز شود.


کمیت های عملیاتی

DSC های سری dsPIC30F می توانند به سرعت اجرای 30 میلیون دستورالعمل در ثانیه یا 30 MIPS برسند.

تمام قطعات از حافظه FLASH استفاده کرده و می توانند در محدوده وسیع دمایی تا 125 درجه سانتیگراد عمل کنند این قطعات در دو نسخه 20 MIPS و 30 MIPS موجود می باشند .

انواع مختلف بسته بندی برای هر قطعه وجود دارد از نوع ظریف 28-pin QFN تا قطعات بزرگ DIP و همچنین قطعات با پایه های زیاد از نوع QFP .
 

mohandes_javan

عضو جدید
یک آزمایش ساده!

همانطور که (در بخش ارتباط سخت افزار با نرم افزار ) گفته شد وسیله ارتباط میان سخت افزار و نرم افزار، رجیسترها هستند . فرض کنید می خواهیم ولتاژ یکی از پایه های میکروکنترلر را ۵ ولت قرار دهیم ( ١ منطقی ).

توجه کنید که در این حالت این پایه ، یک خروجی است . باید رجیستری وجود داشته باشد که این امکان را برای برنامه نویس فراهم آورد تا مقدار منطقی دلخواهی را بر روی هر یک از پایه های میکروکنترلر قرار دهد .

در فایل Header ای که ما به برنامه های خود اضافه (Include) می کنیم (AT89X51.h) برای هر یک از این رجیستر ها نامی در نظر گرفته شده تا کار برنامه نویسی ساده تر شود. به این ترتیب نیازی نیست که ما هر بار با مراجعه به شکل حافطه ، آدرسها را بیابیم و می توانیم از این اسامی استفاده کنیم. هر پورت ٨ بیتی با یک بایت ( ٨ بیت ) متناظر است. بنابراین تناظری یک به یک میان، بیتهای هر یک از این رجیستر ها با پایه های میکروکنترلر به وجود می آید و مقدار هر بیت در رجیستر، تعیین کننده ولتاژ پایه متناظر آن خواهد بود . به عنوان مثال رجیستر متناظر پورت ٠ در شکل زیر داده شده است.


شکل . رجیستر p0. این رجیستر ارتباط بین نرم افزار و پینهای پورت ٠ را برقرار می کند.

برای مثال فرض کنید خروجی دو سنسور تشخیص رنگ (سیاه و سفید ) به دو پایه از میکروکنترلر متصل شده است. هر یک از این سنسورها اگر رنگ سفید را تشخیص دهد (ببیند) خروجی خود را ١ منطقی ( ۵ ولت) قرار می دهد، و برای سیاه ، ٠ منطقی (صفر ولت ). حال برای آزمودن این سنسور ها دو چراغ (Led) را به میکروکنترلر متصل کرده و برنامه ای بنوسیم که با تشخیص سفید روشن شوند و با تشخیص سیاه، خاموش. مدار لازم در شکل نشان داده شده است.


Sensor ها به پین اول و دوم از پورت ١ (p1.0و p1.1) متصل شده اند. led ها هم به p2.0 و p2.7 برنامه زیر عمل مورد نظر را انجام خواهد داد.


نکته مهم : قبل از اینکه بتوانیم از یکی از پایه های میکروکنترلر به عنوان ورودی استفاده کنیم، لازم است ابتدا همان پین را یک کنیم. این عمل پایه مورد نظر را آماده دریافت ورودی می کند.

برگرفته از سایت: AVR.ir
 

mohandes_javan

عضو جدید
چگونه زمان را بسنجیم؟

شاید بدانید که در کامپیوتر ها و دیگر دستگاه های الکترونیکی بازه های زمانی و زمان توسط تایمر سنجیده می شوند در اینجا برای نمونه به بررسی تایمرهای ATmega 16 خواهیم پرداخت که قبلا آن را کم و بیش از زوایای دیگر بررسی کرده ایم.

میکروکنترلر51 AT89C نیز دارای دو Timer است که می توانند به صورت مستقل از هم، برای سنجش بازه های زمانی مورد استفاده قرار گیرند.



چگونگی عملکرد Timer ها

برای اینکه سنجش زمان برای میکروکنترلر میسر باشد باید معیاری از زمان در اختیار سخت افزار قرار بگیرد. این کار به وسیله سیگنال Clock انجام می شود. سیگنال Clock یک موج پریودیک با فرکانش مشخص است. فرکانس Clock برای یک 8051 حداکثر می تواند24 MHz باشد امّا مقدار معمول آن 12 MHz است. فرکانس این سیگنال، پیش از آنکه به Timerها اعمال شود، به ١٢ تقسیم می شود. یعنی فرکانس سیگنال Clock اعمال شده به Timerها 1MHz خواهد بود. (از این پس فرکانس Clock اعمال شده به Timer را 1MHz در نظر می گیریم ، بنابراین هر پریود Clock که به آن « سیکل ماشین » نیز گفته می شود، ١ میکروثانیه خواهد بود)

هر Timer در واقع یک شمارنده (Counter) است که تعداد پریودهای سیگنال Clock را (بعد از تقسیم فرکانس بر ١٢) می شمارد. اگر فرکانس Clock اعمال شده به Timer را 1MHz فرض کنیم هر 1 میکرو ثانیه، محتوای این شمارنده یک واحد افزایش می یابد . می توان با ضرب کردن محتوای این شمارنده در پریود Clock مدت زمان سپری شده را محاسبه نمود.

هر یک از Timer های ٨٠۵١ ، ١۶بیتی هستند . یعنی مقداری کهTimerمی شمارد در دو بایت (16) نگهداری می شود بنابراین بزرگترین عددی که یکTimer می تواند ذخیره کند، 1-16^2 یعنی ۶۵۵٣۵است . اگر رجیستر Timer حاوی این عدد باشد، با اعمال پالس بعدی Clock چه اتفاقی خواهد افتاد؟ مقدار بعدی رجیستر ٠ است. در واقع رجیستر Overflow یا سرریز می شود و بیت دیگری به جز١۶ بیت شمارنده (Flag) به نشان Overflow، یک می شود. (از این اتفاق Overflow و یک شدن بیتFlag) برای ایجاد تأخیر به میزان مشخص استفاده می شود.


فرض کنید قصد داریم تأخیری به اندازه ١٠٠ میکروثانیه ایجاد کنیم. در این صورت ، عدد100_65535 را در رجیست Timer قرار می دهیم . بعد از ١٠٠ پریود Clock محتوای رجیستر به حداکثر خود می رسد و Overflow می شود و همزمان با آن بیت نشان دهنده سرریز نیز یک می شود . در واقع یک شدن بیت Overflow به معنی سپری شدن زمان مورد نظر است.

همانطور که گفته شد میكروکنترلر AT89C 51 دارای دو Timer است . این دو Timer با اعداد 0 و 1 نشان داده می شوند . همچنین رجیسترهای هر کدام از این دو Timer با همین دو رقم از هم تمیز داده می شوند . از این پس، برای حفظ کلیت مطالب، به جای 1یا ٠ از x استفاده می کنیم، زیرا این دو Timer (در حوزه کاری ما) کاملاً مشابهند

حال با دقت بیشتری سخت افزار Timer را بررسی می کنیم . رجیستر ١۶ بیتی Timer در واقع از دو رجیستر ٨ بیتی به نامهای TLX و THX تشكیل می شود. THX ،(Timer High byte) 8بیت بالا وTLX ٨ بیت پایین هستند. شكل بالا رجیستر ,

(Timer (Timer Low byteرا نشان می دهد.
 

mohandes_javan

عضو جدید
قطعه ای با قابلیت اجرای 30 میلیون دستور در ثانیه!!!

در مورد DSC ها به طور مختصر در بخش قبلی صحبت کردیم

DSC های سری dsPIC30F می توانند به سرعت اجرای 30 میلیون دستورالعمل در ثانیه یا 30 MIPS برسند

تمام قطعات از حافظه FLASH استفاده کرده و می توانند در محدوده وسیع دمایی تا 125 درجه سانتیگراد عمل کنند .


این قطعات در دو نسخه 20 MIPS و 30 MIPS موجود می باشند .

انواع مختلف بسته بندی برای هر قطعه وجود دارد . از نوع ظریف 28-pin QFN تا قطعات بزرگ DIP و همچنین قطعات با پایه های زیاد از نوع QFP .

برای بررسی کارایی قطعات سری dsPIC30F می توان جدول زیر را بررسی نماییم



این جدول مقایسه ای بین dsPIC30F و DSC های 16 بیتی دیگر را نشان می دهد . همانطور که مشاهده می شود dsPIC30F بالاترین توان محاسباتی را نسبت به رقبای مشابه اش دارا می باشد. (حتی در شرایطی که با کلاک بالاتر کار می کنند . ) این برتری تا حدود زیادی نتیجه توانایی های قدرتمند آدرس دهی داده می باشند . همچنین بر خلاف بقیه معماری ها , dsPIC30F هر دستورالعمل را در یک سیکل اجرا می کند.

همچنین امکان دستیابی به توان محاسباتی بالاتر (MIPS) در کلاک پایین تر باعث بهبود توان مصرفی خواهد شد .

قطعات این سری بر اساس کاربردشان به سه دسته تقسیم می شوند :

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

• خانواده پردازش سنسور

• خانواده های کنترل کننده های همه منظوره


از کاربردهای این میکرو می توان به موارد زیر اشاره نمود

• کنترل موتور جریان مستقیم بدون جاروبک (Brush – less DC motor)

• کنترل موتور جریان متناوب القایی (AC induction motor )

• کنترل موتور سوئیچ رلوکتانس (Switch reluctance motor )

• UPS , اینورتر و منابع تغذیه

• سیستم های قدرت , خودرو و کاربردهای صنعتی


قطعات این خانواده شامل واحدهایی می باشند که می توانند در کنترل موتورهای تک فاز و سه فاز و یا کاربردهای الکترونیک قدرت مورد استفاده قرار گیرند . این DSC ها مجهز به واحد PWM پیشرفته بوده که امکانات زیادی از جمله موارد زیر را در اختیار کاربر قرار می دهد :

1. درج خودکار زمان مرده ( automatic dead-time insertion) در سیگنالهای مکمل 500,000 نمونه در ثانیه

2. مبدل آنالوگ به دیجیتال 10 بیتی با 4مدار sample and hold همزمان

3. واسط Quadrature encoder برای تشخیص موقعیت و سرعت موتور

 

mohandes_javan

عضو جدید
چگونه از تایمرها استفاده کنیم؟

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

هر Timer می تواند چهار "رفتار" متفاوت داشته باشد که به هر یك از آنها یك "مد کاری" می گویند. از این چهار مد، ما تنها دو مد را بررسی می کنیم. مد 1 و مد 2

عملکرد Timer در مد 1 :

Timer در مد 1 از تمام 16 بیت خود برای شمارش استفاده می کند، یعنی بزرگترین عدد در Timer می تواند 65535 باشد. نتیجتاً طولانی ترین تأخیری که Timer در مد 1 می تواند به تنهایی ایجاد کند، کمی بیش از 65 میلی ثانیه است . در این مد، هر بار که Timer سرریز می شود، باید مقدار مورد نظر را دوباره در آن Load کرد . این عمل نیاز به چند میكروثانیه زمان دارد و زمانی که بازه زمانی مورد نظر کوچك باشد (مثلاً تولید موج KHz 100) این مسئله دقت را کاهش می دهد (مثلاً به جای KHz100، KHz80 خواهد شد)


عملكرد Timer در مد2 :

این مد مشكلی که در مورد مد 1 مورد بحث قرار گرفت را برطرف می کند. در مد 2 تنها هشت بیت از Timer برای شمارش استفاده می شود (بنابراین طولانی ترین تأخیر می تواند 255 میكرو ثانیه باشد). امّا 8 بیت دیگر Timer مقدار بعدی که باید در 8 بیت شمارنده قرار داده شود را ذخیره می کند. مثلاً برای تولید یك موج 100 KHz عدد 10_ 255 را هم در رجیستر شمارنده و هم در رجیستری ذخیره کننده قرار می دهیم، زمانی که برای اولین بار Overflow اتفاق بیفتد، با اینكه محتوای رجیستر شمارنده صفر شده است درست پس از Overflow ، به طور خودکار و توسط سخت افزار، مقدار 10-255 از رجیستر ذخیره کننده به رجیستر شمارنده کپی می شود و شمارش ادامه می یابد . به این ترتیب بدون اینكه زمان اضافی تلف شود Timer "دقیقا" هر 10 میكروثانیه یك بار Overflow می شود. این خاصیت را Auto Reload گویند.


رجیسترها و تنظیمات Timer :

پیش از آنكه از Timer ها استفاده کنیم لازم است ابتدا Timer را برای کار در مد مورد نظر تنظیم کنیم ، علاوه بر تعیین مد تنظیمات دیگری نیز لازم است که در زیر شرح داده می شود.

جدول رجیستر TMOD) Timer Mode) در زیر آمده است :


در قسمت بعد شرح کار بیت ها به طور مفصل توضیح داده خواهد شد
 

mohandes_javan

عضو جدید
ساخت و شبیه سازی مدارات الکتریکی

در مقاله قبلی در مورد متلب مختصری گفتگو کردیم که با عنوان "نرم افزار متلب" بود , یکی از کاربران تذکر به جایی دادند و ما از این پس به توضیح این نرم افزار تحت عنوان "نرم افزار متلب" خواهیم پرداخت

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

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

- سپس بررسی خواهیم کرد که چگونه یک مدار ساده از کتابخانه powerlib بسازیم .

- قطعات simulink را به مدارمان وصل می نماییم.

مدار زیر یک سیستم قدرت هم توان را که یک خط انتقال 300 کیلومتری را تغذیه می کند نشان می دهد, خط در طرف تغذیه با القاگر شنت جبران شده است یک Breaker اجازه باردار و بی بار کردن خط را می دهد برای ساده کردن بحث فقط یکی از سه فاز نمایش داده شده است پارامتر های نشان داده شده در شکل مقادیر مربوط به سیستم قدرت powerlib می باشند


ساختن مدار با کتابخانه powerlib

استفاده از رابط گرافیکی , اتصال قطعات simulink به قطعات قدرت را امکان پذیر می نماید . قطعات در کتابخانه ویژه ای به اسم powerlib گردآوری شده اند.

با وارد کردن دستور Powerlib در محیط MATLAB , کتابخانه قطعات سیستم قدرت را باز نمایید:

این فرمان یک پنجره simulink را نمایش می دهد که آیکون کتابخانه های مختلف را نشان می دهد.

ما می توانیم این کتابخانه ها را باز نماییم تا قطعاتی که به مدارمان کپی خواهد شد را ببینیم . هر قطعه با آیکونی که دارای ورودی و خروجی های منطبق بر ترمینالهای قطعه می باشد , نمایش داده می شود.


1- در پنجره powerlib از منوی file یک پنجره جدید که اولین مدار ما خواهد بود باز نماییم . آن را با نام circuit1 ذخیره نماییم .

2- کتابخانه منابع تغذیه (Electerical sources ) را باز نموده و یک منبع ولتاژ AC_Voltage_Source به پنجره circuit1 کپی می کنیم .

3- با دو بار کلیک کردن روی منبع ولتاژ AC , پنجره تنظیمات آنرا باز نموده و پارامترهای دامنه :(amplitude(V PEAK) , فاز: (Phase(deg) و فرکانس: Frequency Hz را مانند مقادیر نشان داده شده در شکل وارد نماییم .

4- اسم منابع ولتاژ را به Vs تغییر دهید .

5- قطعه شاخه موازی (Parallel RLC Branch) را که می توانید آن را در کتابخانه عناصر (Elements) بیابیم به مدار خود کپی نموده و پارامتر ها ی آن را همانگونه که در شکل نشان داده شده است تغییر می دهیم و اسم آنرا Z eq بگذارید.

6- مقاومت Rs eq می تواند از شاخه موازی RLC درست شود. قطعه شاخه موازی RLC که در حال حاضر در مدارمان وجود دارد را دوباره ایجاد می نمایید و پارامتر مقاومت (( Resistan R (ohms) را طبق شکل تغییر می دهیم و پارامتر های اندوکتانس ((Inductance L (H) و کاپاسیتانس ((Capasitance C(F) را به ترتیب به بینهایت (inf) و صفر (0) تغییر دهید . وقتی پنجره تنظیمات را ببیندید , متوجه می شوید که قطعات C,L نشان داده نمی شوند و آیکون در حال حاضر یک مقاومت ساده را نمایش می دهد . نتیجه مشابه ای می تواند با شاخه سری (Series RLC RLC Branch) رخ می دهد . با تغییر C,L به ترتیب به صفر و بینهایت .

7- این قطعه را Rs eq می نامیم.

8- کتابخانه اتصالات (Connectors) از powerlib را باز می کنیم و یک باس بار (Bus Bar) کپی می کنیم .

9- پنجره تنظیمات باس بار را باز می کنیم و پارامتر های آن را به دو ورودی (Number of input) و دو خروجی (number of output) تغییر می دهیم و نام آن را B1 قرار می دهیم . همچنین یک قطعه زمین (Ground) کپی می کنیم (قطعه زمین را با یک خروجی را انتخاب می نماییم ) طراحی اولیه مادر اینجا پایان یافت
 

mohandes_javan

عضو جدید
خانواده های یک تراشه

پیشتر در مورد تراشه های سری dsPIC30F آنها گفتگو کردیم حال در مورد پردازش سنسور این تراشه گفتگو می کنیم و برای مختصر و مفید بودن کار آنها را در یک جدول در زیر آوردیم


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


• تشخیص شکستگی شیشه

• سنسور گاز

• سنسور گشتاور

• سنسور فشار تایر

• سنسور هدایت زاویه

• سنسور باران

• سنسور هوشمند و کم مصرف

• سنسور پردازش کیسه هوا( Airbag )

• سنسور فشار

• اندازه گیری لرزش

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

این DSC ها همانند دو خانواده دیگر دارای توان محاسباتی بالایی می باشد که می توان در وظایف سنگینی نظیر ***** دیجیتال و آنالیز طیف فرکانسی استفاده نمود . علاوه بر این وسایل این خانواده مجهز به مبدل آنالوگ به دیجیتال 12 بیتی تا 10 کانل ورودی می باشند.

خانواده کنترل کننده های همه منظوره:


این خانواده بخش وسیعی از نیاز هایی مرتبط به DSC ها را پوشش می دهند که جهت سهولت در جدول بالا آمده است تایمر های با قابلیت های متعدد , تا 16 کانال مبدل آنالوگ به دیجیتال 12 بیتی و چندین رابط سریال از امکانات این قطعات می باشد همچنین برخی از آنها مجهز به واسط Codec بوده که از انتقال پر سرعت با استانداردهای AC97 و L^2 S پشتیبانی می کنند .


با تشکر فراوان از رضا سپاس یار
برگرفته از سایت : AVR.ir



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

mohandes_javan

عضو جدید
از ربات های ساده تا پیچیده

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


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

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


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

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

کاری که رباتها انجام می دهند، توسط میکرو پروسسرها(microprocessors) و میکروکنترلرها(microcontroller) کنترل می شود با تسلط در برنامه نویسی این دو می توانید دقیقا همان کاری را که انتظار دارید برای ربات برنامه ریزی کنید و آن را انجام دهد.


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

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





برگرفته از سایت samplerobot.com و iranmedar.com
 

mohandes_javan

عضو جدید
مبانی ترمیستور

همانطور که در مقاله قبلی گفته شد، نیم رساناهایی که به سبب ضریب مقاومت گرمایی زیادشان بکار می‌روند، به مقاومتهای حساس به دما یا ترمیستور thermistors که از عبارت temperature sensitive resistors گرفته شده ترمیستور از مواد نیمه هادی ساخته می شود، ترمیستور از اکسید فلزاتی چون منگنز، نیکل، کبالت، مس و یا آهن همراه با سیلیکون ساخته می گردد. رنج دمای آن 50- تا 150 و نهایت 300 درجه سانتیگراد می باشد، در بیشتر مصارف مقاومت آن در دمای 25 درجه سانتیگراد محاسبه می شود. بین 100 تا 100 کیلو اهم می باشد، البته ترمیستورهایی با مقاومت اولیه پایین تر از 10اهم و بالاتر از 40مگا اهم نیز استفاده می شود.

همانطور که گفته شد مقاومتهای حساس به دما در شاخه‌های مهندسی کاربردهای مهم و زیادی دارند. ترمیستورها به دو نوع تقسیم می شوند (Negative Temperature Coefficient NTC که با افزایش دما مقاومت آن کاهش می یابد و (Positive Temperature Coefficient ( PTC که با افزایش دما مقاومت آن کاهش می یابد.

ترمیستور نوع NTC حساسیت 3- % تا 6- دارد که در مقایسه با RTD خیلی بالاتر است که باعث می شود سیگنال پاسخ بهتری نسبت به ترموکوپل و RTD داشته باشد، از جهت دیگر حساسیت پایین RTD و ترموکوپل ، آنها را انتخاب خوبی برای دماهای بیش از 260 درجه سانتیگراد کرده است و این محدودیتی برای ترمیستور است.

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

مدار بهسازی

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

روش دیگر استفاده از مدار تقسیم ولتاژ است.که به دلیل مقاومت زیاد ترمیستور راه حل مناسبی می باشد.

روش دیگر استفاده از مدار زیر است.


میکروکنترلر PIC12C508 که توضیح داده می شود.

روش دیگر استفاده از مدار پایین است که روشی مشابه تقسیم ولتاژ می باشد. در این روش OP. Amp با نسبت مقاومت ترمیستور به Rs ولتاژ خروجی را تولید می کند.



یک کار دیگر استفاده از مدار مجتمع AD7711 است که یک A/D می باشد.







روش دیگر استفاده از مداری با IC ، AD7705 می باشد.





برگرفته از سایتهای: parsiblog.com و daneshnameh.roshd.ir
 

mohandes_javan

عضو جدید
آی سی های سری 74

اگر با قطعات الکترونیک سر و کار داشته اید و به تعمیر یا بررسی پرداخته اید قطعا می دانید که آی سی ها در یک نگاه ساده در دو نوع TTL ,CMOS در بازار موجود هستند نوع TTL و CMOS این آی سی ها دارای رتبه بندی های مختلفی است که شاید دانستن نام و نحوه نام گذاری آنها برای شما جالب باشد


نوع TTL آن شامل L،LS،S،AS،ALS و F می باشد به طور مثال آی سی مربوط به گیت منطقی AND را در نظر بگیرید این آی سی را شاید بتوانید در بازار با نام های 74L08،74LS08،74S08،74AS08، 74ALS08 و 74F08 بیابید، اگر به یکی از این آی سی ها با دقت نگاه کنید بعد از عبارت 74 شاهد یکی از عبارت های L،LS،S،AS،ALS و F و بعد از آن شماره آی سی را می بینید برای گیت AND بعد از این عبارات 08 را مشاهده می کنید که بیانگر گیت AND است این مطلب راجع به بقیه گیتها و آی سی ها نیز صادق است.

زیر گروه های تغذیه TTL

خانواده L ،LS ،AS ،ALS و F دارای تغذیه مثبت بین 4.5 تا 5.5 ولت است،در واقع این رنج از ولتاژ، ولتاژ قابل تحمل است و به بیان دیگر این آی سی در این رنج درست کار خواهد کرد، خانواده S دارای تغذیه مثبت بین 4.75 تا 5.25 است.

همان طور که احتمالا می دانید ولتاژهای خروجی و ورودی صفر یا یک ولت باینری دقیقا مساوی با صفر و یک ولت نیست به طور مثال

میزان ولتاژ خروجی در حالت 1 و 0

میزان ولتاژ خروجی در حالت صفر یا LOW برای تمامی گروه TTL برابر 0.3 ولت می باشد.

مقدار ولتاژ خروجی در حالت یک یا HIGH برای خانواده گروه L،LS و S برابر 3.4 ولت می باشد.

مقدار ولتاژ خروجی در حالت یک یا HIGH خانواده گروه AS و ALS از تفریق تغذیه مثبت آی سی از عدد 2 بدست می آید.

مقدار ولتاژ‌ خروجی در حالت یک یا HIGH برای خانواده گروه F نیز برابر 3.5 است.

جریان خروجی خانواده گروه TTL

مقدار جریان خروجی خانواده TTL به شرح زیر می باشد.

مقدار جریان خروجی برای خانواده گروه L برابر5mA منظور از mA (میلی آمپر) است

مقدار جریان خروجی برای خانواده گروه LS برابر 8mA

مقدار جریان خروجی برای خانواده گروه S برابر 40mA

مقدار جریان خروجی برای خانواده گروه AS برابر 20mA

مقدار جریان خروجی برای خانواده گروه ALS برابر 8mA

مقدار جریان خروجی برای خانواده گروه F نیز برابر 20mA

نوع CMos نیز شامل خانواده C،AC،HC و HCT می باشد

به طور مثال اگر یک آی سی AND خریداری کنید و نوع آن CMOS باشد ممکن است،بعد از عدد 74 هر یک از عبارت های بالا را ببینید.به طور مثال آی سی AND را می توانید به صورت زیر مشاهده کنید.

74HC08 ،74HCT08 ، 74C08 و 74AC08


میزان ولتاژ خروجی در حالت 1 و 0

در تمامی این خانواده ولتاژ خروجی در حالت LOW یا صفر برابر 0.1 ولتاژ مثبت است.

ولتاژ خروجی در حالت یک یا HIGH در خانواده گروه C از حاصلضرب 0.9 در مقدار مثبت منبع تغذیه بدست می آید.

ولتاژ خروجی در حالت یک یا HIGH در بقیه خانواده این گروه از تفریق مثبت تغذیه از مقدار عددی 0.1 بدست می آید.

جریان خروجی خانواده گروه CMOS

مقدار جریان خروجی آی سی های نوع CMOS

مقدار جریان خروجی برای خانواده گروه C برابر 3.3mA مقدار جریان خروجی برای خانواده گروه AC برابر 50mA

مقدار جریان خروجی برای خانواده گروه HC,HCT برابر 25mA

تغذیه گروه CMOS

خانواده گروه C در رنج ولتاژ‌ بین 3 تغذیه 3 تا 15 ولت کار می کنند

خانواده گروه AC ،HC و HCT بین تغذیه 2 تا 6 ولت کار می کنند



برگرفته از سایت Datasheet و sobhdam
 

mohandes_javan

عضو جدید
درایور با PIC

در این مقاله سخت افزار و نرم افزار به کار رفته در کنترل دو موتور پله ای را که برای رباتهای با درایور دیفرانسیلی , مناسب می باشند را شرح می دهیم



(روی عکس کلیک کنید)

این مدار دو کلمه دو بیتی را می پذیرد تا به هر یک از موتورها فرامین حرکت به جلو , عقب , تثبیت موقعیت و سکون را دهد همچنین هرگاه یک پله (گام) شکل گرفت (طی شد) , یک سیگنال خروجی ایجاد می کند.این مدار طرحی مناسب می باشد که با آن می توان تحریک سیم پیچ , سرعت موتور , شکل "کلمه کنترل " وسایر پارامترهای موتورهای تک قطبی و دو قطبی مبتنی بر میکروکنترلر را اصلاح کرد نرم افزار آن نیز , به زبانهای C و Assembly تهیه شده است.

مدار سخت افزار:

مدار مذکور شامل سه آی سی است: PIC16F84 و همچنین دو درایور پل H ,L293D برای موتورهای پله ای دوقطبی(شکل بالا) یا دو ULN2803 برای موتور پله ای تک قطبی است به جز منابع تغذیه , قطعات مدار تنها به: نوسانساز 4MHz , یک مقاومت بالاکش 10 کیلو اهم و چند کانکتور محدود می شود در این طرح یک بسته 6 تایی از باتری های 1.2 ولتی ,که اختلاف پتانسیل 7.2 ولت تولید می کنند به طور خطی تنظیم (رگوله) می شوند تا تغذیه منطقی 5 ولتی را تامین نمایند افت ولتاژ ترانزیستورهای دوقطبی درایور , به ولتاژ 7.2 ولت اجازه نمی دهد موتور را بیش از توان آن درایو کند.

" کلمه کنترل"به دو کلمه کنترل 2 بیتی شکسته شده است: دوبیت با ارزش تر که بیتهای 2و3 از PORTA هستند , موتور سمت چپ را کنترل نموده و دو بیت کم ارزش تر یعنی بیتهای 0 ,1 از PORTA موتور سمت راست را کنترل می کنند برای این مقادیر: 00 ,01 ,10 ,11 , کلمه کنترل به موتورها به ترتیب فرامین: جلو , عقب, تثبیت موقعیت و سکون را می دهد این ترتیب را می توان به سادگی عوض کرد

بنا به مدار طراحی شده, امکان کنترل سرعت موتور فراهم شده است بخصوص این که به پالس های کنترلی متناوب برای پیشبرد موتورها نیازی نیست بعلاوه هنگامی که یک گام (پله) طی شد, مدار یک سیگنال خروجی در بیت 4 از PORTA تولید می کند کنترل کننده اصلی می تواند این سیگنال را بازبینی کند تا هنگامی که کلمه کنترل باید تغییر کند را مشخص کند به عنوان مثال برای اینکه فاصله معینی به جلو حرکت نماید, پردازنده اصلی , تعداد گام های لازم برای دستیابی به این هدف را محاسبه نموده و به این ترتیب فرمان به جلو را به موتور صادر می کند وقتی که تعداد گام های لازم طی شد , کلمه کنترل می تواند به وضعیت ایست تغییر کند یا مجددا حرکت نماید در اکثر پردازنده ها عمل شمردن گام ها (پله ها) را می توان به یک فعالیت در پس زمینه موکول کرد تا این امر در هر زمان و بدون دخالت کاربر صورت گیرد.

نرم افزار:

دو نسخه از نرم افزار موجود است یکی در C2C که نسخه ای خاص از زبان C است و دیگری در زبان اسمبلی که با کمک چند ماکرو ساختارهای برنامه نویسی سطح بالا ایجاد می کند.

برنامه اصلی به سادگی و به تناوب ,PORTA را جهت یافتن تغییر در کلمه کنترل می خواند این فرایند هر از چند گاهی هنگامی که موتور به یک تحریک جدید نیاز داشته باشد توسط وقفه TMR0 متوقف می شود چون تحریک موتور دوره ای است , کنترل موتور در پس زمینه اجرا می شود.

نرم افزار موجود به ما اجازه تغییرات ساده ای در تحریک سیم پیچی موتور , کلمه کنترل و سرعت موتور را می دهد بدین ترتیب می توان به سادگی جدول تحریک را از لحاظ اندازه و محتوی برای نیم پله اصلاح کرد کلمات کنترل تنها یک شمارش(از صفر تا چهار) هستند بنابراین می توانیم ترتیب آنها را انتخاب کرده و در صورت لزوم , عوض نموده با تغییر مقدار اولیه TMR0 می توان سرعت را در مبنای دو تغییر داد تغییرات بهتر با ایجاد تغییر در مقدار اولیه TMR0 به دست می آیند.



عنوان اصلی مقاله : Dual Stepper Motor Driver for a Robot Differential Drive
 

mohandes_javan

عضو جدید
میکروکنترلر پیک

قبلا در مورد میکرو کنترلر ها صحبت کردیم و هم اکنون کمی آن ها را تخصصی تر خواهیم کرد

سالها پیش شرکت general یک تراشه با نام pic1650 تولید کرد که به صورت کامپیوتر هوشمند قابل برنامه ریزی مطرح شد


این تراشه مادر پیک بود و از لحاظ کارکرد با pic16c54 موجود مشابه است که عمدتا بعنوان سخت افزار جانبی میکروپروسسور cp1600 بکار برده می شود و شاید به همین خاطر است که عده زیادی بر این اعتقادند که پیک از سر کلمات کنترلر مدار واسط جانبی گرفته شده است اخیرا کمپانی microchip که سازنده میکرو کنترلرهای پیک می باشد این میکرو کنترلرها را با عبارت PICmicro MCUS معرفی کرده است.

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

اولین معیاری که می تواند در انتخاب یک میکروکنترلر بسیار موثر باشد موجود بودن در بازار است

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

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

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

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

نکته دیگر این که به ساختار و یا معماری تراشه بکار برده شده نیز باید توجه کرد عملکرد آن در چه حدی است؟ قابلیتهایی که در اختیار کاربر قرار می دهند چیست؟ و سرعت اجرایی آن چقدر است؟


چرا میکروکنترلر های پیک؟

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

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

 

Similar threads

بالا