نظرسنجي
نظر شما در مورد سايت چيست؟

عالي
خوب
متوسط
بد

تقويم
<    «  ارديبهشت 1403  »    >
شیدسچپج
1234567
891011121314
15161718192021
22232425262728
293031 
مطلب تصادفی
پست تصادفي:
» خودکاری برای کاهش استرس هنگام نوشتن
» كاملترين مجموعه جزوات ارزشمند PLC و ماشين ها ...
» سرخ کردن غذا با یک بازوی رباتیک
» آموزش کامل طراحی PCB با 08 Altium Designer
» كتاب الكترونيك كاربردي - كتاب هنرستان
» آخرين نسخه كدويژن (2.4.04a) محبوب با كرك كامل ...
» PWM چيست؟ (آموزش كامل PWM در كدويژن)
» پروگرامر USB جيبي AVR!
» آخرین نسخه کدویژن (2.05.0)
» 40 مكانيزم هاي جذاب براي ربات ها
رتبه در الكسا

مطلب اختصاصي مركز مكاترونيك ايران
توسط :محمدرضا ناظم

 

همواره يكي از مهمترين بخش هاي يك آسانسور و يا يك روبات رولر (چرخ دار) كنترل حركت و ميزان آن به صورت دقيق است. از قطعات بسيار مفيدي كه امروزه براي اين هدف استفاده مي شود، مي توان به انكودرها اشاره نمود. كه در حال حاضر به شكل هاي خاصي يافت مي شوند. هدف از اين آموزش آشنايي با انكودرهاي مكانيكي و يا نوري نيست، بلكه هدف بالاتري را در نظر داريم تا شما را با انكودرهاي جدا و انكودرهايي كه به صورت مجتمع با موتورها نصب شده اند را بررسي نماييم. در حقيقت اين انكودرها از نوع انكودرهاي مستقل و وابسته هستند كه هر دو از لحاظ عملكرد به يك شكل كار مي كنند.

روش عملكرد انكودر ها به اين صورت هست كه به ازاي مثلا يك دور كامل 3600 پالس توليد كنند. در نتيجه با شمارش پالس ها مي توان ميزان چرخش و در نتيجه ميزان جابه جايي را محاسبه نمود.

فرض كنيد يك چرخ با قطر 10 سانتي متر را به يك انكودر بسته ايم. در اينجا به ازاي هر دور چرخ 3600 پالس توليد مي شود كه در حقيقت اين 3600 پالس بيانگر محيط طي شده دايره چرخ مي باشد. كه با يك نسبت ساده در برنامه نوشته شده براي انكودر، قابل محاسبه خواهد بود. بديهي است هرچه تعداد پالس ها بيشتر شوند، دقت محاسبه حركت هم بيشتر مي شود ولي بايد اين نكته را هم در نظر گرفت كه آي سي متصل شده به انكودر نيز قادر به شمردن اين پالس ها با توجه به كريستال به كار برده شده در شمارنده، باشد.

از جمله انكودرهاي مستقل كه در حال حاظر در بازار به انكودر آسانسورها نيز معروفند، انكودرهاي Autonics  مي باشند كه با پالس هاي گوناگون و دقيق از جلمه 1024، 2048، 3600 (از 10 پالس تا 10000 پالس) در بازار مي باشند. اين انكودر ها در گروه بندي به انكودرهاي INCREMENTAL  نيز معروف هستند كه در ادامه به بحث  توضيح آنها خواهيم پرداخت.

 

 

 

عملكرد اصلي يك انكودر بر اساس توليد پالس هاست و هدف اصلي ما در اين آموزش ارائه ي روشي مطمئن براي شمارش اين پالس ها توسط AVR مي باشد.

و اما يك انكودر در عمل چگونه كار مي كند.

بسياري از انكودر هاي بازار داراي چند سيم مختلف هستند كه به طور كلي به صورت زير مي باشد:

1- سيم ولتاژ (VCC) انكودر

2- سيم زمين (GND)انكودر

3- سيم A براي پالس اول

4- سيم B براي پالس دوم با اختلاف فاز 90 درجه نسبت به پالس A

5- سيم Z  كه به ازاي هر دور كامل انكودر (از لحظه حركت آن ، تا يك دور كامل) يك پالس توليد مي كند.

6- سيم شيلد دار براي حذف نويز

 

