Làm thế nào để tôi tìm ra nếu hội đồng quản trị của tôi sắp kết thúc cuộc sống?


12

Tôi có một uno mà tôi đã sử dụng được 3 năm nay. Tôi sẽ sử dụng nó một lần nữa trong một dự án khá quan trọng, trong đó thất bại ở một phần của hội đồng quản trị có thể khá tốn kém và nguy hiểm. Vì vậy, tôi muốn chắc chắn rằng hội đồng quản trị sẽ không đến gần cuối đời hoặc sẽ sớm thất bại. Có cách nào đáng tin cậy để tìm ra bảng sẽ hoạt động trong bao lâu mà không bị lỗi hoặc giảm hiệu suất?


"Thất bại từ phía hội đồng quản trị có thể khá tốn kém và nguy hiểm". Xác định đắt tiền và xác định nguy hiểm. Có thể một Arduino không phù hợp nhất cho ứng dụng của bạn, có thể bạn cần thiết kế theo một cơ chế an toàn thất bại.
jippie

@jippie Hãy nghĩ về các UAV nhỏ và / hoặc các robot nhỏ đến trung bình khác.
asheeshr

Câu trả lời:


8

Thật không may, không có nhiều cách để thực sự xác định "hao mòn" trong bối cảnh điện tử trạng thái rắn.

Có lẽ những thứ có khả năng thất bại nhất là các tụ điện và các đầu nối.


Đầu tiên, nếu bạn đang sử dụng CPU ATmega cho một thứ gì đó có thể gây thương tích cho ai đó LIÊN HỆ ATMEL VÀ NÓI VỀ THẬN TRỌNG AN TOÀN . CPU ATmega được sử dụng trong hầu hết các mô hình arduino không được xếp hạng để sử dụng trong các tình huống như vậy.

Trong MỌI biểu dữ liệu:

Các sản phẩm của Atmel không nhằm mục đích, ủy quyền hoặc bảo hành để sử dụng làm thành phần trong các ứng dụng nhằm hỗ trợ hoặc duy trì sự sống.

Bây giờ, thực tế, điều này có lẽ chủ yếu là luật sư chống lại, nhưng bạn vẫn nên có biện pháp phòng ngừa thích hợp.

Thực sự, trong khi không có bất cứ thứ gì trên một bảng arduino thông thường thực sự hao mòn ngoại trừ các đầu nối, tại sao bạn lại cố gắng tiết kiệm $ 30 với chi phí rất lớn? Chỉ cần mua một bảng mới.

Tôi cũng rất muốn giới thiệu bạn đã chọn một bo mạch có SMT ATmega328P, vì nó sẽ loại bỏ các tiếp điểm ổ cắm IC khỏi danh sách các mối quan tâm. Nếu có thể, cũng loại bỏ các đầu pin và dây hàn vào bảng trực tiếp. Cố gắng giảm thiểu kết nối, vì chúng là điểm thường xuyên của sự thất bại.


4

Một trong những phần của Arduino có khả năng trở nên không đáng tin cậy theo thời gian là bộ nhớ của nó. Có ba nhóm bộ nhớ trong vi điều khiển được sử dụng trên các bo mạch Arduino dựa trên avr:

  • Bộ nhớ flash (không gian chương trình), là nơi lưu trữ bản phác thảo Arduino.
  • SRAM (bộ nhớ truy cập ngẫu nhiên tĩnh) là nơi bản phác thảo tạo và thao tác các biến khi nó chạy.
  • EEPROM là không gian bộ nhớ mà các lập trình viên có thể sử dụng để lưu trữ thông tin dài hạn.

Bộ nhớ là một phần của bảng có thể được kiểm tra và xác minh, và do đó được đánh giá về độ tin cậy / sức khỏe. Một cách rất cơ bản để kiểm tra bộ nhớ sẽ là viết một mẫu 8 bit (ký tự byte) nhất định trên mỗi địa chỉ trong bộ nhớ và sau đó đọc giá trị hiện tại từ mọi địa chỉ. Nếu giá trị được ghi khớp với giá trị được đọc, thì khối 8 bit cụ thể đó trong bộ nhớ đang hoạt động chính xác tại thời điểm hiện tại.

