Lưu trữ thẻ micro-SD năng lượng thấp


18

Chúng tôi đang xây dựng một bộ ghi dữ liệu năng lượng thấp dựa trên ATmega328P, để sử dụng bộ tải khởi động Arduino và IDE, v.v. Tiêu thụ điện năng lý tưởng nên dưới 0,3mA @ 3,3V để có thời gian sử dụng khoảng 4 tháng Pin AA. Dữ liệu cảm biến sẽ được lưu trữ ở mức tối đa 76 byte / giây trong 4 tháng, cung cấp khoảng 750 MiB dữ liệu. Do đó, chúng tôi có nhu cầu về một thiết bị bộ nhớ lớn, đó vẫn là công suất thấp.

Từ những gì tôi có thể nói, giải pháp thực tế duy nhất để lưu trữ nhiều dữ liệu này là sử dụng thẻ SD. Tuy nhiên, thẻ SD dường như sử dụng nhiều năng lượng hơn một chút so với khả năng chúng ta có thể có, dòng điện nhàn rỗi 0,2mA cho các thẻ chúng ta có bây giờ và nhiều hơn nữa khi chúng đang viết.

Vì vậy, một số câu hỏi:

  • Công tắc phía cao có phải là cách thực tế duy nhất để kiểm soát mức tiêu thụ năng lượng của thẻ SD không?
  • Có bất kỳ cảnh báo nào chúng ta nên biết khi chuyển đổi nguồn sang thẻ không? Ví dụ, việc cân bằng hao mòn một quy trình sẽ được thực hiện sau khi ghi khối hoặc có thể xảy ra bất cứ lúc nào.
  • Có bất kỳ lựa chọn thay thế khác chúng ta nên xem xét?

1
solarduino.net/?p=58 là một bài viết có thể khiến bạn quan tâm
Abbeyatcu

Xem xét thêm RAM ngoài như 23LC1024. Sau đó, bạn có thể đệm thêm và giữ cho thẻ SD tắt. Microchip cũng tạo ra một phiên bản hỗ trợ pin, nếu ý tưởng về dữ liệu nằm xung quanh trong bộ nhớ dễ bay hơi làm phiền bạn.
đánh dấu

Câu trả lời:


19

Nếu bạn đang lập ngân sách trung bình 0,3 mA mỗi lần tính. Không có quá nhiều vấn đề đối với vi điều khiển, nhưng thẻ SD sẽ tiêu tốn hàng chục mAs. Bạn muốn bật nó càng ít càng tốt. Nhưng ATmega328P chỉ có 2 kB RAM, vì vậy điều đó có nghĩa là bộ đệm mẫu của bạn sẽ đầy trong chưa đầy nửa phút và sau đó là thời gian để ghi vào thẻ SD. Hai lần một phút.

Tôi sẽ xem xét TI MSP430 thay vì AVR. Nó vẫn là bộ điều khiển công suất thấp nhất thường có. Nó sẽ giúp bạn tiết kiệm được nhiều thứ mà bạn cần khi ghi vào thẻ SD. Các MSP430F5418A cũng có 16 kB RAM, do đó bạn có quyền lực trên thẻ SD chỉ một lần mỗi ba và một nửa phút.

Bạn có thể chạy MSP430 trên bộ dao động tần số thấp của nó và chuyển sang DCO tần số cao (Bộ dao động điều khiển kỹ thuật số) để ghi vào thẻ SD, do đó việc này mất ít thời gian nhất có thể.

Để cấp nguồn cho thẻ SD, tôi thực sự sẽ sử dụng một công tắc phía cao. Các BSS215P là một logic cấp P-MOSFET phù hợp.

chỉnh sửa
Nếu bạn không quan tâm đến gói BGA, thiết bị NAND Flash có thể thay thế cho thẻ SD. Cái này có thể hoạt động ở chế độ MMC hoặc SPI. Nó tiêu thụ ít hơn một thẻ SD, nhưng vẫn tiêu tốn 200 LẬP ở chế độ chờ, vì vậy bạn vẫn muốn tắt nó với FET cao cấp. Đảm bảo đặt I / O xuống chip trước khi tắt nguồn. Điều đó cũng đúng với thẻ SD.


Cảm ơn bạn về thông tin. Thật không may, hiện tại chúng tôi chỉ giới hạn ở MCU với bộ tải khởi động Arduino có sẵn, nhưng đang xem xét Atmega644PA do RAM tăng. MCU sẽ được đánh thức bằng một ngắt RTC để thực hiện các phép đo và tắt điện vào các thời điểm khác. Có những lựa chọn thay thế cho thẻ SD? Đề xuất của bạn để có được một MCU có nhiều RAM cho một bộ đệm lớn là một điều tốt mà tôi không nghĩ tới. :)
geometrikal

@stevenvh Đặc điểm nào của MOSSS BSS215P làm cho nó phù hợp với ứng dụng này?
ElecEnthusiast

Một AVR thậm chí có thể cung cấp thẻ SD từ chân GPIO (nên có thể có 20mA).
JimmyB

