وقتی کلید، سوئیچ، میکروسوئیچ یا هر کلید مکانیکی دیگری فشرده یا تغییر وضعیت داده شوند، دو قسمت فلزی کلید به هم متصل می شوند.
با فشرده شدن کلید فقط در کسری از میکرو ثانیه بین دو فلز اتصال برقرار می شود و پس از آن دو فلز از هم جدا شده و مجدد با زمانی کمی طولانی تر از قبل به هم متصل می شوند، این حرکت ادامه پیدا می کند تا دو فلز کاملا روی هم قرار گیرند.
کاربر تصور می کند این اتصال به یکباره رخ داده است در صورتیکه بین فشرده شدن کلید و اتصال پایدار کلید در بازه زمانی یک میلی ثانیه معمولا 10 تا 100 مرتبه قطع و وصل صورت گرفته است. همین قطع و وصل در هنگام رهاسازی کلید یا سوئیچ نیز رخ می دهد.
این رخداد شبیه زدن توپ به زمین است. هنگام برخورد توپ به زمین، توپ مجدد به هوا بر می گردد و این حرکت چندین بار ادامه می یابد تا بالاخره توپ متوقف شده و در سطح زمین آرام می گیرد.
می توان گفت که نویزهای حاصل از تغییر حالت کلید یک رفتار غیر ایده آل هستند که موجب انتقال چندین ورودی به مدار می شوند.
در مدارهای قدرت این پرشها مشکلی ایجاد نمی کند اما در مدارهای دیجیتالی یا لاجیک این نویزها و پرشها موجب اختلال در روند کار می شوند.
هر سوئیچ یک مشخصه خاص خودش را دارد. اگر شما دو سوئیچ مشابه را باهم مقایسه کنید، نویزهای حاصل از تغییر حالت کلیدهر کدام با هم متفاوت است.
حذف نویزهای حاصل از تغییر حالت کلید
معمولا از روش های زیر برای حذف نویز کلید استفاده می شود.
حذف به صورت سخت افزاری
حذف نویز با مدار RC
ابتدا رفتار سوئیچها را بدون حذف نویز با آی سی HCF4017BE بررسی می کنیم. این آی سی در پایه 14 سیگنال کلاک را دریافت می کند. و بعد از دریافت کلاک،led در پایه Q1 روشن می شود.
هنگامی که آی سی سیگنال کلاک بعدی را دریافت می کند، آی سی Q1 را خاموش و Q2 را روشن می کند.
این کار ادامه پیدا می کند تا به Q8 ( پایه 9) می رسد. پایه 9 به پایه 15 که پایه ریست است متصل شده است و بعد از آن شمارش از پایه Q0 شروع می کند.
ابتدا بدون مهار نویز، مدار را می بندیم.
مدار را به دو صورت A و B می توان بست.
تصاویری از اسیلوسکوپ با کلیدهای مختلف:
از شکل موج ها اینطور به نظر می رسد که یک کلید چندین بار فشرده شده است در صورتیکه فقط یکبار کلید فشرده شده است.
یک خازن سرامیکی مطابق تصویر به مدار اضافه می شود.
هنگامی که خازن اضافه می شود در واقع یک مدار RCخواهیم داشت.
خازن مدار RC تغییرات سریع ناشی از سوئیچینگ را فیلتر می کند و نویزهای حاصل از تغییر حالت کلید را حذف می کند.
با اضافه کردن یک دیود سرعت حذف پرشها و نویزها افزایش می یابد. دیود مطابق تصویر نشان داده شده به مدار اضافه می گردد، بنابراین زمان شارژ خازن کاهش می یابد.
شکل موجهای اسیلوسکوپ با مدار قبلی متفاوت است. مدار RC نویز را فیلتر کرده است.
ویدئو تاثبر اضافه کردن خازن 0/1 میکرو فاراد به مدار را نشان می دهد.
شکل موج سوئیچ C با مدار بدون خازن B و با خازن D به صورت زیر است.
حذف نویز با فلیپ فلاپ
در روش حذف نویز سخت افزاری، از یک فلیپ فلاپ S-Rبرای حذف نویزهای حاصل از تغییر حالت کلید استفاده می شود.
قطعات مورد نیاز:
دیاگرام مدار:
همانگونه که در دیاگرام مشخص است دو گیت nand( آی سی 74HC00) یک فلیپ فلاپ SR را تشکیل داده اند. اگر کلید کلنگی در طرف A باشد خروجی لاجیک” یک ” است.مقاومتهای استفاده شده مقاومتهای pull-up هستند. هنگامی که کلید در حال حرکت و تولید نویز است، فلیپ فلاپ خروجی را ثابت نگه می دارد.
آی سی حذف کننده نویز کلید
از جمله آی سی های حذف نویز موجود MAX6816 و MC14490 و LS118 را می توان نام برد.
دیاگرام مدار زیر حذف نویز با استفاده از آی سی MAX6816 را نشان می دهد.
حذف نویز به صورت نرم افزاری
هنگام کار با میکرو کنترلرها می توان به گونه ای دیگر با نویزها برخورد کرد تا در هزینه و فضای سخت افزاری صرفه جویی شود.
بعضی از برنامه نویسان خیلی به نویزهای حاصل از تغییر حالت کلید اهمیت نمی دهند و فقط یک تاخیر 50 میلی ثانیه ای بعد از اولین نویز اضافه می کنند. در این حالت میکروکنترلر 50 میلی ثانیه به خاطر نویز متوقف می شود و سپس برنامه ادامه پیدا می کند. این روش، روش مناسبی نیست چرا که با انتظار در تاخیر، میکرو را مشغول نگه داشته است.
راه دیگر، استفاده از interrupt (وقفه) برای گذر از نویز تغییر وضعیت کلید است. مراقب باشید interrupt ممکن است در دو لبه بالایی و پایینی عمل کند. در مورد استفاده از این روش نظرات مختلفی وجود دارد.
کد نرم افزاری ساده حذف نویز در آردوینو
این کد در Arduino IDE نوشته شده است.
برنامه زیر تغییر وضعیت دو LED را با یک میکروکنترلر PIC نشان می دهد.
این برنامه در MPLAB X و با کامپایلر XC8 نوشته شده است.میکروکنترلر PIC 16F628A است و از یک اسیلاتور داخلی 4MHX استفاده شده است.
مدار میکروکنترلر بدون حذف نویزهای کلیذ:
مدار با حذف نرم افزاری نویز: