Bagaimana saya mencari tahu apakah papan saya mendekati akhir hidup?

12

Saya memiliki uno yang telah saya gunakan selama 3 tahun sekarang. Saya akan menggunakannya lagi dalam proyek yang agak kritis di mana kegagalan pada bagian papan bisa agak mahal dan berbahaya. Jadi, saya ingin memastikan bahwa dewan tidak mendekati akhir hidup atau akan gagal dalam waktu dekat. Apakah ada cara yang dapat diandalkan untuk mengetahui berapa lama papan akan berfungsi tanpa gagal atau penurunan kinerja?

asheeshr
sumber
"Kegagalan di pihak dewan bisa agak mahal dan berbahaya". Definisikan mahal dan berbahaya. Mungkin Arduino bukan yang paling cocok untuk aplikasi Anda, mungkin Anda perlu merancang mekanisme gagal yang gagal.
jippie
@ jippie Pikirkan UAV kecil dan / atau robot kecil hingga sedang lainnya.
asheeshr

Jawaban:

8

Sayangnya, tidak ada banyak cara untuk benar-benar menentukan "memakai" dalam konteks elektronik solid-state.

Mungkin hal-hal yang paling mungkin gagal adalah kapasitor elektrolitik dan konektornya.


Pertama, jika Anda menggunakan CPU ATmega untuk sesuatu yang mungkin dapat melukai seseorang HUBUNGI ATMEL DAN BICARA TENTANG PENCEGAHAN KESELAMATAN . CPU ATmega yang digunakan di sebagian besar model Arduino tidak diberi peringkat untuk digunakan dalam situasi seperti itu.

Dalam SETIAP lembar data:

Produk-produk Atmel tidak dimaksudkan, diizinkan, atau dijamin untuk digunakan sebagai komponen dalam aplikasi yang dimaksudkan untuk mendukung atau mempertahankan kehidupan.

Sekarang, secara realistis, ini mungkin sebagian besar penolak pengacara, tetapi Anda harus tetap mengambil tindakan pencegahan yang tepat.

Sungguh, sementara tidak ada apa pun di papan Arduino umum yang benar-benar usang kecuali konektor, mengapa Anda mencoba untuk menghemat $ 30 dengan potensi biaya yang sangat besar? Beli saja papan baru.

Saya juga sangat merekomendasikan Anda memilih papan dengan SMT ATmega328P, karena itu menghilangkan kontak soket IC dari daftar masalah. Jika memungkinkan, lepaskan juga pin-header, dan kabel solder ke papan langsung. Cobalah untuk meminimalkan konektor, karena sering merupakan titik kegagalan.

Connor Wolf
sumber
4

Salah satu bagian dari Arduino yang cenderung menjadi tidak dapat diandalkan dari waktu ke waktu adalah ingatannya. Ada tiga kumpulan memori dalam mikrokontroler yang digunakan pada papan Arduino berbasis avr:

  • Memori flash (ruang program), adalah tempat sketsa Arduino disimpan.
  • SRAM (static random access memory) adalah tempat sketsa membuat dan memanipulasi variabel saat dijalankan.
  • EEPROM adalah ruang memori yang dapat digunakan programmer untuk menyimpan informasi jangka panjang.

Memori adalah salah satu bagian dari papan yang dapat diperiksa dan diverifikasi, dan karenanya dievaluasi keandalan / kesehatannya. Cara yang sangat mendasar untuk memeriksa memori adalah dengan menulis pola 8-bit (karakter byte) tertentu pada setiap alamat dalam memori dan kemudian membaca nilai yang ada dari setiap alamat. Jika nilai yang ditulis cocok dengan nilai yang dibaca, maka blok 8 bit tertentu dalam memori berfungsi dengan benar pada saat ini.

Keausan dalam memori ROM biasanya terjadi dalam pola blok yaitu blok n * 8-bit menjadi terdegradasi seiring waktu. Jadi, untuk chip ROM 2K byte, kesehatan chip dapat diperkirakan dengan menulis dan membaca dari setiap byte pada chip, dan menghitung persentase blok yang berfungsi dengan benar. Jika persentase blok gagal signifikan (15% -20%), itu berarti bahwa memori akan segera gagal.

Kode uji dapat ditulis menggunakan metode terpisah untuk masing-masing bagian memori.

SRAM

Setiap variabel yang dinyatakan secara statis atau dinamis dialokasikan pada SRAM. Jadi, kita bisa mendeklarasikan array karakter besar (~ 2000) dan mengisi setiap elemen dengan 255 (semua bit 1). Kemudian, kita dapat mencoba membaca masing-masing elemen tersebut dan melihat apakah nilainya sedang dibaca 255.

EEPROM

EEPROM dapat dimanipulasi menggunakan pustaka EEPROM . Perpustakaan menyediakan fungsi untuk membaca dan menulis dari lokasi tertentu di EEPROM. Jadi, semua alamat memori dapat diuji dengan hanya mengulang seluruh ruang memori. Operasi ini akan membutuhkan 500 tulisan dan bacaan.

Tergantung pada penggunaan papan, EEPROM kemungkinan besar gagal pertama tetapi tidak penting untuk operasi papan.

Flash

Data dapat disimpan pada memori flash menggunakan PROGMEMarahan. Mirip dengan SRAM, array besar dapat dideklarasikan dan diinisialisasi di sini. Kemudian, nilai dapat dibaca dan diperiksa.