14

(Trả lời bài viết của riêng tôi với thông tin hữu ích)

Tôi đã thực hiện một số thí nghiệm với một bộ thẻ SD giới hạn để kiểm tra mức tiêu thụ năng lượng của chúng. Chúng dường như rất khác nhau giữa các nhà sản xuất và trong các loại, một số thẻ tiêu thụ năng lượng ngủ gấp 10 lần so với các loại khác.

Có hai kết quả dưới đây. Đầu tiên là mức tiêu thụ hiện tại ước tính khi ngủ và thứ hai là mức tiêu thụ hiện tại trung bình cho khoảng 1 ngành viết cứ sau 5 giây cho bảng của tôi .

Card                     Sleep (mA)         Cyclic write (mA)   Number of cards tested

Sandisk 4GB Class 4      0.34-0.95 (0.69)   0.64-1.25 (1.05)    5
Verbatim 4GB Class 4     0.06-0.12 (0.09)   0.12-0.17 (0.16)    6
Kingston 4GB Class 4     1.34-1.34 (1.34)   1.47-1.47 (1.47)    1
Lexar 4GB Class 4        0.09-0.09 (0.09)   0.11-0.12 (0.12)    2

Lexar 8GB Class 6        0.06-0.09 (0.08)   0.09-0.12 (0.10)    4 (best so far)

Toshiba 16GB Class 10    0.12-0.12 (0.12)   0.18-0.18 (0.18)    1

Tôi chưa bao gồm dòng điện cực đại bởi vì nó dường như không phải là phép đo đáng tin cậy với đồng hồ vạn năng của tôi. Có lẽ bởi vì thẻ chỉ được viết trong vài ms. Nhưng tôi nhận thấy rằng tất cả các thẻ đã cho khoảng đo 5 - 6mA (được làm mịn) trong khi Lexar cho 2 - 3mA (được làm mịn). Lưu ý, dòng tối đa thực sự là một thứ tự cường độ lớn hơn mức này, nhưng điều đó cho thấy thẻ Lexar có dòng ghi thấp cũng như giấc ngủ.

Người chiến thắng hiện tại

Lexar 8GB lớp 6

Tôi sẽ cập nhật danh sách này khi có nhiều bài kiểm tra được thực hiện. (Cập nhật lần cuối: 2014-08-14)


Bạn sẽ muốn có một uC Hiện tại ( eevblog.com/projects/uc hiện ) cho các thử nghiệm của bạn. Kết nối với máy hiện sóng, nó có thể cung cấp cho bạn cái nhìn sâu sắc về mức tiêu thụ năng lượng theo thời gian trong các chuỗi khác nhau trong chương trình của bạn.
RJR

2

Bài kiểm tra tốt đẹp. Kiểm tra hướng dẫn sử dụng bộ ghi dữ liệu năng lượng thấp của chúng tôi bằng cách sử dụng thẻ Arduino Pro Mini và thẻ SD: http://www.osbss.com/tutorials/tem Nhiệt độ-Relative-humid /

Nó có thể chứa chính xác những gì bạn cần (ngắt RTC đánh thức nó, thời lượng pin gần một năm, v.v.) Mức tiêu thụ năng lượng "chính thống" của chúng tôi là khoảng 0.195mA @ 3.3V, và điều này có thể giảm xuống 0.11mA hoặc thấp hơn nhiều, nếu bạn sử dụng các bo mạch khác hoặc chip ATmega328P trần.

Giống như @stevenvh đã nói, bạn sẽ cần một bóng bán dẫn để điều khiển nguồn cho đầu đọc thẻ SD khi bộ xử lý ở chế độ ngủ.


0

Dòng ngủ thấp nhất tôi từng thấy đối với thẻ SD là khoảng 0,05 mA đối với 256Mb cũ, và giống như người dùng OSBSS, tôi hiếm khi nhận được bộ ghi dữ liệu của mình dưới 0,1 mA vì thẻ SD thông thường dường như thu hút khoảng 0,07 mA. Tuy nhiên, khi bạn đến lãnh thổ đó, bạn sẽ dễ dàng có thể nhận được 3-4 tháng từ một AA nếu bộ điều chỉnh khởi động của bạn đủ hiệu quả.

Hãy chắc chắn kiểm tra xem bạn đang kéo các kết nối không sử dụng trên bộ điều hợp thẻ SD của bạn, hoặc dòng ngủ có thể cao hơn nhiều. Đồng thời khám phá thư viện năng lượng thấp từ Rocket Screem, vì điều này cho phép bạn dễ dàng nhập các chế độ ngủ khác nhau 328P.

Về việc chuyển đổi: người đã viết thư viện SD cho arduino cảnh báo không nên cấp điện cho thẻ SD tại sân chơi Arduino, vì vậy tôi đã không theo đuổi phương pháp đó. Tôi tò mò muốn biết làm thế nào nó hoạt động cho các chàng trai OSBSS (?)

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.