PLC ve Mikrodenetleyici Girişleri İçin Buton Basma Debounce İşlemi

PLC ve Mikrodenetleyici Girişleri İçin Buton Basma Debounce İşlemi

Tarih: 29 Eylül 2026

Buton basma debouncing, bir mekanik basma veya bırakmanın birkaç hızlı elektriksel geçiş olarak yorumlanmasını engeller. Bir fiziksel anahtar içindeki kontaklar, yerleşirken kısa süreli olarak temas kurup kopabilir; hızlı bir denetleyici bu değişiklikleri birden fazla giriş olayı olarak kaydedebilir. Bir PLC, mikrodenetleyici veya harici mantık devresi girişleri filtreleyebilir, ancak doğru yöntem ve zaman, anahtar, giriş donanımı, sinyal yolu ve gereken yanıtına bağlıdır. Her buton veya makine için güvenli olan evrensel bir debounce süresi yoktur.

İletişim sıçramasını elektriksel gürültü, gevşek terminaller, hasar görmüş kontak bloğu veya girişin tekrar tekrar okunması gibi uygulamalardan ayırmakla başlayın. İlgili girişteki sinyali ölçün veya gözlemleyin, denetleyicinin yerleşik filtre seçeneklerini kontrol edin ve hem basma hem de bırakma davranışını test edin. ONPOW’un GQ22-L-11E/S buton örneği bir panel buton formunu gösterir; sipariş ettiğiniz model için tam kontak bloğu, kablolama ve kontrol gereksinimlerini doğrulayın. Daha geniş buton aralığı diğer operatör arayüzlerini içerir.

Bir denetleyici girişinde sıçrama nasıl görünür

Bir mekanik buton her zaman açık konumdan kapalı konuma mükemmel temiz bir kenardan geçiş yapmaz. Kontaklar buluştuğunda, küçük mekanik sıçramalar, kontak yerleşmeden önce kısa bir durum değişikliği dizisine neden olabilir. Dijital giriş, operatör bir kez butona bastığında bile birkaç geçiş görebilir. Kontak sıçraması hem basma hem de bırakma sırasında meydana gelebilir ve farklı anahtarlar veya aynı ürünün örnekleri farklı davranabilir.

Girişin yanıtı da önemlidir. Bazı denetleyiciler yavaş örnekleme yapar veya giriş filtresi içerir; diğerleri kesintiler veya kısa geçişlere tepki verebilen yüksek hızlı giriş mantığı kullanır. Yavaşça poll edilen bir durum girişinde zararsız olan bir sinyal, sayıcı, kenar tetiklemeli rutin veya olay kuyruğu için sorun olabilir. Texas Instruments’in’ anahtar debounce uygulama özeti fiziksel anahtarların mantık girişlerinde yanlış tetiklemeler oluşturabileceğini ve neden bir filtrenin yardımcı olabileceğini açıklar. Parça örneği, ONPOW anahtarı veya PLC modülü için bir spesifikasyon değildir.

Bir osiloskop probu yanındaki iç test levhasında ONPOW mavi halka itme düğmesi
Sadece güvenli, uygun düşük voltajlı test noktalarında ölçüm yapın ve ham giriş ile denetleyici durumu ile karşılaştırın.

Sıçramanın gerçek arıza olduğunu doğrulayın

Bir gecikme eklemeden önce, sistemin ne yaptığını kontrol edin. Ham dijital giriş durumu, programın kenar tespit mantığı ve çıkış eylemine bakın. Tek bir basma, girişte birden fazla geçiş oluşturuyorsa, kontak sıçraması veya elektriksel gürültü söz konusu olabilir. Ham giriş stabil ise ve makine birden fazla yanıt veriyorsa, sorun yazılım mantığında, görev zamanlamasında veya tekrar eden komut yolunda olabilir.

