دیبانس کردن سوئیچ (آموزش Debounce دکمه)

اگر یک چکش را محکم به یک صفحه فلزی ضخیم بزنید و فیلم آن را ضبط کنید، مشاهده میکنید که قبل از اینکه چکش ثابت شود چند بار به سطح فلزی میخورد و بعد ساکن میشود. یک دارای مجموعه ای از کنتاکت های فلزی با فنر است و هنگام فشردن کنتاکت ها دارای حالتی مثل چکش میشوند. یعنی چند بار به هم برخورد میکنند و بعد ساکن میشوند.
این اتفاق میتواند مشکلات فراوانی را بوجود بیاورد. مثلا اگر دکمه تنظیم صدا باشد، با یک بار فشردن دکمه، اینطور به نظر میرسد که دکمه چند بار فشرده شده است و افزایش یا کاهش صدا چند بار اتفاق میافتد. به این اتفاق بانس میگویند. برای اینکه این پرش را از بین ببریم یا اصطلاحا آن را دیبانس کنیم، روش های مختفی وجود دارد. راه حل اصلی این است که از یک خازن برای فیلتر کردن تغییرات سریع در سیگنال سوئیچ استفاده کنید.
اگر مدار را شکل 1A در نظر بگیریم و یک پروب اسیلوسکوپ را به J2 وصل کنیم ، محدوده را روی یک ماشه واحد تنظیم کنیم ، سپس دکمه را فشار دهیم ، چیزی شبیه شکل 2 (در زیر) دریافت خواهید کرد. هر دو از یک سوئیچ هستند که در زمان های مختلف فشار داده شده است. محدوده زمانی 50uS در هر تقسیم است ، بنابراین می توانید آن را در 250 و نیم ثانیه اول بالا و پایین ببینید. در مدار آنالوگ ، این موضوع نگران کننده نخواهد بود. اما یک ریزپردازنده با سرعت 16 میلیون چرخه در ثانیه این کار را به عنوان فردی که چندین بار کلید را فشار می دهد تشخیص می دهد. و اگر این دکمه قرار باشد فشردن را بشمارد برنامه دچار یک تداخل و مشکل بزرگ میشود.
در شکل بالا ، ما یک خازن سرامیکی کوچک با مقداری انتخاب کردیم که ثابت زمان R3/C3 بیشتر از 250uS باشد. 0.1uF ثابت زمان 1mS یا پنج برابر بیشتر را نشان می دهد. شکل زیر نتیجه افزودن خازن 0.1uF را نشان می دهد.
در شکل C و D بالا ، ما مدار های بسیار بهبود یافته ای را مشاهده می کنیم که از اشمیت تریگر استفاده می کنند. اشمیت این مدار را در سال 1937 اختراع کرد. او از یک مقایسه کننده با بازخورد مثبت استفاده کرد که فقط دو حالت پایدار دارد – کاملاً روشن یا خاموش – اما برخلاف مقایسه کننده بدون بازخورد مثبت ، دارای پسماند است. این بدان معناست که هیچ نقطه “hair trigger” در مرکز محدوده وجود ندارد که مقایسه کننده در آن روشن یا خاموش شود..
شکل بالا نتیجه خنثی کننده خازن ساده را نشان می دهد این راه حل برای مدارهایی که از نظر زمانی اهمیت ندارند ، خوب کار می کند. اما هدف R6 در اینجا چیست؟ در واقع هیچ ربطی به دیبانس ندارد. هنگامی که C3 به سرعت تخلیه می شود (در واقع کوتاه می شود) ، ممکن است با ایجاد جریانهای سریع در سیم کشی ، سوئیچینگ گذرا ایجاد کند. R6 برای غلبه بر این نویز ، تخلیه را کمی کند می کند. R6 1/10 از R3 است. شکل 3B (زیر) سوئیچینگ بسیار بهبود یافته مدارهای اشمیت را در شکل های 1C و D نشان می دهد.
اما D1 چطور؟ این C2 را قادر می سازد سریعتر و بدون تأثیر بر مسیر تخلیه R7 شارژ شود. از آنجا که اشمیت تریگر یک اینورتر است ، خروجی را معکوس می کند.
راه اندازی یک سوئیچ با اشمیت تریگر SN74HC14
شماتیک سیم کشی زیر نحوه افزودن یک اشمیت تریگر SN74HC14 را به مدار در شکل 1C نشان می دهد. در یک مدار واقعی ، هرگونه ورودی CMOS بلااستفاده باید GND شود تا از اثرات ناخواسته جلوگیری شود. در این شماتیک، آنها کنار گذاشته شدند تا مدار را پیچیده نکنند.
در برنامه های سخت افزاری ، این مدارهای رفع اشکال ضروری هستند. با این حال ، در بسیاری از برنامه های آردوینو ، می توانید به صورت نرم افزاری دیبانس دکمه را انجام دهید. انجام هر دو کار ضرری ندارد زیرا این امر باعث کاهش نویز ناخواسته و گذرا می شود و احتمالاً سایر قسمتهای مدار شما را تحت تأثیر قرار می دهد.
مفید بود.
لطفا در یک مقاله هم توضیح بدین با توجه به دکمه انتخابی، چه مقاومت و خازنی رو باید انتخاب کنیم.
همچنین IC های اشمیت تریگر معروف و پر استفاده در صنعت هم معرفی کنید.
تشکر.
سلام عزیز
سعی میکنیم قرار بدیم