راهاندازی ماژول وای فای HLK-Rm04
۱۱ آبان ۱۳۹۷درایور موتور دی سی AMD8 با قابلیت کنترل دور موتور با استفاده از ولتاژ آنالوگ
۱۱ آبان ۱۳۹۷در این مقاله مراحل طراحی و ساخت یک انکودر افزایشی توضیح داده خواهد شد. امیدواریم مطالب بیان شده گامی در جهت نزدیک شدن به پیشبرد آموزش رایگان برای همه باشد.
انکودر چیست؟
انکودر وسیلهای جهت محاسبه مقدار جابجایی، سرعت، جهت و شتاب موتور میباشد و از آن در سیستمهایی استفاده میشود که نیازمند کنترل دقیق موقعیت، سرعت و شتاب هستند. انکودر بر اساس ساخت و نوع خروجی در دو نوع کلی افزایشی یا مطلق قرار میگیرد. تفاوت اصولی این دو نوع انکودر در این است که انکودر نوع مطلق علاوه بر جهت، سرعت و شتاب، موقعیت روتور را نیز بر میگرداند بدینصورت که برای هرنقطه از محور یک کد منحصربفرد تولید میکند که درصورت قطع برق مکان روتور را از دست نخواهیم داد، بر خلاف انکودر نوع افزایشی که درصورت قطع برق موقعیت روتور ازدست خواهد رفت. علاوه براین، خروجی انکودر نوع مطلق تعدای بیت میباشد (بسته به رزولوشن مورد نیاز) که این بیتها وقتی در کنار هم قرار میگیرند یک کد گری (Gray Code) را تشکیل میدهند و با استفاده از یک مدار منطقی ساده میتوان آن را به کد باینری تبدیل کرد که این مقدار باینری موقعیت محور را تعیین میکند. هر چه تعداد این بیتها بیشتر باشد رزولوشن نیز بیشتر است.
خروجی انکودر نوع افزایشی قطاری از پالسها میباشد، از آنجایی که تنها از روی یک پالس نمیتوان جهت چرخش موتور را بدست آورد لذا نیاز است که دو پالس تولید کنیم (پالس A و پالس B) که این دو پالس باهم ۹۰ درجه اختلاف فاز دارند و با توجه به اینکه لبهی بالاروندهی کدام پالس زودتر ایجاد میشود جهت چرخش مشخص میگردد.
از طرف دیگر از آنجا که این دو پالس ۹۰ درجه با یکدیگر اختلاف فاز دارند اگر پالس های A و B را در یک دوره تناوب به چهار قسمت تقسیم کنیم در نتیجه با توجه به وضعیت پالس ها در هر قسمت یکی از چهار حالت زیر به وجود می آید:
بنابراین با بهرهگیری از این چهار حالت میتوان دقت انکودرها را تا چهار برابر افزایش داد. در صورت نیاز پالس سومی (پالس Z) که نشانگر چرخش یک دور کامل شفت موتور میباشد را نیز میتوان تولید کرد، که این پالس به ازای هر دور موتور یک لبه بالارونده خواهد داشت و بلافاصله صفر میشود.
نحوه محاسبه سرعت با استفاده از انکودر افزایشی
با استفاده از فرمول زیر میتوان سرعت چرخش موتور را بر حسب دور بر دقیقه محاسبه کرد.
به عنوان مثال اگر انکودری داریم که در هر دور ۲۴۵ پالس تولید میکند، حال اگر در مدت ۵ ثانیه تعداد ۲۴۵۰ پالس از کانال A یا B آن دریافت کرده ایم سرعت آن به صورت زیر محاسبه می شود:
به عبارتی شفت این موتور در هر دقیقه ۱۲۰ دور خواهد زد.
ساختار انکودر
هر انکودر افزایشی شامل یک دیسک شیاردار میباشد (تعداد شیارها دقت انکودر را نشان میدهد که هرچه بیشتر باشند دقت انکودر بیشتر میشود) که به شفت موتور متصل شده و بسته به نوع انکودر یک یا دو یا سه عدد optocounter در کنار این دیسک قرار داده میشود (برای تولید یک پالس A یا دو پالس A,B و یا سه پالس A , B , Z) مشابه شکل زیر:
اپتوکانتر قطعهای میباشد که شامل یک فرستندهی مادون قرمز و یک ترانزیستور نوری است زمانی که بین فرستنده مادون قرمز و ترانزیستور نوری، مانعی وجود نداشته باشد ترانزیستور نوری به اشباع میرود و خروجی optocounter در سطح صفر قرار می گیرد و در صورتی که بین فرستنده و ترانزیستور مانعی وجود داشته باشد ترانزیستور به حالت قطع رفته و خروجی optocounter به high می رسد. (البته در صورت بستن مدار لازم جهت راه اندازی optocounter).
اما از آنجا که خروجی اپتوکانتر پالس مربعی سالم با دامنه صفر و پنج ولت نیست، مثلا در مدار مورد آزمایش ما پالس خروجی اپتوکانتر دارای سطوح ۱.۷ و ۴.۲ ولت میباشد، نیاز به مداری داریم که این پالس را به سطوح صفر و پنج ولت تبدیل کرده و نویز موجود در پالس را حذف کند، که برای این منظور باید از مدار اشمیت تریگر استفاده کنیم و سطوح ولتاژ خروجی را به سطوح ولتاژ منطقی تبدیل کنیم که ما از آیسی 74HC14 استفاده کردهایم.
74HC14 یک آیسی اشمیت تریگر معکوس کننده است که دارای شش کانال ورودی است و سطح ولتاژ زیر Vm را به سطح پنج ولت و سطح ولتاژ بالای Vm را به سطح صفر ولت تبدیل میکند که Vm = 0.5Vcc میباشد.
در زیر مدار مورد نیاز برای ساخت یک انکودر افزایشی را مشاهد میکنید:
همچنین در زیر بورد انکودر که بر روی موتور نصب شده است را مشاهده میکنید:
گردآوری: مسیح وزیری
تنظیم و ویرایش: محمود حسنپور دهنوی
5 Comments
میشه برنامه طراحی انکدر توسط میکروکنترلر برام بفرستید.ممنونم
به لینک زیر مراجعه فرمایید.
https://robotmakers.ir/7-2-%D9%86%D8%AD%D9%88%D9%87-%DB%8C-%D8%B1%D8%A7%D9%87-%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C-%D9%88%D8%A7%D8%AD%D8%AF-timer-counter-%D9%88-%D8%B4%D9%85%D8%A7%D8%B1%D8%B4-%D8%AA%D8%B9%D8%AF%D8%A7%D8%AF/
سلام
من برای تولید انبوه انکودر آمادگی سرمایه گذاری و مشارکت دارم.توان تولید اجزای مکانیکی انکودر رو هم دارم؛ دنبال شراکت با یک نفر یا یک تیم متخصص الکترونیک و کنترل میگردم؛ اگر کسی در این زمینه تمایل داره میتونه با من تماس بگیره.
سلام بنده میتونم کمکتون کنم
[…] طراحی و ساخت انکودر افزایشی […]