Diğer semptomlar sıçramaya benzeyebilir:

  • Elektriksel parazit: yükleri değiştirme, uzun paralel hatlar, kötü koruma veya topraklama sorunu girişimi bozabilir. Bir filtre, kablolama nedenini düzeltmeden semptomu gizleyebilir.
  • Gevşek veya aşınmış temaslar: panel dokunulduğunda veya titreştirildiğinde değişen aralıklı davranış, terminal, konnektör veya anahtar arızasını gösterebilir.
  • Yanlış giriş referansı: bir kaynak/çekme uyumsuzluğu, eksik ortak veya uygun olmayan çekme direnci, girişin serbest kalmasına veya ters dönmesine neden olabilir.
  • Uygulama mantığı: giriş yüksekken her taramayı sayan kod, elektriksel geçiş temiz olsa bile uzun basmayı birçok kez kaydedebilir.

Tasarım izin veriyorsa, güvenli ve erişilebilir düşük voltajlı sinyal noktasında osiloskop veya uygun mantık cihazı kullanın. Ham temas/giriş davranışını denetleyicinin yorumlanan durumu ile karşılaştırın. Bilinmeyen veya ana şebeke referanslı devreye topraklı prob bağlamayın; uygun derecelendirilmiş izolasyonlu ölçüm ekipmanı ve gerekirse nitelikli personel kullanın.

Girişe uygun bir debounce yöntemi seçin

Debouncing, yazılımda, PLC giriş filtresiyle veya donanımda gerçekleştirilebilir. Bu yöntemlerin farklı avantajları vardır. Bir firmware filtresi ayarlaması kolay olabilirken, donanım filtresi kesme veya denetleyici taraması öncesinde hareket edebilir. Bir PLC giriş filtresi zaten modülün bir parçası olabilir. Seçilen yöntem, kısa ama geçerli basışları korumalı ve makinenin ihtiyaç duyduğu yanıt süresine uygun olmalıdır.

Yöntem Filtreleme nerede gerçekleşir Kullanışlı olduğu zaman Kullanımdan önce kontrol edin
Yazılım durumu stabilize etme Uygulama kodu, değişmeden belirli bir süre boyunca kalan durumu kabul eder Bir denetleyici programı ek yanıt süresine tolerans gösterebilir Basış ve bırakma testi, görev zamanlaması, kısa basışlar ve tekrarlanan olaylar
PLC/modül giriş filtresi Giriş donanımı veya yapılandırma, program bunları okumadan önce geçişleri filtreler Bir PLC girişleri, belgelenmiş ve yapılandırılabilir bir filtre sağlar Tam modül kılavuzunu kullanın; filtre ayarlarının yanıtı ve hızlı girişleri nasıl etkilediğini doğrulayın
RC plus Schmitt tetikleyici mantığı Analog kenar şekillendirme ve hysteresis, dijital mantık öncesinde sinyali koşullandırır Bir donanım filtresi uygundur ve bileşen toleransları anlaşılmıştır Giriş eşiklerini, yükselme/azalma davranışını, sızıntıyı ve minimum darbe genişliğini doğrulayın
Özel arayüz veya güvenlik dereceli fonksiyon Bir tasarlanmış modül giriş koşulunu yönetir Uygulama, nitelikli bir arayüze veya güvenlik dereceli bir mimariye ihtiyaç duyar Tam cihaz talimatlarını kullanın ve tam makine fonksiyonunu doğrulayın

Basit bir yazılım yöntemi için, bir denetleyici aday durumu kaydedebilir ve yalnızca tekrar eden örnekler yapılandırılmış süre boyunca tutarlı kalırsa kabul edebilir. Bir durum-değiştirme rutini, her taramaya tepki vermek yerine bir olay oluşturabilir. Eşik ölçülmeli ve doğrulanmalıdır; Arduino örneğinden veya başka bir makineden sabit bir gecikme kopyalamak, endüstriyel kontrolü yavaş hissettirebilir veya kısa bir komutu kaçırabilir.

Donanım RC filtresi için direnç ve kondansatör kenarı şekillendirir ve Schmitt tetikleyici girişi histerezis sağlar. TI’nin uygulama özetinde böyle bir yaklaşım gösterilir ve ilgili anahtar davranışı için zaman sabiti seçimi tartışılır. Orada gösterilen değerler, o devre ve mantık ailesine aittir, her kontrolcü girişine değil. Microchip’in AN1450 gecikme/temizleyici notu ayrıntılı cihaz özel mantık uygulamasını gösterir. Bu kaynakları yöntemleri anlamak için kullanın, ardından tasarımınız için gerçek giriş eşiklerini ve bileşen sınırlarını kontrol edin.