تعداد پالس هاي توليدي A يا B براي شناسايي تعداد پالس ايجاد شده براي هر دور انكودر كافي است. ولي نكته اصلي اينجاست كه علاوه بر هر تعداد پالس، ما نيازمند به اطلاعات جهت چرخش نيز هستيم و اينجاست كه پالس B به كمك ما مي آيد. اين پالس به دليل اختلاف فازي كه دارد در چرخش هاي CW (ساعتگرد) انكودر جلوتر و در چرخش هاي CCW  (پادساعتگرد) انكودر عقب تر قرار مي گيرد. اين اختلاف به راحتي در شكل زير قابل مشاهده است (براي بزرگتر ديدن تصوير بر روي آن كليك كنيد):

 

آموزش راه اندازي انكودر صنعتي (Autonics) با بهترين روش
و اما روش شمارش پالس ها با AVR :
از مهمترين مواردي كه در شروع كار بايد در نظر گرفت، روش خواندن اين پالسها با خطاي نزديك به صفر درصد است . پس انتخاب بهترين روش، براي خواندني با اين دقت، نيازمند راهكارهايي است كه در ادامه ذكر خواهند شد.
گام هايي كه در اينجا براي شمارش پالس ها نياز است:
1- ساخت مدار ساده فليپ فلاپ از نوع D براي شناسايي پالس پيشتاز  (در حقيقت براي شناسايي CCW يا CW انكودر)
2- فعال سازي Interupt خارجي ميكرو براي شمارش تعداد پالس هاي توليدي و ارتباط اين پالس با ميكرو به بهترين شكل
3- ايجاد سطح ولتاژ مناسب آي سي براي حذف كاهش خطا با توجه به ولتاژ انكودر (5 ولت يا 12 ولت)
هدف بزرگ ديگري كه اين مقاله دنبال مي كند، ارائه روشي است كه از انكودرهاي 12 ولتي هم مانند انكودرهاي 5 ولتي بتوان استفاده نمود، ولي مشكل اصلي استفاده از انكودرهاي 12 ولتي، ايجاد پالس تا سطح 10 ولت است كه اين حد از مقدار قابل قبول AVR بيشتر بوده و منجر به آسيب رسيدن به اين آي سي مي شود. لذا در اينجا روشي را ارائه خواهيم نمود تا از اين آسيب نيز جلوگيري كامل به عمل آيد.
براي حل اين مشكل تقسيم مقاومتي مناسب، ولتاژ 10 ولت را به سطح 5 ولت مي آورد و قابل اعمال براي عملكرد صحيح فليپ فلاپ مي شود.
و اما شروع كار:
در مرحله اول مي خواهيم با آي سي 4013 يك فليپ فلاپ از نوع D (تاخيري) را براي اتصال به انكودر آماده سازي كنيم. (PDF اين آي سي در فايل پيوست قابل دانلود است.)
نتيجه خروجي اين فليپ فلاپ يك سطح منطقي صفر و يك است كه به يكي از پورت هاي آي سي وصل مي شود و براي شناسايي CCW  يا CW چرخيدن انكودر به راحتي استفاده مي شود. نكته مهم ديگر در مدار عملي اين فليپ فلاپ، استفاده از مقاومت هاي نويز گير هست كه حتما شما نيز در مدار عملي بايد از آنها بهره ببريد.
در زير شماتيك اين مدار را مي توانيد مشاهده كنيد (براي بزرگتر شدن تصوير، روي آن كليك كنيد...):
آموزش راه اندازي انكودر صنعتي (Autonics) با بهترين روش
همچنين از اين لينك مي توانيد فايل شبيه سازي و روش  استفاده از آي سي 4013 در پروتئوس 7.7 را دانلود كنيد. (احتمالا با ورژن هاي پايين تر مشكل خواهيد داشت.)
دانلود كنيد:
دانلود این فایل فقط برای اعضای سایت می باشد. اگر شما هم می خواهید دانلود کنید، باید در سایت عضو شوید.
و اما روش برنامه نويسي:
تا كنون با روش شناسايي جهت چرخش انكودر آشنا شديد. همانطور كه مي دانيد ، آي سي هاي AVR داراي Interrupt خارجي براي عمليات روي پالس هستند كه مي توانند در مدهاي زير عمل كنند.
توضيح اين حالت ها در حقيقت شرح بخش هاي مختلف وقفه خارجي در Wizard كدويژن است.
1- Low Level: با اعمال يك سطح پايين به پايه فعال مي شود . (در بعضي از ميكرو ها اين سطح پايين وجود ندارد.) مادامي كه INTX ميكرو در وضعيت صفر قرار دارد، اين وقفه فراخواني مي شود...
2- Falling Edge: وقفه با لبه پايين رونده پالس اعمالي به اينتراپت ميكرو، فعال ميشود.
3- Rising Edge : عكس حالت پايين رونده
4- Any Change : وقفه براي مورد 2 و 3 نام برده، با توجه به وضعيت پايه اينتراپت ميكرو فعال مي شود.
نكته: حداقل كريستال مورد نياز براي يك انكودر با دقت 1024 پالس، 8 مگاهرتز انتخاب شود تا مشكلي در دقت آن بوجود نيايد.
حال كه با وضعيت كلي وقفه ها آشنا شديد، به روش برنامه نويسي مي پردازيم:
در ابتدا با Wizard كدويژن تنها يكي از اينتراپت ها را فعال و آنرا به لبه بالا رونده حساس كنيد. (دقت كنيد پايه اي كه انتخاب مي شود، بايد مطابق پايه اي باشد كه در ديتاشيت AVR اينتراپت آن معرفي شده و شما در عمل پالس خروجي A يا B انكودر را به آن وصل كرده ايد.)
سپس براي آنكه اعداد بتوانند در حافظه آي سي به درستي قرار گيرند، بايد حافظه را آدرس دهي كنيد. براي اين كار به صورت زير متغير ها را تعريف كنيد:
;int  result=0
;float result2=0
;char x

