Kartımın ömrünün sonuna yaklaşıp yaklaşmadığını nasıl anlarım?


12

3 yıldır kullandığım bir uno'm var. Bunu, kuruldaki başarısızlığın oldukça pahalı ve tehlikeli olabileceği oldukça kritik bir projede tekrar kullanacağım. Bu yüzden, kurulun ömrünün sonuna yaklaşmadığından veya yakın zamanda başarısız olacağından emin olmak istiyorum. Anakartın arıza yapmadan veya performansta azalma olmadan ne kadar süre çalışacağını anlamanın güvenilir bir yolu var mı?


"Kurulun başarısızlığı oldukça pahalı ve tehlikeli olabilir". Pahalı ve tehlikeli tanımlayın. Belki bir Arduino uygulamanız için en uygun değildir, belki de başarısız bir emniyet mekanizmasında tasarlamanız gerekir.
jippie

@jippie Küçük İHA'ları ve / veya diğer küçük ve orta ölçekli robotları düşünün.
asheeshr

Yanıtlar:


8

Ne yazık ki, katı hal elektroniği bağlamında gerçekten "aşınmayı" belirlemenin pek bir yolu yoktur.

Muhtemelen başarısız olma olasılığı yüksek olan şeyler elektrolitik kapasitörler ve konektörlerdir.


İlk olarak, birisini yaralayabilecek bir şey için ATmega CPU kullanıyorsanız, GÜVENLİK ÖNLEMLERİ HAKKINDA ATMEL İLE İLETİŞİME GEÇİN . Arduino modellerinin çoğunda kullanılan ATmega işlemci olduğu değil bu tür durumlarda kullanılmak üzere puan.

HER veri sayfasında:

Atmel ürünleri, yaşamı destekleme veya sürdürme amaçlı uygulamalarda bileşen olarak kullanılmak üzere tasarlanmamış, yetkilendirilmemiş veya garanti edilmemiştir.

Şimdi, gerçekçi, bu muhtemelen çoğunlukla avukat itici, ama yine de uygun önlemler almalıdır.

Gerçekten, ortak bir arduino kartında konektörler dışında gerçekten yıpranan bir şey olmasa da, neden 30 $ 'lık potansiyel bir maliyetle tasarruf etmeye çalışıyorsunuz? Sadece yeni bir tahta al.

Ayrıca IC soket kontaklarını endişe listesinden kaldırdığı için bir SMT ATmega328P ile bir kart seçmenizi şiddetle tavsiye ediyorum. Mümkünse, pin başlıklarını ve lehim kablolarını doğrudan panoya çıkarın. Sık sık arıza noktaları oldukları için konektörleri en aza indirmeye çalışın.


4

Arduino'nun zamanla güvenilmez hale gelmesi muhtemel bölümlerinden biri hafızasıdır. Avr tabanlı Arduino kartlarında kullanılan mikro denetleyicide üç bellek havuzu vardır :

  • Flash bellek (program alanı), Arduino çiziminin saklandığı yerdir.
  • SRAM (statik rasgele erişim belleği), çizim çalışırken değişkenleri oluşturduğu ve işlediği yerdir.
  • EEPROM, programcıların uzun vadeli bilgileri depolamak için kullanabilecekleri bellek alanıdır.

Bellek, kartın kontrol edilebilen ve doğrulanabilen bir parçası olup güvenilirlik / sağlık açısından değerlendirilebilir. Belleği kontrol etmenin çok basit bir yolu, bellekteki her adresin üzerine belirli bir 8 bitlik desen (bayt karakteri) yazmak ve daha sonra her adresteki değeri okumak olacaktır. Yazılan değer okunan değerle eşleşiyorsa, bellekteki söz konusu 8 bitlik blok şu anda doğru şekilde çalışmaktadır.

ROM belleğindeki aşınma genellikle blok şeklinde gerçekleşir, yani n * 8 bitlik bloklar zamanla bozulur. Bu nedenle, 2K baytlık bir ROM çipi için, çipin sağlığı, çip üzerindeki her bayttan yazılarak ve doğru çalışan blokların yüzdesini hesaplayarak tahmin edilebilir. Başarısız blokların yüzdesi önemliyse (% 15-20), bu, belleğin yakında arızalanacağı anlamına gelir.

Test kodu, bellek bölümlerinin her biri için ayrı yöntemler kullanılarak yazılabilir.

SRAM

Statik veya dinamik olarak bildirilen değişkenler SRAM üzerinde tahsis edilir. Böylece, büyük bir karakter dizisi (~ 2000) bildirebilir ve her öğeyi 255 (tüm bit 1) ile doldurabiliriz. Ardından, bu öğelerin her birini okumaya çalışabilir ve okunan değerin gerçekten 255 olup olmadığını görebiliriz.

EEPROM

EEPROM, EEPROM kütüphanesi kullanılarak değiştirilebilir . Kütüphane, EEPROM'daki belirli konumlardan okuma ve yazma işlevleri sağlar. Böylece, tüm bellek adresleri tüm bellek alanı üzerinde döngü yapılarak test edilebilir. Bu işlem 500 yazma ve okuma gerektirecektir.

Kart kullanımına bağlı olarak, EEPROM ilk önce başarısız olur, ancak kartın çalışması için kritik değildir.

flaş