Ölçülen davranış ve gereken yanıt ile filtreyi ayarlayın

Bir debounce süresini sadece forumda yaygın bir sayı olduğu için seçmeyin. Operatör veya sürecin tespit etmesi gereken en kısa geçerli basma süresini belirleyin, ardından temsil edici anahtarlar ve test koşulları boyunca temas davranışını ölçün. Hem açma hem de kapama işlemini dahil edin, çünkü sıçrama basma ve bırakma kenarları arasında farklılık gösterebilir. Gözlemlenen geçici sinyalleri reddeden, ancak geçerli kısa komutu tanıyabilen bir filtre seçin.

Testler yalnızca yeni bir anahtar ile sınırlı olmamalıdır. Birden fazla örnek, çalışma sıcaklığı, montaj, titreşim, kablo uzunluğu, giriş bağlantısı ve kontrolcünün tarama veya örnekleme aralığını göz önünde bulundurun. Tezgâh üzerinde çalışan bir filtre, gerçek kablo takıldığında, modül ve makine bağlandığında farklı davranabilir. Seçilen ayarı elektriksel veya yazılım dokümantasyonunda tutun, böylece bakım sırasında gözden geçirilebilir.

Olay sayımı veya hızlı operasyonlar için, debounce’un kabul edilemez gecikme oluşturup oluşturmadığını veya gerçek darbeleri bastırıp bastırmadığını kontrol edin. İnsan tarafından başlatılan başlangıç komutu ve yüksek hızlı encoder aynı sinyal kaynağı değildir. Gerekli olay oranı sıradan giriş yolunu aşıyorsa, kontrolcünün yüksek hızlı girişini veya özel yapım bir arayüzü kullanın. Sıçrama makul filtrelemeden sonra devam ederse, fiziksel anahtar ve bağlantıyı inceleyin, gecikmeyi sonsuza kadar artırmak yerine.

Yalıtılmış bir mantık kartı yanındaki metal test levhasında ONPOW mavi halka itme düğmesinin ön görünümü
Anahtar, giriş donanımı ve uygulama mantığı, tam bir debounce testinin ayrı parçalarıdır.

Buton ve denetleyiciyi birlikte devreye alın

Panel anahtarı, temas bloğu, bağlantı, giriş modülü ve program bir arayüz oluşturur. Tam ürün dokümantasyonundan NO/NC temas düzenini doğrulayın, ardından bu temasın kontrolcünün elektriksel giriş türüne nasıl eşlendiğini kontrol edin. Temas etiketleri ve bağlantı hakkında bilgi için mevcut düğme montaj ve bağlantı kılavuzuna bakın ve 4-pin düğme bağlantı makalesi. Ne ön fotoğraf ne de renk halkası, monte edilmiş operatörün terminal haritasını belirlemez.

Devreye alma sırasında, bir basma ve bir bırakma için ham giriş geçişlerini, filtrelenmiş giriş durumlarını ve ortaya çıkan komutları kaydedin. Bilinçli kısa basma, uzun basma, gereken hızda hızlı tekrar eden basışlar ve güç döngüsü sonrası kurtarma test edin. Makinenin her geçerli komutu bir kez yerine getirdiğinden ve hiçbir komutun kaybolmadığından emin olun. Bir operatörden, kurulu kontrolü gerçek konumda kullanmasını isteyin ve yanıtın net ve zamanında kalmasını sağlayın.

Acil durdurma, koruma kilidi veya diğer güvenlik fonksiyonlarına genel amaçlı bir yazılım gecikmesi eklemeyin. Güvenlikle ilgili kontroller, uygun bir güvenlik dereceli mimari ve makine risk değerlendirmesi ile doğrulama gerektirir. IEC 60204-1, makine elektrik ekipmanlarını kapsar, ancak bir debounce ayarı tek başına devreyi güvenli hale getirmez. Makine üreticisinin onaylı tasarımını ve nitelikli güvenlik mühendisliği sürecini izleyin.