asheeshr
sumber
Ini berkonsentrasi hanya pada mikrokontroler, yang sangat tidak mungkin menjadi bit yang paling tidak dapat diandalkan di papan tulis. Flash diberi peringkat untuk siklus 10rb - ini sangat sulit untuk dicapai. Juga tes hanya akan membuktikan bahwa itu berfungsi sekarang, bukan ketika dimasukkan ke dalam aplikasi. Jauh lebih mudah tentunya untuk hanya memvalidasi memori program setelah diprogram, atau EEPROM?
Cybergibbons
Saya akan mempertanyakan frasa "Salah satu bagian dari Arduino yang cenderung menjadi tidak dapat diandalkan dari waktu ke waktu adalah ingatannya." - lampu kilat dapat melakukan siklus 10k, siklus EEPROM 100k. Itu banyak tulisan.
Cybergibbons
@Cybergibbons Aplikasi intensif memori dapat mencapai 100+ penulisan per menit. Tidak umum, tetapi mungkin saat menggunakan sejumlah besar sensor. Tes akan memberi kita persentase memori yang berfungsi dengan benar. Saya tidak memiliki pengetahuan khusus tentang chip ROM di Arduino, tetapi banyak ROM memiliki kemampuan menyebarkan siklus membaca dan menulis di seluruh chip. Efek dari hal ini adalah bahwa ketika beberapa lokasi memori mengalami degradasi, itu adalah tanda bahwa seluruh chip akan segera terdegradasi. Bahkan jika siklus R / W tidak menyebar, itupun, jika daerah-daerah tertentu mulai gagal, maka itu adalah tanda bahwa ..
asheeshr
setidaknya bagian dari chip telah mengalami keausan yang signifikan membuat chip sebagian tidak dapat diandalkan. Dalam kedua kasus, mengevaluasi seluruh rentang memori yang tersedia adalah metode yang cukup andal untuk mengetahui keadaan chip saat ini, yang dapat memberikan indikasi kegagalan dalam waktu dekat . Ya, ini tidak akan memberi tahu saya jika chip akan gagal dalam proyek berikutnya, tetapi dalam kasus aplikasi yang berbahaya atau mahal, saya pasti tidak akan menempatkan chip untuk bekerja yang memiliki kemungkinan peningkatan kegagalan.
asheeshr
Jika Anda menulis ke EEPROM atau mem-flash ratusan kali per menit, Anda melihat seumur hidup kurang dari sehari. Itu hanya penggunaan yang tidak pantas. Tidak ada leveling keausan dalam ATmega.
Cybergibbons
-4

Sunting: Orang-orang yang memilih jawaban saya, Ohh umum jangan terlalu bodoh! untuk itu Anda harus menjadi elektron dan melewati sirkuit itu sendiri untuk memeriksa semuanya ok atau tidak :)

Colokkan papan ke port USB di komputer Anda dan periksa apakah indikator daya LED hijau di papan menyala. Papan Arduino standar (Uno, Duemilanove, dan Mega) memiliki indikator daya LED hijau yang terletak di dekat sakelar reset.

LED oranye di dekat bagian tengah papan (diberi label "Pin 13 LED" pada gambar di bawah) harus menyala dan mati ketika papan dinyalakan (papan berasal dari pabrik yang dimuat dengan perangkat lunak untuk mem-flash LED sebagai pemeriksaan sederhana yang papan bekerja).

masukkan deskripsi gambar di sini

Jika LED daya tidak menyala ketika papan terhubung ke komputer Anda, papan mungkin tidak menerima daya.

LED yang berkedip (terhubung ke pin 13 keluaran digital) dikendalikan oleh kode yang berjalan di papan (papan baru dimuat dengan sketsa contoh Blink). Jika pin 13 LED berkedip, sketsa berjalan dengan benar, yang berarti chip di papan bekerja. Jika LED daya hijau menyala tetapi pin 13 LED tidak berkedip, bisa jadi kode pabrik tidak ada di chip. Jika Anda tidak menggunakan papan standar, itu mungkin tidak memiliki LED bawaan pada pin 13, jadi periksa dokumentasi untuk detail papan Anda.

Panduan online untuk memulai dengan Arduino tersedia di untuk Windows , untuk Mac OS X , dan untuk Linux .

Hardik Thaker
sumber
2
Pertanyaannya adalah bagaimana memeriksa apakah papan hampir gagal , bukan jika sudah gagal .
asheeshr
@AsheeshR: Ohh umum jangan terlalu bodoh! untuk itu Anda harus menjadi elektron dan melalui sirkuit itu sendiri untuk memeriksa semuanya ok atau tidak :)
Hardik Thaker
2
@HardikThaker Kenapa kamu tidak menjawabnya saja? Akan lebih baik, kurasa. Juga, jika Anda tidak ingin membuang jawaban Anda (ini berguna), Anda selalu dapat mengajukan pertanyaan yang tepat dan menjawabnya sendiri. Itu biasanya dilakukan oleh para ahli untuk menjawab pertanyaan yang sering diajukan, seperti itu .
Ricardo
@ Ricardo: roger itu! terimakasih kawan ! Saya akan mengingat ini: P keberuntungan yang lebih baik lain kali bagi saya;) -4 dan terus bertambah: P
Hardik Thaker