Sự hao mòn trong bộ nhớ ROM thường xảy ra theo kiểu khối, tức là các khối n * 8 bit bị suy giảm theo thời gian. Vì vậy, đối với chip ROM 2K byte, sức khỏe của chip có thể được ước tính bằng cách ghi và đọc từ mỗi byte trên chip và tính tỷ lệ phần trăm của các khối hoạt động chính xác. Nếu tỷ lệ phần trăm khối không thành công là đáng kể (15% -20%), điều đó có nghĩa là bộ nhớ có khả năng bị hỏng sớm.

Mã kiểm tra có thể được viết bằng các phương thức riêng biệt cho từng phần bộ nhớ.

SRAM

Bất kỳ biến nào được khai báo tĩnh hoặc động đều được phân bổ trên SRAM. Vì vậy, chúng ta có thể khai báo một mảng ký tự lớn (~ 2000) và điền vào mọi phần tử bằng 255 (tất cả các bit 1). Sau đó, chúng ta có thể cố gắng đọc từng phần tử đó và xem giá trị được đọc có thực sự là 255 không.

EEPROM

EEPROM có thể được thao tác bằng thư viện EEPROM . Thư viện cung cấp các chức năng để đọc và viết từ các vị trí cụ thể trong EEPROM. Vì vậy, tất cả các địa chỉ bộ nhớ có thể được kiểm tra bằng cách lặp qua toàn bộ không gian bộ nhớ. Thao tác này sẽ yêu cầu 500 ghi và đọc.

Tùy thuộc vào cách sử dụng bảng, EEPROM rất có thể bị lỗi trước nhưng không quan trọng đối với hoạt động của bảng.

Tốc biến

Dữ liệu có thể được lưu trữ trên bộ nhớ flash bằng cách sử dụng lệnh PROGMEM. Tương tự như SRAM, một mảng lớn có thể được khai báo và khởi tạo ở đây. Sau đó, các giá trị có thể được đọc và kiểm tra.


Điều này chỉ tập trung vào vi điều khiển, rất khó có thể là bit đáng tin cậy nhất trên bảng. Đèn flash được đánh giá tới 10k chu kỳ - điều này rất khó đạt được. Ngoài ra, bài kiểm tra sẽ chỉ chứng minh rằng nó đang hoạt động chứ không phải khi đưa vào ứng dụng. Chắc chắn sẽ dễ dàng hơn nhiều khi chỉ xác nhận bộ nhớ chương trình sau khi được lập trình, hoặc EEPROM?
Cyberg Ribbon

Tôi đặt câu hỏi cho câu "Một trong những phần của Arduino có khả năng trở nên không đáng tin cậy theo thời gian là bộ nhớ của nó." - đèn flash có thể thực hiện chu kỳ 10k, chu kỳ EEPROM 100k. Đó là rất nhiều văn bản.
Cyberg Ribbon

@Cyberg Ribbon Các ứng dụng chuyên sâu về bộ nhớ có thể kết thúc việc ghi hơn 100 lần mỗi phút. Không phổ biến, nhưng có thể khi sử dụng một số lượng lớn các cảm biến. Bài kiểm tra sẽ cho chúng ta một tỷ lệ phần trăm của bộ nhớ hoạt động chính xác. Tôi không có kiến ​​thức cụ thể về các chip ROM trên Arduino, nhưng nhiều ROM có khả năng truyền bá các chu kỳ đọc và ghi trên chip. Hiệu quả của việc này là ngay cả khi một số vị trí bộ nhớ xuống cấp, đó là dấu hiệu cho thấy toàn bộ chip sẽ xuống cấp sớm. Ngay cả khi các chu kỳ R / W không được lan truyền, ngay cả khi đó, nếu một số khu vực nhất định bắt đầu thất bại, thì đó là một dấu hiệu cho thấy ..
asheeshr