Sık yapılan debounce hataları

Giriş gözlemi olmadan filtreleme. İlk olarak, çoklu geçişlerin elektriksel olarak mı yoksa program mantığıyla mı ortaya çıktığını belirleyin.

Her yerde büyük sabit gecikme kullanmak. Uzun pencere, kontrolün yanıt vermemesine veya geçerli kısa basışları kaçırmasına neden olabilir. Ölçülen davranışları ve gereken olay zamanlamasını kullanın.

Sadece basma kenarını filtreleme. Bırakma sıçraması da ek olaylar oluşturabilir. Her iki yönü test edin ve kontrolcünün seçtiği yöntemi doğrulayın.

Giriş kontrolü yapmadan bir kondansatör kullanmak. Yavaş kenarlar, sızıntı, giriş eşik değerleri ve hysteresis, bir denetleyicinin sinyali okuma şeklini değiştirebilir. Bileşen ve modül belgelerine uyun.

Başarısız bir temasın yazılım sorunu olarak kabul edilmesi. Gevişmiş terminal, hasar görmüş temas bloğu, kirlenme veya parazit, daha fazla filtreleme yerine fiziksel onarım gerektirebilir.

Güvenlik devresini sıradan kodla debounce etmek. Genel amaçlı bir zamanlayıcı, güvenlik dereceli bir fonksiyon değildir. Tasarlanmış güvenlik cihazını ve doğrulanmış mimariyi kullanın.

Eğitici video

Bu kısa yapımcı eğitici, mikrodenetleyici itici düğmesi için yazılım debounce gösterir. Temel “bir fiziksel basış, bir mantıksal olay” fikrini görmeye yarar, ancak denetleyici ve zamanlama sadece örnektir. Bir PLC veya ONPOW itici düğmesi için ayar belirtmezler.

Arduino Eğitimi #15: Robotica DIY ile Itici Düğmeyi Nasıl Debounce Edilir

Mikrodenetleyici itici düğme debounce örneğini izleyin.

Sıkça Sorulan Sorular

Her basmalı buton anahtarında kontak sıçraması önleme işlemi gerekli midir?

Hayır. Gereksinim, anahtar, giriş modülü, uygulama mantığı ve yanıt gereksinimlerine bağlıdır. Filtre eklemeden önce ham giriş ve modül belgelerini kontrol edin.

Düğme bırakıldığında kontak sıçraması meydana gelebilir mi?

Evet. Basma ve bırakma davranışları farklılık gösterebilir. Bu nedenle her iki kenarı da doğrulayın ve seçilen yazılım veya donanım yönteminin makinenin ihtiyaç duyduğu olayı doğru şekilde işlediğinden emin olun.

PLC girişinde hangi debounce (titreşim önleme) süresini kullanmalıyım?

Evrensel olarak geçerli tek bir değer yoktur. Modülün belgelerinde belirtilen filtre aralığını kullanın, anahtarın tipik çalışma davranışını ölçün ve ortaya çıkan gecikmenin geçerli, kısa süreli bir komutun algılanmasını engellemediğini doğrulayın.

Daha büyük bir RC kondansatörü her zaman debounce'u iyileştirir mi?

Hayır. Daha büyük bir zaman sabiti tepkiyi yavaşlatabilir, lojik eşiklerini etkileyebilir ve geçerli olayların algılanmasını engelleyebilir. Direnç/kondansatör toleranslarını, giriş kaçak akımını, histerezisi ve denetleyicinin belirtilen kenar gereksinimlerini kontrol edin.

Acil durdurma normal PLC kodunda debounce edilmelidir mi?

Genel amaçlı debounce ayarı, doğrulanmış bir güvenlik tasarımı yerine kullanılmamalıdır. Makinenin risk değerlendirmesi tarafından tanımlanan belirlenmiş güvenlik sınıfı cihazlar ve kontrolcü mimarisi kullanılmalıdır.

Referanslar

İletişim formu