سوئیچ های مجاورت
سوئیچ های مجاورت یا سنسورها سوئیچ های غیر تماسی هستند که می توانند حضور یک شی را در مجاورت آنها تشخیص دهند. از این سنسورها می توان برای گفتن یک محرک خطی برای حرکت یا متوقف کردن در هنگام قرار گرفتن یک جسم در جلوی سنسور یا اگر یک شیء برداشته شود ، استفاده شود. همچنین می توان از آنها برای تعیین فاصله نزدیکترین شیء برای آنها استفاده کرد و می تواند برای ارائه بازخورد برای کنترل محرک خطی استفاده شود. به طور معمول ، سنسورهای مجاورت مورد استفاده در دستگاه های هندزفری یا بدون لمس ، مانند خشک کن دست بدون لمس و درب های دستی بدون دست در SUV ها را مشاهده خواهید کرد ، اما در طیف گسترده ای از کاربردهای صنعتی نیز استفاده می شود. برای استفاده با محرک های خطی، از سنسورهای مجاورت می توان در موقعیت های مختلف از جمله کنترل بدون لمس و بازخورد تشخیص شی استفاده کرد.
سنسورهای مجاورت به طور کلی با استفاده از میدان الکترومغناطیسی ، نور یا صدا ، حضور یک شی را تشخیص می دهند [1]. روشی که محرک خطی شما تشخیص می دهد که آیا یک شیء وجود دارد به نوع سنسور نزدیکی بستگی دارد. چهار نوع سنسور نزدیکی وجود دارد:
- القائی: از میدان مغناطیسی برای تشخیص مواد آهنی استفاده می کند
- ازازین: از تغییرات در ظرفیت برای تشخیص یک شی استفاده می کند
- فتو الکتریکی: از نور برای تشخیص موجود بودن شی استفاده می کند
- ماوراء الطبیعه: از صدا برای تشخیص اینکه یک شیء وجود دارد استفاده می کند
انتخاب شما در نوع بستگی به کاربرد شما دارد و چه ماده ای را می خواهید تشخیص دهید [1]. همچنین می توانید در هنگام انتخاب سنسور مجاورت مناسب ، که شامل محدوده تشخیص ، زمان پاسخ ، فرکانس تعویض ، دمای کار و سیگنال خروجی است ، میزبان مشخصات دیگری را نیز در نظر بگیرید. برای انتخاب سنسور نزدیکی ، باید نیازهای برنامه خود ، نوع سنسور ، مشخصات فوق را در نظر بگیرید و برای کسب اطلاعات بیشتر با برگه داده سنسور مشورت کنید.
تفاوت بین سنسورهای مجاورت و ردیاب های حرکتی چیست؟
سنسورهای مجاورت آشکارسازهای حرکتی نیستند زیرا نزدیکی یک شی را به جای حرکت تشخیص می دهند. ردیاب های حرکتی، همانطور که نام آنها پیدا می کند ، حرکت حس را به جای نزدیکی یک شی یا شخص. از نظر عملکردی ، یک سنسور مجاورت قادر خواهد بود به شما بگوید که آیا یک شیء به سنسور چقدر نزدیک است یا نه. در حالی که ردیاب های حرکتی ، فقط هنگامی که حرکت وجود داشته باشد بدون توجه به اینکه یک شیء چقدر نزدیک است ، ایجاد می شود.
کنترل بی لمس
برای کنترل بدون لمس ، از سنسور نزدیکی مانند یک دکمه فشار ساده استفاده خواهید کرد. برای انجام این کار ، شما می خواهید یک سنسور مجاورت را انتخاب کنید که دامنه تشخیص کوتاه تری داشته باشد ، بنابراین شما به طور تصادفی سوئیچ را تحریک نمی کنید ، و یک سنسور که دست ، پا یا هر آنچه را که می خواهید تشخیص دهید را تشخیص می دهد. یک گزینه خوب برای این یک سنسور مجاورت خازنی است زیرا دارای دامنه تشخیص کوتاه هستند و می توانند طیف گسترده ای از مواد را تشخیص دهند ، اما تا زمانی که دامنه تشخیص کوتاه تری داشته باشند نیز کار خواهند کرد. شما باید سنسور مجاورت را به یک میکروکنترلر وصل کنید ، مانند یک سر و صدا، برای خواندن خروجی سنسور. نحوه اتصال سنسور نزدیکی خود به میکروکنترلر شما به انتخاب سنسور شما بستگی دارد ، اما در بیشتر موارد ، میکروکنترلر شما یا یک مقدار آنالوگ تبدیل شده دیجیتال را دریافت می کند یا نیاز به تبدیل سیگنال آنالوگ به یک مقدار دیجیتال دارد.
سنسور مجاورت فقط مانند یک دکمه فشار در این برنامه عمل می کند ، که کنترل ما را بر روی محرک خطی محدود می کند. با استفاده از میکروکنترلر ما ، می توانیم هنگام ایجاد سنسور و با استفاده از سوئیچ های محدودیت داخلی محرک خطی ، برای متوقف کردن محرک هنگام رسیدن به موقعیت کاملاً گسترده یا جمع شده ، کد را بنویسیم تا بین گسترش و جمع شدن در هنگام ایجاد سنسور و با استفاده از سوئیچ های محدودیت داخلی محرک خطی برای متوقف کردن محرک باشد. ما همچنین می توانیم از بازخورد داخلی یا سوئیچ های حد خارجی استفاده کنیم که به ما امکان می دهد از موقعیت های دیگر به جای اینکه کاملاً گسترش یافته یا جمع شده باشند ، استفاده کنیم ، اگرچه ما همچنان به دو موقعیت محدود خواهیم شد. برای انجام این کار در سیستم عامل میکروکنترلر ما ، هر بار که سنسور نزدیکی ایجاد می شود ، باید متغیر پرچم را تغییر دهیم. نمونه کد زیر حلقه اصلی کد Arduino IDE را با استفاده از Flag Sensorflag نشان می دهد تا مشخص کند کدام جهت به محرک خطی را رانندگی کنید، که توسط a هدایت می شود راننده موتور.
برای جابجایی این پرچم ، باید مقدار سنسور نزدیکی را بخوانیم. همانطور که نمی دانیم سنسور چه زمانی ایجاد می شود ، ما یا نیاز به خواندن سنسور در حلقه اصلی کد خود داریم یا می توانیم از وقفه های تایمر داخلی استفاده کنیم تا سنسور را به صورت دوره ای بخوانیم. دومی بهترین روش در نظر گرفته می شود ، به خصوص اگر می خواهید از میکروکنترلر خود برای انجام کارهای موازی استفاده کنید ، زیرا این اطمینان حاصل می کند که سنسور شما همیشه در مدت زمان دقیق خوانده می شود. نمونه کد زیر ، که با استفاده از آردوینو ، نحوه تنظیم یک تایمر داخلی را نشان می دهد که هر ثانیه ایجاد می شود. برای آردوینو ، این کمی پیچیده تر از وقفه های خارجی است و ممکن است شما نیاز به انجام برخی از آنها داشته باشید خواندن اضافی برای یادگیری نحوه تنظیم وقفه خود برای برنامه خود.
عملکرد تک آهنگ ، در کد فوق ، روال سرویس قطع برای تایمر قطع است ، که هر بار که وقفه انجام می شود اجرا می شود ، مقدار را از سنسور مجاورت هر ثانیه به روز می کند. اگر مقدار خوانده شده از سنسور از مقدار آستانه ما کوچکتر باشد ، سنسورها را "فشار داده شده" می دانیم و حسگر را تغییر می دهیم. شما باید با آزمایش سنسور خود این مقدار آستانه را از قبل تعیین کنید و مقدار خروجی را که می خواهید به عنوان "فشرده" در نظر بگیرید ، تعیین کنید. برای محدود کردن جابجایی Sensorflag فقط یک بار در حالی که سنسور تحت فشار قرار می گیرد ، پرچم دیگری وجود دارد که تنظیم مجدد نمی شود تا اینکه مقدار سنسور دیگر از مقدار آستانه کوچکتر نباشد.
تشخیص مانع
از سنسورهای مجاورت نیز می توان برای اندازه گیری نزدیکترین جسم در مقابل آنها استفاده کرد. این امر می تواند به ویژه در برنامه های دارای محرک های خطی برای تشخیص موانع در مقابل محرک و ارسال بازخورد به کنترل کننده مفید باشد تا در صورت نزدیک شدن به یک شیء ، مانند فیلم زیر ، محرک را متوقف کند. برای استفاده از یک سنسور مجاورت به روشی مشابه ، می خواهید یک سنسور مجاورت را انتخاب کنید که دارای دامنه تشخیص بیشتری باشد و قادر به تشخیص انواع مختلف مواد است. سنسورهای اولتراسونیک انتخاب خوبی برای این کار هستند زیرا می توانند زمینه سنجش گسترده ای داشته باشند ، اگرچه باید مراقب نقاط کور سنسور باشید.
تنظیم سنسور مجاورت برای این برنامه کاملاً شبیه به کنترل بی لمس است. شما هنوز هم باید با استفاده از میکروکنترلر ، خروجی سنسور را بخوانید و دوباره می خواهید از یک تایمر داخلی استفاده کنید تا مقادیر را از سنسور به صورت دوره ای بخوانید. اگرچه ، سنسور اکنون در مقابل محرک قرار خواهد گرفت تا موانع جلوی آن را تشخیص دهد. خروجی از سنسور مربوط به فاصله نزدیکترین شیء در مقابل سنسور خواهد بود ، به این معنی که می توانیم مقدار آستانه ای را تعیین کنیم که بر اساس حداقل فاصله ایمن باشد. این مقدار آستانه بر اساس سنسور انتخاب شده متفاوت خواهد بود. در نمونه کد زیر ، عملکرد سیگنال ، که روال سرویس قطع است ، هر میلی ثانیه ای از پیش ساخته می شود و خروجی سنسور ما را اندازه گیری می کند و آن را با مقدار آستانه ما مقایسه می کند. اگر مقدار اندازه گیری شده از مقدار آستانه کوچکتر باشد ، SensorFlag پرچم روی 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