;char buffer[33];// need spacechar *str=buffer,*str2=buffer
 
 
حال دستور زير را براي INTX خارجي ميكرو مي نويسيم:
 
 
 
  (interrupt [EXT_INTX] void ext_intX_isr(void

  

}

 

( if (PINC.0==0 

     ;result2=result2+1   

(if (PINC.0==1 

 ;result2=result2-1   

{

 

 
در اينجا فرض مي كنيم، نتيجه خروجي فليپ فلاپ را به پايه 0 پين C داده بوديم. (اين پايه همان جهت ساعتگرد يا پادساعتگرد انكودر را بيان مي كرد)
هدر stdlib.h را با دستورinclude به اول برنامه اضافه مي كنيم و عدد شمارش شده انكودر را با دستور زير به رشته تبديل مي كنيم:
;(void)ftoa(result2,0,str)

نتيجه در رشته str قرار مي گيرد كه مي توان با دستور (puts(str به خروجي برد. يا با دستور (lcd_puts(str بر روي ال سي دي به نمايش در آوريد.
در زير يك نمونه سورس كد تست شده با آي سي ATMEGA64 و با متصل نمودن 2 انكودر و همچنين ارسال اطلاعات بر روي كامپيوتر براي ديدن اعداد  قرار گرفته است:
براي دانلود كليك كنيد:
 
دانلود این فایل فقط برای اعضای سایت می باشد. اگر شما هم می خواهید دانلود کنید، باید در سایت عضو شوید.
  
 
بحث و سوال در مورد اين مطلب در انجمن:
 
 
 
 
   
 ( امتیازها: 13)
          بازديدها: 51165    نظرات:46
avatar

گروه کاربري: عضو سايت

مطالب: 0

نظرات: 2

انتخاب:

hasankarimi     

تاريخ: 19/03/1390 - 18:44

بسیار عالی بود.چون در محل کارم از انکودرها زیاد استفاده شده است .
[پاسخ]
avatar

گروه کاربري: مدير کل

مطالب: 52

نظرات: 32

انتخاب:

admin     

تاريخ: 19/03/1390 - 19:55

خواهش ميكنم. اميدوارم بتونيد از مطالب سايت به خوبي بهره ببريد.
ضمنا براي حل مشكلات شما دوستان، انجمن پاسخگوي سوالات شما خواهد بود و در آخر هر مطلب، لينك انجمن براي بحث در مورد مطلب اضافه شده است.
موفق باشيد
[پاسخ]
avatar

گروه کاربري: عضو سايت

مطالب: 0

نظرات: 2

انتخاب:

hasankarimi     

تاريخ: 21/03/1390 - 00:54

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

گروه کاربري: مدير کل

مطالب: 52

نظرات: 32

انتخاب:

admin     

تاريخ: 21/03/1390 - 02:15

حتما در آينده اطلاعات و مباحث جديدي رو شروع خواهم كرد. ولي در حال حاظر به دليل شروع امتحانات پايان ترم، وقت كافي نخواهم داشت. در آينده شاهد مقالات بيشتري خواهيد بود. در صورتي كه با نوع خاصي انكودر مشكل داريد يا نياز به اطلاعات داريد، در انجمن مطرح كنيد تا در اسرع وقت به آن رسيدگي كنم.
لطفا درخواست خود را دقيق تر مطرح كنيد و حتي مدل انكودري كه كار مي كنيد را مطرح نماييد تا بررسي شود.
موفق باشيد.
[پاسخ]
avatar

گروه کاربري: عضو سايت

مطالب: 0

نظرات: 2

انتخاب:

reza darvishzade     

تاريخ: 29/03/1390 - 12:55

اين كارتون عاليه smile-28
[پاسخ]
avatar

گروه کاربري: عضو سايت

مطالب: 0

نظرات: 1

انتخاب:

ahmad_f     

تاريخ: 14/10/1390 - 19:01

این خیلی خوبه که بتونیم اطلاعاتمونو دراختیاردیگران قراربدیم
انشا..تواین راه همیشه موفق باشید. smile-59
[پاسخ]
avatar

گروه کاربري: عضو سايت

مطالب: 0

نظرات: 1

انتخاب:

معصومه     

تاريخ: 3/02/1391 - 16:32

سلام خسته نباشيد
سايتتون خيلي خوبه و تشكر ميكنم اما ضمن تشكر يك انتقاد هم داشتم براي افرادي كه مبتدي هستنند و ميخواهند در رابطه با رباتيك پروژه يا مقاله بدند هم مطالبي بگذاريد كه از عهده توضيح اون مقاله در حضور استاد و هم شاگردي هانيز بر بيان.
ممنونم
[پاسخ]
avatar

گروه کاربري: ميهمان

مطالب: 0

نظرات: 0

انتخاب:

aminzade     

تاريخ: 19/02/1391 - 19:57

سلام يه راهي مي خواستم جهت برش ورق آهن با دقت زياد .ولي انكودر انتخاب مطمئني نيست اگه ممكنه منو راهنمايي كنيد 09131055024
[پاسخ]
avatar

گروه کاربري: ميهمان

مطالب: 0

نظرات: 0

انتخاب:

iman     

تاريخ: 31/05/1391 - 20:36

سلام
وقتی گفته می شه که یک انکودر 2500 ppr و 17 بیتی است یعنی چه؟
با تشکر
[پاسخ]
avatar

گروه کاربري: ميهمان

مطالب: 0

نظرات: 0

انتخاب:

iman     

تاريخ: 31/05/1391 - 21:57

انکودری که گفتم incremental می باشد.
[پاسخ]
avatar

گروه کاربري: عضو سايت

مطالب: 0

نظرات: 1

انتخاب:

jef55     

تاريخ: 22/09/1391 - 21:37

این لینک دومی خرابه میشه برام بفرستین
alimf931@yahoo.com

سلام ممنون
ببخشید سیم ششم که گفتین شیلد داره یعنی سیمی شبیه 5 سیم دیگه نیس/؟

این لینک دومی خرابه میشه برام بفرستین
alimf931@yahoo.com
[پاسخ]
avatar

گروه کاربري: عضو سايت

مطالب: 0

نظرات: 2

انتخاب:

mohamadmeihd     

تاريخ: 29/09/1391 - 21:53

لینک دوم خرابه
[پاسخ]
avatar

گروه کاربري: عضو سايت

مطالب: 0

نظرات: 2

انتخاب:

mohamadmeihd     

تاريخ: 30/09/1391 - 05:20

آقا لینک دوم خرابه می شه درستش کنین؟
[پاسخ]
avatar

گروه کاربري: عضو سايت

مطالب: 0

نظرات: 1

انتخاب:

nasrim     

تاريخ: 20/03/1392 - 13:44

نميتونم دانلود كنم؟ چرا؟
[پاسخ]
avatar

گروه کاربري: عضو سايت

مطالب: 0

نظرات: 23

انتخاب:

alexeiypetov     

تاريخ: 31/03/1392 - 17:50

[پاسخ]
avatar

گروه کاربري: عضو سايت

مطالب: 0

نظرات: 23

انتخاب:

alexeiypetov     

تاريخ: 3/04/1392 - 15:19

[پاسخ]
avatar

گروه کاربري: عضو سايت

مطالب: 0

نظرات: 1

انتخاب:

niki     

تاريخ: 26/04/1392 - 08:55

بسیار بسیار متشکر
[پاسخ]
avatar

گروه کاربري: عضو سايت

مطالب: 0

نظرات: 1

انتخاب:

natanaeal     

تاريخ: 1/05/1392 - 22:59

سلام

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

ممکنه هر اطلاعاتی از انکدر برنامه ریزی شده با پی ال سی دارید به منم بگید؟

"لطفا"
[پاسخ]
avatar

گروه کاربري: عضو سايت

مطالب: 0

نظرات: 1

انتخاب:

sayyedm     

تاريخ: 15/05/1392 - 08:43

سلام
لینک دوم خرابه
[پاسخ]
avatar

گروه کاربري: عضو سايت

مطالب: 0

نظرات: 1

انتخاب:

تکنوکنترل     

تاريخ: 11/06/1392 - 11:57

بسیار ممنونم خدا خیرتون بده
[پاسخ]
avatar

گروه کاربري: عضو سايت

مطالب: 0

نظرات: 1

انتخاب:

dojajeh     

تاريخ: 27/06/1392 - 18:39

chera linke dovomo eslah nemikonid%3F
mamnon misham
[پاسخ]
avatar

گروه کاربري: عضو سايت

مطالب: 0

نظرات: 23

انتخاب:

[پاسخ]
avatar

گروه کاربري: ميهمان

مطالب: 0

نظرات: 0

انتخاب:

akbar     

تاريخ: 23/08/1392 - 23:42

خیلی عالی بود متشکرم
[پاسخ]
avatar

گروه کاربري: عضو سايت

مطالب: 0

نظرات: 1

انتخاب:

pedramd7     

تاريخ: 7/09/1392 - 17:15

لینک دانلود خرابه
یعنی دانلود میشه ولی فایل خرابه باز نمیشه!!!!!
[پاسخ]
avatar

گروه کاربري: عضو سايت

مطالب: 0

نظرات: 1

انتخاب:

samadi_d     

تاريخ: 3/11/1392 - 18:08

سلام لینک برنامه خرابه اگه امکان داره یکبار دیگه upload کنید
[پاسخ]
avatar

گروه کاربري: عضو سايت

مطالب: 0

نظرات: 2

انتخاب:

MNR     

تاريخ: 9/11/1392 - 21:42

سلام
سیم شیلد دار رو باید به گراند وصل کنیم؟
ببخشید که سوال سطح پایین میپرسم اخه تازه کارم :دی
[پاسخ]
avatar

گروه کاربري: عضو سايت

مطالب: 0

نظرات: 1

انتخاب:

RPA     

تاريخ: 16/11/1392 - 17:08

سلام لینک برنامه خراب شده اگر میشه دوباره upload کنید
[پاسخ]
avatar

گروه کاربري: عضو سايت

مطالب: 0

نظرات: 23

انتخاب:

alexeiypetov     

تاريخ: 20/12/1392 - 02:46

[پاسخ]
avatar

گروه کاربري: عضو سايت

مطالب: 0

نظرات: 1

انتخاب:

a.asghar25     

تاريخ: 15/01/1393 - 19:36

meghsiiiiiiiiiiiiiiiiii
[پاسخ]
avatar

گروه کاربري: عضو سايت

مطالب: 0

نظرات: 1

انتخاب:

dghadri     

تاريخ: 17/07/1393 - 20:36

salam... kheili mofid bod ...
faghat link 2 kharabe....
man mikham 4 ta step motor ba ATMEGA64 rah andazi konam baraye tashkhis khataha az encoder estefade konam....nemidonam che joori in kar bekonam:%3F

[پاسخ]
ارسال نظر

 نام شما:  ايميل:
تصوير کد:
دو منهای سه

کد امنيتي:
موضوعات
باز کردن همه شاخه ها | بستن كل شاخه ها

آمار سايت
آمار مطالب:
  يک ساعت پيش: 0
  امروز: 0
  اين ماه: 0
  مجموع مطالب: 95
  کل نظرات: 462



آمار بازديد:
  بازديد امروز: 145
  بازديد ديروز: 106
  مجموع بازديدها: 4689105



آمار کاربران:
  يک ساعت پيش: 0
  امروز: 1
  اين ماه: 2
  مجموع کابران: 11031
  بن شدگان: 4

آخرين عضو مكاترونيك:


rohollah shami

رتبه گوگل
Display Pagerank