các bộ phận ít nhất của chip đã trải qua sự hao mòn đáng kể làm cho chip trở nên không đáng tin cậy. Trong cả hai trường hợp, đánh giá toàn bộ phạm vi bộ nhớ khả dụng là một phương pháp đáng tin cậy để tìm ra trạng thái hiện tại của chip, có thể đưa ra dấu hiệu về sự thất bại trong tương lai gần . Vâng, điều này sẽ không cho tôi biết nếu chip sẽ thất bại trong dự án tiếp theo, nhưng trong trường hợp ứng dụng nguy hiểm hoặc đắt tiền, tôi chắc chắn sẽ không đặt chip hoạt động làm tăng khả năng thất bại.
asheeshr

Nếu bạn đang viết thư cho EEPROM hoặc flash hàng trăm lần một phút, bạn đang nhìn vào cả cuộc đời dưới một ngày. Đó chỉ là cách sử dụng không phù hợp. Không có cân bằng hao mòn trong một ATmega.
Cyberg Ribbon

-4

Chỉnh sửa: Những người bình chọn câu trả lời của tôi, Ohh chung đừng quá dại dột! cho rằng bạn cần phải là một điện tử và tự đi qua mạch để kiểm tra mọi thứ có ổn hay không :)

Cắm bảng vào cổng USB trên máy tính của bạn và kiểm tra xem đèn báo nguồn LED màu xanh lá cây trên bảng có sáng không. Các bo mạch Arduino tiêu chuẩn (Uno, Duemilanove và Mega) có đèn báo nguồn LED màu xanh lá cây nằm gần công tắc đặt lại.

Một đèn LED màu cam ở gần trung tâm của bảng (có nhãn là Pin Pin 13 LED LED trong hình bên dưới) nên bật và tắt khi bảng được bật nguồn (bảng đến từ nhà máy được tải sẵn phần mềm để flash LED như một kiểm tra đơn giản hội đồng quản trị đang làm việc).

nhập mô tả hình ảnh ở đây

Nếu đèn LED nguồn không sáng khi bảng được kết nối với máy tính của bạn, bảng có thể không nhận được nguồn.

Đèn LED nhấp nháy (được kết nối với chân đầu ra kỹ thuật số 13) đang được điều khiển bằng mã chạy trên bảng (bảng mới được tải sẵn với bản phác thảo ví dụ Blink). Nếu đèn LED pin 13 nhấp nháy, bản phác thảo đang chạy chính xác, điều đó có nghĩa là chip trên bảng đang hoạt động. Nếu đèn LED nguồn màu xanh lá cây bật nhưng đèn LED chân 13 không nhấp nháy, có thể mã nhà máy không có trên chip. Nếu bạn không sử dụng bảng tiêu chuẩn, nó có thể không có đèn LED tích hợp trên chân 13, vì vậy hãy kiểm tra tài liệu để biết chi tiết về bảng của bạn.

Hướng dẫn trực tuyến để bắt đầu với Arduino có sẵn cho Windows , cho Mac OS X và cho Linux .


2
Câu hỏi là làm thế nào để kiểm tra xem bảng có gần thất bại không , nếu nó đã thất bại .
asheeshr

@AsheeshR: Ohh chung đừng dại quá! cho rằng bạn cần phải là một điện tử và tự đi qua mạch để kiểm tra mọi thứ có ổn hay không :)
Hardik Thaker

2
@HardikThaker Tại sao bạn không đặt câu trả lời thay thế? Nó sẽ tốt hơn, tôi cho là vậy. Ngoài ra, nếu bạn không muốn vứt bỏ câu trả lời của mình (nó rất hữu ích), bạn luôn có thể tự hỏi đúng câu hỏi và tự trả lời. Điều đó thường được thực hiện bởi các chuyên gia để giải quyết các câu hỏi thường gặp, như vậy .
Ricardo

@Ricardo: roger đó! cảm ơn cậu ! Tôi sẽ ghi nhớ điều này: P may mắn hơn lần tới cho tôi;) -4 và đếm: P
Hardik Thaker
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.