ac sıfır haç tespit?


15

Yumuşak bir başlangıç ​​için sıfır geçişi tespit etmem gerekiyor. Uzun bir süre önce, doğrudan bir taraftaki mikro denetleyiciye bağlı bir 1 Mega ohm direnç kullanarak ve diğer taraftaki canlı gücü kullanarak yaptım. Başarılıydım ama tavsiye edilir mi? başka türlü ucuz ve güvenilir bir şekilde yapabilirim?

Yanıtlar:


14

PIC16C74A / F77 işlemcileri kullanarak yumuşak yol vericiler tasarladım. Gürültülü ortamlarda da çalışmak zorundaysanız sıfır geçiş zor olabilir.

İşlemcinin hattan izole edilmesine ihtiyacınız yoksa, CPU pinini besleyen birkaç yüksek değerli dirençte yanlış bir şey yoktur. İç koruma diyotlarını sağlamlık meselesi olarak arttırmak için birkaç shottky diyot kullanardım, ancak iyi çalışacaktır. İzolasyona ihtiyacınız varsa, bir transistör çıkış optoizolatörü kullanın. Opto'nun anahtarlama hızına dikkat edin ve anahtarlama hızını en üst düzeye çıkarmak için transistör toplayıcı akımını en aza indirin.

Bunu söyledikten sonra gürültüye geçelim. Dirençli ısıtma dışında bir aşamayı kontrol ediyorsanız, mücadele etmek için gürültüye sahip olacaksınız, bu da başa çıkmanız için sıfır geçiş gürültüsüne sahip olacağınız anlamına gelir. Sıfır geçiş girişini bir kesme pimine beslemek için çaylak hatasını yapmayın; bu işlemciniz bir milyar dolarlık kesintilerle uğraşmaya çalıştığında yazılımınızı bir sigara içme kitlesine dönüştürecektir. (Deneyimden söz ediyorum.) Bir RC veya daha gelişmiş düşük geçiş filtresini hatta atmak sadece faz kaymasını tanıtacaktır. Bununla çalışabilirsen, harika. Değilse (50/60 ve 400Hz sistemleri ile uğraşmak zorunda kaldım) o zaman başka yollar denemek zorundasınız.

Kendi tasarımımda, hattı yoklayarak ve geçici olarak görmezden gelen bir oylama rutini yaparak yazılımda hallettim. Faz kayması idare edebileceğimin içindeydi, hızlıydı ve ağır gürültüde bile saçma olmazdı. (Filtre kapaklarını bir indüksiyon ocağından çıkardıkları bir tesiste test ettim, daha önce hiç bu kadar gürültülü bir çizgi görmedim!) Yeniden tasarlayacak olsaydım, tek adımda " sıfır çarpı ve ardından mikrodenetleyici bir sonraki kesme ayarlanmadan önce onaylayacaktır.

Hepsi, herhangi bir pratik durumda gerçek sıfır geçişini güvenilir bir şekilde bulmanın yumuşak başlangıç ​​tasarımının daha zor parçalarından biri olduğunu düşünüyorum. Kontrol döngüsünü kapatmak ikincilti, ama çoğunlukla sadece ayardı. Yapılması çok basit bir şey gibi görünüyor ama o zamanlar teori ve pratik arasındaki fark hakkında biraz öğrendim. :-)

"voting" rutinini tanımlamak için düzenle:

Doğru hatırlarsam, hat sıfırın üstünde olduğunda yüksek, hat sıfırın altında olduğunda düşük bir G / Ç hattım vardı. Oylama rutini bu çizgiyi basitçe sorguladı ve son 3 örnekten 2'si aynıysa, çizginin sıfırdan geçtiğini kabul ettim. İşaret ve boşluğu algılamak bir UART'ın oylama devresine çok benzer. Bunun gibi bir devrenin yararı, faz kaydırmanızın sabit olmasıdır (2 * örnekleme hızı) ve deneyimlediğiniz gürültü türüne göre ayarlayabilirsiniz. Oylamanın ne kadar hızlı olduğunu açıkça hatırlamıyorum ama bir tahminde bulunacak olsaydım 8kHz diyebilirim, çünkü bu sayı aklımda beliriyor.


