سنسور اثر سالن
سنسورهای اثر هال می توانند حضور میدان مغناطیسی را تشخیص داده و در هنگام شناسایی ولتاژ خروجی تولید کنند. سنسورهای اثر سالن ، در صورت استفادهمحرک های خطی، به طور معمول در جعبه دنده محرک به همراه دیسک مغناطیسی قرار می گیرند. با گسترش یا جمع شدن محرک خطی ، این دیسک از سنسور اثر هال عبور می کند که باعث می شود سنسور یک خروجی دیجیتالی را به شکل پالس ولتاژ تولید کند. این پالس ها را می توان شمارش و استفاده کرد تا مشخص شود که محرک تا چه اندازه حرکت کرده است.
بازخورد مثبت از یک سنسور اثر سالن
نکته منفی در استفاده از یک سنسور اثر هال برای بازخورد موقعیتی این است که آنها موقعیت مطلق را اندازه گیری نمی کنند. در عوض ، آنها پالس هایی تولید می کنند که می توانند شمارش شوند تا مشخص شود که محرک تا چه اندازه حرکت کرده است. برای استفاده از این پالس ها برای بازخورد موقعیتی ، باید از ریز کنترل کننده برای شمارش پالس های تولید شده. برای انجام این کار ، برای شمارش این پالس ها در هنگام وقوع ، باید از پین های قطع خارجی میکرو کنترل کننده خود استفاده کنید. وقفه های خارجی پین هایی هستند که تغییر ولتاژ را تشخیص می دهند و در مورد ما می توان برای تشخیص پالس ولتاژ از سنسور اثر سالن استفاده کرد. برای اطمینان از اینکه از چه پین های میکرو کنترل کننده شما می توان به عنوان پین های قطع استفاده کرد ، باید مشورت کنید. با استفاده از arduino uno به عنوان مثال ، از پین های 2 و 3 می توان برای وقفه های خارجی استفاده کرد. پس از انتخاب یک پین قطع مناسب ، می توانید سیم خروجی سنسور اثر سالن را به آن پین وصل کنید و همچنین ولتاژ ورودی را به 5 ولت و زمین به یک پین زمین وصل کنید.
مثال کد در زیر نحوه تنظیم یک وقفه در Arduino IDE را نشان می دهد که در آن وقفه در لبه در حال افزایش پالس ولتاژ ایجاد می شود. شما می توانید وقفه خود را تنظیم کنید تا در نقاط مختلف در تغییر ولتاژ ایجاد شود و برای تعیین گزینه های موجود باید با برگه داده میکرو کنترل کننده خود مشورت کنید. آخرین جنبه ای که برای تنظیم وقفه خود باید انجام دهید این است که روال سرویس قطع خود را بنویسید ، این عملکردی است که هر بار که وقفه ایجاد می شود ، کد اجرا می شود. این عملکرد باید کوتاه باشد و فقط کارهای ساده ای مانند شمارش تعداد پالس ها از سنسور اثر سالن ما را انجام دهد. عملکرد CountSteps () در مثال کد زیر برای شمارش تعداد پالس های سنسور اثر هال استفاده می شود.
برای استفاده از این پالس ها برای تعیین مقدار موقعیتی ، باید موقعیت قبلی محرک خطی و مسیری را که محرک خطی در آن سفر می کند بدانید. میکرو کنترل کننده شما از قبل می داند که کدام راهی را برای محرک خطی خود رانندگی می کنید ، بنابراین می توانید به سادگی یک متغیر را برای ردیابی جهت محرک در کد خود تنظیم کنید که برای تعیین اینکه پالس ها را از موقعیت قبلی خود اضافه یا تفریق می کنید ، استفاده می شود. پس از به روزرسانی موقعیت خود ، باید پالس های شمارش شده را به صفر تنظیم کنید. مثال کد زیر تابعی را به شما نشان می دهد که موقعیت را بر اساس تعداد پالس های شمارش شده به روز می کند. پس از داشتن موقعیت از نظر پالس ، می توانید با استفاده از پالس در هر اینچ مشخصات محرک خطی خود به اینچ تبدیل شوید. در نمونه کد زیر ، پالس در هر اینچ سفر 3500 است.
محرک خطی خود را به هم بزنید
برای استفاده دقیق از بازخورد موقعیتی از یک سنسور اثر سالن ، باید همیشه موقعیت شروع محرک خطی خود را بدانید. اگرچه وقتی برای اولین بار سیستم خود را روشن می کنید ، میکرو کنترل کننده شما قادر به گفتن این است که آیا محرک گسترش یافته است یا خیر. این امر شما را ملزم می کند که محرک خطی خود را به یک موقعیت شناخته شده در خانه خود بکشید. برای محرک خطی خود ، باید آن را به یک موقعیت شناخته شده ، مانند کاملاً جمع شده ، هدایت کنید. شما همچنین می توانید از آن استفاده کنید سوئیچ های حد خارجی برای تنظیم موقعیت شناخته شده خود در جایی غیر از کاملاً گسترده یا جمع شده. با استفاده از کد Arduino در زیر به عنوان نمونه ، ما می خواهیم یک حلقه مدتی تنظیم کنیم که محرک خطی ما را به سمت موقعیت شناخته شده شما سوق دهد ، در این حالت کاملاً جمع شده است. ما می دانیم که شما در موقعیت شناخته شده ما قرار دارید زیرا قطع سنسور اثر سالن باعث ایجاد نمی شود. در این حالت ، ما بررسی می کنیم که آیا متغیر مراحل تغییر کرده است یا خیر ، تعیین کرده است که آیا وقفه ایجاد شده است یا خیر. ما همچنین باید اطمینان حاصل کنیم که زمان کافی گذشته است تا انتظار داشته باشد که وقفه ایجاد شود ، برای این کار از عملکرد Millis () استفاده می کنیم که زمان را در میلی ثانیه از زمان شروع کد به دست می آورد و ما آن را با تمبر زمان قبلی مقایسه می کنیم بشر هنگامی که ما تشخیص دادیم که محرک خطی در موقعیت خانه ما قرار دارد ، رانندگی محرک را متوقف می کنیم ، متغیر مراحل را تنظیم می کنیم و از حلقه در حالی خارج می شویم.
برخورد با محرک های دروغین
در حالی که سنسورهای اثر هال به اندازه یک پتانسیلومتر نسبت به سر و صدای الکتریکی حساس نیستند ، اما نویز الکتریکی هنوز هم می تواند بر سیگنال خروجی تأثیر بگذارد. تندرست سوئیچ همچنین می تواند مسئله ای با سنسورهای اثر هال باشد که ممکن است باعث شود پالس های کاذب شمارش شود ، این امر می تواند تأثیر بگذارد تا میکرو کنترل کننده شما تا چه حد فکر کند که محرک خطی شما جابجا شده است. چند پالس اضافی در موقعیت یابی تأثیر نمی گذارد زیرا 1000 پالس در هر اینچ وجود دارد ، اما با گذشت زمان ممکن است مسئله بزرگتر باشد. شما می توانید با استفاده از تایمر داخلی برای فیلتر کردن محرک های کاذب ، با این مسائل مبارزه کنید. از آنجا که می توانید تعیین کنید که چقدر مکرر انتظار می رود پالس های جدید تشخیص داده شود ، می توانید هنگام وقفه با سر و صدا ، فیلتر کنید. در نمونه کد زیر ، Trig-Delay تأخیر زمانی بین هر پالس است. اگر وقفه قبل از این تأخیر انجام شود ، پالس شمارش نمی شود.
مدت زمان این تأخیر بر اساس کاربرد شما متفاوت خواهد بود ، اما اگر خیلی کوتاه باشد ، سر و صدا را به درستی فیلتر نمی کند و اگر خیلی طولانی باشد پالس های واقعی را از محرک خطی از دست می دهد. سرعت محرک خطی نیز این تأخیر را تحت تأثیر قرار می دهد و اگر می خواهید سرعت را تنظیم کنید ، ممکن است این متغیر برای تنظیم در فرکانس جدید پالس های مورد انتظار نیاز به تغییر داشته باشد. برای تعیین دقیق تأخیر دقیق بین هر پالس ، می توانید از یک آنالایزر منطقی برای مشاهده سیگنال واقعی از سنسور اثر هال استفاده کنید. در حالی که این مورد در اکثر برنامه ها لازم نیست ، اگر به موقعیت بسیار دقیق نیاز دارید ، ممکن است بخواهید یک تأخیر دقیق را تعیین کنید.
راه دیگر برای مبارزه با محرک های دروغین ، اصلاح مقدار موقعیتی هر بار که محرک به یک موقعیت شناخته شده می رسد. مانند خانه کردن محرک خطی ، اگر محرک خطی را به موقعیتی کاملاً جمع شده یا گسترده سوق داده اید یا از آن استفاده می کنید سوئیچ های حد خارجی، می دانید که محرک تا چه اندازه حرکت کرده است. همانطور که می دانید سنسور اثر سالن برای رسیدن به موقعیت شناخته شده شما چند قدم باید ارسال کند ، می توانید هنگام رسیدن به آن ، مقدار را اصلاح کنید. در نمونه کد زیر ، این کار برای موقعیت های کاملاً گسترده و کاملاً جمع شده انجام می شود. از آنجا که محرک پس از رسیدن به یکی از آن موقعیت ها حرکت نمی کند ، اگر سعی کنیم محرک را هدایت کنیم و مقدار موقعیت تغییر نمی کند ، می دانیم که در حد مجاز هستیم. این روش یک راه حل عملی برای اطمینان از دقیق بودن ارزش موقعیت شما ارائه می دهد ، به خصوص اگر به طور کامل در حال عقب نشینی یا گسترش کامل محرک خود در مقطعی در حین کار هستید. شما می توانید از این روش در رابطه با روشی که در بالا توضیح داده شده است استفاده کنید که باید به حفظ صحت ارزش موقعیت خود کمک کند.
خلاصه
استفاده از یک سنسور اثر هال برای بازخورد موقعیتی ، وضوح بسیار بیشتری را در مقایسه با بازخورد از پتانسیلومتر فراهم می کند. از آنجا که می توان 1000 پالس در هر اینچ حرکت وجود داشت ، سنسورهای اثر هال دقت و قابلیت اطمینان را در موقعیت یابی محرک خطی شما ارائه می دهند. سنسورهای اثر هال همچنین توانایی بیشتری برای اطمینان از جابجایی چندین محرک خطی به طور همزمان فراهم می کنند زیرا تعداد پالس دقیق تر از ولتاژ تغییر پتانسیلومتر است. استفاده از ما FA-Sync-X کنترل کننده محرک ، شما حتی می توانید اطمینان حاصل کنید که محرک ها بدون توجه به بار ، در یونیسون حرکت می کنند. برای DIYers ، می توانید بررسی کنید که چگونه محرک های خود را با استفاده از یک آردوینو در یونیسون حرکت می دهند اینجا.
در زیر کد نمونه کاملی که در این وبلاگ استفاده شده است و برای کنترل طول سکته مغزی 14 اینچی ساخته شده است سریال گلوله 36 کال. محرک خطیبشر محرک خطی با استفاده از a هدایت می شود راننده موتور، که می توانید نحوه راه اندازی آن را یاد بگیرید اینجا.
[1] موناری ، G. (ژوئن ، 2013) درک وضوح در رمزگذارهای نوری و مغناطیسیبشر برگرفته از: https://www.electronicdesign.com/technologies/components/article/21798142/understanding-resolution-in-optical-and-magnetic-encoders