Yeni bir tahtaya nasıl saldırırsınız?


24

PCB'nizi üreticiden geri alırsınız. Bu yeni bir tasarım, tabii ki bütün büyük parçalara ekmek ekmeği eklediniz, ancak sorunların olacağını biliyorsunuz. Sorun yaratabilecek çok fazla şey var, örneğin:

  • Şematikteki hatalar
  • ERC / DRC tarafından bulunmayan düzendeki hatalar
  • Lehimleme sırasında yanlış yerleştirilmiş parçalar
  • Lehimleme sırasında şort ve benzerleri
  • yukarıdakilerin herhangi bir kombinasyonu

Son zamanlarda göreceli olarak karmaşık iki tahtaya rastladım, burada derhal hatayı bulmak için tüm panoları montajdan sonra doldurmak zorunda kaldım. Hataları buldum ama panolar hurda gibiydi.

Asgari miktarda ve elle lehimlenemeyen parçalarla başlamaya çalıştım (hamur, şablon ve ekmek kızartma makinesi kullanıyorum). Genelde bu, MCU, JTAG konektörü ve birkaç kapasitör olacaktır. Sonra yavaş yavaş sorunları kontrol ederken diğer alanları dolduruyorum.

Bu yaklaşım işe yarar, fakat gerçekten yavaştır. Ayrıca belirli bir donanımın varlığını varsayan herhangi bir kodda yorum yapmam / yorum yapmam gerekiyor.

Yeni tasarlanmış PCB'lere nasıl yaklaşılacağına dair ipuçları / önerileri olan var mı?

EDIT: Temel olarak, gizli güç raylı şortları veya MCU'yu engelleyen herhangi bir şey gibi, tahtanızı ölü yapan türden problemleri düşünüyorum.


2
toplu ve baypas kapakları dahil olmak üzere güç kaynağınızı ve dağıtımınızı doldurmak ve ardından panoya giriş gücü uygulamak iyi bir fikir olabilir. geriye doğru bir tantalum kapağınız varsa acele edersiniz. daha sonra, bu cihazları doldurmaya devam etmeden önce MCU’nun (ve diğerlerinin) doğru pinlerde doğru besleme voltajlarına sahip olduğunu kontrol edin.
JustJeff

1
Bir yan yorum olarak, kodunuzun sizin gibi 'modüler' kalmasının iyi bir uygulama olduğunu düşünüyorum (eksik çevre birimleri için işlevselliği ortadan kaldırın). Kodumu her zaman, eksik çevre birimlerini görmezden gelen, ancak çevre birimlerinin doğru şekilde hata ayıklandığından emin olana kadar program mantığını çalıştıran bir 'demo' modunda çalışacak şekilde yazarım. O zaman programınız en azından çalışır, böylece programlanıp programlanmadığını anlayabilirsiniz.
AngryEE

2
Giriş gücü uyguladığınızda, düşük akım limiti ile başlayın.
starblue

1
Topluluk wiki olmalı.
Brian Carlton

1
@ Morten - Ah, mantıklı. Haklısın, büyük harflerin sorun yaratması muhtemel değildir.
Kevin Vermeer

Yanıtlar:


10

Bir parçanın performansının kendinizi ölçmeniz gereken yönleri olmadığı sürece, zamanın öncesindeki breadboard uygulamasının zaman kaybı olduğuna karar verdim.

Tahtayı parçalara ayırmanın zaman kaybı olduğunu bile düşünüyorum. İlk donanım hata ayıklaması sadece bir veya iki gün sürer. Herhangi bir ince sorun, yazılım entegrasyonuna kadar hiçbir şekilde görünmeyecektir. Devrenin birkaç geçici azaltmasından ziyade bir devrede hata ayıklamayı tercih ederim.

Sadece bir şey inşa et! Bütün kartı monte edin ve çalıştırın. Besleme voltajına bakın. Kaç mA çizer? Hangi kısım sıcak yanıyor? Hangi kısım sıcak? Daha sonra tahtadaki herhangi bir mikrodenetleyiciye firmware yazmayı deneyin. Ardından ürün yazılımı yazmaya başlayın. Saatin çalışmasını sağlayın ve bir pim açın. Seri (veya her neyse) iletişimi kurun. Şimdi her çevre birimi için test programları yazınız. Ardından üretim test armatürünü oluşturun ve "gerçek" ürün yazılımını yazmaya başlayın.


Düzenle:

Sıkışmış rayları bulma üzerine

Eğer bir besleme rayı toprağa takılırsa, (bir ohmmetre ile 0 ohm ölçer), bir tezgah beslemesinde açın. Gerilimi ve akım sınırını birkaç yüz mA'ya ayarlayın. PCB tasarımını kağıda yazdırın ve mikrovoltları ölçen bir DMM bulun. Besleme terminallerinde başlayan mikro voltajları ölçün ve PCB çıktısındaki voltaj düşüşlerini not alın. Mikro voltaj farklılıklarına bakarak, PCB'nin ayrılmasından veya kesilmesinden önce akımın tam olarak nereye gittiğini takip edebilirsiniz. Bu teknik bir ohmmetre kullanmaktan daha iyidir, çünkü devre boyunca çok fazla akım pompalayabilirsiniz, normal ohmmetrenin sağlayacağından daha fazla.

Benzer bir teknik, aksi takdirde yerleştirilmiş bir tahtanın üzerinde kısa izler bulmak için çalışır. Tahtaya voltaj aralığındaki "dijital" izleri bulmak için bir kapsam kullanın.


Ben de aynı yaklaşımı kullandım. Genelde işe yarar, ancak birkaç kez beni çok kötü bir şekilde ısırmaya geri döndü. Bu son sefer, imalat sırasında kaplanan ve toprak ve güç uçaklarını kısa devre yapan bir konektörün altında görünüşte masum bir yarıktı. Tamamen kendi suçum, ama sinir bozucu ve bulması zor bir hataydı.
Morten

1
"Sadece bir şey inşa et" yaklaşımını kullanmak için, tek bir PCB'den daha fazlasını sipariş etmem gerektiğini düşünüyorum.
morten

Benzer bir amaç için kullanılan "squeaker" problarını gördüm - kısa sürede sıfıra. Ne yazık ki, ürünle bağlantı bulamıyorum.
Toybuilder, 04:11


20

Tahtayı başlangıçta çıplak minimumda tutarak, önce beslemeyi, ardından MCU'yu çalıştırarak, ardından çeşitli alt sistemleri birer birer ekleyerek ve devam etmeden önce test ederek, gerekli şekilde test yazılımı yazarak yapıyorum. Süreci hiç yavaş bulmuyorum.

Test edilmiş herhangi bir karmaşıklıkta çıplak pano var. Ekstra maliyeti ama buna değer.


3
sadece çok daha hızlı hale getirmek için bu şekilde bulunan büyük bir hatayı alıyor
Kortuk

11

Ben sadece çok küçük devrelerde ekmek tahtası yapıyorum. Sonra küçük devreleri proto-panolara lehimliyorum. SMD yongaları ile çalışıyorsanız, SMD-> Thru-hole adaptörleri elde etmeye yardımcı olur.

Bu temelde size "yapı taşları" verir. Daha sonra bu devre bloklarını bir dev setine veya kullanmaya çalıştığım MCU'lu eski bir PCB'ye lehimliyorum. Dört ya da beş farklı küçük PCB'nin daha büyük birinden takılı kalmasıyla iğrenç görünüyor, ama işe yarıyor.

Bir yapı tahtası üzerinde çalışan yapı taşları oluşturduğumda PCB'ye geçiyorum. PCB yapılırken şematik hiç değişmediyse , geri dönüp yapı taşlarını elden geçirip tekrar dev tahtada test ediyorum.


Bir yandan, kodu yorumlamak yerine #define ve #ifdef önişlemci direktiflerini kullanmaya dikkat etmelisiniz. Bir MCU’ya işlevsel kod blokları eklemeyi ve kaldırmayı önemli ölçüde kolaylaştırır.


Bir tasarımı geliştirmek için çok güzel bir yol olduğunu düşündüğüm gibi yapıyorum. Ayrıca daha sonra parçaların tekrar kullanılmasını mümkün kılar.
Trygve Laugstøl

9

Herhangi bir karmaşıklığa sahip kurullarla, kurulun kendisini geliştirmek için olduğu kadar bir test planı geliştirmek de neredeyse önemlidir. Kurulu tasarlamanın başında bile, uygulama henüz mevcut olmasa da, neyi test edeceğinizi bilmek iyi bir fikirdir; "test için tasarım" dedikleri gibi. Anahtar işaretlerini test noktası pedlerine getirdiğinizden emin olun. Tasarımı bölümlere ayırmaya çalışın, böylece bireysel alt sistemler bağımsız olarak veya mümkün olduğunca bağımsız bir şekilde ortaya çıkarılabilir.


Hmm, harika öneri! Nedense daha önce bu bağlamda "test için tasarım" hakkında düşünmedim.
morten

2
kendini test etme yeteneğinde tasarlayarak bir sonraki seviyeye taşıyabilirsiniz. panonuzun karmaşıklığına katkıda bulunur, ancak tasarımınızın doğrulanmasını kolaylaştırabilir ve hatta alanlı ürününüze açılışta kendi kendine test ekleme seçeneği sunar.
JustJeff

8

Sanırım bir anahtar soru şudur: Üretime bir tahtayı yayınlamadan önce uçuş öncesi kontrol listesi nedir. Uçuş öncesi listem:

  1. Şematik tasarım incelemesi
    1. Net isimler ve sayfa dışı portlar
    2. Güç kaynağı pinleri bağlı
  2. Şematik DRC
  3. Ayak izi fırçalayın
    1. Komple üretici parça numarası
    2. Parça numarası PCB üzerindeki ayak izi ve şematikteki pinout ile eşleşiyor
    3. Ayakizi pin numarası "sağ taraf" ve doğru
    4. Ayak izi boyutları, delik ebatları, boşluklar, boşluklar vb. İçin iki kez kontrol edildi.
    5. Çiftleşme konnektörleri doğru yönlendirilmiş; 1’den 1’e, 2’den 2’ye vb.
  4. PCB Boyutları ve delikleri
  5. PCB DRC
  6. Fab Çizimler tüm katmanlara ve çağrılara sahiptir.

Bu cevap topluluğu wiki'd.


5

Diğerlerinin söylediklerinin hepsi geçerli, ama 2 kuruşa değer eklemek istiyorum.

Yapılacak en iyi şey, ilk etapta hataları yapmamaktır. Bunu söylemek aptalca görünüyor, ama hepsi çok sık gözardı ediliyor. Şematik ve PCB tasarım incelemesi yapın. Birkaç insanın tasarımına bakmasını sağla - hatta yeni başlayan mühendisler. Yazılımınızdaki tasarım kuralı kontrollerini kullanın. Tasarımınızın iyi olduğundan emin olmak için mevcut tüm kaynakları kullanın. Böcek yakalama ihtimalinizi geliştirmek için iyi mühendislik uygulamalarına sahip olun.

Son 20 yılda düzinelerce ve düzinelerce PCB tasarladıktan sonra (bazıları 14 katman ve 2.000 bileşenli) sadece ilk prototip turunda kullanılamayan İKİ pcb'lere sahibim. Tabii ki böceklerim vardı ama sadece iki tahta "tuğla" idi.

Her durumda, prototipler, hata ayıklama işlemine başlamadan önce tamamen dolduruldu. Kısa devre olmadığından emin olmak için güç raylarını kapatırdım. Sonra bir mikroskop kullanarak görsel bir muayene yapın. O zaman gücü aç. Ondan sonra metodik bir test ve hata ayıklama seansına başlayacağım - her şey test edilinceye ve çalışana kadar bir anda devrenin küçük bölümleri üzerinde çalışıyorum. Çoğu durumda, PCB'nin bir sonraki revizyonu ile birkaç değişiklik yapabilir ve hacim üretimine giderdim.

Bunların hiçbiri böcekleri azaltmak için büyük çaba sarf etmeden mümkün olmazdı.


Bazı üreticiler (4pcb gibi) gerberleriniz üzerinde ücretsiz DFM testleri bile sunar. Bu ücretsiz testler, PCB araçlarınızın DRC'sine güzel bir ektir.
ajs410

4

Tamamen taze bir tasarımda, genellikle bölün ve fethetme yaklaşımı ile giderim.

Büyük mimari blokları denemeyi ve yalıtmayı ve devrenin çalışmasını sağlamak için gereken bağımlılıkları simüle etmek için anahtarlar / DC sarf malzemeleri / potansiyometreler vb. Kullanarak her bölümü bağımsız olarak açıyorum.

Güç kaynakları ile uğraşırken bu yaklaşım genellikle zor değildir - çoğu dönüştürücünün uzaklaşmaya başlamak için yalnızca girişe ve belki birkaç mantık sinyaline ihtiyacı vardır (ve umarım arızanın sihirli dumanını bırakmaz ).

İkinci / üçüncü turlar (temizlik) tahtaları genellikle böyle bir titizliğe ihtiyaç duymazlar. Devrenin yalnızca değiştirilmiş parçalarını izole edebilir, bağımsız olarak test edebilir ve tüm güç girişi için devrelerin geri kalanını test etmekten tasarruf edebilirim.

Kişisel koruyucu ekipmanınızı unutma. Güvenlik gözlüklerim olmadan (ve bazen kulak tıkaçları ...) açıkta kalan bileşenlerle herhangi bir şeyi güçlendirdiğim için çok rahatsızlık duyuyorum


1
Göz / kulak koruması için +1! Bir keresinde laboratuvarın her tarafında patlayan bir DAC duydum - üzerinde çalışan adamın vizyonunda yaklaşık 5 dakika geçici bir kör noktası vardı!
Toybuilder

3

Eh, kısa devre ağları ilk etapta gerçekleşmesini önlemek için ilk adımlardan biri kurulu yazılımınızdaki tasarım kuralı kontrolleri iyi kullanmaktır. Her ikisi de ağların istememeleri gerektiğinde birbirlerine yanlışlıkla bağlanmadıklarından emin olmak için şematik düzeydedir; ve PCB seviyesinde ağlar arasında yeterli açıklık olduğundan emin olmak için.

Bir tahta üzerinde tamamen yeni bir tasarımla uğraşmak yerine denenmemiş herhangi bir tasarım öğesi varsa, ucuz proto PCB'lerde (Advanced Circuit'in BareBonesPCB hizmeti gibi) konsept kanıtı ve performans kanıtı test panoları oluşturmaya çalışıyorum katmanlar, lehim maskesi yok, 24 saatlik bir dönüş için yaklaşık 80 $).

Komple bir pano yaptığımda bile, ilk nesil panolarda, birçok koparma başlığı yerleştirmeyi seviyorum. Bazı durumlarda, iki tane aynı PCB'yi, biri "sabit" kısmı olan, başlık pimleri üste gelecek şekilde yerleştirebilirsiniz; ve diğeri, "giriş" kısmı, alt giriş pimi yuvaları ile. Her şey yolunda giderse her iki tahtayı da doldurabilirsiniz. Veya, değiştirebileceğiniz "test" devresinin yeni sürümlerini döndürebilirsiniz.


başlıklar harika, özellikle daha sonra yeniden işlemeniz veya özellikler eklemeniz ya da hazırlıksız hata ayıklama çıktılarına ihtiyacınız varsa. Küçük protoslar için BareBones yapma fikrini de seviyorum ... sadece kendim yapabilirim
ajs410
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.