سوئیچ دیبانسینگ یا نویزگیری کلید

blog
۱۴۰۲-۰۸-۲۸
4 دقیقه

زمانی که کلیدی را فشار می‌دهید برای تغییر وضعیت آن نیاز به کمی زمان است؛ به زمانی که دست را روی کلید فشار می‌دهید تا سیگنال به کلید برسد پریود تایم می‌گویند. حالا در برخی پروژه‌ها این زمان ممکن است دردسرساز شود. برای مثال، شما فرض کنید یک کی پد دارید و می‌خواهید زمانی که کلید # زده شده اتفاقی بیفتد ممکن در حین فشاردادن کلید درست زده نشود یا سیگنال به میکروکنترلر شما ارسال نشود و موجب مشکلاتی در پروژه شود، به بهینه‌سازی این کار دیبانسینگ هست.

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

مقاومت  pullup

این مقاومت به کلید و 5 ولت میکرو متصل می شود. فرض کنید کلید شما در حالت پیش فرض یک است. با وجود این مقاومت این اتفاق می افتد و در صورتی که کلید فشار داده شود، خروجی صفر می شود. برای جلوگیری از اتصال کوتاه شدن در مدار از این مقاومت ها استفاده می کنند، معمولا این مقاومت بین 4 تا 10 کیلو انتخاب می شود.

مقاومت  pulldown

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

روش‌های دیباسینگ سخت‌افزاری

مدار با گیت  NAND

در اینجا ما دو تا گیت NOT را با هم سری می‌کنیم. نیاز به یک مقاومت بین کلید و 5 ولت هم داریم که مقاومت پول آپ ما است اینجا شماتیک مدار را می‌توانید ببینید.

مدار با گیت NAND

مدار با گیت NAND

 

حالا نمونه طراحی شده این مدار در بردبورد و شکل خروجی سیگنال آن در اسیلوسکوپ را می‌بینم.

شکل خروجی سیگنال مدار NANDاگر دقت کنید سیگنال خروجی یک پالس مربعی پیدا کرده و دیگر نویزهای ناشی از فشاردادن مکرر کلید را نمی‌بینم.

مدار فیلتر پایین گذر

می‌توانیم از مدار RC برای کنترل این مدار استفاده کنیم؛ فقط نیاز داریم از یک گیت not به‌عنوان خروجی استفاده کنیم. برای اینکه خروجی سیگنال کلید را اصلاح کند به شماتیک زیر دقت کنید.

مدار فیلتر بالاگذردر مدار بالا هر زمان کلید صفر شود گیت آن را یک می‌کند و برعکس این کار موجب می‌شود سیگنال خروجی ما دچار اعوجاج نشود.

استفاده از آی سی

استفاده از ای سی برای دیبایسینگ سخت افزاریبرخی آی‌سی‌ها که در بازار هستند این امکان می‌دهند بدون طراحی مدار خاصی بتوانیم سوئیچ خود را کنترل و از نویزهای احتمالی جلوگیری کنیم.

دیبانسینگ نرم‌افزاری

با استفاده از زبان‌های برنامه‌نویسی و کمی تنظیمات شما می‌توانید دیبانسینگ را پیاده‌سازی کنید. ما در اینجا از آردوینو یونو استفاده می‌کنیم و برای این کار از کتابخانه آن استفاده می‌کنیم. در ابتدا طبق شماتیک زیر پیش برید.

این نمونه کد بدون دیبانسینگ

در کد بالا اگر کلید را چند بار فشار دهیم ممکن است خروجی سریال تغییر کند و پیغام اشتباه به ما نمایش داده بشود. حالا برای اصلاح این مشکل از کد زیر استفاده می‌کنیم. در این کد از کتابخانه آن استفاده شده است.

نمونه کد با دیبانسینگ

در کد بالا که می‌توانید درexampleهای کتابخانه دیبانسینگ آن را ببینید. استفاده از متد update در تابع pullbottons  موجب می‌شود که خروجی پین موردنظر ما درصورتی‌که یک باشد صفر شود و برعکس در این حالت true برمی‌گرداند. این متد از به‌وجودآمدن خطا در حین زدن کلید پیشگیری می‌کند. همچنین، inputpullup موجب می‌شود ما از واحد داخلی میکروکنترلر برای پول آپ استفاده کنیم.

اطلاعات
2
0
لینک و اشتراک
profile

محمدرضا هلالی

متخصص الکترونیک

مقالات بیشتر
slide

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند. فروش در پالت
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد. جستجو در آیسی
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
خانواده سیسوگ

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند.
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد.
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند.
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند.
family

دیدگاه ها

profile
حمید گفت :
۱۴۰۲-۰۸-۲۸ ۲۳:۲۶

لغت دیبانس یا debounce صحیح هست

profile
مصطفی گفت :
۱۴۰۲-۰۸-۲۸ ۲۱:۵۶

Debounce?=دبایس؟
فیلتر پایین گذر یا بالاگذر؟

become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله