با استفاده از سوئیچ Proximity با محرک خطی خود

سوئیچ های Proximity

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

حسگرهای مجاورت به طور کلی وجود یک جسم را با استفاده از میدان الکترومغناطیسی ، نور یا صدا تشخیص می دهند [1]. روشی که محرک خطی شما وجود بودن یک شی را تشخیص می دهد به نوع سنسور مجاورت بستگی دارد. چهار نوع مشترک سنسور مجاورت وجود دارد:

  • القائی: از میدان مغناطیسی برای تشخیص مواد آهنی استفاده می کند
  • خازنی: از تغییرات ظرفیت برای تشخیص جسم استفاده می کند 
  • فوتوالکتریک: برای تشخیص وجود یک جسم از نور استفاده می کند
  • التراسونیک: برای تشخیص وجود شی object از صدا استفاده می کند 

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

حسگر مجاورت خازنی

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

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

ردیاب حرکت

کنترل بدون لمس

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

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

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

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

تشخیص موانع

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

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

منابع

[1] Kinney، T. A. (2001 ، سپتامبر) مقایسه سنسورهای مجاورت: القایی ، خازنی ، فوتوالکتریک و التراسونیک برگرفته از: https://www.machinedesign.com/automation-iiot/sensors/article/21831577/proximity-sensors-compared-inductive-capacitive-photoelectric-and-ultrasonic

تصاویر سنسور از: Digikey.com  

product-sidebar product-sidebar
Tags:

Share this article

محصولات ویژه

برای یافتن محرک مناسب به کمک نیاز دارید؟

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