Зниження потужності для Raspberry Pi GPS / GSM-трекера


10

Нещодавно я створив повністю функціональний трекер IoT GPS / GSM з Pi Zero для проекту коледжу, і тепер, коли це закінчено і зроблено, я хотів би звести до мінімуму поточний малюнок всієї системи, оскільки два акумулятори на 2500 мАч можуть живити її лише максимум на один-два дні. Однак я все ще новачок у цих пристроях, і я хотів би допомогти щодо зміни апаратних засобів та методів.

Моя мета: пристрій, здатний виконувати сценарії python, який має мінімалістичний форм-фактор (особливо висоту) з найменшою можливою потужністю.

Моя поточна установка використовує:


Я знаю про сипучі Arduinos та MSP430, але не знаю, чи можна робити те, що мені потрібно для цих мікроконтролерів.

Мої запитання:

  1. Наскільки крута крива навчання, щоб перейти від Raspberry Pi до більшої дошки з голими кістками?
  2. Чи можливо для цих інших плат одночасно працювати GSM / GPS / Акселерометр?
  3. Чи існують інші модулі, які забезпечують таку ж функціональність, але споживають менше енергії? (Я не можу знайти конкретні номери живлення для цих модулів)
  4. Чи працюватимуть мої поточні модулі, наприклад, з MSP430?
  5. Будь-які рекомендації / коментарі?

3
Це досить багато питань. Ви, ймовірно, отримаєте кращі відповіді, якщо зосередитесь трохи більше.
Гельмар

1
Це запитання є занадто наративним, щоб легко відповісти. Було б краще, якщо ви посилаєтесь на існуючий дизайн, а потім визначите функціональні вимоги та інтерфейси. Ви залишаєте досить багато архітектурного розслідування тому, хто відповів на даний момент - і, мабуть, ви вже отримали відповіді на них.
Шон Хуліхане

Відповіді:


8

Я припускаю, що вимоги щодо обробки на пристрої майже достатньо нуля. Здається, ви використовуєте деякий вхід прискорення, щоб визначити, як часто будити GSM-пристрій.

В ідеалі ви хочете, щоб MCU, який можна запустити з акселерометра, прокинувся зі сну, а потім визначити, коли надсилати пінг локації. Будь-який пристрій на основі мікропітона повинен бути гарною відправною точкою.

Як приклад споживання електроенергії на невеликій дошці, як видається, мікробіт BBC використовує пару міліампер, коли дисплей вимкнено (працює на частоті 16 МГц і працює на бортовому акселерометрі / магнітометрі).

Micropython підтримує "сон", але від цільової платформи залежатиме, наскільки це енергія вам економить. Реально для цього типу додатків вбудована в C ++ операційна система буде не важче кодувати і дозволяє отримати більш гнучкість для економії трохи більше енергії.

Перший етап підрахунку витрат на енергію - визначити різні режими та розподілити енерговитрати на кожне завдання. Це дозволяє порівнювати вартість повідомлення GPS / GSM із базовою щоденною потужністю в режимі очікування (без роботи). Потім можна побачити, яка доступна економія є для кожного компонента. Якщо ваш GSM-модуль активний лише кілька хвилин на день, його енергоспоживання може бути незначним.


1
Сон - це, мабуть, дорога, що спричиняє пробудження акселерометром, але також таймером або будь-яким іншим, що має відношення до випадків використання (відсутні в питанні про ОП)
Rsf

5

На мій досвід, модулі GSM і GPS витрачають набагато більше енергії, ніж процесор. Цього можна очікувати, оскільки вони містять багато радіочастотних схем, і GSM-модуль повинен передавати та приймати.

Першим кроком буде переналаштувати ваш прототип, щоб ви могли стежити за спожитою потужністю кожної деталі. Після того, як ви це охарактеризували, вам, ймовірно, потрібно буде впровадити схему управління потужністю, щоб увімкнути модулі GPS та GSM лише тоді, коли це потрібно. Чим довше ви можете дозволити собі утримувати їх, тим кращим буде термін служби акумулятора.

Одна з проблем як для протоколів GSM, так і для GPS полягає в тому, що якщо пристрій вимкнено протягом значного періоду часу, знадобиться більше часу, щоб відновити з'єднання, і це збільшить час спочатку встановити доступність GPS та ланцюга даних для GSM.


5

Використовуючи MicroPython, ви, можливо, зможете перейти від споживаючого Pi Zero до іншої платформи. Офіційний PyBoard - це STM32F405RG, який може бути досить хорошим, але є підтримка і для серії STM32L4 з низькою потужністю.

В даний час ви використовуєте Pi Zero на частоті 1 ГГц, щоб використовувати UART та I2C периферійну мережу для інтерфейсу SIM808 та LSM303. Pi споживає близько 80 мА в режимі холостого ходу, не кажучи про те, коли його немає.

Якщо ви можете знизити тактову частоту процесора, ви також можете знизити енергоспоживання. Для цього завдання вистачить пари МГц.

Таким чином, ви можете перейти на PyBoard, який споживає лише пару мА менше 10 МГц в режимі роботи з усіма периферійними пристроями.

введіть тут опис зображення

Набагато менше 0,4 мА в режимі зупинки та 2,4 мкА в режимі очікування.

Можливо, вам доведеться перенести свої сценарії до MicroPython, але це буде простіше, ніж передати їх на C.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.