i (gecikme ve excel ve arama tabloları durumunda) frekans ölçmek için zamanlayıcı kullanılır ... ama ben düşük geçiş ve opto çoğaltıcı ile gidecek düşünüyorum. cevap için teşekkürler.
iamgopal

Oylama rutini üzerinde durulabilir misiniz? Sadece çevreleyenlerden farklı tek örnekleri yok saymak mıydı? Hangi sıklıkta anket yaptınız?
starblue

7

Neden bir optokuplör kullanmıyorsunuz? Vishay SFH6206 o şebeke voltajının tam döngüsü boyunca çalışır, böylece anti-paralel iki ışık bulunur. Giriş voltajı yeterince yüksekse çıkış transistörü açılır ve toplayıcı düşük seviyededir. Bununla birlikte, sıfır geçişinin etrafında, giriş voltajı çıkış transistörünü etkinleştirmek için çok düşüktür ve toplayıcısı yüksek çekilecektir. Böylece her sıfır geçişte pozitif bir nabız alırsınız.


Daha fazla detay için: burada
Vorac

2

Bu Mikroçip'in sayfa 3'teki Uygulama Notu 20 MOhms'lik bir direnç önerir.

Sıfır geçiş dedektörü olan MOC3061'i kullanabileceğinizi düşünüyorum .

Ancak burada görebileceğiniz birçok cihaz modeli var .


thnks. dirençler ve kapaklar yerine her zaman bir çip kabul edilir.
iamgopal

ΩΩ

1

Aşağıdaki işleme zincirinde başarılı oldum:

  1. Sinyali kaynağından birleştirmek ve izole etmek için direnç bölücü ağı (MOhm değer dirençleri kullanarak) ve optokuplör
  2. Sinyali optokuplörden bilinen bir voltaj aralığına bağlamak için bir op-amp karşılaştırıcı
  3. Opamp kullanan son derece sıkı, çok aşamalı bir bant geçiren filtre (filtre kaybını hesaba katmak için burada biraz kazanç gerekebilir)
  4. Filtrelemeye giren herhangi bir faz ofsetini ayarlamak için bir opamp faz kaydırma devresi (+/- 360 derece, tasarım için iyi bir tolerans miktarıdır, istenen faz kayması bir pot ve osiloskop ile kalibre edilebilir)
  5. Mikrodenetleyici için sinyali temiz bir dijital çıkışa almak için bir karşılaştırıcı

0

Muhtemelen bunu yapmanın bir çok yolu vardır ... ama eğer yapsaydım, küçük bir izolasyon transformatörü kullanırdım. Şebeke elektriğini büyük bir dirençle bile doğrudan bir mikrodenetleyiciye bağlamak asla tavsiye edilmez.

Seçenekleriniz sanırım bir mikroda büyük bir direnç bölücü veya şebeke seviyesi voltajlarını mikro aralığınıza düşüren küçük bir transformatör kullanmaktır. Tabii ki, her ikisinin bir kombinasyonunu da kullanabilirsiniz.

Mikrodenetleyici kullanmak istemiyorsanız, her zaman bir karşılaştırıcı kullanabilir ve voltajı 0v'ye karşı test ettirebilirsiniz. Karşılaştırıcıdan gelen darbe kısa olacaktır, ancak bununla başa çıkmanın yolları da vardır.


izolasyon transformatörünün kullanılması gecikmeye neden olur mu?
iamgopal

Hayır. (On beş karakter)
Connor Wolf

4
Bir voltajla karşılaştırılacaksanız, sıfırın değil, tam hattın% birkaçıyla karşılaştırın. Sizi karşılaşacağınız gürültünün çoğunun dışına çıkarır ve faz kayması sabittir ve dolayısıyla hesaplaması kolaydır.
43'te akohlsmith

iyi çağrı Andrew :-)
Fuzz

@andrew,: D güzel fikir !!
iamgopal
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.