طراحی و ساخت ربات گارسون
۲۵ مرداد ۱۳۹۷علت نیاز به ربات ها در صنعت کشاورزی
۲۵ مرداد ۱۳۹۷انکودر دورانی یا Rotary Encoder
انکودرها تجهیزاتی برای حس موقعیت، سرعت یا شتاب هستند که در سیستمهای مختلف مورد استفاده قرار میگیرند. این تجهیزات از سخت افزارهای مختلفی برای حس وضعیت شفت استفاده میکنند که میتوان به موارد زیر اشاره کرد:
- انکودرهای مغناطیسی
- انکودرهای لیزری
- انکودرهای نوری
از سوی دیگر پالس خروجی انکودرها به دو صورت مطلق (ابسولوت Absolute) و افزایشی (اینکریمنتال Incremental) میباشد. خواندن انکودرها به چند طریق مختلف با پردازندهها امکان پذیر است: از طریق تایمرها، وقفه ها و …
انکودرها عموما دارای دو پالس خروجی A و B میباشند که به کاربر کمک میکند با خواندن پالسها و تقدم و تاخر آنها موقعیت و جهت چرخش شفت را تشخیص دهند. چگونگی این امر در شکل زیر کاملا مشهود است:
برای خواندن بایستی به این شکل عمل کرد (برای مثال توسط خواندن وقفهها در پردازندهها) که ابتدا وقفه توسط هر کدام از پالسها که صادر شد، وضعیت پالس دیگر میتواند جهت چرخش را به ما نشان دهد. در این استراتژی هر زمان که جهت چرخش شفت عوض شود انکودر به صورت افزایشی یا کاهش میتواند عمل کرده و موقعیت شفت به درستی به کاربر گزارش داده شود.
یکی از مشکلات مهم در خواندن پالسهای انکودر نویزهای ایجاد شده هستند که بعضا به عنوان پالس تلقی شده و سبب ایجاد خطا در سیستم خواهند شد. این نویزها که عموما بدترین شکل آنها پرش یا Bounce نام دارد سبب خواهد شد تا سیستم اشتباها وارد وقفه شده و اشتباها نویز به عنوان پالس تلقی گردد. در تصویر زیر نمایی از یک پالس را مشاهده خواهید کرد که به صورت پرش ایجاد شده و در شمارش میکرو نیز این مقدار لحاظ شده است.
این پرشهای بایستی فیلتر شوند که به این عمل Debouncing گفته میشود. این فیلتر کردن به دو صورت سختافزاری و نرمافزاری قابل اجراست. فیلترهای سخت افزای با شماتیکهای بسیاری وجود دارند که میتوان از آن استفاده نمود، فقط فراموش نکنید که فرکانس کاری در تعیین مقادیر مقاومت و خازنهای فیلترینگ بسیار مهم میباشند.
میتوانید برای کسب اطلاعات بیشتر این ویدئو را تماشا فرمایید. همچنین می توانید برای راه اندازی انکودر توسط برد محبوب آردوینو به این صفحه مراجعه فرمایید.
ارتباط با ما
به منظور مشاوره و ارتباط با ما؛ در تلگرام به آیدی زیر پیام بدهید:
یا با شماره تلفن:
تماس حاصل فرمایید.
سایر راههای ارتباطی را در صفحه «تماس با شرکت رباتسازان» در اختیار شماست.
6 Comments
ِلطفا در مورد انکودر نوری صنعتی هم اطلاعات بدهید.و اگر کلاسی در این رابطه دارید . با ایمل بنده را در جریان بگذارید.سپاسگزارم
[…] چگونه خروجی انکودر دورانی را بخوانیم؟ […]
سلام
من برای تشخیص سرعت و جهت دوران از دو سنسور مغناطیسی و برد آردوئینو استفاده کردم
اما متاسفانه
وقتی سرعت دورانی کم است پاسخ ها درست هستند
اما وقتی سرعت زیاد می شود به نظر میاد سیستم عقب می میاند و پاسخ های غلط می دهد
لطفا راهنمایی فرمایید
خروجی سنسور مغناطیسی رو به کدوم پایه های آردئینو وصل کردین؟ واسه شمارش پالسها از اینتراپت استفاده کردین یا تایمر؟
به پایه های دیجیتال
و
تایمر
توی سرعتهای بالا به دو دلیل میتونه خطا رخ بده. ۱: اگر حجم کد زیاد باشه و شما با استفاده از اینتراپت شمارش رو انجام بدین توی سرعتهای بالا پردازنده کلاک کم میاره و پالس از دست میدین. ۲: توی سرعتهای بالا شکل موج پالسهای انکودر از حالت ایده آل خارج میشن و یک سری نویز و لبه های ناخواسته روی پالسها به وجود میاد که خودش خطا ایجاد میکنه. واسه رفع مشکل اول نباید با اینتراپت شمارش رو انجام بدین و باید از واحد مخصوص شمارش انکودر استفاده کنین. واسه رفع مشکل دوم باید ببینین توی سرعت بالا فرکانس پالسها چقدر هست و یک فیلتر مناسب سر راه پالسها و نزدیک به آردوئینو قرار بدین.