Giảm năng lượng cho trình theo dõi GPS / GSM của Raspberry Pi


10

Gần đây tôi đã xây dựng một trình theo dõi GPS / GSM IoT đầy đủ chức năng với Pi Zero cho một dự án đại học và bây giờ nó đã hoàn thành và hoàn thành, tôi muốn giảm thiểu khả năng rút ra hiện tại của toàn bộ hệ thống vì hai pin 2500mAh chỉ có thể cung cấp năng lượng cho nó tối đa một đến hai ngày. Tuy nhiên, tôi vẫn chưa quen với các thiết bị này và tôi rất thích một số trợ giúp về thay đổi phần cứng và kỹ thuật.

Mục tiêu của tôi: Một thiết bị có khả năng chạy các kịch bản python có yếu tố hình thức tối giản (đặc biệt là chiều cao) với khả năng rút điện thấp nhất có thể.

Thiết lập hiện tại của tôi sử dụng:


Tôi biết về Arduinos và MSP430 nhấm nháp năng lượng nhưng tôi không biết liệu có thể làm những gì tôi cần để làm với các bộ điều khiển vi mô này không.

Câu hỏi của tôi là:

  1. Làm thế nào dốc của một đường cong học tập để đi từ Raspberry Pi đến các bảng xương trần hơn?
  2. Có thể cho các bảng khác này chạy đồng thời GSM / GPS / Gia tốc kế không?
  3. Có mô-đun nào khác cung cấp chức năng tương tự nhưng tiêu thụ ít năng lượng hơn không? (Tôi không thể tìm thấy số lượng điện cụ thể cho các mô-đun này)
  4. Các mô-đun hiện tại của tôi có hoạt động với MSP430 không?
  5. Bất kỳ đề xuất / ý kiến?

3
Đó là một vài câu hỏi. Bạn có thể sẽ nhận được câu trả lời tốt hơn nếu bạn tập trung hơn một chút.
Helmar

1
Câu hỏi này là một chút quá tự sự để làm cho một câu trả lời dễ dàng. Sẽ tốt hơn nếu bạn tham khảo thiết kế hiện tại của mình, sau đó xác định các yêu cầu chức năng và giao diện. Bạn đang để lại khá nhiều cuộc điều tra kiến ​​trúc cho bất cứ ai trả lời vào lúc này - và có lẽ bạn đã có câu trả lời cho những điều này.
Sean Houlihane

Câu trả lời:


8

Tôi sẽ cho rằng các yêu cầu xử lý trên thiết bị gần đủ bằng không. Có vẻ như bạn đang sử dụng một số đầu vào tăng tốc để xác định tần suất đánh thức thiết bị GSM.

Lý tưởng nhất là bạn muốn một MCU có thể được kích hoạt từ gia tốc kế để đánh thức giấc ngủ và sau đó xác định thời điểm gửi ping vị trí. Bất kỳ thiết bị dựa trên micro-python nên là một điểm khởi đầu tốt.

Như một ví dụ về việc tiêu hao năng lượng của một bo mạch nhỏ, microbit BBC dường như sử dụng một vài milliamp khi màn hình tắt (chạy ở 16 MHz và với gia tốc kế / magentometer trên bo mạch).

Micropython hỗ trợ 'giấc ngủ', nhưng nó sẽ phụ thuộc vào nền tảng mục tiêu điều này giúp bạn tiết kiệm được bao nhiêu năng lượng. Trên thực tế, đối với loại ứng dụng này, một hệ điều hành nhúng C ++ sẽ không khó mã hóa hơn và cho phép linh hoạt hơn để tiết kiệm năng lượng hơn một chút.

Giai đoạn đầu tiên trong việc tính toán mức tiêu hao năng lượng của bạn là xác định các chế độ khác nhau và phân bổ chi phí năng lượng cho từng nhiệm vụ. Điều này cho phép bạn so sánh chi phí tin nhắn GPS / GSM với công suất nhàn rỗi hàng ngày cơ bản (không hoạt động). Sau đó, bạn có thể xem những gì tiết kiệm có sẵn trên mỗi thành phần. Với điều kiện mô-đun GSM của bạn chỉ hoạt động trong vài phút mỗi ngày, mức tiêu thụ năng lượng của nó có thể không đáng kể.


1
Ngủ có lẽ là cách để đi, kích hoạt thức dậy bằng gia tốc kế mà còn bởi đồng hồ bấm giờ hoặc bất cứ điều gì khác liên quan đến các trường hợp sử dụng (thiếu trong câu hỏi OP)
Rf

5

Theo kinh nghiệm của tôi, các mô-đun GSM và GPS tiêu thụ nhiều năng lượng hơn bộ xử lý. Điều này được mong đợi vì cả hai đều chứa nhiều mạch RF và mô-đun GSM cần truyền cũng như nhận.

Bước đầu tiên sẽ được cấu hình lại nguyên mẫu của bạn để bạn có thể theo dõi năng lượng tiêu thụ của từng bộ phận. Khi bạn đã có đặc điểm đó, có lẽ bạn sẽ cần phải thực hiện mạch điều khiển công suất để bạn chỉ bật các mô-đun GPS và GSM khi được yêu cầu. Bạn có thể đủ khả năng để giữ chúng lâu hơn, tuổi thọ pin bạn sẽ nhận được càng tốt.

Một trong những vấn đề với cả giao thức GSM và GPS là nếu thiết bị tắt trong một khoảng thời gian đáng kể, thì sẽ mất nhiều thời gian hơn để thiết lập lại kết nối và điều này sẽ tăng thời gian sửa lỗi đầu tiên cho GPS và mạch dữ liệu GSM.


5

Sử dụng MicroPython bạn có thể có thể chuyển từ Pi Zero tiêu thụ sang một số nền tảng khác. PyBoard chính thức là STM32F405RG có thể đủ tốt nhưng cũng có hỗ trợ cho dòng STM32L4 công suất thấp.

Hiện tại bạn đang chạy Pi Zero với tốc độ 1 GHz để sử dụng UART và thiết bị ngoại vi I2C để giao diện SIM808 và LSM303 của bạn. Pi tiêu thụ khoảng 80 mA khi không sử dụng, không nói về khi nó không.

Nếu bạn có thể giảm tần số xung nhịp CPU, bạn cũng có thể giảm mức tiêu thụ năng lượng. Đối với nhiệm vụ này, một vài MHz sẽ đủ.

Vì vậy, bạn có thể thay đổi thành PyBoard chỉ tiêu thụ một vài mA dưới 10 MHz ở chế độ chạy với tất cả các thiết bị ngoại vi BẬT.

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

Ít hơn 0,4 mA khi dừng và 2,4 uA ở chế độ chờ.

Có thể bạn sẽ phải chuyển các tập lệnh của mình sang MicroPython nhưng điều đó sẽ dễ dàng hơn việc chuyển chúng sang C.

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.