Veriler PROGMEMyönerge kullanılarak flash bellekte saklanabilir . SRAM'a benzer şekilde, burada büyük bir dizi bildirilebilir ve başlatılabilir. Ardından değerler okunabilir ve kontrol edilebilir.


Bu sadece kart üzerindeki en az güvenilir parça olması pek mümkün olmayan mikrodenetleyiciye odaklanır. Flaş 10k devir olarak derecelendirilmiştir - bunu başarmak çok zordur. Ayrıca test, uygulamaya konduğunda değil, sadece şimdi çalıştığını kanıtlayacaktır. Programlanan hafızayı mı yoksa EEPROM mu?
Cybergibbons

"Arduino'nun zamanla güvenilmez hale gelmesi muhtemel bölümlerinden biri hafızasıdır." - flaş 10k döngü yapabilir, EEPROM 100k döngü yapabilir. Bu çok fazla yazı.
Cybergibbons

@Cybergibbons Bellek yoğun uygulamalar dakikada 100+ yazma yapabilir. Yaygın değil, ancak çok sayıda sensör kullanırken mümkün. Test bize doğru çalışan belleğin bir yüzdesini verecektir. Arduino'daki ROM yongaları hakkında özel bir bilgim yok, ancak birçok ROM çipin okuma ve yazma döngülerini yayma yeteneğine sahip. Bunun etkisi, bazı bellek konumları bile bozulduğunda, tüm çipin yakında bozulacağının bir işaretidir. R / W döngüleri yayılmasa bile, o zaman bile, belirli alanlar başarısız olmaya başlarsa, o zaman bir işarettir ..
asheeshr

çipin en azından bazı kısımları, çipin kısmen güvenilmez olmasını sağlayan önemli bir aşınma geçirmiştir. Her iki durumda da, kullanılabilir tüm bellek aralığını değerlendirmek, çipin mevcut durumunu anlamak için oldukça güvenilir bir yöntemdir ve bu da yakın gelecekte bir arıza göstergesi verebilir . Evet, bu bana çipin bir sonraki projede başarısız olup olmayacağını söylemeyecek, ancak tehlikeli veya pahalı bir uygulama durumunda, kesinlikle başarısız olma olasılığı yüksek olan bir çip koymayacağım.
asheeshr

EEPROM'a yazıyorsanız veya dakikada yüzlerce kez yanıp sönüyorsanız, bir günün altında bir ömre bakıyorsunuz. Bu sadece uygunsuz kullanım. ATmega'da aşınma dengelemesi yoktur.
Cybergibbons

-4

Düzenleme: Cevabımı oylayan insanlar, Ohh ortak çok aptal olma! Bunun için bir elektron olmanız ve her şeyin yolunda olup olmadığını kontrol etmek için devrenin kendisinden geçmeniz gerekir :)

Kartı bilgisayarınızdaki bir USB bağlantı noktasına takın ve karttaki yeşil LED güç göstergesinin yandığını kontrol edin. Standart Arduino kartlarında (Uno, Duemilanove ve Mega) sıfırlama anahtarının yanında yeşil bir LED güç göstergesi bulunur.

Kartın ortasına yakın turuncu bir LED (aşağıdaki resimde “Pin 13 LED” etiketli), kart açıldığında yanıp sönmelidir (kartlar fabrikada önceden yüklenmiş yazılımdan gelir ve LED'i basit bir kontrol olarak yanıp söner) yönetim kurulu çalışıyor).

resim açıklamasını buraya girin

Kart bilgisayarınıza bağlıyken güç LED'i yanmıyorsa, kart büyük olasılıkla güç almıyor demektir.

Yanıp sönen LED (dijital çıkış pimine 13 bağlı) kartta çalışan kodla kontrol ediliyor (yeni kartlar Blink örnek çizimi ile önceden yüklenmiş). Pim 13 LED'i yanıp sönüyorsa, çizim doğru çalışıyor demektir, bu da karttaki çipin çalıştığı anlamına gelir. Yeşil güç ışığı yanıyor ancak pim 13 LED'i yanıp sönmüyorsa, fabrika kodu çipte olmayabilir. Standart bir kart kullanmıyorsanız, pim 13'te yerleşik bir LED olmayabilir, bu nedenle kartınızın ayrıntıları için belgelere bakın.

Arduino'ya başlamak için çevrimiçi kılavuzlar Windows , Mac OS X ve Linux için mevcuttur .


2
Soru, kartın zaten başarısız olup olmadığını değil, hataya yaklaşıp yaklaşmadığını nasıl kontrol edeceğidir .
asheeshr

@ AsheeshR: Ohh ortak çok aptal olma! Bunun için bir elektron olmanız ve her şeyin yolunda olup olmadığını kontrol etmek için devrenin kendisini geçmeniz gerekir :)
Hardik Thaker

2
@HardikThaker Bunu neden cevaplamıyorsunuz? Sanırım daha iyi olurdu. Ayrıca, cevabınızı atmak istemiyorsanız (faydalıdır), her zaman doğru soruyu sorabilir ve kendiniz cevaplayabilirsiniz. Bu genellikle, adrese uzmanlar tarafından sıkça sorulan sorulara bitti şöyle .
Ricardo

@Ricardo: anlaşıldı! sağol kanka ! Bunu aklımda tutacağım: P benim için bir dahaki sefere daha iyi şanslar;) -4 ve sayma: P
Hardik Thaker
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.