در این آموزش قصد داریم در مورد انکودرها صحبت کنیم. ابزاری که در بسیاری از صنایع برای تولید فیدبک کاربرد دارد.
ممکن است تا به حال نام انکودر به گوشتان خورده باشد و یا اینکه شنیده باشید که در صنایع بسیاری برای تولید فیدبک از چیزی به نام انکودر استفاده میکنند.
با سادهترین کلمات و فارغ از انواع مختلفی که انکودرها دارند و در ادامهی بحث در مورد آنها صحبت خواهیم کرد، انکودرها سنسورهایی هستند که موقعیت ، جهت ، سرعت و شمارش را تشخیص میدهند.
انکودرها با استفاده از تکنولوژیهای مختلفی که دارند، حرکت را تشخیص داده و آن را به یک سیگنال الکتریکی ترجمه میکنند. سپس این سیگنال به یک کنترلر ارسال میشود. مثلا به یک PLC . در آنجا تفسیر و مقیاس ( معمولا بزرگنمایی) میشود تا در نهایت تبدیل به مقداری شود که در قسمتهای دیگر برنامه از آن استفاده میشود.
انواع انکودرها و تکنولوژی های به کار رفته در آن ها
در انکودرها از قطعات مختلفی استفاده میشود؛ از جملهی آنها میتوان این موارد را نام برد :
- قطعات مغناطیسی
- قطعات مکانیکی
- قطعات مقاومتی
- قطعات نوری
و بخش قطعات اپتیکال یا نوری، پرکاربردترین مورد در تشخیص و ترجمهی حرکت هستند.
انکودرها را براساس عملکردشان به دو دستهی افزایشی (Incremental) و مطلق (Absolute) تقسیمبندی میکنند اما ما در این آموزش به توضیح تفصیلی و تفاوت این دو دسته نمیپردازیم و آن را به آموزش دیگری موکول میکنیم.
مبانی عملکرد انکودرها
در حال حاضر، به عنوان یک مثال برای انکودرهای افزایشی، انکودر اپتیکال را داریم که در آن از اشعهی نوری که از میان یک صفحهی دیسک مانند عبور میکند استفاده میشود تا حرکت سنجیده شود. این صفحهی دیسک مانند بر روی خود دارای شیارهایی باریک است که طول آنها و فاصلهشان از یکدیگر الگوی مشخصی دارد. نتقریبا چیزی مشابه پرههای یک چرخدنده.
در این سوی صفحه، یک دستگاه تشخیص نور وجود دارد که اشعهی نوری تابیده شده را براساس الگوی شیارهایی که بر روی دیسک قرار دارند دریافت نموده و تفسیر میکند. در واقع وجود این شیارها موجب میشود با فاصلههایی معین، مسیر عبور اشعهی نور به طور متوالی باز یا مسدود شود.
این پالسهای نوری که با چنین الگویی دریافت میشوند، طی فرآیندی به سیگنالهای الکتریکی تبدیل میشوند و به عنوان خروجی انکودر، در قالب فیدبک مجددا به پروسسو تحویل داده میشوند.
طیف کاربردهایی که انکودرها میتوانند داشته باشند بسیار وسیع است. به عنوان مثال در کاربردهای کنترل حلقه بسته (مانند کنترل VFD یا سرو کنترل) ، در اندازهگیریها، در شمارندهها و …
فیلم عملکرد انکودر
در بخش بعدی میخواهیم برخی از فرآیندهایی که از انکودر در آنها استفاده میشود را با هم ببینیم.
استفاده از انکودر در کنترل سرعت VFD
خب، فرض کنید که بخواهیم یک مخزن را با کمک یک پمپ از مایعی پر کنیم و سرعت این فرآیند را با VFD کنترل کنیم. به طور دقیقتر، ما احتمالا دوست داریم که سرعت پر شدن مخزن از مایع سرعت مشخصی باشد و VFD نصب شده روی پمپ هم روی همین سرعت تنظیم شود.
وجود یک انکودر درون VFD باعث میشود که VFD بتواند در هر لحظه از سرعت فیدبک بگیرد و آنقدر آن را اصلاح کند تا دقیقا به همان سرعت تنظیمشده برساند.
استفاده از انکودر در فرآیند های اندازه گیری
در این مثال میخواهیم نقش انکودر را در یک پروسهی اندازهگیری بررسی کنیم.
فرض کنیم داستان از این قرار است که شما میخواهید ورقههای آلومینیومی را با ابعاد مشخصی برش بزنید. این ورقهها از روی یک غلتک بلند ( در حدود صدها فوت مثلا) عبور میکنند و در نقاط مشخصی برش زده میشوند. بنابراین دو نکته حائز اهمیت است. اولا اینکه بدانید محل برش کجا باشد و دوما اینکه بدانید هر بار چه مقدار ورقهی آلومینیومی باید از رول اصلی وارد غلتک شود. به این ترتیب در پایان فرآیند شما تعداد مشخصی ورقهی آلومینیومی خواهید داشت که هرکدام ابعاد معین و کاربردهای مختلفی دارند. اگر یک انکودر درون غلتک یا همان نوار نقاله تعبیه شود، میتواند مقدار ورقهی عبور کرده در هر لحظه را تشخیص دهد و از روی آن مقدار ورقهی باقیمانده را به عنوان فیدبک برای قسمت برش ارسال کند تا باقیماندهی رول نیز به درستی برش بخورند.
استفاده از انکودر در کاربردهای شمارنده
به عنوان یک مثال برای کاربرد شمارندهها این پروسه را در نظر بگیرید که در کارخانهای یک نوار نقاله داریم که تعدادی بطری بر روی آن قرار دارند. نقاله در حال حرکت است و تعداد این بطریها با سنسور چشمی یا دوربینی شمرده میشود. همچنین این بطریها یک درپوش دارند که یک فویل آلومینیومی ضددستکاری (tamper-proof) نیز در بالای آن نصب میشود. این درپوش و فویل ها باید در همین مسیر بر روی بطریها قرار داده شود.
زمانی که درپوش به درستی بر روی بطری قرار دادهشد و فویل آلومینیومی کاملا مهر و موم شد، بطری از نوار نقاله پایین میآید و در همین حین سنسور دیگری مشابه سنسور قبلی خروج آن از نقاله را که به معنای اتمام پروسهی درپوشگذاری است، ثبت میکند.
اما چنین پروسهای چه نیازمندیهایی دارد؟
در یک بازهی مشخص زمانی، دقیقا به همان تعداد بطری که وارد نوار نقاله شده است، به همان تعداد هم باید از آن خارج شود و الا ظرفیت آن پر شده و پروسه به هم میریزد.
بطریها نیاید در مقابل هیچ کدام از سنسورهای ورودی یا خروجی توقف داشته باشند.
هیچ کدام از بطریها نباید بیشتر از زمانی که از قبل برنامهریزی شده است، در معرض دستگاهی که درپوشها را قرار میدهد قرار گیرند.
چنین فرآیند تولیدی باید آنقدر منعطف باشد که بتواند انواع مختلفی از بطریها را مدیریت کند و سنسورهای وردی و خروجیاش نیز همه چیز را به درستی ثبت و ضبط کنند.
مثلا تصور کنید که برخی بطریها بطریهای دارویی باشند. بدون دسته اما با ابعاد استاندارد.
یا مثلا بطری ضدیخ را در نظر بگیرید که ابعاد و دستهای بلند دارد اما درپوشی کوچک.
خب؛ ایدهای دارید که چگونه میخواهید نیازهای چنین خط تولید متنوع و منعطفی را برآورده کنید؟
اگر بطریها همه از یک نوع باشند؛ مثلا فرض کنید همگی بطری قرص باشند، مشکلی نخواهیم داشت : بطریها وارد نقاله میشوند، درپوش و فویل آنها قرار داده میشود، از نقاله خارج میشوند و هیچ کدام از دو سنسور در شمارش خود خطا نمیکنند.
اما اگر هر کدام از نیازمندیهای بالا برآورده نشوند، بطریها وارد میشوند و ممکن است برخی از آنها توسط سنسورها شمرده نشوند. در این صورت کل ماشین متوقف شده و آلارم خطا داده میشود.
بطریهای ضدیخ چطور؟
روی نقاله قرار میگیرند، در مقابل سنسور ورودی شمرده میشوند و قدری جلوتر که متوقف میشوند تا درپوش آنها بر رویشان قرار داده شود، به علت ابعاد و دستهی بزرگی که دارند، سنسور ورودی دستهی آنها را به عنوان بطری بعدی تشخیص داده و مجددا یک عدد دیگر خواهد شمرد! به عبارتی هر بطری در ورودی دو بار شمرده میشود و همین امر موجب میشود که سنسور ورودی احساس کند که در ورودی نقاله ازدحام بوجود آمده و آلارم خطا ارسال کند.
اما چگونه میتوانیم به این ماشین بفهمانیم که این هم یک وضعیت نرمال است و خطایی ایجاد نشده، فقط شکل بطریها تغییر کرده است؟!
پاسخ را احتمالا خودتان هم میتوانید حدس بزنید؛ بله کافیست از یک انکودر و یک سوییچ سلکتور ( انتخابگر) استفاده کنیم تا هر بار ماشین روی یک مود راهاندازی شود؛ مثلا یک بار مود بطریهای ضدیخ با تنظیمات خاص خودشان و بار دیگر مود بطریهای کوچک قرص با تنظیمات مخصوص خودشان.
خب ، حالا فرض کنیم که دستگاه را در مود بطریهای ضدیخ راهاندازی کردهایم. بطریها را وارد نقاله میکنیم و از قبل اطمینان حاصل میکنیم که پروسهی درپوش گذاری نیز بهدرستی عمل میکند.
به محض ورود اولین بطری برنامه آن را خوانده و به عنوان ورودی انکودر ثبت میکند. همچنین اگر توقف به دلیل درپوشگذاری باشد نیز آن را به عنوان درپوش ثبت میکند نه به عنوان بطری. در مورد دستهی بطری نیز همین اتفاق رخ میدهد و اگر سنسور آن را مشاهده کند، تشخیص میدهد که این درپوش و یا ورودی جدید نیست و احتمالا دستهی همان بطری است. بطری طول نوار نقاله را طی میکند تا به مقابل سنسور خروجی برسد. در آن نقطه مجدد انکودر یک ورودی خواهد داشت که از طریق سنسور ورودی هم ثبت شده بود، پس مطمئن میشود که همه چیز درست و طبق برنامه است و بطریای که ورود آن ثبت شده است، اکنون خارج میشود نه بطری دیگری. پس یکی به شمارنده اضافه میکند.
حال کافیست در کد برنامه تعداد ورودیها را از خروجیها کم کنید تا تعداد بطریها بدست آید. اکنون شما میتوانید مشخص کنید که زمان عبور هر بطری از روی نوار نقاله، از ورودی تا خروجی دقیقا چقدر است و اینکه آیا این زمان در بازهی زمانی مشخص شده از قبل هست یا خیر. تمام اینکار ها را به کمک انکودر میتوان انجام داد.
همچنین با کمک انکودر و سلکتور توانستهاید انعظافپذیری لازم برای سازگاری دستگاه با انواع مختلف بطریها را ایجاد کنید در حالیکه فاصلهی سنسورهای ورودی و خروجی از هم نیز فاصلهی منطقیای باشد.
به این ترتیب کد به گونهای نوشته میشود که انکودر تشخیص خواهد داد زمانی که بلافاصله پس از یک بطری، ورودی جدیدی ثبت میشود، این ورودی احتمالا دسته یا درپوش همان بطریست، پس آن را در نظر نمیگیرد و آلارم خطا نیز اعلام نخواهد کرد!
زمانی که ورود یک بطری در انکودر ثبت میشود، براساس زمانبندیهای بدست آمده، ماشین به طور ضمنی میداند که این بطری در چه زمانی از روی نقاله خارج خواهد شد.
و اگر مطابق این محاسبات، بطریای که ورود آن ثبت شده است، خروجش ثبت نشود، ماشین تشخیص میدهد که خطایی رخ داده، پس پروسه را متوقف و اعلام هشدار میکند.
میبینیم که در این مثال، به لطف استفاده از انکودر چقدر همهچیز خوب و دقیق و برنامهریزی شده میتواند انجام شود. همه چیز تحت کنترل و قابل تنظیم است، هر ورود و هر خروج را بشمار و در پایان خروجی و وردی را از هم کم کن تا تعداد بدست آید.
در آموزش بعدی به تفصیل در مورد انکودرهای مطلق و افزایشی صحبت خواهیم کرد؛ پس آن را از دست ندهید!
اگر علاقمند بودید فیلمهای زیر را ببینید.
فیلمخلاصه توضیحات انکودر (انگلیسی)
فیلمخلاصه توضیحات انکودر (انگلیسی)
اگر هر سوالی یا نظری پیرامون این آموزش دارید ؛ حتما برای ما کامنت بگذارید.
اگر این نوشته برایتان مفید بود لطفا کامنت بنویسید.