Raspberry Pi GPS / GSM izci için güç azaltma


10

Son zamanlarda bir üniversite projesi için Pi Zero ile tamamen işlevsel bir IoT GPS / GSM izci inşa ettim ve şimdi bitti ve bitti, iki 2500mAh pil sadece güç sağlayabildiği için tüm sistemin mevcut çekişini en aza indirmek istiyorum en fazla bir ila iki gün boyunca. Ancak, bu cihazlarda hala yeniyim ve donanım değişiklikleri ve teknikleri konusunda biraz yardım isterim.

Amacım: Mümkün olan en düşük güç çekişine sahip minimalist bir form faktörüne (özellikle yükseklik) sahip python komut dosyalarını çalıştırabilen bir cihaz.

Mevcut kurulumum şunları kullanıyor:


Güç yudumlayan Arduinos ve MSP430'ları biliyorum ama bu mikrodenetleyicilerle ihtiyacım olan şeyi yapmanın mümkün olup olmadığını bilmiyorum.

Sorularım:

  1. Raspberry Pi'den daha çıplak kemikli tahtalara gitmek için ne kadar dik bir eğri var?
  2. Bu diğer kartların aynı anda GSM / GPS / İvmeölçer çalıştırması mümkün müdür?
  3. Aynı işlevselliği sağlayan ancak daha az güç tüketen başka modüller var mı? (Bu modüller için belirli güç numaraları bulamıyorum)
  4. Mevcut modüllerim bir MSP430 ile çalışacak mı?
  5. Herhangi bir öneriniz / yorumunuz var mı?

3
Bunlar birkaç soru. Biraz daha odaklanırsanız muhtemelen daha iyi yanıtlar alırsınız.
Helmar

1
Bu soru, kolay bir cevap vermek için biraz fazla gereksiz. Mevcut tasarımınıza referans verirseniz, daha sonra fonksiyonel gereksinimleri ve arayüzleri tanımlarsanız daha iyi olur. Şu anda cevap veren herkese çok fazla mimari araştırma yapıyorsunuz - ve muhtemelen bunlara zaten cevaplarınız var.
Sean Houlihane

Yanıtlar:


8

Cihazdaki işleme gereksinimlerinin yeterince sıfıra yakın olduğunu varsayacağım. GSM cihazını ne sıklıkta uyandırmak için bazı hızlanma girişleri kullandığınız anlaşılıyor.

İdeal olarak, ivmeölçerden tetiklenebilen bir MCU'nun uykudan uyanmasını ve ardından ne zaman bir konum pinginin gönderileceğini belirlemesini istersiniz. Herhangi bir mikro-python tabanlı cihaz iyi bir başlangıç ​​noktası olmalıdır.

Küçük bir kartın güç tüketimine örnek olarak, BBC mikrobit , ekran kapalıyken birkaç miliamper kullanıyor gibi görünüyor (16 MHz'de çalışıyor ve yerleşik ivmeölçer / magentometre ile çalışıyor).

Micropython 'uyku'yı destekler, ancak bu sizi ne kadar güç tasarrufu sağladığına bağlı olarak hedef platforma bağlı olacaktır. Gerçekçi olarak, bu tür bir uygulama için, C ++ gömülü işletim sisteminin kodlanması zor olmayacak ve biraz daha fazla güç tasarrufu için daha fazla esneklik sağlayacaktır.

Güç tüketiminizi hesaplamanın ilk aşaması, farklı modları tanımlamak ve her göreve bir enerji maliyeti tahsis etmektir. Bu, GPS / GSM mesaj maliyetini temel günlük rölanti gücü ile (iş yapmadan) karşılaştırmanıza olanak tanır. Daha sonra her bir bileşende kullanılabilir kaydetmenin ne olduğunu görebilirsiniz. GSM modülünüzün günde sadece birkaç dakika aktif olması koşuluyla, güç tüketimi oldukça önemsiz olabilir.


1
Uyku, muhtemelen ivmeölçerle
uyanmayı

5

Deneyimlerime göre, GSM ve GPS modülleri işlemciden çok daha fazla güç çekiyor. Bunların her ikisi de çok sayıda RF devresi içerdiğinden ve GSM modülünün almasının yanı sıra iletim yapması gerektiğinden bu beklenmelidir.

İlk adım, prototipinizi yeniden yapılandırmaktır, böylece her bir parça tarafından tüketilen gücü izleyebilirsiniz. Bunu karakterize ettikten sonra, sadece gerektiğinde GPS ve GSM modüllerini açmanız için muhtemelen güç kontrol devresi uygulamanız gerekir. Onları ne kadar uzun süre kapalı tutabiliyorsanız, pil ömrü o kadar iyi olur.

Hem GSM hem de GPS protokolleri ile ilgili sorunlardan biri, ünite uzun bir süre kapalı kalırsa, bağlantıların yeniden kurulmasının daha uzun sürmesi ve bu durumun GPS ve veri devresi kullanılabilirliği için ilk düzeltme süresini uzatacağıdır. GSM.


5

MicroPython kullanarak , tüketen Pi Zero'dan başka bir platforma geçebilirsiniz. Resmi PyBoard, yeterince iyi olabilecek bir STM32F405RG'dir , ancak düşük güçlü STM32L4 serisi için de destek vardır.

Şu anda SIM808 ve LSM303'ünüzü arayüzlemek için bir UART ve bir I2C çevre birimi kullanmak için 1 GHz'de bir Pi Zero çalıştırıyorsunuz. Pi , boşta iken yaklaşık 80 mA boşta tüketir , değilken konuşur.

CPU saat frekansınızı düşürebilirseniz, güç tüketiminizi de azaltabilirsiniz. Bu görev için birkaç MHz yeterli olacaktır.

Böylece, tüm çevre birimleri AÇIK iken çalışma modunda 10 MHz altında sadece birkaç mA tüketen bir PyBoard'a geçebilirsiniz.

resim açıklamasını buraya girin

Durdurmada çok daha az 0,4 mA ve bekleme modunda 2,4 uA.

Muhtemelen komut dosyalarınızı MicroPython'a taşımanız gerekir, ancak bu onları C'ye taşımaktan daha kolay olurdu.

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.