Evet, bu bir haiku. (DÜZENLEME: düzelttim ... şimdi aslında bir Haiku)
Hayır gülümsemiyorum.
Bazı standart testler yapıyorum; tasarladığım bir PCB üzerinde iki güç rayından biri GND'ye kısa devre yaptığında ne olacağını görmek. Bir tezgah üstü güç kaynağı tarafından sağlanan 12 V güç rayından bahsediyoruz, PCB'deki diğer rayı (ATmega328PB'imin bağlı olduğu) besleyen ayrı bir yerleşik 5 V kova dönüştürücü ile.
12 V ray üzerinde son kullanıcılara maruz kalacak bir grup DC varil jakı bulunur. Bu yüzden, doğal olarak kısa devre testimi yapmak için bir kuyumcu tornavidasını bunlardan birine sıkıştırmaya karar verdim.
Bakın, ATmega328PB'mden bir duman patlaması.
Bunun şu şeylerden biri olduğu anlamına geldiğini düşünüyorum:
Şematik Zaman
ATmega328PB ile olan bağlantıların şeması:
Tasarımda 12 V rayı (VBAT + rayı) bağlantısı olan ve GND akım dönüş yollarını kontrol eden şeylerin tüm şemaları:
Ve burada namlu krikolarının şeması ve ilgili kriko tespit pimleri (bunların , seri direnç olmadan ATmega328PB'nin bazı pimlerine doğrudan bağlandığını unutmayın ):
Kısa Devre Planı
12 V rayı üzerinde kısa devrelerle başa çıkma planı , ürün yazılımında iki mantıksal koşuldan biri karşılandığı için LOAD_FET N-kanal FET'ini kapatmaktı :
- 1 Hz hızında ADC örneklemesi aşırı akım durumunu tespit eder ve FET_LOAD anahtarının iletilmesini durdurur, böylece kısa devre akımını keser
- ATmega'yı besleyen voltaj kararma durumuna geçecek ve MCU, FET_LOAD anahtarını "kapalı" konuma getirecek ve sıfırlayacak ve böylece kısa devre akımını kesecektir.
Büyük Duman
Burada, bir kuyumcu tornavidasının takılı bir kablonun açık kablolarına uygulanmasıyla Vbat + 'yı GND'ye kısa devre yaparken CH1'deki Vbat + rayına (sarı) ve CH2'deki +5 rayına (mavi) ne olduğuna dair bir osiloskop probu. 12 V @ 5 Amper olarak ayarlanmış bir tezgah üstü kaynağı ile güçlendirilirken namlu jack devresi (tornavidayı prize takmadım):
Bundan sonra, ATmega kartı her açtığımda çok ısınırdı ve + 5V girişi ile sinyal topraklaması arasında kısa devre olarak etkili bir şekilde davranıyordu. ATmega'yı sıcak hava ile söktüm ve kızartılmış olup olmadığını görmek için FET_LOAD N kanallı FET'i test ettim. Gerçekten de +5 veya sinyal topraklamasına bir geçit voltajı uygulandığında artık tamamen kapanmayacak veya açılmayacak, ancak alacakaranlık bölgesinde bir yerde çalışacak şekilde başarısız olmuştu. Varil jakına bir yük takıldığında "açık" veya "kapalı" olup olmadığını ~ 200 mA iletirken yaklaşık 2.3 volt düşüyordu.
Kambur
FET hasar gördüğünden, ATmega'ya zarar veren vektörün FET tahliyesi üzerinden geçidine ve MCU'ya iletilmesinden kaynaklanmış olabileceğine dair bir önsezi vardı. 12V rayı besleyen düşük voltajlarla daha sonra bazı testler yaptık. İlk üç görüntünün temel olarak aynı olduğunu, ancak farklı tepe akımları olduğunu unutmayın. ATmega kapatıldıktan sonra (Vbat + rayındaki çökmüş voltaj nedeniyle), MCU tarafından sağlanan LOAD_GND_ENABLE sinyali sırayla azalır ve FET_LOAD anahtarını keser .
Açıklama:
CH1 = Rshunt boyunca voltaj (0.005 ohm) CH2 = LOAD_GND_ENABLE sinyalindeki voltaj (ATmega'ya bağlı)
Vbat + 6V'de sağlanır:
Vbat + 7V'de sağlanır:
Vbat + 8V'de sağlanır:
Vbat + 9V'de sağlanır:
Sonuncusunda, akım asla artmadı ve LOAD_GND_ENABLE sinyali korkak bir dans yaptı, ancak sonuçta maksimum sınırların hiçbir zaman LOAD_GND_ENABLE pininde ihlal edilmediği anlaşılıyor (en azından ben ... Sadece 2 kanallı bir kapsamım var ve LOAD_GND_ENABLE wrt Vcc'deki voltajı bilmek için + 5V rayını ölçmek zorunda kalıyordum ).
Sonraki adımlar
Kurban edilebilecek sadece 1 kartım kaldı, bu yüzden planım:
Boş bir ATmega328PB kullanın, böylece tüm pimleri varsayılan olarak yapılandırılmamış / başlatılmamış çevre birimleri olmadan yüksek empedansa ayarlanacaktır. ATmega328PB'nin hala duman içinde olup olmadığını görmek için kısa devre testini tekrarlayın. Poof gitmezse, MCU, önceki testlerde bellenim çalıştırırken çıkış olarak yapılandırılan pinlerinden birinden çok fazla akım kaynağı olduğu / battığı için başarısız olmalıydı.
Bir koparma panosuna monte edilmiş bir ATmega328PB ile test edin (ne yazık ki bu çip DIP paketlerinde gelmiyor) PCB'ye flywires ile bağlandı. Seçmeli olarak bir seferde tek bir sinek teli bağlamaya, testi çalıştırmaya ve hangi sinek telinin ATmega328PB'yi kızartmaktan sorumlu olan olduğunu görmeye başlayın.
ATmega328PB'ye bağlanan tüm izler, test ederken elle lehimlenebilen lehim köprüleri ile bağlanacak şekilde değiştirilmiş düzen ile yeni bir örnek PCB sipariş edin. Bu şekilde kısa devre testi (ve diğer testler), bir seferde sınırlı sayıda sinyale bağlı ATmega ile yapılabilir ve ATmega'dan bağımsız olarak kontrol etmek için diğer tüm harici devrelerin bu lehim köprülerine bağlanmasını kolaylaştırır. .
Evet, bu gerçekten bir soru!
Ve soru (lar):
- burada görmediğim bir şey gören var mı? Açık mı? Umarım bu belli değildir ...
- Bir sonraki adımınız ne olurdu?